/* Hallmark · shape: app screen · genre: editorial · theme: brand · redesign: full · brand: WanMiles supplied icon · nav: kept four bottom tabs · signature: Beijing photograph and preparation · posture: restrained · states: retained local workflows · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V3 · weakest: V, familiar tool tiles; restored Beijing photograph and asymmetric desktop composition. */
/* Hallmark · waive 3 · six named travel services retained · direct access is required by the owner, inline icons keep the travel tools compact. */
/* Hallmark · waive 65 · palette explicitly pinned by the owner · rice white and Song headings belong to the approved WanMiles logo and product brief. */
/* Hallmark · answered F7 · shared form wells have one radius; destination photographs are uncontained, preparation uses a well and controls use a smaller radius. */
/* Hallmark · finish-review: subagent · 3 findings · 2 resolved, 1 partial: first phone tools now visible; requested Beijing header retained above them. */
:root{
 --color-paper:var(--paper);--color-ink:var(--ink);--color-accent:var(--green);--color-accent-ink:#f7f8f4;
 --travel-surface:#fdfdf9;--travel-well:#e9eee6;--travel-rule:#d9dfd5;--travel-muted:#526257;
 --travel-edge:#7d8d7c;--travel-focus:#225d50;--travel-hover:#e1e8dc;--travel-pressed:#d4dfce;
 --travel-disabled:#e4e8df;--travel-disabled-ink:#5b6656;--travel-clay:#f2ebe4;
 --font-travel-display:Georgia,'SimSun',serif;--font-travel-body:var(--font-body);
 --radius-travel-card:24px;--radius-travel-control:14px;--radius-travel-image:20px;
 --space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;
 --travel-duration:120ms;--travel-ease:cubic-bezier(.2,.7,.3,1);--travel-container:1100px;
}
html,body{overflow-x:clip}
html{scrollbar-color:var(--travel-edge) var(--color-paper)}
body{caret-color:var(--color-accent)}
::selection{background:var(--travel-pressed);color:var(--color-ink)}
.app-shell{max-width:var(--travel-container);background:var(--color-paper)}
.app-header{min-height:80px;padding:var(--space-md) var(--space-lg);background:var(--color-paper)}
.app-header .wordmark{font-family:var(--font-travel-body);font-size:25px;font-weight:700;letter-spacing:-1px;gap:var(--space-sm)}
.app-header .wordmark span{font-family:var(--font-travel-display);font-size:17px;font-weight:400;letter-spacing:0}
.wordmark img{width:34px;height:34px;border-radius:10px}
.avatar{width:44px;height:44px;background:var(--travel-well);color:var(--color-accent);font-size:16px}
.view{padding-inline:var(--space-lg);padding-bottom:var(--space-xl);min-width:0}
h1,h2,h3{overflow-wrap:break-word;min-width:0;text-wrap:balance;font-synthesis:none}
.view :is(h1,h2),.scene-heading h1,.scene-intro h1{font-family:var(--font-travel-display);font-weight:400;letter-spacing:-.7px}
.view h1,.scene-intro h1{font-size:34px;line-height:1.16}
.view h2{font-size:26px;line-height:1.25}
p{line-height:1.65;text-wrap:pretty}
.home-greeting{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:44px;margin:0;color:var(--travel-muted);font-size:12px}
.home-greeting .text-control{font-size:13px;white-space:nowrap}
.scene-intro{padding:var(--space-md) 0 var(--space-lg);margin:0}
.scene-intro h1{margin:0 0 var(--space-sm);max-width:22ch}
.scene-intro>p:last-child{font-size:13px;color:var(--travel-muted);margin:0;max-width:45ch}
.beijing-header{margin:0 0 var(--space-lg);min-width:0}
.beijing-header>img{display:block;width:100%;height:210px;object-fit:cover;object-position:50% 52%;border-radius:var(--radius-travel-image);background:var(--travel-well)}
.beijing-header figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) 0 0}
.beijing-header h2{margin:0;font-size:24px;line-height:1.3}
.beijing-header h2 span{font-size:17px;margin-left:var(--space-xs);color:inherit}
.beijing-header figcaption p{font-size:12px;line-height:1.5;color:var(--travel-muted);margin:var(--space-2xs) 0 0;max-width:45ch}
.beijing-open{width:44px;min-width:44px;height:44px;padding:var(--space-sm);border:0;border-radius:50%;background:var(--travel-well);color:var(--color-accent);cursor:pointer}
.beijing-open svg{width:20px;height:20px;display:block}
.scene-preparation{padding:var(--space-lg);margin:0 0 var(--space-lg);border:0;border-radius:var(--radius-travel-card);background:var(--travel-well);display:block}
.scene-preparation h2{margin:0 0 var(--space-xs);font-size:25px}
.scene-preparation p{font-size:13px;color:var(--travel-muted);margin:0}
.preparation-progress{display:block;appearance:none;width:100%;height:4px;border:0;border-radius:2px;background:var(--travel-rule);color:var(--color-accent);margin:var(--space-md) 0 var(--space-xs)}
.preparation-progress::-webkit-progress-bar{background:var(--travel-rule);border-radius:2px}
.preparation-progress::-webkit-progress-value{background:var(--color-accent);border-radius:2px}
.preparation-progress::-moz-progress-bar{background:var(--color-accent);border-radius:2px}
.scene-preparation .text-control{min-height:44px;display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-md);font-size:13px;padding:var(--space-xs) 0 0;white-space:nowrap}
.preparation-tools{margin:var(--space-lg) 0 var(--space-xl)}
.preparation-tools>.section-title{margin:0 0 var(--space-md)}
.preparation-tools .section-title h2{font-family:var(--font-travel-display);font-size:26px}
.preparation-tools .shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}
.preparation-tools .service-card{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-xs);min-height:52px;padding:var(--space-sm);border:0;border-radius:var(--radius-travel-control);background:var(--travel-well);color:var(--color-accent);text-align:left}
.preparation-tools .service-card strong{font:500 13px/1.4 var(--font-travel-body);color:inherit;min-width:0}
.preparation-tools .service-icons{display:block;flex-shrink:0;width:20px;height:20px;background:none;padding:0}
.preparation-tools .service-icons svg{width:20px;height:20px;color:inherit}
.preparation-tools .service-card>svg{display:none}
.preparation-tools .service-emergency{background:var(--travel-clay)}
.preparation-tools .access-prompt{padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm);min-height:52px;border-radius:var(--radius-travel-control);font-size:14px;background:var(--travel-well);color:var(--color-accent);white-space:nowrap}
.home-explore-preview{padding:var(--space-lg) 0 0;border-top:1px solid var(--travel-rule)}
.home-explore-preview h2{margin:0 0 var(--space-sm)}
.home-explore-preview>p{font-size:14px;color:var(--travel-muted);margin:0;max-width:65ch}
.home-explore-preview .quiet{margin-top:var(--space-md);font-size:14px}
.bottom-nav{width:calc(100% - 32px);max-width:640px;bottom:max(12px,env(safe-area-inset-bottom));padding:var(--space-xs);border:1px solid var(--travel-rule);border-radius:28px;background:var(--travel-surface);backdrop-filter:none;min-height:72px}
.bottom-nav button{min-height:52px;border-radius:20px;font-size:12px;color:var(--travel-muted);gap:var(--space-2xs);background:none;flex-direction:column}
.bottom-nav button.active{background:var(--travel-well);color:var(--color-accent)}
.bottom-nav button svg{width:23px;height:23px}
.view :is(.scene-eyebrow,.destination-eyebrow,.overview-label,.entry-eyebrow){font:400 12px/1.5 var(--font-travel-body);letter-spacing:0;text-transform:none}
.view :is(.intro,.page-heading){padding:var(--space-lg) 0}
.view .intro p{font-size:14px;color:var(--travel-muted)}
.view :is(.primary,.quiet,.text-control,.back-link),dialog :is(.primary,.quiet){font-family:var(--font-travel-body);font-size:14px;min-height:44px;line-height:1.5;letter-spacing:0}
.view :is(.primary,.quiet),dialog :is(.primary,.quiet){border-radius:var(--radius-travel-control);padding:var(--space-sm) var(--space-md)}
.view .primary,dialog .primary{background:var(--color-accent);color:var(--color-accent-ink)}
.view .quiet,dialog .quiet{background:var(--travel-well);color:var(--color-accent)}
.view :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-family:var(--font-travel-body);font-size:16px;border-color:var(--travel-edge);border-radius:var(--radius-travel-control);background:var(--travel-surface);color:var(--color-ink)}
.view :is(.scene-panel,.entry-form-shell,.journey-overview,.journey-state,.communication-card,.traveller-summary){background:var(--travel-well);border:0;border-radius:var(--radius-travel-card)}
.view :is(.scene-note,.fine-print,.muted){color:var(--travel-muted)}
.view .scene-panel>p,.scene-panel .field,.scene-check,.scene-external{font-size:14px}
.view .scene-panel .scene-communication{background:none;border:0;padding:var(--space-lg) 0 0;border-top:1px solid var(--travel-rule);border-radius:0}
.local-explore{background:none;border-radius:0;padding:var(--space-lg) 0;margin:0}
.local-explore h2{margin:0 0 var(--space-md);font-size:25px}
.local-explore .scene-shortcuts>button{background:var(--travel-well);border:0;border-radius:var(--radius-travel-card);padding:var(--space-md);min-height:144px;gap:var(--space-xs)}
.local-explore .scene-shortcuts>button:first-child{background:var(--travel-well)}
.scene-shortcut-icon{background:none;border-radius:0;padding:0}
.local-explore .scene-shortcuts small{font-size:12px;color:var(--travel-muted)}
.destination-card.card,.destination-card.postcard-place{background:none;border:0;border-radius:0}
.destination-card .destination-media{border-radius:var(--radius-travel-image);aspect-ratio:3/2}
.destination-card .destination-body{padding:var(--space-md) 0 var(--space-lg)}
.destination-card .destination-name{font-family:var(--font-travel-display);font-size:28px}
.destination-card .destination-description{font-size:14px;line-height:1.65;color:var(--travel-muted);min-height:0}
.destination-card .destination-actions{gap:var(--space-xs);border:0}
.destination-card .destination-actions button{border-radius:var(--radius-travel-control);font-size:13px;min-height:44px}
.journey-steps .step-label{letter-spacing:0;text-transform:none;font-size:12px}
.journey-steps .step-label small{font-size:11px}
.stop-actions button[disabled]{background:var(--travel-disabled);color:var(--travel-disabled-ink);opacity:1;cursor:not-allowed}
button,a,input,select,textarea,summary{transition:none}
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--travel-focus);outline-offset:3px;transition:none!important}
:is(button,a):active{transform:translateY(1px)}
button:disabled,[aria-disabled=true]{background:var(--travel-disabled);color:var(--travel-disabled-ink);opacity:.65;cursor:not-allowed;transform:none}
button[aria-busy=true]{cursor:progress}
@media(hover:hover){.beijing-open:hover,.preparation-tools .service-card:hover,.preparation-tools .access-prompt:hover,.view .quiet:hover{background:var(--travel-hover)}.view .primary:hover{background:var(--deep)}.destination-card:hover img{transform:none}}
@media(min-width:900px){
 .app-header{padding:var(--space-lg) var(--space-2xl);min-height:96px}
 .view{padding-inline:var(--space-2xl)}
 #view-home:not([hidden]){display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:0 var(--space-xl)}
 .home-greeting{grid-column:1/-1;grid-row:1;margin-bottom:var(--space-lg)}
 .scene-intro{grid-column:1;grid-row:2;padding:var(--space-md) 0 var(--space-lg)}
 .scene-intro h1{font-size:38px}
 .scene-intro h1 br{display:block}
 .scene-intro>p:last-child{font-size:14px;max-width:45ch}
 .beijing-header{grid-column:2;grid-row:2/4;margin:0;align-self:stretch}
 .beijing-header>img{height:310px}
 .scene-preparation{grid-column:1;grid-row:3;align-self:start;margin:0}
 .preparation-tools{grid-column:1/-1;grid-row:4;margin:var(--space-xl) 0}
 .preparation-tools .shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}
 .home-explore-preview{grid-column:1/-1;grid-row:5}
 .destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
 .local-explore{max-width:none}
 .local-explore .scene-shortcuts>button{min-height:130px}
}
@media(max-width:360px){.view{padding-inline:var(--space-md)}.app-header{padding-inline:var(--space-md)}.app-header .wordmark{font-size:22px;gap:var(--space-xs)}.app-header .wordmark span{font-size:15px}.home-greeting>span{font-size:11px}.scene-intro h1{font-size:30px}.scene-preparation{padding:var(--space-md)}.preparation-tools .service-card{padding:var(--space-sm) var(--space-xs);gap:var(--space-xs)}.preparation-tools .service-card strong{font-size:12px}.beijing-header>img{height:190px}}
@media(max-width:899px){
 .app-header{min-height:72px;padding-block:var(--space-sm)}
 .home-greeting{min-height:32px}
 .scene-intro{padding:var(--space-xs) 0 var(--space-md)}
 .scene-intro h1{font-size:30px;line-height:1.12;margin-bottom:var(--space-xs)}
 .scene-intro>p:last-child{font-size:12px}
 .beijing-header{margin-bottom:var(--space-md)}
 .beijing-header>img{height:166px}
 .beijing-header figcaption{padding-top:var(--space-xs)}
 .beijing-header h2{font-size:22px}
 .beijing-header figcaption p{font-size:11px}
 .scene-preparation{padding:var(--space-md);margin-bottom:var(--space-md)}
 .scene-preparation h2{font-size:23px;margin-bottom:var(--space-2xs)}
 .scene-preparation p{font-size:12px}
 .preparation-progress{margin:var(--space-sm) 0 0}
 .scene-preparation .text-control{padding-top:0;min-height:40px}
 .preparation-tools{margin:var(--space-md) 0 var(--space-xl)}
 .preparation-tools>.section-title{margin-bottom:var(--space-sm)}
 .preparation-tools .section-title h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
