:root{--ink:#17241f;--muted:#5f6c65;--green:#123f35;--green-light:#dce9df;--paper:#f6f4ee;--surface:#fffefa;--line:#dcded6;--accent:#b94329;--accent-hover:#9d351f;--accent-soft:#f6e1d8;--gold:#d5a84b;--control-border:#7b867e;--focus-color:var(--green);--radius:18px;--shadow:0 16px 44px #17241f12;color-scheme:light;font-synthesis:none;font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;line-height:1.65}img,svg{max-width:100%}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}[hidden]{display:none!important}.container{width:min(1180px,100% - 40px);margin-inline:auto}.narrow{width:min(800px,100% - 40px);margin-inline:auto}.section{padding-block:64px}.section-sm{padding-block:40px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section-heading h2{margin:0}.section-heading p{max-width:580px;color:var(--muted);margin:8px 0 0}h1,h2,h3{letter-spacing:-.02em;overflow-wrap:anywhere;font-family:Newsreader,Songti SC,Georgia,serif;line-height:1.12}h1{margin:0 0 20px;font-size:clamp(2.7rem,7vw,5.6rem);font-weight:500}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.45rem}p{margin-top:0}.eyebrow{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px;font-size:.75rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.88rem}.chinese-name{color:var(--muted);font-family:PingFang SC,Microsoft YaHei,sans-serif}.skip-link{z-index:100;background:var(--surface);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#f6f4eef0;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:76px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:10px;font-size:.95rem;text-decoration:none;display:inline-flex}.wordmark strong{font-weight:700}.wordmark-mark{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-family:Songti SC,serif;font-size:1.25rem;display:grid}.site-nav{align-items:center;gap:24px;font-size:.86rem;display:flex}.site-nav a{color:var(--muted);padding-block:8px;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--green)}.site-nav a.active{box-shadow:inset 0 -2px var(--accent)}.hero{background:var(--green);color:#f8f5e9;position:relative;overflow:hidden}.hero,.planner-controls,.site-footer{--focus-color:#f0c773}.hero:after{content:"中 国";color:#ffffff0a;letter-spacing:.05em;white-space:nowrap;pointer-events:none;font-family:Songti SC,serif;font-size:clamp(12rem,28vw,26rem);position:absolute;bottom:-100px;right:-20px}.hero-inner{z-index:1;padding-block:82px 64px;position:relative}.hero-copy{max-width:790px}.hero h1 em{color:#f0c773;font-style:normal}.hero .eyebrow{color:#f0c773}.hero-lead{color:#dce6df;max-width:660px;font-size:clamp(1.05rem,2vw,1.25rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-stats{border-top:1px solid #fff3;flex-wrap:wrap;gap:32px;margin-top:48px;padding-top:42px;display:flex}.hero-stat strong{font-family:Newsreader,Georgia,serif;font-size:2rem;font-weight:500;display:block}.hero-stat span{color:#c8d7ce;font-size:.8rem}.button{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 19px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.button:not(:disabled):hover{background:var(--accent-hover)}.button-secondary,.button-outline{border-color:var(--green);color:var(--green);background:0 0}.button-secondary:not(:disabled):hover,.button-outline:not(:disabled):hover{background:var(--green-light);color:var(--green)}.hero .button-secondary{color:#fff;border-color:#dce6df}.hero .button-secondary:not(:disabled):hover{color:var(--green);background:#fff;border-color:#fff}.button-quiet{background:var(--paper);border-color:var(--control-border);color:var(--ink)}.button-quiet:not(:disabled):hover{background:var(--green-light)}.button-small{padding:8px 14px;font-size:.85rem}.button:disabled{border-color:var(--control-border);color:#535f57;opacity:1;cursor:not-allowed;background:#e4e7e1}.text-link{color:var(--green);font-size:.88rem;font-weight:600}.task-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.task-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:28px}.task-number{color:var(--accent);letter-spacing:.12em;font-size:.75rem;font-weight:700}.task-card h3{margin:16px 0 10px}.task-card p{color:var(--muted);font-size:.94rem}.task-card a{color:var(--green);font-weight:600}.attraction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.attraction-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;transition:transform .18s,box-shadow .18s}.attraction-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.attraction-card-content{overflow-wrap:anywhere;flex-direction:column;height:100%;padding:22px;display:flex}.attraction-card h3{margin:18px 0 3px}.attraction-card h3 a{text-decoration:none}.attraction-card h3 a:after{content:"";position:absolute;inset:0}.attraction-card-content{position:relative}.attraction-card .chinese-name{margin-bottom:12px}.card-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge{background:var(--green-light);width:fit-content;color:var(--green);border-radius:999px;align-items:center;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.badge.popular{background:var(--accent-soft);color:#82321e}.guide-status{color:var(--muted);font-size:.72rem}.card-location{color:var(--muted);text-transform:capitalize;font-size:.8rem}.card-summary{color:var(--muted);font-size:.9rem}.attraction-card .text-link{margin-top:auto;padding-top:12px}.trust-panel{background:#e8eee7;border-radius:24px;padding:clamp(28px,5vw,56px)}.trust-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:48px;display:grid}.trust-list{margin:0;padding:0;list-style:none}.trust-list li{border-top:1px solid #c9d4c8;padding:18px 0}.trust-list strong{display:block}.trust-list p{color:var(--muted);margin:4px 0 0;font-size:.9rem}.directory-intro{padding-block:48px 30px}.directory-intro h1,.page-intro h1{font-size:clamp(2.6rem,5vw,4.5rem)}.directory-intro p{max-width:760px}.directory-filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:2fr repeat(4,1fr) auto;align-items:end;gap:12px;margin-bottom:18px;padding:20px;display:grid}.directory-filters label,.field label,.field-label{margin-bottom:6px;font-size:.76rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--control-border);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}input::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled,textarea:disabled{color:#535f57;opacity:1;cursor:not-allowed;background:#e4e7e1}.directory-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;margin-bottom:20px;font-size:.85rem;display:flex}.directory-summary p{margin:0}.directory-sort-note{max-width:620px;font-size:.76rem}.directory-sort-note summary{color:var(--green);cursor:pointer}.directory-sort-note p{margin-top:9px;line-height:1.6}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:48px}.page-intro{padding-block:52px 34px}.page-intro>p{max-width:760px;color:var(--muted);font-size:1.05rem}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;font-size:.8rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#9ca49f;margin-left:8px}.detail-hero{border-bottom:1px solid var(--line);padding-block:40px 48px}.detail-hero h1{max-width:900px;font-size:clamp(2.6rem,5vw,4.8rem)}.detail-hero .chinese-name{font-size:1.3rem}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:.88rem;display:flex}.directory-tagline{color:var(--muted);font-size:1.15rem}.booking-notes{padding-left:1.2rem;font-size:.88rem}.booking-notes li+li{margin-top:.6rem}.guide-illustration{margin:2rem 0}.guide-illustration img{border:1px solid var(--line);border-radius:12px;width:100%;height:auto;display:block}.guide-illustration figcaption{color:var(--muted);margin-top:.6rem;font-size:.85rem}.entry-policy{border-top:1px solid var(--line);padding-block:1rem}.guide-index{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.65rem 1.8rem;padding-left:1.2rem;display:grid}.detail-layout{grid-template-columns:minmax(0,1fr) 330px;gap:56px;padding-block:46px 70px;display:grid}.detail-content{min-width:0}.detail-sidebar{align-self:start;position:sticky;top:20px}.sidebar-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:24px}.sidebar-card h2{margin:0 0 16px;font-size:1.45rem}.sidebar-card .button{width:100%;margin-top:12px}.fact-list{margin:0}.fact-list div{border-top:1px solid var(--line);padding-block:11px}.fact-list dt{color:var(--muted);font-size:.75rem;font-weight:600}.fact-list dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.9rem}.prose{font-size:1rem}.prose h2{margin:42px 0 16px;font-size:2rem}.prose h3{margin:30px 0 12px}.prose p,.prose li{color:#35423b}.prose li+li{margin-top:8px}.prose a{color:var(--green)}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);margin-inline:0;padding:16px 22px}.notice{border-left:3px solid var(--gold);background:#f4ecd8;border-radius:0 12px 12px 0;margin-block:20px;padding:18px 20px}.notice p:last-child{margin-bottom:0}.help-card{background:var(--green-light);border-radius:12px;margin-block:10px;padding:16px 18px}.help-card strong{font-size:.76rem;display:block}.help-card p{margin:5px 0 0;font-family:PingFang SC,Microsoft YaHei,sans-serif}.sources{border-top:1px solid var(--line);margin-top:52px;padding-top:28px}.sources h2{font-size:1.7rem}.source-list{padding-left:22px}.source-list li{padding:12px 0}.source-list a{color:var(--green);overflow-wrap:anywhere}.source-list p{color:var(--muted);margin:5px 0 0;font-size:.82rem}.source-date{color:var(--muted);font-size:.75rem;display:block}.external-mark{font-size:.8em}.related-section{border-top:1px solid var(--line);padding-block:42px}.playbook-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.playbook-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:26px}.playbook-card h2{margin:14px 0 10px;font-size:1.65rem}.playbook-card p{color:var(--muted)}.experience-card{flex-direction:column;align-items:stretch;min-width:0;padding:0;display:flex;overflow:hidden}.experience-card-body{flex-direction:column;flex:1;align-items:flex-start;padding:24px;display:flex}.experience-card-body>.text-link:last-child{margin-top:auto}.experience-card h2{margin:16px 0 10px;font-size:1.45rem}.experience-card-image{aspect-ratio:16/10;background:#e8e6dc;display:block;position:relative;overflow:hidden}.experience-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.experience-card-image:hover img{transform:scale(1.025)}.experience-card-credit{justify-content:space-between;align-items:start;gap:12px;padding:0 24px 18px;display:flex}.experience-card-credit .photo-credit,.experience-card-credit a{color:var(--muted);font-size:.68rem;font-weight:400;line-height:1.5}.photo-source-link{white-space:nowrap}.experience-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.experience-hero-grid{max-width:1180px}.experience-hero-copy{min-width:0}.experience-hero-with-photo{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.experience-hero-with-photo h1{font-size:clamp(2.4rem,4.2vw,4.2rem)}.experience-cover{min-width:0;margin:0}.experience-cover-frame{aspect-ratio:4/3;background:#e8e6dc;border-radius:20px;overflow:hidden}.experience-cover-frame img{object-fit:cover;width:100%;height:100%;display:block}.photo-contain img{object-fit:contain}.experience-cover figcaption{padding:12px 2px 0;line-height:1.5}.photo-caption{color:var(--muted);font-size:.82rem;display:block}.photo-details{color:var(--muted);margin-top:8px;font-size:.72rem}.photo-details summary{cursor:pointer;width:fit-content}.photo-credit-full{overflow-wrap:anywhere;padding-top:8px;display:block}.photo-credit-full a{text-underline-offset:2px}.photo-changes{margin-top:4px;display:block}.content-photo{min-width:0;margin:0 0 28px}.content-photo-frame{aspect-ratio:16/9;background:#e8e6dc;border-radius:16px;position:relative;overflow:hidden}.content-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.content-photo figcaption{padding:10px 2px 0;line-height:1.5}.content-photo-compact{margin:0}.context-photo-label{color:var(--green);background:#fffefaf0;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:600;position:absolute;bottom:12px;left:12px}.city-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:40px;display:grid}.city-intro-copy{min-width:0}.city-intro-grid h1{font-size:clamp(2.5rem,4vw,4rem)}.city-intro-grid .content-photo{margin:0}.city-intro-grid .content-photo-frame{aspect-ratio:4/3}.city-photo-card,.playbook-photo-card{padding:0;overflow:hidden}.city-photo-card .content-photo-frame,.playbook-photo-card .content-photo-frame{border-radius:16px 16px 0 0}.city-photo-card .content-photo figcaption,.playbook-photo-card .content-photo figcaption{padding-inline:22px}.city-photo-card-body,.playbook-photo-card-body{padding:24px}.attraction-card{flex-direction:column;display:flex;overflow:hidden}.attraction-item{min-width:0}.attraction-item>.attraction-card{height:100%}.itinerary-city-photo{max-width:900px;margin-block:24px}.attraction-card-content{flex:1;height:auto}.catalog-photo-link{aspect-ratio:16/10;background:#e8e6dc;display:block;position:relative}.catalog-photo-link img{object-fit:cover;width:100%;height:100%;display:block}.catalog-photo-link.photo-contain img,.content-photo-frame.photo-contain img{object-fit:contain}.catalog-photo-credit{color:var(--muted);justify-content:space-between;align-items:start;gap:12px;padding:9px 16px 0;font-size:.66rem;line-height:1.4;display:flex}.catalog-photo-credit>a{white-space:nowrap}@media (width<=800px){.city-intro-grid{grid-template-columns:1fr;gap:28px}}@media (width<=1024px){.experience-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.experience-hero-with-photo{grid-template-columns:1fr}.experience-cover-frame{aspect-ratio:16/10}}@media (width<=640px){.experience-photo-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.experience-card-image img{transition:none}}.experience-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.experience-facts>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px}.experience-facts dt{color:var(--green);margin-bottom:8px;font-weight:700}.experience-facts dd{color:var(--muted);margin:0;font-size:.94rem}.preparation-links{gap:12px;display:grid}.preparation-link{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:5px;padding:20px;text-decoration:none;display:grid}.preparation-link:hover{background:var(--green-light)}.preparation-link strong{color:var(--green)}.preparation-link span{color:var(--muted);font-size:.9rem}.troubleshooting{margin-block:30px}.troubleshooting details{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-block:10px;padding:16px 18px}.troubleshooting summary{cursor:pointer;font-weight:600}.troubleshooting details>div{padding-top:14px}.planner-controls{border-radius:var(--radius);background:var(--green);color:#fff;padding:28px}.planner-controls h2{margin:0 0 8px}.planner-controls .eyebrow{color:#f0c773}.planner-controls .muted{color:#cfddd5}.planner-form{grid-template-columns:1.6fr 1fr auto;align-items:end;gap:14px;margin-top:24px;display:grid}.planner-form .button{min-height:45px}.planner-status-row{justify-content:space-between;align-items:center;gap:20px;margin-block:22px;display:flex}.planner-status-row p{margin:0;font-size:.85rem}.planner-actions{flex-wrap:wrap;gap:8px;display:flex}.planner-selections{gap:16px;display:grid}.planner-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.planner-card-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.planner-card-heading h3{margin:12px 0 2px}.planner-card-heading .chinese-name{font-size:.85rem}.planner-card-body{grid-template-columns:220px 1fr;align-items:start;gap:24px;padding-block:16px;display:grid}.planner-card-body p{margin-bottom:5px}.planner-card-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:18px;padding-top:14px;font-size:.82rem;display:flex}.itinerary-loader{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:end;gap:12px;margin-top:24px;padding:20px;display:flex}.itinerary-loader .field{flex:1}.itinerary-list{gap:22px;display:grid}.itinerary-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:68px 1fr;gap:24px;padding:28px;display:grid}.itinerary-day-number{border-right:1px solid var(--line);color:var(--accent);flex-direction:column;align-items:center;padding-right:20px;display:flex}.itinerary-day-number span{letter-spacing:.12em;font-size:.65rem;font-weight:700}.itinerary-day-number strong{font-family:Newsreader,Georgia,serif;font-size:2.5rem;font-weight:500}.itinerary-day-content h2{margin:0 0 16px}.itinerary-day-content{min-width:0}.route-choice{margin-block:18px}.route-choice p{margin-top:8px}.itinerary-day-content .eyebrow{margin-bottom:8px}.itinerary-attractions{flex-wrap:wrap;gap:8px 18px;margin-bottom:18px;font-size:.86rem;display:flex}.itinerary-attractions span{color:var(--muted)}.entry-shell{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:36px;display:grid}.entry-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.entry-form .field{margin-bottom:16px}.entry-form .button{width:100%}.entry-form-note{color:var(--muted);margin:14px 0 0;font-size:.78rem}.entry-results{min-width:0}.entry-result{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:16px;padding:24px}.entry-result h2{margin:12px 0;font-size:1.7rem}.entry-result ul{padding-left:20px}.entry-result li+li{margin-top:8px}.entry-result .source-list{font-size:.85rem}.entry-empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:30px}.entry-ticket{align-items:flex-start;gap:10px;font-size:.85rem;display:flex}.entry-ticket input{flex:none;width:18px;height:18px;margin:4px 0 0}@media (width<=760px){.planner-form,.planner-card-body,.entry-shell{grid-template-columns:1fr}.planner-status-row{flex-direction:column;align-items:flex-start}.itinerary-loader{flex-direction:column;align-items:stretch}.itinerary-day{grid-template-columns:42px 1fr;gap:16px;padding:20px}.itinerary-day-number{padding-right:12px}}.site-footer{color:#dbe4df;background:#102e27;padding-block:52px 26px}.footer-grid{grid-template-columns:1.5fr .7fr .7fr 1.3fr;gap:36px;display:grid}.footer-grid h2{text-transform:uppercase;letter-spacing:.1em;color:#f0c773;font-family:DM Sans,sans-serif;font-size:.78rem}.footer-grid a{color:#dbe4df;margin-block:7px;font-size:.86rem;text-decoration:none;display:block}.footer-grid p{color:#aebfb5;font-size:.85rem}.footer-wordmark{margin-bottom:16px}.footer-wordmark .wordmark-mark{color:#102e27;background:#f0c773}.footer-bottom{border-top:1px solid #ffffff26;justify-content:space-between;gap:30px;margin-top:36px;padding-top:22px;display:flex}.footer-bottom p{color:#9eb1a6;max-width:520px;margin:0;font-size:.72rem}@media (width<=1050px){.header-inner{flex-direction:column;align-items:flex-start;gap:10px;padding-block:18px}.site-nav{gap:20px;width:100%;padding-bottom:4px;overflow-x:auto}.site-nav a{white-space:nowrap}.directory-filters{grid-template-columns:repeat(3,1fr)}.filter-search{grid-column:span 2}.attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.container,.narrow{width:min(100% - 28px,1180px)}.section{padding-block:44px}.hero-inner{padding-block:54px 42px}.hero-stats{gap:22px}.task-grid,.trust-grid,.detail-layout{grid-template-columns:1fr}.trust-grid{gap:20px}.section-heading{flex-direction:column;align-items:start}.detail-sidebar{position:static}.directory-filters{grid-template-columns:repeat(2,1fr);padding:16px}.filter-search{grid-column:1/-1}.filter-reset{min-height:44px}.playbook-grid,.experience-facts{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:12px}}@media (width<=520px){.attraction-grid,.directory-filters{grid-template-columns:1fr}.filter-search{grid-column:auto}.hero-actions .button{width:100%}.footer-grid{grid-template-columns:1fr}.detail-hero h1{font-size:2.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.travel-select{width:100%;min-width:0;position:relative}.select-trigger{position:relative}.select-control{text-overflow:ellipsis;min-width:0;min-height:46px;padding-right:46px;transition:border-color .16s,box-shadow .16s}.select-control:hover:not(:disabled){border-color:var(--green)}.select-control[readonly]{cursor:pointer;caret-color:#0000}.travel-select[data-placeholder=true] .select-control{color:var(--muted)}.travel-select[data-open=true] .select-control{border-color:var(--green);box-shadow:0 0 0 3px #123f351a}.select-control[aria-invalid=true]{border-color:var(--accent)}.select-toggle{width:44px;color:var(--green);background:0 0;border:0;border-radius:0 9px 9px 0;place-items:center;padding:12px;display:grid;position:absolute;top:1px;bottom:1px;right:1px}.select-toggle:hover:not(:disabled){background:var(--green-light)}.select-toggle:disabled{color:var(--muted);cursor:not-allowed}.select-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .16s}.travel-select[data-open=true] .select-toggle svg{transform:rotate(180deg)}.select-panel{background:var(--surface);color:var(--ink);z-index:100;border:1px solid #c6d1c7;border-radius:14px;flex-direction:column;margin:0;padding:6px;font-size:.94rem;line-height:1.45;display:flex;position:fixed;inset:auto;overflow:hidden;box-shadow:0 12px 32px #17241f29,0 2px 6px #17241f0f}.select-panel-heading{color:var(--muted);flex-shrink:0;justify-content:space-between;gap:16px;padding:7px 10px 10px;font-size:.75rem;display:flex}.select-count{white-space:nowrap;font-variant-numeric:tabular-nums}.select-options{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a6b8ab transparent;touch-action:pan-y;min-height:0;overflow-y:auto}.select-option{cursor:pointer;overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:10px 12px;display:flex}.select-option>span:first-child{min-width:0}.select-option[data-selected=true]{color:var(--green);background:#edf3ec;font-weight:600}.select-option[data-active=true]{background:var(--green-light);color:var(--green);box-shadow:inset 0 0 0 1px #b6c9bb}.select-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.select-check{width:20px;color:var(--green);visibility:hidden;flex-shrink:0;font-weight:700}.select-option[data-selected=true] .select-check{visibility:visible}.select-empty{color:var(--muted);text-align:center;padding:24px 14px;font-size:.88rem}.select-error{color:var(--accent);margin:7px 0 0;font-size:.8rem;line-height:1.4}.planner-controls .select-error{color:#ffe4d6}@media (prefers-reduced-motion:reduce){.select-control,.select-toggle svg{transition:none}}@media (forced-colors:active){.select-panel{border-color:canvastext}.select-option[data-active=true]{outline-offset:-2px;outline:2px solid highlight}.select-option[data-selected=true]{border:1px solid canvastext}}.travel-date{width:100%;min-width:0;position:relative}.date-native{opacity:0;pointer-events:none;clip-path:inset(50%);width:1px;height:1px;margin:0;padding:0;position:absolute}.date-control{border:1px solid var(--control-border);width:100%;min-width:0;min-height:46px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .16s,box-shadow .16s;display:flex}.date-control span{font-variant-numeric:tabular-nums;min-width:0}.date-control svg{fill:none;width:21px;height:21px;stroke:var(--green);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.travel-date[data-placeholder=true] .date-control{color:var(--muted)}.date-control:hover:not(:disabled),.travel-date[data-open=true] .date-control{border-color:var(--green)}.travel-date[data-open=true] .date-control{box-shadow:0 0 0 3px #123f351f}.date-control[aria-invalid=true]{border-color:var(--accent)}.date-control:disabled{color:#535f57;cursor:not-allowed;background:#e4e7e1}.date-error{color:var(--accent);margin:7px 0 0;font-size:.8rem;line-height:1.4}.planner-controls .date-error{color:#ffe4d6}.date-panel{--focus-color:var(--green);background:var(--surface);max-width:calc(100vw - 24px);color:var(--ink);overscroll-behavior:contain;border:1px solid #c6d1c7;border-radius:20px;margin:0;padding:18px;font-family:DM Sans,sans-serif;font-size:.88rem;line-height:1.45;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 20px 60px #0a251c38}.date-panel::backdrop{background:#0d251c29}.date-panel .visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.date-panel-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.date-panel-top h2{color:var(--muted);letter-spacing:.02em;margin:0;font:600 .8rem DM Sans,sans-serif}.date-panel button{cursor:pointer;-webkit-tap-highlight-color:transparent}.date-panel button:disabled{cursor:not-allowed}.date-icon-button{width:42px;height:42px;color:var(--green);background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;padding:0;font-size:1.6rem;line-height:1}.date-icon-button:hover:not(:disabled),.date-month-title:hover{background:var(--green-light)}.date-icon-button:disabled{color:#b4bbb5}.date-panel-top .date-icon-button{margin-right:-6px;font-size:1.5rem}.date-month-nav{justify-content:space-between;align-items:center;gap:4px;margin-bottom:12px;display:flex}.date-month-title{min-height:42px;color:var(--green);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:6px 10px;font-size:1.08rem;font-weight:700;display:flex}.date-grid{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}.date-grid th{color:var(--muted);text-align:center;background:0 0;border:0;padding:3px 0 8px;font-size:.72rem;font-weight:500}.date-grid abbr{text-decoration:none}.date-grid td{text-align:center;background:0 0;border:0;padding:0}.date-day{width:100%;min-width:0;height:40px;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:10px;padding:0;font-size:.88rem;font-weight:500;position:relative}.date-day[data-outside=true]{color:#6b786e}.date-day[aria-current=date]{border-color:#99b6a4}.date-day:hover:not(:disabled){background:var(--green-light);color:var(--green)}.date-day[data-selected=true],.date-day[data-selected=true]:hover{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}.date-day:disabled{color:#a3aaa4;text-decoration:line-through #c6cdc6}.date-day:focus-visible{outline-offset:-2px;outline-width:2px}.date-month-view{min-height:294px}.date-year-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.date-year-nav input{text-align:center;appearance:textfield;width:110px;min-height:44px;font-size:1rem;font-weight:600}.date-year-nav input::-webkit-inner-spin-button{appearance:none}.date-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.date-month-grid button{border:1px solid var(--line);min-height:46px;color:var(--green);background:#fff;border-radius:10px;padding:8px;font-weight:500}.date-month-grid button:hover:not(:disabled),.date-month-grid button[aria-pressed=true]{background:var(--green-light);border-color:#99b6a4}.date-month-grid button:disabled{color:#a3aaa4;background:#f3f4ef}.date-quick-actions{border-top:1px solid var(--line);gap:8px;margin-top:10px;padding-top:14px;display:flex}.date-quick-actions button,.date-manual button{min-height:40px;color:var(--green);background:#fff;border:1px solid #c6d1c7;border-radius:10px;padding:8px 12px;font-size:.8rem;font-weight:600}.date-quick-actions button:hover:not(:disabled){background:var(--green-light)}.date-quick-actions button:disabled{opacity:.45}.date-quick-actions [data-clear]{color:var(--muted);border-color:#0000;margin-left:auto;font-weight:400}.date-manual{margin-top:14px}.date-manual label{color:var(--ink);margin-bottom:6px;font-size:.74rem;font-weight:500;display:block}.date-manual label span{color:var(--muted);font-weight:400}.date-manual>div{gap:8px;display:flex}.date-manual input{min-width:0;min-height:44px;padding:8px 10px;font-size:16px}.date-manual input[aria-invalid=true]{border-color:var(--accent)}.date-manual button{background:var(--green);color:#fff;border-color:var(--green)}.date-manual button:hover{background:#225b49}.date-panel-error{color:#a32d18;margin:8px 0 0;font-size:.76rem}.date-today-note{color:var(--muted);margin:12px 0 0;font-size:.7rem}@media (width<=600px){.date-panel{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:22px}.date-panel::backdrop{background:#0d251c52}.date-day{height:42px}.date-quick-actions button,.date-icon-button{min-height:44px}}@media (prefers-reduced-motion:reduce){.date-control{transition:none}}@media (forced-colors:active){.date-panel,.date-day[aria-current=date]{border-color:canvastext}.date-day[data-selected=true]{outline-offset:-2px;outline:2px solid highlight}}
