:root{--void:#0d1110;--slate:#18201e;--slate-2:#1e2825;--slate-3:#25302c;--gun:#34403c;--ash:#85908c;--bone:#ece6d9;--bone-dim:#c9c3b7;--sig:#2fa58a;--sig-deep:#1f7a65;--tint:#aee0d2;--red:#e0482b;--amber:#e8c547;--acc:var(--sig);--acc-a:var(--sig);--acc-b:var(--sig);--f-display:"Big Shoulders Display", "Barlow Condensed", Impact, sans-serif;--f-ui:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--f-cond:"Barlow Condensed", "Barlow", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--r:14px;--r-sm:9px;--gap:12px;--tap:48px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background-color:var(--void);color:var(--bone);font:500 16px/1.4 var(--f-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;background-image:radial-gradient(circle,#ece6d909 1.1px,#0000 1.3px);background-size:18px 18px}#app{min-height:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--tint)}::selection{background:var(--sig);color:var(--void)}.display{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.01em;font-weight:900;line-height:.92}.h1{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-size:clamp(34px,7vw,56px);font-weight:900;line-height:.9}.h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1}.h3{font-family:var(--f-cond);margin:0;font-size:19px;font-weight:700;line-height:1.15}.label{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);font-size:11px;font-weight:500}.mono{font-family:var(--f-mono)}.muted{color:var(--ash)}.small{font-size:13px}.tiny{font-size:11.5px}.acc{color:var(--acc)}.sig{color:var(--sig)}.danger{color:var(--red)}.num{font-family:var(--f-display);font-variant-numeric:lining-nums tabular-nums;font-weight:900;line-height:.85}.cond{font-family:var(--f-cond)}.upper{text-transform:uppercase}.trunc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.center{text-align:center}.md p{margin:0 0 .5em}.md ul{margin:.25em 0 .5em;padding-left:1.1em}.md strong{color:var(--bone);font-weight:700}.page{max-width:1120px;padding:calc(16px + var(--safe-t)) 16px calc(96px + var(--safe-b));margin:0 auto}.page.narrow{max-width:680px}.row{align-items:center;gap:var(--gap);display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.col{gap:var(--gap);flex-direction:column;display:flex}.grow{flex:auto;min-width:0}.stack>*+*{margin-top:var(--gap)}.grid{gap:var(--gap);display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.grid.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sp{height:8px}.sp2{height:20px}.sp3{height:36px}hr.rule{border:0;border-top:1px solid var(--gun);margin:16px 0}.card{background:var(--slate);border:1px solid var(--gun);border-radius:var(--r);padding:16px;position:relative;overflow:hidden}.card.tight{padding:12px}.card.flat{background:0 0}.card.click{cursor:pointer;transition:border-color .15s,transform .1s}.card.click:hover{border-color:var(--ash)}.card.click:active{transform:scale(.99)}.card.accent{border-left:4px solid var(--acc)}.stripe{background:repeating-linear-gradient(-60deg, var(--acc) 0 5px, transparent 5px 9px);opacity:.95;width:6px;position:absolute;inset:0 auto 0 0}.stripe.top{width:auto;height:5px;inset:0 0 auto}.band{background:repeating-linear-gradient(-60deg, var(--acc) 0 4px, transparent 4px 8px);opacity:.9;border-radius:2px;height:4px}.panel{background:var(--slate-2);border-radius:var(--r-sm);padding:10px 12px}.divider{background:var(--gun);height:1px;margin:10px 0}.btn{min-height:var(--tap);border:1px solid var(--gun);background:var(--slate-2);color:var(--bone);cursor:pointer;-webkit-user-select:none;user-select:none;font:700 16px/1 var(--f-cond);letter-spacing:.02em;text-transform:uppercase;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.btn.sm,.btn.nowrap{white-space:nowrap}.btn:hover{border-color:var(--ash)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn.primary{background:var(--sig);border-color:var(--sig);color:var(--void)}.btn.primary:hover{background:#38b898}.btn.acc{background:var(--acc);border-color:var(--acc);color:var(--void)}.btn.ghost{background:0 0}.btn.danger{color:#ff8b73;background:#e0482b14;border-color:#e0482b99}.btn.big{border-radius:16px;min-height:64px;font-size:20px}.btn.xl{border-radius:18px;min-height:84px;font-size:24px}.btn.sm{border-radius:9px;min-height:36px;padding:0 12px;font-size:14px}.btn.icon{width:var(--tap);padding:0}.btn.sm.icon{width:36px}.btn.block{width:100%}.btn.on{background:var(--sig);color:var(--void);border-color:var(--sig)}.linkbtn{color:var(--tint);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.seg{background:var(--slate-2);border:1px solid var(--gun);border-radius:12px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.seg button{min-height:40px;color:var(--bone-dim);cursor:pointer;font:700 15px/1 var(--f-cond);text-transform:uppercase;letter-spacing:.03em;background:0 0;border:0;border-radius:9px;padding:0 14px}.seg button.on{background:var(--bone);color:var(--void)}.seg.sm button{min-height:32px;padding:0 9px;font-size:13px}.seg.full{display:flex}.seg.full button{flex:1}.chip{border:1px solid var(--gun);background:var(--slate-2);min-height:32px;color:var(--bone);font:600 14px/1 var(--f-cond);letter-spacing:.02em;cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip.on{background:var(--bone);color:var(--void);border-color:var(--bone)}.chip.sig{border-color:var(--sig);color:var(--tint)}.chip.warn{color:var(--amber);background:#e8c54714;border-color:#e8c54780}.chip.bad{color:#ff8b73;background:#e0482b14;border-color:#e0482b99}.chip.sub{color:var(--bone-dim);border-style:dashed;font-size:13px}.chip.sub.on{color:var(--void)}.chip.sm{cursor:default;min-height:24px;padding:0 9px;font-size:13px}.pill{background:var(--slate-3);font:600 12px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim);border-radius:99px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.pill.live{color:var(--tint);background:#2fa58a2e}.pill.warn{color:var(--amber);background:#e8c54726}.pill.bad{color:#ff8b73;background:#e0482b29}.dot{background:var(--ash);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.live{background:var(--sig);box-shadow:0 0 0 3px #2fa58a40}.dot.warn{background:var(--amber)}.dot.bad{background:var(--red)}.dot.rec{background:#ff3b30;animation:1.2s infinite blink}@keyframes blink{50%{opacity:.25}}.field{flex-direction:column;gap:6px;display:flex}.input,select.input,textarea.input{min-height:var(--tap);border:1px solid var(--gun);background:var(--void);width:100%;color:var(--bone);font:500 16px/1.3 var(--f-ui);border-radius:12px;outline:none;padding:10px 14px}textarea.input{resize:vertical;min-height:96px}.input:focus{border-color:var(--sig);box-shadow:0 0 0 3px #2fa58a33}.input.code{font:800 34px/1 var(--f-mono);letter-spacing:.3em;text-transform:uppercase;text-align:center}.check{cursor:pointer;align-items:center;gap:10px;min-height:40px;display:flex}.check input{width:22px;height:22px;accent-color:var(--sig)}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gun);padding:calc(8px + var(--safe-t)) 12px 8px;background:#0d1110e0;position:sticky;top:0}.topbar .inner{align-items:center;gap:10px;max-width:1120px;min-height:44px;margin:0 auto;display:flex}.brand{color:var(--bone);align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{width:30px;height:34px}.brand b{font:900 20px/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em}.brand span{font:500 10px/1 var(--f-mono);letter-spacing:.14em;color:var(--sig);text-transform:uppercase;margin-top:3px;display:block}.back{border:1px solid var(--gun);background:var(--slate);width:40px;height:40px;color:var(--bone);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:20px;text-decoration:none;display:inline-flex}.tabbar{z-index:30;-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--gun);padding:6px 6px calc(6px + var(--safe-b));background:#0d1110f0;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:56px;color:var(--ash);cursor:pointer;font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.tabbar button i{font-size:21px;font-style:normal;line-height:1}.tabbar button.on{color:var(--bone);background:var(--slate-2)}.tabbar button.on i{color:var(--acc)}.scrim{z-index:50;background:#050706a8;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}@media (width>=760px){.scrim{align-items:center}}.sheet{background:var(--slate);border:1px solid var(--gun);width:100%;max-width:640px;max-height:92vh;padding:10px 18px calc(20px + var(--safe-b));border-radius:22px 22px 0 0;animation:.2s cubic-bezier(.2,.8,.2,1) rise;overflow:auto}@media (width>=760px){.sheet{border-radius:22px;padding-bottom:20px}}.sheet.wide{max-width:900px}.sheet .grab{background:var(--gun);border-radius:3px;width:44px;height:5px;margin:2px auto 12px}.sheet-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}@keyframes fade{0%{opacity:0}}.updatebar{top:calc(8px + env(safe-area-inset-top,0px));z-index:90;background:var(--slate);border:1px solid var(--sig);color:var(--bone);border-radius:14px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;font-size:14px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.toasts{left:50%;bottom:calc(84px + var(--safe-b));z-index:80;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,460px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--bone);color:var(--void);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;animation:.2s rise;display:flex;box-shadow:0 10px 30px #0006}.toast.error{background:#ff8b73}.toast.warn{background:var(--amber)}.toast.ok{background:var(--tint)}.toast button{background:var(--void);color:var(--bone);font:700 13px/1 var(--f-cond);text-transform:uppercase;cursor:pointer;border:0;border-radius:8px;margin-left:auto;padding:6px 10px}.score-strip{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:8px;display:grid}.score-side{background:var(--slate);border:1px solid var(--gun);border-radius:var(--r);padding:10px 12px;position:relative;overflow:hidden}.score-side.b{text-align:right}.score-side .stripe{width:100%;height:4px;inset:0 0 auto}.score-side.active{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.score-side .vp{font-size:52px}.score-mid{flex-direction:column;justify-content:center;align-items:center;min-width:64px;padding:0 4px;display:flex}.phasebar{gap:4px;display:flex}.phasebar span{background:var(--gun);border-radius:3px;flex:1;height:6px}.phasebar span.done{background:var(--ash)}.phasebar span.now{background:var(--acc)}.card.neutral{--acc:var(--bone)}.rollgrid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.rollgrid .chip{justify-content:center;padding:0;font-size:16px}.profarrow{color:var(--bone);font-weight:700}.rulesbox{background:var(--void);border-left:3px solid var(--acc,var(--gun));border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.ruleline{align-items:flex-start;gap:8px;font-size:14px;line-height:1.3;display:flex}.ruleline .rl-icon{text-align:center;width:16px;color:var(--sig);flex:none;font-weight:700}.ruleline.if .rl-icon{color:var(--amber)}.ruleline.if b{font-weight:600}.ruleline .rl-why{color:var(--amber)}.condbanner{background:#e0482b1f;border:1px solid #e0482b73;border-radius:10px;padding:8px 10px}.giver{background:var(--void);border-radius:10px;padding:8px 10px}.giver.used{opacity:.6}.todo{background:var(--void);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:14px;line-height:1.3;display:flex}.todo.done{opacity:.55}.todo.now{box-shadow:inset 3px 0 0 var(--sig)}.todo.later{box-shadow:inset 3px 0 0 var(--amber)}.todohead{flex-direction:column;gap:2px;margin-top:4px;display:flex}.todohead.now .label{color:var(--sig)}.todohead.later .label{color:var(--amber)}.todowhen{font:600 12px/1.3 var(--f-mono);color:var(--amber);margin-top:2px}.calcres{border-color:var(--acc);flex-direction:column;gap:12px;display:flex}.calcbig{color:var(--acc);font-size:52px;line-height:1}.calcavg{text-align:right;font-size:14px;line-height:1.5}.calcavg b{font-size:20px}.calcflow{background:var(--void);border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;display:grid}.calcflow>div{flex-direction:column;gap:2px;min-width:0;display:flex}.calcflow .label{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.calcflow b{font-size:18px}.calcsteps{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.calcstep{flex-direction:column;flex:1 0 44px;align-items:center;gap:3px;display:flex}.calcstep b{font-size:13px}.calcbar{background:var(--void);border-radius:6px;align-items:flex-end;width:100%;height:44px;display:flex;overflow:hidden}.calcbar i{background:var(--acc);opacity:.85;width:100%;display:block}.calcw{background:var(--void);opacity:.6;border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.calcw.on{opacity:1;box-shadow:inset 3px 0 0 var(--acc)}.calcbonus{background:var(--void);opacity:.65;border-radius:8px;flex-direction:column;gap:4px;padding:6px 8px;font-size:14px;display:flex}.calcbonus.on{opacity:1;box-shadow:inset 3px 0 0 var(--acc)}.todo.done b{text-decoration:line-through;-webkit-text-decoration-color:var(--bone-dim);text-decoration-color:var(--bone-dim)}.todobox{border:2px solid var(--bone-dim);width:24px;height:24px;color:var(--void);font:700 14px/1 var(--f-mono);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.todobox.on{background:var(--sig);border-color:var(--sig)}.todobox.auto{color:var(--bone-dim);cursor:default;border-style:dashed;font-size:12px}.todobox.auto.on{color:var(--void);border-style:solid}.badge.cond{background:#e0482b2e;border-color:#e0482b80}.card.cpchecks{border-color:var(--sig)}.cprow{background:var(--slate-2);border-left:3px solid var(--acc,var(--gun));border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.cprow.gone{opacity:.7}.cpfrom{font:600 13px/1.3 var(--f-mono);flex-wrap:wrap;gap:4px 12px;margin-top:8px;display:flex}.cpearlier{margin-top:12px}.cpearlier summary{cursor:pointer}.cpturn{border-top:1px solid var(--gun);margin-top:8px;padding:8px 0 0}.cpturn .cpfrom{margin-top:4px}.card.review{border-color:var(--sig)}.reviewside{background:var(--slate-2);border-left:3px solid var(--acc);border-radius:12px;gap:8px;padding:10px}.reviewcard{background:var(--void);border-radius:10px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.reviewcard.done{opacity:.85}.reviewcard.kept{opacity:.7}.unit{background:var(--slate);border:1px solid var(--gun);cursor:pointer;text-align:left;width:100%;color:var(--bone);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.unit:hover{border-color:var(--ash)}.unit.dead{opacity:.45}.unit.dead .uname{text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.unit .uname{font:700 17px/1.15 var(--f-cond)}.unit .meta{font:500 11px/1.3 var(--f-mono);letter-spacing:.05em;color:var(--ash);text-transform:uppercase}.unit .badge{font:700 11px/1 var(--f-mono);background:var(--slate-3);color:var(--bone-dim);border-radius:6px;padding:4px 6px}.unit .badge.shock{color:var(--amber);background:#e8c54729}.unit .badge.half{color:#ff8b73;background:#e0482b24}.unit .badge.warlord{color:var(--tint);background:#2fa58a2e}.attached{border-left:3px solid var(--acc);flex-direction:column;gap:6px;padding-left:8px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px;display:grid}.stats div{background:var(--void);border:1px solid var(--gun);text-align:center;border-radius:8px;padding:6px 2px 5px}.stats b{font:900 22px/1 var(--f-display);display:block}.stats small{font:600 10px/1 var(--f-mono);color:var(--ash);letter-spacing:.08em}table.wtable{border-collapse:collapse;width:100%;font-size:13.5px}table.wtable th{font:600 10px/1 var(--f-mono);letter-spacing:.06em;color:var(--ash);text-align:center;border-bottom:1px solid var(--gun);padding:6px 3px}table.wtable th:first-child,table.wtable td:first-child{text-align:left}table.wtable td{text-align:center;font-family:var(--f-mono);border-bottom:1px solid #34403c99;padding:7px 3px;font-size:12.5px}table.wtable td:first-child{font:600 14px/1.2 var(--f-cond)}table.wtable td .kw{font:500 10.5px/1.25 var(--f-mono);color:var(--tint);letter-spacing:.02em;margin-top:2px;display:block}.feed{flex-direction:column;gap:2px;display:flex}.fi{border-radius:10px;grid-template-columns:56px 22px 1fr auto;align-items:start;gap:8px;padding:8px 6px;display:grid}.fi:hover{background:var(--slate)}.fi .t{font:500 11px/1.6 var(--f-mono);color:var(--ash)}.fi .ic{text-align:center;font-size:15px;line-height:1.3}.fi .tx{font-size:14.5px;line-height:1.35}.fi .by{font:500 10px/1.3 var(--f-mono);color:var(--ash);letter-spacing:.05em;text-transform:uppercase}.fi.void .tx{color:var(--ash);text-decoration:line-through}.fi{grid-template-columns:56px 22px 1fr auto}.fi .fside{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.vppill{background:var(--acc);min-width:30px;color:var(--void);font:900 15px/1 var(--f-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;padding:3px 7px;display:inline-flex}.vppill.off{color:var(--ash);border:1px solid var(--gun);background:0 0;text-decoration:line-through}.vppill.zero{color:var(--ash);border:1px solid var(--gun);background:0 0}.cppill{font:700 10.5px/1 var(--f-mono);color:var(--sig);white-space:nowrap;border:1px solid #2fa58a73;border-radius:6px;padding:3px 5px}.tally{gap:4px;display:inline-flex}.lg{border:1px solid var(--gun);background:var(--slate);border-radius:12px;overflow:hidden}.lg.turn{background:var(--slate-2);border-color:#0000;border-left:3px solid var(--acc);border-radius:10px}.lghead{width:100%;min-height:44px;color:var(--bone);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;display:flex}.lghead .chev{width:14px;color:var(--ash);font-size:18px;transition:transform .15s}.lg.open>.lghead .chev{color:var(--sig);transform:rotate(90deg)}.lg.round>.lghead .lgtitle{font:900 19px/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em}.lg.turn>.lghead .lgtitle{font:700 14px/1.1 var(--f-cond);text-transform:uppercase;letter-spacing:.03em;color:var(--acc)}.lgbody{flex-direction:column;gap:6px;padding:0 8px 8px;display:flex}.lg.turn .lgbody{padding:0 4px 6px}.lgsum{background:var(--void);border:1px dashed var(--gun);border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 8px;display:flex}.lgsumside{font:600 13px/1 var(--f-cond);color:var(--acc);align-items:center;gap:5px;display:inline-flex}.lgfinal{color:var(--bone);background:var(--slate-3);border-radius:6px;padding:4px 7px}.fi .fixtag{color:var(--amber);text-decoration:none;display:inline-block}.fi .was{color:var(--ash);margin-top:2px;font-size:12.5px;text-decoration:line-through;display:block}.fi.pending .t:after{content:" •";color:var(--amber)}.fi.phase{background:var(--slate-2)}.fi.phase .tx{font:700 13px/1.4 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--bone-dim)}.dock{z-index:30;-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--gun);padding:8px 8px calc(8px + var(--safe-b));background:#0d1110f2;position:fixed;bottom:0;left:0;right:0}.dock .inner{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;max-width:1120px;margin:0 auto;display:grid}@media (width<=480px){.dock .inner{gap:4px}.qbtn{letter-spacing:.02em;min-height:54px;font-size:9.5px}.qbtn i{font-size:20px}}@media (width<=400px){.dock{padding-left:6px;padding-right:6px}.dock .inner{gap:3px}.qbtn{letter-spacing:0;min-width:0;padding:4px 1px;font-size:8.5px}}@media (width<=350px){.dock{padding-left:4px;padding-right:4px}.dock .inner{gap:2px}.qbtn{font-size:7.5px}.qbtn i{font-size:18px}}.qbtn.now{border-color:var(--sig);box-shadow:inset 0 0 0 1px var(--sig)}.qbtn{border:1px solid var(--gun);background:var(--slate);min-height:58px;color:var(--bone);cursor:pointer;font:700 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex}.qbtn i{font-size:22px;font-style:normal;line-height:1}.qbtn:active{background:var(--slate-3);transform:scale(.95)}.qbtn.kill i{color:var(--red)}.qbtn.star i{color:var(--sig)}.counter{align-items:center;gap:8px;display:flex}.counter .val{text-align:center;min-width:64px;font-size:46px}.counter .btn{border-radius:14px;width:56px;min-height:56px;padding:0;font-size:28px}.vpgrid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.vpgrid .btn{min-height:52px;font:900 24px/1 var(--f-display)}.stepgrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.part{background:var(--void);border-radius:10px;padding:8px 10px}.stepper{flex-direction:column;gap:4px;display:flex}.stepper-row{align-items:center;gap:8px;display:flex}.stepper-row b{text-align:center;min-width:36px;font-size:26px;line-height:1}.stepper-row .btn{min-width:40px;min-height:40px;font-size:20px}.awards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.award{background:var(--slate);border:1px solid var(--gun);border-left:3px solid var(--acc);border-radius:12px;min-width:0;padding:10px 12px;position:relative}.award.mvp{border-color:var(--acc);background:linear-gradient(135deg, color-mix(in srgb, var(--acc) 18%, var(--slate)), var(--slate))}.award-val{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:6px;display:flex}.award-val b{color:var(--acc);font-size:26px}.statrow{background:var(--slate);border:1px solid var(--gun);border-left:3px solid var(--acc);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.statrow.dead{opacity:.7}.statrow.mine{box-shadow:inset 0 0 0 1px var(--acc)}.statrank{width:22px;color:var(--ash);text-align:right;flex:none;font-size:18px}.statbar{background:var(--slate-3);border-radius:2px;height:4px;margin:6px 0;overflow:hidden}.statbar span{background:var(--acc);height:100%;display:block}.statchips{font:600 13px/1.3 var(--f-mono);flex-wrap:wrap;gap:4px 12px;display:flex}.killconds{background:var(--void);border:1px dashed var(--gun);border-radius:10px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}.killcond{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.killcond .small{flex:220px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;width:38px;height:38px;color:var(--void);font:700 13px/1 var(--f-cond);text-transform:uppercase;letter-spacing:.03em;border:2px solid #0000;border-radius:10px;place-items:center;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 1px #00000059}.swatch.wide{width:auto;padding:0 12px}.swatch.on{border-color:var(--bone);box-shadow:inset 0 0 0 2px var(--void)}.swatch.custom{color:var(--bone);background:conic-gradient(#e0482b,#e8c547,#5fa83b,#3bb3a6,#2f6fdb,#9c4fc9,#e07bb5,#e0482b);font-size:20px;overflow:hidden}.swatch.custom span{text-shadow:0 1px 3px #000000b3}.swatch.custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.playercard .playername{overflow-wrap:anywhere;margin-top:4px;font-size:46px}.playercard .playergo{font:700 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.playercard:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.joincode{letter-spacing:.08em;font-size:64px;line-height:1}@media (width<=480px){.playercard .playername{font-size:38px}}.colourdot{background:var(--acc);vertical-align:-2px;border-radius:4px;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #00000059}.mapview{flex-direction:column;gap:10px;display:flex}.mapimg{border:1px solid var(--gun);cursor:zoom-in;background:#000;border-radius:12px;width:100%;max-width:560px;margin:0 auto;padding:0;display:block;position:relative;overflow:hidden}.mapimg img{object-fit:contain;width:100%;height:100%;display:block}.mapimg-hint{width:32px;height:32px;color:var(--bone);background:#000000a6;border-radius:9px;place-items:center;font-size:17px;display:grid;position:absolute;bottom:8px;right:8px}.mapkey{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px;padding:4px 0;display:grid}.mapkey-item{align-items:center;gap:10px;display:flex}.mapkey-item img{object-fit:contain;flex:none;width:64px;height:30px}.mapzoom{z-index:90;padding-top:var(--safe-t);background:#000000f2;flex-direction:column;animation:.15s fade;display:flex;position:fixed;inset:0}.mapzoom-bar{border-bottom:1px solid var(--gun);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.mapzoom-box{flex:1;min-height:0;padding:8px;display:flex;overflow:auto}.mapzoom-box img{cursor:zoom-in;max-width:100%;max-height:100%;margin:auto}.mapzoom-box img.zoomed{cursor:zoom-out}.mapimg img.orig,.mapzoom-box img.orig{background:#fff}.mapzoom-hint{text-align:center;padding:6px 0 calc(8px + var(--safe-b))}.empty{text-align:center;color:var(--ash);border:1px dashed var(--gun);border-radius:var(--r);padding:36px 16px}.drop{border:2px dashed var(--gun);border-radius:var(--r);text-align:center;cursor:pointer;padding:28px 16px;transition:border-color .15s,background .15s}.drop.over{border-color:var(--sig);background:#2fa58a14}.qr{background:var(--bone);border-radius:14px;padding:12px;line-height:0;display:inline-block}.qr svg{width:100%;height:auto;display:block}.kbd{font:600 12px/1 var(--f-mono);border:1px solid var(--gun);background:var(--slate-2);border-radius:5px;padding:3px 6px}.warnbox{color:#f3dc8c;background:#e8c54712;border:1px solid #e8c54766;border-radius:12px;padding:10px 12px;font-size:14px}.okbox{color:var(--tint);background:#2fa58a14;border:1px solid #2fa58a73;border-radius:12px;padding:10px 12px;font-size:14px}@media (width<=640px){.hide-sm{display:none!important}}.show-sm{display:none}@media (width<=640px){.show-sm{display:initial}}.collapse.card{padding:0}.collapse-head{width:100%;min-height:52px;color:var(--bone);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.collapse.bare .collapse-head{min-height:40px;padding:8px 2px}.collapse-head .chev{width:16px;color:var(--ash);font-size:20px;line-height:1;transition:transform .15s;display:inline-block}.collapse.open>.collapse-head .chev{color:var(--acc);transform:rotate(90deg)}.collapse-title{font:700 18px/1.15 var(--f-cond);display:block}.collapse.bare .collapse-title{font:600 11px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}.collapse-sub{margin-top:2px;display:block}.collapse-body{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.collapse.bare .collapse-body{gap:6px;padding:0 0 6px}.collapse-body>.mcard{border-color:var(--gun)}.dotnow{font:700 10px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sig);white-space:nowrap;background:#2fa58a29;border-radius:99px;align-items:center;gap:5px;padding:5px 7px;display:inline-flex}.mcard{background:var(--slate);border:1px solid var(--gun);border-radius:var(--r);overflow:hidden}.mcard .mhead{border-bottom:1px solid var(--gun);background:linear-gradient(90deg,#2fa58a29,#0000 70%);align-items:center;gap:10px;padding:12px 14px;display:flex}.mcard.secondary .mhead{background:linear-gradient(90deg,#aee0d21a,#0000 70%)}.mcard.fixedmode .mhead{background:linear-gradient(90deg,#c9a44c29,#0000 70%)}.mcard .mname{font:900 24px/1 var(--f-display);text-transform:uppercase;margin-top:3px}.mcard .mtotal{text-align:right}.mcard .mtotal .num{color:var(--acc);font-size:32px;display:block}.mcard .mlegend{color:var(--ash);padding:10px 14px 0;font-size:13px;font-style:italic}.mcard .mintro{background:#e8c54712;border:1px solid #e8c54740;border-radius:9px;margin:10px 14px 0;padding:8px 10px}.mcard .mblock{background:var(--slate-2);border:1px solid #0000;border-radius:11px;margin:10px 12px;padding:10px 12px}.mcard .mblock.off{opacity:.5}.mcard .mblock.now{border-color:var(--sig);box-shadow:inset 0 0 0 1px #2fa58a59}.mcard .mwhen{color:var(--bone-dim);margin:4px 0 6px;font-size:12.5px}.mcard .mwhen b{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);font-size:10.5px}.mcard .mrow{border-top:1px solid #34403cb3;align-items:center;gap:10px;padding:7px 0;display:flex}.mcard .mrow.plus{padding-left:14px}.mcard .mrow.scored .md{color:var(--tint)}.mcard .mrow .md p{margin:0}.mcard .mhead .chev{color:var(--ash);width:14px;font-size:20px;transition:transform .15s}.mcard .mhead .chev.on{color:var(--acc);transform:rotate(90deg)}.mcard.folded .mhead{border-bottom:0}.mcard.achieved{border-color:#2fa58a8c}.mcard.achieved .mhead{background:linear-gradient(90deg,#2fa58a38,#0000 75%)}.mcard .mrow.alt .md{color:var(--ash)}.whoscored{background:var(--void);border:1px dashed var(--sig);border-radius:10px;flex-direction:column;gap:8px;margin:2px 0 8px;padding:10px;display:flex}.mcard .timingcheck{background:#e8c54714;border:1px solid #e8c54780;border-radius:10px;flex-direction:column;gap:8px;margin:2px 0 8px;padding:10px;display:flex}.mcard .timingcheck>.label{color:var(--amber)}.mcard .timingcheck .warnline{color:var(--amber);font-weight:600}.mcard .why{color:var(--amber);margin-top:3px;display:block}.mcard .mor{font:700 10px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);padding:4px 0 2px}.mcard .mstep{align-items:center;gap:4px;display:flex}.mcard .maction{background:var(--void);border:1px solid var(--gun);border-radius:9px;margin:0 12px 10px;padding:8px 10px}.mcard .maction summary{cursor:pointer;font-size:14px}.vpbadge{font:800 13px/1 var(--f-mono);background:var(--void);color:var(--sig);white-space:nowrap;border-radius:7px;padding:6px 8px}.cardpick{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.cardpick button{text-align:left;border:1px solid var(--gun);background:var(--slate-2);min-height:64px;color:var(--bone);cursor:pointer;font:800 16px/1.05 var(--f-display);text-transform:uppercase;border-radius:12px;padding:10px 12px}.cardpick button:hover{border-color:var(--sig)}.cardpick button.on{border-color:var(--sig);background:#2fa58a26}.cardpick button small{font:500 10.5px/1.3 var(--f-mono);color:var(--ash);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;display:block}.bars{grid-template-columns:repeat(5,1fr);align-items:end;gap:10px;height:120px;display:grid}.bars .b{align-items:flex-end;gap:3px;height:100%;display:flex}.bars .b span{border-radius:4px 4px 0 0;flex:1;min-height:2px}.tv{flex-direction:column;gap:3vh;min-height:100vh;padding:3vh 4vw;display:flex}.tv .sides{flex:1;grid-template-columns:1fr 1fr;gap:3vw;display:grid}.tv .side{background:var(--slate);border:1px solid var(--gun);border-radius:2vw;flex-direction:column;justify-content:space-between;padding:3vh 3vw;display:flex;position:relative;overflow:hidden}.tv .side.active{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc) inset}.tv .vp{font-size:min(26vw,34vh)}.slate{z-index:100;background:var(--void);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2vh;padding:20px;display:flex;position:fixed;inset:0}.slate.flash{background:var(--bone);color:var(--void)}.slate .clock{font:800 min(15vw, 22vh)/1 var(--f-mono);letter-spacing:-.02em}
