:root{--ink-900: #050807;--ink-800: #0a0f0d;--ink-700: #0e1613;--ink-600: #142019;--ink-500: #1b2a23;--line: rgba(233, 240, 234, .1);--line-strong: rgba(233, 240, 234, .2);--text: #e9f0ea;--text-dim: #9db0a4;--text-faint: #64786d;--accent: #5fe3b4;--accent-dim: #2f9c7b;--accent-glow: rgba(95, 227, 180, .25);--warn: #f0b457;--danger: #ff6b5a;--good: #7dffb4;--font-sans-zh: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Source Han Sans TC", "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;--font-sans-ja: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans TC", "PingFang TC", system-ui, sans-serif;--font-sans-en: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans TC", "PingFang TC", "Noto Sans JP", "Hiragino Sans", sans-serif;--font-serif-zh: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PingFang TC", "Noto Serif JP", Georgia, serif;--font-serif-ja: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif TC", Georgia, serif;--font-serif-en: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Noto Serif TC", "Noto Serif JP", "Times New Roman", serif;--font-mono-latin: "SFMono-Regular", "SF Mono", "JetBrains Mono", "Roboto Mono", Menlo, Consolas;--font-mono: var(--font-mono-latin), "Noto Sans TC", "PingFang TC", "Noto Sans JP", monospace;--font-sans: var(--font-sans-zh);--font-serif: var(--font-serif-zh);--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--s8: 4rem;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--tap: 44px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .26s;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px)}.lang-zh{--font-sans: var(--font-sans-zh);--font-serif: var(--font-serif-zh);font-family:var(--font-sans)}.lang-ja{--font-sans: var(--font-sans-ja);--font-serif: var(--font-serif-ja);--font-mono: var(--font-mono-latin), "Noto Sans JP", "Hiragino Sans", "Noto Sans TC", monospace;font-family:var(--font-sans)}.lang-en{--font-sans: var(--font-sans-en);--font-serif: var(--font-serif-en);font-family:var(--font-sans)}.lang-ja{--leading-body: 1.9}:root{--leading-body: 1.85}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:var(--ink-800);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;overscroll-behavior:none}body{overflow:hidden}body.is-debug{overflow:auto}#app{position:fixed;top:0;right:0;bottom:0;left:0}#game-canvas{display:block;width:100%;height:100%;background:var(--ink-800);outline:none;touch-action:none}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#ui-root button,#ui-root input,#ui-root .panel,#ui-root .boot,#ui-root .touch__btn,#ui-root .touch__chip,#ui-root .touch__stick{pointer-events:auto}.is-hidden{display:none!important}::selection{background:var(--accent-glow)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.eyebrow{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:var(--s3)}.display{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.7rem,5.2vw,2.6rem);line-height:1.22;letter-spacing:.01em;color:var(--text);text-wrap:balance}.display--hero{display:flex;flex-direction:column;gap:var(--s1)}.display__main{font-size:clamp(2.1rem,8vw,3.6rem);line-height:1.1}.display__sub{font-family:var(--font-sans-en);font-size:clamp(.8rem,2.4vw,1rem);letter-spacing:.44em;text-transform:uppercase;color:var(--accent);font-weight:500}.section__title{font-size:.8125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s3)}.lede{font-size:clamp(.95rem,2.4vw,1.05rem);color:var(--text-dim);margin-top:var(--s3);max-width:46ch;line-height:1.7}.prose{font-size:.9375rem;line-height:var(--leading-body);color:var(--text-dim);max-width:62ch}.prose--goal{color:var(--text);border-left:2px solid var(--accent-dim);padding-left:var(--s4);margin:var(--s5) 0}.prose--ending{font-family:var(--font-serif);font-size:1.0625rem;line-height:1.95;color:var(--text);margin:var(--s5) 0}.micro{font-size:.75rem;line-height:1.65;color:var(--text-faint);letter-spacing:.03em}.footnote{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;color:var(--text-faint);text-align:center;padding:var(--s3) 0 0}.empty{font-size:.875rem;color:var(--text-faint);padding:var(--s4);border:1px dashed var(--line);border-radius:var(--radius-sm);line-height:1.7}.bullets{list-style:none;display:grid;gap:var(--s3)}.bullets li{position:relative;padding-left:var(--s5);font-size:.9rem;color:var(--text-dim);line-height:1.75}.bullets li:before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--accent-dim)}.notice{font-size:.8125rem;line-height:1.7;padding:var(--s3) var(--s4);border-radius:var(--radius-sm);border:1px solid var(--line);margin:var(--s4) 0}.notice--warn{border-color:#f0b45766;color:var(--warn)}.notice--good{border-color:#7dffb466;color:var(--good)}.boot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:calc(var(--s6) + var(--safe-t)) var(--s5) calc(var(--s6) + var(--safe-b));background:radial-gradient(120% 90% at 50% 8%,#16241d,#070c0a 62%,#040706);z-index:40;transition:opacity .52s var(--ease);pointer-events:auto}.boot.is-gone{opacity:0;pointer-events:none}.boot__card{width:min(94vw,460px);text-align:center}.boot__brand{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.boot__title{font-family:var(--font-serif);font-size:clamp(1.9rem,7vw,2.6rem);font-weight:700;letter-spacing:.06em}.boot__title-en{font-family:var(--font-sans-en);font-size:.75rem;letter-spacing:.5em;text-transform:uppercase;color:var(--accent)}.boot__tagline{color:var(--text-dim);font-size:.9rem;margin:var(--s5) auto var(--s6);max-width:34ch;line-height:1.8}.boot__bar{height:2px;background:var(--line);border-radius:var(--radius-pill);overflow:hidden}.boot__bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));transform-origin:left center;transform:scaleX(0);transition:transform .42s var(--ease)}.boot__label{margin-top:var(--s3);font-size:.75rem;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase}.boot__notice{margin-top:var(--s4);font-size:.75rem;color:var(--warn);opacity:0;transition:opacity var(--dur) var(--ease)}.boot__notice.is-shown{opacity:1}.boot__error-title{font-family:var(--font-serif);font-size:1.4rem;margin:var(--s6) 0 var(--s3)}.boot__error-body{color:var(--text-dim);font-size:.9rem;line-height:1.8;margin-bottom:var(--s4)}.boot__error-detail{font-family:var(--font-mono);font-size:.7rem;color:var(--danger);background:#0006;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3);text-align:left;white-space:pre-wrap;word-break:break-word;max-height:30vh;overflow:auto;margin-bottom:var(--s5)}.screens{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:calc(var(--s5) + var(--safe-t)) calc(var(--s5) + var(--safe-r)) calc(var(--s5) + var(--safe-b)) calc(var(--s5) + var(--safe-l));z-index:30;animation:screen-in var(--dur) var(--ease)}.screens.is-empty{display:none}.screens:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 100% at 50% 100%,#050a081f,#0408069e 78%);backdrop-filter:blur(6px) saturate(.94);-webkit-backdrop-filter:blur(6px) saturate(.94)}.screens.is-modal:before{background:#040806cc;backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8)}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.panel{position:relative;width:min(100%,560px);max-height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#142019f0,#0a100df5);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px #ffffff0d inset,0 30px 90px #0009;animation:panel-in var(--dur) var(--ease);overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.panel--home{width:min(100%,620px)}.panel--report,.panel--settings,.panel--journal,.panel--help{width:min(100%,600px)}.panel--confirm{width:min(100%,420px)}.panel__body{padding:clamp(var(--s5),4vw,var(--s7));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel__head{margin-bottom:var(--s5)}.section{margin-top:var(--s6)}.section:first-child{margin-top:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:var(--tap);padding:var(--s3) var(--s5);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:#ffffff08;color:var(--text);font:inherit;font-size:.9375rem;cursor:pointer;text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .12s var(--ease)}.btn:hover{background:#5fe3b41a;border-color:var(--accent-dim)}.btn:active{transform:scale(.985)}.btn__label{font-weight:500}.btn__hint{font-size:.75rem;color:var(--text-faint);font-weight:400;line-height:1.5}.btn--primary{background:linear-gradient(135deg,#1f6b52,#2f9c7b);border-color:transparent;color:#05100c;font-weight:600}.btn--primary .btn__hint{color:#05100cb3}.btn--primary:hover{background:linear-gradient(135deg,#2a8266,#3cb693);border-color:transparent}.btn--quiet{background:transparent;border-color:var(--line);color:var(--text-dim)}.btn--danger{background:transparent;border-color:#ff6b5a73;color:var(--danger)}.btn--danger:hover{background:#ff6b5a1f;border-color:var(--danger)}.btn--wide{width:100%;align-items:center;text-align:center}.btn--wide .btn__hint{text-align:center}.btn--choice{align-items:flex-start;text-align:left;border-radius:var(--radius);padding:var(--s4) var(--s5)}.btn--choice .btn__label{font-size:1rem}.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}.actions .btn{flex:1 1 auto;align-items:center;text-align:center}.choices{display:grid;gap:var(--s3);margin-top:var(--s5)}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row__text{display:grid;gap:2px;min-width:0}.row__label{font-size:.9375rem}.row__hint{font-size:.75rem;color:var(--text-faint);line-height:1.55}.row__control{flex:0 0 auto}.slider{display:flex;align-items:center;gap:var(--s3)}.slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:clamp(110px,26vw,180px);height:var(--tap);background:transparent;cursor:pointer}.slider__input::-webkit-slider-runnable-track{height:3px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--accent) 0 var(--fill, 50%),rgba(255,255,255,.12) var(--fill, 50%) 100%)}.slider__input::-moz-range-track{height:3px;border-radius:var(--radius-pill);background:#ffffff1f}.slider__input::-moz-range-progress{height:3px;border-radius:var(--radius-pill);background:var(--accent)}.slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8.5px;border-radius:50%;background:var(--text);border:3px solid var(--ink-700);box-shadow:0 0 0 1px var(--accent-dim)}.slider__input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--text);border:3px solid var(--ink-700)}.slider__value{font-family:var(--font-mono);font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text-dim);min-width:3.4ch;text-align:right}.toggle{display:inline-flex;align-items:center;gap:var(--s3);min-height:var(--tap);padding:0 var(--s2);background:none;border:none;color:var(--text-dim);font:inherit;font-size:.8125rem;cursor:pointer}.toggle__track{position:relative;width:46px;height:26px;border-radius:var(--radius-pill);background:#ffffff1a;border:1px solid var(--line);transition:background var(--dur) var(--ease)}.toggle__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-faint);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.toggle.is-on .toggle__track{background:#5fe3b43d;border-color:var(--accent-dim)}.toggle.is-on .toggle__thumb{transform:translate(20px);background:var(--accent)}.toggle.is-on .toggle__text{color:var(--accent)}.segmented{display:inline-flex;padding:3px;gap:2px;background:#ffffff0a;border:1px solid var(--line);border-radius:var(--radius-pill)}.segmented__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-dim);font:inherit;font-size:.8125rem;padding:0 var(--s4);min-height:40px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented__item.is-on{background:#5fe3b429;color:var(--accent)}.segmented--compact .segmented__item{font-size:.75rem;padding:0 var(--s3);min-height:38px}.chip{display:inline-flex;align-items:center;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--text-faint);white-space:nowrap}.chip--standalone{align-self:flex-start;margin-bottom:var(--s3)}.chip--clear,.chip--strong{border-color:#7dffb473;color:var(--good)}.chip--partial,.chip--mixed{border-color:#f0b45766;color:var(--warn)}.chip--noisy,.chip--weak{border-color:#ff6b5a66;color:var(--danger)}.chip--soft{opacity:.7}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;margin:var(--s5) 0}.stat{background:var(--ink-700);padding:var(--s4) var(--s3);text-align:center}.stat__label{display:block;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s2)}.stat__value{font-family:var(--font-mono);font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--accent);font-weight:500}.stat:last-child:nth-child(odd){grid-column:1 / -1}.stat--warn .stat__value{color:var(--warn)}.stat--plain .stat__value{color:var(--text)}.records{list-style:none;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.record{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--ink-700);font-size:.875rem}.record__name{min-width:0}.record__meta{display:flex;gap:var(--s2);flex:0 0 auto}.keylist{display:grid;grid-template-columns:minmax(6ch,auto) 1fr;gap:var(--s2) var(--s5);align-items:baseline}.keylist__key{font-size:.875rem;color:var(--text-dim)}.keylist__value{font-family:var(--font-mono);font-size:.8125rem;color:var(--text);letter-spacing:.02em}.home__lang{position:absolute;top:var(--s4);right:var(--s4);z-index:2}.panel--home .panel__body{padding-top:calc(var(--s7) + var(--s4))}.home__head{margin-bottom:var(--s2)}.home__cta{display:grid;gap:var(--s3);margin:var(--s6) 0 var(--s2)}.chapters{list-style:none;margin-top:var(--s6);border-top:1px solid var(--line)}.chapter{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--text-faint)}.chapter.is-open{color:var(--text)}.chapter__state{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;flex:0 0 auto}.chapter.is-open .chapter__state{color:var(--accent)}.hud{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--s4) + var(--safe-t)) calc(var(--s5) + var(--safe-r)) calc(var(--s4) + var(--safe-b)) calc(var(--s5) + var(--safe-l));pointer-events:none;font-variant-numeric:tabular-nums;transition:opacity var(--dur) var(--ease)}.hud.is-hidden{opacity:0;pointer-events:none}.hud:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0408068c,#04080647 12%,#04080600 26%),linear-gradient(0deg,#04080673,#04080600 20%)}.hud:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 120px 20px #ff5a3c00;transition:box-shadow .6s var(--ease)}.hud.is-alarm:after{box-shadow:inset 0 0 140px 24px #ff5a3c38;animation:alarm 2.2s ease-in-out infinite}@keyframes alarm{0%,to{opacity:.55}50%{opacity:1}}.hud.is-calm-motion:after{animation:none}.hud__meters{position:absolute;top:calc(var(--s4) + var(--safe-t));left:calc(var(--s5) + var(--safe-l));display:grid;gap:var(--s3);width:clamp(140px,22vw,190px)}.meter{display:grid;grid-template-columns:1fr auto;gap:2px var(--s2)}.meter__label{font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);text-shadow:0 1px 5px rgba(0,0,0,.9);white-space:nowrap}.meter__value{font-family:var(--font-mono);font-size:.75rem;color:var(--text);text-align:right;text-shadow:0 1px 5px rgba(0,0,0,.9)}.meter__track{grid-column:1 / -1;height:3px;background:#00000073;box-shadow:0 0 0 1px #ffffff14;border-radius:var(--radius-pill);overflow:hidden}.meter__fill{height:100%;transform-origin:left center;background:var(--accent);transition:transform .2s linear,background var(--dur) var(--ease)}.meter--noise .meter__fill{background:#9fd3e8}.meter--storm .meter__fill{background:#b4b9c4}.meter.is-warn .meter__fill{background:var(--warn)}.meter.is-warn .meter__value{color:var(--warn)}.meter.is-critical .meter__fill{background:var(--danger)}.meter.is-critical .meter__value{color:var(--danger)}.hud__progress{position:absolute;top:calc(var(--s4) + var(--safe-t));right:calc(var(--s5) + var(--safe-r));display:flex;align-items:center;gap:var(--s3)}.hud__progress-label{font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);text-shadow:0 1px 5px rgba(0,0,0,.9)}.dots{display:flex;gap:6px}.dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(233,240,234,.45);background:#00000059;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.dot.is-on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.hud__progress-count{font-family:var(--font-mono);font-size:.875rem;color:var(--text);text-shadow:0 1px 5px rgba(0,0,0,.9)}.hud__progress.is-complete .hud__progress-count{color:var(--accent)}.compass{position:absolute;top:calc(var(--s4) + var(--safe-t) + 2.4rem);left:50%;transform:translate(-50%);width:min(56vw,420px);height:26px}.compass__track{position:relative;height:100%;border-top:1px solid rgba(233,240,234,.12);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.pip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;transition:left .14s linear,opacity var(--dur) var(--ease)}.pip__glyph{width:2px;height:9px;border-radius:1px;background:#e9f0ea99;box-shadow:0 1px 4px #000000e6}.pip__label{font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.pip--beacon .pip__glyph{background:var(--accent);height:11px}.pip--beacon .pip__label{color:var(--accent)}.pip--beacon.is-near .pip__glyph{box-shadow:0 0 10px var(--accent)}.pip--signal .pip__glyph{background:#ffdc96d9}.pip--signal.is-done{opacity:.28}.pip.is-offscreen{opacity:.35}.hud__centre{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);pointer-events:none}.reticle{width:62px;height:62px;opacity:.24;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.reticle svg{width:100%;height:100%;overflow:visible}.reticle__ring,.reticle__track,.reticle__progress{fill:none;stroke-width:2.5}.reticle__ring{stroke:#e9f0ea80;stroke-width:1.2}.reticle__track{stroke:#e9f0ea24}.reticle__progress{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 90ms linear}.reticle__tick{stroke:#e9f0ea59;stroke-width:1.2}.reticle__dot{fill:#e9f0eacc}.reticle.is-active{opacity:1;transform:scale(1.06)}.reticle.is-active .reticle__ring{stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.reticle.is-scanning .reticle__dot{fill:var(--accent)}.hud__status{font-size:.8125rem;letter-spacing:.06em;color:transparent;min-height:1.4em;text-shadow:0 1px 10px rgba(0,0,0,.85);transition:color var(--dur) var(--ease)}.hud__status.is-hint{color:var(--text-dim)}.hud__status.is-active{color:var(--accent)}.hud__whisper{font-family:var(--font-serif);font-size:.875rem;font-style:italic;color:#dce8dcb8;opacity:0;transition:opacity .42s var(--ease);text-shadow:0 1px 10px rgba(0,0,0,.9);text-align:center;max-width:30ch}.hud__whisper.is-shown{opacity:1}.hud__bottom{position:absolute;left:50%;bottom:calc(var(--s6) + var(--safe-b));transform:translate(-50%);width:min(90vw,520px);text-align:center}.hud__tip{font-size:.875rem;color:var(--accent);opacity:0;transition:opacity var(--dur) var(--ease);text-shadow:0 1px 10px rgba(0,0,0,.9);line-height:1.6}.hud__tip.is-shown{opacity:1}.hud__altitude{position:absolute;right:calc(var(--s5) + var(--safe-r));bottom:calc(var(--s6) + var(--safe-b));display:flex;align-items:baseline;gap:var(--s2);color:var(--text-faint)}.hud__altitude-value{font-family:var(--font-mono);font-size:1.1rem;color:var(--text-dim);text-shadow:0 1px 5px rgba(0,0,0,.9)}.hud__altitude-label{font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase}.toast{position:absolute;left:50%;bottom:calc(var(--s8) + var(--s5) + var(--safe-b));transform:translate(-50%,10px);max-width:min(88vw,460px);padding:var(--s3) var(--s5);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:#080e0be6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.875rem;line-height:1.5;text-align:center;opacity:0;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);pointer-events:none}.toast.is-shown{opacity:1;transform:translate(-50%)}.toast--good{border-color:#7dffb480;color:var(--good)}.toast--warn{border-color:#f0b45780;color:var(--warn)}.toast--bad{border-color:#ff6b5a8c;color:var(--danger)}.tutorial{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:calc(var(--s5) + var(--safe-t)) var(--s5) calc(var(--s6) + var(--safe-b));pointer-events:none;z-index:25}.tutorial.is-hidden{display:none}.tutorial.is-modal{align-items:center}.tutorial.is-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0408068c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.tutorial__card{position:relative;width:min(94vw,460px);padding:var(--s5);border-radius:var(--radius);border:1px solid var(--line-strong);background:linear-gradient(180deg,#142019f2,#090f0cf5);box-shadow:0 24px 60px #0000008c;pointer-events:auto;animation:panel-in var(--dur) var(--ease)}.tutorial__step{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2)}.tutorial__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:var(--s2)}.tutorial__body{font-size:.9375rem;color:var(--text-dim);line-height:1.8}.tutorial__bar{height:2px;background:var(--line);border-radius:var(--radius-pill);overflow:hidden;margin:var(--s4) 0 var(--s3)}.tutorial__bar-fill{height:100%;background:var(--accent);transform-origin:left center;transition:transform .32s var(--ease)}.tutorial__actions{display:flex;gap:var(--s3);flex-wrap:wrap}.tutorial__actions .btn{flex:1 1 auto;align-items:center;text-align:center}.touch{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.touch.is-hidden{display:none}.touch__stick{position:absolute;left:calc(var(--s5) + var(--safe-l));bottom:calc(var(--s5) + var(--safe-b));width:118px;height:118px;border-radius:50%;background:#080e0b80;border:1px solid var(--line-strong);box-shadow:0 2px 18px #0006;touch-action:none}.touch__stick-ring{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;border:1px dashed rgba(233,240,234,.12)}.touch__knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#5fe3b452;border:1px solid rgba(95,227,180,.7);transition:transform 80ms linear}.touch__right{position:absolute;right:calc(var(--s5) + var(--safe-r));bottom:calc(var(--s5) + var(--safe-b));display:grid;grid-template-columns:auto auto;grid-template-areas:"up scan" "down scan";gap:var(--s2);align-items:center}.touch__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:var(--tap);min-height:var(--tap);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:#080e0b8c;color:var(--text);font:inherit;font-size:.8125rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);touch-action:none}.touch__btn--alt{width:var(--tap)}.touch__btn--alt:nth-of-type(1){grid-area:up}.touch__btn--alt:nth-of-type(2){grid-area:down}.touch__btn--scan{grid-area:scan;width:96px;height:96px;border-radius:50%;border-color:#5fe3b480;background:#5fe3b424;color:var(--accent);font-weight:600;letter-spacing:.08em}.touch__btn--scan:active{background:#5fe3b44d}.touch__top{position:absolute;right:calc(var(--s5) + var(--safe-r));top:calc(var(--s4) + var(--safe-t) + 2.6rem);display:flex;gap:var(--s2)}.touch__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;padding:0 var(--s4);border-radius:var(--radius-pill);border:1px solid var(--line);background:#080e0b8c;color:var(--text-dim);font:inherit;font-size:.75rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media(min-width:835px){.panel--home{width:min(100%,680px)}.panel__body{padding:var(--s7) var(--s8)}}@media(max-width:600px){.stats{grid-template-columns:repeat(2,1fr)}.row{flex-direction:column;align-items:stretch;gap:var(--s2)}.row__control{align-self:flex-start}.segmented{align-self:stretch}.segmented__item{flex:1 1 0;padding:0 var(--s2)}.compass{top:calc(var(--safe-t) + 2px);width:100%;left:0;transform:none;height:20px;padding:0 var(--s4)}.compass__track{border-top:none}.pip__label{display:none}.hud__meters{width:132px;gap:var(--s2);top:calc(var(--s4) + var(--safe-t) + 1.1rem)}.meter__label{font-size:.5625rem;letter-spacing:.1em}.hud__progress{top:calc(var(--s4) + var(--safe-t) + 1.1rem)}.touch__top{top:calc(var(--s4) + var(--safe-t) + 3.6rem)}.actions .btn{flex:1 1 100%}.home__lang{position:static;margin-bottom:var(--s4);display:flex}.panel--home .panel__body{padding-top:var(--s5)}.keylist{grid-template-columns:1fr;gap:0 0}.keylist__key{margin-top:var(--s3)}}@media(max-width:380px){:root{--s5: 1.1rem;--s6: 1.5rem;--s7: 2rem}.display__main{font-size:1.9rem}.stats{grid-template-columns:1fr 1fr}.stat__value{font-size:1.05rem}.touch__btn--scan{width:82px;height:82px}.touch__stick{width:104px;height:104px}.hud__altitude{display:none}}@media(max-height:480px)and (orientation:landscape){.panel{max-height:100%}.panel__body{padding:var(--s3) var(--s5)}.display__main{font-size:1.35rem}.display__sub{font-size:.68rem;letter-spacing:.3em}.eyebrow{margin-bottom:var(--s1)}.lede{margin-top:var(--s2);font-size:.85rem}.prose--goal{margin:var(--s3) 0;font-size:.85rem}.prose--ending{margin:var(--s3) 0;font-size:.95rem;line-height:1.7}.home__cta{margin:var(--s3) 0 0;gap:var(--s2)}.chapters,.footnote{display:none}.section{margin-top:var(--s4)}.row{padding:var(--s2) 0}.stats{margin:var(--s3) 0}.compass{top:calc(var(--s2) + var(--safe-t) + 2rem);height:20px}.hud__bottom{bottom:calc(var(--s4) + var(--safe-b))}.toast{bottom:calc(var(--s7) + var(--safe-b))}.tutorial{align-items:flex-start;padding-top:calc(var(--s3) + var(--safe-t))}.tutorial.is-modal{align-items:center}.tutorial__card{padding:var(--s4)}.tutorial__body{font-size:.875rem}}@media(pointer:coarse){.hud__altitude{display:flex;right:calc(var(--s5) + var(--safe-r));bottom:calc(var(--safe-b) + var(--s5) + 128px);padding:5px 9px;border-radius:var(--radius-sm);background:#080e0b99;color:var(--text)}.btn{min-height:48px}.segmented__item,.segmented--compact .segmented__item,.toggle{min-height:46px}.slider__input{height:46px;min-height:46px}.touch__chip{min-height:46px;padding:0 var(--s4)}}@media(pointer:fine){.touch{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.12s!important}.reduced-motion .screens:before{backdrop-filter:none;-webkit-backdrop-filter:none}.reduced-motion .hud.is-alarm:after{animation:none}.smoke{position:static;pointer-events:auto;max-width:1100px;margin:0 auto;padding:var(--s6) var(--s5) var(--s8);background:var(--ink-800)}.smoke__head{border-bottom:1px solid var(--line);padding-bottom:var(--s5)}.smoke__stacks{display:grid;gap:var(--s2);margin:var(--s5) 0}.smoke__stack{display:grid;gap:2px;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm)}.smoke__stack-name{font-size:.875rem}.smoke__stack-value{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-faint);word-break:break-word}.smoke__block{border-top:1px solid var(--line);margin-top:var(--s6);padding-top:var(--s5)}.smoke__block-title{font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s4)}.smoke__level{margin-bottom:var(--s3)}.smoke__level-name{display:block;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase;margin-bottom:2px}.smoke__display{font-family:var(--font-serif);font-size:2rem;font-weight:700;line-height:1.25}.smoke__section{font-size:1.0625rem;font-weight:600;letter-spacing:.06em}.smoke__body{font-size:.9375rem;line-height:1.85;color:var(--text-dim)}.smoke__micro{font-size:.75rem;letter-spacing:.1em;color:var(--text-faint)}.smoke__wraps{display:flex;gap:var(--s4);flex-wrap:wrap;margin:var(--s4) 0}.smoke__wrap{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3)}.smoke__punct{font-size:1.125rem;letter-spacing:.02em;margin:var(--s3) 0}.smoke__numerals{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1rem;color:var(--text)}.smoke__mixed{font-size:1rem;margin:var(--s3) 0}.smoke__tofu{margin-top:var(--s4)}.smoke__tofu-grid{display:flex;gap:var(--s2);flex-wrap:wrap}.smoke__glyph{display:grid;place-items:center;width:46px;height:46px;font-size:1.5rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.smoke__glyph.is-tofu{border-color:var(--danger);color:var(--danger)}.smoke__glyph.is-ok{border-color:#7dffb44d}.smoke__verdict{margin-top:var(--s2);font-family:var(--font-mono);font-size:.75rem}.smoke__verdict.is-pass{color:var(--good)}.smoke__verdict.is-fail{color:var(--danger)}.smoke__switch{margin-top:var(--s7);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}.smoke__switch-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:none;color:var(--text);font:inherit;font-size:.8125rem;padding:var(--s2) var(--s4);border-radius:var(--radius-pill);cursor:pointer}.debug-fonts #ui-root{position:static;pointer-events:auto}.debug-fonts,.debug-fonts body{overflow:auto;height:auto}#photo-enter{position:absolute;pointer-events:auto;left:50%;bottom:calc(var(--safe-b) + 5.5rem);transform:translate(-50%);min-height:44px;background:#050f0cd9}#photo-enter[hidden]{display:none}.photo-mode{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none;color:#f4fff8}.photo-mode__top{position:absolute;inset:calc(var(--safe-t) + 1rem) calc(var(--safe-r) + 1rem) auto calc(var(--safe-l) + 1rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.photo-mode__top .eyebrow{margin:0;padding:.6rem;background:#071910b8}.photo-mode .btn{pointer-events:auto;background:#0b211ee8;min-height:48px}.photo-mode .btn--primary{background:#c8f2dc;color:#08251a;min-width:140px}.photo-mode__bottom{position:absolute;bottom:calc(var(--safe-b) + 1rem);left:calc(var(--safe-l) + 1rem);right:calc(var(--safe-r) + 1rem);text-align:center}.photo-mode__bottom .actions{justify-content:center}.photo-status{font-family:var(--font-sans);font-size:.82rem;line-height:1.5;color:var(--text)}.photo-mode .photo-status{display:table;margin:.6rem auto;padding:.45rem .8rem;background:#071910d9;border-radius:.4rem;max-width:34rem}.photo-frame{position:absolute;top:24%;right:12%;bottom:30%;left:12%;border:1px solid #f0fff540;border-radius:1rem}.panel--album{width:min(900px,100%)}.panel--album .panel__head{flex-shrink:0}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.85rem}.album-card{display:flex;flex-direction:column;padding:.4rem;gap:.6rem;overflow:hidden}.album-card img{width:100%;height:160px;object-fit:cover;border-radius:.3rem}.album-card .btn__label{font-size:.75rem}.album-detail>img{display:block;width:100%;height:auto;max-height:52dvh;object-fit:contain;background:#040c09}.album-detail .actions{margin-top:1rem;flex-wrap:wrap}.album-detail .prose{flex-basis:100%}@media(max-height:500px){#photo-enter{bottom:calc(var(--safe-b) + 1rem)}.photo-mode__top{top:calc(var(--safe-t) + .5rem)}.photo-mode__bottom{bottom:calc(var(--safe-b) + .5rem)}.photo-mode .photo-status{margin:.3rem auto}.album-detail>img{max-height:40dvh}}.album-card{border-radius:.65rem}@media(max-height:500px){.panel--album .panel__head{padding-bottom:.5rem}.panel--album .display{font-size:1.45rem}.panel--album .lede{font-size:.8rem}.panel--album .photo-status{margin:.35rem 0}.album-card img{height:110px}}.album-detail .actions{display:flex;flex-direction:row}.album-detail .actions .btn{flex:1;min-width:0;white-space:normal}@media(max-width:600px)and (min-height:501px){.album-detail>img{max-height:36dvh}}.panel--album>.panel__head{padding:1rem 1.25rem 0;margin-bottom:0}.panel--album>.panel__body{padding:.75rem 1.25rem;min-height:0}.panel--album>.actions{padding:0 1.25rem 1rem;margin-top:.5rem}@media(max-height:500px){.panel--album.is-photo-detail .panel__head .eyebrow,.panel--album.is-photo-detail .panel__head .lede{display:none}.panel--album.is-photo-detail .album-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);gap:1rem;align-items:center}.panel--album.is-photo-detail .album-detail>img{max-height:32dvh}.panel--album.is-photo-detail .album-detail .actions{flex-direction:column;margin:0;gap:.5rem}.panel--album.is-photo-detail .album-detail .btn{width:100%}}@media(min-width:600px)and (min-height:501px){.album-detail>img{max-height:40dvh}}#stamp-collection{width:100%;margin:0 0 .8rem;border-color:#c6b57866;color:#e8d7a3}#stamp-collection[hidden]{display:none}.stamp-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.stamp-tags:empty{display:none}.stamp-tag{padding:.25rem .55rem;border:1px solid #c6b57880;border-radius:.4rem;color:#efdba0;background:#6b58202b;font-size:.75rem}.stamp-unmarked{color:var(--text-dim);font-size:.75rem}.album-stamp-count{position:absolute;top:.7rem;right:.7rem;color:#ffe7a5;background:#172018e8;padding:.2rem .5rem;border-radius:.3rem}.album-card{position:relative}.stamp-collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.stamp-card{border:1px solid var(--line-strong);padding:1rem;border-radius:.7rem;background:#101b17}.stamp-card.is-earned{border-color:#c6b57880;background:linear-gradient(135deg,#393621,#14221b)}.stamp-seal{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px dashed #c6b578;border-radius:50%;color:#efdba0;font-size:1.6rem}.stamp-card .section__title{margin:.7rem 0 .3rem}.stamp-card .prose,.stamp-state{font-size:.8rem;margin:.4rem 0}.stamp-state{color:var(--text-dim)}.is-earned .stamp-state{color:#efdba0}@media(max-width:600px)and (min-height:501px){.album-detail>img{max-height:31dvh}}@media(min-width:600px)and (min-height:501px){.album-detail>img{max-height:35dvh}}.stamp-card .section__title{color:#c9d7cb}.stamp-card.is-earned .section__title{color:#f1dfa9}.stamp-card[data-stamp=calling].is-earned{background:linear-gradient(135deg,#203b39,#14221b)}.stamp-card[data-stamp=peek].is-earned{background:linear-gradient(135deg,#3c2939,#14221b)}.stamp-seal.is-filled:after{content:"";display:block;width:1.2rem;height:1.2rem;background:currentColor;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%)}.stamp-tag:before,.album-stamp-count:before{content:"";display:inline-block;width:.45rem;height:.45rem;background:currentColor;transform:rotate(45deg);margin-right:.4rem;vertical-align:middle}.stamp-collection-grid>.btn{grid-column:1/-1;align-self:start;min-height:48px}.hud{--field-edge:12px}.hud .hud__meters{top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + 12px);width:min(210px,calc(100vw - var(--safe-l) - var(--safe-r) - 160px));grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:7px 9px;border-radius:10px;background:#081c1bd4}.hud .meter{display:grid;grid-template-columns:1fr;gap:3px}.hud .meter__label{font-size:9px;letter-spacing:.03em;line-height:1.2;white-space:nowrap;color:#cce0d8}.hud .meter__value{grid-row:2;font-size:12px;text-align:left;line-height:1.1}.hud .meter__track{grid-row:3;height:2px}.hud .hud__progress{top:calc(var(--safe-t) + 12px);right:calc(var(--safe-r) + 64px);gap:4px;flex-direction:column;justify-content:center;min-height:44px;padding:4px 8px;background:#081c1bd4;border-radius:10px}.hud__progress .dots{display:none}.hud .hud__progress-label{font-size:9px;letter-spacing:.04em}.hud .hud__progress-count{font-size:16px}.hud .compass{top:calc(var(--safe-t) + 75px);width:min(38vw,260px);height:17px}.hud .pip__label{display:none}.hud .reticle{width:42px;height:42px}.hud .hud__centre{gap:5px}.hud .hud__status{font-size:11px;max-width:min(60vw,360px);text-align:center;padding:3px 7px;border-radius:5px;background:#0617119c}.hud .hud__status:empty{display:none}.hud .hud__whisper{font-size:12px;max-width:50vw}.hud.is-touch .hud__whisper{display:none}.hud .hud__bottom{bottom:calc(var(--safe-b) + 118px);max-width:70vw}.hud .hud__tip{font-size:11px}.hud .toast{bottom:calc(var(--safe-b) + 118px);padding:6px 12px;font-size:12px;max-width:min(74vw,420px)}.hud .hud__altitude{right:calc(var(--safe-r) + 14px);bottom:calc(var(--safe-b) + 112px);background:#071910c9;padding:4px 6px;border-radius:6px;gap:4px}.hud .hud__altitude-value{font-size:12px}.hud .hud__altitude-label{font-size:9px}.touch .touch__top{top:calc(var(--safe-t) + 12px);right:calc(var(--safe-r) + 12px)}.touch .touch__chip{width:44px;height:44px;padding:0;font-size:24px;line-height:1;background:#081c1bea}.touch .touch__right{right:calc(var(--safe-r) + 12px);bottom:calc(var(--safe-b) + 12px);grid-template-columns:76px 44px;grid-template-areas:"scan up" "scan down";gap:6px}.touch .touch__btn{background:#081c1be6;border-radius:12px}.touch .touch__btn--scan{width:76px;height:44px;min-height:44px;align-self:end;border-radius:12px;font-size:12px;letter-spacing:0;background:#154331e6}.touch .touch__btn--alt{height:44px}.hud #photo-enter{left:auto;right:calc(var(--safe-r) + 150px);bottom:calc(var(--safe-b) + 12px);transform:none;width:76px;min-width:0;min-height:44px;padding:6px;font-size:12px;text-align:center;align-items:center;border-radius:12px}.tutorial:not(.is-modal){align-items:flex-start;padding-top:calc(var(--safe-t) + 99px)}.tutorial:not(.is-modal) .tutorial__card{width:min(360px,80vw);padding:12px 16px}.tutorial:not(.is-modal) .tutorial__body{font-size:13px;line-height:1.5}.tutorial:not(.is-modal) .tutorial__bar{margin:7px 0}@media(max-height:500px){.hud .compass{top:calc(var(--safe-t) + 12px);width:25vw}.hud .hud__bottom,.hud .toast{bottom:calc(var(--safe-b) + 64px)}.tutorial:not(.is-modal){padding-top:calc(var(--safe-t) + 66px)}.tutorial:not(.is-modal) .tutorial__card{width:min(320px,46vw)}}.gesture-map{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.gesture-map[hidden]{display:none}.gesture-map span{border:1px solid #91dbba55;border-radius:10px;padding:15px 8px;text-align:center;font-size:12px;background:#81dbb910}#guide-enter{position:absolute;pointer-events:auto;right:calc(var(--safe-r) + 232px);bottom:calc(var(--safe-b) + 12px);width:76px;min-height:44px;padding:6px;border-radius:12px;font-size:12px}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.guide-card{padding:16px;border:1px solid #9cd1b52b;border-radius:12px;background:#7cab8510}.guide-card .btn{width:100%;margin-top:12px}.guide-card p{font-size:13px}.guide-walks{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}.guide-walks h2,.guide-walks p{flex-basis:100%}.hud__field{position:absolute;top:calc(var(--safe-t) + 76px);left:calc(var(--safe-l) + 12px);max-width:min(310px,70vw);font-size:11px}.hud__region{color:#d5dfbd;letter-spacing:.06em;text-shadow:0 1px 3px #000}.hud__guide{display:flex;gap:8px;align-items:center;margin-top:6px;padding:7px 10px;background:#071e1ad9;border:1px solid #a4d8aa55;border-radius:10px}.hud__guide[hidden]{display:none}.hud__guide-arrow{display:inline-block;font-size:22px;color:#a6e8bc;flex-shrink:0}@media(orientation:landscape)and (max-height:500px){.hud__field{top:calc(var(--safe-t) + 67px)}}body:has(#tutorial:not(.is-hidden)) .hud__field{display:none}#guide-enter{background:#041510de;border:1px solid rgba(190,218,180,.26);color:#e1edde}.panel--guide{width:min(800px,100%)}.panel--guide>.panel__head{padding:16px 20px 0;margin-bottom:0;flex-shrink:0}.panel--guide .display{font-size:24px}.panel--guide>.panel__body{padding:12px 20px;min-height:0}.panel--guide>.actions{padding:0 20px 16px;margin-top:6px}.guide-intro{font-size:13px;line-height:1.6;margin-bottom:16px}.guide-card .section__title{color:var(--text);letter-spacing:.04em;margin-bottom:8px}@media(orientation:landscape)and (max-height:500px){.panel--guide>.panel__head{padding-top:10px}.panel--guide .display{font-size:20px}.panel--guide .eyebrow{display:none}.guide-intro{font-size:12px;line-height:1.4;margin-bottom:10px}.guide-card{padding:10px 12px}.guide-card .btn{margin-top:8px;min-height:44px}.panel--guide>.actions{padding-bottom:10px}}.howto{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:8px}.howto__step{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#5fe3b412}.howto__num{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#05100c;background:var(--accent);font-family:var(--font-mono-latin),sans-serif}.howto__step--3 .howto__num{background:#f2c46b}.howto__text{font-size:14px;line-height:1.45;color:var(--text)}.home__more{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home__more .btn{border-color:transparent;background:#ffffff0f;min-height:48px}.home__more .btn:hover{background:#5fe3b41f;border-color:transparent}.discovery-strip{margin-top:var(--s6)}.discovery-strip__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.discovery-strip__head .section__title{margin:0}.discovery-strip__count{font-size:12px;color:#f2c46b;font-family:var(--font-mono)}.discovery-strip__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.discovery-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:12px;padding:8px 2px 6px;background:#ffffff0d;color:var(--text-faint);font:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;min-height:64px}.discovery-tile__glyph{font-size:22px;line-height:1;filter:grayscale(1);opacity:.5}.discovery-tile__name{font-size:10px;line-height:1.25;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.discovery-tile.is-found{background:#f2c46b1f;color:#f6e2b5}.discovery-tile.is-found .discovery-tile__glyph{filter:none;opacity:1}.discovery-tile.is-selected{box-shadow:0 0 0 2px #f2c46b99 inset}.discovery-strip__detail{margin-top:10px;font-size:12.5px;line-height:1.6;color:var(--text-dim);min-height:3.2em}.chapters{border-top-color:transparent}@media(max-width:600px)and (orientation:portrait){.screens:has(.panel--home){place-items:end center;padding-top:calc(var(--safe-t) + 22vh);padding-left:0;padding-right:0;padding-bottom:0}.screens:has(.panel--home):before{background:linear-gradient(180deg,#04080600,#04080626 30%,#040806b3 70%);backdrop-filter:none;-webkit-backdrop-filter:none}.panel--home{width:100%;border:0;border-radius:24px 24px 0 0;max-height:100%;background:linear-gradient(180deg,#0e1813e6,#080d0bf7);padding-bottom:var(--safe-b)}.panel--home .panel__body{padding:18px 20px 12px}.panel--home .display--hero .display__main{font-size:2.2rem}.panel--home .chapters,.panel--home .micro{display:none}.panel--home .lede{margin-top:4px}.home__cta{margin:var(--s5) 0 var(--s2)}.home__lang{margin-bottom:var(--s3)}}.hud .hud__meters,.hud .hud__progress{border:0;background:linear-gradient(180deg,#061411c7,#06141199);box-shadow:0 4px 18px #00000040}.hud .meter__label{color:#b9d2c7}.hud .meter__value{font-size:13px;font-weight:600}.hud .meter__track{height:3px;border-radius:2px}.hud__field{max-width:min(340px,calc(100vw - 24px - var(--safe-l) - var(--safe-r)))}.hud__guide{border:0;padding:9px 12px 9px 10px;gap:10px;border-radius:14px;background:linear-gradient(90deg,#0a2c22e0,#081c18b8);box-shadow:0 6px 20px #00000047;font-size:13.5px;line-height:1.35;color:#eef7f1;font-weight:500}.hud__guide-arrow{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#5fe3b42e;color:var(--accent);transition:transform .12s linear}.hud__region{font-size:11px;opacity:.85}.hud:not(.is-touch) .hud__field{top:calc(var(--safe-t) + 100px)}.hud.is-touch .compass{display:none}.hud .hud__status{background:#04100cb3;border-radius:8px;padding:4px 10px;font-size:12px}.hud .toast{border:0;border-radius:12px;box-shadow:0 6px 20px #0000004d}.touch .touch__btn,.touch .touch__chip,#guide-enter,.hud #photo-enter{border:0!important;box-shadow:0 4px 14px #00000047}.touch .touch__btn{background:#061612b8}.touch .touch__chip{border-radius:50%;font-size:16px;letter-spacing:.1em;background:#061612b8}#guide-enter,.hud #photo-enter{background:#061612b8!important;border-radius:22px}.touch .touch__right{grid-template-columns:84px 44px}.touch .touch__btn--scan{width:84px;height:94px;border-radius:22px;font-size:13px;font-weight:700;color:#9fdcc6;background:#10382ab8;transition:background .2s var(--ease),color .2s var(--ease),transform .12s var(--ease)}.touch .touch__btn--scan.is-ready{color:#04110c;background:linear-gradient(160deg,#6ff0c0,#2fb488);animation:scan-ready 1.4s ease-in-out infinite}.touch .touch__btn--scan:active{transform:scale(.96)}.touch .touch__btn--alt{height:44px;font-size:14px}.hud #photo-enter{right:calc(var(--safe-r) + 158px)}#guide-enter{right:calc(var(--safe-r) + 240px)}@keyframes scan-ready{0%,to{box-shadow:0 0 #5fe3b48c,0 4px 14px #00000047}50%{box-shadow:0 0 0 10px #5fe3b400,0 4px 14px #00000047}}.reduced-motion .touch .touch__btn--scan.is-ready{animation:none}.tutorial__card,.panel{border-color:transparent}.gesture-map span{border:0;background:#81dbb91a}.guide-card{border:0;background:#7cab8517}.segmented{border-color:transparent;background:#ffffff0f}.section .howto{margin:0 0 var(--s4)}
