@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(/fonts/Manrope-400.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF}@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url(/fonts/Manrope-500.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF}@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(/fonts/Manrope-600.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF}@font-face{font-family:Manrope;font-weight:700 900;font-display:swap;src:url(/fonts/Manrope-700.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF}@font-face{font-family:Manrope;font-weight:400 500;font-display:swap;src:url(/fonts/NotoSans-400-schwa.woff2)format("woff2");unicode-range:U+18F}@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(/fonts/NotoSans-600-schwa.woff2)format("woff2");unicode-range:U+18F}@font-face{font-family:Manrope;font-weight:700 900;font-display:swap;src:url(/fonts/NotoSans-700-schwa.woff2)format("woff2");unicode-range:U+18F}@font-face{font-family:Unbounded;font-weight:500;font-display:swap;src:url(/fonts/Unbounded-500.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF,U+18F}@font-face{font-family:Unbounded;font-weight:700 900;font-display:swap;src:url(/fonts/Unbounded-700.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF,U+18F}@font-face{font-family:JetBrains Mono;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF,U+18F}@font-face{font-family:JetBrains Mono;font-weight:700 900;font-display:swap;src:url(/fonts/JetBrainsMono-700.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+130-131,U+11E-11F,U+15E-15F,U+259,U+2010-2027,U+2030-203A,U+20AC,U+20BC,U+2122,U+2190-2193,U+2212,U+2713,U+25CF,U+18F}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f19;--surface:#111827;--surface-2:#1f2937;--surface-3:#283548;--glass:#111827d1;--line:#ffffff14;--line-2:#ffffff24;--fg:#f9fafb;--muted:#9ca3af;--faint:#6b7280;--accent:#ff5722;--accent-2:#ff7043;--accent-fill:#ff5722;--accent-text:#ff8a65;--accent-ink:#fff;--accent-soft:#ff572224;--accent-line:#ff572280;--accent-glow:0 4px 20px #ff572226;--live:#ef4444;--ok:#10b981;--warn:#f59e0b;--danger:#ef4444;--gold:#f1c24d;--silver:#c9d1de;--bronze:#e0955f;--scrim:#000;--hdr:#0b0f19d1;--dock:#1f2937db;--hi:#ffb5a0;--hi-2:#ffdbd1;--danger-t:#fca5a5;--danger-bg:#7f1d1d59;--danger-bg-2:#7f1d1d99;--shadow:#0009;--shadow-soft:#00000040;--glow-a:#ff572217;--stage-bg:#0a0e18;--stage-fg:#f9fafb;--stage-alert:#ff7043;--stage-warn:#f59e0b;--f-display:"Unbounded", "Manrope", system-ui, sans-serif;--f-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r:16px;--r-md:12px;--r-sm:8px;--r-pill:999px;--ease:cubic-bezier(.2, .8, .2, 1);--tp-ink:#f8fafc;--tp-dim:#cbd5e1;--tp-faint:#64748b;--tp-glass:#020617;--tp-pitch:#22d3ee;--tp-pitch-2:#10b981;--tp-pitch-bg-1:#08203e;--tp-pitch-bg-2:#030914;--tp-pitch-bg-3:#010308;--tp-qa:#ef4444;--tp-qa-2:#f97316;--tp-qa-ring:#ff3b3b;--tp-qa-text:#fef08a;--tp-qa-soft:#fca5a5;--tp-qa-bg-1:#690b0b;--tp-qa-bg-2:#2a0404;--tp-qa-bg-3:#0d0101;--tp-done-1:#dc2626;--tp-done-2:#7f1d1d;--tp-done-3:#1f0303;--tp-done-alt-1:#111827;--tp-done-alt-2:#030712;--tp-done-ink:#7f1d1d;--tp-go:#10b981;--tp-go-line:#34d399;--tp-hold:#f59e0b;--tp-hold-line:#fbbf24;--tp-on-btn:#020617;--rv-bg:#0b0c12;--rv-ink:#f3f4f8;--rv-dim:#a3a9bc;--rv-faint:#596074;--rv-ember:#ff6f36;--rv-heart:#ff3d4e;--rv-gold:#f1c24d;--rv-silver:#d3dae6;--rv-bronze:#e0955f}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f7;--surface:#fff;--surface-2:#f1f3f6;--surface-3:#e3e7ed;--glass:#ffffffdb;--line:#0f172a1a;--line-2:#0f172a33;--fg:#0f172a;--muted:#4b5563;--faint:#6b7280;--accent:#d9480f;--accent-2:#e8590c;--accent-fill:#d9480f;--accent-text:#c2410c;--accent-ink:#fff;--accent-soft:#d9480f1a;--accent-line:#d9480f73;--accent-glow:0 4px 18px #d9480f24;--live:#dc2626;--ok:#047857;--warn:#b45309;--danger:#dc2626;--gold:#b7791f;--silver:#64748b;--bronze:#b45f2a;--hdr:#ffffffdb;--dock:#fffffff0;--hi:#c2410c;--hi-2:#9a3412;--danger-t:#b91c1c;--danger-bg:#dc262612;--danger-bg-2:#dc262624;--shadow:#0f172a2e;--shadow-soft:#0f172a0f;--glow-a:#d9480f12}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px);overscroll-behavior-y:none;margin:0;font-size:15px;font-weight:500;line-height:1.47}body.app{background:radial-gradient(1200px 520px at 50% -180px, var(--glow-a), transparent 70%), var(--bg);background-attachment:fixed;min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:1180px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.wrap.wide{max-width:1440px}.wrap.narrow{max-width:560px}h1,h2,h3{text-wrap:balance;margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:30px}h2{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:24px}h3,.caps{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700;line-height:14px}.sub{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:500;line-height:18px}.faint{color:var(--faint)}.ic{vertical-align:-3px;flex:none;width:16px;height:16px}.ok-t{color:var(--ok)}.warn-t{color:var(--warn)}.live-t{color:var(--live)}.acc-t{color:var(--accent-text)}.chrome{z-index:9;position:sticky;top:0}.top{background:var(--hdr);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}.top .wrap{flex-wrap:wrap;align-items:center;gap:14px;min-height:60px;padding-block:8px;display:flex}.brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand .flame{background:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 4px #ff57222e,0 0 18px #ff5722b3}.brand b{letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;font-size:17px;font-weight:800}.brand b i{color:var(--accent);font-style:normal}.brand .role{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700}.conn{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:7px;padding:5px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.conn:before{content:"";background:var(--faint);border-radius:50%;width:7px;height:7px}.conn.online{color:var(--ok);background:#10b9811a;border-color:#10b98159}.conn.online:before{background:var(--ok);box-shadow:0 0 0 3px #10b98140}.conn.offline{color:var(--warn);background:#f59e0b1a;border-color:#f59e0b59}.conn.offline:before{background:var(--warn)}.top .spacer{flex:1}.nav{gap:2px;display:flex}.nav a{border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.nav a[aria-current=page]{color:var(--fg);background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--accent)}.nav a:hover:not([aria-current=page]){color:var(--fg)}.nav a .ic{opacity:.7;width:13px;height:13px}.who-me{align-items:center;gap:10px;display:flex}.who-me .nm{text-align:right;line-height:1.15}.who-me .nm b{font-size:13.5px;display:block}.who-me .nm small{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:9.5px}.avatar{background:var(--accent-2);color:#3a0a00;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.icon-btn{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-pill);min-width:40px;min-height:40px;color:var(--muted);place-items:center;display:inline-grid}.icon-btn:hover{color:var(--fg);border-color:var(--line-2)}main{padding-block:20px 120px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.card.hot{border-color:var(--accent-line);box-shadow:var(--accent-glow)}.card.sunk{background:var(--surface-2)}.pad{padding:16px}.pad-lg{padding:20px}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.cgrid>*,.grid2>*,.stagebox>*,.rvbox>*{min-width:0}.grid2{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.cgrid{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.section-gap{margin-top:16px}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.head h2{align-items:center;gap:8px;display:flex}.head h2 .ic{color:var(--accent-2);width:18px;height:18px}h2>.ic{color:var(--accent-2);vertical-align:-3px;width:18px;height:18px;margin-right:8px}.btn{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-2);background:var(--surface-3)}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 18px #ff572247}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn.primary:disabled{background:var(--surface-2);border-color:var(--line);color:var(--faint);box-shadow:none}.btn.dark{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn.ghost{background:0 0}.btn.outline-acc{border-color:var(--accent-line);color:var(--accent-text);background:0 0}.btn.danger{color:var(--danger-t);background:var(--danger-bg);border-color:#ef444459}.btn.danger:hover:not(:disabled){background:var(--danger-bg-2);border-color:#ef444499}.btn.danger.solid{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.sm{border-radius:var(--r-sm);min-height:36px;padding:6px 11px;font-size:13px}.btn.lg{min-height:56px;padding:12px 22px;font-size:16px}.btn:disabled:not(.primary){opacity:.45}.btn .ic{width:16px;height:16px}.btn .kbd{font-family:var(--f-mono);letter-spacing:.04em;opacity:.65;font-size:10px;font-weight:600;display:block}.btn.stackd{flex-direction:column;gap:2px;line-height:1.2}.btn.stackd>span:first-child{align-items:center;gap:8px;font-size:15px;display:inline-flex}.pill{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.pill .ic{width:12px;height:12px}.pill.ok{color:var(--ok);background:#10b9811a;border-color:#10b98159}.pill.hot{color:var(--accent-text);border-color:var(--accent-line);background:var(--accent-soft)}.pill.fill{color:#fff;border-color:var(--accent);background:var(--accent)}.pill.warn{color:var(--warn);background:#f59e0b1a;border-color:#f59e0b59}.pill.danger,.pill.live{color:var(--live);background:#ef444424;border-color:#ef444473}.pill.live:before,.pill.pulse:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.6s ease-out infinite radar}@keyframes radar{0%{box-shadow:0 0}70%,to{box-shadow:0 0 0 6px #0000}}.f{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}textarea,input[type=text],input[type=password],input[type=number],input[type=search],select{width:100%;color:var(--fg);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);min-height:44px;padding:10px 12px;font-weight:500}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical;min-height:96px;line-height:1.5}textarea:focus,input:focus,select:focus{border-color:var(--accent-line);outline:none;box-shadow:0 0 0 3px #ff57222e}textarea:disabled,input:disabled{opacity:.6}.note{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);margin:0;padding:12px 14px;font-size:13px}.note b{color:var(--fg)}.banner{border-radius:var(--r-md);align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.banner .ic{width:18px;height:18px}.banner.lock{color:var(--fg);background:#f59e0b1a;border:1px solid #f59e0b59}.banner.lock .ic{color:var(--warn)}.banner.err{background:#ef44441f;border:1px solid #ef444466}.banner.info{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:500}.banner.info b{color:var(--fg)}.confirm{border-radius:var(--r-md);background:var(--danger-bg);border:1px solid #ef444466;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.empty{color:var(--muted);text-align:center;padding:40px 16px}.err-t{color:var(--danger-t);min-height:1.4em;margin:0;font-size:13px;font-weight:600}.sw{border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface-3);flex:none;width:48px;height:28px;padding:0;position:relative}.sw:after{content:"";background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.sw[aria-checked=true]{background:var(--ok);border-color:var(--ok)}.sw.acc[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.sw[aria-checked=true]:after{background:#fff;transform:translate(20px)}.toggle{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.toggle:first-of-type{border-top:0}.toggle b{font-size:14.5px;display:block}.toggle small{color:var(--muted);font-size:12.5px}.progress{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.progress i{background:var(--ok);border-radius:3px;height:100%;transition:width .4s;display:block}.progress.acc i{background:var(--accent)}.toast{left:50%;bottom:calc(104px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;background:var(--fg);color:var(--bg);border-radius:var(--r-md);z-index:60;max-width:calc(100% - 32px);box-shadow:0 10px 30px var(--shadow);padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%)translateY(20px)}.toast.on{opacity:1;transform:translate(-50%)translateY(0)}.toast.err{background:var(--danger);color:#fff}.fade{animation:fadeup .45s var(--ease) both}@keyframes fadeup{0%{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.35}}@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:none}}.login-wrap{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login{width:100%;max-width:400px}.mark{align-items:center;gap:12px;margin-bottom:22px;display:flex}.mark .logo{background:var(--surface);border:1px solid var(--line);width:46px;height:46px;box-shadow:var(--accent-glow);border-radius:14px;place-items:center;display:grid}.mark b{letter-spacing:-.02em;text-transform:uppercase;font-size:24px;font-weight:800;line-height:1.1;display:block}.mark b i{color:var(--accent);font-style:normal}.mark span{color:var(--muted);font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:10.5px;font-weight:700;display:block}.login form{gap:14px;display:grid}.login .btn{width:100%}.login .foot{color:var(--muted);align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;display:flex}.login .foot .ic{color:var(--accent-2);margin-top:2px}.join-hello{letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:32px}.join-ok{text-align:center;place-items:center;gap:10px;padding:18px 0 6px;display:grid}.join-ok .tick{width:64px;height:64px;color:var(--ok);animation:pop .45s var(--ease);background:#10b98126;border-radius:50%;place-items:center;display:grid}.join-ok .tick .ic{stroke-width:3px;width:30px;height:30px}.jhead{z-index:9;background:var(--hdr);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.jhead .wrap{grid-template-columns:minmax(0,1fr);gap:8px;padding-block:8px 6px;display:grid}.jhead .r1{justify-content:space-between;align-items:center;gap:10px;display:flex}.jhead .ttl{flex:auto;min-width:0}.jhead .ttl .t{align-items:center;gap:8px;min-width:0;display:flex}.jhead .ttl .t b{min-width:0}.jhead .ttl .t .pill{flex:none}.jhead .ttl b{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;overflow:hidden}.jhead .ttl small{font-family:var(--f-mono);color:var(--muted);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;display:block;overflow:hidden}.jhead .tools{flex:none;align-items:center;gap:8px;display:flex}.jhead .avatar{cursor:pointer;border:0;width:32px;height:32px;font-size:12px}.chips{scrollbar-width:none;scroll-snap-type:x proximity;gap:6px;padding:1px 0 4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{scroll-snap-align:start;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--muted);font-family:var(--f-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-flex}.chip b{font-family:var(--f-body);text-transform:none;letter-spacing:0;color:var(--fg);font-size:12.5px;font-weight:700}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px #ff572259}.chip[aria-pressed=true] b{color:#fff}.chip .done{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.chip .done .ic{stroke-width:3px;width:10px;height:10px}.chip .draft{background:var(--warn);border-radius:50%;width:7px;height:7px}.chip .livedot{background:var(--live);width:7px;height:7px;color:var(--live);border-radius:50%;animation:1.6s ease-out infinite radar}.chip[aria-pressed=true] .livedot{color:#fff;background:#fff}.jmain{gap:16px;padding-block:14px 128px;display:grid}.nudge{border-radius:var(--r-md);border:1px solid var(--accent-line);box-shadow:var(--accent-glow);animation:nudgeIn .5s var(--ease) both;background:linear-gradient(90deg,#ff572240,#ff572214);align-items:center;gap:12px;padding:12px 14px;display:flex}.nudge .ic{width:20px;height:20px;color:var(--accent-2);animation:1s ease-in-out 2 ring}.nudge div{flex:1;min-width:0;font-size:14px}.nudge div b{display:block}.nudge button{color:var(--muted);background:0 0;border:0;place-items:center;min-width:36px;min-height:36px;display:grid}@keyframes nudgeIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes ring{0%,to{transform:rotate(0)}20%{transform:rotate(-16deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(6deg)}}.nudge-modal{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;place-items:center;padding:20px;animation:.25s both rvFade;display:grid;position:fixed;inset:0}.nm-card{background:var(--surface);border:1px solid var(--accent-line);text-align:center;width:min(420px,100%);box-shadow:0 30px 80px var(--shadow), var(--accent-glow);animation:nudgeIn .45s var(--ease) both;border-radius:20px;justify-items:center;gap:10px;padding:26px 22px;display:grid}.nm-card>.ic{width:44px;height:44px;color:var(--accent-2);animation:1s ease-in-out 2 ring}.nm-card b{font-size:20px;font-weight:800}.nm-card p{color:var(--muted);margin:0 0 6px;font-size:15px}.nm-card p strong{color:var(--fg)}.nm-card .btn{width:100%}@keyframes rvFade{0%{opacity:0}}.bento{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 6px 24px var(--shadow-soft);gap:10px;padding:16px;display:grid}.bento .top-r{justify-content:space-between;align-items:center;gap:8px;display:flex}.bento .id{justify-content:space-between;align-items:flex-start;gap:12px;padding-top:2px;display:flex}.bento .id .nm{min-width:0}.bento .id .nm .t{align-items:center;gap:8px;display:flex}.bento .id h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bento .id p{color:var(--muted);margin:2px 0 0;font-size:13px}.tagno{font-family:var(--f-mono);background:var(--accent-soft);color:var(--accent-text);border-radius:6px;flex:none;padding:2px 7px;font-size:11px;font-weight:700}.teamicon{border-radius:var(--r-md);background:var(--surface-2);width:48px;height:48px;color:var(--accent-2);border:1px solid var(--line);flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.minis{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mini{background:var(--surface-2);border-radius:10px;gap:3px;min-width:0;padding:10px 11px;display:grid}.mini .lb{color:var(--muted);font-family:var(--f-mono);letter-spacing:.03em;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:600;display:flex}.mini .lb .ic{width:13px;height:13px;color:var(--ok)}.mini .v{align-items:baseline;gap:6px;display:flex}.mini .v b{font-family:var(--f-mono);letter-spacing:-.02em;color:var(--hi-2);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.15}.mini .v span{font-family:var(--f-mono);color:var(--muted);font-size:10.5px;font-weight:600}.mini .v.warn b{color:var(--warn)}.mini .v.over b{color:var(--live);animation:1s steps(2,end) infinite blink}.mini .v.idle b{color:var(--muted);font-size:16px}.mini .progress{height:4px;margin-top:5px}.mini .progress i{background:var(--accent);transition:width .25s linear}.mini small{font-family:var(--f-mono);color:var(--ok);align-items:center;gap:4px;font-size:10px;font-weight:600;display:inline-flex}.mini small .ic{width:11px;height:11px}.privacy{font-family:var(--f-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding-top:2px;font-size:10.5px;font-weight:600;display:flex}.privacy span{align-items:center;gap:6px;display:inline-flex}.privacy span:last-child{white-space:nowrap}.privacy .ic{width:13px;height:13px;color:var(--ok)}.totalcard{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.totalcard .k b{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);font-size:11px;display:block}.totalcard .k small{color:var(--muted);font-size:13px}.totalcard .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:flex}.totalcard .v b{letter-spacing:-.02em;color:var(--hi);font-size:34px;font-weight:700}.totalcard .v span{color:var(--muted);font-size:16px;font-weight:600}.crit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:10px;padding:16px;transition:border-color .2s,box-shadow .2s;display:grid}.crit:focus-within,.crit.on{border-color:var(--accent-line);box-shadow:var(--accent-glow)}.crit .ch{justify-content:space-between;align-items:center;gap:10px;display:flex}.crit .ch .t{align-items:center;gap:10px;min-width:0;display:flex}.crit .num{background:var(--surface-2);width:24px;height:24px;color:var(--fg);font-family:var(--f-mono);border-radius:6px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.crit.done .num{color:var(--ok);background:#10b9812e}.crit .ch b{letter-spacing:-.01em;font-size:17px;font-weight:700}.crit .w{font-family:var(--f-mono);color:var(--fg);white-space:nowrap;background:var(--surface-2);border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700}.crit .w span{color:var(--muted);font-weight:600}.crit p{color:var(--muted);white-space:pre-line;margin:0;font-size:13.5px;line-height:19px}.scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.scale button{background:var(--surface-2);color:var(--fg);border-radius:var(--r-sm);min-height:48px;font-family:var(--f-mono);font-variant-numeric:tabular-nums;border:1px solid #0000;font-size:18px;font-weight:600;transition:transform .12s,background .12s,box-shadow .12s}.scale button:hover:not(:disabled):not([aria-pressed=true]){background:var(--surface-3)}.scale button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:700;transform:translateY(-1px);box-shadow:0 0 12px #ff572266}.scale button:disabled:not([aria-pressed=true]){opacity:.4}.scale button:disabled[aria-pressed=true]{opacity:.85}.bigscale{gap:12px;margin-top:4px;display:grid}.bs-row{grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:10px;display:grid}.bs-step{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);min-height:64px;color:var(--fg);font-size:30px;font-weight:600;line-height:1}.bs-step:active:not(:disabled){background:var(--accent);color:#fff}.bs-step:disabled{opacity:.4}.bs-val{border-radius:var(--r-md);background:var(--accent);color:#fff;justify-content:center;align-items:baseline;gap:6px;min-height:64px;padding-top:6px;display:flex;box-shadow:0 0 14px #ff572259}.bs-val b{font-size:36px;font-weight:700;line-height:1.3}.bs-val span{opacity:.85;font-size:15px}.bs-val.empty{background:var(--surface-2);color:var(--muted);box-shadow:none}.bs-range{width:100%;accent-color:var(--accent);height:32px;margin:0}.bs-range[data-untouched]{opacity:.55}.bs-quick{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.bs-quick button{border-radius:var(--r-sm);background:var(--surface-2);min-height:44px;color:var(--fg);font-family:var(--f-mono);border:1px solid #0000;font-size:16px;font-weight:600}.bs-quick button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.bs-quick button:disabled{opacity:.4}.qchips{gap:10px;display:grid}.qchips .list{flex-wrap:wrap;gap:8px;display:flex}.qchip{border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface-2);min-height:38px;color:var(--fg);align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.qchip .ic{width:14px;height:14px;color:var(--muted)}.qchip[aria-pressed=true]{border-color:var(--accent-2);color:var(--accent-2);background:#ff704314}.qchip[aria-pressed=true] .ic{color:var(--accent-2)}.qchip:disabled{opacity:.5}.notes{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:10px;padding:16px;display:grid}.notes .ch{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.notes .ch label{align-items:flex-start;gap:8px;font-size:15px;font-weight:700;display:flex}.notes .ch label .ic{color:var(--accent-2);margin-top:2px}.notes .opt{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.notes textarea{background:var(--bg)}.notes .foot{font-family:var(--f-mono);color:var(--muted);justify-content:space-between;font-size:10.5px;font-weight:600;display:flex}.notes .foot span{align-items:center;gap:5px;display:inline-flex}.notes .foot .ic{width:12px;height:12px;color:var(--ok)}.jacts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.jacts .btn{background:var(--surface);min-height:52px}.openline{text-align:center;font-family:var(--f-mono);color:var(--ok);justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.openline:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.openline.lock{color:var(--warn)}.dock{z-index:8;background:var(--dock);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -8px 24px var(--shadow);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.dock .wrap{align-items:center;gap:12px;min-height:76px;padding-block:12px;display:flex}.dock .st{flex:1;gap:1px;min-width:0;display:grid}.dock .st b{font-family:var(--f-mono);letter-spacing:.02em;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:flex}.dock .st b .ic{width:14px;height:14px}.dock .st small{color:var(--muted);text-overflow:ellipsis;font-size:12.5px;line-height:1.3;overflow:hidden}.dock .st.ok b{color:var(--ok)}.dock .st.warn b{color:var(--warn)}.dock .st.err b{color:var(--danger-t)}.dock .st.mute b{color:var(--muted)}.dock .tot{font-family:var(--f-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:flex}.dock .tot b{font-size:26px;font-weight:700}.dock .tot span{color:var(--muted);font-size:13px}.dock .btn{border-radius:var(--r-md);white-space:normal;text-align:center;flex:0 auto;min-width:0;min-height:52px;padding:12px 20px;font-size:16px;line-height:1.2}.dock .btn .ic{width:18px;height:18px}.dock .btn.sent{background:var(--ok);border-color:var(--ok);color:#fff;opacity:1;animation:pop .45s var(--ease);box-shadow:none}.hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.hero .t{align-items:flex-start;gap:12px;display:flex}.hero .t .flame{background:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;margin-top:7px;box-shadow:0 0 0 4px #ff57222e,0 0 14px #ff572299}.hero h1{text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;font-size:19px;display:flex}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);align-content:start;gap:4px;min-width:0;padding:14px;display:grid}.kpi .top-r{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.kpi .big{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:800;overflow:hidden}.kpi .big.mono{font-size:26px;font-weight:700}.kpi .big small{font-family:var(--f-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:4px;font-size:11px;font-weight:700}.kpi .ln{color:var(--muted);align-items:center;gap:6px;min-width:0;font-size:12.5px;display:flex}.kpi .ln .mono{color:var(--fg)}.kpi .progress{margin-top:6px}.dots{gap:4px;display:inline-flex}.dot{background:var(--surface-3);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #10b98133}.dot.busy{background:var(--warn);box-shadow:0 0 0 3px #f59e0b33}.dot.off{background:var(--live)}.stagebox{gap:14px;display:grid}.stagebox .bar1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.stagebox .bar1 .row{gap:8px}.stagebox .tname{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:30px;font-weight:800;line-height:36px}.stagebox .tproj{color:var(--muted);margin:2px 0 0;font-size:15px}.phases{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.phases span{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:10.5px;font-weight:700}.phases span.on{background:var(--accent);color:#fff}.phases span.on.qa{background:var(--warn);color:#1a1200}.phases span.on.done{background:var(--live)}.clockbox{border-radius:var(--r-md);border:1px solid var(--line);background:radial-gradient(ellipse at 50% 120%, #ff572229, transparent 60%), var(--stage-bg);text-align:center;color:#f9fafb;padding:22px 12px 18px}.clockbox .lbl{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;font-size:10.5px;font-weight:700}.clockbox b{font-family:var(--f-mono);letter-spacing:-.04em;color:#ffb5a0;font-variant-numeric:tabular-nums;margin:6px 0;font-size:clamp(56px,9vw,104px);font-weight:700;line-height:1.05;display:block}.clockbox.warn b{color:#ff5722}.clockbox.warn{animation:1s ease-in-out infinite strobe}.clockbox.over b{color:var(--live);animation:1s steps(2,end) infinite blink}.clockbox.idle b{color:#6b7280}.clockbox .sync{font-family:var(--f-mono);color:#9ca3af;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.clockbox .sync .live-t{color:#ff8a65;letter-spacing:.06em}@keyframes strobe{50%{background-color:#f59e0b12}}.tbtns{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tbtns .btn{min-height:62px}.tbtns .btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.tmore{flex-wrap:wrap;gap:8px;display:flex}.onstage form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;display:grid}.order{overscroll-behavior:contain;gap:6px;max-height:min(640px,100dvh - 220px);padding-right:4px;display:grid;overflow-y:auto}.order button{text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);min-height:52px;color:var(--fg);grid-template-columns:20px 34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.order button:hover{border-color:var(--line-2)}.order .ix{font-family:var(--f-mono);color:var(--muted);font-size:12px;font-weight:700}.order .nm{min-width:0}.order .nm b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;display:block;overflow:hidden}.order .nm small{font-family:var(--f-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.order .st{font-family:var(--f-mono);color:var(--muted);white-space:nowrap;font-size:11px;font-weight:600}.order button[aria-pressed=true]{border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--accent);background:#ff572214}.order button[aria-pressed=true] .ix{color:var(--accent-text)}.jgrid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;display:grid}.jcard{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);align-content:start;gap:10px;padding:14px;display:grid;position:relative}.jcard.busy{background:linear-gradient(180deg, #f59e0b0f, transparent 60%), var(--surface-2);border-color:#f59e0b66}.jcard.sent{border-color:#10b9814d}.jcard.pending{border-style:dashed}.jcard .tr{justify-content:space-between;align-items:center;display:flex}.jcard .ini{background:var(--surface-3);width:32px;height:32px;color:var(--fg);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.jcard .nm b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;display:block;overflow:hidden}.jcard .nm small{font-family:var(--f-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.jcard .box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);justify-content:space-between;align-items:flex-end;gap:8px;padding:9px 10px;display:flex}.jcard .box .k{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.jcard .box .v{font-family:var(--f-mono);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.2}.jcard .box .v span{color:var(--muted);font-size:13px}.jcard .box .ago{font-family:var(--f-mono);color:var(--ok);white-space:nowrap;background:#10b9811a;border-radius:6px;padding:3px 6px;font-size:10px}.jcard.busy .box .k{color:var(--warn)}.jcard.busy .box .ago{color:var(--warn);background:#f59e0b1a}.jcard.sent .box .k{color:var(--ok)}.jcard .tr{gap:2px}.jcard .tr .sp{flex:1}.jcard .tr .dot{margin-left:6px}.mini-btn{color:var(--faint);background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.mini-btn:hover{color:var(--fg);background:var(--surface-3)}.mini-btn.del:hover{color:var(--danger);background:var(--danger-bg)}.jcard .confirm.jdel{gap:6px;padding:8px;font-size:12.5px}.jcard .confirm.jdel .btn{flex:auto}.addj{border:1.5px dashed var(--line-2);border-radius:var(--r-md);color:var(--muted);background:0 0;place-items:center;gap:6px;min-height:150px;font-weight:700;display:grid}.addj .ic{width:22px;height:22px;color:var(--accent-2)}.addj:hover{border-color:var(--accent-line);color:var(--fg)}.rvbox{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.rvstat{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);align-content:start;gap:8px;padding:14px;display:grid}.rvstat .headline{letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.rvstat .headline .ic{width:22px;height:22px;color:var(--accent-2)}.segs{gap:4px;margin-top:4px;display:flex}.segs i{background:var(--surface-3);border-radius:3px;flex:1;height:6px}.segs i.done{background:var(--ok)}.segs i.cur{background:var(--accent)}.rvacts{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-content:start;gap:10px;display:grid}.rvacts .btn.primary{min-height:56px;font-size:16px}.isolation{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);align-items:center;gap:10px;padding:11px 14px;font-size:13px;display:flex}.isolation .ic{color:var(--ok)}.isolation b{color:var(--fg)}.allow{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;padding:8px 10px 8px 14px;display:inline-flex}.allow span{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.lb{margin:0;padding:0;list-style:none}.lb li{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;display:grid;position:relative}.lb li:first-child{border-top:0}.lb .rk{font-family:var(--f-mono);color:var(--faint);text-align:center;font-size:22px;font-weight:700}.lb li.r1 .rk{color:var(--gold)}.lb li.r2 .rk{color:var(--silver)}.lb li.r3 .rk{color:var(--bronze)}.lb .nm{min-width:0}.lb .nm b{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:16px;display:flex;overflow:hidden}.lb .nm small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.lb .nm small .v{font-family:var(--f-mono);color:var(--fg);font-variant-numeric:tabular-nums;font-weight:700}.lb .track{background:var(--surface-3);border-radius:3px;height:5px;margin-top:8px;overflow:hidden}.lb .track i{background:var(--accent);height:100%;transition:width .6s var(--ease);border-radius:3px;display:block}.lb li.r1 .track i{background:var(--gold)}.lb li.r2 .track i{background:var(--silver)}.lb li.r3 .track i{background:var(--bronze)}.lb .sc{text-align:right}.lb .sc b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;display:block}.lb .sc small{color:var(--muted);white-space:nowrap;font-size:12px;font-family:var(--f-mono)}.lb li.none .sc b{color:var(--faint)}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 10px}th{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-size:10px;font-weight:700}td.num,th.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}td.miss{color:var(--faint)}td.heat{background:color-mix(in srgb, var(--accent) calc(var(--h) * 1%), transparent)}td.cell{padding:0}td.cell button{text-align:right;width:100%;min-height:40px;font-family:var(--f-mono);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:9px 10px}td.cell button:hover{background:var(--accent-soft)}td.cell.flash button{animation:flash 1.4s var(--ease)}@keyframes flash{0%{background:#10b98166}to{background:0 0}}.tagrow{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tagrow span{border-radius:var(--r-pill);border:1px solid var(--accent-line);color:var(--accent-2);padding:4px 9px;font-size:12px;font-weight:600}.exports{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:12px;min-height:64px;padding:14px;text-decoration:none;display:flex}.tile:hover{border-color:var(--line-2);background:var(--surface-3)}.tile .ti{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.tile .ti.x{color:var(--ok);background:#10b98124}.tile .ti.p{background:var(--accent-soft);color:var(--accent-2)}.tile b{font-size:15px;display:block}.tile small{font-family:var(--f-mono);color:var(--muted);font-size:10.5px;display:block}.dz-pill{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--danger-t);background:var(--danger-bg-2);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.footbar{border-top:1px solid var(--line);font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;padding-top:14px;font-size:10.5px;font-weight:700;display:flex}dialog{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--fg);width:min(520px,100% - 32px);box-shadow:0 30px 80px var(--shadow);padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3}dialog .dh{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}dialog .db{padding:14px 18px 18px}dialog .vals{grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;font-size:14px;display:grid}dialog .vals b{font-family:var(--f-mono);text-align:right}dialog blockquote{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;white-space:pre-wrap;margin:14px 0 0;padding:10px 12px;font-size:14px}dialog.qrdlg{width:min(560px,100% - 24px)}.qrdlg .db{text-align:center;justify-items:center;gap:14px;display:grid}.qrbox{border:1px solid var(--line);aspect-ratio:1;background:#fff;border-radius:18px;place-items:center;width:min(380px,100%);padding:16px;display:grid;position:relative;box-shadow:0 0 0 6px #ff572233,0 0 40px #ff572240}.qrbox>svg{width:100%;height:100%;display:block}.qrbox.claimed{box-shadow:0 0 0 6px #10b98159,0 0 40px #10b9814d}.qrbox.claimed>svg{opacity:.12;filter:blur(2px)}.qrbox .okover{color:#065f46;align-content:center;place-items:center;gap:8px;padding:16px;font-size:20px;font-weight:800;display:grid;position:absolute;inset:0}.qrbox .okover .ic{stroke-width:3px;width:64px;height:64px;color:var(--ok);animation:pop .45s var(--ease)}.qrdlg .who{letter-spacing:-.01em;font-size:22px;font-weight:800}.qrdlg .link{font-family:var(--f-mono);color:var(--muted);word-break:break-all;background:var(--surface-2);border-radius:var(--r-sm);-webkit-user-select:all;user-select:all;max-width:100%;padding:7px 10px;font-size:11.5px}.qrdlg .wait{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);align-items:center;gap:8px;font-size:11.5px;font-weight:700;display:inline-flex}.qrdlg .wait:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-out infinite radar}.qrdlg .acts{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.qrdlg.big{border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.qrdlg.big .db{align-content:center;height:calc(100% - 70px)}.qrdlg.big .qrbox{width:min(78vh,92vw)}.ed{gap:8px;display:grid}.ed .er{align-items:center;gap:8px;display:grid}.ed.teams .er{grid-template-columns:46px minmax(0,1fr) minmax(0,1.1fr) 104px 52px 92px 44px}.ed.teams.noentry .er{grid-template-columns:46px minmax(0,1fr) minmax(0,1.1fr) 52px 92px 44px}.ed.teams.noentry .en{display:none}.ed textarea{resize:vertical;min-height:44px}.ed.cr .er{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 76px 92px 44px}.ed .ix{font-family:var(--f-mono);color:var(--muted);text-align:center;justify-content:flex-start;align-items:center;gap:2px;font-size:12px;display:flex}.ed .er.off input{opacity:.5}.ed .er.sub{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px!important}.ed .meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;margin-top:-2px;font-size:12.5px;display:flex}.jlist{gap:8px;display:grid}.jrow2{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.jrow2.off{opacity:.6}.jrow2 .ini{background:var(--surface-3);border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.jrow2 .ini.wait{color:var(--warn);background:#f59e0b24}.jrow2 .mid{gap:4px;min-width:0;display:grid}.jrow2 .mid input{background:var(--surface);min-height:38px;padding:7px 10px}.jrow2 .mid small{font-family:var(--f-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:10.5px;display:flex}.jrow2 .acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.jrow2 .confirm{grid-column:1/-1}.tagsed{flex-wrap:wrap;gap:8px;display:flex}.tagsed .qchip{padding-right:6px}.tagsed .qchip button{color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid}.tagsed .qchip button:hover{color:var(--danger);background:#ef44441f}.brandprev{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);align-items:center;gap:10px;min-height:44px;padding:10px 14px;display:inline-flex}.brandprev b{text-transform:uppercase;letter-spacing:-.01em;font-weight:800}.brandprev b i{color:var(--accent);font-style:normal}.mv{gap:4px;display:flex}.x{border:1px solid var(--line);border-radius:var(--r-sm);min-width:40px;min-height:40px;color:var(--muted);background:0 0;place-items:center;display:grid}.x:hover:not(:disabled){color:var(--fg);border-color:var(--line-2)}.x.del:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.x:disabled{opacity:.3}.sum{font-family:var(--f-mono);font-size:12px}.sum.bad{color:var(--danger);font-weight:700}.saved{font-family:var(--f-mono);color:var(--ok);font-size:11px;font-weight:700;transition:opacity .4s}.grip{cursor:grab;color:var(--faint);letter-spacing:-2px;touch-action:none;-webkit-user-select:none;user-select:none;text-align:center;margin:-8px 0;padding:8px 4px;font-size:14px;line-height:1}.grip:hover{color:var(--fg)}body.sorting,body.sorting *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.sort-ph{border:2px dashed var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft)}.sort-lift{opacity:.96;transform:rotate(-.6deg)scale(1.02);box-shadow:0 18px 40px var(--shadow), 0 0 0 2px var(--accent-line)!important}.clockbox .adj{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.clockbox .adj button{color:#f9fafb;min-height:34px;font-family:var(--f-mono);background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.clockbox .adj button:hover:not(:disabled){background:#ff572238;border-color:#ff572299}.clockbox .adj button:disabled{opacity:.35}.clockbox b[role=button]{cursor:text;border-radius:12px}.clockbox b[role=button]:hover{background:#ffffff0a}#clockForm{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0;display:flex}#clockForm[hidden]{display:none}#clockForm input{text-align:center;width:140px;font-family:var(--f-mono);color:#f9fafb;background:#0b0f19;border-color:#fff3;font-size:28px;font-weight:700}.final{overscroll-behavior:contain;gap:6px;max-height:min(720px,100dvh - 200px);padding-right:4px;display:grid;overflow-y:auto}.fin{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);grid-template-columns:20px 40px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;padding:6px 14px;display:grid}.fin .nm{align-items:baseline;gap:10px;display:flex}.fin .nm small{white-space:nowrap}.fin .place{font-family:var(--f-mono);text-align:center;color:var(--muted);font-size:18px;font-weight:700}.fin .place.p1{color:var(--gold)}.fin .place.p2{color:var(--silver)}.fin .place.p3{color:var(--bronze)}.fin .nm{min-width:0}.fin .nm b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.fin .nm small{font-family:var(--f-mono);color:var(--muted);font-size:10.5px}.fin .sc{font-size:15px;font-weight:700}.ed .er .grip{padding:12px 4px}.theme{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);flex:none;padding:2px;display:inline-flex}.theme button{border-radius:var(--r-pill);width:32px;height:30px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.theme button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px var(--shadow-soft), inset 0 0 0 1px var(--line)}.theme button .ic{width:15px;height:15px}.theme-1{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;display:grid}.theme-1 .ic{width:16px;height:16px}.jsum{flex-wrap:wrap;gap:6px;display:flex}.jsum button{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:var(--r-pill);align-items:center;gap:7px;min-height:34px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.jsum button b{font-family:var(--f-mono);color:var(--fg);font-size:13px}.jsum button[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--fg)}.jsum .dot{width:8px;height:8px}.seg{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);padding:2px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}.seg button .ic{width:14px;height:14px}.track{border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}.track table{font-size:13px}.track th,.track td{padding:8px 9px}.track td.nm{min-width:160px}.track td.nm b{font-size:14px;display:block}.track td.nm small{font-family:var(--f-mono);color:var(--muted);font-size:10.5px}.track th.cur,.track td.cur{background:var(--accent-soft)}.track .st{text-align:center;font-family:var(--f-mono);font-weight:700}.track .st.y{color:var(--ok)}.track .st.w{color:var(--warn)}.track .st.n{color:var(--faint)}.track td.act{text-align:right}.track tr.pending td.nm b{color:var(--warn)}.jcard .ini.wait{color:var(--warn);background:#f59e0b24}.rvsteps{flex-wrap:wrap;gap:6px;display:flex}.rvsteps .p{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);gap:2px;min-width:64px;padding:8px 10px;display:grid}.rvsteps .p .k{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.rvsteps .p .k .ic{width:11px;height:11px;color:var(--live)}.rvsteps .p b{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;font-size:13px;overflow:hidden}.rvsteps .p.done{background:#10b98114;border-color:#10b98159}.rvsteps .p.done .k{color:var(--ok)}.rvsteps .p.now{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:var(--accent-glow)}.rvsteps .p.now .k{color:var(--accent-text)}.rvsteps .p.susp{border-style:dashed;border-color:#ef444480}.rvsteps .p.done.susp{border-style:solid;border-color:#10b98159}.nextbox{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);gap:10px;padding:14px;display:grid}.nextbox .what{color:var(--muted);font-size:13px}.nextbox .what b{color:var(--fg)}.stepper{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);align-items:center;display:inline-flex}.stepper button{width:36px;height:36px;color:var(--fg);background:0 0;border:0;font-size:18px;font-weight:700}.stepper button:disabled{opacity:.35}.stepper b{font-family:var(--f-mono);text-align:center;min-width:2.2ch;font-size:15px}@media (width<=1180px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.grid2,.cgrid,.rvbox{grid-template-columns:minmax(0,1fr)}.tbtns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.top .wrap{gap:8px;min-height:54px;padding-block:6px}.brand .role,.who-me{display:none}.brand b{font-size:15px}.top .wrap{flex-wrap:wrap}.top .spacer{flex:1 1 0;min-width:0}.top .conn{gap:0;padding:7px;font-size:0}.top .theme button{width:28px;height:28px}.top .icon-btn{min-width:36px;min-height:36px}main{padding-block:14px 110px}.pad-lg{padding:14px}h2{font-size:16px;line-height:22px}.head h2{flex-wrap:wrap}.hero{padding:14px}.hero h1{font-size:16px}.hero .row{width:100%}.hero .row .btn{flex:1 1 0}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:12px}.kpi .big{white-space:normal;font-size:17px}.kpi .big.mono{font-size:20px}.kpi .big small{margin:2px 0 0;font-size:9.5px;display:block}.kpi .ln{font-size:11.5px}.kpi .top-r{flex-wrap:wrap}.phases{width:100%;display:flex}.phases span{text-align:center;letter-spacing:.02em;flex:1 1 0;padding:6px 2px;font-size:9.5px}.tbtns{gap:8px}.tbtns .btn{min-height:56px;padding:8px}.tmore .btn{flex:auto}.jgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jcard{gap:8px;padding:10px}.jcard .nm b{font-size:13.5px}.jcard .box{flex-direction:column;align-items:flex-start;gap:4px;padding:7px 8px}.jcard .box .v{font-size:16px}.addj{min-height:120px}.rvsteps .p{min-width:56px;padding:6px 8px}.footbar{flex-direction:column}.ed.teams .er,.ed.teams.noentry .er{grid-template-columns:40px minmax(0,1fr) auto auto}.ed.teams .er>[data-k=name]{grid-column:2/-1}.ed.teams .er .pj{order:5;grid-column:2/-1}.ed.teams .er .en{order:6;grid-column:2/-1}.ed.teams .er .sw{order:7;grid-column:2;justify-self:start}.ed.teams .er .mv,.ed.teams .er .del{order:7}.ed.teams .er .meta{order:8;grid-column:2/-1}.ed.teams .er .confirm{order:9}.ed.teams .er{border-bottom:1px solid var(--line);padding-bottom:10px}.jrow2 .acts .f{display:none}.jrow2 .acts .sw{margin-left:auto}.brandrow{flex-wrap:wrap!important}.nav{scrollbar-width:none;order:5;width:100%;overflow-x:auto}.nav a{flex:1 0 auto;justify-content:center;padding:6px 10px;font-size:13px}.exports,.rvacts{grid-template-columns:minmax(0,1fr)}.stagebox .tname{font-size:24px;line-height:30px}.onstage form>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.lb li{grid-template-columns:32px minmax(0,1fr) auto;gap:10px;padding:12px}.lb .sc b{font-size:20px}.ed .er.sub{display:none!important}.ed.cr .er{grid-template-columns:90px minmax(0,1fr) auto auto}.ed.cr .er>[data-k=name],.ed.cr .er .cd{grid-column:1/-1}.ed.cr .er .mv{grid-column:3}.ed.cr .er{border-bottom:1px solid var(--line);padding-bottom:10px}.jrow2{grid-template-columns:36px minmax(0,1fr)}.jrow2 .acts{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.jrow2 .acts .btn{padding:6px 9px}}@media (width<=420px){.jhead .ttl b{font-size:16px}.jhead .conn{padding:4px 8px;font-size:10px}}@media (width<=380px){.scale{gap:6px}.scale button{min-height:46px;font-size:16px}.dock .btn{padding:12px 14px;font-size:15px}.minis{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}body.tp{--glow:var(--tp-pitch);--glow-2:var(--tp-pitch-2);--ring:var(--tp-pitch);--text-glow:color-mix(in srgb, var(--tp-pitch) 60%, transparent);width:100vw;height:100dvh;color:var(--tp-ink);font-family:var(--f-body);background:radial-gradient(circle at 50% 50%, var(--tp-pitch-bg-1) 0%, var(--tp-pitch-bg-2) 65%, var(--tp-pitch-bg-3) 100%);-webkit-user-select:none;user-select:none;margin:0;padding:0;transition:background 1s;overflow:hidden}body.tp.phase-qa{--glow:var(--tp-qa);--glow-2:var(--tp-qa-2);--ring:var(--tp-qa-ring);--text-glow:color-mix(in srgb, var(--tp-qa) 80%, transparent);background:radial-gradient(circle at 50% 50%, var(--tp-qa-bg-1) 0%, var(--tp-qa-bg-2) 60%, var(--tp-qa-bg-3) 100%);animation:2.2s ease-in-out infinite alternate tpMagma}body.tp.phase-done{--glow:var(--tp-ink);--glow-2:var(--tp-qa);--ring:var(--tp-ink);--text-glow:color-mix(in srgb, var(--tp-ink) 95%, transparent);background:radial-gradient(circle at 50% 50%, var(--tp-done-1) 0%, var(--tp-done-2) 70%, var(--tp-done-3) 100%);animation:.55s ease-in-out infinite alternate tpStrobe}@keyframes tpMagma{0%{box-shadow:inset 0 0 90px color-mix(in srgb, var(--tp-qa) 35%, transparent);filter:saturate()}to{box-shadow:inset 0 0 210px color-mix(in srgb, var(--tp-qa) 75%, transparent);filter:saturate(1.3)}}@keyframes tpStrobe{0%{background:radial-gradient(circle at 50% 50%, var(--tp-done-1) 0%, var(--tp-done-2) 65%, var(--tp-done-3) 100%);box-shadow:inset 0 0 240px color-mix(in srgb, var(--tp-ink) 45%, transparent)}to{background:radial-gradient(circle at 50% 50%, var(--tp-done-alt-1) 0%, var(--tp-done-alt-2) 80%);box-shadow:inset 0 0 120px color-mix(in srgb, var(--tp-qa) 65%, transparent)}}.tp-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}.tp-head{z-index:30;border-radius:var(--r-pill);background:color-mix(in srgb, var(--tp-glass) 65%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb, var(--tp-ink) 10%, transparent);align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 18px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.tp-dot{background:var(--glow);width:9px;height:9px;box-shadow:0 0 10px var(--glow);border-radius:50%;flex:none;animation:1.4s ease-in-out infinite tpDot}@keyframes tpDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.4)}}.tp-event{font-family:var(--f-display);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(13px,1.8vmin,18px);font-weight:500;overflow:hidden}.tp-event .ix{font-family:var(--f-mono);color:var(--glow);margin-left:10px}.tp-pills{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;border-left:1px solid color-mix(in srgb, var(--tp-ink) 15%, transparent);white-space:nowrap;align-items:center;gap:6px;padding-left:12px;font-size:11px;display:flex}.tp-pills span{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--tp-ink) 6%, transparent);background:color-mix(in srgb, var(--tp-ink) 5%, transparent);color:var(--tp-faint);padding:2px 8px}.tp-pills span.on{color:var(--glow);border-color:color-mix(in srgb, var(--glow) 40%, transparent);background:color-mix(in srgb, var(--glow) 20%, transparent);font-weight:700}.tp-pills span.past{text-decoration:line-through}.tp-pills i{color:var(--tp-faint);font-style:normal}.tp-stage{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3vmin,40px);width:100vw;height:100dvh;padding:64px 16px 84px;display:flex;position:relative}.tp-dial{--dial:min(max(62vmin, min(86vw, 55vh)), 640px);width:var(--dial);height:var(--dial);perspective:1200px;flex:none;position:relative}.tp-core{transform-style:preserve-3d;will-change:transform;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tp-ring{pointer-events:none;transform-style:preserve-3d;border-radius:50%;transition:border-color .8s,box-shadow .8s;position:absolute;inset:-4%}.tp-ring.r1{border:2px dashed var(--glow);opacity:.38;box-shadow:0 0 35px var(--text-glow), inset 0 0 25px var(--text-glow);animation:18s linear infinite tpOrbit1}.tp-ring.r2{border:1.5px solid var(--glow-2);opacity:.45;box-shadow:0 0 40px var(--text-glow);border-left-color:#0000;border-right-color:#0000;animation:14s linear infinite reverse tpOrbit2;inset:-8%}.tp-ring.r3{border:2px dotted var(--glow);opacity:.35;border-top-color:#0000;animation:22s ease-in-out infinite alternate tpOrbit3;inset:3%}.tp-ring.r4{border:1px solid color-mix(in srgb, var(--tp-ink) 14%, transparent);border-top:2px solid var(--glow);border-bottom:2px solid var(--glow-2);opacity:.3;animation:26s linear infinite tpOrbit4;inset:-12%}body.tp.phase-qa .tp-ring.r1{opacity:.65;animation-duration:8s}body.tp.phase-qa .tp-ring.r2{opacity:.7;animation-duration:6s}body.tp.phase-qa .tp-ring.r3{opacity:.55;animation-duration:9s}body.tp.phase-qa .tp-ring.r4{opacity:.5;animation-duration:11s}body.tp.phase-done .tp-ring.r1{opacity:.9;animation-duration:3s}body.tp.phase-done .tp-ring.r2{opacity:.9;animation-duration:2.5s}body.tp.paused .tp-ring,body.tp.paused .tp-orbit{animation-play-state:paused}@keyframes tpOrbit1{0%{transform:rotateX(62deg)rotateY(15deg)rotate(0)translateZ(15px)}50%{transform:rotateX(-55deg)rotateY(45deg)rotate(180deg)translateZ(-15px)}to{transform:rotateX(62deg)rotateY(15deg)rotate(360deg)translateZ(15px)}}@keyframes tpOrbit2{0%{transform:rotateY(68deg)rotateX(20deg)rotate(0)scale(1)}50%{transform:rotateY(-60deg)rotateX(-35deg)rotate(180deg)scale(1.04)}to{transform:rotateY(68deg)rotateX(20deg)rotate(360deg)scale(1)}}@keyframes tpOrbit3{0%{transform:rotateX(40deg)rotateY(-50deg)rotate(0)translateZ(35px)}to{transform:rotateX(-45deg)rotateY(55deg)rotate(240deg)translateZ(-35px)}}@keyframes tpOrbit4{0%{transform:rotate(0)rotateX(28deg)rotateY(-28deg)}50%{transform:rotate(180deg)rotateX(-28deg)rotateY(28deg)}to{transform:rotate(360deg)rotateX(28deg)rotateY(-28deg)}}.tp-hud{width:100%;height:100%;filter:drop-shadow(0 0 28px var(--text-glow));overflow:visible;transform:translateZ(40px)}.tp-hud .disc-fill-1{stop-color:color-mix(in srgb, var(--tp-glass) 72%, transparent)}.tp-hud .disc-fill-2{stop-color:color-mix(in srgb, var(--tp-glass) 82%, transparent)}.tp-hud .disc-fill-3{stop-color:color-mix(in srgb, var(--tp-glass) 15%, transparent)}.tp-hud .disc{stroke:color-mix(in srgb, var(--tp-ink) 8%, transparent)}.tp-hud .ticks{stroke:color-mix(in srgb, var(--tp-ink) 14%, transparent)}.tp-hud .track{stroke:color-mix(in srgb, var(--tp-ink) 8%, transparent)}.tp-hud .progress{stroke:var(--ring);transform-origin:250px 250px;transition:stroke-dashoffset .25s linear,stroke .6s;transform:rotate(-90deg)}.tp-orbit{transform-origin:250px 250px;animation:34s linear infinite tpSpin}body.tp.phase-qa .tp-orbit{animation-duration:18s}body.tp.phase-done .tp-orbit{animation-duration:9s}@keyframes tpSpin{to{transform:rotate(360deg)}}.tp-banner{font-family:var(--f-body);letter-spacing:.14em;text-transform:uppercase;fill:var(--tp-ink);filter:drop-shadow(0 0 10px var(--glow));font-weight:800;transition:fill .5s}body.tp.phase-qa .tp-banner{fill:var(--tp-qa-text);filter:drop-shadow(0 0 14px var(--tp-qa))}.tp-rim{font-family:var(--f-body);letter-spacing:.22em;text-transform:uppercase;fill:var(--glow);opacity:.88;font-size:11.2px;font-weight:800;transition:fill .5s}body.tp.phase-qa .tp-rim{fill:var(--tp-qa-soft);opacity:1}.tp-readout{z-index:20;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tp-badge{border-radius:var(--r-pill);font-size:clamp(9px, calc(var(--dial) * .023), 13px);white-space:nowrap;text-transform:uppercase;letter-spacing:.22em;color:var(--glow);background:color-mix(in srgb, var(--glow) 20%, transparent);border:1px solid color-mix(in srgb, var(--glow) 40%, transparent);margin-bottom:8px;padding:3px 12px;font-weight:800;transition:all .5s}body.tp.phase-qa .tp-badge{color:var(--tp-qa-text);background:color-mix(in srgb, var(--tp-qa) 30%, transparent);border-color:color-mix(in srgb, var(--tp-qa) 60%, transparent)}body.tp.phase-done .tp-badge{background:var(--tp-ink);color:var(--tp-done-ink);border-color:var(--tp-ink)}.tp-digits{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:calc(var(--dial) * .21);letter-spacing:-.05em;color:var(--tp-ink);text-shadow:0 2px 0 color-mix(in srgb, var(--tp-ink) 25%, transparent), 0 6px 18px color-mix(in srgb, var(--tp-glass) 75%, transparent), 0 0 42px var(--glow), 0 0 85px var(--text-glow);font-weight:700;line-height:.95;transition:text-shadow .6s,transform .3s}body.tp.phase-qa:not(.paused) .tp-digits{animation:1s ease-in-out infinite alternate tpBeat}@keyframes tpBeat{0%{transform:scale(1)}to{transform:scale(1.035)}}.tp-subtext{font-size:clamp(9px, calc(var(--dial) * .025), 14px);white-space:nowrap;text-transform:uppercase;letter-spacing:.18em;color:var(--tp-dim);margin:8px 0 0;font-weight:600}.tp-bars{width:calc(var(--dial) * .42);background:color-mix(in srgb, var(--tp-ink) 10%, transparent);border-radius:var(--r-pill);gap:2px;height:6px;margin-top:12px;padding:2px;display:flex;overflow:hidden}.tp-bars>div{background:color-mix(in srgb, var(--tp-glass) 70%, transparent);height:100%;overflow:hidden}.tp-bars>div:first-child{border-radius:var(--r-pill) 0 0 var(--r-pill);flex:3}.tp-bars>div:last-child{border-radius:0 var(--r-pill) var(--r-pill) 0;flex:2}.tp-bars i{height:100%;transition:width .3s;display:block}.tp-bars .bp{background:var(--tp-pitch)}.tp-bars .bq{background:var(--tp-qa)}body.tp.spinning .tp-hud{filter:drop-shadow(0 0 42px var(--text-glow))}.tp-name{text-align:center;max-width:min(94vw,1500px);min-height:1em}.tp-name b{font-family:var(--f-display);letter-spacing:.005em;color:var(--tp-ink);text-wrap:balance;overflow-wrap:anywhere;text-shadow:0 4px 18px color-mix(in srgb, var(--tp-glass) 80%, transparent), 0 0 36px var(--text-glow);font-size:clamp(2.2rem,7.4vmin,7rem);font-weight:700;line-height:1.04;display:block}.tp-name b .ix{font-family:var(--f-mono);color:var(--glow);vertical-align:.38em;letter-spacing:0;margin-right:.35em;font-size:.5em}.tp-name b.empty{color:var(--tp-faint);text-shadow:none;font-size:clamp(1.4rem,4vmin,3rem)}.tp-name small{color:var(--tp-dim);letter-spacing:.02em;margin-top:.35em;font-size:clamp(1rem,2.7vmin,2.2rem);font-weight:600;display:block}.tp-name.swap{animation:stageIn .6s var(--ease) both}.tp-dock{z-index:30;flex-direction:column;align-items:center;gap:6px;transition:opacity .4s;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.tp-dock.idle{opacity:0}.tp-dock.idle:hover,.tp-dock.idle:focus-within{opacity:1}.tp-btns{border-radius:var(--r-pill);background:color-mix(in srgb, var(--tp-glass) 75%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid color-mix(in srgb, var(--tp-ink) 15%, transparent);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100vw - 24px);padding:6px 10px;display:flex}.tp-btn{border-radius:var(--r-pill);white-space:nowrap;border:1px solid color-mix(in srgb, var(--tp-ink) 10%, transparent);min-height:40px;color:var(--tp-ink);background:color-mix(in srgb, var(--tp-ink) 8%, transparent);align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;line-height:1;transition:background .2s,transform .1s;display:inline-flex}.tp-btn:hover{background:color-mix(in srgb, var(--tp-ink) 18%, transparent)}.tp-btn:active{transform:scale(.94)}.tp-btn.go{background:var(--tp-go);border-color:var(--tp-go-line);color:var(--tp-on-btn);font-weight:700}.tp-btn.hold{background:var(--tp-hold);border-color:var(--tp-hold-line);color:var(--tp-on-btn);font-weight:700}.tp-btn.qa{background:color-mix(in srgb, var(--tp-qa) 20%, transparent);border-color:color-mix(in srgb, var(--tp-qa) 40%, transparent)}.tp-btn .ic{width:14px;height:14px}.tp-toast{color:var(--glow);background:color-mix(in srgb, var(--tp-glass) 80%, transparent);border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--glow) 30%, transparent);padding:3px 12px;font-size:12px;font-weight:600}.tp-keys{color:var(--tp-faint);font-size:11px;font-family:var(--f-mono);letter-spacing:.04em}@media (width<=640px){.tp-pills{display:none}}@media (prefers-reduced-motion:reduce){body.tp.phase-done,body.tp.phase-qa{animation:none!important}}body.rv{min-height:100dvh;color:var(--rv-ink);font-family:var(--f-body);background:radial-gradient(120% 90% at 50% 115%, color-mix(in srgb, var(--rv-ember) 20%, var(--rv-bg)) 0%, var(--rv-bg) 58%);margin:0;padding:0;overflow:hidden}.rv-fx{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;inset:0}.rv-head{z-index:10;justify-content:space-between;align-items:center;padding:clamp(14px,2.4vh,26px) clamp(16px,4vw,56px);display:flex;position:fixed;inset:0 0 auto}.rv-brand{align-items:baseline;gap:12px;min-width:0;display:flex}.rv-brand b{font-family:var(--f-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:clamp(16px,2vw,28px);font-weight:700}.rv-brand b i{color:var(--rv-ember);font-style:normal}.rv-brand span{color:var(--rv-dim);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(12px,1.1vw,17px);overflow:hidden}.rv-title{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--rv-dim);font-size:clamp(12px,1.2vw,18px);font-weight:500}.rv-main{height:100dvh;padding:clamp(76px,11vh,120px) clamp(16px,4vw,56px) clamp(64px,9vh,96px)}.rv-wait{text-align:center;isolation:isolate;place-content:center;gap:14px;height:100%;display:grid;position:relative}.rv-wait h1{font-family:var(--f-display);letter-spacing:.02em;font-size:clamp(48px,8vw,140px);font-weight:700}.rv-wait p{color:var(--rv-dim);margin:0;font-size:clamp(16px,1.8vw,26px)}.rv-wait-ring{aspect-ratio:1;z-index:-1;border:2px solid color-mix(in srgb, var(--rv-ember) 40%, transparent);border-radius:50%;width:min(62vmin,660px);animation:3.4s ease-in-out infinite rvBreath;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes rvBreath{0%,to{opacity:.35;scale:.92}50%{opacity:.85;box-shadow:0 0 90px color-mix(in srgb, var(--rv-ember) 28%, transparent);scale:1.04}}.rv-board{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:stretch;gap:clamp(20px,3vw,56px);height:100%;display:grid}.rv-board.solo{grid-template-columns:minmax(0,1fr)}.rv-list{flex-direction:column;justify-content:center;gap:clamp(6px,1.1vh,12px);min-width:0;display:flex}.rv-row{background:color-mix(in srgb, var(--rv-ink) 4%, transparent);border:1px solid color-mix(in srgb, var(--rv-ink) 8%, transparent);border-radius:14px;grid-template-columns:clamp(40px,4vw,64px) minmax(0,1fr) auto;align-items:center;gap:16px;padding:clamp(10px,1.6vh,18px) 18px;display:grid}.rv-row .rk{font-family:var(--f-display);color:var(--rv-faint);text-align:center;font-size:clamp(20px,2.2vw,34px);font-weight:700}.rv-row .nm{min-width:0}.rv-row .nm b{font-family:var(--f-display);color:var(--rv-faint);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(18px,1.9vw,30px);font-weight:500;display:block;overflow:hidden}.rv-row .nm small{color:var(--rv-dim);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11px,.9vw,15px);display:block;overflow:hidden}.rv-row .bar{background:color-mix(in srgb, var(--rv-ink) 8%, transparent);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.rv-row .bar i{background:var(--rv-ember);width:0;height:100%;transition:width 1.3s var(--ease);display:block}.rv-row .sc{text-align:right;min-width:4ch;font-size:clamp(20px,2.2vw,36px);font-weight:700}.rv-row.on{background:color-mix(in srgb, var(--rv-ink) 7%, transparent);border-color:color-mix(in srgb, var(--rv-ember) 30%, transparent)}.rv-row.on .rk{color:var(--rv-ember)}.rv-row.on .nm b{color:var(--rv-ink)}@keyframes rvRowIn{0%{opacity:0;filter:blur(6px);transform:translate(48px)scale(.98)}to{opacity:1;filter:none;transform:none}}.rv-podium{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:clamp(10px,1.6vw,26px);min-height:0;display:grid}.rv-pod{flex-direction:column;justify-content:flex-end;min-width:0;height:100%;display:flex}.rv-card{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-height:clamp(110px,20vh,210px);padding:clamp(10px,2vh,22px) 10px;display:flex}.rv-card .medal{letter-spacing:.18em;text-transform:uppercase;color:var(--rv-dim);font-size:clamp(11px,1vw,15px);font-weight:700}.rv-card{width:100%;min-width:0}.rv-card .nm{max-width:100%;font-family:var(--f-display);color:var(--rv-faint);overflow-wrap:normal;text-wrap:balance;font-size:clamp(22px,2.6vw,46px);font-weight:700;line-height:1.05}.rv-card .pj{color:var(--rv-dim);font-size:clamp(12px,1vw,16px)}.rv-card .sc{min-height:1.2em;font-size:clamp(26px,3vw,52px);font-weight:700}.rv-card .bd{color:var(--rv-dim);font-size:clamp(11px,.9vw,14px);font-family:var(--f-mono);min-height:1.2em}.rv-pillar{border:1px solid color-mix(in srgb, var(--rv-ink) 10%, transparent);background:linear-gradient(to top, color-mix(in srgb, var(--rv-ink) 3%, transparent), color-mix(in srgb, var(--rv-ink) 10%, transparent));transform-origin:bottom;border-bottom:0;border-radius:14px 14px 0 0;place-items:start center;padding-top:14px;display:grid}.rv-pillar span{font-family:var(--f-display);color:color-mix(in srgb, var(--rv-ink) 14%, transparent);font-size:clamp(40px,6vw,110px);font-weight:700;line-height:1}.rv-pod.p0 .rv-pillar{height:46%}.rv-pod.p1 .rv-pillar{height:32%}.rv-pod.p2 .rv-pillar{height:22%}.rv-pod.on .nm{color:var(--rv-ink)}.rv-pod.on.gold{--medal:var(--rv-gold)}.rv-pod.on.silver{--medal:var(--rv-silver)}.rv-pod.on.bronze{--medal:var(--rv-bronze)}.rv-pod.on .medal,.rv-pod.on .rv-pillar span{color:var(--medal,var(--rv-ember))}.rv-pod.on .rv-pillar{border-color:color-mix(in srgb, var(--medal,var(--rv-ember)) 60%, transparent);background:linear-gradient(to top, color-mix(in srgb, var(--medal,var(--rv-ember)) 8%, transparent), color-mix(in srgb, var(--medal,var(--rv-ember)) 36%, transparent))}.rv-pod.enter .rv-card{animation:rvPodIn 1s var(--ease) both}.rv-pod.enter .rv-pillar{animation:rvRise 1s var(--ease) both}@keyframes rvPodIn{0%{opacity:0;transform:translateY(30px)scale(.9)}to{opacity:1;transform:none}}@keyframes rvRise{0%{filter:brightness(2);transform:scaleY(.6)}to{filter:none;transform:none}}.rv-pod.champion .nm{color:var(--rv-gold);text-shadow:0 0 34px color-mix(in srgb, var(--rv-gold) 55%, transparent)}.rv-pod.champion .rv-pillar{animation:2.4s ease-in-out infinite alternate rvGlow}@keyframes rvGlow{to{box-shadow:0 0 70px color-mix(in srgb, var(--rv-gold) 35%, transparent)}}.rv-overlay{z-index:50;background:color-mix(in srgb, var(--rv-bg) 93%, transparent);place-items:center;animation:.5s both rvFade;display:grid;position:fixed;inset:0}.rv-overlay.leaving{animation:.7s both rvFadeOut}@keyframes rvFadeOut{to{opacity:0}}.rv-vignette{opacity:.35;background:radial-gradient(circle at 50% 50%, transparent 30%, color-mix(in srgb, var(--rv-heart) 32%, transparent) 100%);position:absolute;inset:0}.rv-overlay.beat .rv-vignette{animation:.6s ease-out rvVig}@keyframes rvVig{0%{opacity:.35}14%{opacity:.95}30%{opacity:.45}44%{opacity:.75}to{opacity:.35}}.rv-ov{text-align:center;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,18px);max-width:92vw;display:flex;position:relative}.rv-ov-place{font-family:var(--f-display);letter-spacing:.04em;font-size:clamp(36px,6vw,110px);font-weight:700}.rv-heart{width:clamp(90px,12vw,190px);fill:var(--rv-heart);filter:drop-shadow(0 0 28px color-mix(in srgb, var(--rv-heart) 70%, transparent))}.rv-overlay.beat .rv-heart{animation:.6s ease-out rvLubDub}@keyframes rvLubDub{0%{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(.97)}42%{transform:scale(1.1)}70%,to{transform:scale(1)}}.rv-ecg{width:min(80vw,900px);height:clamp(48px,8vh,100px)}.rv-ecg path{fill:none;stroke:var(--rv-heart);stroke-width:3px;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000px}.rv-overlay.beat .rv-ecg path{animation:.9s linear rvEcg}@keyframes rvEcg{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.rv-ov-hint{color:var(--rv-dim);letter-spacing:.3em;text-transform:uppercase;min-height:1.4em;font-size:clamp(14px,1.4vw,22px);font-weight:700;animation:1.6s ease-in-out infinite rvBlink}@keyframes rvBlink{50%{opacity:.35}}.rv-ov-break{color:var(--rv-dim);font-family:var(--f-mono);font-size:clamp(14px,1.4vw,22px)}.rv-overlay.revealed .rv-ov-break{animation:rvNameIn .8s var(--ease) .8s both}.rv-overlay.suspense .rv-ov-name,.rv-overlay.suspense .rv-ov-proj,.rv-overlay.suspense .rv-ov-score,.rv-overlay.suspense .rv-ov-break,.rv-overlay.revealed .rv-ecg{display:none}.rv-overlay.revealed .rv-heart{animation:.9s ease-out forwards rvBurst;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes rvBurst{to{opacity:0;transform:scale(3)}}.rv-overlay.revealed .rv-ov-name{max-width:92vw;font-family:var(--f-display);text-wrap:balance;overflow-wrap:normal;animation:rvNameIn 1s var(--ease) .25s both;font-size:clamp(44px,8vw,150px);font-weight:700;line-height:1}.rv-overlay.revealed .rv-ov-proj{color:var(--rv-dim);animation:rvNameIn 1s var(--ease) .45s both;font-size:clamp(16px,1.8vw,28px)}.rv-overlay.revealed .rv-ov-score{animation:rvNameIn .8s var(--ease) .6s both;font-size:clamp(36px,5vw,90px);font-weight:700}@keyframes rvNameIn{0%{opacity:0;filter:blur(14px);transform:scale(.6)}to{opacity:1;filter:none;transform:none}}.rv-overlay.gold{--medal:var(--rv-gold)}.rv-overlay.silver{--medal:var(--rv-silver)}.rv-overlay.bronze{--medal:var(--rv-bronze)}.rv-overlay.revealed .rv-ov-place,.rv-overlay.revealed .rv-ov-name{color:var(--medal,var(--rv-ink));text-shadow:0 0 50px color-mix(in srgb, var(--medal,var(--rv-ember)) 50%, transparent)}.rv-overlay.revealed .rv-ov-hint{color:var(--medal,var(--rv-dim));animation:none}.rv-win{z-index:55;isolation:isolate;background:radial-gradient(70% 60% at 50% 45%, color-mix(in srgb, var(--rv-gold) 10%, var(--rv-bg)) 0%, var(--rv-bg) 70%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.rv-win.leaving{animation:1.4s both rvFadeOut}.rv-win-fx{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rv-win-rays{z-index:0;opacity:0;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--rv-gold) 9%, transparent) 0deg 4deg, transparent 4deg 15deg);width:170vmax;height:170vmax;-webkit-mask:radial-gradient(circle, var(--rv-bg) 0%, transparent 46%);-webkit-mask:radial-gradient(circle, var(--rv-bg) 0%, transparent 46%);mask:radial-gradient(circle, var(--rv-bg) 0%, transparent 46%);position:absolute;top:45%;left:50%;translate:-50% -50%}.rv-win.ignite .rv-win-rays{animation:1.6s ease-out .1s forwards rvRaysIn,60s linear infinite rvSpin}@keyframes rvRaysIn{to{opacity:1}}@keyframes rvSpin{to{rotate:360deg}}.rv-win-beam{z-index:0;opacity:0;transform-origin:50% 0;filter:blur(8px);background:linear-gradient(to bottom, color-mix(in srgb, var(--rv-gold) 30%, transparent), transparent 85%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);mix-blend-mode:screen;width:34vw;height:130vh;position:absolute;top:-10vh}.rv-win-beam.l{left:4vw}.rv-win-beam.r{right:4vw}.rv-win.ignite .rv-win-beam{animation:.8s ease-out .5s forwards rvBeamIn,5.5s ease-in-out .5s infinite alternate rvSweep}.rv-win.ignite .rv-win-beam.r{animation-direction:normal,alternate-reverse}@keyframes rvBeamIn{to{opacity:.9}}@keyframes rvSweep{0%{rotate:-24deg}to{rotate:18deg}}.rv-win-shock{aspect-ratio:1;z-index:2;opacity:0;border:6px solid var(--rv-gold);width:30vmin;box-shadow:0 0 60px var(--rv-gold), inset 0 0 40px var(--rv-ember);border-radius:50%;position:absolute;top:45%;left:50%;translate:-50% -50%}.rv-win.ignite .rv-win-shock{animation:1.2s cubic-bezier(.1,.7,.2,1) forwards rvShock}@keyframes rvShock{0%{opacity:1;border-width:18px;scale:.05}to{opacity:0;border-width:1px;scale:7}}.rv-win-flash{z-index:3;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 45%, var(--rv-ink) 0%, color-mix(in srgb, var(--rv-gold) 80%, transparent) 25%, transparent 70%);position:absolute;inset:0}.rv-win.ignite .rv-win-flash{animation:.9s ease-out forwards rvFlash}@keyframes rvFlash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.rv-win-content{z-index:4;text-align:center;flex-direction:column;align-items:center;gap:clamp(8px,1.8vh,22px);max-width:94vw;display:flex;position:relative}.rv-win-label{font-family:var(--f-display);text-transform:uppercase;color:var(--rv-gold);letter-spacing:.5em;opacity:0;align-items:center;gap:18px;font-size:clamp(16px,2vw,34px);font-weight:500;display:flex}.rv-win-label .line{background:linear-gradient(90deg, transparent, var(--rv-gold));width:clamp(40px,8vw,160px);height:2px}.rv-win-label .line:last-child{background:linear-gradient(90deg, var(--rv-gold), transparent)}.rv-win.label .rv-win-label{animation:rvLabel 1.2s var(--ease) forwards}@keyframes rvLabel{0%{opacity:0;letter-spacing:1.2em;filter:blur(8px)}to{opacity:1;letter-spacing:.5em;filter:none}}.rv-win-name{font-family:var(--f-display);letter-spacing:-.01em;perspective:900px;overflow-wrap:normal;text-wrap:balance;max-width:94vw;margin:0;font-size:clamp(64px,11.5vw,230px);font-weight:700;line-height:.98;position:relative}.rv-win-name .chars{color:var(--rv-gold);text-shadow:0 0 22px color-mix(in srgb, var(--rv-gold) 70%, transparent), 0 0 80px color-mix(in srgb, var(--rv-ember) 45%, transparent), 0 6px 0 color-mix(in srgb, var(--rv-bronze) 70%, transparent)}.rv-win-name .w{white-space:nowrap;display:inline-block}.rv-win-name .c{opacity:0;transform-origin:50% 80%;display:inline-block}.rv-win.name .rv-win-name .c{animation:1.1s cubic-bezier(.15,.85,.25,1.15) forwards rvChar;animation-delay:calc(var(--i) * 60ms)}@keyframes rvChar{0%{opacity:0;filter:blur(22px);transform:translateZ(600px)rotateX(-75deg)scale(2.4)}55%{opacity:1;filter:blur()}to{opacity:1;filter:none;transform:none}}.rv-win-name .shine{pointer-events:none;color:#0000;opacity:0;background:linear-gradient(105deg, transparent 38%, color-mix(in srgb, var(--rv-ink) 95%, transparent) 50%, transparent 62%) no-repeat;background-position:150% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.rv-win.shine .rv-win-name .shine{opacity:1;animation:3.2s ease-in-out infinite rvShine}@keyframes rvShine{0%{background-position:150% 0}60%,to{background-position:-60% 0}}.rv-win-proj{color:var(--rv-dim);opacity:0;font-size:clamp(18px,2vw,34px);font-weight:600}.rv-win-score{opacity:0;align-items:baseline;gap:12px;display:flex}.rv-win-score b{color:var(--rv-ink);text-shadow:0 0 40px color-mix(in srgb, var(--rv-gold) 40%, transparent);font-size:clamp(54px,7vw,130px);font-weight:700}.rv-win-score span{color:var(--rv-dim);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(16px,1.6vw,26px)}.rv-win-break{color:var(--rv-dim);font-family:var(--f-mono);opacity:0;font-size:clamp(14px,1.5vw,26px)}.rv-win.score .rv-win-proj,.rv-win.score .rv-win-score,.rv-win.score .rv-win-break{animation:rvUp .9s var(--ease) forwards}.rv-win.score .rv-win-score{animation-delay:.15s}.rv-win.score .rv-win-break{animation-delay:.5s}@keyframes rvUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.rv-win-congrats{font-family:var(--f-display);text-transform:uppercase;color:var(--rv-ember);letter-spacing:.3em;opacity:0;font-size:clamp(22px,2.8vw,52px);font-weight:700}.rv-win.congrats .rv-win-congrats{animation:rvCongrats 1.4s var(--ease) forwards}@keyframes rvCongrats{0%{opacity:0;letter-spacing:1em;transform:scale(.9)}to{opacity:1;letter-spacing:.3em;transform:none}}.rv-overlay.hold .rv-ov{animation:.9s forwards rvHold}@keyframes rvHold{to{opacity:.15;filter:blur(4px);transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.rv-win .c,.rv-win-label,.rv-win-proj,.rv-win-score,.rv-win-break,.rv-win-congrats,.rv-win-rays{opacity:1!important}}.rv-dock{z-index:70;flex-direction:column;align-items:center;gap:6px;transition:opacity .4s;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.rv-dock.idle{opacity:0}.rv-dock.idle:hover,.rv-dock.idle:focus-within{opacity:1}.rv-btns{border-radius:var(--r-pill);background:color-mix(in srgb, var(--rv-bg) 80%, transparent);border:1px solid color-mix(in srgb, var(--rv-ink) 15%, transparent);flex-wrap:wrap;justify-content:center;gap:6px;max-width:calc(100vw - 24px);padding:6px 10px;display:flex}.rv-toast{color:var(--rv-ink);background:color-mix(in srgb, var(--rv-bg) 85%, transparent);border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--rv-ember) 40%, transparent);padding:4px 12px;font-size:13px;font-weight:600}.rv-keys{color:var(--rv-faint);font-size:11px;font-family:var(--f-mono)}@media (width<=760px){body.rv{overflow:auto}.rv-main{height:auto;min-height:100dvh}.rv-board{grid-template-columns:minmax(0,1fr)}.rv-podium{order:-1;height:56vh}}body.rv{background:var(--rv-bg)}.rv-bg{z-index:0;pointer-events:none;background:#05070c url(/reveal/stage.webp) 50%/cover no-repeat;position:fixed;inset:0;overflow:hidden}.rv-bgv{object-fit:cover;opacity:.9;width:100%;height:100%;position:absolute;inset:0}.rv-bgshade{background:linear-gradient(#05070cc7 0%,#05070c73 30%,#05070c99 70%,#05070ceb 100%),radial-gradient(80% 60%,#0000 0%,#05070c8c 100%);position:absolute;inset:0}body.rv.waiting .rv-bgv{opacity:.5}.rv-head,.rv-main{z-index:2;position:relative}.rv-head{gap:18px;position:fixed}.rv-title{text-align:center;flex:1}.rv-prog{color:var(--rv-dim);white-space:nowrap;align-items:center;gap:12px;font-size:clamp(11px,1vw,15px);font-weight:600;display:flex}.rv-prog b{color:var(--rv-ink);font-family:var(--f-mono)}.rv-prog-bar{background:#ffffff1f;border-radius:3px;width:clamp(80px,9vw,160px);height:5px;overflow:hidden}.rv-prog-bar i{background:linear-gradient(90deg, var(--rv-ember), var(--rv-gold));width:0;height:100%;transition:width .8s var(--ease);border-radius:3px;display:block}.rv-manual{letter-spacing:.12em;text-transform:uppercase;color:var(--rv-gold);border:1px solid color-mix(in srgb, var(--rv-gold) 45%, transparent);border-radius:999px;padding:3px 10px;font-size:.85em}.rv-wait-art{z-index:-2;opacity:.55;background:url(/reveal/trophy.webp) 78% 60%/cover no-repeat;animation:14s ease-in-out infinite alternate rvArt;position:absolute;inset:-12vh -6vw;-webkit-mask-image:radial-gradient(70% 70% at 70% 55%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 70% at 70% 55%,#000 30%,#0000 75%)}@keyframes rvArt{0%{transform:scale(1)}to{transform:scale(1.06)translate(-1.5%)}}.rv-podium{isolation:isolate;position:relative}.rv-podium:before{content:"";z-index:-1;opacity:.38;background:url(/reveal/podium.webp) bottom/cover no-repeat;border-radius:24px;position:absolute;inset:-6% -4% -2%;-webkit-mask-image:linear-gradient(#0000 0%,#000 35% 85%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 35% 85%,#0000 100%)}.rv-pillar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#ffffff12,#ffffff05)}.rv-board.wall{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:clamp(14px,2vw,36px)}.rv-board.wall .rv-list{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));grid-auto-flow:column;align-content:stretch;gap:clamp(5px,.8vh,10px) clamp(8px,.9vw,14px);height:100%;display:grid}.rv-board.wall .rv-row{--th:calc((100dvh - clamp(76px, 11vh, 120px) - clamp(64px, 9vh, 96px)) / var(--rows));grid-template-columns:calc(var(--th) * .58) minmax(0, 1fr) auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e188c;border-radius:10px;gap:8px;min-height:0;padding:0 10px}.rv-board.wall .rv-row .rk{font-size:clamp(13px, calc(var(--th) * .42), 26px)}.rv-board.wall .rv-row .nm b{font-size:clamp(12px, calc(var(--th) * .32), 21px);letter-spacing:-.01em}.rv-board.wall .rv-row .nm small{display:none}.rv-board.wall .rv-row .bar{height:3px;margin-top:4px}.rv-board.wall .rv-row .sc{font-size:clamp(12px, calc(var(--th) * .32), 21px);min-width:3.4ch}.rv-row{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e1880}.rv-row.on{background:linear-gradient(90deg, color-mix(in srgb, var(--rv-ember) 16%, #0a0e18b3), #0a0e18b3)}.rv-row.enter{animation:rvTileIn .7s var(--ease) both}@keyframes rvTileIn{0%{box-shadow:0 0 0 2px var(--rv-ember), 0 0 40px color-mix(in srgb, var(--rv-ember) 60%, transparent);transform:scale(1.08)}to{box-shadow:none;transform:none}}.rv-spot{z-index:45;pointer-events:none;background:radial-gradient(60% 50%,#05070c8c,#05070ccc);place-items:center;animation:.35s both rvFade;display:grid;position:fixed;inset:0}.rv-spot-in{flex-wrap:wrap;justify-content:center;gap:clamp(10px,1.4vw,22px);max-width:92vw;display:flex}.rv-sc{--w:min(62vw, 980px);width:var(--w);text-align:center;border:1px solid color-mix(in srgb, var(--rv-ember) 45%, transparent);box-shadow:0 30px 80px #0009, 0 0 60px color-mix(in srgb, var(--rv-ember) 25%, transparent);animation:rvSpotIn .6s var(--ease) calc(var(--k) * .22s) both;background:linear-gradient(#141a28eb,#0a0e18eb);border-radius:22px;flex-direction:column;align-items:center;gap:clamp(4px,1vh,12px);padding:clamp(18px,3.4vh,40px) clamp(20px,3vw,48px);display:flex}.rv-sc .rk{font-family:var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--rv-ember);font-size:clamp(16px,1.8vw,30px);font-weight:700}.rv-sc .nm{font-family:var(--f-display);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(38px,6vw,112px);font-weight:700;line-height:1.02;overflow:hidden}.rv-sc small{color:var(--rv-dim);font-size:clamp(14px,1.4vw,24px)}.rv-sc .sc{font-size:clamp(28px,3.6vw,64px);font-weight:700}.rv-spot.many .rv-sc{--w:clamp(220px, 28vw, 520px);border-radius:16px;padding:clamp(12px,2vh,22px) 18px}.rv-spot.many .rv-sc .nm{font-size:clamp(22px,2.6vw,48px)}.rv-spot.many .rv-sc .rk{font-size:clamp(12px,1.1vw,18px)}.rv-spot.many .rv-sc .sc{font-size:clamp(20px,2vw,36px)}.rv-spot.many .rv-sc small{display:none}.rv-spot.n7 .rv-sc,.rv-spot.n8 .rv-sc,.rv-spot.n9 .rv-sc,.rv-spot.n10 .rv-sc{--w:clamp(180px, 19vw, 360px)}@keyframes rvSpotIn{0%{opacity:0;filter:blur(8px);transform:translateY(30px)scale(.9)}to{opacity:1;filter:none;transform:none}}.rv-ovv,.rv-winv{object-fit:cover;z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rv-overlay{isolation:isolate;background:#05070cb3}.rv-ovv{opacity:0;transition:opacity 1.2s}.rv-overlay.suspense .rv-ovv{opacity:.75}.rv-overlay.revealed .rv-ovv{opacity:.25}.rv-winv{z-index:0;opacity:0;mix-blend-mode:screen;transition:opacity .6s;transform:translateY(-16%)scale(1.12)}.rv-win.ignite .rv-winv{opacity:.7}body.rv.noscores .sc,body.rv.noscores .bar,body.rv.noscores .rv-ov-score,body.rv.noscores .rv-ov-break,body.rv.noscores .rv-card .bd{display:none!important}body.rv.noscores .rv-board.wall .rv-row{grid-template-columns:calc(var(--th) * .58) minmax(0, 1fr)}@media (width<=760px){.rv-head{flex-wrap:wrap;gap:6px 12px}.rv-title{text-align:right;flex:none}.rv-prog{order:3;justify-content:space-between;width:100%}.rv-board.wall{grid-template-columns:minmax(0,1fr)}.rv-board.wall .rv-list{grid-template-columns:repeat(min(var(--cols), 2), minmax(0, 1fr));grid-template-rows:none;grid-auto-flow:row;height:auto}.rv-board.wall .rv-row{--th:46px;min-height:46px}.rv-main{padding-top:110px}.rv-sc{--w:90vw}.rv-spot.many .rv-sc{--w:42vw}}body.rv h1{line-height:1.05}.rv-wait h1{margin-bottom:4px;line-height:1}.fin-more{justify-self:start}body.sp{--c:#10b981;background:radial-gradient(90% 60% at 50% 40%, color-mix(in srgb, var(--c) 18%, #05070c), #05070c 70%);color:#f9fafb;min-height:100dvh;font-family:var(--f-body);grid-template-rows:auto 1fr;margin:0;transition:background .6s;display:grid;overflow:hidden}body.sp.phase-idle{--c:#6b7280}body.sp.phase-qa{--c:#3b82f6}body.sp.warn{--c:#f59e0b}body.sp.phase-done{--c:#ef4444;animation:1s steps(2,end) infinite spBlink}@keyframes spBlink{50%{background-color:#2a0606}}.sp-head{padding:max(14px, env(safe-area-inset-top)) 18px 10px;justify-content:space-between;align-items:center;display:flex}.sp-head b{text-transform:uppercase;letter-spacing:-.01em;font-weight:800}.sp-head b i{color:#ff5722;font-style:normal}.sp-conn{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;font-size:11px;font-weight:700}.sp-conn.on{color:#10b981}.sp-conn.off{color:#f59e0b}.sp-main{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 18px 30px;display:flex}.sp-team{letter-spacing:-.01em;font-size:clamp(20px,6vw,34px);font-weight:800}.sp-team span{color:#9ca3af;font-family:var(--f-mono);font-size:.7em}.sp-phase{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c);font-size:14px;font-weight:700}.sp-ring{aspect-ratio:1;width:min(84vw,62vh,460px);position:relative}.sp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.sp-ring circle{fill:none;stroke-width:10px}.sp-ring .bg{stroke:#ffffff14}.sp-ring .fg{stroke:var(--c);stroke-linecap:round;filter:drop-shadow(0 0 10px var(--c));transition:stroke-dashoffset .25s linear,stroke .6s}.sp-time{letter-spacing:-.04em;font-variant-numeric:tabular-nums;place-items:center;font-size:min(22vw,15vh,128px);font-weight:700;display:grid;position:absolute;inset:0}body.sp.paused:not(.phase-idle):not(.phase-done) .sp-time{opacity:.6}.sp-next{color:#9ca3af;font-size:15px;font-weight:600}.sp-hint{color:#6b7280;margin:6px 0 0;font-size:12px}@media (orientation:landscape) and (height<=500px){.sp-main{flex-flow:wrap}.sp-ring{width:70vh}}
