/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--ink:#183832;--forest:#1c4a3f;--sage:#7c9c8a;--cream:#f5f1e8;--paper:#fbfaf6;--orange:#e76f45;--yellow:#e8b654;--line:#d9ddd3;--muted:#68756f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-shell{min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf6f0;justify-content:space-between;align-items:center;height:76px;padding:0 max(28px,50vw - 700px);display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;font-family:Georgia,serif;font-size:21px;line-height:1;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--ink);width:42px;height:42px;font:700 14px/1 var(--font-geist-sans);letter-spacing:1px;border-radius:50%;place-items:center;display:grid}.brand small{font:600 8px/1 var(--font-geist-sans);letter-spacing:2px;color:var(--sage);margin-top:6px;display:block}.nav-actions{align-items:center;gap:6px;display:flex}.nav-actions button,.drawer footer button{border:0;border-radius:999px;padding:10px 15px;font-size:12px;font-weight:650}.ghost{color:var(--ink);background:0 0}.ghost:hover{background:#eaece5}.primary{background:var(--orange);color:#fff;border:0}.primary:hover{background:#d9613b}.divider{background:var(--line);width:1px;height:22px;margin:0 5px}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;max-width:1400px;margin:0 auto;padding:72px 28px 54px;display:grid}.eyebrow{letter-spacing:2.4px;color:var(--sage);align-items:center;gap:9px;margin:0 0 20px;font-size:10px;font-weight:750;display:flex}.eyebrow span{background:var(--orange);width:25px;height:2px}.hero h1{letter-spacing:-2px;margin:0;font:400 clamp(46px,5vw,75px)/1.07 Georgia,Songti SC,serif}.hero h1 em{color:var(--orange);font-weight:400}.intro{max-width:600px;color:var(--muted);margin:24px 0 31px;font-size:15px;line-height:1.8}.hero-facts{align-items:center;gap:18px;display:flex}.hero-facts div{flex-direction:column;gap:4px;display:flex}.hero-facts strong{font:500 21px Georgia,serif}.hero-facts span{color:var(--muted);letter-spacing:.5px;font-size:10px}.hero-facts i{color:#b9beb5;font-style:normal}.route-card{background:var(--forest);color:#fff;border-radius:2px 56px 2px 2px;min-height:390px;padding:25px 30px 22px;transform:rotate(1deg);box-shadow:0 22px 60px #1c4a3f33}.route-summary{cursor:pointer;align-items:center;gap:12px;list-style:none;display:flex}.route-summary::-webkit-details-marker{display:none}.route-summary .route-head{flex:1}.route-summary strong,.route-summary>i{display:none}.route-head{letter-spacing:2px;opacity:.6;justify-content:space-between;font-size:9px;display:flex}.route-map{grid-template-columns:45% 1fr;align-items:center;gap:22px;min-height:306px;margin:10px 0 6px;display:grid;position:relative}.gb-map{background:#8fa99a;border:1px solid #d1e2d847;border-radius:3px;justify-self:center;width:100%;max-width:196px;height:300px;position:relative;overflow:hidden}.gb-map>img{object-fit:fill;opacity:.72;filter:grayscale()sepia(.72)hue-rotate(82deg)saturate(.5)brightness(.82)contrast(1.08);mix-blend-mode:multiply;width:100%;height:100%;display:block}.route-leg{transform-origin:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#f4c05beb,#f4c05b6b);height:1.5px;position:absolute}.route-pin{z-index:2;background:var(--yellow);width:22px;height:22px;color:var(--forest);font:800 10px/1 var(--font-geist-sans);border:1px solid #fffffff2;border-radius:50%;place-items:center;display:grid;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0c312959}.route-visit{z-index:3;display:block;position:absolute;transform:translate(-50%,-50%)}.route-visit i,.route-visit-legend i{box-sizing:border-box;background:var(--forest);color:#fff;width:16px;height:16px;font:800 8px/1 var(--font-geist-sans);border:2px solid #e6f0e8;border-radius:50%;place-items:center;font-style:normal;display:inline-grid;box-shadow:0 0 0 2px #8fb5a559}.route-legend{grid-template-columns:1fr 1fr;align-content:center;gap:10px 14px;margin:0;padding:0;list-style:none;display:grid}.route-legend li{align-items:center;gap:8px;min-width:0;display:flex}.route-legend b{background:var(--yellow);width:17px;height:17px;color:var(--forest);border-radius:50%;flex:0 0 17px;place-items:center;font-size:8px;display:grid}.route-legend span{white-space:nowrap;text-overflow:ellipsis;min-width:0;font:400 14px Georgia,serif;overflow:hidden}.route-legend small{opacity:.58;font:500 9px var(--font-geist-sans);margin-top:3px;display:block}.route-visit-legend{color:#e9f0eb;opacity:.9;flex-wrap:wrap;grid-column:2;align-items:center;gap:8px 11px;margin-top:-3px;font-size:10px;display:flex}.route-visit-legend span{white-space:nowrap;align-items:center;gap:5px;display:flex}.route-visit-legend small{opacity:.65;font-size:9px}.route-card>p{letter-spacing:1px;opacity:.65;border-top:1px solid #ffffff1f;margin:0;padding-top:15px;font-size:9px}.quick-grid{grid-template-columns:minmax(0,1fr) .34fr;align-items:start;gap:13px;max-width:1400px;margin:0 auto 58px;padding:0 28px;display:grid}.flight-info{background:#fff;border:1px solid #e4e5df;height:88px}.flight-info summary{cursor:pointer;justify-content:space-between;align-items:center;height:100%;padding:11px 20px;list-style:none;display:flex}.flight-info summary::-webkit-details-marker{display:none}.flight-info summary>span{align-items:center;gap:11px;display:flex}.flight-info summary b{width:32px;height:32px;color:var(--forest);background:#dfeae4;border-radius:50%;place-items:center;font-size:14px;display:grid}.flight-info summary strong{font:400 20px Georgia,Songti SC,serif}.flight-info summary small{color:var(--muted);font-size:12px}.flight-info summary>i{color:var(--orange);margin-right:12px;font-size:11px;font-style:normal;font-weight:800}.flight-info[open]{height:auto}.flight-info[open] summary{border-bottom:1px solid var(--line);height:auto}.flight-info[open] summary>i{font-size:0}.flight-info[open] summary>i:after{content:"收起";font-size:11px}.flight-grid{grid-template-columns:1fr 1fr;display:grid}.flight-grid .flight-card{border:0;border-right:1px solid #e4e5df}.flight-grid .flight-card:last-child{border-right:0}.quick-grid>.progress-card{grid-template-rows:1fr 5px;grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;height:88px;min-height:88px;padding:13px 18px;display:grid}.quick-grid>.progress-card .card-kicker{grid-area:1/1}.quick-grid>.progress-card strong{text-align:left;grid-area:1/2;margin:0;font-size:28px;line-height:1;display:block}.quick-grid>.progress-card strong small{font-size:13px}.quick-grid>.progress-card>span:last-child{text-align:right;white-space:nowrap;grid-area:1/3;font-size:10px}.quick-grid>.progress-card .progress{grid-area:2/1/auto/-1;margin:0}.travel-tools{gap:12px;max-width:1400px;margin:-48px auto 65px;padding:0 28px;display:grid}.travel-tool{border:1px solid var(--line);background:#fff}.travel-tool summary{cursor:pointer;justify-content:space-between;align-items:center;padding:18px 21px;list-style:none;display:flex}.travel-tool summary::-webkit-details-marker{display:none}.travel-tool summary>span{align-items:center;gap:11px;display:flex}.travel-tool summary b{width:29px;height:29px;color:var(--forest);background:#deebe3;border-radius:50%;place-items:center;font-size:15px;display:grid}.travel-tool summary strong{font:400 20px Georgia,Songti SC,serif}.travel-tool summary small{color:var(--muted);font-size:11px}.travel-tool summary>i{color:var(--orange);font-size:11px;font-style:normal;font-weight:750}.travel-tool[open] summary{border-bottom:1px solid var(--line)}.travel-tool[open] summary>i{font-size:0}.travel-tool[open] summary>i:after{content:"收起";font-size:11px}.weather-body,.route-guide-body{background:#f8faf6;padding:18px 21px 21px}.weather-body>p,.route-guide-intro{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.55}.weather-body>p em{color:var(--sage);font-style:normal}.weather-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.weather-grid article{background:#fff;border:1px solid #e1e6df;gap:5px;padding:12px;display:grid}.weather-grid time{font:700 10px var(--font-geist-mono);color:var(--orange)}.weather-grid strong{font-size:13px}.weather-grid span{color:#41574f;font-size:12px}.weather-grid small{color:var(--muted);font-size:10px}.route-guide-list{border-top:1px solid #dfe4dd;gap:0;display:grid}.route-guide-list article{border-bottom:1px solid #dfe4dd;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.route-guide-list time{font:700 11px var(--font-geist-mono);color:var(--orange)}.route-guide-list h3{margin:0;font:400 16px Georgia,Songti SC,serif}.route-guide-list p{color:var(--muted);flex-wrap:wrap;gap:12px;margin:5px 0 0;font-size:11px;line-height:1.45;display:flex}.route-guide-list p b{color:var(--forest)}.route-guide-list a{color:var(--forest);white-space:nowrap;border:1px solid #9eb5a6;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;text-decoration:none}.route-guide-list a:hover{background:var(--forest);color:#fff}.route-guide-body aside{border-left:4px solid var(--orange);background:#fff3ec;gap:5px;margin-top:16px;padding:12px 14px;display:grid}.route-guide-body aside strong{color:#a34b2f;font-size:12px}.route-guide-body aside span{color:#6c554d;font-size:12px;line-height:1.6}.flight-card,.progress-card{background:#fff;border:1px solid #e4e5df;min-height:142px;padding:20px 23px}.card-kicker{color:var(--sage);letter-spacing:1.6px;font-size:8px;font-weight:750}.flight-card>div{justify-content:space-between;align-items:center;margin:18px 0;display:flex}.flight-card b{font:500 26px Georgia,serif}.flight-card i{text-align:center;color:var(--muted);border-bottom:1px dashed #bcc5bd;flex:1;margin:0 17px;padding-bottom:6px;font-size:7px;font-style:normal;position:relative}.flight-card i:after{content:"✈";color:var(--orange);background:#fff;font-size:11px;position:absolute;bottom:-7px;right:-2px}.flight-card footer{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.progress-card strong{margin:12px 0 9px;font:500 36px Georgia,serif;display:block}.progress-card strong small{color:var(--muted);font-size:16px}.progress-card>span:last-child{color:var(--muted);font-size:9px}.progress{background:#e8e9e4;height:5px;margin-bottom:11px}.progress i{background:var(--orange);height:100%;display:block}.main-layout{grid-template-columns:minmax(0,1fr) 355px;align-items:start;gap:44px;max-width:1400px;margin:0 auto;padding:0 28px 80px;display:grid}.section-head{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.section-head .eyebrow{margin-bottom:9px}.section-head h2{margin:0;font:400 38px Georgia,Songti SC,serif}.view-switch{background:#e9eae4;border-radius:999px;padding:3px;display:flex}.view-switch button{color:var(--muted);background:0 0;border:0;border-radius:99px;padding:8px 14px;font-size:10px}.view-switch .active{color:var(--ink);background:#fff;box-shadow:0 2px 6px #0000000d}.timeline{border-top:1px solid var(--ink)}.day-row{border-bottom:1px solid var(--line);cursor:pointer;outline:none;grid-template-columns:70px 38px 1fr 68px;min-height:176px;transition:background .2s;display:grid;position:relative}.day-row:hover,.day-row:focus{background:#f0f0e9}.date-block{text-align:center;padding-top:25px}.date-block span{letter-spacing:1.4px;color:var(--sage);font-size:8px;display:block}.date-block strong{margin:3px 0;font:400 34px Georgia,serif;display:block}.date-block small{color:var(--muted);font-size:10px}.line-dot{position:relative}.line-dot:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%}.line-dot i{background:var(--sage);border:3px solid var(--paper);width:10px;height:10px;box-shadow:0 0 0 1px var(--sage);z-index:1;border-radius:50%;position:absolute;top:41px;left:50%;transform:translate(-50%)}.day-row.fixed .line-dot i{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.day-content{padding:22px 15px 19px 5px}.day-top{justify-content:space-between;align-items:center;display:flex}.day-top>div{align-items:center;gap:10px;display:flex}.day-top h3{margin:0;font:400 22px Georgia,serif}.status{color:#597067;background:#e1eae4;border-radius:20px;padding:4px 7px;font-size:8px}.status.fixed{color:#b94d2b;background:#fae3d9}.status.semi-fixed{color:#956711;background:#f6ebd0}.overnight{color:var(--sage);font-size:9px}.day-content>p{color:#475c55;margin:10px 0 11px;font-size:13px;line-height:1.55}.item-list{flex-wrap:wrap;gap:6px 15px;display:flex}.item-list span{color:var(--muted);font-size:10px}.item-list time{font:600 9px var(--font-geist-mono);color:var(--ink);margin-right:5px}.item-list b{color:var(--orange);margin-right:4px;font-size:7px}.day-foot{color:var(--sage);justify-content:space-between;margin-top:13px;font-size:8px;display:flex}.day-foot em{color:#89938e;margin-left:6px;font-style:normal}.edit-button{color:var(--orange);opacity:0;background:0 0;border:0;align-self:center;font-size:9px;font-weight:700}.day-row:hover .edit-button,.day-row:focus .edit-button{opacity:1}.bases-view{border-top:1px solid var(--ink);padding-top:20px}.base-track{gap:10px;display:grid}.base-track article{border:1px solid var(--line);background:#fff;align-items:center;gap:18px;min-height:85px;padding:17px 20px;display:flex;position:relative}.base-track article>span{color:var(--sage);font:400 11px Georgia,serif}.base-track h3{margin:0 0 5px;font:400 20px Georgia,serif}.base-track p{color:var(--muted);margin:0;font-size:9px}.base-track strong{color:var(--orange);margin-left:auto;font:400 31px Georgia,serif}.base-track strong small{font:500 9px var(--font-geist-sans);color:var(--muted);margin-left:4px}.base-track em{color:#a55a37;font-size:7px;font-style:normal;position:absolute;top:9px;right:20px}.base-track .warn{border-color:#e4b26b}.warning{color:#8a5e17;background:#fff2da;padding:13px;font-size:10px}.side-column{gap:18px;padding-top:54px;display:grid;position:static}.panel{background:#fff;border:1px solid #e2e4dd}.panel-head{border-bottom:1px solid #e2e4dd;justify-content:space-between;align-items:center;padding:20px;display:flex}.panel-head>div{align-items:center;gap:10px;display:flex}.panel-head h3{margin:0;font:400 17px Georgia,Songti SC,serif}.panel-head h3 small{font:600 7px var(--font-geist-sans);letter-spacing:1.6px;color:var(--sage);margin-top:4px;display:block}.panel-head>b{background:var(--cream);border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.panel-icon{width:29px;height:29px;color:var(--orange);background:#f9e0d7;border-radius:50%;place-items:center;font-size:8px;display:grid}.panel-icon.check{color:var(--forest);background:#dfeae4;font-size:13px}.locked-list{max-height:362px;overflow:auto}.locked-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #ecece7;grid-template-columns:55px 1fr 12px;align-items:center;gap:10px;width:100%;padding:12px 17px;display:grid}.locked-list button:hover{background:#f6f5f0}.locked-list time{font:600 11px var(--font-geist-mono);color:var(--orange)}.locked-list time small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.locked-list span{font-size:10px;line-height:1.45}.locked-list i{color:#a4aaa6;font-style:normal}.todo-list>div{border-bottom:1px solid #ecece7;grid-template-columns:20px 1fr 22px;align-items:start;gap:9px;padding:12px 16px;display:grid}.check-btn{color:#fff;background:#fff;border:1px solid #bfc5bf;border-radius:50%;width:18px;height:18px;padding:0;font-size:9px}.todo-list>div.done .check-btn{background:var(--forest)}.todo-list>div>span{font-size:10px;line-height:1.4}.todo-list>div.done>span{color:#909994;text-decoration:line-through}.todo-list small{gap:5px;margin-top:6px;display:flex}.todo-list select{color:var(--muted);background:#f1f2ed;border:0;padding:3px;font-size:7px}.todo-list em{border-radius:50%;place-items:center;width:20px;height:20px;font-size:7px;font-style:normal;display:grid}.todo-list em.high{color:#a4482a;background:#fae0d6}.todo-list em.medium{color:#8f681b;background:#faedcd}.todo-list em.low{color:#587065;background:#e4ebe7}.stay-line{background:#fff;border:1px solid;grid-template-columns:108px 1fr;align-items:center;gap:12px;margin:12px 0 13px;padding:10px 12px;display:grid}.stay-line>span{text-align:center;border-radius:2px;align-self:stretch;place-items:center;padding:6px 8px;font-size:11px;font-weight:800;display:grid}.stay-line>div{align-items:baseline;gap:8px;min-width:0;display:flex}.stay-line small{color:var(--muted);white-space:nowrap;font-size:11px}.stay-line strong{font-size:13px;line-height:1.4}.stay-line em{color:var(--muted);font-size:11px;font-style:normal}.stay-line.confirmed{background:#f1f7f3;border-color:#8eaf9c}.stay-line.confirmed>span{background:var(--forest);color:#fff}.stay-line.shortlist{background:#fffaf0;border-color:#ddbe73}.stay-line.shortlist>span{color:#59420e;background:#e9bd58}.stay-line.unconfirmed{background:#fff5f0;border-color:#df9a7f}.stay-line.unconfirmed>span{background:var(--orange);color:#fff}.daily-stays{border-top:1px solid var(--ink);margin-top:26px}.daily-stays>h3{margin:0;padding:18px 2px 12px;font:400 22px Georgia,Songti SC,serif}.daily-stays>button{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;grid-template-columns:64px minmax(0,1fr) 112px 48px;align-items:center;gap:12px;width:100%;padding:13px 8px;display:grid}.daily-stays>button:hover{background:#f0f2ec}.daily-stays time{font:700 12px var(--font-geist-mono);color:var(--orange)}.daily-stays>button div{gap:4px;display:grid}.daily-stays strong{font-size:14px}.daily-stays span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.daily-stays em{text-align:center;border-radius:999px;padding:6px;font-size:10px;font-style:normal;font-weight:800}.daily-stays em.confirmed{color:var(--forest);background:#dbe9e1}.daily-stays em.shortlist{color:#815f17;background:#faedc8}.daily-stays em.unconfirmed{color:#a4482a;background:#fae0d6}.daily-stays i{color:var(--orange);font-size:11px;font-style:normal}.todo-list>div{grid-template-columns:20px 1fr 22px 20px}.todo-delete{color:#9daaa4;background:0 0;border:0;padding:0;font-size:18px;line-height:18px}.todo-delete:hover{color:#a4482a}.todo-add{background:#f5f6f1;gap:10px;padding:15px 16px 17px;display:grid}.todo-add label{gap:7px;font-size:12px;font-weight:750;display:grid}.todo-add input{background:#fff;border:1px solid #ccd3cc;width:100%;padding:10px 11px;font-size:13px}.todo-add>div{grid-template-columns:1fr auto;gap:8px;display:grid}.todo-add select{background:#fff;border:1px solid #ccd3cc;padding:9px;font-size:12px}.todo-add button{background:var(--forest);color:#fff;border:0;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}.page-footer{border-top:1px solid var(--line);max-width:1344px;color:var(--sage);letter-spacing:1.4px;justify-content:space-between;margin:0 auto;padding:30px 0 45px;font-size:8px;display:flex}.page-footer p{letter-spacing:0;margin:0}.share-button{background:var(--forest);color:#fff;border-radius:999px;border:1px solid var(--forest)!important;padding:10px 16px!important;font-size:12px!important;font-weight:750!important}.share-button:hover{background:#123c33}.save-shared-button{color:var(--orange);background:#fff;border:1px solid var(--orange)!important;font-weight:800!important}.save-shared-button:hover{background:#fff2ec}.history-button{color:var(--forest);background:#e8eee9;border:0;font-weight:750}.history-button:hover{background:#dbe7df}.mobile-actions,.mobile-share{display:none}.booked.day-row{border:1px solid #9fb6aa;border-left:6px solid var(--orange);background:#eef3ef;min-height:198px;margin:10px 0;box-shadow:0 7px 20px #1c4a3f12}.booked.day-row:hover,.booked.day-row:focus{background:#e6eee9}.booked .day-content{padding-top:17px}.booked-strip{align-items:center;gap:10px;margin-bottom:10px;display:flex}.booked-strip span{background:var(--orange);color:#fff;letter-spacing:.3px;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.booked-strip strong{color:var(--forest);letter-spacing:.2px;font-size:12px}.booked .day-top h3{font-size:25px;font-weight:600}.booked .item-list span{color:#324f47;font-weight:550}.locked-notice{background:var(--forest);color:#fff;border-radius:4px;gap:13px;padding:16px;display:flex}.locked-notice>span{color:var(--yellow);font-size:15px}.locked-notice strong{font-size:15px}.locked-notice p{opacity:.8;margin:5px 0 0;font-size:12px;line-height:1.55}.drawer :disabled{cursor:not-allowed;opacity:.7;background:#eef0eb}.drawer .items-head button:disabled{display:none}.drawer>footer .footer-spacer{flex:1}.lock-day,.unlock-day{border-radius:999px;border:1px solid var(--forest)!important;padding:10px 15px!important;font-size:12px!important;font-weight:750!important}.lock-day{color:#fff;background:var(--forest)!important}.unlock-day{color:#a3482e!important;background:#fff!important;border-color:#d58b71!important}.eyebrow{font-size:12px}.brand small{font-size:10px}.intro{font-size:17px}.hero-facts span{font-size:12px}.route-head,.card-kicker{font-size:11px}.route-stop span{font-size:16px}.route-stop small,.route-card>p{font-size:11px}.flight-card i{font-size:10px}.flight-card footer,.progress-card>span:last-child,.view-switch button{font-size:12px}.date-block span{font-size:10px}.date-block small{font-size:12px}.status{font-size:11px}.overnight{font-size:12px}.day-content>p{font-size:15px}.item-list span{font-size:13px;line-height:1.55}.item-list time{font-size:12px}.day-foot{font-size:11px;line-height:1.5}.edit-button{font-size:12px}.panel-head h3 small{font-size:9px}.locked-list time{font-size:12px}.locked-list time small{font-size:10px}.locked-list span,.todo-list>div>span{font-size:12px}.todo-list select{font-size:10px}.drawer label{font-size:12px}.drawer input,.drawer textarea,.drawer select{font-size:14px}.items-head button{font-size:11px}.edit-items button{font-size:12px}.page-footer{font-size:10px}.drawer-wrap{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f26216b;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--paper);flex-direction:column;width:min(620px,96vw);height:100%;animation:.25s ease-out slide;display:flex;box-shadow:-20px 0 60px #0c30283d}@keyframes slide{0%{transform:translate(100%)}to{transform:none}}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.drawer>header p{color:var(--orange);letter-spacing:1px;margin:0 0 5px;font-size:9px}.drawer>header h2{margin:0;font:400 28px Georgia,Songti SC,serif}.drawer>header button{color:var(--muted);background:0 0;border:0;font-size:30px}.drawer-body{flex:1;align-content:start;gap:17px;padding:25px 28px;display:grid;overflow:auto}.drawer label{color:var(--muted);letter-spacing:.5px;gap:7px;font-size:9px;font-weight:700;display:grid}.drawer input,.drawer textarea,.drawer select{color:var(--ink);background:#fff;border:1px solid #d4d9d2;border-radius:2px;outline:none;padding:10px 11px;font-size:12px}.drawer input:focus,.drawer textarea:focus,.drawer select:focus{border-color:var(--sage);box-shadow:0 0 0 2px #7c9c8a21}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.items-head{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:18px;display:flex}.items-head h3{margin:0;font:400 17px Georgia,Songti SC,serif}.items-head button{background:var(--forest);color:#fff;border:0;border-radius:99px;padding:7px 11px;font-size:9px}.edit-items{gap:7px;display:grid}.edit-items>div{grid-template-columns:68px 1fr 27px 27px 27px 27px;gap:5px;display:grid}.edit-items input{min-width:0;padding:8px}.edit-items button{color:var(--muted);background:#e8eae5;border:0;font-size:10px}.edit-items .lock-toggle.active{color:var(--orange);background:#fae0d6}.edit-items .delete{color:#a74e35}.drawer>footer{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:7px;padding:16px 28px;display:flex}.toast{z-index:200;background:var(--ink);color:#fff;border-radius:99px;padding:11px 18px;font-size:11px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.stay-editor{background:#f1f6f2;border:1px solid #c5d3ca;gap:15px;padding:16px;display:grid}.stay-editor-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.stay-editor-head>div{align-items:center;gap:10px;display:flex}.stay-editor-head>div>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.stay-editor-head h3{margin:0;font:400 18px Georgia,Songti SC,serif}.stay-editor-head h3 small{font:500 10px var(--font-geist-sans);color:var(--muted);margin-top:4px;display:block}.stay-editor-head select{border-color:#95ad9e;font-weight:800}.candidate-head{border-top:1px solid #cedbd2;justify-content:space-between;align-items:center;padding-top:13px;display:flex}.candidate-head strong{font-size:12px}.candidate-head button{background:var(--forest);color:#fff;border:0;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:750}.candidate-list{gap:7px;display:grid}.candidate-list>div{grid-template-columns:1fr 34px;gap:6px;display:grid}.candidate-list input{min-width:0}.candidate-list button{color:#a4482a;background:#eaded8;border:0;font-size:18px}.candidate-list p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.save-dialog-wrap{z-index:250;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f26218c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.save-dialog{background:var(--paper);text-align:center;border-radius:4px;width:min(440px,100%);padding:30px;box-shadow:0 24px 70px #09261f55}.save-icon{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 14px;font-size:23px;display:grid}.save-dialog h2{margin:0;font:400 28px Georgia,Songti SC,serif}.save-dialog p{color:var(--muted);margin:12px 0 20px;font-size:13px;line-height:1.65}.save-dialog label{text-align:left;gap:8px;font-size:12px;font-weight:750;display:grid}.save-dialog input{background:#fff;border:1px solid #c7d0c8;width:100%;padding:12px;font-size:15px}.save-dialog-actions{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:20px;display:grid}.save-dialog button{border:0;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:750}.save-dialog button:disabled{opacity:.55;cursor:not-allowed}.history-link{color:var(--forest);background:#e4ece7}.history-dialog{background:var(--paper);flex-direction:column;width:min(620px,100%);max-height:min(720px,90vh);display:flex;box-shadow:0 24px 70px #09261f55}.history-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.history-dialog>header>div{align-items:center;gap:12px;display:flex}.history-dialog>header>div>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.history-dialog h2{margin:0;font:400 24px Georgia,Songti SC,serif}.history-dialog h2 small{font:500 11px var(--font-geist-sans);color:var(--muted);margin-top:4px;display:block}.history-dialog>header>button{color:var(--muted);background:0 0;border:0;font-size:27px}.history-list{padding:0 24px;overflow:auto}.history-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:15px;padding:16px 0;display:grid}.history-list article>div{gap:4px;display:grid}.history-list strong{font-size:14px}.history-list time,.history-list small{color:var(--muted);font-size:12px}.history-list button{color:var(--forest);background:#fff;border:1px solid #9cb4a5;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}.history-list button:disabled{opacity:.45;cursor:not-allowed}.history-empty{text-align:center;color:var(--muted);margin:0;padding:38px 24px;font-size:13px;line-height:1.6}.history-dialog>footer{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr auto;align-items:end;gap:12px;padding:16px 24px;display:grid}.history-dialog>footer label{gap:6px;font-size:11px;font-weight:750;display:grid}.history-dialog>footer input{border:1px solid #c7d0c8;padding:10px;font-size:14px}.history-dialog>footer button{border:0;border-radius:999px;padding:10px 15px;font-size:12px}@media (width<=1050px){.nav-actions .ghost:nth-of-type(-n+2),.divider{display:none}.hero{grid-template-columns:1fr;gap:38px}.route-card{transform:none}.quick-grid{grid-template-columns:1fr 1fr}.progress-card{grid-column:span 2}.weather-grid{grid-template-columns:repeat(3,1fr)}.main-layout{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr;padding-top:0;position:static}.page-footer{margin:0 28px}}@media (width<=700px){.topbar{height:auto;min-height:70px;padding:12px 16px}.brand small{display:none}.brand{font-size:18px}.brand-mark{width:38px;height:38px}.nav-actions{gap:3px}.nav-actions .ghost,.nav-actions .primary,.nav-actions .share-button{display:none}.hero{padding:42px 18px 35px}.hero h1{letter-spacing:-1px;font-size:42px}.intro{font-size:16px;line-height:1.7}.hero-facts{flex-wrap:wrap;gap:12px}.hero-facts span{font-size:11px}.route-card{min-height:0;padding:20px;overflow:hidden}.route-map{grid-template-columns:1fr;gap:14px;min-height:0}.gb-map{max-width:175px;height:268px}.route-legend{grid-template-columns:1fr 1fr;gap:8px 12px}.route-legend span{font-size:13px}.route-legend small{font-size:9px}.quick-grid{grid-template-columns:1fr;margin-bottom:55px;padding:0 18px}.progress-card{grid-column:auto}.travel-tools{margin:-30px auto 46px;padding:0 18px}.travel-tool summary{padding:15px}.travel-tool summary small{display:none}.weather-body,.route-guide-body{padding:15px}.weather-grid{grid-template-columns:1fr 1fr}.route-guide-list article{grid-template-columns:42px 1fr;gap:8px}.route-guide-list a{grid-column:2;width:max-content}.route-guide-list h3{font-size:15px}.main-layout{padding:0 18px 55px}.section-head h2{font-size:32px}.day-row{grid-template-columns:56px 23px 1fr;min-height:205px}.booked.day-row{grid-template-columns:52px 20px 1fr;min-height:235px;margin:12px 0}.booked-strip{flex-direction:column;align-items:flex-start;gap:5px}.booked-strip span{font-size:11px}.booked-strip strong{font-size:12px}.edit-button{display:none}.date-block strong{font-size:30px}.date-block small{font-size:11px}.day-content{padding-right:4px}.day-top{align-items:start}.day-top>div{flex-direction:column;align-items:start;gap:5px}.day-top h3,.booked .day-top h3{font-size:21px}.status,.overnight{font-size:11px}.day-content>p{font-size:15px;line-height:1.65}.stay-line{grid-template-columns:1fr;gap:8px;padding:10px}.stay-line>span{text-align:left;display:block}.stay-line>div{gap:3px;display:grid}.stay-line strong{font-size:13px}.item-list{display:grid}.item-list span{font-size:13px}.day-foot{gap:7px;font-size:11px;display:grid}.day-foot div{display:none}.daily-stays>button{grid-template-columns:55px 1fr;gap:7px 10px;padding:13px 4px}.daily-stays em{text-align:left;grid-column:2;width:max-content}.daily-stays i{display:none}.side-column{grid-template-columns:1fr}.locked-list span,.todo-list>div>span{font-size:13px}.form-grid{grid-template-columns:1fr}.stay-editor-head{flex-direction:column;align-items:stretch}.stay-editor-head select{width:100%}.todo-add>div{grid-template-columns:1fr}.edit-items>div{grid-template-columns:58px 1fr 27px 27px 27px}.edit-items .delete{grid-column:5}.edit-items button:nth-of-type(3){display:none}.drawer>footer{flex-wrap:wrap;gap:4px;padding:13px}.drawer>footer button{padding:9px 11px!important;font-size:11px!important}.footer-spacer{display:none}.page-footer{margin:0 18px}.page-footer p{display:none}.mobile-share{z-index:80;background:var(--orange);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:15px;font-size:15px;font-weight:800;display:flex;position:fixed;bottom:14px;left:18px;right:18px;box-shadow:0 10px 30px #6f311b4d}.mobile-share span{font-size:20px}.route-visit-legend{grid-column:1;margin-top:0}body{padding-bottom:86px}.nav-actions .save-shared-button,.nav-actions .history-button{display:none}.mobile-actions{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfaf6f2;border-radius:999px;grid-template-columns:auto 1fr auto;gap:6px;padding:5px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 10px 30px #18383240}.mobile-actions .mobile-history,.mobile-actions .mobile-save,.mobile-actions .mobile-share{box-shadow:none;border:0;border-radius:999px;justify-content:center;align-items:center;padding:13px 12px;font-size:13px;font-weight:800;display:flex;position:static}.mobile-actions .mobile-history{color:var(--forest);background:#e4ece7}.mobile-actions .mobile-save{background:var(--orange);color:#fff}.mobile-actions .mobile-share{background:var(--forest);color:#fff;min-width:70px}.save-dialog{padding:24px 20px}.save-dialog h2{font-size:25px}.save-dialog-actions{grid-template-columns:1fr 1fr}.save-dialog-actions>span{display:none}.history-link{grid-column:1/-1}.history-dialog{max-height:88vh}.history-dialog>header{padding:18px}.history-list{padding:0 18px}.history-list article{grid-template-columns:1fr;gap:10px}.history-list button{width:max-content}.history-dialog>footer{grid-template-columns:1fr;padding:14px 18px}.history-dialog>footer button{justify-self:end}}@page{size:A4 landscape;margin:9mm}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.no-print,.route-card,.side-column,.quick-grid{display:none!important}.hero{padding:0 0 12px;display:block}.hero h1{font-size:30px}.hero h1 br{display:none}.intro{margin:6px 0;font-size:9px}.hero-facts{font-size:8px}.main-layout{padding:0;display:block}.section-head{margin-bottom:8px}.section-head h2{font-size:22px}.timeline{border-top:1px solid #333;grid-template-columns:1fr 1fr;display:grid}.day-row{break-inside:avoid;grid-template-columns:42px 15px 1fr;min-height:0}.date-block{padding-top:8px}.date-block strong{font-size:18px}.date-block span,.date-block small{font-size:6px}.line-dot i{top:16px}.day-content{padding:7px 4px}.day-top h3{font-size:12px}.status{padding:2px 4px;font-size:5px}.overnight{font-size:6px}.day-content>p{margin:3px 0;font-size:7px}.item-list span{font-size:6px}.item-list{gap:2px 6px}.day-foot{margin-top:4px;font-size:5px}.page-footer{margin:0;padding:8px 0}.drawer-wrap,.toast{display:none!important}}.weather-grid article{position:relative}.weather-grid article>em{border-radius:999px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800;line-height:1;position:absolute;top:8px;right:8px}.weather-grid article.ai>em{color:#8d6318;background:#f9e8cc}.weather-grid article.ai{background:#fffdf8}.weather-grid{grid-template-columns:repeat(4,1fr)}.weather-grid article{min-height:132px}.weather-grid article small{line-height:1.42}.weather-grid .weather-source{color:var(--sage);margin-top:auto;font-weight:700}@media (width<=1050px){.weather-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.weather-grid{grid-template-columns:1fr 1fr}.flight-info,.quick-grid>.progress-card{height:88px}.flight-info summary{padding:12px 14px}.flight-info summary small{display:none}.quick-grid>.progress-card>span:last-child{font-size:9px}.route-card{border-radius:2px 32px 2px 2px;min-height:0;padding:0;transform:none}.route-card:not([open]){box-shadow:0 8px 22px #1c4a3f24}.route-summary{min-height:68px;padding:0 18px}.route-summary .route-head{display:none}.route-summary strong{flex:1;font:400 21px Georgia,Songti SC,serif;display:block}.route-summary>i{color:var(--yellow);font-size:12px;font-style:normal;font-weight:800;display:block}.route-card[open] .route-summary{border-bottom:1px solid #ffffff24}.route-card .route-map{margin:18px 0 6px;padding:0 20px}.route-card>p{margin:0 20px;padding:14px 0 18px}.mobile-actions{transition:transform .24s;grid-template-columns:auto minmax(0,1fr) auto 38px!important}.mobile-actions.collapsed{transform:translate(calc(56px - 100%))}.mobile-actions .mobile-collapse{color:var(--forest);background:#dfeae4;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:500;display:flex}.mobile-actions.collapsed .mobile-history,.mobile-actions.collapsed .mobile-save,.mobile-actions.collapsed .mobile-share{pointer-events:none}.mobile-actions.collapsed .mobile-collapse{pointer-events:auto}}.quick-grid{grid-template-columns:1fr}.flight-info{height:76px}.flight-info summary{padding:10px 18px}.flight-info summary b{width:30px;height:30px;font-size:13px}.flight-info summary strong{font-size:19px}.route-pin{width:20px;height:20px;font-size:8px}.map-provider-switch{background:#e1e8e2;border-radius:999px;gap:3px;margin:0 0 13px;padding:3px;display:inline-flex}.map-provider-switch button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800}.map-provider-switch button.active{background:var(--forest);color:#fff;box-shadow:0 1px 4px #173f3630}@media (width<=700px){.quick-grid{margin-bottom:12px}.travel-tools{margin:0 auto 46px}.travel-tool summary{min-height:76px;padding:15px}.route-visit i,.route-visit-legend i{width:14px;height:14px;font-size:6px;line-height:1;overflow:hidden}.route-visit-legend i{flex:0 0 14px}.flight-info[open]{overflow:hidden}.flight-info[open] .flight-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.flight-info[open] .flight-grid::-webkit-scrollbar{display:none}.flight-info[open] .flight-card{scroll-snap-align:start;border-right:1px solid #e4e5df;flex:0 0 100%;min-width:100%;padding:18px}.flight-info[open] .flight-card:last-child{border-right:0}}.route-visit>i{place-items:center!important;width:14px!important;height:14px!important;font-size:0!important;line-height:1!important;display:grid!important;overflow:hidden!important}.route-visit>i:after{content:attr(data-code);font:800 6px/1 var(--font-geist-sans);color:#fff;display:block;transform:translateY(0)}.stay-line.confirmed{grid-template-columns:1fr;padding:9px 12px}.stay-line.confirmed>div{gap:8px}.reservation-list{gap:6px;margin:12px 0;display:grid}.reservation-list>div{border-left:3px solid var(--orange);background:#fff3ec;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}.reservation-list span{color:#a84b2d;white-space:nowrap;font-size:10px;font-weight:850}.reservation-list time{font:700 10px var(--font-geist-mono);color:var(--forest);white-space:nowrap}.reservation-list strong{font-size:12px;line-height:1.4}@media (width<=700px){.reservation-list>div{grid-template-columns:auto 1fr;gap:5px 8px}.reservation-list strong{grid-column:1/-1;font-size:13px}.reservation-list span,.reservation-list time{font-size:10px}}.panel-icon.bag{color:#8d6318;background:#f6ebcf;font-size:13px}.packing-local-note{color:var(--muted);background:#f4f6f1;border-bottom:1px solid #e3e7e1;margin:0;padding:12px 16px;font-size:11px;line-height:1.55}.packing-list>div{border-bottom:1px solid #ecece7;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:10px 16px;display:grid}.packing-list>div>div{gap:3px;min-width:0;display:grid}.packing-list small{letter-spacing:.4px;color:var(--sage);font-size:9px;font-weight:800}.packing-list input{width:100%;min-width:0;color:var(--ink);background:0 0;border:1px solid #0000;outline:none;margin-left:-3px;padding:2px 3px;font-size:12px;line-height:1.4}.packing-list input:focus{background:#fff;border-color:#b6c9bc}.packing-list>div.done .check-btn{background:var(--forest)}.packing-list>div.done input{color:#909994;text-decoration:line-through}.packing-add{background:#f5f6f1;gap:10px;padding:15px 16px 17px;display:grid}.packing-add label{gap:7px;font-size:12px;font-weight:750;display:grid}.packing-add input{background:#fff;border:1px solid #ccd3cc;width:100%;padding:10px 11px;font-size:13px}.packing-add>div{grid-template-columns:1fr auto;gap:8px;display:grid}.packing-add select{background:#fff;border:1px solid #ccd3cc;padding:9px;font-size:12px}.packing-add button{background:var(--forest);color:#fff;border:0;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}.packing-panel>summary{cursor:pointer;list-style:none}.packing-panel>summary::-webkit-details-marker{display:none}.packing-panel:not([open]) .panel-head{border-bottom:0}.personal-packing{border-color:#d9e2dc}.panel>summary.panel-head{cursor:pointer;list-style:none}.panel>summary.panel-head::-webkit-details-marker{display:none}.panel:not([open])>.panel-head{border-bottom:0}.journey-fold{background:#fff;border:1px solid #b8cabe}.journey-fold>summary{cursor:pointer;background:#edf4ef;justify-content:space-between;align-items:center;min-height:72px;padding:0 20px;list-style:none;display:flex}.journey-fold>summary::-webkit-details-marker{display:none}.journey-fold>summary>span{align-items:center;gap:11px;display:flex}.journey-fold>summary b{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.journey-fold>summary strong{color:var(--forest);font:400 22px Georgia,Songti SC,serif}.journey-fold>summary small{color:var(--muted);font-size:11px}.journey-fold>summary i{color:var(--orange);font-size:11px;font-style:normal;font-weight:800}.journey-fold[open]>summary{border-bottom:1px solid #cbd8ce}.journey-fold .timeline,.journey-fold .bases-view,.journey-fold .day-row:first-child{border-top:0}.past-day-fold{border-bottom:1px solid var(--line);background:#fbfcf9}.past-day-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;list-style:none;display:flex}.past-day-fold>summary::-webkit-details-marker{display:none}.past-day-fold>summary>span{align-items:baseline;gap:10px;min-width:0;display:flex}.past-day-fold time{color:var(--sage);font:700 10px var(--font-geist-mono)}.past-day-fold strong{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font:400 17px Georgia,Songti SC,serif;overflow:hidden}.past-day-fold small{color:var(--muted);font-size:10px}.past-day-fold>summary i{text-align:right;width:40px;color:var(--orange);font-size:11px;font-style:normal;font-weight:800}.past-day-fold>summary i:after{content:"展开"}.past-day-fold[open]{background:#fff}.past-day-fold[open]>summary{border-bottom:1px solid var(--line)}.past-day-fold[open]>summary i:after{content:"收起"}.past-day-fold .day-row{border-bottom:0}.past-day-fold .day-content{opacity:.88}.locked-panel,.personal-packing{display:none}.personal-packing-v2{border-color:#d9e2dc}.personal-packing-v2 .packing-cloud>button{width:100%}.personal-packing-v2 .packing-cloud>div{grid-template-columns:1fr 1fr}.planner-section-head{grid-template-columns:minmax(0,1fr) 355px;gap:44px;max-width:1400px;margin:0 auto;padding:0 28px;display:grid}.planner-section-head>.section-head{grid-column:1;margin-bottom:24px}.content-column>.section-head{display:none}.side-column{padding-top:0}@media (width<=1050px){.planner-section-head{grid-template-columns:1fr;padding:0 28px}.planner-section-head>.section-head{margin-bottom:20px}}@media (width<=700px){.planner-section-head{padding:0 18px}.planner-section-head>.section-head{margin-bottom:16px}.journey-fold>summary{min-height:70px;padding:0 15px}.journey-fold>summary strong{font-size:20px}.journey-fold>summary small{display:none}.journey-fold{margin-bottom:0}.side-column{gap:12px}.panel-head{min-height:70px;padding:16px}.panel-head h3{font-size:18px}.past-day-fold>summary{min-height:54px;padding:0 15px}.past-day-fold>summary>span{gap:8px}.past-day-fold strong{font-size:16px}.past-day-fold small{font-size:9px}.past-day-fold>summary i{width:34px;font-size:10px}.packing-list input{font-size:13px}.packing-local-note{font-size:12px}.packing-add>div{grid-template-columns:1fr}.packing-list small{font-size:10px}}.packing-cloud{background:#fbfcf9;border-top:1px solid #e3e7e1;gap:9px;padding:15px 16px 17px;display:grid}.packing-cloud label{color:var(--sage);gap:6px;font-size:11px;font-weight:800;display:grid}.packing-cloud input{background:#fff;border:1px solid #ccd3cc;width:100%;padding:10px 11px;font-size:13px}.packing-cloud p{color:var(--muted);margin:0;font-size:10px}.packing-cloud>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.packing-cloud button{color:var(--forest);background:#fff;border:1px solid #9db3a4;border-radius:999px;padding:9px 8px;font-size:11px;font-weight:800}.packing-cloud button:disabled{opacity:.55}.packing-cloud .packing-save{border-color:var(--forest);background:var(--forest);color:#fff}.packing-cloud .packing-export{text-align:left;color:var(--orange);background:0 0;border:0;border-radius:0;padding:5px 0 0;font-size:11px}.personal-packing .packing-cloud>label:nth-child(2):after{content:"与保存共享版本使用同一密令，且区分大小写";color:var(--muted);letter-spacing:0;font-size:10px;font-weight:500}.packing-load-action{background:#edf4ef;padding-top:11px;padding-bottom:11px}.packing-load-action button{width:100%;font-size:12px}@media (width<=700px){.packing-cloud p{font-size:11px}.packing-cloud button{font-size:12px}}.document-tool summary b{color:#8d6318;background:#f6ebcf;font-size:14px}.document-body{background:#f8faf6;padding:18px 21px 22px}.document-body>p{color:var(--muted);margin:0 0 13px;font-size:12px;line-height:1.6}.document-password{color:var(--sage);grid-template-columns:112px minmax(0,300px);align-items:center;gap:10px;font-size:11px;font-weight:800;display:grid}.document-password input{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd8cf;padding:10px 11px;font-size:13px}.document-status{color:var(--sage);margin:8px 0 14px;font-size:10px;display:block}.document-days{gap:10px;display:grid}.document-days>section{background:#fff;border:1px solid #dfe5de}.document-days header{background:#edf4ef;border-bottom:1px solid #dfe5de;align-items:center;gap:10px;padding:9px 12px;display:flex}.document-days header time{font:800 10px var(--font-geist-mono);color:var(--orange)}.document-days header strong{color:var(--forest);font:400 15px Georgia,Songti SC,serif}.document-days header span{color:var(--muted);margin-left:auto;font-size:10px}.document-days>section>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.document-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #edf0eb;border-top:0;border-left:0;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:grid}.document-row:nth-last-child(-n+2){border-bottom:0}.document-row:nth-child(2n){border-right:0}.document-row:hover{background:#fff9f4}.document-row:disabled{cursor:wait;opacity:.6}.document-row i{width:22px;height:22px;color:var(--forest);background:#e2ece5;border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.document-row.ticket i{color:#a76125;background:#fff0df}.document-row.event i{color:#ad522f;background:#f7e3dc}.document-row span{gap:2px;min-width:0;display:grid}.document-row b{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;overflow:hidden}.document-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;overflow:hidden}.document-row em{color:var(--orange);white-space:nowrap;font-size:10px;font-style:normal;font-weight:800}.document-preview-wrap{z-index:130;background:#102b24c9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.document-preview{background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(1000px,96vw);height:min(88vh,850px);display:grid;overflow:hidden;box-shadow:0 24px 70px #001b1455}.document-preview header{border-bottom:1px solid #dfe4dd;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;display:flex}.document-preview header small{color:var(--sage);letter-spacing:1px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.document-preview h2{color:var(--forest);margin:0;font:400 19px Georgia,Songti SC,serif}.document-preview header button{width:32px;height:32px;color:var(--forest);cursor:pointer;background:#edf4ef;border:0;border-radius:50%;font-size:23px;line-height:1}.document-preview iframe{background:#f1f3f0;border:0;width:100%;height:100%}@media (width<=700px){.document-body{padding:15px}.document-password{grid-template-columns:1fr;gap:6px}.document-days>section>div{grid-template-columns:1fr}.document-row,.document-row:nth-child(2n){border-right:0}.document-row:nth-last-child(-n+2){border-bottom:1px solid #edf0eb}.document-row:last-child{border-bottom:0}.document-preview-wrap{padding:0}.document-preview{width:100vw;height:100dvh}.document-preview h2{font-size:17px}}.expense-tool summary b{color:var(--forest);background:#e2ece5;font-family:Georgia,serif;font-size:16px}.expense-body{background:#f8faf6;padding:18px 21px 22px}.expense-intro,.expense-footnote{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.expense-summary{grid-template-columns:1fr 1fr 1fr 1.5fr;gap:10px;margin:16px 0 13px;display:grid}.expense-summary article{background:#fff;border:1px solid #dce5dd;min-width:0;padding:12px}.expense-summary small{color:var(--sage);letter-spacing:.3px;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.expense-summary strong{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font:400 20px/1.25 Georgia,Songti SC,serif;display:block;overflow:hidden}.expense-summary span{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.35;display:block}.expense-summary .settlement-card{background:#fff8ef;border-color:#eed9c6}.expense-summary .settlement-card strong{color:#a8562e;font-size:16px}.expense-actions{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.expense-actions button{color:var(--forest);background:#fff;border:1px solid #a5baab;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:800}.expense-actions .expense-add{border-color:var(--forest);background:var(--forest);color:#fff}.expense-actions .expense-settle{color:#995321;background:#fff3e3;border-color:#e1b779}.expense-actions .expense-save{border-color:var(--orange);color:var(--orange);margin-left:auto}.expense-actions button:disabled{opacity:.45;cursor:not-allowed}.expense-empty{text-align:center;background:#fff;border:1px dashed #cbd9cd;gap:5px;padding:28px 18px;display:grid}.expense-empty strong{color:var(--forest);font:400 18px Georgia,Songti SC,serif}.expense-empty span{color:var(--muted);font-size:12px;line-height:1.55}.expense-table-wrap{background:#fff;border:1px solid #dfe6df;overflow-x:auto}.expense-table{border-collapse:collapse;text-align:left;width:100%;min-width:1080px}.expense-table th{color:var(--sage);letter-spacing:.35px;white-space:nowrap;background:#edf4ef;padding:10px 11px;font-size:10px;font-weight:800}.expense-table td{color:var(--ink);vertical-align:top;border-top:1px solid #e7ece7;padding:10px 11px}.expense-table td>time,.expense-table td>strong,.expense-table td>b,.expense-table td>small{display:block}.expense-table td>time,.expense-table td>small{color:var(--muted);font-size:10px;line-height:1.45}.expense-table td>strong{max-width:170px;color:var(--forest);margin:2px 0;font-size:12px;line-height:1.4}.expense-table td>b{white-space:nowrap;font-size:12px}.expense-table select{max-width:112px;color:var(--ink);background:#fff;border:1px solid #d4ded5;padding:6px 7px;font-size:10px}.expense-table button{color:var(--forest);white-space:nowrap;background:#fff;border:1px solid #cbd8cd;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.expense-table button:disabled{opacity:.45}.expense-table .expense-settled{color:#3c7251;background:#e8f1eb;border-color:#a6beae}.expense-table .expense-unsettled{color:#9a5a25;background:#fff4e4;border-color:#e7c38c}.expense-note{min-width:125px;max-width:210px}.expense-row-actions{white-space:nowrap}.expense-row-actions button+button{margin-left:5px}.expense-row-actions .expense-delete{color:#9daaa4;background:0 0;border:0;padding:3px;font-size:17px;line-height:1}.expense-footnote{margin-top:12px;font-size:10px}.expense-editor-wrap{z-index:260;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f262194;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.expense-editor{background:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:min(90vh,820px);display:grid;overflow:hidden;box-shadow:0 24px 70px #09261f55}.expense-editor header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.expense-editor header small{color:var(--sage);letter-spacing:1px;font-size:10px;font-weight:800;display:block}.expense-editor h2{color:var(--forest);margin:3px 0 0;font:400 24px Georgia,Songti SC,serif}.expense-editor header button{width:32px;height:32px;color:var(--forest);background:#edf4ef;border:0;border-radius:50%;font-size:23px;line-height:1}.expense-editor-body{gap:13px;padding:20px 22px;display:grid;overflow:auto}.expense-editor label{color:var(--sage);gap:6px;font-size:11px;font-weight:800;display:grid}.expense-editor input,.expense-editor select,.expense-editor textarea{width:100%;color:var(--ink);font:400 13px var(--font-geist-sans);background:#fff;border:1px solid #cdd8cf;padding:10px 11px}.expense-editor textarea{resize:vertical;line-height:1.5}.expense-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.expense-money-input{grid-template-columns:1fr 150px 1fr}.expense-conversion{color:var(--sage);background:#edf4ef;margin:-5px 0 0;padding:9px 11px;font-size:11px}.expense-conversion strong{color:var(--forest)}.expense-split-editor{background:#fafcf9;border:1px solid #d9e4da;gap:10px;padding:13px;display:grid}.expense-split-editor>div{justify-content:space-between;align-items:center;gap:15px;display:flex}.expense-split-editor h3{color:var(--forest);margin:0;font:400 18px Georgia,Songti SC,serif}.expense-split-editor select{width:auto;max-width:240px;padding:8px;font-size:11px}.expense-split-editor p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.expense-split-editor p strong{color:var(--forest)}.expense-editor footer{border-top:1px solid var(--line);background:#fbfcf9;justify-content:flex-end;gap:8px;padding:15px 22px;display:flex}.expense-editor footer button{border:0;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800}@media (width<=700px){.expense-body{padding:15px}.expense-summary{grid-template-columns:1fr 1fr;gap:8px}.expense-summary article{padding:10px}.expense-summary strong{font-size:17px}.expense-summary .settlement-card{grid-column:1/-1}.expense-actions{grid-template-columns:1fr 1fr;display:grid}.expense-actions .expense-save{grid-column:1/-1;margin-left:0}.expense-actions button{padding:10px 8px;font-size:11px}.expense-table{min-width:900px}.expense-table-wrap:before{content:"可左右滑动查看全部分账栏位";color:#9a6531;background:#fff8ef;padding:8px 10px;font-size:10px;font-weight:800;display:block}.expense-editor-wrap{padding:0}.expense-editor{width:100vw;height:100dvh;max-height:100dvh}.expense-editor header,.expense-editor-body,.expense-editor footer{padding-left:16px;padding-right:16px}.expense-form-grid,.expense-money-input{grid-template-columns:1fr}.expense-split-editor>div{flex-direction:column;align-items:stretch;gap:8px}.expense-split-editor select{width:100%;max-width:none}.expense-editor footer{padding-bottom:max(15px,env(safe-area-inset-bottom))}}.expense-summary .family-total-card{background:#edf4ef;border-color:#bfd0c2}.expense-summary .family-total-card strong{white-space:normal;font-size:15px}.expense-summary .family-total-card span{color:var(--forest);margin-top:3px;font-weight:800}.expense-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0 0 9px;font-size:10px;display:flex}.expense-toolbar>span{color:var(--sage);font-weight:800}.expense-toolbar label{color:var(--sage);white-space:nowrap;align-items:center;gap:7px;font-weight:800;display:flex}.expense-toolbar select{color:var(--ink);background:#fff;border:1px solid #cbd8cd;padding:7px 9px;font-size:11px}.expense-table{min-width:1080px}.expense-table th:nth-child(2),.expense-table th:nth-child(3),.expense-table td:nth-child(2),.expense-table td:nth-child(3){min-width:104px}.weather-grid article.actual>em{color:var(--forest);background:#e4ece7}.weather-grid article.forecast>em{color:#315a83;background:#e8edf8}.weather-grid article.unavailable>em{color:#995321;background:#f2e5df}.expense-toolbar .expense-unsettled-filter{color:var(--forest);background:#fff;border:1px solid #cbd8cd;padding:7px 9px}.expense-unsettled-filter input{accent-color:var(--forest);margin:0}@media (width<=700px){.expense-summary{grid-template-columns:1fr 1fr}.expense-summary .family-total-card{grid-column:1/-1}.expense-toolbar{flex-direction:column;align-items:flex-start;gap:7px}.expense-toolbar label{justify-content:space-between;width:100%}.expense-toolbar select{min-width:150px}.expense-table{min-width:1080px}}.expense-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-family-totals{background:#edf4ef;border:1px solid #d5e0d6;margin-top:18px;padding:16px}.expense-family-totals h3{color:var(--forest);margin:0 0 11px;font:400 19px Georgia,Songti SC,serif}.expense-family-totals>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.expense-family-totals article{background:#fff;border:1px solid #cbdaca;padding:11px 12px}.expense-family-totals small{color:var(--sage);margin-bottom:4px;font-size:10px;font-weight:800;display:block}.expense-family-totals strong{color:var(--forest);font:400 20px/1.2 Georgia,Songti SC,serif;display:block}.expense-separate-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.expense-separate-check{color:var(--sage)!important;padding-top:2px!important}.expense-money-input.separate{grid-template-columns:150px minmax(0,1fr)}@media (width<=700px){.expense-summary{grid-template-columns:1fr 1fr}.expense-summary .settlement-card{grid-column:1/-1}.expense-family-totals{padding:14px}.expense-family-totals strong{font-size:18px}.expense-separate-inputs,.expense-money-input.separate{grid-template-columns:1fr}.flight-info summary{padding-right:15px}.flight-info summary>i{margin-right:0}}.flight-info summary>i{margin-right:0}@media (width<=700px){.travel-tools,.travel-tool,.expense-tool,.expense-body{min-width:0;max-width:100%}.expense-body{overflow:hidden}.expense-summary{grid-template-columns:1fr 1fr}.expense-summary .settlement-card{grid-column:1/-1}.expense-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto;width:100%;max-width:100%;display:block;overflow:auto hidden}.expense-table{min-width:940px}.expense-table th:first-child,.expense-table td:first-child{z-index:2;position:sticky;left:0;box-shadow:8px 0 10px -10px #173f36a6}.expense-table th:first-child{z-index:3;background:#edf4ef}.expense-table td:first-child{background:#fff}}
