:root{color:#1d241e;font-synthesis:none;background:#f2f1eb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:24px}.sync-bar{color:#657166;text-align:right;width:min(1080px,100%);margin:0 auto 16px;font-size:13px}.offline-status{color:#657166;text-align:right;width:min(1080px,100%);margin:-10px auto 16px;font-size:12px}.overview,.narrow-page{width:min(1080px,100%);margin:0 auto}.narrow-page{max-width:760px}.eyebrow{color:#6d766f;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,6vw,64px);line-height:1.05}h2{margin:0;font-size:24px}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:clamp(28px,6vw,72px) 0 48px;display:grid}.travelers{color:#485249;margin:18px 0 0;font-size:17px}.trip-statuses{gap:12px;margin:0;display:flex}.trip-statuses div{background:#faf9f5;border:1px solid #d9dbd5;border-radius:16px;min-width:132px;padding:16px}.trip-statuses dt{color:#707871;font-size:12px}.trip-statuses dd{margin:6px 0 0;font-size:14px}.hotel-open{color:#fff;background:#31594d;border:1px solid #31594d;border-radius:999px;align-self:end;min-height:42px;padding:8px 14px}.hero-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hero-actions button{color:#273128;background:#faf9f5;border:1px solid #cfd3ca;border-radius:999px;min-height:42px;padding:8px 14px}.hero-actions .hotel-open{color:#fff;background:#31594d;border-color:#31594d}.signed-in-user{color:#657166;margin-right:auto;font-size:13px}.hero-actions [role=alert]{color:#8a332d;text-align:right;width:100%}.member-management{padding-top:44px}.member-management h1{margin:28px 0}.member-management section{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;margin-top:18px;padding:22px}.member-row{border-bottom:1px solid #e1e3dd;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.member-row:last-child{border-bottom:0}.member-row button{background:#fff;border:1px solid #cfd3ca;border-radius:999px;min-height:38px;margin-left:8px;padding:7px 12px}.trip-state{align-content:center;gap:14px;width:min(620px,100% - 32px);min-height:100vh;margin:0 auto;display:grid}.trip-state h1{font-size:clamp(34px,7vw,58px)}.trip-state p{color:#657166;margin:0;line-height:1.6}.trip-state button{color:#fff;background:#31594d;border:1px solid #31594d;border-radius:999px;justify-self:start;min-height:42px;padding:8px 16px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px;display:flex}.day-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.day-actions button,.delete-confirmation button,.back-button,.day-page>button{color:#273128;background:#faf9f5;border:1px solid #cfd3ca;border-radius:999px;min-height:42px;padding:8px 14px}.danger-button{color:#8a332d!important;border-color:#e0bcb7!important}.day-strip{scrollbar-width:thin;gap:10px;margin:0;padding:2px 2px 14px;list-style:none;display:flex;overflow-x:auto}.day-tab-wrap{flex:0 0 164px;position:relative}.day-tab{color:#253027;text-align:left;background:#faf9f5;border:1px solid #d6d9d2;border-radius:18px;width:100%;min-height:146px;padding:16px;display:grid}.day-tab[aria-selected=true]{outline-offset:1px;background:#eef2e9;outline:2px solid #576d5b}.day-tab strong{font-size:22px}.day-tab span,.day-tab small{color:#667067;align-self:end}.day-tab small{color:#936f31}.drag-handle{color:#727a73;touch-action:none;background:0 0;border:0;padding:6px;font-size:11px;position:absolute;top:10px;right:9px}.drag-handle[aria-disabled=true]{cursor:not-allowed;opacity:.45}.selected-day,.unscheduled,.delete-confirmation,.day-page section{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;margin-top:18px;padding:24px}.overview-sidepanels{gap:18px;width:min(1080px,100%);margin:24px auto 0;display:grid}.budget-panel,.orders-panel,.date-range,.date-warning{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;padding:22px}.budget-panel{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px;display:grid}.budget-total{color:#31594d;gap:6px;margin-top:12px;font-size:18px;font-weight:650;display:grid}.budget-breakdown{grid-template-columns:1fr 1fr;gap:16px;display:grid}.budget-breakdown h3{margin:0;font-size:15px}.budget-breakdown ul{color:#536057;gap:7px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.budget-breakdown li span{display:inline-block}.orders-panel{grid-template-columns:minmax(160px,.45fr) 1fr;gap:24px;display:grid}.orders-panel h2{font-size:21px}.order-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.order-list li{border:1px solid #e1e3dd;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.order-list li>div,.order-list label{gap:5px;display:grid}.order-list span,.order-list label{color:#536057;font-size:13px}.order-list select{background:#fff;border:1px solid #cfd3ca;border-radius:8px;min-height:34px}.date-range{flex-wrap:wrap;align-items:end;gap:12px;margin-top:24px;display:flex}.date-range>div{margin-right:auto}.date-range label{color:#536057;gap:5px;font-size:13px;display:grid}.date-range input{background:#fff;border:1px solid #cfd3ca;border-radius:8px;min-height:40px;padding:6px 8px}.date-range button,.date-warning button{background:#fff;border:1px solid #cfd3ca;border-radius:999px;min-height:40px;padding:8px 14px}.date-warning{z-index:32;width:min(480px,100vw - 32px);margin:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #231d193d}.date-warning::backdrop{background:#191d197a}.date-warning h2{font-size:22px}.date-warning p{color:#536057;line-height:1.55}.date-warning>div:last-child{gap:8px;display:flex}.selected-day h3{margin:0;font-size:22px}.selected-day>p:last-child{color:#697169;margin-bottom:0}.weather-summary{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;grid-template-columns:minmax(180px,.75fr) 1fr;gap:16px 28px;margin-top:24px;padding:22px;display:grid}.weather-summary>p{color:#536057;margin:0;line-height:1.55}.weather-summary ul{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.weather-summary li{border:1px solid #e1e3dd;border-radius:12px;gap:5px;padding:12px;display:grid}.weather-summary li span{color:#936f31;font-size:13px}.delete-confirmation{z-index:10;border-color:#e0bcb7;justify-content:space-between;align-items:center;gap:24px;width:min(480px,100vw - 32px);margin:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #231d193d}.delete-confirmation[open]{display:flex}.delete-confirmation::backdrop{background:#191d197a}.delete-confirmation h3,.delete-confirmation p{margin:0}.delete-confirmation .delete-copy{gap:6px;display:grid}.delete-confirmation>div:last-child{gap:8px;display:flex}.unscheduled ul,.timeline{padding-left:22px}.day-page{padding-top:44px}.day-page header{padding:42px 0 16px}.day-page .back-button{background:0 0;border:0;padding-left:0}.weather-state{color:#936f31}.empty-state{color:#6b736c}.route-map{margin:24px 0}.route-map-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.route-map-heading h2{font-size:22px}.route-points{color:#536c5b;font-size:13px}.amap-canvas{background:#e9eee7;border:1px solid #d9dbd5;border-radius:20px;min-height:440px;overflow:hidden}.map-fallback{color:#6b736c;margin:10px 0 0;font-size:14px}.map-marker-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.map-marker,.timeline-place{color:#24594d;text-align:left;background:0 0;border:0}.map-marker{background:#faf9f5;border:1px solid #cfd8ce;border-radius:999px;padding:8px 10px}.map-marker[aria-current=location],.timeline-place[aria-current=location]{color:#123a31;outline-offset:2px;outline:2px solid #6d8b75;font-weight:700}.timeline{gap:0;padding:0;list-style:none;display:grid}.timeline-entry{padding:8px 0}.timeline-place{padding:8px 0;font-size:17px;font-weight:650}.timeline-connector{color:#536057;border-left:2px solid #9ab3a0;margin:8px 0 0;padding:10px 12px;font-size:14px}.place-drawer{z-index:30;background:#faf9f5;border:1px solid #d9dbd5;flex-direction:column;width:min(42vw,560px);max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:flex;position:fixed;inset:0 0 auto auto;box-shadow:-20px 0 60px #231d192e}.place-drawer::backdrop{background:#191d197a}.place-drawer-header{border-bottom:1px solid #e1e3dd;justify-content:space-between;gap:16px;padding:24px 24px 18px;display:flex}.place-drawer-header .eyebrow{margin-bottom:6px}.place-drawer-header h2{font-size:26px}.drawer-close,.drawer-expand{color:#273128;background:#faf9f5;border:1px solid #cfd3ca;border-radius:999px}.drawer-close{width:38px;height:38px;font-size:24px;line-height:1}.drawer-expand,.place-drawer-handle{display:none}.place-drawer-content{overscroll-behavior:contain;padding:20px 24px 32px;overflow-y:auto}.place-image{aspect-ratio:16/10;object-fit:cover;background:#e7e9e2;border-radius:16px;width:100%;display:block}.place-image-credit{color:#6b736c;margin:8px 0 0;font-size:12px}.place-summary{color:#485249;margin:18px 0;line-height:1.6}.place-facts{gap:10px;margin:0;display:grid}.place-facts div{border:1px solid #e1e3dd;border-radius:12px;padding:12px}.place-facts dt{color:#6b736c;font-size:12px}.place-facts dd{margin:5px 0 0;line-height:1.5}.place-detail-section{margin-top:22px}.place-detail-section h3{margin:0 0 10px;font-size:16px}.place-detail-section p,.place-note{line-height:1.6}.place-tags,.place-sources{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.place-tags li{color:#35513f;background:#edf2ea;border-radius:999px;padding:7px 10px;font-size:13px}.place-sources{gap:8px;display:grid}.place-sources a{color:#31594d;font-size:13px;line-height:1.45}.place-links{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.place-action{color:#273128;background:#faf9f5;border:1px solid #cfd3ca;border-radius:999px;align-items:center;min-height:40px;padding:8px 12px;text-decoration:none;display:inline-flex}.place-action.primary{color:#fff;background:#31594d;border-color:#31594d}.hotel-compare{padding-top:44px}.hotel-compare header{padding:32px 0 18px}.hotel-compare header>p:last-child{color:#536057;max-width:680px;line-height:1.6}.hotel-map,.hotel-commute{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;margin-top:20px;padding:22px}.hotel-map{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:20px;display:grid}.hotel-map h2,.hotel-commute h2{font-size:21px}.hotel-map p,.hotel-commute p{color:#536057;line-height:1.55}.hotel-amap-canvas{background:#e9eee7;border-radius:14px;min-height:220px;overflow:hidden}.hotel-amap-marker{background:#31594d;border:2px solid #faf9f5;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 2px 8px #23312a59}.hotel-amap-marker.is-selected{color:#fff;background:#24594d;outline:3px solid #b6d0bf}.hotel-map-stage:before{content:"";background:#31594d59;height:2px;position:absolute;inset:50% -10% auto;transform:rotate(-12deg)}.hotel-commute dl,.hotel-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.hotel-commute dl div,.hotel-facts div{border:1px solid #e1e3dd;border-radius:12px;padding:12px}.hotel-commute dt,.hotel-facts dt{color:#6b736c;font-size:12px}.hotel-commute dd,.hotel-facts dd{margin:5px 0 0;line-height:1.45}.hotel-commute ul{color:#485249;margin:14px 0 0;padding-left:20px;line-height:1.65}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 40px;display:grid}.hotel-card{background:#faf9f5;border:1px solid #d9dbd5;border-radius:20px;padding:20px}.hotel-card[data-selected]{border-color:#547560;box-shadow:0 10px 28px #31594d1f}.hotel-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.hotel-card-heading h2{font-size:22px}.hotel-badge{color:#31594d;white-space:nowrap;background:#e5efe7;border-radius:999px;padding:5px 8px;font-size:12px}.hotel-address,.hotel-caveat,.hotel-source,.hotel-strength,.hotel-drawback{color:#536057;font-size:13px;line-height:1.55}.hotel-source a{color:#31594d}.hotel-caveat{background:#faf5e7;border-left:2px solid #b48a3a;padding:10px}.hotel-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-select{color:#fff;background:#31594d;border:1px solid #31594d;border-radius:999px;min-height:42px;padding:8px 14px}.hotel-select[aria-pressed=true]{color:#31594d;background:#edf4ed}@media (width<=799px){.app-shell{padding:16px}.sync-bar{text-align:left}.hero{grid-template-columns:1fr;align-items:start;padding-top:28px}.trip-statuses{width:100%}.hotel-open{align-self:start}.trip-statuses div{flex:1;min-width:0}.section-heading{flex-direction:column;align-items:start}.day-actions{justify-content:flex-start}.delete-confirmation{flex-direction:column;align-items:flex-start}.amap-canvas{min-height:320px}.place-drawer-mobile{border:1px solid #d9dbd5;border-bottom:0;border-radius:22px 22px 0 0;width:100vw;height:min(62dvh,620px);inset:auto 0 0;box-shadow:0 -16px 50px #231d192e}.place-drawer-mobile[data-drawer-state=full]{border-radius:0;width:100vw;height:100dvh;inset:0 0 auto}.place-drawer-handle{background:#c6cbc2;border-radius:99px;width:38px;height:4px;margin:10px auto 0;display:block}.place-drawer-header{padding:14px 20px}.place-drawer-header h2{font-size:22px}.drawer-expand{align-self:flex-start;min-height:34px;margin:0 20px 10px;padding:4px 10px;font-size:13px;display:block}.place-drawer-content{padding:14px 20px calc(28px + env(safe-area-inset-bottom))}.hotel-map,.hotel-grid,.budget-panel,.orders-panel,.budget-breakdown,.weather-summary{grid-template-columns:1fr}.weather-summary ul{grid-template-columns:1fr 1fr}.order-list li{flex-direction:column;align-items:start}.hotel-commute dl{grid-template-columns:1fr}}.auth-shell{color:#183229;isolation:isolate;background:#e8e0cd;min-height:100dvh;padding:clamp(22px,5vw,64px);font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;position:relative;overflow:hidden}.auth-shell:before{z-index:-2;opacity:.38;content:"";background-image:radial-gradient(#6f796d .65px,#0000 .65px);background-size:7px 7px;position:absolute;inset:0}.auth-shell:after{z-index:-1;aspect-ratio:1;content:"";border:clamp(58px,8vw,92px) solid #d85d3b;border-radius:50%;width:min(650px,65vw);position:absolute;bottom:-280px;right:-190px}.auth-layout{grid-template-columns:minmax(0,1.18fr) minmax(330px,.72fr);align-items:center;gap:clamp(36px,7vw,94px);width:min(1180px,100%);min-height:calc(100dvh - clamp(44px,10vw,128px));margin:0 auto;display:grid}.auth-story{padding:8px 0;position:relative}.auth-brand{letter-spacing:.18em;text-transform:uppercase;margin:0 0 clamp(30px,6vw,72px);font-size:12px;font-weight:650}.auth-display{letter-spacing:-.065em;max-width:720px;margin:0;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:clamp(46px,7vw,88px);font-weight:700;line-height:1.04}.auth-display em{color:#c84f31;font-style:normal}.auth-route{width:min(560px,100%);margin-top:34px;display:block;overflow:visible}.auth-route path{fill:none;stroke:#204d3f;stroke-width:2px;stroke-dasharray:6 8}.auth-route circle{fill:#e8e0cd;stroke:#204d3f;stroke-width:2px}.auth-cities{color:#3f554c;letter-spacing:.08em;justify-content:space-between;width:min(560px,100%);margin-top:7px;font-size:11px;font-weight:650;display:flex}.auth-story-note{color:#4c6258;max-width:510px;margin:27px 0 0;font-size:15px;line-height:1.75}.auth-stamp{color:#b4452d;text-align:center;border:2px solid #c84f31b8;border-radius:50%;place-content:center;width:112px;height:112px;display:grid;position:absolute;bottom:-38px;right:3%;transform:rotate(-9deg)}.auth-stamp:after{border-radius:inherit;content:"";border:1px dashed #c84f31ad;position:absolute;inset:6px}.auth-stamp span,.auth-stamp small{letter-spacing:.16em;font-size:10px}.auth-stamp strong{font:700 21px/1.15 Songti SC,STSong,serif}.auth-pass{background:#f8f1df;border:1px solid #18322940;border-radius:24px;padding:clamp(24px,4vw,34px);animation:.56s cubic-bezier(.2,.8,.2,1) both auth-pass-arrive;position:relative;transform:rotate(1deg);box-shadow:0 30px 80px #2f362a2e}.auth-pass:before,.auth-pass:after{content:"";background:#e8e0cd;border:1px solid #1832291f;border-radius:50%;width:22px;height:22px;position:absolute;top:154px}.auth-pass:before{left:-12px}.auth-pass:after{right:-12px}.auth-pass-meta{color:#637168;letter-spacing:.14em;border-bottom:1px dashed #9d9d8e;justify-content:space-between;gap:12px;padding-bottom:22px;font-size:10px;font-weight:650;display:flex}.auth-pass-route{border-bottom:1px dashed #b7b2a4;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:23px 0;display:grid}.auth-pass-route span{gap:2px;display:grid}.auth-pass-route span:last-child{text-align:right}.auth-pass-route strong{letter-spacing:-.04em;font-family:Songti SC,STSong,serif;font-size:30px}.auth-pass-route small{color:#6d766f;font-size:11px}.auth-pass-route b{color:#d85d3b;font-size:21px}.auth-pass-content{padding:25px 0 24px}.auth-step{color:#c44b30;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.auth-pass h1{letter-spacing:-.045em;margin:0;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:clamp(28px,3.2vw,38px);font-weight:700;line-height:1.18}.auth-description{color:#5d6b63;margin:12px 0 24px;font-size:14px;line-height:1.7}.auth-primary,.auth-secondary{border-radius:13px;min-height:50px;padding:10px 16px;font-weight:650;transition:transform .16s,box-shadow .16s,background .16s}.auth-primary{color:#fff;background:#204d3f;border:1px solid #204d3f;width:100%;box-shadow:0 9px 24px #204d3f38}.auth-secondary{color:#25483c;background:0 0;border:1px solid #50655b;width:100%}.auth-primary:hover:not(:disabled),.auth-secondary:hover:not(:disabled){transform:translateY(-2px)}.auth-primary:hover:not(:disabled){background:#173e33;box-shadow:0 12px 28px #204d3f47}.auth-primary:focus-visible,.auth-secondary:focus-visible,.auth-input:focus-visible{outline-offset:3px;outline:3px solid #d85d3b}.auth-primary:disabled{cursor:wait;opacity:.62}.auth-security{color:#778078;text-align:center;margin:13px 0 0;font-size:11px}.auth-pass-footer{color:#788078;letter-spacing:.11em;border-top:1px solid #c9c4b6;justify-content:space-between;gap:12px;padding-top:17px;font-size:10px;font-weight:650;display:flex}.auth-form,.auth-actions{gap:10px;display:grid}.auth-form label{color:#536158;font-size:12px;font-weight:650}.auth-input{color:#183229;background:#fffaf0;border:1px solid #abb0a6;border-radius:12px;width:100%;min-height:50px;margin-bottom:8px;padding:10px 13px;font-size:16px}.auth-error,.auth-status{border-radius:10px;margin:14px 0 0;padding:11px 12px;font-size:13px;line-height:1.55}.auth-error{color:#843325;background:#f5ddd2}.auth-status{color:#43584e;background:#ece8da;margin-bottom:12px}.auth-progress{color:#4f6057;background:#ece8da;border-radius:12px;flex-wrap:wrap;align-items:center;gap:7px;min-height:50px;padding:13px 14px;display:flex}.auth-progress span{background:#c94f32;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite auth-pulse}.auth-progress span:nth-child(2){animation-delay:.12s}.auth-progress span:nth-child(3){margin-right:5px;animation-delay:.24s}.auth-progress b{font-size:13px;font-weight:500}@keyframes auth-pass-arrive{0%{opacity:0;transform:translateY(16px)rotate(1deg)}to{opacity:1;transform:translateY(0)rotate(1deg)}}@keyframes auth-pulse{0%,to{opacity:.28;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media (width<=760px){.auth-shell{padding:18px;overflow-y:auto}.auth-shell:after{opacity:.7;border-width:56px;width:420px;bottom:-160px;right:-170px}.auth-layout{grid-template-columns:1fr;gap:30px;min-height:auto}.auth-story{padding-top:6px}.auth-brand{margin-bottom:24px}.auth-display{font-size:clamp(40px,13vw,58px)}.auth-route{margin-top:22px}.auth-cities{font-size:9px}.auth-story-note{margin-top:19px;font-size:13px}.auth-stamp{display:none}.auth-pass{transform:none}.auth-pass:before,.auth-pass:after{background:#e8e0cd}.auth-pass h1{font-size:29px}@keyframes auth-pass-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.auth-pass,.auth-progress span{animation:none}.auth-primary,.auth-secondary{transition:none}}.member-row--verification{grid-template-columns:minmax(10rem,1fr) minmax(10rem,.8fr) auto;align-items:end;gap:.75rem;display:grid}.member-row--verification small,.member-row--verification label{display:block}.member-row--verification small{color:var(--muted);margin-top:.25rem}.member-row--verification input{box-sizing:border-box;width:100%;margin-top:.25rem}.auth-verification code{letter-spacing:.08em;font-size:1.05em;font-weight:700}@media (width<=720px){.member-row--verification{grid-template-columns:1fr;align-items:stretch}}
