:root{--ink:#2b1d2f;--panel:#1c1834eb;--panel-edge:#4b4380;--text:#fff8ec;--muted:#b9b2d8;--accent:#ffc93c;--accent-dark:#c98a12;--good:#39c46a;--bad:#e8473f;--hint:#3fa7e8;--event:#9b5de5;--radius:10px;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:#2e7bc4;height:100%;margin:0;overflow:hidden}#game,#game canvas{position:fixed;inset:0}#game canvas{image-rendering:pixelated}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:auto}#ui .hud{pointer-events:none;position:absolute;inset:0}#ui .hud>*{pointer-events:auto}.btn{font:inherit;color:var(--text);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink), inset 0 2px 0 #ffffff26;cursor:pointer;background:#3d3670;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:15px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.btn-primary{background:var(--accent);color:var(--ink);box-shadow:0 4px 0 var(--ink), inset 0 -3px 0 var(--accent-dark), inset 0 2px 0 #ffffff80}.btn-ghost{background:#1c1834b3}.btn-danger{background:var(--bad)}.btn-lg{width:100%;padding:13px 20px;font-size:18px}.btn-sm{box-shadow:0 2px 0 var(--ink);padding:4px 9px;font-size:12px}.chip{letter-spacing:.02em;background:#ffffff26;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.coin{background:radial-gradient(circle at 35% 35%, #fff3b0 0 18%, var(--accent) 20% 62%, var(--accent-dark) 64%);border:2px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.coin-lg{width:26px;height:26px}.menu{background:radial-gradient(#14102826,#1410288c);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.menu[hidden]{display:none}.menu-shell{background:var(--panel);border:3px solid var(--ink);outline:2px solid var(--panel-edge);outline-offset:-6px;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(880px,100%);max-height:calc(100dvh - 32px);animation:.35s cubic-bezier(.2,1.4,.4,1) pop-in;display:grid;overflow:hidden;box-shadow:0 10px #14102899}.menu-hero{text-align:center;padding:22px 20px 6px}.menu-body{grid-template-rows:minmax(0,1fr);grid-template-columns:190px 1fr;gap:18px;min-height:0;padding:10px 22px 6px;display:grid}.menu-nav{align-content:start;gap:8px;min-height:0;padding-bottom:4px;display:grid;overflow-y:auto}.menu-tab{font:inherit;color:var(--muted);text-align:left;cursor:pointer;background:#00000038;border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:16px;font-weight:800;transition:background .15s,color .15s,transform .1s;display:flex}.menu-tab:hover{color:var(--text);background:#ffffff12}.menu-tab.is-active{color:var(--ink);background:var(--accent);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}.menu-tab-icon{text-align:center;width:22px;font-size:15px}.menu-content{min-height:340px;padding:4px 4px 12px;overflow:auto}.menu-h{margin:0 0 4px;font-size:24px;font-weight:900}.menu-text{color:var(--muted);margin:0 0 14px;font-weight:600;line-height:1.45}.menu-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:10px 0 6px;font-size:11px;font-weight:800}.menu-start{margin-top:16px}.menu-options{flex-wrap:wrap;gap:18px;margin-bottom:10px;display:flex}.menu-range{grid-template-columns:120px 1fr 44px;align-items:center;gap:10px;font-size:14px;font-weight:700;display:grid}.menu-value{font-variant-numeric:tabular-nums;color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.board-list{gap:10px;display:grid}.board-card{font:inherit;color:var(--text);text-align:left;cursor:pointer;border:2px solid var(--ink);background:#00000038;border-radius:12px;grid-template-columns:96px 1fr;align-items:center;gap:14px;padding:10px;display:grid}.board-card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.board-card strong{font-size:17px}.board-card p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.35}.board-thumb{border:2px solid var(--ink);height:70px;image-rendering:pixelated;background:radial-gradient(30% 22% at 50% 52%,#9a6b4a 0 60%,#0000 62%),radial-gradient(46% 36% at 50% 55%,#5cbf4a 0 70%,#f3d99b 72% 80%,#0000 82%),radial-gradient(12% 10% at 86% 30%,#f3d99b 0 70%,#0000 72%),#43b2d8;border-radius:8px}.segmented{border:2px solid var(--ink);background:#0000004d;border-radius:9px;gap:2px;padding:2px;display:inline-flex}.seg{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 11px;font-size:13px;font-weight:800}.seg.is-active{background:var(--accent);color:var(--ink)}.mg-tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.mg-tile{font:inherit;color:var(--text);text-align:left;cursor:pointer;border:2px solid var(--ink);border-top:5px solid var(--mg);background:#00000040;border-radius:12px;grid-template-columns:52px 1fr;align-items:start;gap:12px;padding:12px;transition:transform .12s,box-shadow .12s;display:grid}.mg-tile:hover,.mg-tile:focus-visible{box-shadow:0 5px 0 var(--ink);outline:none;transform:translateY(-3px)}.mg-tile strong{font-size:17px;display:block}.mg-tile p{color:var(--muted);margin:4px 0 8px;font-size:12.5px;line-height:1.4}.mg-tile-topic{text-transform:uppercase;letter-spacing:.08em;color:var(--mg);font-size:11px;font-weight:800}.mg-tile-icon,.mg-icon{background:var(--mg,var(--accent));color:#fff;border:2px solid var(--ink);text-shadow:0 2px #00000059;border-radius:12px;place-items:center;width:52px;height:52px;font-size:19px;font-weight:900;display:grid;box-shadow:inset 0 -5px #00000040,inset 0 3px #ffffff4d}.mg-tile-random{--mg:#ffc93c;border-style:solid dashed dashed}.mg-tile-random .mg-tile-icon{color:var(--ink);text-shadow:none}.logo{letter-spacing:-.02em;color:#fff;text-shadow:0 3px 0 var(--hint), 0 6px 0 var(--ink);margin:0;font-size:clamp(42px,8vw,58px);font-weight:900;line-height:1}.logo-accent{color:var(--accent);text-shadow:0 3px 0 var(--accent-dark), 0 6px 0 var(--ink);margin-left:10px}.menu-sub{color:var(--muted);margin:12px 0 4px;font-weight:600}.menu-buttons{gap:12px;display:grid}.menu-settings{gap:10px;max-width:460px;display:grid}.menu-field{color:var(--muted);gap:4px;font-size:13px;font-weight:700;display:grid}.menu-input,.mg-input,.dbg-input{font:inherit;color:var(--ink);border:2px solid var(--ink);background:#fff8ec;border-radius:6px;padding:8px 10px}.menu-check,.dbg-check{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.menu-foot{color:var(--muted);text-align:center;border-top:2px solid #ffffff0f;margin:0;padding:10px 22px 14px;font-size:12px}.hud-card{background:var(--panel);border:2px solid var(--ink);border-radius:12px;padding:10px 14px;position:absolute;box-shadow:0 4px #1410288c}.px-icon,.px-portrait{image-rendering:pixelated;vertical-align:middle;flex:none;display:inline-block}.px-icon{width:24px;height:24px}.px-icon.px-xs{width:14px;height:14px}.px-icon.px-sm{width:20px;height:20px}.px-icon.px-md{width:28px;height:28px}.px-icon.px-lg{width:40px;height:40px}.px-icon.px-xl{width:56px;height:56px}.px-portrait{width:auto;height:auto;image-rendering:pixelated}.px-portrait.px-xs{image-rendering:auto;height:22px;margin-right:6px}.hud-players{gap:6px;width:236px;display:grid;position:absolute;top:14px;left:14px}.pcard{background:var(--panel);border:2px solid var(--ink);border-left:6px solid var(--pc);opacity:.88;border-radius:10px;align-items:center;gap:8px;padding:6px 10px 6px 6px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 3px #14102880}.pcard.is-active{opacity:1;box-shadow:0 0 0 2px var(--pc), 0 4px 0 #14102899;transform:translate(6px)}.pc-avatar{background:#ffffff14;border-radius:8px;place-items:end center;width:34px;height:36px;padding-bottom:3px;display:grid}.pc-avatar.is-happy img{animation:.45s steps(3,end) 2 char-hop}.pc-avatar.is-hurt img{animation:.35s steps(4,end) char-shake}.pcard.is-active .pc-avatar{animation:.9s ease-in-out infinite ready}.pc-main{flex:1;min-width:0}.pc-name{white-space:nowrap;align-items:center;gap:5px;font-size:14px;font-weight:800;display:flex;overflow:hidden}.pc-tag{letter-spacing:.06em;text-transform:uppercase;background:#ffffff26;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:900}.pcard.is-viewer .pc-tag{background:var(--accent);color:var(--ink)}.pc-turn{text-transform:uppercase;background:var(--pc);color:var(--ink);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:900}.pc-stats{font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin-top:2px;font-weight:800;display:flex}.pc-stat{align-items:center;gap:4px;display:inline-flex}.pc-stat .coin{width:12px;height:12px}.pc-credits{color:var(--accent)}.pc-certs{color:#fff3b0}.pc-credits.bump-up,.pc-certs.bump-cert{color:#fff;animation:.6s bump}.pc-credits.bump-down{color:#ffb0a8;animation:.4s shake}.pc-items{gap:2px;margin-left:auto;display:inline-flex}.pc-effects{flex-wrap:wrap;gap:3px;display:flex}.pc-effects:empty{display:none}.pc-effect{background:var(--hint);color:var(--ink);border-radius:999px;margin-top:3px;padding:1px 5px;font-size:9px;font-weight:900}.pc-effect.is-turbo,.pc-effect.is-precision{background:var(--accent)}.pc-effect.is-bad{background:var(--bad);color:#fff}.pc-effect.is-fortune{background:var(--event);color:#fff}.hud-top{align-items:stretch;gap:8px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.hud-top .hud-card{position:static}.hud-rounds{text-align:center;min-width:150px}.hud-cert{font:inherit;color:var(--text);cursor:pointer;text-align:left;border:2px solid var(--ink);background:linear-gradient(#ffc93c40,#1c1834eb 70%);border-radius:12px;align-items:center;gap:8px;padding:6px 12px 6px 8px;animation:2.4s ease-in-out infinite cert-glow;display:flex;box-shadow:0 0 0 2px #ffc93c99,0 4px #1410288c}.hud-cert:hover{filter:brightness(1.15)}.hud-cert-text{display:grid}.hud-cert-text strong{color:#fff3b0;font-size:14px}.hud-cert-text span{color:var(--muted);font-size:12px;font-weight:700}.inv{border:2px solid var(--ink);background:#1c1834cc;border-radius:12px;align-items:center;gap:6px;padding:5px 8px;display:flex}.inv-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:2px;font-size:10px;font-weight:900}.inv-slot{font:inherit;color:var(--text);cursor:pointer;border:2px solid var(--ink);background:#ffffff14;border-radius:9px;place-items:center;width:44px;height:44px;padding:0;transition:transform .1s;display:grid;position:relative}.inv-slot:not(:disabled):not(.is-empty):hover{background:#ffc93c40;transform:translateY(-3px)}.inv-slot:disabled,.inv-slot.is-blocked{opacity:.55;cursor:not-allowed}.inv-slot.is-empty{opacity:.4;border-style:dashed}.inv-name{white-space:nowrap;opacity:0;text-shadow:0 1px 0 var(--ink);font-size:9px;font-weight:800;transition:opacity .15s;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.inv-slot:hover .inv-name{opacity:1}.inv[hidden]{display:none}.hud-round{font-size:18px;font-weight:900}.hud-left{color:var(--muted);font-size:12px;font-weight:700}.hud-actions{gap:8px;display:flex;position:absolute;top:14px;right:14px}.hud-overview.is-active{background:var(--hint)}.choice{justify-items:center;gap:8px;animation:.25s cubic-bezier(.2,1.4,.4,1) pop-in;display:grid}.choice[hidden]{display:none}.choice-title{background:var(--panel);border:2px solid var(--ink);border-radius:999px;padding:5px 16px;font-size:16px;font-weight:900}.choice-options{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.choice-btn{font:inherit;color:var(--ink);cursor:pointer;text-align:left;border:2px solid var(--ink);min-width:210px;box-shadow:0 4px 0 var(--ink);background:#fff8ec;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:10px 14px;transition:transform 80ms;display:grid}.choice-btn.is-alt{background:var(--accent)}.choice-btn:hover{transform:translateY(-2px)}.choice-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.choice-btn strong{font-size:17px}.choice-btn small{opacity:.75;grid-column:2;font-weight:700}.choice-key{background:var(--ink);color:#fff;border-radius:8px;grid-row:span 3;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.choice-btn .choice-extra{opacity:.9;color:#7a4d00;font-size:11px}.hud-bottom{justify-items:center;gap:6px;display:grid;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.btn-roll{padding:12px 34px;font-size:20px}.btn-roll.is-ready{animation:1.4s ease-in-out infinite ready}.hud-hint{color:#fff;text-shadow:0 2px 0 var(--ink);min-height:16px;font-size:12px;font-weight:700}.legend{border:2px solid var(--ink);background:#1c1834bf;border-radius:10px;flex-wrap:wrap;gap:6px 12px;max-width:300px;padding:7px 11px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:16px;left:14px}.legend-item{align-items:center;gap:5px;display:inline-flex}.legend-item i{border:2px solid var(--ink);border-radius:3px;width:12px;height:12px;transform:rotate(45deg)scale(.85)}.toasts{flex-direction:column-reverse;gap:8px;width:min(300px,100vw - 28px);display:flex;position:absolute;bottom:16px;right:14px}.toast{background:var(--panel);border:2px solid var(--ink);border-left:6px solid var(--muted);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:opacity .4s,transform .4s;animation:.3s cubic-bezier(.2,1.3,.4,1) slide-in;display:flex;box-shadow:0 4px #14102880}.toast>div{gap:2px;display:grid}.toast strong{font-size:15px}.toast.is-good{border-left-color:var(--good)}.toast.is-bad{border-left-color:var(--bad)}.toast.is-leaving{opacity:0;transform:translate(20px)}.banner{opacity:0;pointer-events:none;text-align:center;transition:opacity .25s,transform .35s cubic-bezier(.2,1.5,.4,1);position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scale(.6)}.banner.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.banner strong{color:#fff;text-shadow:0 4px 0 var(--event), 0 8px 0 var(--ink);white-space:nowrap;font-size:clamp(40px,7vw,72px);font-weight:900;display:block}.banner span{background:var(--panel);border:2px solid var(--ink);border-radius:999px;margin-top:10px;padding:4px 14px;font-weight:800;display:inline-block}.overlay{background:#14102800;place-items:center;padding:16px;transition:background .25s;display:grid;position:absolute;inset:0}.overlay.is-open{background:#14102880}.panel{background:var(--panel);border:3px solid var(--ink);outline:2px solid var(--panel-edge);outline-offset:-6px;border-radius:16px;width:min(460px,100%);padding:22px 24px;animation:.3s cubic-bezier(.2,1.4,.4,1) pop-in;box-shadow:0 10px #14102899}.panel-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:800}.panel-title{margin:4px 0 12px;font-size:28px;font-weight:900}.panel-text{color:var(--muted);margin:0;font-weight:600;line-height:1.45}.panel-body{line-height:1.4}.panel-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.panel-actions .btn{flex:1}.mg-shell{border-top:6px solid var(--mg);width:min(560px,100%);max-height:calc(100dvh - 32px);padding:18px 22px 20px;overflow:auto}.mg-firewall-frenzy,.mg-route-rush{width:min(860px,100%)}.mg-head{align-items:center;gap:14px;display:flex}.mg-titles{flex:1;min-width:0}.mg-titles .panel-kicker{color:var(--mg)}.mg-title{margin:2px 0 0;font-size:26px;font-weight:900}.mg-points{color:var(--accent);font-variant-numeric:tabular-nums;background:#0000004d;border-radius:10px;padding:6px 12px;font-size:18px;font-weight:900}.mg-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:22px;font-weight:900}.mg-close:hover{color:var(--text)}.mg-progress{align-items:center;gap:12px;margin:14px 0 16px;display:flex}.mg-dots{flex-wrap:wrap;flex:1;gap:6px;display:flex}.mg-dot{border:2px solid var(--ink);background:#ffffff1f;border-radius:5px;width:18px;height:18px;transition:background .2s,transform .2s;transform:rotate(45deg)scale(.8)}.mg-dot.is-current{background:var(--mg);animation:1s ease-in-out infinite ready;transform:rotate(45deg)scale(1)}.mg-dot.is-correct{background:var(--good)}.mg-dot.is-wrong{background:var(--bad)}.mg-step{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:800}.mg-intro{gap:14px;display:grid}.mg-intro-text{margin:0;font-size:16px;font-weight:600;line-height:1.5}.mg-howto{border-left:4px solid var(--mg);background:#00000040;border-radius:8px;gap:2px;padding:10px 12px;font-size:14px;display:grid}.mg-intro-meta{flex-wrap:wrap;gap:6px;display:flex}.mg-result{text-align:center;gap:10px;display:grid}.mg-result-stars{color:var(--accent);letter-spacing:6px;text-shadow:0 3px 0 var(--ink);font-size:44px;animation:.4s cubic-bezier(.2,1.6,.4,1) pop-in}.mg-result-verdict{font-size:26px;font-weight:900}.mg-result-score{justify-content:center;gap:14px;display:flex}.mg-result-score>div{background:#0000004d;border-radius:12px;min-width:120px;padding:10px 22px;display:grid}.mg-result-score strong{font-size:30px;font-weight:900}.mg-result-score span{color:var(--muted);font-size:12px;font-weight:700}.mg-result-reward{color:var(--accent);justify-self:center;align-items:center;gap:8px;font-size:18px;font-weight:900;display:inline-flex}.mg-result-list{text-align:left;gap:4px;max-height:190px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.mg-result-list li{background:#0003;border-radius:7px;grid-template-columns:20px auto 1fr;align-items:baseline;gap:8px;padding:5px 10px;font-size:13px;display:grid}.mg-result-list li span{font-weight:900}.mg-result-list li.is-correct span{color:#7dffb0}.mg-result-list li.is-wrong span{color:#ff8a7a}.mg-result-list em{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace;font-style:normal;overflow:hidden}.mg-debug-solution{color:#ff4fa3;margin-top:8px;font-family:Consolas,monospace;font-size:12px}.mg-timer{align-items:center;gap:10px;margin-bottom:14px;display:flex}.mg-timer-track{border:2px solid var(--ink);background:#00000059;border-radius:999px;flex:1;height:12px;overflow:hidden}.mg-timer-fill{background:linear-gradient(90deg, var(--good), var(--accent));width:100%;height:100%;transition:width .1s linear}.mg-timer-fill.is-low{background:var(--bad);animation:.4s infinite shake}.mg-time{font-variant-numeric:tabular-nums;text-align:right;width:34px;font-weight:800}.mg-prompt{color:var(--muted);margin:0;font-weight:700}.mg-task{text-align:center;border:2px solid var(--ink);letter-spacing:.02em;background:#0000004d;border-radius:10px;margin:8px 0 16px;padding:12px 14px;font-family:Consolas,Cascadia Mono,monospace;font-size:clamp(26px,5vw,36px);font-weight:800}.mg-prefix{color:var(--accent)}.mg-form{gap:10px;display:flex}.mg-input{flex:1;min-width:0;font-family:Consolas,monospace;font-size:20px}.mg-feedback{min-height:22px;margin-top:14px;font-weight:600}.mg-feedback p{margin:4px 0 12px;line-height:1.45}.mg-feedback strong{font-size:20px}.mg-feedback.is-good strong{color:#7dffb0}.mg-feedback.is-bad strong{color:#ff8a7a}.mg-feedback.is-hint{color:#9fd8ff}.mg-feedback .btn{width:100%}.sprint-card{border:2px solid var(--ink);background:#121a2b;border-radius:12px;padding:12px 14px 2px;transition:box-shadow .3s;box-shadow:inset 0 0 0 2px #3fa7e840}.sprint-card.is-correct{box-shadow:inset 0 0 0 3px var(--good)}.sprint-card.is-wrong{box-shadow:inset 0 0 0 3px var(--bad);animation:.35s shake}.sprint-card .mg-task{color:#9fe8ff;background:0 0;border:0;margin:4px 0 10px}.sprint-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);background:#9fd8ff;border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:12px;font-weight:900;display:inline-block}.kind-broadcast{background:#ffb38a}.kind-first-host,.kind-last-host{background:#b8f2a0}.kind-hosts{background:#ffe066}.kind-prefix-to-mask,.kind-mask-to-prefix{background:#d7b5ff}.mg-subnet-sprint .mg-form{margin-top:14px}.fw-layout{grid-template-columns:1.35fr 1fr;align-items:start;gap:16px;display:grid}.fw-caption{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:800}.fw-table,.rr-table{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:13px}.fw-table th,.rr-table th{text-align:left;color:var(--muted);padding:0 8px;font-size:11px;font-weight:800}.fw-table td,.rr-table td{background:#00000047;padding:6px 8px;transition:background .2s}.fw-table td:first-child,.rr-table td:first-child{border-radius:8px 0 0 8px}.fw-table td:last-child,.rr-table td:last-child{border-radius:0 8px 8px 0}.fw-num,.rr-key{color:var(--muted);width:22px;font-weight:900}.fw-action{border:2px solid var(--ink);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:900}.fw-action.is-allow{background:var(--good);color:var(--ink)}.fw-action.is-deny{background:var(--bad);color:#fff}.fw-default td{color:var(--muted);background:#ffffff0f;font-style:italic}.fw-table tr.is-hit td{background:#ffc93c59}.fw-table tr.is-hit.is-allow td{background:#39c46a66}.fw-table tr.is-hit.is-deny td{background:#e8473f66}.fw-gate{gap:10px;display:grid}.fw-gate .mg-timer{margin:0}.fw-packet-slot{min-height:128px;display:grid}.fw-packet{color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#fff8ec;border-radius:12px;padding:10px 12px;transition:transform .45s ease-in,opacity .45s;animation:.3s cubic-bezier(.2,1.3,.4,1) packet-in}.fw-packet.is-passed{opacity:0;transform:translate(120%)rotate(6deg)}.fw-packet.is-blocked{animation:.5s forwards blocked}.fw-packet-tag{text-transform:uppercase;color:#8a7f6a;letter-spacing:.08em;font-size:11px;font-weight:900}.fw-packet dl{grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0 0;font-size:14px;display:grid}.fw-packet dt{color:#8a7f6a;font-weight:800}.fw-packet dd{margin:0;font-family:Consolas,monospace;font-weight:800}.fw-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fw-btn{font:inherit;cursor:pointer;border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink), inset 0 3px 0 #ffffff59;border-radius:14px;gap:2px;padding:16px 8px;transition:transform 80ms,box-shadow 80ms;display:grid}.fw-btn strong{letter-spacing:.04em;font-size:26px;font-weight:900}.fw-btn small{opacity:.7;font-weight:800}.fw-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(5px)}.fw-allow{background:var(--good);color:var(--ink)}.fw-deny{background:var(--bad);color:#fff}.fw-feedback{gap:2px;min-height:58px;font-size:13px;font-weight:600;line-height:1.4;display:grid}.fw-feedback strong{font-size:17px}.fw-feedback.is-good strong{color:#7dffb0}.fw-feedback.is-bad strong{color:#ff8a7a}.rr-map{background:#00000040;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.rr-router,.rr-node{border:2px solid var(--ink);border-radius:10px;justify-items:center;min-width:64px;padding:8px 10px;display:grid;position:relative}.rr-router{background:var(--mg);color:var(--ink)}.rr-router:after{content:"";border-top:3px dashed var(--muted);width:12px;position:absolute;top:50%;right:-14px}.rr-links{flex-wrap:wrap;flex:1;gap:8px;display:flex}.rr-node{border-color:var(--gw);background:#ffffff0f;transition:transform .2s,background .2s}.rr-node small,.rr-router small{opacity:.8;font-family:Consolas,monospace;font-size:11px}.rr-node.is-target{background:var(--gw);color:var(--ink);transform:translateY(-4px)}.rr-packet{border:2px solid var(--ink);background:#fff8ec;border-radius:4px;width:16px;height:16px;animation:.35s cubic-bezier(.2,1.5,.4,1) packet-in;position:absolute;top:-8px;right:-8px}.rr-dest{margin-bottom:4px;font-size:17px;font-weight:700}.rr-dest code{color:#9fe8ff;background:#00000059;border-radius:6px;padding:2px 8px;font-size:22px;font-weight:900}.rr-dest span{color:var(--muted);font-size:14px}.rr-table tbody tr{cursor:pointer}.rr-table tbody tr:hover td,.rr-table tbody tr:focus-visible td{background:#ffffff1f;outline:none}.rr-table code{font-size:14px;font-weight:800}.rr-bar{background:#ffffff1a;border-radius:2px;width:120px;height:4px;margin-top:4px}.rr-bar i{background:var(--mg);border-radius:2px;height:100%;display:block}.rr-gw{background:var(--gw);color:var(--ink);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-block}.rr-metric{font-variant-numeric:tabular-nums;font-weight:800}.rr-table tr.is-correct td{background:#39c46a73}.rr-table tr.is-wrong td{background:#e8473f73}.ecard{cursor:pointer;background:var(--panel);border:3px solid var(--ink);border-top:6px solid var(--event);border-radius:14px;align-items:center;gap:14px;width:min(440px,100vw - 28px);padding:12px 16px;transition:opacity .2s,transform .2s;animation:.4s cubic-bezier(.2,1.5,.4,1) card-in;display:flex;position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 8px #14102899}.ecard.is-good{border-top-color:var(--good)}.ecard.is-bad{border-top-color:var(--bad)}.ecard.is-leaving{opacity:0;transform:translate(-50%)translateY(-12px)}.ecard-icon{background:#ffffff14;border-radius:12px;flex:none;place-items:center;width:68px;height:68px;display:grid}.ecard-icon img{animation:.8s ease-in-out 2 wobble}.ecard-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:800}.ecard-title{font-size:22px;font-weight:900;display:block}.ecard-text{color:var(--text);margin:4px 0 0;font-size:14px;font-weight:600;line-height:1.4}.wheel-overlay{background:#14102859;place-items:center;transition:opacity .25s;animation:.2s fade-in;display:grid;position:absolute;inset:0}.wheel-overlay.is-leaving{opacity:0}.wheel{width:190px;height:190px;position:relative}.wheel-disc{border:5px solid var(--ink);border-radius:50%;position:absolute;inset:0;box-shadow:0 8px #14102899,inset 0 0 0 4px #ffffff59}.wheel-label{text-align:center;color:#fff;width:46px;text-shadow:0 2px 0 var(--ink);transform-origin:50%;margin:-10px 0 0 -23px;font-size:15px;font-weight:900;position:absolute;top:50%;left:50%}.wheel-label.is-hit{color:#fff3b0;animation:.4s 2 bump}.wheel-hub{border:4px solid var(--ink);background:#fff8ec;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;position:absolute;top:50%;left:50%}.wheel-pointer{z-index:2;border-left:11px solid #0000;border-right:11px solid #0000;border-top:22px solid var(--ink);margin-left:-11px;position:absolute;top:-14px;left:50%}.wheel-pointer:after{content:"";border-top:14px solid #fff8ec;border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;top:-19px;left:-7px}.panel-ask{width:min(480px,100%)}.ask{text-align:center;justify-items:center;gap:12px;display:grid}.ask-icon{animation:1s ease-in-out infinite wobble}.ask-choices{gap:8px;width:100%;display:grid}.ask-dice .ask-choices{grid-template-columns:repeat(3,1fr)}.ask-btn{font:inherit;color:var(--ink);cursor:pointer;text-align:left;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff8ec;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;transition:transform 80ms;display:flex}.ask-btn.is-primary{background:var(--accent)}.ask-btn:hover:not(:disabled){transform:translateY(-2px)}.ask-btn:disabled{opacity:.5;cursor:not-allowed}.ask-key{background:var(--ink);color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:grid}.ask-label{display:grid}.ask-label strong{font-size:16px}.ask-label small{opacity:.75;font-weight:700}.panel-shop{border-top:6px solid #6fe3ff;width:min(560px,100%)}.shop-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.shop-wallet{color:var(--accent);align-items:center;gap:6px;font-size:18px;font-weight:900;display:inline-flex}.shop-bag{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.shop-grid{gap:8px;display:grid}.shop-item{border:2px solid var(--ink);background:#00000040;border-radius:12px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:8px 10px;animation:.35s cubic-bezier(.2,1.3,.4,1) backwards slide-in;display:grid}.shop-item.is-bought{box-shadow:0 0 0 2px var(--good);animation:.5s bump}.shop-info strong{font-size:15px}.shop-info p{color:var(--muted);margin:2px 0 0;font-size:12.5px;line-height:1.35}.shop-buy{justify-items:end;gap:4px;display:grid}.shop-price{color:var(--accent);align-items:center;gap:4px;font-weight:900;display:inline-flex}.panel-results{width:min(560px,100%)}.res{gap:6px;display:grid}.res-row{background:#00000040;border-radius:10px;grid-template-columns:28px 36px minmax(0,1fr) auto 64px 44px;align-items:center;gap:10px;padding:6px 10px;font-weight:700;animation:.35s cubic-bezier(.2,1.3,.4,1) backwards slide-in;display:grid}.res-avatar{background:#ffffff0f;border-radius:8px;place-items:end center;width:36px;height:32px;display:grid;overflow:hidden}.res-avatar .px-portrait{max-width:none;margin:0}.res-avatar .res-bot{width:30px;height:26px}.res-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.res-score{justify-items:end;line-height:1.1;display:grid}.res-score small{color:var(--muted);font-size:10px;font-weight:700}.res-points{text-align:right}.pc-tag.is-com{color:#fff;background:#5b6470;flex:none}@media (width<=520px){.res-row{grid-template-columns:24px 36px minmax(0,1fr) auto 40px;gap:6px}.res-points{display:none}}.res-row.is-first{box-shadow:inset 0 0 0 2px var(--accent);background:#ffc93c2e}.res-place{border:2px solid var(--ink);background:#ffffff1f;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.res-place.place-1{background:var(--accent);color:var(--ink)}.res-place.place-2{color:var(--ink);background:#c8d0dc}.res-place.place-3{color:var(--ink);background:#d08a4a}.res-name{align-items:center;gap:6px;min-width:0;display:flex}.res-score{font-weight:900}.res-points{color:var(--muted);font-variant-numeric:tabular-nums}.res-credits{color:var(--accent);text-align:right;font-weight:900}.res-credits.is-bad{color:#ff8a7a}.res-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.4}.panel-end{width:min(720px,100%);max-height:calc(100dvh - 32px);position:relative;overflow:auto}.end{text-align:center;position:relative}.podium{justify-content:center;align-items:flex-end;gap:14px;margin:6px 0 10px;display:flex}.podium-slot{justify-items:center;gap:4px;width:130px;animation:.6s cubic-bezier(.2,1.4,.4,1) backwards rise;display:grid}.podium-slot.place-1{animation-delay:.5s}.podium-slot.place-2{animation-delay:.25s}.podium-slot.place-1 .px-portrait{animation:.7s ease-in-out infinite ready}.podium-crown{color:var(--accent);text-shadow:0 2px 0 var(--ink);font-size:26px;line-height:1}.podium-meta{align-items:center;gap:4px;font-size:13px;font-weight:800;display:inline-flex}.podium-meta .coin{width:12px;height:12px;margin-left:6px}.podium-block{width:100%;color:var(--ink);background:var(--pc);border:3px solid var(--ink);border-radius:8px 8px 0 0;place-items:center;font-size:26px;font-weight:900;display:grid;box-shadow:inset 0 4px #ffffff59}.podium-slot.place-1 .podium-block{height:86px}.podium-slot.place-2 .podium-block{height:62px}.podium-slot.place-3 .podium-block,.podium-slot.place-4 .podium-block{height:44px}.end-rule{color:var(--muted);margin:0 0 8px;font-size:12px}.end-table{border-collapse:separate;border-spacing:0 4px;text-align:left;width:100%;font-size:13px}.end-table th{color:var(--muted);padding:0 6px;font-size:11px}.end-table td{background:#00000040;padding:6px;font-weight:700}.end-table td:first-child{border-radius:8px 0 0 8px;font-weight:900}.end-table td:last-child{border-radius:0 8px 8px 0}.end-table tr.is-first td{background:#ffc93c33}.end-table td:nth-child(2){align-items:center;gap:4px;display:flex}.confetti{pointer-events:none;height:0;position:absolute;inset:-20px 0 auto}.confetti i{border:1px solid var(--ink);width:7px;height:11px;animation:2.6s ease-in infinite confetti;position:absolute;top:0}.menu-summary{color:var(--text);border-left:4px solid var(--accent);background:#00000038;border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:14px;font-weight:700}.dbg{z-index:5;background:#0a0a14eb;border:2px solid #ff4fa3;border-radius:10px;width:300px;max-height:calc(100vh - 160px);font-size:12px;position:absolute;top:70px;right:14px;overflow:auto}.dbg-toggle{all:unset;box-sizing:border-box;color:#ff4fa3;cursor:pointer;width:100%;padding:6px 10px;font-weight:800;display:block}.dbg-toggle:after{content:" ▾"}.dbg.is-collapsed{width:auto}.dbg.is-collapsed .dbg-toggle:after{content:" ▸"}.dbg.is-collapsed .dbg-body{display:none}.dbg-body{gap:7px;padding:4px 10px 10px;display:grid}.dbg-row{grid-template-columns:74px 1fr;align-items:center;gap:6px;display:grid}.dbg-row>label{color:#c9c3e6;font-weight:700}.dbg-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.dbg-input{border-width:1px;min-width:0;max-width:150px;padding:3px 5px;font-size:12px}.dbg-num{width:54px}.dbg-check{font-size:12px}.dbg-info{color:#ffe066;font-size:11px;line-height:1.4}.dbg-status{color:#9fd8ff;border-top:1px solid #444;padding-top:6px;font-family:Consolas,monospace;font-size:11px}.dbg-section{text-transform:uppercase;letter-spacing:.1em;color:#ff4fa3;border-top:1px solid #333;margin-top:2px;padding-top:5px;font-size:10px;font-weight:900}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes bump{30%{transform:scale(1.3)}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes ready{50%{transform:translateY(-3px)}}@keyframes packet-in{0%{opacity:0;transform:translate(-60px)scale(.8)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translate(-50%)translateY(-24px)scale(.8)}to{opacity:1;transform:translate(-50%)}}@keyframes wobble{25%{transform:rotate(-8deg)scale(1.08)}75%{transform:rotate(8deg)scale(1.08)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420px)rotate(540deg)}}@keyframes cert-glow{50%{box-shadow:0 0 0 3px #ffc93cf2,0 0 18px #ffc93c80,0 4px #1410288c}}@keyframes blocked{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}to{opacity:.35;filter:grayscale();transform:translateY(10px)rotate(-4deg)}}@media (width<=760px){.menu-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.menu-nav{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));overflow:visible}.menu-tab{flex-direction:column;justify-content:center;gap:2px;padding:8px 4px;font-size:12px}.fw-layout{grid-template-columns:1fr}.hud-actions .hud-overview{display:none}}@media (width<=1100px){.legend{display:none}.hud-players{width:200px}}@media (width<=720px){.hud-players{width:170px}.pc-items,.pc-effects{display:none}.hud-top{top:auto;bottom:150px}.hud-cert-text span,.legend{display:none}.dbg{width:calc(100vw - 28px);top:auto;bottom:90px}}.mg-shell.mg-ip-hunter,.mg-shell.mg-hex-hacker,.mg-shell.mg-raid-rescue,.mg-shell.mg-port-panic{width:min(640px,100%)}.mg-shell.mg-prefix-panic,.mg-shell.mg-rule-builder,.mg-shell.mg-query-quest,.mg-shell.mg-join-jenga,.mg-shell.mg-loop-escape,.mg-shell.mg-bug-hunter,.mg-shell.mg-klassenchaos{width:min(880px,100%)}.flow-stage{border-radius:12px;transition:box-shadow .25s}.flow-stage.is-entering{animation:.25s ease-out pop-in}.flow-stage.is-wrong{animation:.35s shake}.mg-timer.is-paused .mg-timer-fill{background:var(--muted)}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.choice-grid.is-compact{grid-template-columns:repeat(4,1fr)}.choice-card{font:inherit;color:var(--text);text-align:left;border:2px solid var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);background:#2f2a5c;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:16px;font-weight:800;transition:transform 80ms,background .15s;display:flex}.choice-card:hover:not(:disabled){background:#3d3670;transform:translateY(-2px)}.choice-card:disabled{cursor:default}.choice-card code{word-break:break-all;font-family:Consolas,monospace;font-size:17px}.choice-card-key{background:var(--mg);width:24px;height:24px;color:var(--ink);border-radius:6px;flex:none;place-items:center;font-size:13px;display:grid}.choice-card.is-right{background:var(--good);color:var(--ink);animation:.4s bump}.choice-card.is-wrong{background:var(--bad)}.choice-card.is-right .choice-card-key,.choice-card.is-wrong .choice-card-key{color:#fff;background:#00000040}.rb-req{border-left:4px solid var(--mg);background:#00000047;border-radius:8px;gap:3px;margin-bottom:12px;padding:10px 12px;display:grid}.rb-req small{text-transform:uppercase;letter-spacing:.08em;color:var(--mg);font-size:11px;font-weight:800}.rb-req strong{font-size:16px;line-height:1.4}.rb-req span{color:#ffb38a;font-size:13px;font-weight:700}.hunt{gap:12px;display:grid}.hunt-net{border:2px dashed var(--mg);background:#0000004d;border-radius:12px;justify-items:center;gap:2px;padding:10px;display:grid}.hunt-net small{letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:900}.hunt-net.is-host small{color:#ffb38a}.hunt-net code{color:var(--mg);font-size:clamp(24px,5vw,34px);font-weight:900}.hunt-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.hunt-card{font:inherit;cursor:pointer;color:var(--ink);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff8ec;border-radius:9px;justify-items:center;gap:2px;padding:12px 6px 9px;transition:transform .1s;display:grid;position:relative}.hunt-card code{font-family:Consolas,monospace;font-size:15px;font-weight:800}.hunt-card small{text-transform:uppercase;font-size:10px;font-weight:800}.hunt-key{opacity:.45;font-size:10px;font-weight:900;position:absolute;top:2px;left:6px}.hunt-card.is-selected{background:var(--mg);transform:translateY(-3px)rotate(-1deg)}.hunt-card.is-right{background:var(--good)}.hunt-card.is-wrong{background:var(--bad);color:#fff}.hunt-card.is-out{opacity:.45}.hex{gap:10px;display:grid}.hex-kind{text-transform:uppercase;letter-spacing:.08em;background:var(--mg);color:var(--ink);border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:900}.hex-given{border:2px solid var(--ink);text-align:center;background:#0d1320;border-radius:10px;padding:14px;box-shadow:inset 0 0 0 2px #b46cff4d}.hex-given code{color:#d7b5ff;word-break:break-all;font-family:Consolas,monospace;font-size:clamp(16px,3.4vw,24px);font-weight:800}.pp{gap:12px;display:grid}.pp-bins{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.pp-bin{border:3px dashed var(--mg);cursor:pointer;background:#ff6fb514;border-radius:12px;min-height:120px;padding:8px;transition:background .15s}.pp-bin.is-over{background:#ff6fb547}.pp-bin-head code{text-align:center;color:var(--mg);word-break:break-all;margin-bottom:6px;font-family:Consolas,monospace;font-size:13px;font-weight:900;display:block}.pp-drop,.pp-tray{flex-wrap:wrap;gap:6px;display:flex}.pp-tray{background:#00000040;border-radius:10px;min-height:48px;padding:8px}.pp-card{color:var(--ink);border:2px solid var(--ink);cursor:grab;box-shadow:0 3px 0 var(--ink);background:#fff8ec;border-radius:8px;padding:6px 9px;display:grid}.pp-card code{font-family:Consolas,monospace;font-size:12.5px;font-weight:800}.pp-card small{font-size:10px;font-weight:800}.pp-card.is-selected{outline:3px solid var(--mg);transform:translateY(-2px)}.pp-card.is-right{background:var(--good)}.pp-card.is-wrong{background:var(--bad);color:#fff}.rb{gap:8px;display:grid}.rb-row{grid-template-columns:110px 1fr;align-items:start;gap:10px;display:grid}.rb-label{text-transform:uppercase;color:var(--muted);padding-top:7px;font-size:12px;font-weight:900}.rb-chips,.qq-chips{flex-wrap:wrap;gap:6px;display:flex}.rb-chip,.qq-chip,.uml-chip,.pt-svc,.pt-port,.jj-link{font:inherit;color:var(--text);border:2px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#2f2a5c;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:800}.rb-chip.is-selected,.qq-chip.is-selected{background:var(--mg);color:var(--ink)}.rb-chip.is-right,.qq-chip.is-right,.rb-insert.is-right{background:var(--good);color:var(--ink)}.rb-chip.is-wrong,.qq-chip.is-wrong,.rb-insert.is-wrong{background:var(--bad);color:#fff}.rb-preview{border:2px solid var(--ink);background:#0d1320;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-family:Consolas,monospace;font-weight:800;display:flex}.rb-preview em{color:#9fe8ff;font-style:normal}.rb-table{background:#00000038;border-radius:10px;gap:4px;padding:8px;display:grid}.rb-existing{background:#ffffff0f;border-radius:7px;align-items:center;gap:10px;padding:5px 9px;font-size:13px;display:flex}.rb-existing code{font-family:Consolas,monospace}.rb-insert{font:inherit;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:2px dashed #fff3;border-radius:7px;padding:3px 8px;font-size:12px;font-weight:800}.rb-insert.is-selected{border-color:var(--mg);color:var(--mg);background:#ff8a3d1f}.qq{gap:7px;display:grid}.qq-schema{flex-wrap:wrap;gap:8px;display:flex}.qq-table{border-top:3px solid var(--mg);background:#0000004d;border-radius:8px;padding:5px 10px;font-size:12px;display:grid}.qq-table strong{color:var(--mg);font-family:Consolas,monospace}.qq-table span{color:var(--muted);font-family:Consolas,monospace}.qq-row{grid-template-columns:150px 1fr;align-items:start;gap:10px;display:grid}.qq-kw{color:#ffb3ff;padding-top:6px;font-family:Consolas,monospace;font-size:13px;font-weight:900}.qq-chip{font-family:Consolas,monospace;font-size:12.5px}.qq-cond{border-style:dashed}.qq-note{color:var(--muted);align-self:center;font-size:11px}.qq-preview{color:#9fe8ff;border:2px solid var(--ink);white-space:pre-wrap;background:#0d1320;border-radius:10px;margin:4px 0 0;padding:10px 12px;font-family:Consolas,monospace;font-size:13px}.qq-result{margin-top:8px}.jj{gap:10px;display:grid}.jj-rel{color:var(--muted);margin:0;padding-left:18px;font-size:13px;font-weight:600}.jj-board{grid-template-columns:repeat(var(--cols,2), 1fr);gap:42px;padding:6px;display:grid;position:relative}.jj-n3{--cols:3}.jj-n4{--cols:4;gap:26px}.jj-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.jj-line{fill:none;stroke:var(--mg);stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 2px #0009)}.jj-line.is-right{stroke:#7dffb0}.jj-line.is-wrong{stroke:#ff8a7a;stroke-dasharray:6 5}.jj-table{border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff8ec;border-radius:9px;align-self:start;gap:3px;padding:6px;display:grid}.jj-name{color:var(--ink);text-align:center;border-bottom:2px solid var(--ink);padding-bottom:3px;font-family:Consolas,monospace;font-weight:900}.jj-col{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:2px solid #0000;border-radius:6px;padding:3px 6px;font-family:Consolas,monospace;font-size:12.5px;font-weight:700}.jj-col:hover{background:#3ddc9740}.jj-col.is-pk{font-weight:900;text-decoration:underline}.jj-col.is-pending{border-color:var(--ink);background:var(--mg)}.jj-col.is-linked{background:#3ddc9759}.jj-links{flex-wrap:wrap;gap:6px;display:flex}.jj-link{font-family:Consolas,monospace;font-size:12px}.jj-link.is-right{background:var(--good);color:var(--ink)}.jj-link.is-wrong{background:var(--bad)}.loop{gap:10px;display:grid}.loop-ask{color:var(--mg);font-size:16px;font-weight:900}.code-block{border:2px solid var(--ink);background:#0d1320;border-radius:10px;max-height:46vh;padding:8px 0;font-family:Consolas,Cascadia Mono,monospace;font-size:13.5px;overflow:auto}.code-line{width:100%;font:inherit;color:#e8e6ff;text-align:left;white-space:pre;background:0 0;border:0;gap:12px;padding:1px 12px;display:flex}.code-block.is-clickable .code-line{cursor:pointer}.code-block.is-clickable .code-line:hover:not(:disabled){background:#7ee36b2e}.code-num{text-align:right;color:#6b6890;-webkit-user-select:none;user-select:none;flex:none;width:22px}.code-line code{font:inherit}.code-line b{color:#ffb3ff;font-weight:700}.code-line.is-right{background:#39c46a59}.code-line.is-wrong{background:#e8473f66}.code-fix{color:#7dffb0;margin-left:auto;padding-left:16px;font-weight:800}.uml{gap:12px;display:grid}.uml-main{grid-template-columns:minmax(250px,1fr) 1fr;align-items:start;gap:14px;display:grid}.uml-class{color:var(--ink);border:3px solid var(--ink);background:#fff8ec;border-radius:4px;font-family:Consolas,monospace;font-size:14px;box-shadow:6px 6px #00000059}.uml-name{text-align:center;padding:7px;font-size:16px;font-weight:900}.uml-part{border-top:3px solid var(--ink);gap:5px;padding:6px 10px;display:grid}.uml-line{white-space:nowrap}.uml-slot{font:inherit;border:2px dashed var(--mg);min-width:34px;color:var(--mg);cursor:pointer;background:#ff5d731f;border-radius:5px;padding:1px 6px;font-weight:900}.uml-slot.is-active{background:#ff5d7359;animation:1s ease-in-out infinite ready}.uml-slot.is-filled{background:var(--mg);color:#fff;border-style:solid}.uml-slot.is-right{background:var(--good);border-color:var(--ink);color:var(--ink)}.uml-slot.is-wrong{background:var(--bad);border-color:var(--ink);color:#fff}.uml-hints{color:var(--muted);gap:5px;margin:0;padding-left:20px;font-size:13px;font-weight:600;line-height:1.35;display:grid}.uml-palette{flex-wrap:wrap;gap:6px;display:flex}.uml-chip{cursor:grab;min-width:42px;font-family:Consolas,monospace}.raid{gap:10px;display:grid}.raid-rack{background:#0000004d;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px;display:flex}.raid-rack.is-pairs .raid-disk:nth-child(2n){margin-right:14px}.raid-disk{color:var(--muted);justify-items:center;gap:4px;font-size:11px;font-weight:800;display:grid}.raid-disk i{width:34px;height:var(--h);border:2px solid var(--ink);background:linear-gradient(#cfd6e6,#8e97ad);border-radius:5px;display:block;position:relative;box-shadow:inset 0 -5px #0003}.raid-disk i:after{content:"";background:#39c46a;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:5px;box-shadow:0 0 6px #39c46a}.raid-disk.is-failed i{background:linear-gradient(#7a4040,#4d2525)}.raid-disk.is-failed i:after{background:var(--bad);box-shadow:0 0 8px var(--bad);animation:.6s infinite ready}.raid-q{margin:0;font-size:16px;font-weight:700;line-height:1.45}.choice-card sub{color:var(--muted);margin-left:2px;font-size:.55em}.ports{gap:12px;display:grid}.ports-cols{grid-template-columns:1fr 1fr;gap:24px;display:grid}.ports-col{align-content:start;gap:7px;display:grid}.pt-svc,.pt-port{text-align:left;border-left:8px solid var(--pair,transparent);padding:9px 12px;font-size:15px}.pt-port{font-family:Consolas,monospace}.pt-svc.is-pending,.pt-port.is-pending{background:var(--mg);color:var(--ink)}.pt-svc.is-paired,.pt-port.is-paired{background:#3d3670}.pt-svc.is-right{background:var(--good);color:var(--ink)}.pt-svc.is-wrong{background:var(--bad)}.tap-start{z-index:50;cursor:pointer;background:radial-gradient(circle at 50% 45%,#2e265c,#100c20);place-content:center;justify-items:center;gap:14px;animation:.3s fade-in;display:grid;position:fixed;inset:0}.tap-start .logo{margin:0;font-size:clamp(56px,11vw,110px);animation:.5s cubic-bezier(.2,1.6,.4,1) pop-in}.tap-start p{text-align:center;margin:0}.tap-start-sub{color:var(--muted);font-size:17px;font-weight:700}.tap-start-hint{color:var(--accent);font-size:20px;font-weight:900;animation:1.2s ease-in-out infinite blink;margin-top:26px!important}.tap-start small{color:var(--muted);font-weight:700;position:absolute;bottom:16px}.tap-start.is-leaving{opacity:0;pointer-events:none;transition:opacity .35s}@keyframes blink{50%{opacity:.35}}.mara-picks{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:8px;display:grid}.mara-pick{border-left:4px solid var(--mg);cursor:pointer;background:#00000040;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;font-size:13px;font-weight:700;display:flex}.mara-pick b{color:var(--mg);width:20px;font-size:11px}.panel-marathon-next{border-top:6px solid var(--accent);width:min(460px,100%)}.mara-next{text-align:center;justify-items:center;gap:10px;display:grid}.mara-next p{color:var(--muted);margin:0;font-weight:700}.mara-next .mg-icon{width:72px;height:72px;font-size:28px;animation:.4s cubic-bezier(.2,1.6,.4,1) pop-in}.mara-track{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.mara-track i{border:2px solid var(--ink);background:#ffffff1f;border-radius:4px;width:14px;height:14px}.mara-track i.is-done{background:var(--hint)}.mara-track i.is-perfect{background:var(--good)}.mara-track i.is-current{background:var(--mg);animation:1s ease-in-out infinite ready}.mara-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.mara-stats>div{text-align:center;background:#0000004d;border-radius:10px;padding:8px;display:grid}.mara-stats strong{color:var(--accent);font-size:18px}.mara-stats span{color:var(--muted);font-size:11px;font-weight:700}.panel-bonus{border-top:6px solid var(--accent)}.bonus{gap:8px;display:grid}.bonus-row{background:#00000047;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px;animation:.4s both slide-in;display:grid}.bonus-row.is-empty{opacity:.55}.bonus-info{display:grid}.bonus-info small{color:var(--muted);font-weight:700}.bonus-winners{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.bonus-winner{background:var(--pc);color:var(--ink);border:2px solid var(--ink);border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 3px;font-size:13px;font-weight:900;display:inline-flex}.hud-overview-info{background:var(--panel);border:3px solid var(--ink);border-radius:12px;gap:4px;min-width:260px;padding:10px 14px;animation:.2s fade-in;display:grid;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 5px #0006}.hud-overview-info small{color:var(--muted);font-size:11px;font-weight:700}.ov-row{grid-template-columns:12px auto 1fr;align-items:center;gap:8px;font-size:13px;display:grid}.ov-row i{background:var(--pc);border:2px solid var(--ink);border-radius:50%;width:12px;height:12px}.ov-row span{color:var(--muted);text-align:right;font-weight:600}.hud-sale{font-weight:900}.hud-sale.is-sale,.shop-price.is-sale{color:#7dffb0}.hud-sale.is-up,.shop-price.is-up{color:#ff8a7a}@media (width<=720px){.mara-stats{grid-template-columns:1fr 1fr}.uml-main,.ports-cols,.rb-row,.qq-row{grid-template-columns:1fr}.jj-board{grid-template-columns:1fr 1fr;gap:20px}.choice-grid.is-compact{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.char-select{grid-template-columns:minmax(0,1fr) minmax(0,210px);align-items:start;gap:12px;margin-bottom:14px;display:grid}.char-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:8px;display:grid}.char-card{cursor:pointer;color:var(--text);font:inherit;border:2px solid var(--ink);background:#ffffff0f;border-radius:10px;justify-items:center;gap:2px;padding:6px 4px 5px;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:grid;box-shadow:0 3px #14102880}.char-card:hover{background:#ffffff1f;transform:translateY(-2px)}.char-card.is-active{background:color-mix(in srgb, var(--ca) 35%, transparent);box-shadow:0 0 0 3px var(--ca), 0 4px 0 #14102899;transform:translateY(-2px)}.char-thumb{width:auto;height:auto;image-rendering:pixelated;margin-top:4px}.char-card:hover .char-thumb,.char-card.is-picked .char-thumb{animation:.5s steps(4,end) char-hop}.char-preview{border:2px solid var(--ink);background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--ca) 45%, transparent), #ffffff0a 70%);border-radius:12px;grid-template-rows:auto 1fr;justify-items:center;gap:4px;padding:10px;display:grid}.char-hero{image-rendering:pixelated;max-width:100%;animation:1.6s steps(2,end) infinite char-bob;height:auto!important}.char-info{text-align:center;justify-items:center;gap:3px;display:grid}.char-info strong{color:var(--ca);text-shadow:0 2px 0 var(--ink);font-size:20px;font-weight:900}.char-info small{color:var(--muted);font-weight:700}.char-stage{place-items:end center;height:50px;margin:2px 0;padding-bottom:4px;display:grid;position:relative}.char-stage:after{content:"";z-index:-1;background:#0000004d;border-radius:50%;width:34px;height:6px;margin-left:-17px;position:absolute;bottom:2px;left:50%}.char-sprite{image-rendering:pixelated;transform-origin:50% 100%}.char-note{font-size:11px}.sprite-anim{transform-origin:50% 100%;transition:transform 90ms steps(2,end)}.sprite-anim.is-breathe{transform:scale(1.03,.96)}.sprite-anim.is-step{transform:translateY(-2px)}.sprite-anim.is-step2{transform:translateY(0)scale(1.04,.95)}.sprite-anim.is-jump{transform:translateY(-7px)scale(.96,1.05)}.sprite-anim.is-land{transform:scale(1.08,.92)}@keyframes char-bob{50%{transform:translateY(-2px)}}@keyframes char-hop{40%{transform:translateY(-5px)}70%{transform:translateY(0)scale(1.08,.92)}}@keyframes char-shake{25%{filter:drop-shadow(0 0 #ff8a7a)brightness(1.2)sepia()hue-rotate(-40deg);transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}}@media (width<=760px){.char-select{grid-template-columns:1fr}.char-preview{grid-template-rows:none;grid-template-columns:auto 1fr;align-items:center}.char-preview .char-hero{width:auto!important;height:auto!important}}.podium-hero{image-rendering:pixelated;animation:.9s steps(4,end) infinite char-hop}.podium-sprite{image-rendering:pixelated}.podium-slot{width:auto;min-width:130px}.podium-char{color:var(--ca);margin-top:-3px;font-size:11px;font-weight:800}.hud-left{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hud-endspurt{background:var(--accent);color:var(--ink);text-transform:uppercase;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:900;animation:.9s ease-in-out infinite ready}.hud-bank{color:var(--accent);background:#ffd23f2e;border-radius:6px;align-items:center;gap:3px;padding:1px 6px;font-size:11px;font-weight:800;display:inline-flex}.shop-slot{border:2px solid var(--ink);cursor:default;background:#ffffff14;border-radius:6px;place-items:center;width:26px;height:26px;padding:0;display:inline-grid}.shop-slot.can-drop{cursor:pointer;background:#e8473f59;animation:1s ease-in-out infinite ready}.shop-slot:disabled{opacity:1}.shop-note{color:var(--muted);margin:10px 0 0;font-size:12.5px;font-weight:700}.shop-note.is-bought{color:#7dffb0}.chaos{background:var(--panel);border:3px solid var(--ink);border-radius:16px;justify-items:center;gap:12px;padding:18px 20px;display:grid;box-shadow:0 6px #14102899,0 0 0 4px #ff8fb1}.chaos-title{color:#ff8fb1;text-shadow:0 3px 0 var(--ink);letter-spacing:.04em;font-size:26px;font-weight:900;animation:.6s ease-in-out infinite wobble}.chaos-slots{align-items:center;gap:8px;display:flex}.chaos-slot{border:2px solid var(--ink);text-align:center;background:#ffffff14;border-radius:12px;align-content:center;justify-items:center;gap:4px;width:112px;min-height:92px;padding:6px;display:grid}.chaos-slot strong{font-size:13px}.chaos-slot.is-hit{background:#ff8fb14d;animation:.35s bump;box-shadow:0 0 0 3px #ff8fb1}.chaos-effect{color:var(--accent);font-size:15px!important}.chaos-arrow{color:var(--muted);font-size:22px;font-weight:900}.chaos-portrait{width:auto;height:auto;image-rendering:pixelated}@media (width<=520px){.chaos-slot{width:86px}.chaos-arrow{display:none}}.wheel-label.is-long{width:58px;margin-left:-29px;font-size:11px}.res-bot{color:var(--muted);border:2px solid var(--muted);border-radius:6px;place-items:center;font-size:9px;font-weight:900;display:inline-grid}.dbg-chars{flex-wrap:wrap;gap:3px;display:flex}@media (height<=480px){.hud-players{gap:4px;width:156px;top:8px;left:8px}.pcard{border-left-width:4px;gap:5px;padding:3px 6px 3px 3px}.pcard.is-active{transform:translate(3px)}.pc-avatar{width:30px;height:30px}.pc-avatar img{image-rendering:auto;height:26px}.pc-name{font-size:12px}.pc-turn,.pc-items,.pc-effects{display:none}.hud-top{gap:6px;top:8px;left:172px;transform:none}.hud-top .hud-card{padding:5px 9px}.hud-rounds{min-width:0}.hud-round{font-size:14px}.hud-left{font-size:10px}.hud-cert-text span{display:none}.hud-cert-text strong{font-size:12px}.hud-actions{top:8px;right:8px}.hud-actions .hud-overview{display:none}.hud-bottom{gap:3px;bottom:8px}.btn-roll{padding:8px 24px;font-size:16px}.hud-hint,.legend{display:none}.dbg{max-height:calc(100vh - 60px);top:50px;bottom:auto}.menu{padding:8px}.menu-shell{max-height:calc(100dvh - 16px)}.menu-hero{padding:8px 16px 0}.menu-hero .logo{font-size:34px}.menu-hero .menu-sub{display:none}.menu-body{gap:14px;padding:6px 16px 4px}.menu-nav{gap:6px}.menu-tab{padding:7px 10px;font-size:14px}.menu-content{min-height:0}.menu-foot{padding:4px 16px 6px;font-size:11px}}.mg-dot.is-partial{background:var(--accent)}.mg-result-list li.is-partial span{color:var(--accent)}.mg-countdown{color:var(--accent);text-align:center;padding:10px;font-size:18px;font-weight:900}.lobby{gap:12px;display:grid}.lobby-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.lobby-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.lobby-box{background:#00000038;border-radius:12px;align-content:start;gap:8px;padding:12px;display:grid}.lobby-box small{color:var(--muted)}.lobby-code-input{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-weight:900}.lobby-status{color:var(--muted);min-height:1.2em;margin:0;font-size:12px}.lobby-status.is-error{color:#ff8a7a}.lobby-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;display:grid}.lobby-code{letter-spacing:.25em;color:var(--accent);font-size:34px;font-weight:900;line-height:1.1}.lobby-urls{gap:4px;min-width:0;display:grid}.lobby-urls code{cursor:copy;overflow-wrap:anywhere;background:#0000004d;border-radius:6px;padding:4px 8px;font-size:12px;display:block}.lobby-urls small{color:var(--muted);font-size:11px}.lobby-seats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.lobby-seat{background:#00000038;border-radius:10px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;display:grid}.lobby-seat .px-portrait{justify-self:center}.lobby-seat.is-me{box-shadow:inset 0 0 0 2px var(--accent)}.lobby-seat.is-offline{opacity:.6}.lobby-seat.is-cpu,.lobby-seat.is-free{opacity:.75}.lobby-seat-name{min-width:0;display:grid}.lobby-seat-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lobby-seat-name small{color:var(--muted);font-size:11px}.lobby-seat-tags{flex-wrap:wrap;justify-content:end;gap:4px;display:flex}.lobby-empty{border:2px dashed var(--muted);width:30px;height:26px;color:var(--muted);border-radius:6px;place-items:center;font-size:9px;font-weight:900;display:inline-grid}.chip.chip-host{background:var(--accent);color:var(--ink)}.chip.chip-ready{color:var(--ink);background:#39c46a}.chip.chip-off{color:#fff;background:#e8473f}.lobby-chars{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.char-card.is-taken{opacity:.4;filter:grayscale(.7);cursor:not-allowed}.lobby-actions-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=560px){.lobby-head{grid-template-columns:1fr}}.net-bar{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(92vw,680px);display:flex;position:absolute;top:74px;left:50%;transform:translate(-50%)}.net-bar>span{pointer-events:auto;color:#bff5d0;background:#140e20cc;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.net-bar.is-warn .net-self{color:#ffd27a}.net-bar .net-warn{color:#ffb0a6}.net-bar .btn-sm{padding:1px 8px;font-size:11px}.spectate{background:#140e20e6;border-radius:12px;gap:6px;min-width:210px;padding:10px 12px;animation:.3s fade-in;display:grid;position:absolute;bottom:120px;right:12px;box-shadow:0 6px #0000004d}.spectate-list{gap:4px;display:grid}.spectate-row{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:12px;font-weight:700;display:grid}.spectate-row .px-portrait{justify-self:center}@media (width<=760px){.net-bar{top:auto;bottom:196px}}.dbg-route{white-space:pre-wrap;max-height:180px;font-family:Consolas,monospace;font-size:10px;line-height:1.35;overflow:auto}.chat-dock{z-index:30;justify-items:start;gap:6px;max-width:calc(100vw - 24px);display:grid;position:absolute;bottom:12px;left:12px}.chat-dock.is-collapsed .chat-panel{display:none}.chat-toggle{font:inherit;color:var(--text);border:2px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#140e20e0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:800;display:inline-flex}.chat-toggle:hover{filter:brightness(1.15)}.chat-badge{background:var(--bad);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-grid}.chat-panel{background:var(--panel);border:3px solid var(--ink);border-radius:12px;gap:6px;width:min(340px,100vw - 24px);padding:10px;animation:.2s fade-in;display:grid;box-shadow:0 6px #0000004d}.chat-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat-head small,.chat-count{color:var(--muted);font-size:10px}.chat-count{justify-self:end}.chat-list{overscroll-behavior:contain;align-content:start;gap:3px;height:190px;padding-right:4px;display:grid;overflow-y:auto}.chat-row{overflow-wrap:anywhere;font-size:12px;line-height:1.35}.chat-row time{color:var(--muted);margin-right:5px;font-size:10px}.chat-row.is-system{color:#ffd27a;font-style:italic}.chat-name{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;margin-right:5px;padding:0;font-weight:800}.chat-row.is-own .chat-name{color:#9fd8ff;cursor:default}.chat-text{white-space:pre-wrap}.chat-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.chat-input{font:inherit;color:var(--text);border:2px solid var(--panel-edge);background:#0000004d;border-radius:8px;min-width:0;padding:6px 8px;font-size:13px}@media (width<=760px){.chat-dock{top:118px;bottom:auto}.chat-toggle-label{display:none}}.lobby-mode{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.lobby-mode .btn{justify-content:center}.lobby-invite{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lobby-invite code{flex:220px}.lobby-hint{color:var(--muted);margin:0;font-size:12px}.lobby-error{color:#ffd0ca;background:#e8473f2e;border:2px solid #e8473f99;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.lobby-switch{color:#ffe3a0;background:#ffc93c29;border:2px solid #ffc93c80;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.chip.chip-conn{color:var(--ink);background:#3fa7e8}.online-offer{z-index:45;background:var(--panel);border:3px solid var(--accent);border-radius:12px;gap:8px;width:min(420px,100vw - 24px);padding:12px 14px;animation:.2s fade-in;display:grid;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 6px #0000004d}.online-offer .lobby-actions-row{justify-content:end}
