:root{color-scheme:light;--ink:var(--navy-deep);--panel:var(--surface);--acid:var(--orange)}
*{box-sizing:border-box}
html{background:var(--bg)}
body{min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink)}
body,button,.card{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body::before{content:"";position:fixed;z-index:1000;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
.shell{width:min(100%,540px);margin:auto;padding:calc(10px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));overflow:visible}
hr{margin-block:8px;border:0;border-top:1px solid var(--line)}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero-header{position:sticky;z-index:30;top:0;height:180px;display:grid;place-items:center;padding:0;background:var(--bg);isolation:isolate}
.hero-header{transition:height .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.hero-art{transition:opacity .22s ease,transform .3s ease,visibility 0s linear .3s}
.hero-brand,.hero-brand-title{transition:opacity .2s ease,transform .3s ease}
.hero-art{width:100%;opacity:1;transform:scale(1)}
.hero-logo{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;margin:0 auto;border-radius:16px}
.hero-logo-zh{display:none}
html[lang="zh-CN"] .hero-logo-en{display:none}
html[lang="zh-CN"] .hero-logo-zh{display:block}
.hero-brand{position:absolute;inset:0;display:flex;align-items:center;padding:8px 12px;opacity:0;transform:translateY(-4px);pointer-events:none}
.hero-brand-title{min-width:0;margin:0;color:var(--navy);font-size:clamp(15px,4.4vw,22px);font-weight:900;line-height:1;letter-spacing:-.035em;white-space:nowrap}
.hero-header.collapsed{height:60px;background:#fbf7f0;border-bottom:1px solid var(--line);box-shadow:0 4px 16px rgba(17,51,85,.06)}
.hero-header.collapsed .hero-art{visibility:hidden;opacity:0;transform:scale(.96)}
.hero-header.collapsed .hero-brand{opacity:1;transform:translateY(0);pointer-events:auto}
.utility-bar{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);margin:0 auto;padding:5px 2px 8px;border-bottom:1px solid var(--line)}
.step{margin:0;color:var(--orange-dark);font-size:11px;font-weight:800;line-height:1.15;letter-spacing:.12em;text-transform:uppercase}
.clock{display:grid;gap:3px;text-align:right}
.clock span,.result-context span{color:currentColor;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.11em;opacity:.68}
.clock strong{font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.language-toggle{min-width:58px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--navy);font-size:11px;font-weight:800;line-height:1;cursor:pointer}

.card{margin:18px 0 0;padding:24px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.utility-bar+.card{margin-top:4px;padding-top:14px}
.input-card{position:relative}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.section-heading>div{min-width:0;display:flex;align-items:center;gap:8px;flex:1}
.section-heading .step{flex:0 0 auto;font-size:22px;font-weight:800;line-height:1;letter-spacing:-.03em}
.optional-input .step,.current-status-card .step{font-size:9px;font-weight:800;line-height:1;letter-spacing:.04em}
.section-heading h2{min-width:0;margin:0;color:var(--navy);font-size:16px;line-height:1.08;letter-spacing:-.025em}
.live-link,.inline-change{min-height:32px;display:inline-flex;align-items:center;border:0;border-bottom:1px solid currentColor;padding:0 2px;background:transparent;color:var(--orange-dark);font-size:9px;font-weight:800;line-height:1.1;text-decoration:none;cursor:pointer}
.option-grid{display:grid;gap:8px}
.status-grid{grid-template-columns:repeat(2,1fr)}
.category-grid,.destination-grid,.feedback-grid,.wait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.location-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}
.camp-zone-grid{display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(255,250,241,.72)}
.camp-zone-grid .option-button{min-height:54px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}
.camp-zone-grid .option-button:last-child{border-bottom:0}
.camp-zone-grid .option-button.selected{background:var(--navy);color:var(--cream)}
.scenario-grid{grid-template-columns:repeat(2,1fr)}
.option-button{min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,250,241,.72);color:var(--navy);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.category-grid .option-button{min-height:46px;padding-block:7px}
.option-button strong{display:block;font-size:12px;font-weight:800;line-height:1.15}
.option-button span{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.1}
.option-button.selected{border-color:var(--navy);background:var(--navy);color:var(--cream)}
.option-button.selected span{color:#d9e2e5}
.location-grid .option-button{min-width:0;min-height:52px}
.location-control{position:relative;padding-right:34px}
.location-control::after{content:"+";position:absolute;right:14px;top:50%;translate:0 -50%;color:var(--orange-dark);font-size:20px;font-weight:700;line-height:1}
.location-control[aria-expanded="true"]::after{content:"−"}
.location-control.contains-selection{border-color:var(--navy)}
.location-subpanel{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,250,241,.48)}
.location-subheading{margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2}
.location-travel-context{margin:8px 0 0;padding:8px 11px;border-left:3px solid var(--orange);background:rgba(255,250,241,.58);color:var(--navy);font-size:11px;font-weight:750;line-height:1.3}
.trail-condition{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
.trail-condition-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.trail-condition-heading strong{color:var(--navy);font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.08em}
.trail-condition-heading span{color:var(--muted);font-size:10px;font-weight:650;line-height:1.25;text-align:right}
.trail-condition-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.trail-condition-button{min-width:0;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,250,241,.72);color:var(--navy);font-size:11px;font-weight:800;line-height:1.2;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.trail-condition-button.selected{border-color:var(--navy);background:var(--navy);color:var(--cream)}
.hint{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.3}
.category-grid+.hint{margin-top:5px}
.current-status-readout{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,250,241,.72)}
.current-status-readout strong{color:var(--navy);font-size:19px;font-weight:800;line-height:1}
.current-status-readout span{color:var(--muted);font-size:11px;font-weight:700;line-height:1.3;text-align:right}

.result-card{position:relative;overflow:hidden;margin:28px 0 18px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 12px 34px rgba(6,46,76,.06)}
.decision-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.decision-card-header>p{margin:0;color:var(--navy);font-size:16px;font-weight:850;line-height:1.15;letter-spacing:-.02em}
.arrival-basis-badge{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--risk-accent) 9%,transparent);color:var(--risk-accent);font-size:10px;font-weight:800;line-height:1;white-space:nowrap}
.arrival-basis-badge svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.recommendation{position:relative;margin:0 0 22px;padding:0;border:0}
.recommendation h2{display:block;width:100%;max-width:100%;min-width:0;margin:0;white-space:nowrap;color:var(--risk-accent);font-size:clamp(3.4rem,18vw,6.125rem);font-weight:900;line-height:.9;letter-spacing:-.055em;text-transform:uppercase;overflow-wrap:normal}
html[lang="zh-CN"] .recommendation h2{font-size:clamp(48px,14vw,76px);line-height:.92;letter-spacing:-.065em}
.result-card[data-verdict="UNCERTAIN"] .recommendation h2{font-size:clamp(2.5rem,12.5vw,4rem);line-height:.94;letter-spacing:-.045em}
.result-card.is-closed .recommendation h2{font-size:clamp(30px,9vw,48px);line-height:1.05;letter-spacing:-.035em;text-transform:none}
.result-summary{max-width:440px;margin:12px 0 0;color:var(--muted);font-size:16px;font-weight:700;line-height:1.4}
.destination-context{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.context-label,.result-stat>span{display:block;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.08em}
.destination-main{display:flex;align-items:center;gap:13px;margin-top:10px}
.bath-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--orange) 12%,var(--surface));color:var(--orange-dark);font-size:27px;line-height:1}
.destination-main>div{min-width:0}
.destination-context strong{display:block;color:var(--navy);font-size:22px;font-weight:850;line-height:1.15;letter-spacing:-.025em}
.destination-context small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.2}
.result-context.result-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:18px 0}
.result-stat{min-width:0;padding:0 13px;border-left:1px solid var(--line)}
.result-stat:first-child{padding-left:0;border-left:0}
.result-stat:last-child{padding-right:0}
.result-stat strong{display:block;margin-top:8px;color:var(--navy);font-size:19px;font-weight:850;line-height:1.12;font-variant-numeric:tabular-nums}
.arrival-context strong{font-size:28px}
.stat-detail{display:block;margin-top:9px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.3}
.walking-detail{display:flex;align-items:center;gap:5px}
.walking-detail svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.confidence-context{text-align:left}
.confidence-context .confidence-badge{display:inline-grid;place-items:center;min-width:34px;min-height:34px;padding:5px 9px;border-radius:999px;font-size:14px}
.confidence-badge[data-confidence="HIGH"]{background:rgba(46,125,104,.16);color:var(--success)}
.confidence-badge[data-confidence="MEDIUM"]{background:rgba(215,131,36,.2);color:#8b560f}
.confidence-badge[data-confidence="LOW"]{background:rgba(111,125,132,.16);color:#56666d}
.decision-alerts{padding:14px 15px;border:1px solid color-mix(in srgb,var(--risk-accent) 22%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--risk-accent) 5%,var(--surface))}
.explanation{position:relative;max-width:100%;margin:0;color:var(--navy);font-size:14px;font-weight:750;line-height:1.42}
.departure-rec{max-width:100%;margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);color:var(--navy);font-size:13px;font-weight:700;line-height:1.4}
.report-echo{max-width:100%;margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:12px;font-weight:650;letter-spacing:.02em;opacity:.85}
.report-echo .report-echo-wait{padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.14);font-weight:700}
.decision-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:17px;padding:0;color:var(--muted);font-size:9px;font-weight:700;line-height:1.35}
.decision-card-footer>span:last-child{text-align:right}
.decision-card-footer strong{color:inherit;font-weight:800;font-variant-numeric:tabular-nums}

