:root{color-scheme:light;--bg:#f5ede0;--paper:#fffdf7;--ink:#233b2b;--muted:#656c5f;--line:#dddccd;--green:#24452e;--orange:#af5435;--soft:#e9eddf;--focus:#9b4126;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)}button{transition:background .18s,color .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}p,h1,h2,h3{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.65}button{border:0}button:hover:not(:disabled){filter:brightness(.94)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;z-index:5;background:white;padding:12px}.skip-link:focus{top:8px}
.demo-banner{position:sticky;top:0;z-index:3;min-height:35px;background:#233b2b;color:#fffdf7;font-size:11px;padding:9px 32px;text-align:center;letter-spacing:.02em}.demo-banner a{position:absolute;right:32px;font-size:11px;color:#f3dfc7}.site-header{max-width:1660px;margin:auto;min-height:82px;padding:0 40px;display:flex;align-items:center;gap:60px;border-bottom:1px solid #dbd8c7}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:20px;font-weight:800;white-space:nowrap}.brand small{font-size:12px;font-weight:500;margin-left:5px}.brand-symbol{display:grid;place-items:center;width:38px;height:40px;background:var(--green);border-radius:13px 13px 13px 3px;color:var(--paper);font-weight:500}.site-header nav{display:flex;align-self:stretch;gap:30px}.site-header nav a{font-size:13px;text-decoration:none;display:flex;align-items:center;position:relative;color:var(--muted)}.site-header nav a.active{color:var(--green);font-weight:700}.site-header nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--green)}.local-status{font-size:11px;margin-left:auto;color:#4b644c}.local-status span{font-size:8px;margin-right:5px}.workspace{max-width:1660px;padding:32px 40px 24px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:11px;color:var(--orange);font-weight:700;margin-bottom:7px}.intro h1{font-size:28px;line-height:1.35;font-weight:750;letter-spacing:-.025em}.intro p:last-child{font-size:12px;color:var(--muted);margin-top:8px}.trip-stamp{padding:10px 16px;border:1px solid #b4bda6;color:#53634a;font-size:10px;text-align:center;line-height:1.9;transform:rotate(3deg);border-radius:3px}.trip-stamp strong{font-weight:600;font-size:11px}.workbench{display:grid;grid-template-columns:280px minmax(340px,1fr) 300px;gap:20px;align-items:start}.planner-panel,.itinerary-panel,.route-panel,.budget-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px}.planner-panel{padding:22px}.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:18px}.section-heading h2,.section-heading h3{font-size:14px;font-weight:700}.step{background:var(--soft);font-size:10px;font-weight:700;padding:5px 6px;border-radius:5px}.preset-box{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}label,legend{font-size:12px;font-weight:650;display:block;margin-bottom:8px}.label-note{font-size:10px;color:var(--muted);font-weight:400}.label-note:not(:first-child){margin-left:5px}textarea,input[type=number],select{display:block;width:100%;padding:11px 10px;border:1px solid #c9cdbf;border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.7}textarea{resize:vertical;min-height:82px}.help{font-size:10px;color:var(--muted);line-height:1.75;margin-top:9px}.preset-buttons{display:flex;gap:5px;margin-top:10px}.preset-buttons button{background:var(--soft);color:#4c6246;border:1px solid #d7decc;padding:5px 7px;border-radius:5px;font-size:10px}.text-button{color:var(--orange);background:none;padding:0;margin-top:12px;font-size:11px;font-weight:650}.inline-status{font-size:11px;line-height:1.7;margin-top:8px;color:#5d634f}.inline-status:empty{display:none}.form-row{display:grid;grid-template-columns:1fr 1.05fr;gap:12px;margin:18px 0}fieldset{border:0;padding:0;margin:0 0 22px}.preferences{display:flex;flex-wrap:wrap;gap:6px}.preferences label{position:relative;margin:0;cursor:pointer}.preferences input{position:absolute;opacity:0;width:1px;height:1px}.preferences span{font-size:10px;font-weight:500;display:block;padding:8px 9px;border:1px solid #d1d5c6;border-radius:6px;background:white}.preferences input:checked+span{background:#e9efdf;border-color:#75916a;color:#304e30}.preferences input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.primary{background:var(--green);color:#fffdf7;padding:12px 16px;border-radius:8px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:10px}.full{width:100%}.confirmation{margin-top:16px;padding:14px 0;border-top:1px solid var(--line)}.confirmation h3{font-size:13px}.confirmation>p{font-size:11px;margin:7px 0}.confirmation .primary{font-size:11px;margin-top:12px}.boundary-note{margin-top:20px;display:flex;gap:7px;color:#6d715f}.boundary-note span{font-size:15px}.boundary-note p{font-size:10px;line-height:1.8}
.itinerary-panel{padding:25px;overflow:hidden}.trip-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:17px}.pill{font-size:10px;background:#e7eddd;color:#415c36;padding:5px 8px;border-radius:5px;white-space:nowrap}.muted{font-size:10px;color:var(--muted)}.trip-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.trip-heading h2{font-size:23px;line-height:1.45;letter-spacing:-.03em}.trip-heading p{font-size:11px;color:var(--muted);margin-top:7px}.quiet-button{border:1px solid #cdd1c3;border-radius:7px;background:transparent;color:var(--ink);font-size:10px;white-space:nowrap;padding:9px}.route-summary{display:flex;gap:11px;align-items:center;padding:15px;background:#eef0e6;border-radius:9px;margin:22px 0}.route-summary>span{font-size:25px;color:#658354}.route-summary strong{font-size:12px}.route-summary p{font-size:10px;color:#637058;margin-top:4px}.day-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:3px}.day-tabs button{border:0;border-bottom:3px solid transparent;background:none;color:#666f5b;padding:12px 14px 11px;font-size:12px;display:flex;gap:7px;align-items:center}.day-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green);font-weight:700}.day-tabs small{font-size:9px;opacity:.8}.day-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:17px 0 4px}.stop{display:grid;grid-template-columns:45px 1fr;gap:12px;padding-top:19px;position:relative}.stop:not(:last-of-type):after{content:"";position:absolute;width:1px;background:#d3d9c8;left:21px;top:49px;bottom:-13px}.stop-index{background:#eceddf;border:1px solid #d8ddca;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:11px;z-index:1}.stop-body{border-bottom:1px solid var(--line);padding-bottom:19px}.stop:last-of-type .stop-body{border:0}.stop-time{font-size:10px;color:var(--orange);font-weight:650;display:flex;justify-content:space-between;gap:5px}.stop-time small{color:var(--muted);font-size:9px;font-weight:400}.stop h3{font-size:15px;margin:7px 0 5px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stop-tag{font-size:9px;color:#6a725b;border:1px solid #dde0d2;padding:2px 5px;border-radius:4px;font-weight:400}.stop p{font-size:11px;color:var(--muted)}.stop-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:13px}.stop-price{font-size:12px;font-weight:700}.stop-price small{font-size:9px;color:var(--muted);font-weight:400}.stop-actions{display:flex;gap:5px}.stop-actions button{background:#f3f2e9;color:#52634c;padding:6px 8px;border-radius:5px;font-size:10px;border:1px solid #e2e3d5}.collaboration{border-top:1px solid var(--line);padding-top:22px;margin-top:12px;scroll-margin-top:55px}.collaboration .section-heading{margin-bottom:7px;gap:7px}.collaboration .section-heading h3{font-size:13px}.subtle{margin-left:auto;background:#f0e7dc;color:#875936;font-size:9px}.vote-options{display:flex;gap:9px;margin-top:14px}.vote-option{flex:1;display:grid;gap:7px;text-align:left;padding:12px;border:1px solid #d8ddcf;background:transparent;border-radius:8px;color:var(--ink);font-size:11px}.vote-option[aria-pressed=true]{border-color:#46663a;background:#edf2e4}.vote-option strong{font-size:17px}.vote-option small{font-size:9px;color:var(--muted)}.overview-panel{display:grid;gap:18px}.side-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 18px 15px}.side-heading h3{font-size:13px}.route-panel{overflow:hidden}.schematic-map{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.schematic-map svg{display:block;width:100%;height:auto}.map-city{position:absolute;left:13px;top:12px;background:#fffdf7e8;padding:5px 8px;font-size:10px;border:1px solid #d4d9ca;border-radius:4px}.route-legend{margin:15px 18px 0;padding:0;list-style:none;display:grid;gap:9px}.route-legend li{font-size:10px;display:flex;align-items:center;gap:8px}.route-legend span{width:17px;height:17px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:9px}.map-note{padding:0 18px 16px}.budget-panel{padding-bottom:20px}.budget-total{padding:0 19px;display:flex;gap:7px;align-items:baseline}.budget-total strong{font-size:28px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.budget-total>span{font-size:12px;color:var(--muted)}.budget-track{margin:13px 19px 7px;background:#e5e7d9;height:6px;border-radius:4px;overflow:hidden}.budget-track div{height:100%;background:#5b7747;transition:width .2s}.budget-track.over div{background:#ae5836}.budget-state{font-size:10px;color:#506b41;margin:0 19px 16px}.budget-state.over{color:#9e3f26;font-weight:600}.budget-breakdown{margin:0 19px 15px;display:grid;gap:10px}.budget-breakdown div{display:flex;justify-content:space-between;font-size:11px}.budget-breakdown dt{color:var(--muted)}.budget-breakdown dd{margin:0;font-variant-numeric:tabular-nums}.budget-panel>.help{margin:0 19px;padding-top:13px;border-top:1px solid var(--line)}.session-note{font-size:10px;line-height:1.9;color:var(--muted);text-align:center}footer{max-width:1580px;margin:15px auto 0;border-top:1px solid #d8d8c7;padding:22px 0 28px;font-size:11px;display:flex;gap:14px;color:#45563e}footer span{color:var(--muted)}footer a{margin-left:auto}.noscript{padding:20px;background:white}
@media(min-width:1500px){.workbench{grid-template-columns:300px minmax(420px,1fr) 320px}.workspace{padding-top:36px}.itinerary-panel{padding:28px 32px}.planner-panel{padding:24px}.intro{margin-bottom:30px}.intro h1{font-size:31px}}
@media(max-width:1180px){.workspace{padding:25px}.site-header{padding:0 25px}.workbench{grid-template-columns:250px minmax(320px,1fr);gap:16px}.overview-panel{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start}.route-panel{display:grid;grid-template-columns:1fr 1fr}.route-panel .side-heading{grid-column:1/-1}.schematic-map{grid-row:2/4;border-bottom:0}.route-legend{align-self:center}.map-note{align-self:end}.session-note{grid-column:1/-1}footer{margin:10px 25px 0}.demo-banner a{position:static;margin-left:20px}.trip-stamp{display:none}.trip-heading h2{font-size:21px}}
@media(max-width:720px){.demo-banner{font-size:9px;padding:8px 12px;line-height:1.8}.demo-banner a{display:inline-block;font-size:9px;margin-left:8px}.site-header{min-height:69px;gap:20px;padding:0 18px;flex-wrap:wrap}.brand{font-size:17px;gap:8px}.brand small{display:none}.brand-symbol{width:32px;height:34px;font-size:16px}.site-header nav{gap:20px;margin-left:auto}.site-header nav a{font-size:11px}.local-status{display:none}.workspace{padding:23px 16px}.intro{margin-bottom:22px}.intro h1{font-size:24px}.intro p:last-child{font-size:11px}.workbench{grid-template-columns:1fr}.planner-panel{padding:20px}.itinerary-panel{padding:21px 18px}.preset-box{padding-bottom:16px;margin-bottom:16px}.preset-box textarea{min-height:64px}.form-row{margin:14px 0}.trip-heading{align-items:flex-start}.trip-heading h2{font-size:21px}.trip-heading p{font-size:10px}.quiet-button{font-size:9px;padding:8px}.trip-topline{gap:8px}.trip-topline .muted{font-size:9px}.overview-panel{grid-column:auto;grid-template-columns:1fr}.route-panel{display:block}.schematic-map svg{max-height:280px}.route-legend{margin:15px 20px;display:flex;flex-wrap:wrap;gap:12px}.map-note{padding-bottom:15px}.session-note{grid-column:auto}footer{margin:0 16px;flex-wrap:wrap;gap:9px;line-height:1.8}footer a{margin-left:0;width:100%}.stop{gap:4px;grid-template-columns:39px 1fr}.stop:not(:last-of-type):after{left:17px}.vote-options{gap:8px}.vote-option{padding:12px 10px}.collaboration .section-heading{flex-wrap:wrap}.subtle{margin-left:0}.stop-actions button{padding:7px 9px}.day-tabs button{padding:12px 13px}}
.mascot-welcome{display:flex;align-items:center;gap:8px;flex-shrink:0;margin:-20px 0 -13px}.mascot-welcome img{display:block;object-fit:contain;width:146px;height:146px}.mascot-welcome>div{text-align:right;display:grid;gap:8px}.mascot-welcome strong{font-size:13px;font-weight:650}.mascot-welcome span{font-size:11px;color:var(--muted)}.mascot-guide{gap:10px;padding:9px 14px 9px 5px;min-height:94px}.mascot-guide img{display:block;object-fit:contain;flex:0 0 76px;width:76px;height:76px}.mascot-guide>div{min-width:0}.mascot-guide strong{font-size:12px;line-height:1.7;display:block}.mascot-guide p{font-size:10px;line-height:1.8;margin-top:4px}
@media(max-width:1180px){.mascot-welcome>div{display:none}.mascot-welcome img{width:120px;height:120px}.mascot-welcome{margin:-12px -5px -8px 8px}}
@media(max-width:720px){.intro{gap:8px;align-items:center}.intro>div:first-child{min-width:0}.intro h1{font-size:22px}.mascot-welcome{margin:0 -7px 0 0}.mascot-welcome img{width:92px;height:92px}.intro .eyebrow{font-size:10px}.intro p:last-child{font-size:10px}.mascot-guide{padding:9px 10px 9px 3px;gap:5px}.mascot-guide img{flex-basis:66px;width:66px;height:66px}.mascot-guide strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
