*,:before,:after{box-sizing:border-box}body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{--bg:#0d131b;--panel:#0d131be0;--line:#96acc438;--ink:#e8edf2;--dim:#8fa1b4;--amber:#f2a541;--blue:#5aa2ff;--red:#ff5b4f;--hud:#8dffb0;--keycap:#18222e;--keyline:#aabed480;--g-fly:#6fb1ff;--g-eng:#f2a541;--g-wpn:#ff7d66;--g-def:#8dffb0;--g-view:#c5b6ff;--display:"Saira Condensed","Arial Narrow",Impact,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-user-select:none;user-select:none;font-size:13px;overflow:hidden}#gl,#hud{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;z-index:2}#gfx{pointer-events:none;z-index:3;opacity:0;position:fixed;inset:0}.screen{z-index:10;cursor:default;padding-block:28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:linear-gradient(90deg,#080c12eb 0%,#080c1299 45%,#080c120d 80%);align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.panel{margin-left:clamp(0px,5vw,80px);gap:18px;width:min(540px,100%);margin-block:auto;display:grid}.panel.wide{width:min(1040px,100%)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0;font-size:11px}h1,h2{font-family:var(--display);text-transform:uppercase;text-wrap:balance;margin:0;line-height:.9}h1{letter-spacing:.005em;font-size:clamp(52px,9vw,96px);font-style:italic;font-weight:800}h1 em{color:var(--amber);font-style:italic}h2{font-size:clamp(34px,5vw,52px);font-weight:700}.lede{color:var(--dim);max-width:62ch;margin:0;line-height:1.65}.menu{justify-items:start;gap:8px;display:grid}.btn{cursor:pointer;font-family:var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;min-width:220px;padding:9px 18px 8px;font-size:21px;font-weight:700}.btn:hover{border-color:var(--amber);color:var(--amber)}.btn.primary{background:var(--amber);color:#1b1205;border-color:var(--amber);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:36px}.btn.primary:hover{color:#1b1205;background:#ffbb63}.btn.small{min-width:0;padding:7px 14px 6px;font-size:17px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jetView{border:1px solid var(--line);cursor:grab;touch-action:none;background:radial-gradient(at 50% 70%,#2a3a4c,#0b1118 70%);height:clamp(190px,32vh,300px);margin-bottom:12px;position:relative;overflow:hidden}.jetView:active{cursor:grabbing}@media (min-height:760px){.jetView{z-index:2;position:sticky;top:0}}.jetView canvas{width:100%;height:100%;display:block}.jvName{font-family:var(--display);text-transform:uppercase;pointer-events:none;font-size:26px;font-weight:800;line-height:1.05;position:absolute;top:10px;left:14px}.jvName small{letter-spacing:.1em;color:var(--dim);text-transform:none;font-family:inherit;font-size:12px;font-weight:600;display:block}.jvHint{color:var(--dim);pointer-events:none;font-size:11px;position:absolute;bottom:8px;right:12px}.unlim{background:var(--panel);border:1px solid var(--amber);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 16px;display:flex}.unlim b{font-family:var(--display);text-transform:uppercase;color:var(--amber);font-size:22px;display:block}.unlim small{color:var(--dim);font-size:12px}.jets{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.jet{all:unset;box-sizing:border-box;cursor:pointer;background:var(--panel);border:1px solid var(--line);align-content:start;gap:10px;min-width:0;padding:16px 16px 14px;display:grid}.jet:hover{border-color:#f2a54199}.jet{position:relative}.jet[aria-pressed=true]{border-color:var(--amber);box-shadow:inset 0 0 0 2px var(--amber),0 0 22px #f2a54147;background:linear-gradient(180deg,#f2a54129,#f2a5410a 55%),var(--panel)}.jet[aria-pressed=true] .jname{color:var(--amber)}.jet[aria-pressed=true]:after{content:"✓ SELECTED";background:var(--amber);color:#1b1205;letter-spacing:.14em;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%);padding:5px 10px 4px 14px;font-size:11px;font-weight:700;position:absolute;top:0;right:0}.jvName .sel{vertical-align:middle;font-family:var(--mono);letter-spacing:.14em;background:var(--amber);color:#1b1205;margin-left:10px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.jvName .pv{vertical-align:middle;font-family:var(--mono);letter-spacing:.14em;border:1px solid var(--dim);color:var(--dim);margin-left:10px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.jet:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.jname{font-family:var(--display);text-transform:uppercase;font-size:30px;font-weight:800;line-height:1}.jrole{color:var(--dim);font-size:12px;line-height:1.4}.jstats{gap:8px;margin:0;display:grid}.jstats div{grid-template-columns:1fr auto;gap:3px 10px;display:grid}.jstats dt{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:10px}.jstats dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.bar{background:#96acc42e;grid-column:1/-1;height:4px;position:relative}.bar i{background:var(--amber);width:calc(var(--v)*100%);position:absolute;inset:0 auto 0 0}.jarm{color:var(--ink);border-top:1px solid var(--line);margin:0;padding-top:9px;font-size:12px;line-height:1.5}.opts{background:var(--panel);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px 16px;display:grid}.field{gap:6px;min-width:0;display:grid}.field>span,.field legend{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:0;font-size:10px}fieldset.field{border:0;margin:0;padding:0}.seg{flex-wrap:wrap;gap:0;display:flex}.seg label{cursor:pointer}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{border:1px solid var(--line);margin-right:-1px;padding:7px 12px;font-size:12px;display:block}.seg input:checked+span{border-color:var(--amber);color:var(--amber);background:#f2a54129;position:relative}.seg input:focus-visible+span{outline:2px solid var(--amber)}select,input[type=range]{width:100%;accent-color:var(--amber)}select{color:var(--ink);border:1px solid var(--line);font-family:var(--mono);background:#141c27;padding:7px 8px}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.check input{accent-color:var(--amber);width:16px;height:16px}kbd{box-sizing:border-box;border:1px solid var(--keyline);background:var(--keycap);min-width:22px;color:var(--ink);font:600 11px/1.5 var(--mono);text-align:center;white-space:nowrap;vertical-align:1px;border-bottom-width:2px;border-radius:4px;padding:1px 6px;display:inline-block}[data-g=fly]{--g:var(--g-fly)}[data-g=eng]{--g:var(--g-eng)}[data-g=wpn]{--g:var(--g-wpn)}[data-g=def]{--g:var(--g-def)}[data-g=view]{--g:var(--g-view)}.manual{background:var(--panel);border:1px solid var(--line);gap:16px;min-width:0;padding:18px;display:grid}.legend{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:10.5px;list-style:none;display:flex}.legend li{align-items:center;gap:7px;display:flex}.legend i{background:var(--g);border-radius:2px;width:10px;height:10px}.inputs{flex-wrap:wrap;align-items:center;gap:20px 28px;display:flex}.kbwrap{flex:640px;min-width:0;overflow-x:auto}.kb{gap:5px;min-width:900px;display:grid}.kbrow{grid-template-columns:repeat(60,minmax(0,1fr));gap:0 4px;display:grid}.kc{box-sizing:border-box;border:1px solid var(--keyline);background:var(--keycap);border-bottom-width:3px;border-radius:5px;flex-direction:column;grid-column:span 4;justify-content:space-between;gap:5px;min-width:0;min-height:58px;padding:6px 6px 5px;display:flex}.kc b{font:700 15px/1 var(--display);letter-spacing:.05em;text-transform:uppercase}.kc span{color:var(--ink);overflow-wrap:anywhere;font-size:10px;line-height:1.2}.kc.off{opacity:.38;background:0 0;border-style:dashed;border-bottom-width:1px}.kc[data-g]{border-color:var(--g);background:color-mix(in srgb,var(--g) 13%,var(--keycap))}.kc[data-g] b{color:var(--g)}.mousebox{flex:0 270px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.mousepic .mb{fill:color-mix(in srgb,var(--g) 16%,var(--keycap));stroke:var(--g);stroke-width:1.5px}.mousepic .mw{fill:var(--g);stroke:var(--keycap);stroke-width:3px}.mlist{gap:9px;margin:0;font-size:12px;line-height:1.35;display:grid}.mlist dt{color:var(--g);font-weight:600}.mlist dd{margin:0}.modeline{color:var(--dim);max-width:92ch;margin:0;line-height:1.6}.modeline b{color:var(--ink)}.notes{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px 28px;padding-top:16px;display:grid}.notes h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px;font-size:18px}.notes p{color:var(--dim);margin:0;font-size:12.5px;line-height:1.65}.notes p+p{margin-top:6px}.tablewrap{background:var(--panel);border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:8px 12px}th{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:500}td.n,th.n{text-align:right}tr.me td{background:#f2a5411a}.lo td.d{white-space:normal;min-width:240px;max-width:360px}.lo td.d b{font-family:var(--display);letter-spacing:.02em;font-size:18px;display:block}.lo td.d small{color:var(--dim);margin-top:2px;font-size:11.5px;line-height:1.45;display:block}.lo td{vertical-align:middle}.rank{font-family:var(--display);color:var(--dim);font-size:22px;font-weight:800}.tag{border:1px solid var(--line);padding:2px 7px;font-size:11px;display:inline-block}.tag.ir{color:#ffb070;border-color:#ffa05a80}.tag.radar{color:#8cc8ff;border-color:#78b4ff80}.step{align-items:center;gap:6px;display:flex}.step button{all:unset;cursor:pointer;border:1px solid var(--line);place-items:center;width:26px;height:26px;font-weight:700;display:grid}.step button:hover{border-color:var(--amber);color:var(--amber)}.step button:focus-visible{outline:2px solid var(--amber)}.step output{text-align:center;font-variant-numeric:tabular-nums;min-width:20px;font-size:16px;font-weight:700}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}#helpPanel{z-index:4;left:max(14px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 58px);box-sizing:border-box;border:1px solid var(--line);max-width:calc(100% - 28px);color:var(--ink);pointer-events:none;background:#080d14b8;gap:8px;padding:10px 12px;display:grid;position:fixed}#helpPanel h4{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0;font-size:10px;font-weight:500}#helpKeys{grid-auto-flow:column;grid-template-rows:repeat(var(--rows,5),auto);gap:5px 22px;margin:0;font-size:11.5px;display:grid}#helpKeys div{align-items:center;gap:9px;min-width:0;display:flex}#helpKeys dt{gap:3px;min-width:52px;display:flex}#helpKeys dd{white-space:nowrap;margin:0}#helpTip{color:var(--dim);border-top:1px solid var(--line);margin:0;padding-top:7px;font-size:11.5px}#clickHint{z-index:4;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);border:1px solid var(--amber);color:var(--amber);pointer-events:none;white-space:nowrap;background:#080d14cc;padding:8px 14px;font-size:12px;position:fixed;transform:translate(-50%)}input[type=text]{color:var(--ink);border:1px solid var(--line);font:600 15px var(--mono);-webkit-user-select:text;user-select:text;background:#141c27;width:100%;min-width:0;padding:8px 10px}input[type=text].code{text-transform:uppercase;letter-spacing:.3em;text-align:center;width:7.5em;font-size:20px}input[type=text]::placeholder{color:var(--dim);opacity:.6}.roomcode{color:var(--amber);letter-spacing:.18em;-webkit-user-select:text;user-select:text;font-size:clamp(52px,8vw,84px)}select:disabled,input:disabled+span{opacity:.6;cursor:default}.check:has(input:disabled){opacity:.6;cursor:default}.hint{color:var(--dim);margin:0;font-size:12px;line-height:1.9}.field legend{margin-bottom:6px}.fnote{color:var(--dim);text-transform:none;letter-spacing:0;margin:0;font-size:11.5px;line-height:1.55}@media (max-width:640px){.btn{min-width:180px}}@media (max-width:900px),(max-height:590px){#helpPanel{display:none}}@media (max-height:700px){#helpTip{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}:root{--ffa:var(--amber)}.menuPanel{gap:14px;width:min(860px,100%)}.menuTitle{font-size:clamp(40px,6.2vw,68px)}.menuTitle em{display:inline}.modes{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px 22px;display:grid}.modeCol{align-content:start;gap:8px;min-width:0;display:grid}.modeCol.friends{background:var(--panel);border:1px solid var(--line);padding:14px 16px}.colHead{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0 0 2px;font-size:10.5px;font-weight:500}.mode{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--line);background:#0d131b8c;gap:2px;min-width:0;padding:9px 14px 8px;display:grid}.mode b{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:21px;font-weight:700;line-height:1.05}.mode span{color:var(--dim);font-size:11.5px;line-height:1.35}.mode:hover{border-color:var(--amber)}.mode:hover b{color:var(--amber)}.mode:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.mode.first{background:var(--amber);border-color:var(--amber)}.mode.first b,.mode.first:hover b{color:#1b1205}.mode.first span{color:#3b2a10}.joinRow{align-items:stretch;gap:8px;display:flex}.joinRow .code{flex:1;width:auto;min-width:0}.mpErr{min-height:1.2em;color:var(--amber);margin:0;font-size:12px;line-height:1.45}.mpErr:empty{display:none}.menu2{flex-wrap:wrap;gap:8px;display:flex}.row.actions{z-index:5;background:linear-gradient(#080c1200,#080c12f7 22%);flex-wrap:nowrap;justify-content:space-between;margin-top:-6px;padding-block:12px;position:sticky;bottom:0}.row.actions .btn.primary{min-width:200px;margin-left:auto}.row.actions .btn.small+.btn.small{margin-left:0}.actionNote{flex:1;min-width:0;font-size:12px;line-height:1.45}.actionNote:empty{display:none}@media (max-width:640px){.row.actions{flex-wrap:wrap}.row.actions .btn.primary{flex:1;min-width:0}}.jetView{height:clamp(150px,26vh,250px)}.jets{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.jet{gap:7px;padding:11px 12px 10px}.jet .jname{font-size:22px}.jet .jrole{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.jet .jstats{gap:4px}.jet .jstats dt{white-space:nowrap;font-size:9px}.jet .jstats dd{font-size:11px}.jet .jarm{display:none}.jet[aria-pressed=true]:after{padding:3px 8px 2px 12px;font-size:9px}.lobHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 28px;display:flex}.lobShare{justify-items:start;gap:6px;max-width:34ch;display:grid}.lobbyGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));align-items:start;gap:18px 24px;display:grid}.lobCol{gap:10px;min-width:0;display:grid}.lobCol .opts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.wideField{grid-column:1/-1}.tag.off{color:var(--amber);border-color:#f2a54180;margin-left:6px}#netWait{z-index:6;text-align:center;border:1px solid var(--amber);pointer-events:none;background:#080d14db;justify-items:center;gap:4px;max-width:calc(100% - 32px);padding:16px 26px 14px;display:grid;position:fixed;top:30%;left:50%;transform:translate(-50%)}#netWait b{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);font-size:28px}#netWait span{color:var(--ink);font-size:12.5px}#nwSecs{font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:700;font-size:34px!important}#touchUI{z-index:5;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#touchUI button,#tStickZone,#tLookZone,#tThrottle{pointer-events:auto;touch-action:none}#tLookZone{position:absolute;inset:0 0 0 52%}#tStickZone{left:calc(env(safe-area-inset-left,0px) + 74px);width:calc(48% - 74px);position:absolute;top:104px;bottom:0}#tStick{pointer-events:none;background:#080d1440;border:2px solid #e8edf273;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute}#tStick i{background:#e8edf28c;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}#tThrottle{left:calc(env(safe-area-inset-left,0px) + 12px);top:calc(env(safe-area-inset-top,0px) + 108px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);flex-direction:column;align-items:center;gap:4px;width:52px;display:flex;position:absolute}#tThrottle b{font:700 11px var(--mono);color:var(--amber);letter-spacing:.1em}#tThrottle .track{background:#080d1473;border:1px solid #e8edf266;border-radius:8px;flex:1;width:100%;position:relative;overflow:hidden}#tThrottle .track:before{content:"";background:#f2a5412e;border-bottom:1px dashed #f2a541b3;height:9.1%;position:absolute;top:0;left:0;right:0}#tThrFill{background:#8dffb040;height:0;position:absolute;bottom:0;left:0;right:0}#tThrKnob{background:var(--hud);border-radius:4px;height:14px;margin-bottom:-7px;position:absolute;bottom:0;left:3px;right:3px}#tThrottle.ab #tThrKnob{background:var(--amber)}#tThrVal{font:600 11px var(--mono);color:var(--hud)}#touchUI button{font:700 12px/1.1 var(--mono);letter-spacing:.04em;color:var(--ink);background:#080d148c;border:1px solid #e8edf26b;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:48px;min-height:44px;padding:4px 6px;display:flex}#touchUI button small{color:var(--hud);font-size:10px;font-weight:600}#touchUI button:active,#touchUI button.down{border-color:var(--amber);background:#f2a54159}#touchUI button.on{border-color:var(--amber);color:var(--amber)}#touchUI button.lock{border-color:var(--red);background:#ff5b4f4d}.tSys{left:calc(env(safe-area-inset-left,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 8px);grid-template-columns:repeat(5,50px);gap:5px;display:grid;position:absolute}.tSys button{min-width:0!important;min-height:40px!important;padding:2px!important;font-size:11px!important}.tFire{right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 10px);grid-template-columns:repeat(5,52px);grid-template-areas:"next tgt bomb chaff cm""gun gun gun msl msl";gap:7px;display:grid;position:absolute}.tFire button{width:100%}#tNext{grid-area:next}#tTgt{grid-area:tgt}#tBomb{grid-area:bomb}#tCm{grid-area:cm}#tChaff{grid-area:chaff}#tMsl{grid-area:msl;height:60px}#tGun{grid-area:gun;height:60px}#touchUI button.big{font-size:15px}#rotateHint{z-index:30;text-align:center;color:var(--amber);font:800 28px/1.2 var(--display);text-transform:uppercase;background:#080c12f0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.postBox{background:var(--panel);border:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:10px 14px;padding:12px 14px;display:flex}.postBox .field{min-width:180px}.postBox input{color:var(--ink);border:1px solid var(--line);font-family:var(--mono);background:#141c27;padding:7px 8px}.postBox .fnote{flex-basis:100%}.qcRow{flex-wrap:wrap;gap:6px;display:flex}.qcRow button,#chatBtns button{cursor:pointer;font:600 11.5px/1.2 var(--mono);color:var(--ink);border:1px solid var(--line);text-align:left;background:#141c27e6;border-radius:6px;min-height:36px;padding:7px 9px}.qcRow button:hover,#chatBtns button:hover{border-color:var(--amber);color:var(--amber)}.chatLog{color:var(--dim);gap:3px;min-height:1em;margin:6px 0 4px;padding:0;font-size:12px;list-style:none;display:grid}.chatLog b{color:var(--ink);margin-right:6px}#chatPanel{z-index:6;left:50%;top:calc(env(safe-area-inset-top,0px) + 70px);border:1px solid var(--line);background:#080d14e0;gap:8px;width:min(560px,100% - 28px);padding:10px 12px;display:grid;position:fixed;transform:translate(-50%)}#chatPanel h4{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0;font-size:10px;font-weight:500}#chatBtns{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}#chatBtns kbd{margin-right:6px}#touchUI.noJet .tFire,#touchUI.noJet #tThrottle,#touchUI.noJet #tStickZone,#touchUI.noJet .tSys button:not(.keep),#touchUI:not(.noJet) .specOnly{display:none}.tSys .specOnly{grid-column:span 2}#touchUI #tMenu{top:calc(env(safe-area-inset-top,0px) + 6px);right:calc(env(safe-area-inset-right,0px) + 8px);width:34px;min-width:0;height:34px;min-height:0;color:var(--ink);border-radius:50%;padding:0;position:absolute}#touchUI.noJet #tLookZone{display:none}.touchOpts .colHead{margin:0}.setGroup{background:var(--panel);border:1px solid var(--line);padding:12px 16px;display:block}.setGroup>*+*{margin-top:10px}.setGroup summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;list-style:none;display:flex}.setGroup summary::-webkit-details-marker{display:none}.setGroup summary .colHead{margin:0}.setGroup summary .colHead:before{content:"▸ ";color:var(--amber)}.setGroup[open] summary .colHead:before{content:"▾ "}.bindList{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 20px;display:grid}.bindGroup h4{letter-spacing:.16em;text-transform:uppercase;color:var(--g,var(--dim));margin:0 0 4px;font-size:10px;font-weight:500}.bindRow{justify-content:space-between;align-items:center;gap:10px;padding:2px 0;font-size:12px;display:flex}.bindRow>span small{color:var(--dim);font-size:10.5px;line-height:1.3;display:block}.bindKey{cursor:pointer;min-width:76px;font:600 11.5px/1.4 var(--mono);color:var(--ink);background:var(--keycap);border:1px solid var(--keyline);border-bottom-width:2px;border-radius:5px;padding:4px 8px}.bindKey:hover{border-color:var(--amber)}.bindKey.wait{border-color:var(--amber);color:var(--amber)}.confirm{color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:12px;display:flex}.confirm b{color:var(--amber);font-weight:600}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{color:var(--red);border-color:var(--red);background:#ff5b4f26}#trophyBadge{z-index:20;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 14px);background:var(--panel);border:1px solid var(--amber);color:var(--amber);font:700 16px/1 var(--display);letter-spacing:.04em;pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;display:flex;position:fixed}#trophyBadge b{color:var(--ink);font-weight:800}.trophyHead{color:var(--ink);align-items:center;gap:12px;display:flex}.trophyHead svg{color:var(--amber);flex:none}.trophyHead span{color:var(--amber)}.trophyModes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.trophyLine{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:26px;font-weight:800}.trophyLine.up{color:var(--hud)}.trophyLine.down{color:var(--red)}.trophyLine.even{color:var(--dim)}.trophyWarn{color:var(--amber)}.win{color:var(--hud)}.lose{color:var(--red)}.postMsg{margin:0;font-size:12.5px}.postMsg b{color:var(--amber)}.boardTabs{margin:0}.nameRow{border:1px solid var(--line);background:#141c27;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:6px 6px 6px 12px;display:flex}#nameShow{font:700 20px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#nameShow.unset{color:var(--dim);text-transform:none;font-weight:500;font-family:var(--mono);font-size:13px}.nameWarn{border:1px solid var(--amber);color:var(--ink);background:#f2a5411a;margin:0;padding:12px 14px;line-height:1.6}.nameWarn b{color:var(--amber)}.nameInput{color:var(--ink);border:1px solid var(--line);font:700 22px var(--display);letter-spacing:.04em;text-transform:uppercase;background:#141c27;padding:10px 12px}#nameShow .tag{color:var(--dim);margin-left:6px;font-weight:600}.reqCount{background:var(--red);color:#fff;min-width:18px;height:18px;font:700 11px/1 var(--mono);border-radius:9px;place-items:center;margin-left:4px;padding:0 5px;display:inline-grid}.codeBox{background:var(--panel);border:1px solid var(--amber);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;display:flex}.codeBox span{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:10px}.codeBox b{font:800 26px/1 var(--display);letter-spacing:.04em;color:var(--amber);overflow-wrap:anywhere;flex:1;min-width:0}.friendMsg{min-height:1em;margin:0}.friendList{gap:6px;display:grid}.fRow{background:var(--panel);border:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.fRow .fName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.fRow .fName small{color:var(--dim);margin-left:4px;font-weight:500}.fRow .fInfo{color:var(--dim);white-space:nowrap;font-size:11.5px}.fRow .fDot{background:#4b5a68;border-radius:50%;flex:none;width:9px;height:9px}.fRow .fDot.on{background:var(--hud);box-shadow:0 0 6px var(--hud)}.fRow .btn{min-width:0}.fEmpty{color:var(--dim);margin:0;font-size:12.5px}#bAddFriend{white-space:nowrap}.chatLog2{background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:6px;min-height:160px;max-height:min(52vh,420px);padding:12px;display:flex;overflow-y:auto}.chatLog2 .m{overflow-wrap:anywhere;background:#1b2633;border-radius:10px;align-self:flex-start;max-width:78%;padding:7px 10px;font-size:13px;line-height:1.45}.chatLog2 .m.mine{background:#f2a5412e;border:1px solid #f2a54166;align-self:flex-end}.chatLog2 .m small{color:var(--dim);margin-top:2px;font-size:10px;display:block}.chatLog2 .empty{color:var(--dim);margin:auto;font-size:12.5px}#inviteBanner{z-index:25;top:calc(env(safe-area-inset-top,0px) + 12px);border:1px solid var(--amber);background:#0d131bf5;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:calc(100% - 28px);padding:10px 12px 10px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000073}#inviteBanner span{font-size:13px}#inviteBanner b{color:var(--amber)}#inviteBanner .btn{min-width:0}.dimTag{color:var(--dim);margin-left:3px}.mode.quick{padding:14px 16px 12px}.mode.quick b{font-size:30px}.mode.school{border-color:#f2a5418c}.mode.school b{color:var(--amber)}.more{gap:8px;display:grid}.more[open]{display:grid}.more summary{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:6px 2px;font-size:11px;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"▸ ";color:var(--amber)}.more[open] summary:before{content:"▾ "}.more>.mode{margin-top:8px}.gfxGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px 18px;display:grid}.checks{align-content:end;gap:9px;display:grid}#coach{z-index:5;left:50%;top:calc(env(safe-area-inset-top,0px) + 66px);box-sizing:border-box;border:1px solid var(--amber);pointer-events:none;background:#080d14e0;gap:6px;width:min(560px,60vw - 40px,100% - 32px);padding:12px 16px 10px;display:grid;position:fixed;transform:translate(-50%)}#coach[hidden]{display:none}#coach.ok{border-color:var(--hud)}#coach p{margin:0}.cTop{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);justify-content:space-between;gap:12px;font-size:10px;display:flex}.cSlow{color:var(--amber)}.cTitle{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--amber);font-size:24px;font-weight:700;line-height:1}#coach.ok .cTitle{color:var(--hud)}.cText{color:var(--ink);font-size:13.5px;line-height:1.5}.cText kbd,.cKey kbd,.cFoot kbd{font-size:11px}.cKey{color:var(--dim);border-top:1px solid var(--line);padding-top:6px;font-size:11.5px;line-height:1.7}.cKey b{color:var(--ink);font-weight:600}.cKey[hidden]{display:none}.cProg{color:var(--hud);font-variant-numeric:tabular-nums;min-height:1.2em;font-size:12px}.cFoot{color:var(--dim);font-size:10.5px}
