*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.table{display:table}.contents{display:contents}.hidden{display:none}.grow{flex-grow:1}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.outline{outline:none}.budget-card .expense-list>div{grid-template-columns:9px minmax(0,1fr) 105px 36px 25px}.quick-add{margin:14px 0 0 82px;width:calc(100% - 82px);border:1px solid var(--accent);background:#fffaf8;border-radius:11px;padding:14px}.quick-add-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.quick-add-head button{width:25px;height:25px}.quick-add-head svg{width:14px}.quick-add-fields{display:grid;grid-template-columns:100px 120px 1fr;gap:10px}.quick-add-fields label{display:flex;flex-direction:column;gap:4px}.quick-add-fields label span{font-size:8px;color:var(--muted);font-weight:700}.expense-form input,.expense-form select,.quick-add-fields input,.quick-add-fields select,.quick-add-fields textarea{height:35px;border:1px solid var(--border);border-radius:7px;background:white;padding:6px 9px;min-width:0}.quick-add-fields .full{grid-column:1/-1}.quick-add-fields textarea{height:55px;resize:vertical}.quick-add-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:11px}.day-picker{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:8px;padding:0 8px}.day-picker svg{width:13px}.day-picker select{border:0;background:transparent;max-width:210px;font-size:9px;height:30px}.typhoon-panel{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;background:white;border:1px solid var(--border);border-radius:14px;margin-top:16px;padding:20px}.typhoon-radar{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#f1f6f2 0 18%,#d9e8dc 19% 20%,#f7faf7 21% 38%,#d9e8dc 39% 40%,#f7faf7 41% 59%,#d9e8dc 60% 61%,#f7faf7 62%);position:relative;overflow:hidden}.typhoon-radar:after{content:"";position:absolute;inset:50% 0 0 50%;background:#6a927633;transform-origin:0 0;transform:rotate(-28deg);clip-path:polygon(0 0,100% 0,0 100%)}.typhoon-radar i{position:absolute;inset:0;display:grid;place-items:center;color:var(--green)}.typhoon-radar i svg{width:20px}.typhoon-copy small{font-size:8px;color:var(--accent);font-weight:700;letter-spacing:1px}.typhoon-copy h2{font-family:Georgia,serif;font-size:19px;margin:5px 0}.typhoon-copy p{font-size:9px;color:var(--muted)}.typhoon-copy>div{display:flex;gap:15px;margin-top:12px}.typhoon-copy>div span{font-size:8px;color:var(--green)}.typhoon-copy>div b{display:block;color:var(--muted);margin-bottom:2px}.typhoon-action{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.typhoon-action em,.typhoon-action small{font-size:7px;color:var(--muted)}.typhoon-action em{font-style:normal}.typhoon-action button:disabled{opacity:.55}.amount-edit{display:flex;align-items:center;border:1px solid transparent;border-radius:6px;padding:2px 4px}.amount-edit:focus-within,.amount-edit:hover{border-color:var(--border)}.amount-edit span{font-weight:700}.amount-edit input{border:0;background:transparent;width:76px;font-weight:700;outline:0}.expense-category{font-weight:700;font-size:11px}.expense-title{font-size:8px;color:var(--muted)}.expense-delete{width:24px;height:24px;color:var(--muted);opacity:0}.expense-list>div:hover .expense-delete{opacity:1}.expense-delete svg{width:13px}.add-expense{width:100%;border:1px dashed var(--border);border-radius:8px;margin-top:12px;padding:10px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:9px}.add-expense svg{width:13px}.expense-form{display:grid;grid-template-columns:1fr 100px 120px auto auto!important;gap:6px!important;padding:12px 0!important}.expense-form button{padding:0 10px}.check-grid label,.check-grid section{min-width:0}.check-grid label>.edit-input,.check-grid label>.editable{min-width:0;max-width:calc(100% - 30px);overflow-wrap:anywhere;white-space:normal;line-height:1.4}.check-grid label>.editable{flex:1}.check-grid label>.edit-input{flex:1;width:auto}.check-grid label>button:first-child{flex:0 0 18px}@media(max-width:760px){.quick-add{margin-left:65px;width:calc(100% - 65px)}.quick-add-fields{grid-template-columns:1fr 1fr}.quick-add-fields .full,.quick-add-fields .grow{grid-column:1/-1}.filter-row{flex-wrap:wrap}.filter-row>span{display:none}.day-picker{order:2;width:100%}.day-picker select{max-width:none;width:100%}.typhoon-panel{grid-template-columns:72px 1fr;padding:15px;gap:13px}.typhoon-radar{width:68px;height:68px}.typhoon-action{grid-column:1/-1;align-items:stretch}.typhoon-action button{justify-content:center}.typhoon-copy>div{flex-wrap:wrap}.expense-form{grid-template-columns:1fr 1fr!important}.expense-form input:first-child{grid-column:1/-1}.expense-list>div{grid-template-columns:9px minmax(0,1fr) 95px 24px!important}.expense-list>div>em{display:none}.expense-delete{opacity:1}.check-grid{grid-template-columns:minmax(0,1fr)!important}.check-grid section{width:100%;overflow:hidden}}.flight-section{margin-bottom:28px}.flight-hint{font-size:9px;color:var(--muted)}.flight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.flight-card{background:white;border:1px solid var(--border);border-radius:14px;padding:17px;min-width:0}.flight-card header{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.airline-mark{width:37px;height:37px;border-radius:10px;background:#e7eee8;color:var(--green);display:grid;place-items:center}.airline-mark svg{width:17px}.flight-card header>div{display:flex;flex-direction:column;flex:1}.flight-card header small{font-size:8px;color:var(--muted)}.flight-card header h3{font-family:Georgia,serif;font-size:15px;margin:2px 0}.flight-card header em{font-style:normal;font-size:8px;padding:4px 7px;border-radius:12px}.flight-card header em.confirmed{background:#e7efe8;color:#4f7359}.flight-card header em.pending{background:#f3e9d9;color:#91682b}.flight-legs{display:flex;flex-direction:column}.flight-leg{display:grid;grid-template-columns:34px 55px 1fr 55px;align-items:center;gap:6px;padding:14px 0;border-bottom:1px solid var(--border)}.flight-leg:last-child{border:0;padding-bottom:0}.airport,.leg-label{display:flex;flex-direction:column}.leg-label b{font-size:9px;color:var(--accent)}.leg-label span{font-size:8px;color:var(--muted)}.airport b{font-family:Georgia,serif;font-size:16px}.airport strong{font-size:10px}.airport small{font-size:7px;color:var(--muted);white-space:nowrap}.airport.arrival{text-align:right}.flight-line{display:flex;flex-direction:column;align-items:center;min-width:35px}.flight-line>span{font-size:7px;color:var(--muted);white-space:nowrap}.flight-line i{height:1px;width:100%;background:var(--border);position:relative;margin-top:7px}.flight-line svg{position:absolute;width:11px;height:11px;right:0;top:-5px;color:var(--accent);background:white}.flight-empty{min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:6px}.flight-empty svg{width:22px;opacity:.45}.flight-empty b{font-size:10px}.flight-empty span{font-size:8px}@media(max-width:1100px){.flight-grid{grid-template-columns:1fr}}:root{--bg:#f6f5f1;--surface:#fff;--soft:#efeee9;--text:#20221f;--muted:#73776f;--border:#e2e0d9;--accent:#d7524e;--accent-soft:#f7e8e4;--green:#446a52;--warning:#aa7628;--sidebar:#202921}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Geist,Segoe UI,sans-serif;font-size:14px}button,input,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--sidebar);color:#eef1eb;padding:24px 16px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.brand>span{display:grid;place-items:center;width:36px;height:36px;background:var(--accent);border-radius:10px;color:white;font-family:serif;font-size:18px}.brand div{display:flex;flex-direction:column}.brand b{font-family:Georgia,serif;font-size:20px;letter-spacing:.5px}.brand small{color:#91a094;font-size:10px}.mobile-close{display:none;margin-left:auto;color:white}.trip-switch{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#2b352d;border:1px solid #3c483f;border-radius:10px;padding:11px 12px;color:white;margin-bottom:25px}.trip-switch div{display:flex;flex-direction:column;gap:4px}.trip-switch small{color:#91a094;font-size:9px;letter-spacing:1.2px}.trip-switch b{font-size:12px}.trip-switch svg{width:14px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.side-bottom>button,.sidebar nav button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#aab5ac;text-align:left;font-size:13px}.side-bottom button svg,.sidebar nav button svg{width:17px;height:17px}.sidebar nav button.active{background:#f7f4ed;color:#252a25;font-weight:650}.sidebar nav button em{font-style:normal;margin-left:auto;background:var(--accent);color:white;border-radius:20px;padding:1px 7px;font-size:10px}.side-bottom{margin-top:auto;border-top:1px solid #384139;padding-top:13px}.side-bottom>button{width:100%}.profile{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 8px}.profile>span{background:#d7a65b;color:#252a25;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:10px;font-weight:700}.profile div{display:flex;flex-direction:column;flex:1}.profile b{font-size:11px}.profile small{font-size:9px;color:#8e9a90}.profile svg{width:16px;color:#8e9a90}main{margin-left:244px;min-width:0;width:calc(100% - 244px)}.topbar{position:sticky;top:0;height:65px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;padding:0 32px}.crumb,.topbar{display:flex;align-items:center}.crumb{gap:8px}.crumb small{font-size:10px;color:#92958e;letter-spacing:.8px}.crumb b{font-size:12px}.top-actions{display:flex;align-items:center;gap:7px}.hamb,.top-actions>button:not(.primary):not(.command-button){width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:white;display:grid;place-items:center}.top-actions svg{width:16px}.top-actions button:disabled{opacity:.3}.save{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-right:4px}.save i{width:6px;height:6px;border-radius:50%;background:#5b8a68}.save.saving i{background:#d59a45;animation:pulse 1s infinite}.save.error i{background:var(--accent)}@keyframes pulse{50%{opacity:.3}}.command-button{border:1px solid var(--border);height:34px;border-radius:8px;background:#fafafa;display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--muted);font-size:11px}.command-button span{min-width:90px;text-align:left}.command-button kbd,kbd{font-family:inherit;font-size:9px;border:1px solid #d6d4cd;border-radius:4px;background:#f3f2ee;padding:2px 5px}.primary{height:35px;background:var(--accent);color:white;border-radius:8px;padding:0 14px;display:flex;align-items:center;gap:7px;font-weight:650;font-size:12px;box-shadow:0 3px 10px #d7524e35}.primary svg{width:15px}.content{max-width:1400px;margin:0 auto;padding:31px 36px 60px}.hero{min-height:322px;border-radius:18px;background:#fff;display:grid;grid-template-columns:55% 45%;overflow:hidden;border:1px solid var(--border);box-shadow:0 8px 24px #262a2410}.hero-copy{padding:44px 48px}.page-title>div>small,.season,.section-head small{font-size:9px;font-weight:750;letter-spacing:1.6px;color:var(--accent)}.editable{text-align:left;border-radius:5px;padding:2px 4px;margin:-2px -4px}.editable:hover{background:var(--soft)}.edit-input{border:1px solid var(--accent);border-radius:5px;padding:2px 4px;background:white;max-width:100%;resize:none}.hero-title{display:block;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:37px;line-height:1.12;max-width:590px;margin-top:15px}.hero-title.edit-input{width:100%}.hero-sub{display:block;font-family:Georgia,serif;color:var(--muted);font-size:15px;line-height:1.55;margin-top:13px;max-width:510px}.hero-sub.edit-input{width:100%;height:68px}.trip-meta{display:flex;align-items:center;gap:9px;margin-top:23px;font-weight:600;font-size:12px}.trip-meta svg{width:15px;color:var(--accent)}.trip-meta i{height:14px;width:1px;background:var(--border);margin:0 5px}.city-pills{display:flex;gap:6px;margin-top:17px}.city-pills span{background:var(--soft);padding:5px 11px;border-radius:30px;font-size:10px}.hero-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#e9ddd0,#c2d0c1);isolation:isolate}.sun-disc{position:absolute;width:130px;height:130px;border-radius:50%;background:#e86b5e;right:18%;top:13%;opacity:.9}.mountain{position:absolute;bottom:-10%;width:120%;height:70%;left:-10%;background:#6d8470;clip-path:polygon(0 100%,12% 68%,23% 75%,41% 25%,57% 69%,68% 55%,100% 100%)}.m2{background:#344a3b;left:20%;bottom:-16%;height:58%;opacity:.85}.torii{position:absolute;right:15%;top:34%;font-family:serif;font-size:45px;color:#402e27;writing-mode:vertical-rl;opacity:.35}.hero-art p{position:absolute;right:25px;bottom:16px;color:white;font-size:9px;letter-spacing:1px}.health{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--border);border-radius:14px;margin:17px 0 27px}.health>div{padding:18px 22px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--border)}.health>div:last-child{border:0}.health svg{width:18px;color:var(--accent)}.health span{display:flex;flex-direction:column}.health b{font-size:13px}.health small{font-size:9px;color:var(--muted);margin-top:2px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:28px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-head h2{font-family:Georgia,serif;font-weight:500;font-size:19px;margin:4px 0}.section-head button{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:3px}.section-head svg{width:13px}.day-cards{background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden}.day-cards article{display:grid;grid-template-columns:78px 1fr 52px;align-items:center;padding:15px 19px;border-bottom:1px solid var(--border);cursor:pointer}.day-cards article:last-child{border:0}.day-cards article:hover{background:#faf9f6}.day-date{display:flex;align-items:end;gap:5px}.day-date b{font-family:Georgia,serif;font-size:27px;font-weight:400}.day-date span{font-size:9px;color:var(--muted);padding-bottom:5px}.day-cards article>div:nth-child(2) small{font-size:8px;color:var(--accent);font-weight:700;letter-spacing:1px}.day-cards h3{font-size:13px;margin:3px 0}.day-cards p{font-size:10px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-icon{justify-self:end;display:flex;align-items:center;gap:5px}.weather-icon svg{width:17px;color:#d89735}.attention{min-width:0}.attention .count{background:var(--accent-soft);color:var(--accent);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:10px;font-weight:700}.attention-row{background:white;border:1px solid var(--border);border-bottom:0;padding:14px;display:flex;align-items:center;gap:11px}.attention-row:nth-child(2){border-radius:12px 12px 0 0}.attention-row>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#f5eee1;color:#b27925}.attention-row>span.rain{background:#e5eef0;color:#577984}.attention-row>span.food{background:#e8eee8;color:#52705a}.attention-row svg{width:15px}.attention-row>div{display:flex;flex-direction:column;flex:1}.attention-row b{font-size:11px}.attention-row small{font-size:9px;color:var(--muted);margin-top:3px}.attention-row>svg{color:#a6aaa3}.wide-button{width:100%;height:37px;background:white;border:1px solid var(--border);border-radius:0 0 11px 11px;font-size:10px;font-weight:650}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.page-title h1{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:7px 0}.page-title p{color:var(--muted);margin:0;font-size:11px}.outline{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:9px 13px;font-size:11px;font-weight:650}.outline svg{width:14px}.day-ribbon{height:78px;background:white;border:1px solid var(--border);border-radius:12px;display:flex;margin-bottom:18px;padding:0 5px}.day-ribbon>button{width:32px}.day-ribbon>button:disabled{opacity:.25}.day-ribbon>div{display:grid;grid-template-columns:repeat(9,1fr);flex:1;overflow:auto}.day-ribbon>div button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-bottom:2px solid transparent;min-width:75px}.day-ribbon>div button small{font-size:7px;color:var(--muted)}.day-ribbon>div button b{font-size:11px}.day-ribbon>div button span{font-size:9px;color:var(--muted)}.day-ribbon>div button.active{border-color:var(--accent);background:linear-gradient(#fff,#fbefec)}.day-ribbon>div button.active small,.day-ribbon>div button.active span{color:var(--accent)}.itinerary-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.day-panel>div,.timeline{background:white;border:1px solid var(--border);border-radius:13px}.timeline{padding:23px 25px}.daily-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:21px;margin-bottom:8px}.daily-head>div>span{font-size:8px;color:var(--accent);font-weight:700;letter-spacing:1px}.daily-head .editable{display:block;font-family:Georgia,serif;font-size:24px;margin-top:4px}.daily-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.big-weather{display:flex;align-items:center;gap:9px}.big-weather>svg{width:31px;height:31px;color:#d99a39}.big-weather span{display:flex;flex-direction:column}.big-weather b{font-family:Georgia,serif;font-size:21px}.big-weather small{color:var(--muted);font-size:8px}.timeline-item{display:grid;grid-template-columns:63px 1fr;position:relative}.time{padding-top:20px;position:relative;border-right:1px solid var(--border)}.time .editable{font-size:11px;font-weight:700}.timeline-dot{position:absolute;right:-5px;top:26px;width:9px;height:9px;background:white;border:2px solid var(--accent);border-radius:50%}.item-card{margin:10px 0 3px 19px;border:1px solid var(--border);border-radius:11px;padding:13px;display:flex;gap:12px;transition:.15s}.item-card:hover{border-color:#c8c5bd;box-shadow:0 5px 16px #2528200d}.type-icon{flex:none;width:33px;height:33px;border-radius:8px;display:grid;place-items:center;background:#e8eee8;color:#526e59}.type-icon svg{width:15px}.type-icon.food{background:#f6ebe5;color:#b45f48}.type-icon.transport{background:#e8eef2;color:#547184}.type-icon.event{background:#f2e9f4;color:#765a7d}.type-icon.shopping{background:#f2eddf;color:#8c7337}.item-main{min-width:0;flex:1}.item-title{display:flex;align-items:center;gap:9px}.item-title .editable{font-weight:700;font-size:12px}.confirmed,.item-title .edit-input{font-weight:700}.confirmed{display:flex;align-items:center;gap:3px;background:#e7efe9;color:#4d7358;padding:2px 6px;border-radius:10px;font-size:7px}.confirmed svg{width:9px}.item-main>p{font-size:9px;color:var(--muted);margin:3px 0 8px}.item-note{display:block;font-size:10px;color:#62665f;line-height:1.4}.item-note.edit-input{width:100%;height:48px}.item-tags{display:flex;gap:5px;margin-top:9px}.item-tags span{background:var(--soft);border-radius:5px;padding:3px 6px;font-size:8px;color:var(--muted)}.item-controls{opacity:0;display:flex;align-items:flex-start;gap:1px;transition:.12s}.item-card:hover .item-controls{opacity:1}.item-controls>svg{width:14px;color:#a0a29d;margin:4px}.item-controls button{font-size:11px;width:22px;height:23px;border-radius:4px}.item-controls button:hover{background:var(--soft)}.item-controls button svg{width:12px}.add-activity{margin:15px 0 0 82px;border:1px dashed #cac7be;border-radius:9px;padding:10px;width:calc(100% - 82px);display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:10px}.add-activity svg{width:14px}.day-panel{display:flex;flex-direction:column;gap:13px}.day-panel>div{padding:17px}.panel-head{justify-content:space-between}.panel-head,.panel-head>span{display:flex;align-items:center}.panel-head>span{gap:7px;font-weight:700;font-size:11px}.panel-head svg{width:14px;color:var(--accent)}.panel-head small{font-size:7px;color:var(--muted);letter-spacing:1px}.panel-head button{font-size:8px;color:var(--accent)}.forecast-big{display:flex;align-items:center;gap:8px;margin:17px 0}.forecast-big>b{font-family:Georgia,serif;font-size:38px;font-weight:400}.forecast-big span{display:flex;flex-direction:column;font-size:11px}.forecast-big small{font-size:8px;color:var(--muted)}.weather-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:11px 0;border-top:1px solid var(--border)}.weather-stats span{display:flex;flex-direction:column;border-right:1px solid var(--border);padding-left:10px}.weather-stats span:first-child{padding-left:0}.weather-stats span:last-child{border:0}.weather-stats small{font-size:8px;color:var(--muted)}.weather-stats b{font-size:10px;margin-top:3px}.weather-alert{display:flex;gap:8px;background:#f5eddf;color:#795823;border-radius:8px;padding:9px}.weather-alert svg{width:15px;flex:none}.weather-alert span{display:flex;flex-direction:column}.weather-alert b{font-size:9px}.weather-alert small{font-size:8px;margin-top:2px}.mini-booking{display:grid;grid-template-columns:40px 1fr;gap:8px;margin-top:14px}.mini-booking>span{font-size:9px;font-weight:700;color:var(--accent)}.mini-booking div{display:flex;flex-direction:column}.mini-booking b{font-size:10px}.mini-booking small,.muted{font-size:8px;color:var(--muted);margin-top:3px}.notes p{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--muted);line-height:1.55}.filter-row{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:13px;margin-bottom:20px}.filter-row button{padding:7px 11px;border-radius:7px;font-size:10px}.filter-row button.active{background:#27342b;color:white}.filter-row span{flex:1}.filter-row svg{width:13px}.place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.place-card{background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden}.place-art{height:150px;position:relative;background:linear-gradient(140deg,#abc0ae,#405a49);overflow:hidden}.place-card.art-1 .place-art{background:linear-gradient(140deg,#d7c9b4,#806d56)}.place-card.art-2 .place-art{background:linear-gradient(140deg,#ddd5c9,#7c8880)}.place-card.art-3 .place-art{background:linear-gradient(140deg,#abc1ca,#495f67)}.place-art:after{content:"旅";font-family:serif;position:absolute;font-size:130px;color:#ffffff18;right:12px;top:-10px}.place-art>span{position:absolute;bottom:10px;left:12px;background:#ffffffd9;border-radius:20px;padding:4px 8px;font-size:8px}.place-art button{position:absolute;z-index:2;right:10px;top:10px;background:white;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.place-art svg{width:13px}.place-card>div:last-child{padding:15px}.place-card small{font-size:8px;color:var(--accent);font-weight:700}.place-card h3{font-family:Georgia,serif;font-size:17px;margin:6px 0}.place-card p{font-size:10px;color:var(--muted);height:31px}.place-card .outline{margin-top:12px;width:100%;justify-content:center}.weather-banner{background:#263a2d;color:white;border-radius:15px;padding:28px 31px;display:flex;justify-content:space-between}.weather-banner small{font-size:8px;color:#9db2a2;letter-spacing:1px}.weather-banner h2{font-family:Georgia,serif;font-weight:400;display:flex;align-items:center;gap:10px;margin:10px 0}.weather-banner h2 svg{color:#8fc49b}.weather-banner p,.weather-banner>span{font-size:10px;color:#aabbad}.forecast-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin:19px 0}.forecast-grid article{background:white;border:1px solid var(--border);border-radius:10px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:7px}.forecast-grid svg{color:#d99a39;width:25px}.forecast-grid b{font-family:Georgia,serif;font-size:20px}.forecast-grid span{font-size:8px;color:var(--muted)}.forecast-grid em{font-style:normal;font-size:7px;border-radius:10px;padding:3px 6px}.forecast-grid em.low{background:#e8f0e9;color:#4a7054}.forecast-grid em.moderate{background:#f4e8d7;color:#946a2c}.insight-card{background:white;border:1px solid var(--border);border-radius:13px;padding:23px;display:flex;align-items:center;gap:17px}.insight-card>svg{width:38px;height:38px;color:#557986}.insight-card>div{flex:1}.insight-card small{font-size:8px;color:var(--accent);font-weight:700}.insight-card h2{font-family:Georgia,serif;font-weight:400;margin:5px 0}.insight-card p{font-size:10px;color:var(--muted);margin:0}.event-list{background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden}.event-list article{display:grid;grid-template-columns:65px 1fr 100px 35px;align-items:center;padding:18px;border-bottom:1px solid var(--border);gap:15px}.event-list article:last-child{border:0}.event-date{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--border)}.event-date b{font-family:Georgia,serif;font-size:25px}.event-date small{font-size:8px;text-transform:uppercase}.event-list article>div:nth-child(2)>span{font-size:8px;color:var(--accent);font-weight:700}.event-list h3{margin:4px 0;font-size:13px}.event-list p{margin:0;color:var(--muted);font-size:10px}.event-list em{font-style:normal;font-size:8px;padding:5px 9px;border-radius:15px;text-align:center}.event-list em.low{background:#e6efe8;color:#50715a}.event-list em.medium{background:#f3e9d9;color:#91682b}.event-list em.high{background:#f7e3e1;color:#a84844}.event-list button{width:29px;height:29px;border:1px solid var(--border);border-radius:7px}.event-list svg{width:13px}.booking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.booking-grid article{display:grid;grid-template-columns:42px 1fr auto;gap:12px;background:white;border:1px solid var(--border);border-radius:13px;padding:17px}.booking-icon{width:38px;height:38px;background:#e9eee9;color:#506d57;display:grid;place-items:center;border-radius:9px}.booking-icon svg{width:17px}.booking-title small{font-size:8px;color:var(--accent);font-weight:700}.booking-title h3{margin:3px 0;font-family:Georgia,serif;font-size:16px}.booking-title p{font-size:9px;color:var(--muted);margin:0}.booking-grid article>span{font-size:8px;padding:4px 8px;border-radius:12px;height:-moz-min-content;height:min-content}.booking-grid .paid{background:#e7efe8;color:#4f7359}.booking-grid .pending{background:#f5ead8;color:#926729}.code{grid-column:1/-1;background:var(--bg);border-radius:8px;padding:10px 12px;display:flex;align-items:center}.code small{font-size:7px;color:var(--muted);margin-right:auto}.code b{font-family:monospace;font-size:11px}.code button{margin-left:8px}.code svg{width:13px}.booking-grid .wide-button{grid-column:1/-1;border-radius:8px}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--border);border-radius:13px;margin-bottom:17px}.budget-summary div{display:flex;flex-direction:column;padding:22px;border-right:1px solid var(--border)}.budget-summary div:last-child{border:0}.budget-summary small{font-size:8px;color:var(--muted);letter-spacing:1px}.budget-summary b{font-family:Georgia,serif;font-size:27px;margin:7px 0}.budget-summary span{font-size:9px;color:var(--muted)}.budget-card{display:grid;grid-template-columns:340px 1fr;align-items:center;background:white;border:1px solid var(--border);border-radius:13px;padding:35px}.donut{width:210px;height:210px;border-radius:50%;display:grid;place-items:center;margin:auto}.donut:before{content:"";position:absolute;width:137px;height:137px;background:white;border-radius:50%}.donut span{position:relative;display:flex;flex-direction:column;align-items:center}.donut small{font-size:8px;color:var(--muted)}.donut b{font-family:Georgia,serif;font-size:19px}.expense-list>div{display:grid;grid-template-columns:9px 1fr 100px 40px;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--border)}.expense-list>div:last-child{border:0}.expense-list i{width:8px;height:8px;border-radius:50%}.expense-list span{display:flex;flex-direction:column}.expense-list b{font-size:11px}.expense-list small{color:var(--muted);font-size:8px;margin-top:2px}.expense-list em{font-style:normal;font-size:9px;color:var(--muted)}.progress{height:5px;background:#dddcd6;border-radius:5px;margin:-10px 0 24px;overflow:hidden}.progress span{display:block;background:var(--green);height:100%;border-radius:5px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.check-grid section{background:white;border:1px solid var(--border);border-radius:12px;padding:17px}.check-grid section>small{font-size:8px;color:var(--accent);font-weight:700;letter-spacing:1px}.check-grid label{display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding:12px 0 3px;margin-top:9px}.check-grid label>button{width:18px;height:18px;border:1px solid #c6c7c2;border-radius:5px;display:grid;place-items:center}.check-grid label>button svg{width:12px}.check-grid label.done .editable{text-decoration:line-through;color:#989b95}.check-grid label.done>button{background:var(--green);color:white}.reset{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px;margin:22px auto}.reset svg{width:13px}.modal{position:fixed;inset:0;background:#1e241f80;backdrop-filter:blur(3px);z-index:100;display:flex;justify-content:center;padding-top:13vh}.command-modal{width:min(540px,calc(100vw - 30px));height:-moz-max-content;height:max-content;background:#fff;border-radius:14px;box-shadow:0 24px 60px #13161355;overflow:hidden}.command-modal>div:first-child{display:flex;align-items:center;padding:17px;border-bottom:1px solid var(--border);gap:10px}.command-modal>div svg{width:18px;color:var(--muted)}.command-modal input{border:0;outline:0;flex:1}.command-modal>small{display:block;font-size:8px;color:var(--muted);letter-spacing:1px;padding:13px 17px 7px}.command-modal>button{display:flex;align-items:center;width:100%;padding:9px 17px;gap:11px;text-align:left}.command-modal>button:hover{background:var(--soft)}.command-modal>button>svg{width:18px;color:var(--accent)}.command-modal>button span{display:flex;flex:1;flex-direction:column}.command-modal>button b{font-size:11px}.command-modal>button small{font-size:8px;color:var(--muted);margin-top:2px}.command-modal footer{display:flex;gap:15px;background:var(--bg);border-top:1px solid var(--border);padding:10px 17px;font-size:8px;color:var(--muted)}.command-modal footer b{margin-left:auto}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243128;color:white;border-radius:9px;padding:10px 15px;z-index:120;display:flex;align-items:center;gap:8px;font-size:10px;box-shadow:0 8px 25px #1b211c44}.toast svg{width:14px}.bottom-nav,.hamb{display:none}@media(max-width:1100px){.sidebar{width:210px}main{margin-left:210px;width:calc(100% - 210px)}.content{padding:25px 22px}.command-button span{display:none}.hero{grid-template-columns:62% 38%}.place-grid{grid-template-columns:repeat(2,1fr)}.itinerary-layout{grid-template-columns:1fr}.day-panel{display:grid;grid-template-columns:repeat(3,1fr)}.forecast-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:760px){.app{display:block}.sidebar{transform:translateX(-100%);transition:.22s;width:260px}.sidebar.open{transform:none}.mobile-close{display:block}.scrim{position:fixed;inset:0;background:#1118;z-index:25}.hamb{display:grid}.topbar{height:56px;padding:0 13px}.command-button,.crumb small,.save,.top-actions>button:not(.primary):not(.command-button){display:none}.top-actions .primary{display:flex;font-size:0;width:34px;padding:0;justify-content:center}.top-actions .primary svg{width:17px}main{margin:0;width:100%}.content{padding:18px 13px 88px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:29px 24px}.hero-title{font-size:31px}.hero-art{height:170px}.health{grid-template-columns:1fr 1fr}.health>div:nth-child(2){border-right:0}.health>div{border-bottom:1px solid var(--border);padding:14px}.health>div:nth-child(n+3){border-bottom:0}.overview-grid{grid-template-columns:1fr}.page-title{align-items:flex-start}.page-title h1{font-size:25px}.page-title p{max-width:280px}.page-title>button{font-size:0;padding:9px}.day-ribbon{margin-left:-13px;margin-right:-13px;border-radius:0;border-left:0;border-right:0}.itinerary-layout{display:block}.timeline{padding:18px 13px}.daily-head{flex-direction:column}.big-weather{margin-top:15px}.timeline-item{grid-template-columns:53px 1fr}.item-card{margin-left:12px}.item-controls{opacity:1;flex-direction:column}.item-controls>svg{display:none}.add-activity{margin-left:65px;width:calc(100% - 65px)}.day-panel{display:flex;margin-top:13px}.booking-grid,.check-grid,.place-grid{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(3,1fr)}.insight-card{align-items:flex-start;flex-wrap:wrap}.insight-card>div{min-width:200px}.event-list article{grid-template-columns:50px 1fr 30px}.event-list article>em{grid-column:2}.budget-summary{grid-template-columns:1fr}.budget-summary div{border-right:0;border-bottom:1px solid var(--border)}.budget-card{grid-template-columns:1fr;padding:23px}.expense-list{margin-top:25px}.bottom-nav{display:flex;position:fixed;z-index:24;bottom:0;left:0;right:0;height:63px;background:#fff;border-top:1px solid var(--border);justify-content:space-around;padding:7px 5px 4px}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:8px;color:var(--muted);width:58px}.bottom-nav button svg{width:18px}.bottom-nav button.active{color:var(--accent)}.bottom-nav .mobile-add{position:absolute;left:50%;transform:translateX(-50%);top:-19px;background:var(--accent);color:white;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;border:4px solid var(--bg)}.bottom-nav button:nth-child(2){margin-right:40px}.bottom-nav button:nth-child(3){margin-left:40px}}