@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@500;600;700&display=swap");:root{--paper:#f8f6f0;--ink:#294538;--green:#355447;--sage:#eaeDE4;--muted:#77766d;--line:#e2dfd5;--terra:#9c624c}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Noto Sans TC,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.shell{width:100%;max-width:760px;margin:0 auto;padding:20px 16px 100px}.topbar{justify-content:space-between;gap:12px;margin:8px 0 22px}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px}.brand-mark{height:44px;width:44px;border-radius:13px;background:var(--green);color:white;display:grid;place-items:center;font-size:23px}.brand h1{font:700 23px "Noto Serif TC",serif;margin:0;letter-spacing:.08em}.kicker{font-size:10px;letter-spacing:.14em;color:#718276}.pill{font-size:11px;background:#e7e9df;color:#526a56;border-radius:999px;padding:7px 10px}.hero{border-radius:18px;background:linear-gradient(135deg,#dfe6d9,#f0e4d4);padding:24px;min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:18px;position:relative;overflow:hidden}.hero:after{content:"旅";position:absolute;right:18px;top:-20px;font:700 160px "Noto Serif TC",serif;color:#ffffff55}.hero>*{position:relative;z-index:1}.hero h2{font:700 28px "Noto Serif TC",serif;margin:7px 0}.hero p{margin:0;color:#596459;font-size:13px}.panel{background:#fff;border:1px solid #ebe7dc;border-radius:16px;padding:17px;margin:14px 0}.panel h3{font:600 18px "Noto Serif TC",serif;margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}.field label{font-size:12px;color:#667064}input,select,textarea{width:100%;border:1px solid #dfded4;border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#829782;box-shadow:0 0 0 3px #82978220}.btn{border:0;border-radius:11px;padding:12px 15px;background:var(--green);color:#fff;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:7px}.btn.secondary{background:#eaeDE4;color:var(--green)}.btn.ghost{background:transparent;color:var(--green);border:1px solid #d9ded3}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:8px}.tabs{display:flex;gap:7px;overflow:auto;padding:3px 0 8px;margin-bottom:12px}.tab{white-space:nowrap;border:1px solid var(--line);background:#fff;color:#667064;border-radius:10px;padding:10px 13px}.tab.active{background:var(--green);border-color:var(--green);color:#fff}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.muted{font-size:13px}.muted,.small{color:var(--muted)}.small{font-size:11px}.item{padding:13px 0;border-bottom:1px solid #eeeae1}.item:last-child{border-bottom:0}.item-title{font-weight:600}.time{font-size:12px;color:var(--terra);min-width:52px}.amount{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice{padding:11px 13px;border-radius:10px;background:#eaeDE4;color:#526a56;font-size:13px;margin:12px 0}.error{background:#f7e8e1;color:#8c4c38}.empty{padding:20px;text-align:center;color:var(--muted);font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:16px 0}.participant-picker{max-width:100%;margin:18px 0;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.participant-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 14px;cursor:pointer;list-style:none;touch-action:manipulation}.participant-option,.participant-picker button,.participant-picker summary{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.participant-picker summary:active{background:var(--sage)}.participant-picker summary:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:12px}.participant-picker summary::-webkit-details-marker{display:none}.participant-picker summary strong{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.participant-picker[open] summary svg{transform:rotate(180deg)}.participant-options{padding:0 12px 12px}.participant-actions{display:flex;gap:8px;margin-bottom:8px}.participant-actions .btn{flex:1 1;min-height:44px}.participant-option-scroll{max-height:min(30dvh,280px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.participant-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:16px;cursor:pointer;touch-action:manipulation}.participant-option input[type=checkbox]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--green)}.participant-option span{overflow-wrap:anywhere}.participant-done{width:100%;min-height:48px;margin-top:12px}.split-preview{margin:12px 0 20px}.split-preview p{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;margin:0;border-bottom:1px dashed var(--line);font-size:13px}.split-preview small{color:var(--muted);text-align:right}.personal-transfers{border-top:1px dashed var(--line);padding-top:24px;margin-top:24px}.personal-transfer-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;margin:16px 0;overflow-wrap:anywhere}.personal-transfer-card p{font-size:13px;line-height:1.8}.currency-converter{padding:18px 16px;margin:20px 0;background:#fffdf8;border:1px solid var(--line);border-radius:16px}.converter-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.finance-section .converter-heading h4{font:600 23px "Noto Serif TC",serif;margin:6px 0 0}.converter-heading .pill{font-size:10px}.converter-modes{display:flex;gap:4px;background:#eeeee5;border:1px solid var(--line);border-radius:12px;padding:4px;margin:20px 0 16px}.converter-modes button{flex:1 1;min-width:0;min-height:48px;padding:9px 5px;border:0;background:transparent;color:var(--green);border-radius:9px;font-size:13px;touch-action:manipulation}.converter-modes button[aria-pressed=true]{background:#fffdf8;font-weight:600;box-shadow:0 2px 5px #29453813}.currency-converter .converter-rate{margin:16px 0;padding:0;background:none;border:0}.converter-rate>strong{font-size:16px}.converter-rate p{font-size:10px;line-height:1.9;margin:8px 0 18px}.converter-input{padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.converter-input>label{font-size:11px;color:var(--muted)}.converter-input>div{display:flex;align-items:center;gap:10px;margin-top:8px}.converter-input span{font-size:15px;font-weight:600;flex-shrink:0}.converter-input small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.converter-input input{min-width:0;font-size:26px;min-height:48px;padding:4px;border:0;border-radius:4px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.converter-direction{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:8px 4px;font-size:11px;color:var(--muted)}.converter-direction button{background:var(--sage);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.converter-result{border:1px solid #cfdacb;border-radius:12px;padding:16px;background:#edf1e8}.converter-result>span{display:block;font-size:11px;color:#667964;margin-bottom:10px}.converter-result output{display:block;text-align:right;font-size:30px;font-weight:500;color:var(--green);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.5}.currency-converter>p.small{line-height:1.9}.rate-demo-tools{margin-top:16px;border-top:1px dashed var(--line);padding-top:8px}.rate-demo-tools summary{display:flex;align-items:center;min-height:44px;font-size:11px;color:var(--muted);cursor:pointer}.rate-demo-tools summary:focus-visible{outline:3px solid var(--terra)}.rate-demo-tools .btn{font-size:12px;min-height:44px}.finance-section{margin-top:28px;padding-top:24px;border-top:1px dashed var(--line);overflow-wrap:anywhere}.finance-section h4{margin:24px 0 12px}.finance-assignments{border:1px solid var(--line);border-radius:12px;padding:12px;margin:16px 0;font-size:13px}.finance-assignments summary{cursor:pointer;min-height:40px}.finance-expense{padding:15px 0;border-top:1px solid var(--line)}.rate-card,.settlement-batch{padding:16px;background:#f5f4ec;border:1px solid var(--line);border-radius:12px;margin:18px 0}.rate-card p{font-size:12px;line-height:1.9}.debt-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.debt-row>small{flex-basis:100%;color:var(--muted)}.confirmed-debt{border-top:1px dashed var(--line);margin-top:18px;padding-top:10px}.payment-form{margin:16px 0}.payment-result{padding:14px;background:#e7eddf;border-radius:10px;font-size:12px}.finance-checkbox{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:12px}.finance-checkbox input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--green)}.conquest{margin:28px 0}.conquest-heading h2{font:600 32px "Noto Serif TC",serif;letter-spacing:.1em;margin:10px 0}.conquest-heading p{font-size:13px;color:var(--muted)}.conquest-modes{display:flex;padding:4px;border:1px solid var(--line);border-radius:14px;margin:24px 0 16px;background:#eeeee5}.conquest-modes button{flex:1 1;border:0;background:none;min-height:44px;color:var(--green);border-radius:10px}.conquest-modes button[aria-pressed=true]{background:#fffdf8;box-shadow:0 2px 5px #29453813;font-weight:600}.conquest-progress{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:24px 0;padding:22px;background:#fffdf8;border:1px solid var(--line);border-radius:14px}.conquest-progress strong{font:500 44px "Noto Serif TC",serif}.conquest-progress span{font-size:12px;color:var(--muted)}.conquest-progress>b{font-size:20px;font-weight:500;color:var(--terra)}.conquest-progress-track{flex-basis:100%;height:6px;background:#eeeae1;border-radius:9px;overflow:hidden}.conquest-progress-track>span{display:block;height:100%;background:var(--green)}.conquest-progress p{margin:0;font-size:11px;color:var(--muted);line-height:1.8}.conquest-legend{display:flex;gap:15px;flex-wrap:wrap;margin:16px 0;font-size:11px}.conquest-legend>span{display:flex;align-items:center;gap:5px}.footprint-dot{width:12px;height:12px;display:inline-block;border-radius:3px;border:1px solid #a3ac9d}.footprint-dot.visited{background:#688b71}.footprint-dot.planned{background:#ddbf85}.footprint-dot.unexplored{background:#f5f1e7}.japan-map-frame{padding:10px;border:1px solid var(--line);border-radius:16px;background:#f0f2eb}.map-toolbar{justify-content:space-between;gap:6px;font-size:10px;color:var(--muted)}.map-toolbar,.map-toolbar>div{display:flex;align-items:center}.map-toolbar>div{gap:5px}.map-toolbar button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--green)}.map-toolbar button:disabled{opacity:.35}.japan-map-scroll{width:100%;max-height:440px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.japan-map{display:block;height:auto;max-width:none}.prefecture-shape{cursor:pointer;fill:#f5f1e7;stroke:#8e9e89;stroke-width:1.5;stroke-linejoin:round}.prefecture-shape.visited{fill:#688b71}.prefecture-shape.planned{fill:#ddbf85}.prefecture-shape:focus,.prefecture-shape:hover{stroke:#9c624c;stroke-width:4;outline:none;filter:brightness(.95)}.japan-inset-boundary{stroke:#a6b5a1;stroke-width:3;stroke-dasharray:8 7;pointer-events:none}.map-help{line-height:1.8;margin:12px 2px 4px}.prefecture-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:15px 0}.prefecture-buttons button{min-width:0;min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 3px;border:1px solid var(--line);background:#fffdf8;color:var(--ink);border-radius:10px}.prefecture-buttons button>span{font-size:13px}.prefecture-buttons small{display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--muted)}.prefecture-buttons .visited{background:#e0e9dd;border-color:#a8bda2}.prefecture-buttons .planned{background:#f3ead7;border-color:#ddc599}.map-credit{line-height:1.9;margin:22px 0}.prefecture-status{border:0;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:9px}.prefecture-status legend{font-size:12px;margin-bottom:10px}.prefecture-status label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;min-height:48px}.prefecture-status input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--green)}.related-trip{display:flex;flex-direction:column;text-align:left;width:100%;gap:5px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fffdf8;color:var(--ink);margin:10px 0}.related-trip small{font-size:10px;color:var(--muted)}@media(min-width:600px){.prefecture-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}.japan-map-scroll{max-height:600px}}.demo-inspector{border:1px dashed var(--line);border-radius:12px;padding:14px;margin:16px 0;font-size:13px}.demo-inspector summary{cursor:pointer;min-height:30px}.person-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.person-avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:var(--sage);border-radius:50%;font-family:serif}.invite-note{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.people-list{margin-bottom:24px}.invite-note .pill{flex-shrink:0}@media(min-width:600px){.shell{padding:28px 24px 80px}.hero{min-height:200px;padding:30px}.hero h2{font-size:34px}.panel{padding:22px}}a:focus-visible,button:focus-visible{outline:3px solid #9c624c;outline-offset:4px}.icon-button,.menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;background:transparent;color:var(--green);border:1px solid var(--line);border-radius:12px}.menu-trigger{padding:10px 12px;font-size:12px}.my-trips{padding-top:16px}.trips-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 26px;border-bottom:1px solid var(--line)}.trips-heading h2{font:600 34px "Noto Serif TC",serif;letter-spacing:.1em;margin:12px 0}.trips-heading p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.journal-stamp{flex-shrink:0;border:1px solid #b77d62;color:var(--terra);padding:8px 10px;line-height:1.5;font:500 18px "Noto Serif TC",serif;transform:rotate(8deg);border-radius:3px;text-align:center}.trips-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0}.trips-toolbar .btn{font-size:13px}.trip-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.trip-card{display:block;min-width:0;width:100%;padding:0;text-align:left;color:var(--ink);background:#fffdf8;border:1px solid var(--line);border-radius:4px 16px 16px 4px;overflow:hidden;box-shadow:3px 4px 0 #e9e5db80;transition:transform .18s,box-shadow .18s}.trip-card:hover{transform:translateY(-3px);box-shadow:3px 8px 0 #e9e5db80}.trip-cover{height:155px;position:relative;overflow:hidden;background:#dce5dc;padding:18px 22px;border-left:7px solid #94aa98;isolation:isolate}.trip-cover:after{content:"";position:absolute;width:310px;height:170px;border-radius:50%;background:#7c9b8a55;right:-90px;bottom:-117px;transform:rotate(-18deg);z-index:-1}.cover-1{background:#efe3d4;border-left-color:#c2a087}.cover-2{background:#e1e6eb;border-left-color:#95a7b5}.cover-number{font-size:9px;letter-spacing:.18em}.cover-destination,.cover-number{display:block;position:relative;z-index:1}.cover-destination{font:500 37px "Noto Serif TC",serif;letter-spacing:.14em;margin-top:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-caption{font-size:9px;letter-spacing:.2em;position:relative;z-index:1}.cover-sun{position:absolute;height:76px;width:76px;border-radius:50%;background:#faf3d3a6;right:18px;top:30px;z-index:-1}.trip-card-body{padding:19px 20px 0;border-left:7px solid #ede9df;overflow-wrap:anywhere}.trip-destination{display:flex;align-items:center;gap:5px;font-size:11px;color:#6b7b6a}.trip-card h3{font:600 20px "Noto Serif TC",serif;line-height:1.6;margin:8px 0 12px}.trip-date{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;line-height:1.7}.trip-date svg{flex-shrink:0}.trip-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);margin-top:19px;padding:14px 0;font-size:11px;letter-spacing:.05em}.journal-footnote{font:400 11px "Noto Serif TC",serif;letter-spacing:.12em;color:var(--muted);text-align:center;margin:32px 0}.empty-journal{text-align:center;padding:35px 16px;border:1px dashed #cbcdbd;background:#f0f0e7;border-radius:12px}.empty-mark{font:36px "Noto Serif TC",serif;color:#8e9d83}.empty-journal h3{font:500 19px "Noto Serif TC",serif}.empty-journal p{font-size:13px;color:var(--muted);line-height:2}.skeleton{padding:45px 20px;color:var(--muted)}.journal-sheet{width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:20px;padding:25px;background:var(--paper);color:var(--ink);overscroll-behavior:contain;box-shadow:0 24px 80px #29453833}.journal-sheet::-webkit-backdrop{background:#263a32a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.journal-sheet::backdrop{background:#263a32a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-heading h2{font:600 25px "Noto Serif TC",serif;margin:8px 0}.sheet-heading .icon-button{flex-shrink:0}.menu-intro{font:13px "Noto Serif TC",serif;color:var(--muted);margin:15px 0 24px}.travel-nav{display:flex;flex-direction:column}.travel-nav>button{display:flex;align-items:center;gap:16px;text-align:left;padding:18px 4px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--green);min-height:56px}.travel-nav>button>span{flex:1 1;font-size:15px}.travel-nav small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.menu-divider{font-size:10px;color:var(--muted);letter-spacing:.1em;margin-top:24px}.menu-account{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:18px;border-top:1px dashed var(--line)}.menu-account>span{font-size:11px;overflow-wrap:anywhere;min-width:0}.back-to-trips{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--green);font-size:13px;padding:10px 0;min-height:44px}@media(max-width:599px){.trip-cards{grid-template-columns:minmax(0,1fr);gap:20px}.my-trips{padding-top:8px}.trips-heading{padding:12px 4px 24px}.trips-heading h2{font-size:30px}.journal-sheet{margin:auto auto max(14px,env(safe-area-inset-bottom));padding:23px 20px}.trip-cover{height:166px}.trip-card-body{padding:20px 21px 0}.trips-heading p{font-size:12px}.menu-trigger{padding:9px}.brand .kicker{font-size:8px}}@media(prefers-reduced-motion:reduce){.trip-card{transition:none}.trip-card:hover{transform:none}}@media(max-width:599px){.shell{padding:14px 12px calc(32px + env(safe-area-inset-bottom))}.topbar{gap:8px;margin:4px 0 16px}.brand{gap:8px}.brand-mark{width:40px;height:40px}.brand h1{font-size:20px}.hero{min-height:140px;padding:19px}.hero h2{font-size:24px}.panel{padding:15px}.grid{grid-template-columns:minmax(0,1fr);gap:0}input,select,textarea{font-size:16px;min-height:44px}.btn{min-height:44px}.item.row{flex-wrap:wrap}.notice{overflow-wrap:anywhere}}.trip-finance-heading{padding:12px 2px 18px}.trip-finance-heading h2{font:600 24px "Noto Serif TC",serif;margin:8px 0}.trip-finance-heading p{font-size:12px;color:var(--muted);margin:0}.finance-workspace{min-width:0}.finance-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px 22px}.finance-overview p{font-size:12px;color:var(--muted);margin:12px 0 5px}.finance-overview h2{font:500 36px "Noto Serif TC",serif;margin:0;overflow-wrap:anywhere}.finance-stamp{flex-shrink:0;font:500 16px "Noto Serif TC",serif;line-height:1.4;color:var(--terra);border:1px solid #b77d62;padding:8px 10px;border-radius:3px;transform:rotate(7deg)}.finance-nav{display:flex;gap:4px;padding:5px;background:#edece3;border:1px solid var(--line);border-radius:14px;margin-bottom:24px}.finance-nav button{flex:1 1;min-width:0;min-height:64px;padding:9px 3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:transparent;border:0;border-radius:10px;color:#758174;font-size:12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.finance-nav button[aria-selected=true]{background:#fffdf8;color:var(--green);box-shadow:0 2px 6px #29453812;font-weight:600}.finance-area-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0}.finance-area-heading h3{margin:0!important;font:600 23px "Noto Serif TC",serif!important}.finance-area-heading p{margin:8px 0 0}.card-currency{width:72px;flex-shrink:0;margin:0}.card-currency label{font-size:9px}.card-currency select{padding:8px 6px;font-size:14px;min-height:44px}.debt-cards{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.debt-card{display:block;width:100%;min-width:0;text-align:left;border:1px solid #d8ddd0;border-radius:15px;background:#fffdf8;padding:14px 14px 0;color:var(--ink);box-shadow:2px 3px 0 #e9e5db70;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.debt-card:active{background:#f0f2e9}.debt-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-bottom:14px}.debt-state{padding:5px 8px;border-radius:6px;background:#e7eddf;color:#526a56}.debt-card.pending .debt-state{background:#f0e8d7;color:#826b45}.debt-card.review .debt-state{background:#f7e8e1;color:#8c4c38}.debt-direction{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1.4fr) minmax(0,1fr);align-items:center;grid-gap:4px;gap:4px;padding:10px 0 20px}.debt-person{display:flex;align-items:center;flex-direction:column;gap:7px;min-width:0;text-align:center}.debt-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eee1cf;color:#8c7355;font:500 22px "Noto Serif TC",serif;border:3px solid #f9f6ee}.creditor .debt-avatar{background:#dce6d8;color:#526c52}.debt-person strong{font-size:13px;overflow-wrap:anywhere;line-height:1.5}.debt-person small{font-size:9px;color:var(--muted)}.debt-amount{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;text-align:center}.debt-amount>span{font-size:10px;color:var(--muted)}.debt-amount>svg{color:#95a78d}.debt-amount b{font-size:24px;font-weight:500;line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere;width:100%}.debt-amount small{font-size:9px;color:var(--muted)}.debt-card-foot{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 0;border-top:1px dashed var(--line);font-size:11px;color:#6a7c67;min-height:44px}.finance-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.finance-secondary-actions .btn{flex:1 1;min-height:48px;font-size:12px;white-space:nowrap}.workspace-converter{border:1px solid var(--line);border-radius:12px;margin:24px 0;background:#faf9f4}.workspace-converter>summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 12px;min-height:52px;font-size:13px;cursor:pointer;list-style:none}.workspace-converter>summary::-webkit-details-marker{display:none}.workspace-converter>summary>span{flex-basis:100%;font-size:10px;color:var(--muted);margin-left:27px}.workspace-converter>.currency-converter{margin:0;border:0;border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding:15px 12px}.finance-workspace .converter-heading h4{font:600 23px "Noto Serif TC",serif;margin:6px 0 0}.finance-empty{padding:30px 12px;text-align:center;color:#73816b;background:#f4f4ec;border:1px dashed #d0d7c7;border-radius:14px;line-height:1.8}.finance-empty h4{font:600 21px "Noto Serif TC",serif;margin:15px 0 5px}.finance-empty p{font-size:12px}.finance-demo-note{font-size:10px;line-height:1.8;color:var(--muted);margin:22px 2px}.expense-entry{background:#fffdf8;border:1px solid var(--line);padding:17px 15px;border-radius:14px}.expense-entry .field{margin:8px 0 18px}.entry-amount{position:relative}.entry-amount input{font-size:28px;padding:14px 65px 14px 12px}.entry-amount>span{position:absolute;right:15px;bottom:21px;font-size:13px;color:var(--muted)}.entry-save{width:100%;min-height:50px}.split-advanced{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:18px 0}.detail-rate>summary,.legacy-payment>summary,.net-explanation>summary,.settlement-batch summary,.split-advanced>summary{min-height:48px;display:flex;align-items:center;font-size:12px;cursor:pointer;color:#6d7f66}.snapshot-rate,.split-advanced p{font-size:11px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}.snapshot-rate{padding:12px;background:#edf1e8;border-radius:10px}.debt-direction-sentence{font-size:14px;text-align:center;margin:0 0 18px}.expense-trail{margin:24px 0}.expense-trail>h4{font:600 20px "Noto Serif TC",serif;margin:20px 0 8px}.expense-trace-row{border-bottom:1px dashed var(--line);padding:14px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.expense-trace-row>strong{font-size:13px;max-width:70%;overflow-wrap:anywhere}.expense-trace-row>b{font-size:13px}.expense-trace-row>p{flex-basis:100%;margin:0;font-size:12px;color:var(--muted);line-height:1.8}.net-explanation p,.repayment-line{padding:12px 0;font-size:12px;line-height:1.9;border-bottom:1px dashed var(--line)}.repayment-line small{color:var(--muted);overflow-wrap:anywhere}.legacy-payment{border-top:1px dashed var(--line)}.snapshot-history{margin-top:24px}.snapshot-history>h4{font:600 20px "Noto Serif TC",serif}.settlement-batch>p{font-size:12px;line-height:1.9}.finance-workspace .personal-transfers{margin-top:12px}.finance-workspace .personal-transfers>h4{font:600 20px "Noto Serif TC",serif}.finance-assignments>summary{min-height:48px;display:flex;align-items:center}.finance-expense p{font-size:13px;line-height:1.8}.finance-workspace details>summary:focus-visible{outline:3px solid var(--terra);outline-offset:2px}@media(min-width:600px){.debt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-nav button{flex-direction:row;min-height:54px}.expense-entry{max-width:460px;margin:0 auto}.finance-overview h2{font-size:42px}}@media(max-width:359px){.debt-card{padding:12px 8px 0}.debt-amount b{font-size:22px}.debt-direction{grid-template-columns:minmax(0,1fr) minmax(95px,1.35fr) minmax(0,1fr)}.finance-nav button{font-size:11px}.finance-area-heading h3{font-size:21px!important}.expense-entry{padding:15px 12px}}.itinerary-planner{min-width:0}.itinerary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0}.itinerary-heading h3{font:600 24px "Noto Serif TC",serif!important;margin:7px 0!important}.itinerary-heading p{font-size:11px;color:var(--muted);margin:7px 0 0}.itinerary-heading>.btn{min-height:48px;flex-shrink:0;font-size:12px;padding:10px 12px}.itinerary-cards{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px}.itinerary-card{min-width:0;padding:18px 16px 0;background:#fffdf8;border:1px solid var(--line);border-left:4px solid #a9b69d;border-radius:4px 14px 14px 4px;box-shadow:2px 3px 0 #e9e5db70}.itinerary-when{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#7c866e}.itinerary-when>span{display:flex;align-items:center;gap:5px}.itinerary-card h4{font:600 23px "Noto Serif TC",serif;line-height:1.6;margin:14px 0 10px;overflow-wrap:anywhere}.itinerary-location-name{font-size:12px;color:#73826c;margin:0 0 12px}.itinerary-address{display:flex;align-items:flex-start;gap:8px;color:#6d7b66;font-size:13px;line-height:1.9;margin:12px 0}.itinerary-address svg{flex-shrink:0;margin-top:4px}.itinerary-address span{min-width:0;overflow-wrap:anywhere}.itinerary-note{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f1efe5;border-radius:9px;margin:14px 0 18px}.itinerary-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;margin:18px 0 9px}.itinerary-map-actions .btn{min-width:0;min-height:50px;font-size:12px;padding:11px 7px;text-decoration:none;touch-action:manipulation}.itinerary-map-actions svg{flex-shrink:0}.itinerary-edit-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px dashed var(--line);margin-top:14px}.itinerary-text-button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;min-width:52px;padding:9px 4px;color:#7d826e;font-size:12px;touch-action:manipulation}.place-form>.field{margin:18px 0}.place-form .small{line-height:1.8;margin:5px 0 0}.place-form input,.place-form textarea{min-width:0}.itinerary-save{width:100%;min-height:50px;text-decoration:none}.navigation-check{display:flex;align-items:flex-start;gap:12px;min-height:64px;padding:12px 0;font-size:13px;line-height:1.9;margin:16px 0;cursor:pointer}.navigation-check input[type=checkbox]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--green);margin-top:3px}.place-form textarea{resize:vertical}.itinerary-card .small{line-height:1.8}.itinerary-planner .btn:focus-visible{outline:3px solid var(--terra);outline-offset:3px}@media(min-width:600px){.itinerary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:359px){.itinerary-card{padding:16px 12px 0}.itinerary-heading h3{font-size:22px!important}.itinerary-map-actions{gap:6px}.itinerary-map-actions .btn{font-size:11px;gap:5px;padding:10px 6px}}.inspiration-gacha{padding:14px 0}.gacha-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 22px}.gacha-heading h2{font:600 29px "Noto Serif TC",serif;margin:12px 0}.gacha-heading p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.gacha-stamp{font:500 17px "Noto Serif TC",serif;color:var(--terra);border:1px solid #b77d62;padding:9px;line-height:1.5;border-radius:3px;transform:rotate(7deg);flex-shrink:0}.gacha-kinds{display:flex;gap:5px;padding:5px;background:#eeeee5;border:1px solid var(--line);border-radius:13px;margin:24px 0 18px}.gacha-kinds button{display:flex;justify-content:center;align-items:center;gap:8px;flex:1 1;min-width:0;min-height:52px;border:0;background:transparent;border-radius:9px;color:var(--green);font-size:14px;touch-action:manipulation}.gacha-kinds button[aria-pressed=true]{background:#fffdf8;box-shadow:0 2px 5px #29453813;font-weight:600}.gacha-stage{perspective:1100px;min-height:360px;margin:24px 0 18px}.gacha-card-back,.gacha-result{min-width:0;min-height:350px;padding:25px 22px;background:#fffdf8;border:1px solid #d9dccc;border-radius:5px 18px 18px 5px;box-shadow:4px 5px 0 #e5e2d790}.gacha-card-back{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;border:1px dashed #b3bda8;background:repeating-linear-gradient(0deg,#f6f5ed,#f6f5ed 31px,#eae9df 32px);color:#718369}.gacha-card-back>strong{font:500 23px "Noto Serif TC",serif;text-align:center}.gacha-card-back p{font-size:12px}.gacha-card-back small{font-size:11px;letter-spacing:.15em}.gacha-symbol{display:grid;place-items:center;width:58px;height:58px;font:500 31px "Noto Serif TC",serif;border:1px solid #b58a70;color:var(--terra);border-radius:50%;margin:22px auto 18px}.gacha-result-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.gacha-result h3{font:600 26px "Noto Serif TC",serif;text-align:center;line-height:1.7;margin:15px 0;overflow-wrap:anywhere}.gacha-result>p{font-size:13px;line-height:1.9;color:#6c7a65}.gacha-result .gacha-region{display:flex;justify-content:center;align-items:center;gap:6px;font-size:11px;margin:20px 0}.gacha-card-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.gacha-card-actions>.btn{min-height:48px;font-size:13px;text-decoration:none}.gacha-draw{width:100%;min-height:54px;font-size:15px}.gacha-footer{line-height:1.9;margin:16px 2px}.drawing .gacha-card-back{animation:gacha-turn .65s ease-in-out}.gacha-result{animation:gacha-reveal .3s ease-out}.inspiration-gacha>.small{line-height:1.9}@keyframes gacha-turn{0%{transform:rotateY(0) translateY(0)}40%{transform:rotateY(80deg) translateY(-8px)}75%{transform:rotateY(-16deg)}to{transform:rotateY(0)}}@keyframes gacha-reveal{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.drawing .gacha-card-back,.gacha-result{animation:none}}@media(min-width:600px){.inspiration-gacha{max-width:520px;margin:0 auto}.gacha-card-actions{flex-direction:row}.gacha-card-actions>.btn{flex:1 1}}@media(max-width:359px){.gacha-heading h2{font-size:24px}.gacha-stamp{font-size:15px;padding:7px}.gacha-result{padding:22px 18px}.gacha-result h3{font-size:23px}}.itinerary-view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#eeeee5;margin:18px 0}.itinerary-view-switch button{flex:1 1;min-height:48px;border:0;border-radius:9px;background:transparent;color:var(--green);font-size:14px;touch-action:manipulation}.itinerary-view-switch button[aria-pressed=true]{background:#fffdf8;font-weight:600;box-shadow:0 2px 5px #29453813}.itinerary-planner .itinerary-cards{display:block}.itinerary-day{margin:26px 0}.timeline-date{font:600 19px "Noto Serif TC",serif;color:#6e7e67;margin:22px 0 16px;padding-bottom:12px;border-bottom:1px dashed var(--line)}.timeline-step{position:relative}.timeline-step>.itinerary-card{margin:0}.timeline-node{padding:0;border-left:3px solid #94aa8b}.timeline-stop{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:78px;border:0;background:transparent;color:var(--ink);padding:16px 12px;text-align:left;touch-action:manipulation}.timeline-arrival{flex-shrink:0;width:48px;font-size:13px;color:#7e876e;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-name{flex:1 1;min-width:0;font:600 19px "Noto Serif TC",serif;line-height:1.7;overflow-wrap:anywhere}.timeline-stop>svg{flex-shrink:0;color:#8c9d81}.timeline-stop[aria-expanded=true]>svg{transform:rotate(180deg)}.timeline-node .timeline-stop-details{padding:0 16px}.timeline-transport{display:flex;align-items:center;gap:12px;margin:0 14px;padding:8px 0;min-height:68px}.timeline-transport-line{display:block;align-self:stretch;min-height:42px;border-left:2px dashed #c5cdbb;margin-left:12px}.timeline-transport>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:6px 0}.timeline-transport strong{font-size:12px;font-weight:500;color:#697b61}.timeline-transport span:not(.timeline-transport-line){font-size:12px;color:var(--muted);overflow-wrap:anywhere}.timeline-transport small{font-size:11px;color:#8b795d}.timeline-transport .itinerary-text-button{padding:8px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#faf9f3;flex-shrink:0}.place-transport-fields>summary,.timeline-share>summary{display:flex;align-items:center;min-height:48px;font-size:12px;color:#708069;cursor:pointer}.timeline-share p{font-size:11px;color:var(--muted);overflow-wrap:anywhere;line-height:1.8}.place-transport-fields{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:18px 0}.place-transport-fields p{line-height:1.9}.itinerary-view-simple .itinerary-day{border-left:0}.itinerary-planner button:focus-visible,.itinerary-planner summary:focus-visible{outline:3px solid var(--terra);outline-offset:3px}@media(max-width:359px){.timeline-name{font-size:18px}.timeline-stop{gap:8px;padding:14px 10px}.timeline-arrival{width:42px;font-size:12px}}