*{box-sizing:border-box}:root{--ink: #e9ecef;--dim: #8b9099;--green: #6ee86a;--green-deep: #2f8f38;--red: #ff3b4e;--amber: #ffc247;--panel: rgba(10, 11, 13, .62);--stroke: rgba(255, 255, 255, .1);--f: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}html,body{margin:0;height:100%;overflow:hidden;background:#05060a;font-family:var(--f)}canvas#scene{display:block;width:100vw;height:100vh}#boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 42%,#1b2333,#07080c 66%,#030406);color:var(--ink);transition:opacity .8s ease}#boot.hide{opacity:0;pointer-events:none}#boot div{display:grid;justify-items:center;gap:16px}#boot h1{margin:0;font:300 46px/1 var(--f);letter-spacing:.34em}#boot h1 span{color:var(--green)}#boot p{margin:0;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}#boot i{display:block;width:220px;height:2px;background:#ffffff1f;overflow:hidden}#boot i:after{content:"";display:block;width:30%;height:100%;background:var(--green);animation:bs 1.4s ease-in-out infinite}@keyframes bs{0%{transform:translate(-100%)}to{transform:translate(420%)}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--ink)}#hud.hidden{opacity:0}#hud>div{position:absolute}.hud-tl{top:22px;left:24px;width:300px}.nw-row{display:flex;justify-content:space-between;align-items:baseline}.lbl{font-size:10px;letter-spacing:.22em;color:#cfd4d9;text-shadow:0 1px 3px #000}.nw-val{font-size:12px;font-weight:600;letter-spacing:.06em;color:#fff;text-shadow:0 1px 3px #000}.nw-bar{margin-top:6px;height:7px;background:#0000008c;border:1px solid rgba(255,255,255,.14);overflow:hidden}.nw-bar>div{height:100%;width:0%;background:linear-gradient(90deg,var(--green-deep),var(--green) 70%,#a9ff9a);box-shadow:0 0 10px #6ee86a80;transition:width .6s cubic-bezier(.2,.8,.2,1)}.nw-goal{margin-top:7px;font-size:9px;letter-spacing:.18em;color:#9aa0a8}.nw-goal b{color:#cfd4d9;font-weight:500}.chips{display:flex;gap:6px;margin-top:12px}.chip{font-size:10px;letter-spacing:.12em;padding:5px 9px;background:var(--panel);border:1px solid var(--stroke);color:#b9bfc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-tr{top:20px;right:24px;text-align:right;max-width:46vw}.cash{font-size:36px;font-weight:200;letter-spacing:-.02em;line-height:1.08;color:var(--green);text-shadow:0 2px 16px rgba(60,220,90,.35);white-space:nowrap}.cash-sign{font-size:22px;vertical-align:.42em;margin-right:1px;opacity:.8}.period{margin-top:10px;display:flex;gap:8px;justify-content:flex-end;font-size:9px;letter-spacing:.2em;color:#9aa0a8}.tick{color:var(--green)}.objective{margin-top:18px;max-width:320px;margin-left:auto;font-size:12.5px;line-height:1.45;color:#dfe3e8;text-align:right;padding-left:14px;border-right:2px solid rgba(110,232,106,.7);text-shadow:0 1px 4px rgba(0,0,0,.9)}.objective.done{border-right-color:#ffffff40;color:#8b9099;text-decoration:line-through}.hud-bl{bottom:22px;left:24px;width:148px;height:148px}#minimap{width:148px;height:148px;border-radius:50%;border:2px solid rgba(255,255,255,.22);box-shadow:0 8px 30px #0009,inset 0 0 24px #0009;background:#10141a}.mm-n{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.1em;color:#cfd4d9}.hud-toasts{bottom:190px;left:24px;display:flex;flex-direction:column;gap:6px;width:300px}.toast{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#0c0e11eb,#0c0e118c);border-left:2px solid var(--green);padding:9px 12px;font-size:12px;color:#e6eaee;animation:tin .35s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast.bad{border-left-color:var(--red)}.toast .amt{margin-left:auto;color:var(--green);font-weight:600;font-variant-numeric:tabular-nums}.toast.bad .amt{color:var(--red)}.toast .ic{width:16px;height:16px;display:grid;place-items:center;font-size:11px;opacity:.9}@keyframes tin{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.hud-br{bottom:24px;right:24px;width:210px}.meter{display:flex;align-items:center;gap:8px;margin-top:7px}.meter span{font-size:9px;letter-spacing:.18em;color:#9aa0a8;width:62px;text-align:right}.meter i{flex:1;height:6px;background:#0009;border:1px solid rgba(255,255,255,.12);display:block}.meter b{display:block;height:100%;width:0%;background:var(--green);transition:width .5s ease}#lev-fill{background:var(--amber)}.prompt{bottom:26%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#08090bc7;border:1px solid var(--stroke);padding:8px 14px;font-size:12.5px;letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prompt.hidden{display:none}kbd{font-family:var(--f);font-size:11px;font-weight:700;color:#0b0c0f;background:#e9ecef;padding:2px 7px;border-radius:3px}.wheel{position:absolute;left:50%;bottom:16%;transform:translate(-50%);width:min(680px,86vw);padding:20px 22px 16px;background:linear-gradient(180deg,#090b0ee6,#090b0eb8);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 70px #000000b3}.wheel.hidden{display:none}.wheel-title{font-size:11px;letter-spacing:.24em;color:var(--green)}.wheel-sub{margin-top:6px;font-size:14px;color:#d7dbe0;line-height:1.5;max-width:60ch}.wheel-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.wopt{pointer-events:auto;cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid rgba(255,255,255,.12);padding:11px 13px;color:#e6eaee;font-family:var(--f);font-size:13px;transition:background .15s,border-color .15s,transform .15s}.wopt:hover{background:#6ee86a1f;border-color:#6ee86a80;transform:translateY(-1px)}.wopt .k{display:inline-block;width:15px;color:var(--green);font-size:10px}.wopt .d{display:block;margin-top:3px;font-size:11px;color:#8b9099}.wopt.risk{border-color:#ff3b4e59}.wopt.risk:hover{background:#ff3b4e24;border-color:#ff3b4eb3}.wheel-hint{margin-top:12px;font-size:9.5px;letter-spacing:.16em;color:#6f747c}.chapter{top:34%;left:50%;transform:translate(-50%);text-align:center;width:90vw;animation:chin .8s cubic-bezier(.2,.8,.2,1)}.chapter.hidden{display:none}.ch-kicker{font-size:10px;letter-spacing:.4em;color:var(--green)}.chapter h2{margin:10px 0 8px;font-size:clamp(26px,4.4vw,54px);font-weight:200;letter-spacing:.22em}.chapter p{margin:0;font-size:13px;letter-spacing:.06em;color:#b7bcc4}@keyframes chin{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.finale{top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:14px;background:radial-gradient(ellipse at 50% 60%,#090b0e8c,#040507e6);text-align:center;animation:chin .9s ease both}.finale.hidden{display:none}.f-kicker{font-size:10px;letter-spacing:.4em;color:var(--amber)}.finale h2{margin:0;font-size:clamp(38px,8vw,96px);font-weight:800;letter-spacing:-.02em;color:#fff;text-shadow:0 0 44px rgba(255,90,60,.55),0 6px 0 rgba(0,0,0,.35);font-style:italic}.finale p{margin:0;font-size:13px;color:#c8cdd4;letter-spacing:.08em}#finale-btn{margin-top:10px;pointer-events:auto;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:10px 22px;font-family:var(--f);font-size:11px;letter-spacing:.22em}#finale-btn:hover{background:#ffffff1a}#hint{position:fixed;bottom:10px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.14em;color:#ffffff4d;text-transform:uppercase;pointer-events:none;transition:opacity 1s}#hint.fade{opacity:0}@media (max-width: 760px){#hint{display:none}.hud-tl{width:150px;top:14px;left:14px}.nw-val,.nw-goal,.lbl,.chips{display:none}.nw-bar{margin-top:0}.hud-tr{max-width:52vw}.period{margin-top:2px}.hud-tr{top:12px;right:14px}.cash{font-size:28px}.objective{font-size:11px;max-width:190px;margin-top:10px}.hud-bl{bottom:14px;left:14px;width:112px;height:112px}#minimap{width:112px;height:112px}.hud-toasts{bottom:140px;left:14px;width:220px}.hud-br{bottom:14px;right:14px;width:130px}.wheel-opts{grid-template-columns:1fr}}#panel{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#00000059,#000000b8);pointer-events:auto;z-index:40;font-family:var(--f)}#panel.hidden{display:none}.panel-card{width:min(560px,92vw);max-height:82vh;overflow:auto;padding:22px 24px 20px;background:#0a0c10ed;border:1px solid rgba(255,255,255,.13);border-top:2px solid var(--amber);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 80px #0009}#panel-kicker{font-size:9px;letter-spacing:.34em;color:var(--amber);margin-bottom:8px}#panel-title{margin:0 0 8px;font:600 21px/1.2 var(--f);letter-spacing:.01em;color:#f2f5f8}#panel-sub{margin:0 0 12px;font-size:12.5px;line-height:1.55;color:#a9b0b8}#panel-body{margin:0 0 14px;font-size:12.5px;line-height:1.6;color:#d6dbe1}#panel-body .row{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}#panel-body .row b{color:var(--green);font-weight:600}#panel-body .row.warn b{color:var(--red)}#panel-body .muted{color:#7f8790;font-size:11.5px}#panel-body .tell{color:var(--amber)}#panel-opts{display:grid;gap:7px}.popt{display:grid;grid-template-columns:18px 1fr;gap:2px 10px;align-items:baseline;padding:9px 11px;text-align:left;background:#ffffff09;border:1px solid rgba(255,255,255,.09);color:#e8ecf1;font:500 13px/1.35 var(--f);cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.popt:hover:not(:disabled){background:#ffffff14;border-color:#ffffff38;transform:translate(2px)}.popt:disabled{opacity:.38;cursor:not-allowed}.popt .k{grid-row:1 / span 2;color:var(--amber);font-size:10px;font-weight:700}.popt .lab{grid-column:2}.popt .d{grid-column:2;color:#98a0a9;font-size:11.5px;font-weight:400}.popt.risk .lab{color:#ffc9cd}.popt.primary{border-color:#6ee86a66}.popt.primary .lab{color:#c9ffc4}#panel-timer{margin-top:12px;height:3px;background:#ffffff1a}#panel-timer.hidden{display:none}#panel-timer-fill{display:block;height:100%;width:100%;background:var(--amber);transition:width .1s linear}#panel-hint{margin-top:12px;font-size:10px;letter-spacing:.16em;color:#6d757e;text-transform:uppercase}
