:root{color-scheme:dark;--bg: #030405;--panel: rgba(15, 18, 20, .74);--panel-solid: #0f1214;--line: rgba(230, 240, 245, .09);--line-strong: rgba(230, 240, 245, .2);--ink: #f5f6f7;--ink-2: #a9b2b9;--ink-3: #6b747b;--accent: #06b6d4;--accent-ink: #021216;--accent-soft: #a5f3fc;--porcelain: #e6eaed;--honey: #67e8f9;--good: #5eead4;--warn: #22d3ee;--bad: #f3736b;--sky-top: #030405;--sky-horizon: #030405;--sky-ground: #030405;--font-display: "Geist", "Inter", "Segoe UI", system-ui, sans-serif;--font-body: "Geist", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--r: 14px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}[data-game]{--accent: #06b6d4}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}#app{position:fixed;inset:0;background:var(--bg);overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene.is-hover{cursor:pointer}#scene:active{cursor:grabbing}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.wl{position:absolute;left:0;top:0;white-space:nowrap;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);will-change:transform,opacity}.wl.ring{color:var(--accent)}.wl.ring b{font-weight:500;color:var(--ink);letter-spacing:.06em}.wl.sector span{color:var(--ink-3)}.wl.hover{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:12.5px;background:var(--panel-solid);border:1px solid var(--line-strong);color:var(--ink);padding:6px 10px;border-radius:9px;box-shadow:0 6px 24px #00000059}.wl.hover small{display:block;color:var(--ink-2);font-size:11.5px;font-variant-numeric:tabular-nums}.glass{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.hud-tl{position:absolute;z-index:5;top:calc(16px + var(--safe-t));left:max(16px,var(--safe-l));width:300px;display:flex;flex-direction:column;gap:10px}.hud-tr{position:absolute;z-index:5;top:calc(16px + var(--safe-t));right:max(16px,var(--safe-r));display:flex;gap:8px;align-items:stretch}.eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:8px}.back{color:var(--ink-3);text-decoration:none;display:inline-flex}.back:hover,.back:focus-visible{color:var(--ink)}.sample-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:1px 6px;border-radius:99px}.health{padding:14px 16px;display:grid;gap:10px}.health-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.health-num{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:.9;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.health-num sup{font-size:20px;font-weight:500;vertical-align:top;margin-left:2px;color:var(--ink-2);position:relative;top:4px}.band{font-size:12px;font-weight:500;padding:3px 9px;border-radius:99px;border:1px solid currentColor;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.band:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.band.green{color:var(--good)}.band.amber{color:var(--warn);box-shadow:0 0 16px -6px var(--warn)}.band.red{color:var(--bad)}.band.unknown{color:var(--ink-2)}#healthRows{display:grid;gap:7px}.split-row{display:grid;grid-template-columns:62px 1fr 58px;gap:10px;align-items:center;font-size:12px;color:var(--ink-2)}.split-row span:last-child{text-align:right;font-family:var(--font-mono);font-size:11.5px;color:var(--ink);font-variant-numeric:tabular-nums}.bar{height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .9s cubic-bezier(.2,.8,.2,1)}.health-foot{font-size:11.5px;color:var(--ink-3)}.attention{padding:12px 8px 8px;display:flex;flex-direction:column;min-height:0}.attention-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;gap:8px}.attention-head h2{margin:0;font:600 13px/1.2 var(--font-body)}.attention-head .count{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.attention-toggle{display:none}.attention ul{list-style:none;margin:0;padding:0;max-height:min(42vh,330px);overflow:auto}.attention li button{width:100%;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:8px;border:0;background:transparent;color:inherit;border-radius:9px;text-align:left;cursor:pointer;font:inherit}.attention li button:hover,.attention li button:focus-visible{background:#ffffff0f;outline:none}.attention li button:focus-visible{box-shadow:0 0 0 1px var(--accent) inset}.dot{width:8px;height:8px;border-radius:50%}.dot.red{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 22%,transparent)}.dot.amber{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent),0 0 10px color-mix(in srgb,var(--warn) 60%,transparent)}.dot.soft{background:color-mix(in srgb,var(--warn) 45%,var(--ink-3))}.a-name{min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a-name small{display:block;font-weight:400;font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}.a-val{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.attention-empty{padding:6px 8px 10px;color:var(--ink-2);font-size:12.5px;margin:0}.chip{padding:10px 14px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.chip .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.chip .v{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap}.chip .v small{font-weight:400;color:var(--ink-2);font-size:12px}.chip .v svg{width:18px;height:18px;flex:none}.chip .honey-v{color:var(--ink);font-variant-numeric:tabular-nums}.btn-notes{padding:0 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);color:var(--ink);font:500 13px var(--font-body);cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.btn-notes:hover{border-color:var(--line-strong)}.btn-notes:focus-visible,.btn:focus-visible,.x:focus-visible,.reason:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{position:absolute;z-index:6;right:max(16px,var(--safe-r));top:calc(84px + var(--safe-t));width:340px;max-height:calc(100% - 120px - var(--safe-t) - var(--safe-b));overflow:auto;padding:18px;display:grid;gap:14px;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 18px 60px #00000073;animation:card-in .26s cubic-bezier(.2,.8,.2,1)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card-head{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:start}.card-head h3{margin:0;font:700 22px/1.15 var(--font-display);letter-spacing:-.03em;text-wrap:balance;grid-column:1}.x{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;grid-row:1 / span 2;grid-column:2;font-size:16px;line-height:1}.x:hover{color:var(--ink);border-color:var(--line-strong)}.pills{display:flex;flex-wrap:wrap;gap:6px}.pill{font-size:11.5px;padding:3px 9px;border-radius:99px;background:#ffffff0f;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}.pill.stage{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-soft)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:0}.stats div{display:grid;gap:2px;min-width:0}.stats dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.stats dd{margin:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.stats .full{grid-column:1 / -1}.hbar{height:6px;border-radius:6px;background:#ffffff14;overflow:hidden;margin-top:6px}.hbar i{display:block;height:100%;border-radius:inherit}.next{padding:12px;border-radius:12px;border:1px dashed var(--line-strong);display:grid;gap:3px}.next b{font-size:13.5px}.next span{font-size:12.5px;color:var(--ink-2)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{min-height:38px;padding:8px 12px;border-radius:10px;border:1px solid var(--line-strong);background:#ffffff0a;color:var(--ink);font:500 13px var(--font-body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{background:#ffffff17}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 0 22px -6px var(--accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.gold{color:var(--porcelain);border-color:color-mix(in srgb,var(--porcelain) 45%,transparent)}.btn.gold.primary{background:var(--porcelain);border-color:var(--porcelain);color:#0f1214;box-shadow:0 0 22px -8px #fff}.btn.quiet{color:var(--ink-2)}.btn.wide{grid-column:1 / -1}.btn[disabled]{opacity:.45;cursor:default}.reasons{display:grid;gap:8px}.reasons p{margin:0;font-size:12.5px;color:var(--ink-2)}.reason-row{display:flex;flex-wrap:wrap;gap:6px}.reason{padding:6px 11px;border-radius:99px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 12.5px var(--font-body);cursor:pointer}.reason:hover{border-color:var(--ink-2)}.breakdown{display:grid;gap:8px}.bd-row{display:grid;grid-template-columns:96px 1fr 26px;gap:10px;align-items:center;font-size:12.5px}.bd-row span:last-child{text-align:right;font-family:var(--font-mono);color:var(--ink-2)}.bd-row .bar i{background:var(--ink-2)}.muted{color:var(--ink-2);font-size:12.5px;margin:0}.hint{position:absolute;z-index:4;left:50%;transform:translate(-50%);bottom:calc(16px + var(--safe-b));font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:7px 14px;border-radius:99px;background:#06080ac7;border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap}.toast{position:absolute;z-index:8;left:50%;bottom:calc(56px + var(--safe-b));transform:translate(-50%,10px);opacity:0;transition:opacity .24s,transform .24s;max-width:min(520px,calc(100% - 32px));padding:10px 16px;border-radius:12px;background:var(--panel-solid);border:1px solid var(--line-strong);font-size:13px;pointer-events:none;box-shadow:0 10px 40px #0006}.toast.on{opacity:1;transform:translate(-50%)}.toast b{color:var(--accent-soft);font-weight:600}.notes{position:absolute;z-index:9;top:0;right:0;bottom:0;width:min(520px,100%);overflow:auto;background:var(--panel-solid);border-left:1px solid var(--line-strong);padding-block:calc(22px + var(--safe-t)) calc(28px + var(--safe-b));padding-left:26px;padding-right:max(26px,var(--safe-r));box-shadow:-20px 0 60px #0006;animation:notes-in .28s cubic-bezier(.2,.8,.2,1)}@keyframes notes-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.notes-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.notes h2{font:700 28px/1.1 var(--font-display);letter-spacing:-.035em;margin:6px 0 0;text-wrap:balance}.notes h3{font:600 11px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:26px 0 10px}.notes p,.notes li{color:var(--ink-2);max-width:62ch}.notes p strong,.notes li strong{color:var(--ink);font-weight:600}.notes code{font-family:var(--font-mono);font-size:11.5px;color:var(--accent-soft)}.notes ol{padding-left:18px;margin:0;display:grid;gap:10px}.map-wrap{overflow-x:auto}.map{width:100%;border-collapse:collapse;font-size:12.5px;min-width:400px}.map th{text-align:left;font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:0 10px 8px 0;border-bottom:1px solid var(--line)}.map td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}.map td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}.preview{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:10px}.preview label{font-size:12.5px;color:var(--ink-2);display:flex;justify-content:space-between;gap:10px}.preview label b{color:var(--ink);font-family:var(--font-mono);font-weight:500}.preview input{width:100%;accent-color:var(--accent)}.formula{font-family:var(--font-mono);font-size:12px;color:var(--ink);background:#ffffff0a;border:1px solid var(--line);padding:10px 12px;border-radius:10px;overflow-x:auto;white-space:nowrap}@media (max-width: 760px){.hud-tl{width:auto;right:max(16px,var(--safe-r))}.health{padding:10px 12px;gap:6px;min-width:0}.health-num{font-size:36px}.health-num sup{font-size:15px;top:2px}.split-row{grid-template-columns:52px 1fr 40px;font-size:11px}.health-foot{display:none}.attention{padding:6px}.attention-head{padding:2px 4px}.attention-toggle{display:inline-flex;background:transparent;border:0;color:var(--ink-2);font:500 12px var(--font-body);cursor:pointer;padding:6px}.attention:not(.open) ul,.attention:not(.open) .attention-empty{display:none}.attention ul{max-height:34vh}.hud-tr{top:auto;left:max(16px,var(--safe-l));bottom:calc(14px + var(--safe-b));right:max(16px,var(--safe-r))}.hud-tr .chip{flex:1;padding:8px 10px}.hud-tr .chip.secondary{display:none}.chip .v{font-size:12.5px}.chip .v small,.hint{display:none}.card{inset:auto 0 0;width:auto;border-radius:18px 18px 0 0;max-height:64%;padding-block:18px calc(18px + var(--safe-b));padding-left:max(16px,var(--safe-l));padding-right:max(16px,var(--safe-r))}.toast{bottom:calc(70px + var(--safe-b))}.notes{width:100%;border-left:0;padding-left:max(18px,var(--safe-l));padding-right:max(18px,var(--safe-r))}}@media (prefers-reduced-motion: reduce){.card,.notes{animation:none}.bar i{transition:none}}.bee-mark{width:16px;height:16px;flex:none}.glass{box-shadow:0 1px #ffffff0a inset,0 24px 60px -30px #000c}.stage-vignette{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(ellipse 78% 72% at 50% 48%,transparent 52%,rgba(3,4,5,.55) 100%)}.stage-vignette.on{opacity:1}.letterbox{position:absolute;left:0;right:0;z-index:3;height:min(11vh,96px);background:#030405;pointer-events:none;transition:transform .7s cubic-bezier(.65,0,.35,1);will-change:transform}.letterbox.top{top:0;transform:translateY(-100%);box-shadow:0 1px #e6f0f50a}.letterbox.bottom{bottom:0;transform:translateY(100%);box-shadow:0 -1px #e6f0f50a}.letterbox.on{transform:none}.engine-loading{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#030405;color:var(--ink-2, #a9b2b9);transition:opacity .6s cubic-bezier(.2,.8,.2,1)}.engine-loading.out{opacity:0;pointer-events:none}.engine-loading .inner{display:grid;justify-items:center;gap:22px}.engine-loading svg{width:76px;height:76px;overflow:visible;animation:el-hover 2.4s ease-in-out infinite}.engine-loading .shadow{width:46px;height:8px;border-radius:50%;background:radial-gradient(closest-side,rgba(103,232,249,.22),transparent);margin-top:-14px;animation:el-shadow 2.4s ease-in-out infinite}.engine-loading .wing{transform-box:fill-box;animation:el-flap-l 70ms ease-in-out infinite alternate}.engine-loading .wing.l{transform-origin:100% 85%}.engine-loading .wing.r{transform-origin:0% 85%;animation-name:el-flap-r}.engine-loading .tip{animation:el-glow 1.6s ease-in-out infinite}.engine-loading .label{font:500 11px/1.4 var(--font-mono, ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3, #6b747b)}.engine-loading .bar{width:120px;height:1px;background:#e6f0f514;overflow:hidden}.engine-loading .bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,#67e8f9,transparent);animation:el-scan 1.4s ease-in-out infinite}@keyframes el-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes el-shadow{0%,to{transform:scaleX(1);opacity:1}50%{transform:scaleX(.78);opacity:.6}}@keyframes el-flap-l{0%{transform:rotate(10deg)}to{transform:rotate(-16deg)}}@keyframes el-flap-r{0%{transform:rotate(-10deg)}to{transform:rotate(16deg)}}@keyframes el-glow{0%,to{opacity:1}50%{opacity:.55}}@keyframes el-scan{0%{transform:translate(-100%)}to{transform:translate(250%)}}.mute-toggle{min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-2);transition:color .16s,border-color .16s}.mute-toggle.with-label{padding:0 14px 0 12px}.mute-toggle .mt-label{font:500 13px var(--font-body);color:var(--ink)}.mute-toggle[aria-pressed=true] .mt-label{color:var(--ink-2)}.mute-toggle:hover{color:var(--ink)}.mute-toggle .waves,.mute-toggle .cross{transition:opacity .18s}@media (max-width: 760px){.mute-toggle .mt-label{display:none}.mute-toggle.with-label{padding:0}}.mute-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mute-toggle svg{width:18px;height:18px}.mute-toggle[aria-pressed=false] .waves{opacity:1}.mute-toggle[aria-pressed=true] .waves,.mute-toggle[aria-pressed=false] .cross{opacity:0}@media (prefers-reduced-motion: reduce){.letterbox{transition:none}.engine-loading{transition-duration:.15s}.engine-loading svg,.engine-loading .shadow,.engine-loading .wing,.engine-loading .tip,.engine-loading .bar i{animation:none}}