.risk-visual-qa{margin-top:20px;padding:20px 2px}
.action-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}
.risk-visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.risk-visual-action,.risk-visual-state{min-height:74px;margin:0;padding:8px;display:grid;place-items:center;border-width:1px;border-radius:10px;font-size:10px;font-weight:800;line-height:1;text-align:center}
.risk-visual-action strong,.risk-visual-state strong{color:var(--risk-accent)}
.risk-visual-action{min-height:92px;font-size:20px;font-weight:900}
.risk-visual-action::before,.risk-visual-state::before{display:none}

.feedback-card{margin-top:19px}
.feedback-grid .option-button{position:relative}
.feedback-grid .option-button.reported{border-color:var(--success);background:#dceee7;color:var(--navy);animation:feedback-confirm .45s ease-out}
.feedback-grid .option-button.reported::after{content:"✓";position:absolute;top:8px;right:10px;color:var(--success);font-size:18px;font-weight:900;line-height:1}
.saved-message{min-height:12px;margin:7px 0 0;color:var(--success);font-size:11px;font-weight:800;line-height:1}
.feedback-toast{position:fixed;z-index:1200;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),420px);padding:14px 18px;border:1px solid rgba(46,125,104,.35);border-radius:14px;background:var(--navy);color:var(--cream);opacity:0;translate:-50% 12px;text-align:center;font-size:13px;font-weight:800;line-height:1.35;pointer-events:none;transition:opacity .18s ease,translate .18s ease}
.feedback-toast.is-visible{opacity:1;translate:-50% 0}
@keyframes feedback-confirm{0%{scale:.97}55%{scale:1.025}100%{scale:1}}
@media(prefers-reduced-motion:reduce){.feedback-grid .option-button.reported{animation:none}.feedback-toast{transition:none}}
.wait-feedback{margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.wait-feedback h3{margin:0;font-size:17px}
.wait-feedback .hint{margin:6px 0 12px}
.skip-button{min-height:44px;margin-top:8px;padding:5px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);font-size:11px;font-weight:800;line-height:1.5;cursor:pointer}

