:root{--canvas:#0b0d13;--s1:#1c1d22;--border:#2e2f36;--text:#f2f2f4;--muted:#9a9ba3;--mint:#74ecc6;--pink:#ff7ab8;--glass:#0e0f149e;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}html,body{background:var(--canvas);height:100%;color:var(--text);font:500 14px/1.5 var(--font);-webkit-font-smoothing:antialiased;touch-action:none;margin:0;overflow:hidden}#canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#status{left:28px;right:28px;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--s1);border:1px solid var(--border);color:var(--pink);font:500 12px/1.45 var(--mono);white-space:pre-wrap;z-index:40;border-radius:16px;padding:14px 16px;position:fixed}.hidden{display:none!important}.ui{pointer-events:none;z-index:20;position:fixed;inset:0}.ui button{pointer-events:auto;font:700 15px var(--font);color:var(--text);background:var(--glass);border:1px solid var(--border);cursor:pointer;backdrop-filter:blur(8px);border-radius:999px;min-width:56px;min-height:48px;padding:12px 22px}.ui button.choose{background:var(--mint);color:#0e1f1a;border-color:var(--mint)}.select{right:max(24px, env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));text-align:center;grid-template-columns:auto auto auto;grid-template-areas:"prev who next""choose choose choose";place-items:center;gap:12px 10px;display:grid;position:absolute}.select .prev{grid-area:prev}.select .next{grid-area:next}.select .who{grid-area:who;min-width:160px}.select .choose{grid-area:choose;width:100%}.select .name{letter-spacing:.02em;text-shadow:0 2px 12px #000c;font-size:30px;font-weight:800}.select .line{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:13px}.play{left:max(20px, env(safe-area-inset-left,0px));top:max(18px, env(safe-area-inset-top,0px));gap:8px;display:grid;position:absolute}.objective{text-shadow:0 1px 6px #000c;font-size:15px;font-weight:700}.bar{background:#ffffff24;border-radius:999px;width:220px;height:8px;overflow:hidden}.bar .fill{background:var(--mint);width:100%;height:100%;transition:width .25s}.enemies{color:var(--muted);font-size:12px}.card,.moment{text-align:center;justify-items:center;gap:16px;display:grid;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.card-text{letter-spacing:.06em;text-shadow:0 4px 24px #000000e6;font-size:44px;font-weight:800}.moment-text{color:var(--mint);background:var(--glass);border:1px solid var(--border);border-radius:16px;max-width:70vw;padding:16px 24px;font-size:22px;font-weight:600;animation:2.6s both moment-in}@keyframes moment-in{0%{opacity:0}12%{opacity:1}85%{opacity:1}to{opacity:0}}.hint{left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom,0px));text-align:center;color:var(--muted);text-shadow:0 1px 2px #000000d9;font-size:12px;font-weight:600;position:absolute}.error{background:var(--s1);border:1px solid var(--border);color:var(--pink);font:500 12px/1.45 var(--mono);border-radius:16px;padding:14px 16px;position:absolute;bottom:80px;left:28px;right:28px}.loading{z-index:30;background:radial-gradient(120% 90% at 50% 20%,#1d2436 0%,#0b0d13 70%) 50%/cover;place-items:end center;transition:opacity .7s;display:grid;position:fixed;inset:0}.loading-veil{background:linear-gradient(#0b0d1300 40%,#0b0d13e6 100%);position:absolute;inset:0}.loading-card{text-align:center;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));justify-items:center;gap:10px;width:min(520px,86vw);display:grid;position:relative}.loading-title{letter-spacing:.08em;text-transform:uppercase;font-size:44px;font-weight:800}.loading-subtitle{color:var(--mint);letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:700}.loading-heroes{color:var(--muted);font-size:13px}.loading-bar{background:#ffffff1f;border-radius:999px;width:100%;height:6px;margin-top:10px;overflow:hidden}.loading-fill{background:var(--mint);width:0;height:100%;transition:width .3s}.loading-words{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.loading-out{opacity:0;pointer-events:none}.loading-failed .loading-words{color:var(--pink)}