.sensor-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px;border:1px dashed var(--blue);border-radius:14px;background:var(--surface)}
.sensor-strip>div{min-width:0;display:grid;gap:4px}.mock-badge{width:max-content;padding:3px 5px;background:var(--warning);color:var(--navy-deep);font-size:8px;font-weight:800;line-height:1}.sensor-strip strong{font-size:14px;font-weight:800;line-height:1.1}.sensor-strip small{color:var(--muted);font-size:10px}.sensor-strip button{min-height:44px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:var(--cream);font-weight:800}.scenario-block{margin-bottom:14px}.scenario-block>span{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;line-height:1}.clock.is-mock-time span::after{content:" · MOCK";color:var(--orange)}

footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:19px 2px 0}.text-button{min-height:38px;border:0;border-bottom:1px solid currentColor;padding:4px 0;background:transparent;color:var(--navy);font-size:10px;font-weight:800;line-height:1.4;cursor:pointer}.text-button.danger{color:var(--danger)}.text-button span{display:inline}.field-meta{display:grid;justify-items:end;gap:4px;color:var(--muted);font-size:9px;font-weight:700;line-height:1.2}.field-meta a,.tool-link{color:var(--navy);text-decoration:none;border-bottom:1px solid currentColor}.update-action{position:sticky;z-index:40;top:4px;width:100%;min-height:44px;margin-bottom:6px;border:1px solid var(--navy);border-radius:10px;background:var(--orange);color:var(--cream);font-size:11px;font-weight:800;line-height:1;cursor:pointer}
[hidden]{display:none!important}

/* Internal tool pages remain functional but use the same warm field-guide palette. */
.tool-page .topbar{min-height:125px;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 2px;border-bottom:1px solid var(--line)}.tool-page .eyebrow{margin:0;color:var(--orange-dark);font-size:11px;font-weight:800;line-height:1.15;letter-spacing:.12em;text-transform:uppercase}.tool-page h1{margin:5px 0 0;font-size:30px}.tool-warning{margin:12px 0;padding:11px;border:1px solid var(--warning);border-radius:10px;color:var(--navy);text-align:center;font-size:10px;font-weight:800;line-height:1.2}.diagnostics-report{min-height:330px;margin:0 0 12px;padding:16px;overflow:auto;white-space:pre-wrap;border:1px solid var(--navy);border-radius:12px;background:var(--navy-deep);color:var(--cream);font:650 11px/1.65 ui-monospace,SFMono-Regular,monospace}.primary-tool-button,.secondary-tool-button{width:100%;min-height:50px;margin-bottom:9px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:var(--cream);font-size:11px;font-weight:800;line-height:1;cursor:pointer}.secondary-tool-button{background:var(--surface);color:var(--navy)}.secondary-tool-button.danger{color:var(--danger)}.tool-link{display:inline-block;margin-top:18px;font-size:10px;font-weight:800;line-height:2}.calibration-fields,.lab-fields{display:grid;gap:9px}.calibration-fields label,.lab-fields label{display:grid;gap:6px}.calibration-fields label span,.lab-fields label span{font-size:11px;font-weight:700;line-height:1.3}.calibration-fields input,.lab-fields input,.lab-fields select,#lab-backlog{width:100%;min-height:44px;padding:8px;border:1px solid var(--navy);border-radius:8px;background:var(--surface);color:var(--navy);font-size:13px;font-weight:700;line-height:1}

@media(max-width:390px){.shell{padding-left:14px;padding-right:14px}.hero-header{height:164px}.hero-header.collapsed{height:60px}.hero-logo{border-radius:12px}.clock strong{font-size:20px}.language-toggle{min-width:52px;padding:0 11px}.card{margin-top:16px;padding-top:21px;padding-bottom:21px}.section-heading h2{font-size:15px}.option-button{padding:8px 9px}.result-card{margin-top:24px;padding:19px 17px}.result-context strong{font-size:15px}.arrival-context strong{font-size:22px}.risk-visual-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:600px){.shell{padding-top:14px}}
