body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:Consolas,Cascadia Mono,Menlo,Monaco,Courier New,monospace}:root{--background:#04060d;--surface:#0a1128;--surface-2:#111b3a;--surface-3:#18244a;--border:#80aaff33;--border-strong:#8cb4ff7a;--text:#e3e9ff;--muted:#e3e9ff99;--accent:#4f7dff;--accent-strong:#2f58d8;--accent-soft:#4f7dff2e;--on-accent:#fff;--success:#3ddc84;--warning:#ffd166;--danger:#ff6b7a;--danger-strong:#d9404f;--triangle:#4fd1a5;--circle:#ff6b7a;--cross:#8fb3ff;--square:#ff8fd8;--font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--mono:Consolas,"Cascadia Mono",Menlo,"Courier New",monospace;--fs-xs:11px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:40px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--shadow-1:0 2px 8px #00000059;--shadow-2:0 30px 80px #0009,0 0 0 1px #00000080;--focus:0 0 0 3px #4f7dff99;--topbar-h:48px;--bg0:var(--background);--bg1:#0a1230;--line:var(--border);--panel:#080e28f7;--good:var(--success);--warn:var(--warning);--bad:var(--danger);color-scheme:dark}body,html{height:100%}body{background:#04060d;background:var(--background);color:#e3e9ff;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-family:var(--font);margin:0;overflow:hidden}#app{background:radial-gradient(ellipse 80% 60% at 50% 110%,#325adc47,#0000 60%),radial-gradient(ellipse 60% 40% at 50% -10%,#283ca040,#0000 60%),linear-gradient(180deg,#0a1230,#04060d 60%);background:radial-gradient(ellipse 80% 60% at 50% 110%,#325adc47,#0000 60%),radial-gradient(ellipse 60% 40% at 50% -10%,#283ca040,#0000 60%),linear-gradient(180deg,var(--bg1),var(--bg0) 60%);inset:0;position:fixed}#app:before{background:repeating-linear-gradient(90deg,rgba(120,160,255,.045) 0 2px,#0000 2px 46px);content:"";-webkit-mask-image:linear-gradient(180deg,#0000,#000000e6 50%,#0000);mask-image:linear-gradient(180deg,#0000,#000000e6 50%,#0000);pointer-events:none}#app:before,#stage{inset:0;position:absolute}#stage{align-items:center;cursor:default;display:flex;justify-content:center}#outputCanvas{background:#000;box-shadow:0 0 0 1px #80aaff33;box-shadow:0 0 0 1px var(--line);display:block;height:min(100vh,75vw);outline:none;width:min(100vw,133.33333vh)}body.stretch #outputCanvas{box-shadow:none;height:100vh;width:100vw}#root{inset:0;pointer-events:none;position:absolute;z-index:2}#root>*{pointer-events:auto}.logo{display:inline-flex;font-weight:600;gap:.12em;letter-spacing:0;line-height:1}.logo-lg{font-size:34px}.logo-xl{font-size:54px;gap:.18em}.triangle{color:#4fd1a5;color:var(--triangle)}.circle{color:#ff6b7a;color:var(--circle)}.cross{color:#8fb3ff;color:var(--cross)}.square{color:#ff8fd8;color:var(--square)}.glyphs{font-size:14px;letter-spacing:.1em}.muted{color:#e3e9ff99;color:var(--muted)}.small{font-size:12px}.eyebrow{color:#e3e9ff99;color:var(--muted);font-size:11px;font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase}.row{align-items:center;display:flex;gap:8px;min-width:0}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px;min-width:0}.stack.tight{gap:2px}.bind,.btn,.hud-btn,.icon-btn,.tab{background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:6px;border-radius:var(--r-sm);color:#e3e9ff;color:var(--text);cursor:pointer;font:inherit;padding:6px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn{align-items:center;background:linear-gradient(180deg,#4f7dff,#2f58d8);background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:#8cb4ff99;color:#fff;color:var(--on-accent);display:inline-flex;font-size:13px;font-size:var(--fs-sm);font-weight:600;gap:8px;justify-content:center;line-height:1.2;padding:8px 14px;text-decoration:none}.btn:hover{background:linear-gradient(180deg,#6690ff,#3765e6)}.btn.primary{background:linear-gradient(180deg,#4f7dff,#2f58d8);background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:#8cb4ff99;color:#fff;color:var(--on-accent)}.btn.primary:hover{background:linear-gradient(180deg,#6690ff,#3765e6)}.btn.secondary{background:#111b3a;background:var(--surface-2);border-color:#8cb4ff7a;border-color:var(--border-strong);color:#e3e9ff;color:var(--text)}.btn.secondary:hover{background:#18244a;background:var(--surface-3);border-color:#4f7dff;border-color:var(--accent)}.btn.ghost{background:#0000;border-color:#80aaff33;border-color:var(--border);color:#e3e9ff;color:var(--text);font-weight:500}.btn.ghost:hover{background:#4f7dff2e;background:var(--accent-soft);border-color:#8cb4ff7a;border-color:var(--border-strong)}.btn.danger{background:linear-gradient(180deg,#ff6b7a,#d9404f);background:linear-gradient(180deg,var(--danger),var(--danger-strong));border-color:#ff8c9699;color:#fff}.btn.danger:hover{background:linear-gradient(180deg,#ff8290,#e04b5a)}.btn.disabled,.btn:disabled,.hud-btn:disabled{cursor:not-allowed;filter:saturate(.6);opacity:.45}.btn:disabled:hover{background:linear-gradient(180deg,#4f7dff,#2f58d8);background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.btn.secondary:disabled:hover{background:#111b3a;background:var(--surface-2);border-color:#8cb4ff7a;border-color:var(--border-strong)}.btn.ghost:disabled:hover{background:#0000;border-color:#80aaff33;border-color:var(--border)}.btn.small{font-size:12px;padding:4px 10px}.btn.lg{font-size:15px;font-size:var(--fs-md);padding:12px 18px}.btn.lg,.btn.xl{border-radius:10px;border-radius:var(--r-md);justify-content:flex-start}.btn.xl{font-size:18px;font-size:var(--fs-lg);padding:16px 22px}.btn-icon{flex:none;text-align:center;width:1.4em}.btn-hint{font-size:12px;font-weight:400;opacity:.85}.btn.on{box-shadow:inset 0 0 0 2px #3ddc84;box-shadow:inset 0 0 0 2px var(--success)}.bind:focus-visible,.brand:focus-visible,.btn:focus-visible,.friend:focus-visible,.hud-btn:focus-visible,.icon-btn:focus-visible,.input:focus-visible,.select:focus-visible,.tab:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.bind:hover,.icon-btn:hover,.tab:hover{background:#283c8c99;border-color:#8cb4ff80}.icon-btn{background:#0000;padding:4px 9px}.icon-btn.small{color:#e3e9ff99;color:var(--muted);font-size:11px}.file-btn{overflow:hidden;position:relative}.file-btn input{cursor:pointer;inset:0;opacity:0;position:absolute}.card{background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);box-shadow:0 2px 8px #00000059;box-shadow:var(--shadow-1);min-width:0;padding:16px}.badge{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-pill);color:#e3e9ff;color:var(--text);display:inline-flex;font-size:11px;font-size:var(--fs-xs);font-weight:600;gap:4px;line-height:1.6;margin-left:6px;padding:1px 8px;white-space:nowrap}.row>.badge,.stack>.badge{margin-left:0}.badge.success{background:#3ddc841a;border-color:#3ddc8473;color:#3ddc84;color:var(--success)}.badge.warning{background:#ffd1661a;border-color:#ffd16673;color:#ffd166;color:var(--warning)}.badge.danger{background:#d9404f;background:var(--danger-strong)}.badge.accent,.badge.danger{border-color:#0000;color:#fff}.badge.accent{background:#4f7dff;background:var(--accent);color:var(--on-accent)}.avatar{align-items:center;background:#8fb3ff;background:var(--cross);border-radius:50%;box-shadow:0 0 0 2px #00000059,0 0 0 3px #80aaff33;box-shadow:0 0 0 2px #00000059,0 0 0 3px var(--border);color:#06081a;display:inline-flex;flex:none;font-size:16px;font-weight:700;height:36px;justify-content:center;-webkit-user-select:none;user-select:none;width:36px}.avatar.sm{font-size:12px;height:26px;width:26px}.avatar.lg{font-size:28px;height:64px;width:64px}.avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar.tone-triangle{background:#4fd1a5;background:var(--triangle)}.avatar.tone-circle{background:#ff6b7a;background:var(--circle)}.avatar.tone-cross{background:#8fb3ff;background:var(--cross)}.avatar.tone-square{background:#ff8fd8;background:var(--square)}.avatar.tone-none{background:#18244a;background:var(--surface-3);color:#e3e9ff99;color:var(--muted)}.code-input,.field input,.input,.modal select,.panel select,.select{background:#04060d;background:var(--background);border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:6px;border-radius:var(--r-sm);color:#e3e9ff;color:var(--text);font:inherit;font-size:14px;min-width:0;padding:7px 10px}.code-input::placeholder,.field input::placeholder,.input::placeholder{color:#e3e9ff59}.code-input:focus,.field input:focus,.input:focus,.modal select:focus,.panel select:focus,.select:focus{border-color:#4f7dff;border-color:var(--accent);box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.modal select,.panel select,.select{cursor:pointer}.modal select option,.panel select option,.select option{background:#0a1128;background:var(--surface);color:#e3e9ff;color:var(--text)}.modal-backdrop,.panel-backdrop{align-items:center;background:#03040ab8;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;position:absolute;z-index:5}.modal,.panel{background:#080e28f7;background:var(--panel);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);box-shadow:0 30px 80px #0009,0 0 0 1px #00000080;box-shadow:var(--shadow-2);display:flex;flex-direction:column;max-height:calc(100vh - 32px);overflow:hidden;width:min(680px,100%)}.modal-head,.panel-head{align-items:center;border-bottom:1px solid #80aaff33;border-bottom:1px solid var(--border);display:flex;flex:none;gap:10px;justify-content:space-between;padding:12px 14px 12px 18px}.modal-title,.panel-title{font-size:14px;font-weight:300;letter-spacing:.25em;min-width:0;text-transform:uppercase}.modal-title .glyphs,.panel-icon{letter-spacing:.1em;margin-right:10px}.panel-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px}.modal-foot,.panel-foot{align-items:center;border-top:1px solid #80aaff33;border-top:1px solid var(--border);display:flex;flex:none;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 18px}.panel-foot{justify-content:flex-end}.empty-state{align-items:center;display:flex;flex-direction:column;gap:12px;padding:24px 8px;text-align:center}.empty-title{font-size:18px;font-size:var(--fs-lg);font-weight:600}.empty-state p{font-size:13px;font-size:var(--fs-sm);line-height:1.5;margin:0;max-width:420px}#root>.toasts,.toasts{pointer-events:none}.toasts{align-items:flex-end;bottom:16px;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);position:fixed;right:16px;z-index:60}.toast{align-items:flex-start;background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border-left:4px solid #4f7dff;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;border-radius:var(--r-md);box-shadow:0 30px 80px #0009,0 0 0 1px #00000080;box-shadow:var(--shadow-2);box-sizing:border-box;display:flex;font-size:13px;font-size:var(--fs-sm);gap:10px;line-height:1.4;max-width:100%;padding:10px 12px;pointer-events:auto;width:340px}.toast.info{border-left-color:#4f7dff;border-left-color:var(--accent)}.toast.success{border-left-color:#3ddc84;border-left-color:var(--success)}.toast.error{border-left-color:#ff6b7a;border-left-color:var(--danger)}.toast-body{flex:1 1;min-width:0}.toast-title{font-weight:600;margin-bottom:2px}.toast{animation:toast-in .18s ease-out}.toast:focus{box-shadow:0 30px 80px #0009,0 0 0 1px #00000080,0 0 0 3px #4f7dff99;box-shadow:var(--shadow-2),var(--focus);outline:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-icon{align-items:center;background:#4f7dff;background:var(--accent);border-radius:50%;color:#06081a;display:inline-flex;flex:none;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-top:1px;width:20px}.toast.success .toast-icon{background:#3ddc84;background:var(--success)}.toast.error .toast-icon{background:#ff6b7a;background:var(--danger);color:#fff}.toast-text{overflow-wrap:anywhere}.toast-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.toast-close{flex:none;margin:-4px -6px 0 0}.hud{align-items:center;background:linear-gradient(180deg,#03040ae0,#03040a8c);border-bottom:1px solid #80aaff1a;box-sizing:border-box;display:flex;gap:8px;height:48px;height:var(--topbar-h);justify-content:space-between;left:0;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .35s ease,transform .35s ease;z-index:4}.hud-hidden{opacity:0;pointer-events:none!important;transform:translateY(-8px)}.brand{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--r-sm);color:#e3e9ff;color:var(--text);cursor:pointer;display:flex;font:inherit;gap:10px;min-width:0;padding:4px 6px}.brand .logo{font-size:15px}.brand-name{font-size:14px;font-weight:300;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.hud-actions{display:flex;min-width:0}.hud-actions,.hud-btn{align-items:center;gap:6px}.hud-btn{background:#0a1230bf;box-sizing:border-box;display:inline-flex;font-size:13px;font-size:var(--fs-sm);height:32px;padding:0 10px;white-space:nowrap}.hud-btn:hover{background:#283c8c99;border-color:#8cb4ff80}.hud-btn.on{border-color:#4f7dff;border-color:var(--accent);box-shadow:inset 0 0 0 1px #4f7dff;box-shadow:inset 0 0 0 1px var(--accent)}.hud-btn.accent{background:linear-gradient(180deg,#4f7dff,#2f58d8);background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:#8cb4ff99;color:#fff;color:var(--on-accent)}.hud-btn .badge{margin-left:0}.tb-icon{font-size:15px;line-height:1}.stats{background:#080e28f7;background:var(--panel);border:1px solid #80aaff33;border:1px solid var(--line);border-radius:8px;color:#e3e9ff;color:var(--text);font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);font-size:12px;left:16px;line-height:1.55;padding:8px 12px;position:absolute;top:56px}.stats-big{font-size:22px;font-weight:600;margin-right:4px}.stats-unit{color:#e3e9ff99;color:var(--muted);margin-right:12px}.stats-miss.good{color:#3ddc84;color:var(--good)}.stats-miss.warn{color:#ffd166;color:var(--warn)}.stats-miss.bad{color:#ff6b7a;color:var(--bad)}.screen{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;text-align:center}.screen.full{background:#03040a99;inset:0;justify-content:center;padding:56px 16px 16px;padding:calc(var(--topbar-h) + 8px) 16px 16px;position:absolute;z-index:1}.screen.compact{background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);font-size:13px;font-size:var(--fs-sm);gap:8px;margin-top:10px;padding:10px 16px;width:min(520px,100%)}.screen-logo{font-size:42px;gap:.25em}.screen-logo.pulse{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.screen-title{align-items:center;display:inline-flex;gap:10px;justify-content:center;max-width:640px}.screen.full .screen-title{font-size:14px;font-weight:300;letter-spacing:.3em;line-height:1.6;text-transform:uppercase}.screen.full .screen-title .status-dot{display:none}.screen.compact .screen-title{font-weight:600}.screen-detail{color:#e3e9ff99;color:var(--muted);font-size:13px;font-size:var(--fs-sm);line-height:1.5;max-width:560px;overflow-wrap:anywhere}.screen-bar{background:#18244a;background:var(--surface-3);border-radius:999px;border-radius:var(--r-pill);flex:none;height:6px;overflow:hidden;position:relative;width:min(420px,100%)}.screen.compact .screen-bar{width:100%}.screen-bar-fill{background:#4f7dff;background:var(--accent);border-radius:999px;border-radius:var(--r-pill);bottom:0;left:0;position:absolute;top:0;transition:width .3s ease;width:0}.screen-bar.indeterminate .screen-bar-fill{animation:indeterminate 1.4s ease-in-out infinite;width:35%}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}.status-dot{background:#4f7dff;background:var(--accent);border-radius:50%;flex:none;height:8px;width:8px}.screen.busy .status-dot{background:#ffd166;background:var(--warning)}.screen.ready .status-dot{background:#3ddc84;background:var(--success)}.screen.idle .status-dot{background:#e3e9ff99;background:var(--muted)}.screen.error .status-dot{background:#ff6b7a;background:var(--danger)}.screen.compact.error{border-color:#ff6b7a8c}.screen.error .screen-title{color:#ffb3bb}.screen.full.error .screen-title{letter-spacing:.14em}.screen-action{margin-top:2px}.screen.compact .screen-action{padding:6px 14px}@media (prefers-reduced-motion:reduce){.screen-bar.indeterminate .screen-bar-fill,.screen-logo.pulse,.toast{animation:none}}.screen.full.has-cover{background:#04060d;background:var(--background);overflow:hidden}.screen-backdrop{background-position:50%;background-size:cover;inset:0;opacity:.28;pointer-events:none;position:absolute}.screen-backdrop:after{background:radial-gradient(ellipse 70% 60% at 50% 50%,#04060d40,#04060deb);content:"";inset:0;position:absolute}.screen-card{align-items:center;background:#0a1128e6;border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:14px;border-radius:var(--r-lg);box-shadow:0 24px 64px #0000008c;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:28px 28px 24px;position:relative;width:min(460px,100%);z-index:1}.screen.full .screen-card .screen-title{color:#e3e9ff;color:var(--text)}.screen-bar-row{align-items:center;display:flex;gap:10px;width:min(420px,100%)}.screen-bar-row .screen-bar{flex:1 1;width:auto}.screen.compact .screen-bar-row{width:100%}.screen-bar-fill{box-shadow:0 0 8px #4f7dff8c}.screen-pct{font-feature-settings:"tnum";color:#e3e9ff99;color:var(--muted);flex:none;font-size:11px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.screen.full .screen-detail{min-height:1.5em}@media (max-width:640px){.screen-card{padding:22px 18px 20px}.screen.full .screen-title{font-size:13px;letter-spacing:.2em}}.home{background:radial-gradient(ellipse 70% 50% at 50% 0,#3c64ff38,#0000 70%),linear-gradient(180deg,#080e28f7,#03040afa);inset:0;overflow-x:hidden;overflow-y:auto;position:absolute;z-index:3}.home-inner{box-sizing:border-box;gap:18px;justify-content:center;margin:0 auto;max-width:960px;min-height:100%;padding:68px 20px 28px;padding:calc(var(--topbar-h) + 20px) 20px 28px;width:100%}.home-hero,.home-inner{display:flex;flex-direction:column}.home-hero{align-items:center;gap:6px;text-align:center}.home-title{font-size:40px;font-size:var(--fs-2xl);font-weight:300;letter-spacing:.3em;line-height:1.1;margin:6px 0 0;text-indent:.3em;text-transform:uppercase}.home-sub{letter-spacing:.24em;text-transform:uppercase}.home-foot,.home-sub{color:#e3e9ff99;color:var(--muted);font-size:11px;font-size:var(--fs-xs)}.home-foot{letter-spacing:.12em;padding-top:4px;text-align:center}.about-research{color:#e3e9ff;color:var(--text);font-size:14px;line-height:1.5;margin:0 0 12px}.home-grid{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.home-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.home-actions .home-play{grid-column:1/-1}.home-play .stack{align-items:flex-start;text-align:left}.home-actions .btn.lg .badge{margin-left:auto}.player-card{align-items:center;display:flex;gap:16px}.player-main{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.player-name{font-size:24px;font-size:var(--fs-xl);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-main .input{flex:1 1 160px}.friends-card{display:flex;flex-direction:column;font-size:13px;font-size:var(--fs-sm);gap:10px}.friends{display:flex;flex-wrap:wrap;gap:8px}.friend{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-pill);box-sizing:border-box;color:#e3e9ff;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-size:var(--fs-sm);gap:8px;max-width:100%;padding:4px 12px 4px 4px}.friend:hover{background:#18244a;background:var(--surface-3);border-color:#8cb4ff7a;border-color:var(--border-strong)}.friend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend .badge{margin-left:0}.home-hero{gap:4px}.home-hero .logo-lg{font-size:30px}.hub-section{display:flex;flex-direction:column;gap:10px;min-width:0}.consoles{grid-gap:10px;display:grid;gap:10px;grid-auto-columns:minmax(148px,1fr);grid-auto-flow:column;margin:-3px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:3px;scroll-snap-type:x proximity;scrollbar-width:thin}.console-tile{align-items:flex-start;background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);box-sizing:border-box;color:#e3e9ff;color:var(--text);display:flex;flex-direction:column;font:inherit;gap:6px;min-width:0;padding:12px 14px;scroll-snap-align:start;text-align:left}.console-tile.active{background:linear-gradient(180deg,#111b3a,#0a1128);background:linear-gradient(180deg,var(--surface-2),var(--surface));border-color:#8cb4ff7a;border-color:var(--border-strong);cursor:pointer;transition:border-color .15s ease,background .15s ease}.console-tile.active:hover{background:linear-gradient(180deg,#18244a,#0a1128);background:linear-gradient(180deg,var(--surface-3),var(--surface));border-color:#4f7dff;border-color:var(--accent)}.console-tile.selected{border-color:#4f7dff;border-color:var(--accent);box-shadow:inset 0 0 0 1px #4f7dff;box-shadow:inset 0 0 0 1px var(--accent)}.console-tile:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.console-tile.disabled{cursor:default;filter:saturate(.4);opacity:.5}.console-mark{align-items:center;color:#e3e9ff99;color:var(--muted);display:flex;font-size:18px;font-weight:300;letter-spacing:.16em;line-height:1;min-height:24px}.console-tile.active .console-mark{color:#e3e9ff;color:var(--text)}.console-mark .logo{font-size:18px}.console-logo{display:block;height:24px;max-width:100%;object-fit:contain;opacity:0;width:auto}.console-logo.loaded{opacity:1}.console-mark-text{display:inline-block}.console-name{font-size:13px;font-size:var(--fs-sm);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-tile .badge{margin-left:0}.game-card{grid-gap:12px 18px;align-items:start;display:grid;gap:12px 18px;grid-template-areas:"cover info" "cover status" "cover actions";grid-template-columns:132px minmax(0,1fr)}.game-cover{align-items:center;aspect-ratio:3/4;background:repeating-linear-gradient(90deg,#78a0ff12 0 2px,#0000 2px 16px),radial-gradient(ellipse 90% 60% at 50% 100%,#3c64ff73,#0000 70%),linear-gradient(180deg,#0d1840,#050915);border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--r-md);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;grid-area:cover;height:auto;justify-content:center;overflow:hidden;position:relative;width:132px}.game-cover-sub{background:#000000a6;color:#e3e9ff99;color:var(--muted);font-size:9px;left:0;letter-spacing:.14em;padding:4px 8px;position:absolute;right:0;text-transform:uppercase;top:0}.game-cover-logo{font-size:22px}.game-cover-title{font-size:16px;font-weight:300;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;white-space:nowrap}.game-info{display:flex;flex-direction:column;gap:6px;grid-area:info;min-width:0}.game-title{font-size:24px;font-size:var(--fs-xl);font-weight:600;line-height:1.2;margin:0}.game-meta{color:#e3e9ff99;color:var(--muted)}.game-meta,.game-online{font-size:13px;font-size:var(--fs-sm)}.game-online{align-items:center;display:inline-flex;gap:8px}.game-online .status-dot{background:#e3e9ff99;background:var(--muted)}.game-online .status-dot.on{background:#3ddc84;background:var(--success)}.game-status{grid-area:status;min-width:0}.game-status .screen.compact{margin-top:0;width:100%}.game-card .home-actions{grid-area:actions}@media (max-width:860px){.game-card{grid-template-areas:"cover info" "status status" "actions actions";grid-template-columns:112px minmax(0,1fr)}.game-cover{width:112px}}@media (max-width:640px){.home-hero .logo-lg{font-size:26px}.consoles{grid-auto-columns:136px}.game-card{gap:12px 14px;grid-template-columns:84px minmax(0,1fr);padding:14px}.game-cover{gap:6px;width:84px}.game-cover-logo{font-size:15px}.game-cover-title{font-size:11px;letter-spacing:.16em;text-indent:.16em}.game-cover-sub{font-size:7px;padding:3px 5px}.game-title{font-size:18px;font-size:var(--fs-lg)}}.game-cover-img{display:block;height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .2s ease;width:100%;z-index:1}.game-cover.has-img .game-cover-img{opacity:1}.game-card .home-actions{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.game-card .home-actions .home-play{grid-column:auto}.btn.secondary.home-play{background:linear-gradient(180deg,#18244a,#111b3a);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-color:#4f7dff;border-color:var(--accent);font-weight:700}.btn.secondary.home-play:hover{background:linear-gradient(180deg,#213063,#18244a);background:linear-gradient(180deg,#213063,var(--surface-3));border-color:#8fb3ff}.btn.secondary.home-play:disabled:hover{background:linear-gradient(180deg,#18244a,#111b3a);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-color:#4f7dff;border-color:var(--accent)}.btn.hero-online{background:linear-gradient(135deg,#7aa0ff,#4f7dff 42%,#2f58d8);background:linear-gradient(135deg,#7aa0ff 0,var(--accent) 42%,var(--accent-strong) 100%);border-color:#aac8ffcc;box-shadow:0 0 0 1px #4f7dff59,0 6px 22px #4f7dff61;color:#fff;color:var(--on-accent);font-size:20px;font-weight:700;isolation:isolate;letter-spacing:.01em;padding:16px 20px;position:relative}.btn.hero-online:hover{background:linear-gradient(135deg,#8fb0ff,#6690ff 42%,#3765e6)}.btn.hero-online:disabled{box-shadow:none}.btn.hero-online:disabled:hover{background:linear-gradient(135deg,#7aa0ff,#4f7dff 42%,#2f58d8);background:linear-gradient(135deg,#7aa0ff 0,var(--accent) 42%,var(--accent-strong) 100%)}.btn.hero-online:focus-visible{box-shadow:0 0 0 3px #4f7dff99,0 6px 22px #4f7dff61;box-shadow:var(--focus),0 6px 22px #4f7dff61}.btn.hero-online:after{border-radius:inherit;box-shadow:0 0 26px 6px #6e96ff99;content:"";inset:-1px;opacity:0;pointer-events:none;position:absolute;z-index:-1}.btn.hero-online.pulse:after{animation:hero-glow 3s ease-in-out infinite}@keyframes hero-glow{0%,to{opacity:.1}50%{opacity:1}}.hero-icon{font-size:26px;width:1.3em}.hero-label{line-height:1.15}.hero-sub{font-size:12px;font-weight:500;letter-spacing:0;opacity:.92}.hero-online .stack{align-items:flex-start;text-align:left}.home-actions .hero-online .badge{margin-left:auto}.btn.ghost.home-quiet{border-color:#80aaff33;border-color:var(--border);color:#e3e9ff99;color:var(--muted);font-size:13px;font-size:var(--fs-sm);justify-content:center;padding:8px 12px}.btn.ghost.home-quiet:hover{color:#e3e9ff;color:var(--text)}@media (prefers-reduced-motion:reduce){.btn.hero-online.pulse:after{animation:none;opacity:.55}}@media (max-width:640px){.game-card .home-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.game-card .home-actions .hero-online,.game-card .home-actions .home-play{grid-column:1/-1}.btn.hero-online{font-size:19px;padding:15px 18px}}.panel.compact{width:min(460px,100%)}.browser-gate-text{font-size:15px;font-size:var(--fs-md);line-height:1.5;margin:0}.link-btn{align-self:flex-start;background:none;border:none;color:#e3e9ff99;color:var(--muted);cursor:pointer;font:inherit;padding:2px 0;text-decoration:underline}.link-btn.small{font-size:12px}.link-btn:hover{color:#e3e9ff;color:var(--text)}.link-btn:focus-visible{border-radius:2px;box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}@media (max-width:640px){.panel.compact{align-self:center;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);height:auto;margin:0 auto;width:calc(100% - 24px)}}.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px 0}.tab{background:#0000;border-bottom:none;border-radius:6px 6px 0 0;color:#e3e9ff99;color:var(--muted)}.tab.on{background:#283c8c59;border-color:#4f7dff;border-color:var(--accent);color:#e3e9ff;color:var(--text)}.tab-body{border-top:1px solid #80aaff33;border-top:1px solid var(--line);min-height:0;overflow:auto;padding:12px 18px}.hint{color:#e3e9ff99;color:var(--muted);font-size:13px;margin:4px 0 10px}.pad-name{border:1px solid #80aaff33;border:1px solid var(--line);border-radius:999px;color:#e3e9ff;color:var(--text);display:inline-block;font-size:12px;margin-left:8px;padding:1px 8px}.bind-group{margin-bottom:12px}.bind-group-title{color:#e3e9ff99;color:var(--muted);font-size:11px;letter-spacing:.2em;margin:8px 0 6px;text-transform:uppercase}.bind-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:34px 1fr 190px 30px;padding:3px 0}.bind,.bind-label{font-size:13px}.bind{font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);text-align:center}.bind.waiting{animation:pulse 1s ease-in-out infinite;border-color:#4f7dff;border-color:var(--accent);color:#4f7dff;color:var(--accent)}.glyph{align-items:center;border:1px solid #80aaff33;border:1px solid var(--line);border-radius:50%;display:inline-flex;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.glyph.dpad,.glyph.shoulder{border-radius:6px;color:#e3e9ff;color:var(--text)}.glyph.shoulder{font-size:11px}.glyph.system{border-radius:6px;color:#e3e9ff99;color:var(--muted)}.glyph.stick{color:#4f7dff;color:var(--accent)}.toggle-row{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:12px;padding:8px 0}.toggle-row input[type=checkbox]{accent-color:#4f7dff;accent-color:var(--accent);height:18px;width:18px}input[type=range]{accent-color:#4f7dff;accent-color:var(--accent);width:100%}.about{border-top:1px solid #80aaff33;border-top:1px solid var(--line);font-size:13px;line-height:1.6;margin-top:18px;padding-top:12px}.about a{color:#8fb3ff;color:var(--cross)}.seat-row{align-items:center;border:1px solid #80aaff33;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:8px;padding:8px 10px}.seat-row.none .seat-now{color:#e3e9ff99;color:var(--muted)}.seat-no{border:1px solid #80aaff33;border:1px solid var(--line);border-radius:999px;display:inline-block;font-size:12px;padding:1px 8px}.seat-label{min-width:70px}.seat-row select{max-width:100%;min-width:200px}.seat-now{color:#e3e9ff99;color:var(--muted)}.detector{border:1px solid #80aaff33;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:8px 10px}.detector.none .detector-title{color:#ffb86b}.detector-title{font-size:13px;margin-bottom:6px}.detector-steps{color:#e3e9ff;color:var(--text);font-size:13px;margin:4px 0 4px 18px;padding:0}.detector-steps li{margin:3px 0}.detector-events{color:#e3e9ff99;color:var(--muted);font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);font-size:11px;margin-top:6px}.detector-help{font-size:12px;margin-top:6px}.pad-buttons{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.pad-btn{border:1px solid #80aaff33;border:1px solid var(--line);border-radius:6px;color:#e3e9ff99;color:var(--muted);font-size:12px;min-width:26px;padding:2px 6px;text-align:center;transition:background 60ms,color 60ms}.pad-btn.on{background:#4f7dff;background:var(--accent);border-color:#4f7dff;border-color:var(--accent);color:#fff}.pad-axes{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:8px;margin:6px 0 2px}.pad-axis{border:1px solid #80aaff33;border:1px solid var(--line);border-radius:5px;display:inline-block;height:10px;position:relative;width:70px}.pad-axis-dot{background:#4f7dff;background:var(--accent);border-radius:50%;height:6px;margin-left:-3px;position:absolute;top:1px;width:6px}.field{display:flex;flex-direction:column;font-size:13px;gap:6px;margin:10px 0}.code-input{font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;width:110px}.online-status{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;justify-content:space-between;margin:6px 0 10px}.online-hint,.online-status.accent{color:#ffd166;color:var(--warning)}.online-hint{background:#ffd16614;border:1px solid #ffd16673;border-radius:8px;font-size:13px;line-height:1.45;margin:6px 0;padding:8px 10px}.start-hint{font-size:12px}.room-mismatch{background:#ff8a8a14;border:1px solid #ff8a8a80;border-radius:8px;color:#ff8a8a;font-size:13px;line-height:1.45;margin:6px 0;overflow-wrap:anywhere;padding:8px 10px}.room-mismatch.waiting{background:#ffd16614;border-color:#ffd16673;color:#ffd166;color:var(--warning)}.online-error{color:#ff8a8a;font-size:13px;margin:6px 0}.online-actions{margin:8px 0}.invite,.online-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.invite{border:1px solid #80aaff33;border:1px solid var(--line);border-color:#4f7dff;border-color:var(--accent);border-radius:8px;font-size:13px;justify-content:space-between;margin-bottom:6px;padding:6px 10px}.invite-actions{display:flex;gap:6px}.code{font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);letter-spacing:.15em}.room-link{font-size:13px;margin:4px 0}.ok{color:#3ddc84;color:var(--success)}.bad{color:#ff8a8a}.match-bar{align-items:center;background:#060a1cdb;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-pill);bottom:14px;box-shadow:0 2px 8px #00000059;box-shadow:var(--shadow-1);box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:13px;font-size:var(--fs-sm);gap:4px 14px;justify-content:center;left:50%;max-width:calc(100vw - 32px);padding:5px 6px;position:fixed;transform:translateX(-50%);transition:opacity .35s ease,transform .35s ease;z-index:40}.match-bar-hidden{opacity:0;pointer-events:none!important;transform:translate(-50%,8px)}.mb-who{align-items:center;display:inline-flex;gap:6px;min-width:0;padding-right:2px}.mb-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-vs{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.mb-item{font-feature-settings:"tnum";align-items:center;display:inline-flex;font-variant-numeric:tabular-nums;gap:5px;white-space:nowrap}.mb-icon{color:#e3e9ff99;color:var(--muted);font-size:12px}.mb-item.warn,.mb-item.warn .mb-icon{color:#ffd166;color:var(--warning)}.mb-item.ok{color:#3ddc84;color:var(--success);font-size:12px}.mb-chat{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:50%;color:#e3e9ff;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;height:30px;justify-content:center;padding:0;position:relative;width:30px}.mb-chat:hover{background:#18244a;background:var(--surface-3);border-color:#8cb4ff7a;border-color:var(--border-strong)}.mb-chat:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.mb-badge{font-size:10px;margin:0;padding:0 5px;position:absolute;right:-8px;top:-6px}.match-waiting{align-items:center;background:#03040a73;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;pointer-events:none!important;position:fixed;z-index:30}.match-waiting-card{align-items:center;background:#080e28e6;border:1px solid #ffd16673;border-radius:14px;border-radius:var(--r-lg);box-shadow:0 30px 80px #0009,0 0 0 1px #00000080;box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:6px;max-width:360px;padding:18px 26px;text-align:center}.match-waiting-text{font-size:18px;font-size:var(--fs-lg)}.match-waiting-time{font-feature-settings:"tnum";color:#ffd166;color:var(--warning);font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);font-size:24px;font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.match-waiting-spinner{animation:spin .9s linear infinite;border:3px solid #18244a;border-radius:50%;border-top-color:#ffd166;border:3px solid var(--surface-3);border-top-color:var(--warning);height:26px;width:26px}@keyframes spin{to{transform:rotate(1turn)}}.panel.match-end{width:min(620px,100%)}.panel.match-end .panel-foot{gap:8px}.match-end-body{display:flex;flex-direction:column;font-size:13px;font-size:var(--fs-sm);gap:12px}.match-end-head{align-items:center;background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;gap:14px;padding:12px 14px}.match-end-head.tone-error{background:#d9404f1f;border-color:#ff6b7a8c}.match-end-head.tone-warn{background:#ffd16614;border-color:#ffd16673}.match-end-icon{flex:none;font-size:28px;line-height:1}.match-end-title{font-size:24px;font-size:var(--fs-xl);font-weight:600;line-height:1.2;overflow-wrap:anywhere}.match-end-head.tone-error .match-end-title{color:#ffb3bb}.match-end-head.tone-warn .match-end-title{color:#ffd166;color:var(--warning)}.match-end-versus{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.match-end-versus b{overflow-wrap:anywhere}.match-end-code{margin-left:auto}.match-end-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.mstat{background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);min-width:0;padding:10px;text-align:center}.mstat-value{font-feature-settings:"tnum";font-size:24px;font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:600}.mstat-label{color:#e3e9ff99;color:var(--muted);font-size:11px}.match-end-logs{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.match-end-log{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between}.match-end-log code{font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.match-end-status{background:#4f7dff2e;background:var(--accent-soft);border:1px solid #4f7dff73;border-radius:10px;border-radius:var(--r-md);padding:8px 10px}.match-end-status.wanted{background:#3ddc841a;border-color:#3ddc84;border-color:var(--success);color:#3ddc84;color:var(--success);font-weight:600}.match-end-note{margin:0}.btn.pulse-btn{animation:pulse 1.2s ease-in-out infinite}.lobby-chat.focus{border-color:#8cb4ff7a;border-color:var(--border-strong)}@media (prefers-reduced-motion:reduce){.btn.pulse-btn,.match-waiting-spinner{animation:none}}.panel.lobby{width:min(1000px,100%)}.lobby-body{font-size:13px;font-size:var(--fs-sm);gap:12px}.lobby-body,.lobby-offline{display:flex;flex-direction:column}.lobby-offline{align-items:flex-start}.lobby-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.lobby-me{align-items:center;display:flex;gap:14px;padding:12px 14px}.lobby-me .player-main{gap:4px}.lobby-card-title,.lobby-me .player-name{font-size:18px;font-size:var(--fs-lg)}.lobby-card-title{font-weight:600;margin:2px 0 6px}.lobby-create p,.lobby-join p{line-height:1.45;margin:0 0 10px}.lobby-join p{margin:8px 0 0}.lobby-create{background:linear-gradient(160deg,#4f7dff38,#0a1128 60%);background:linear-gradient(160deg,#4f7dff38,var(--surface) 60%);border-color:#8cb4ff7a;border-color:var(--border-strong)}.lobby-create .btn.lg{justify-content:center;width:100%}.lobby-join .code-input{flex:1 1 auto;font-size:18px;text-align:center;width:auto}.lobby-invites,.lobby-players{display:flex;flex-direction:column;gap:8px}.player-list{display:flex;flex-direction:column;gap:6px}.player-row{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px}.player-row-main{flex:1 1 auto;gap:3px;min-width:0}.player-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-row-actions{flex:none;gap:6px}.player-row-hint{flex:1 0 100%;padding-left:46px}.lobby-invites .invite{background:#4f7dff2e;background:var(--accent-soft);border-radius:10px;border-radius:var(--r-md);justify-content:flex-start;margin:0;padding:8px 10px}.invite-text{flex:1 1 180px;min-width:0}.lobby-room{display:flex;flex-direction:column;gap:10px;min-width:0}.room-code-card{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 14px}.code.huge{color:#e3e9ff;color:var(--text);font-size:30px;font-weight:600;letter-spacing:.22em}.room-code-share{align-items:flex-end;max-width:100%;min-width:0}.room-code-share .link{text-align:right;word-break:break-all}.seats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.seat{align-items:center;display:flex;flex-direction:column;gap:6px;padding:14px 10px 12px;position:relative;text-align:center}.seat.ready{border-color:#3ddc84;border-color:var(--success);box-shadow:0 2px 8px #00000059,inset 0 0 0 1px #3ddc8459;box-shadow:var(--shadow-1),inset 0 0 0 1px #3ddc8459}.seat.empty{background:#0000;border-style:dashed;box-shadow:none}.seat .seat-no{left:8px;position:absolute;top:8px}.seat-avatar{display:inline-flex;position:relative}.crown{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));font-size:18px;position:absolute;right:-8px;top:-12px}.seat-name{font-size:15px;font-size:var(--fs-md);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-meta{gap:10px;justify-content:center}.ready-mark{color:#e3e9ff99;color:var(--muted);font-size:12px}.ready-mark.on{color:#3ddc84;color:var(--success)}.room-delay{font-size:13px;font-size:var(--fs-sm)}.match-running{justify-content:flex-start}.ping{align-items:center;font-size:12px;gap:6px;white-space:nowrap}.ping,.ping-bars{display:inline-flex}.ping-bars{align-items:flex-end;gap:2px;height:14px}.ping-step{background:#18244a;background:var(--surface-3);border-radius:1px;width:4px}.ping.lvl-4 .ping-step.on,.ping.lvl-5 .ping-step.on{background:#3ddc84;background:var(--success)}.ping.lvl-3 .ping-step.on{background:#ffd166;background:var(--warning)}.ping.lvl-2 .ping-step.on{background:#ff9f5a}.ping.lvl-1 .ping-step.on{background:#ff6b7a;background:var(--danger)}.ping-ms{color:#e3e9ff99;color:var(--muted);font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono)}.chat-lines,.lobby-chat{display:flex;flex-direction:column;gap:8px}.chat-lines{background:#04060d;background:var(--background);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);height:220px;overflow-y:auto;padding:8px}.chat-empty{margin:auto;text-align:center}.chat-line{align-items:flex-start;display:flex;gap:8px;max-width:92%}.chat-line.mine{align-self:flex-end;flex-direction:row-reverse;text-align:right}.chat-body{background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);min-width:0;padding:5px 10px}.chat-line.mine .chat-body{background:#4f7dff2e;background:var(--accent-soft);border-color:#4f7dff73}.chat-meta{display:flex;font-size:11px;gap:8px}.chat-line.mine .chat-meta{justify-content:flex-end}.chat-text{line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.chat-input .input{flex:1 1 auto}.chat-badge{font-size:11px}.panel.settings{height:min(760px,calc(100vh - 32px));width:min(940px,100%)}.settings-layout{display:flex;flex:1 1 auto;min-height:0}.settings-nav{border-right:1px solid #80aaff33;border-right:1px solid var(--border);box-sizing:border-box;display:flex;flex:none;flex-direction:column;gap:4px;overflow-y:auto;padding:12px 10px;width:176px}.settings-nav-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;border-radius:var(--r-md);color:#e3e9ff99;color:var(--muted);cursor:pointer;display:flex;font:inherit;font-size:13px;font-size:var(--fs-sm);gap:10px;padding:9px 12px;text-align:left;width:100%}.settings-nav-item:hover{background:#111b3a;background:var(--surface-2);color:#e3e9ff;color:var(--text)}.settings-nav-item.on{background:#4f7dff2e;background:var(--accent-soft);border-color:#4f7dff73;color:#e3e9ff;color:var(--text);font-weight:600}.seg-btn:focus-visible,.settings-nav-item:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.settings-nav-icon{flex:none;text-align:center;width:1.3em}.settings-body{flex:1 1 auto;min-width:0;overflow-y:auto;padding:16px 20px 20px}.settings-section{display:flex;flex-direction:column;gap:14px}.settings-h{font-size:18px;font-size:var(--fs-lg);font-weight:600;margin:0}.settings-section .hint{margin:0}.settings-section .bind-group{margin-bottom:8px}.settings-section .seat-row{margin-bottom:0}.seg{align-self:flex-start;background:#0a1128;background:var(--surface);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);box-sizing:border-box;display:inline-flex;flex-wrap:wrap;gap:4px;max-width:100%;padding:3px}.seg-btn{background:#0000;border:1px solid #0000;border-radius:6px;border-radius:var(--r-sm);color:#e3e9ff99;color:var(--muted);cursor:pointer;font:inherit;font-size:13px;font-size:var(--fs-sm);min-width:0;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.seg-btn:hover{background:#111b3a;background:var(--surface-2);color:#e3e9ff;color:var(--text)}.seg-btn.on{background:#4f7dff;background:var(--accent);color:#fff;color:var(--on-accent);font-weight:600}.setting{display:flex;flex-direction:column;gap:6px}.setting.check{align-items:flex-start;cursor:pointer;flex-direction:row;gap:12px}.setting.check input[type=checkbox]{accent-color:#4f7dff;accent-color:var(--accent);flex:none;height:18px;margin:1px 0 0;width:18px}.setting.check>span{display:flex;flex-direction:column;gap:2px;min-width:0}.setting-label{font-size:14px;font-weight:600}.setting-help{color:#e3e9ff99;color:var(--muted);font-size:13px;font-size:var(--fs-sm);line-height:1.45}.volume-value{font-feature-settings:"tnum";font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono);font-variant-numeric:tabular-nums}.sound-state{align-items:center;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;flex-wrap:wrap;font-size:13px;font-size:var(--fs-sm);gap:10px;padding:10px 12px}.sound-state.running{border-color:#3ddc8473;color:#3ddc84;color:var(--success)}.sound-state.suspended{border-color:#ffd16673;color:#ffd166;color:var(--warning)}.sound-state.failed{color:#ff6b7a;color:var(--danger)}.note{border:1px dashed #8cb4ff7a;border:1px dashed var(--border-strong);border-radius:10px;border-radius:var(--r-md);color:#e3e9ff99;color:var(--muted);font-size:13px;font-size:var(--fs-sm);line-height:1.45;padding:10px 12px}.danger-zone{border-color:#ff6b7a59;box-shadow:none;display:flex;flex-direction:column;gap:8px}.danger-zone .confirm{background:#d9404f1f;border-radius:10px;border-radius:var(--r-md);padding:8px 10px}.about-list{grid-gap:8px 16px;display:grid;font-size:14px;gap:8px 16px;grid-template-columns:-webkit-max-content minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);margin:0}.about-list dt{color:#e3e9ff99;color:var(--muted)}.about-list dd{margin:0;overflow-wrap:anywhere}.about-list a{color:#8fb3ff;color:var(--cross)}.about-list code{color:#e3e9ff;color:var(--text);font-family:Consolas,Cascadia Mono,Menlo,Courier New,monospace;font-family:var(--mono)}a.btn{text-decoration:none}.padmap-wrap{align-items:center;background:#04060d;background:var(--background);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:6px;padding:10px}.padmap{display:block;height:auto;max-width:520px;-webkit-user-select:none;user-select:none;width:100%}.padmap text{text-anchor:middle;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-family:var(--font);pointer-events:none}.pm-body{fill:#111b3a;fill:var(--surface-2);stroke:#8cb4ff7a;stroke:var(--border-strong);stroke-width:1.5}.pm-ring{fill:#0a1128;fill:var(--surface);stroke:#80aaff33;stroke:var(--border)}.pm-brand{fill:#e3e9ff99;fill:var(--muted);font-size:11px;letter-spacing:.3em}.pm-btn circle,.pm-btn path,.pm-btn rect{fill:#18244a;fill:var(--surface-3);stroke:#8cb4ff7a;stroke:var(--border-strong);stroke-width:1.2}.pm-btn text{fill:#e3e9ff;fill:var(--text);font-size:12px;font-weight:600}.pm-face text{font-size:17px}.pm-face.triangle text{fill:#4fd1a5;fill:var(--triangle)}.pm-face.circle text{fill:#ff6b7a;fill:var(--circle)}.pm-face.cross text{fill:#8fb3ff;fill:var(--cross)}.pm-face.square text{fill:#ff8fd8;fill:var(--square)}.pm-small{font-size:11px}.padmap .pm-tiny{fill:#e3e9ff99;fill:var(--muted);font-size:8px;font-weight:400;letter-spacing:.1em}.pm-btn.on circle,.pm-btn.on path,.pm-btn.on rect{fill:#4f7dff;fill:var(--accent);stroke:#fff}.pm-btn.on text{fill:#fff}.pm-face.on.triangle circle{fill:#4fd1a5;fill:var(--triangle)}.pm-face.on.circle circle{fill:#ff6b7a;fill:var(--circle)}.pm-face.on.cross circle{fill:#8fb3ff;fill:var(--cross)}.pm-face.on.square circle{fill:#ff8fd8;fill:var(--square)}.pm-face.on text{fill:#06081a}.pm-well{fill:#04060d;fill:var(--background)}.pm-cap,.pm-well{stroke:#8cb4ff7a;stroke:var(--border-strong)}.pm-cap{fill:#18244a;fill:var(--surface-3);stroke-width:1.2}.pm-stick.on .pm-cap{fill:#4f7dff;fill:var(--accent);stroke:#fff}.pm-cap-label{fill:#e3e9ff99;fill:var(--muted);font-size:10px}.pm-stick.on .pm-cap-label{fill:#fff}.pickable{cursor:pointer}.pickable:hover circle,.pickable:hover path,.pickable:hover rect{stroke:#4f7dff;stroke:var(--accent);stroke-width:2}.pm-btn.waiting circle,.pm-btn.waiting path,.pm-btn.waiting rect,.pm-stick.waiting .pm-cap{stroke:#ffd166;stroke:var(--warning);stroke-width:2.5}.padmap-caption{min-height:1.5em;text-align:center}.stats{pointer-events:none!important;z-index:3}@media (max-width:760px){.home-grid,.lobby-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){:root{--topbar-h:44px}.hud{padding:0 8px}.brand{gap:8px;padding:4px 2px}.brand-name{font-size:12px;letter-spacing:.16em}.hud-actions{gap:4px}.hud-btn{padding:0 8px}.tb-label{display:none}.tb-label.keep{display:inline;font-size:12px}.home-inner{gap:14px;justify-content:flex-start;padding:62px 16px 20px;padding:calc(var(--topbar-h) + 14px) 16px 20px}.logo-xl{font-size:40px}.home-title{font-size:30px;letter-spacing:.22em;text-indent:.22em}.home-actions{grid-template-columns:minmax(0,1fr)}.player-card{gap:12px;padding:14px}.player-card .avatar.lg{font-size:22px;height:52px;width:52px}.player-name{font-size:18px;font-size:var(--fs-lg)}.modal-backdrop,.panel-backdrop{align-items:stretch;padding:0}.modal,.panel{border:none;border-radius:0;height:100%;max-height:none;max-width:none;width:100%}.panel-body,.tab-body{padding:12px 16px}.tabs{padding:8px 16px 0}.modal-foot,.panel-foot{padding:10px 16px}.bind-row{grid-template-columns:30px minmax(0,1fr) 120px 28px}.seat-row select{flex:1 1 180px;min-width:0}.stats{font-size:11px}.toasts{align-items:stretch;bottom:8px;left:8px;max-width:none;right:8px}.toast{width:auto}.lobby-me{gap:10px;padding:10px 12px}.lobby-me .avatar.lg{font-size:20px;height:44px;width:44px}.seat .avatar.lg{font-size:20px;height:48px;width:48px}.code.huge{font-size:24px}.room-code-share{align-items:flex-start}.room-code-share .link{text-align:left}.chat-lines{height:200px}.match-bar{border-radius:14px;border-radius:var(--r-lg);bottom:8px;font-size:12px;gap:2px 10px;max-width:calc(100vw - 16px);padding:4px 8px}.mb-name{max-width:90px}.match-end-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.match-end-title{font-size:18px;font-size:var(--fs-lg)}.panel.match-end .panel-foot .btn{flex:1 1 auto}}@media (max-width:400px){.brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.brand{flex:0 1 auto}.tb-label.keep{max-width:64px;overflow:hidden;text-overflow:ellipsis}}@media (max-width:640px){.settings-layout{flex-direction:column}.settings-nav{grid-gap:4px;border-bottom:1px solid #80aaff33;border-bottom:1px solid var(--border);border-right:none;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding:8px 16px;width:auto}.settings-nav-item{font-size:13px;gap:6px;justify-content:center;padding:7px 4px}.settings-body{padding:12px 16px 16px}.seg{display:flex;width:100%}.seg-btn{flex:1 1;padding:6px}.about-list{gap:2px;grid-template-columns:minmax(0,1fr)}.about-list dd{margin-bottom:8px}}.notice-banner{align-items:flex-start;background:linear-gradient(90deg,#ffd16629,#ffd1660d);border:1px solid #ffd16673;border-radius:10px;border-radius:var(--r-md);color:#e3e9ff;color:var(--text);display:flex;font-size:13px;font-size:var(--fs-sm);gap:10px;line-height:1.45;min-width:0;padding:9px 10px 9px 14px}.notice-banner.one-line{align-items:center}.notice-icon{flex:none}.notice-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.notice-banner.one-line .notice-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-banner .icon-btn{flex:none}.panel.community{width:min(860px,100%)}.community-body{display:flex;flex-direction:column;font-size:13px;font-size:var(--fs-sm);gap:12px}.community-section p{line-height:1.45;margin:4px 0 0}.discord-card{background:linear-gradient(160deg,#5865f24d,#0a1128 62%);background:linear-gradient(160deg,#5865f24d,var(--surface) 62%);border-color:#8c96ff8c;display:flex;flex-direction:column;gap:12px}.discord-card.unset{background:#0a1128;background:var(--surface);border-color:#80aaff33;border-color:var(--border);border-style:dashed}.discord-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.discord-mark{align-items:center;background:#5865f2;border-radius:12px;display:inline-flex;flex:none;font-size:22px;height:44px;justify-content:center;width:44px}.discord-card.unset .discord-mark{background:#18244a;background:var(--surface-3);filter:grayscale(.7)}.discord-head .stack{flex:1 1 160px}.discord-name{font-size:18px;font-size:var(--fs-lg);font-weight:600;overflow-wrap:anywhere}.discord-join{box-sizing:border-box;flex:none;text-decoration:none}.discord-unset{line-height:1.45;margin:0}.steps{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.step{grid-gap:6px 12px;align-items:center;background:#04060d59;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:grid;gap:6px 12px;grid-template-columns:26px minmax(0,1fr) auto;min-width:0;padding:8px 10px}.step .badge,.step .btn{justify-self:end;margin-left:0}.step-no{align-items:center;background:#4f7dff;background:var(--accent);border-radius:50%;color:#fff;color:var(--on-accent);display:inline-flex;flex:none;font-size:13px;font-weight:700;height:26px;justify-content:center;width:26px}.members,.recent{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0;padding:0}.member{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;gap:12px;min-width:0;padding:8px 10px}.member.online{border-color:#3ddc8459}.member-avatar{display:inline-flex;flex:none;position:relative}.presence-dot{background:#18244a;background:var(--surface-3);border:2px solid #111b3a;border:2px solid var(--surface-2);border-radius:50%;bottom:-2px;height:11px;position:absolute;right:-2px;width:11px}.presence-dot.free{background:#3ddc84;background:var(--success)}.presence-dot.room{background:#ffd166;background:var(--warning)}.presence-dot.match{background:#ff6b7a;background:var(--danger)}.member-main{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.member-name{font-size:15px;font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-status{color:#e3e9ff99;color:var(--muted);font-size:12px}.member-status.free{color:#3ddc84;color:var(--success)}.member-status.room{color:#ffd166;color:var(--warning)}.member-status.match{color:#ff8a8a;font-weight:600}.member-stats{align-items:flex-end;display:flex;flex:none;flex-direction:column;font-size:12px;gap:2px;text-align:right}.members-note{margin-top:8px!important}.recent-match{grid-gap:2px 12px;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:grid;gap:2px 12px;grid-template-areas:"vs meta" "vs reason";grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}.recent-match,.recent-vs{align-items:center;min-width:0}.recent-vs{display:flex;flex-wrap:wrap;gap:6px;grid-area:vs}.recent-vs b{max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-meta{grid-area:meta}.recent-meta,.recent-reason{font-size:12px;text-align:right}.recent-reason{grid-area:reason}.checklist{display:flex;flex-direction:column;gap:4px;line-height:1.45;margin:6px 0 8px;padding-left:22px}.checklist .badge{margin-left:8px}.invite-friend{color:#e3e9ff;color:var(--text);margin-top:10px!important}@media (max-width:640px){.discord-join{justify-content:center;width:100%}.step{grid-template-columns:26px minmax(0,1fr)}.step .badge,.step .btn{grid-column:2;justify-self:start}.recent-match{grid-template-areas:"vs" "meta" "reason";grid-template-columns:minmax(0,1fr)}.recent-meta,.recent-reason{text-align:left}.recent-vs b{max-width:8em}}.hud-watchers{border-color:#ff6b7a8c;color:#e3e9ff;color:var(--text)}.hud-watchers .tb-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.mb-watchers{background:#0000;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-pill);color:#e3e9ff;color:var(--text);cursor:pointer;font:inherit;padding:2px 8px}.mb-watchers:hover{background:#18244a;background:var(--surface-3);border-color:#8cb4ff7a;border-color:var(--border-strong)}.mb-watchers:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.friend.playing .badge{white-space:nowrap}.friend:disabled{cursor:default;opacity:.6}.watch{background:#000;color:#e3e9ff;color:var(--text);display:grid;grid-template-areas:"head head" "stage chat";grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr);inset:0;position:fixed;z-index:50}.watch-head{background:#080e28f7;background:var(--panel);border-bottom:1px solid #80aaff33;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 12px;grid-area:head;padding:8px 12px}.watch-head,.watch-who{align-items:center;min-width:0}.watch-who{display:inline-flex;gap:8px}.watch-name{max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-live{letter-spacing:.08em}.watch-numbers{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:13px;font-size:var(--fs-sm);gap:6px 12px;min-width:0}.watch-head-end{display:inline-flex;gap:8px;margin-left:auto}.watch-stage{align-items:center;background:#000;display:flex;grid-area:stage;justify-content:center;min-height:0;min-width:0;position:relative}.watch-video{background:#000;display:block;height:100%;object-fit:contain;width:100%}.watch-overlay{background:#03040a8c;box-sizing:border-box;inset:0;justify-content:center;padding:16px;position:absolute}.watch-card,.watch-overlay{align-items:center;display:flex}.watch-card{background:#080e28f7;background:var(--panel);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);box-shadow:0 30px 80px #0009,0 0 0 1px #00000080;box-shadow:var(--shadow-2);flex-direction:column;gap:10px;max-width:360px;padding:18px 22px;text-align:center}.watch-card-title{font-size:18px;font-size:var(--fs-lg);font-weight:600}.watch-chat{background:#0a1128;background:var(--surface);border-left:1px solid #80aaff33;border-left:1px solid var(--border);box-sizing:border-box;display:flex;flex-direction:column;gap:8px;grid-area:chat;min-height:0;padding:10px 12px 12px}.watch-chat .chat-lines{flex:1 1 auto;height:auto;min-height:80px}@media (max-width:760px){.watch{grid-template-areas:"head" "stage" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.watch-stage{aspect-ratio:4/3;max-height:56vh}.watch-chat{border-left:0;border-top:1px solid #80aaff33;border-top:1px solid var(--border)}.watch-head{gap:6px 10px;padding:6px 10px}.watch-numbers{font-size:11px;font-size:var(--fs-xs);order:10;width:100%}}.account-body{gap:12px}.account-reason{font-size:15px;font-size:var(--fs-md);line-height:1.45;margin:0}.account-tabs{align-self:stretch;display:flex}.account-tabs .seg-btn{flex:1 1;line-height:1.25;text-align:center;white-space:normal}.account-form{gap:4px}.account-form .field{margin:6px 0}.account-form .btn.primary{align-self:stretch;justify-content:center;margin-top:6px}.account-note{margin:2px 0 0}.account-offline{margin:0;text-align:center}.field-error{color:#ff8a8a;font-size:12px}.input[aria-invalid=true]{border-color:#ff8a8ab3}.hud-account .avatar.sm{box-shadow:none;font-size:11px;height:22px;width:22px}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.account-menu-wrap{position:relative}.account-menu{background:#0a1128;background:var(--surface);border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--r-md);box-shadow:0 30px 80px #0009,0 0 0 1px #00000080;box-shadow:var(--shadow-2);max-width:calc(100vw - 16px);min-width:200px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:30}.account-menu,.account-menu-head{display:flex;flex-direction:column;gap:2px}.account-menu-head{border-bottom:1px solid #80aaff33;border-bottom:1px solid var(--border);margin-bottom:4px;overflow-wrap:anywhere;padding:6px 8px 8px}.account-menu-item{background:none;border:none;border-radius:6px;border-radius:var(--r-sm);color:#e3e9ff;color:var(--text);cursor:pointer;font:inherit;font-size:13px;font-size:var(--fs-sm);padding:8px 10px;text-align:left}.account-menu-item:focus-visible,.account-menu-item:hover{background:#111b3a;background:var(--surface-2);outline:none}.account-id{align-items:center;display:flex;gap:16px}.account-list{flex:1 1;min-width:0}.account-bio{box-sizing:border-box;font:inherit;min-height:48px;resize:vertical;width:100%}.account-password .field{max-width:320px}.account-cta{display:flex;flex-direction:column;gap:8px}@media (max-width:640px){.account-name{max-width:72px}.account-id{align-items:flex-start}.account-id .avatar.lg{font-size:20px;height:48px;width:48px}}.friends-panel{gap:10px}.friend-search,.friends-panel{display:flex;flex-direction:column}.friend-search{background:#04060d59;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);gap:6px;padding:10px}.friend-search .input{box-sizing:border-box;width:100%}.friend-search .members{margin-top:2px}.friend-block{display:flex;flex-direction:column;gap:2px}.friend-block .members{margin-top:4px}.member.request{border-color:#ffd16666}.member.self{background:#04060d59;border-style:dashed}.friend-actions,.request-actions{flex:none;flex-wrap:nowrap;gap:6px}.member .field-error{font-size:12px}.home-quiet .badge.danger{margin-left:6px}@media (max-width:640px){.friend-list .member,.member.request{flex-wrap:wrap}.friend-list .friend-actions,.member.request .request-actions{justify-content:flex-end;width:100%}.friend-list .member-stats{flex-direction:row;gap:8px}}.requests-card{background:linear-gradient(160deg,#4fd1a51a,#0a1128 55%);background:linear-gradient(160deg,#4fd1a51a,var(--surface) 55%);display:flex;flex-direction:column;gap:12px}.requests-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between}.requests-card-head .stack{flex:1 1 220px}.requests-card-title{font-size:18px;font-size:var(--fs-lg);font-weight:600;line-height:1.25}.btn.ghost.requests-open{flex:none}.requests-top{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.requests-top-item{align-items:center;background:#04060d59;border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;font-size:13px;font-size:var(--fs-sm);gap:8px;min-width:0;padding:7px 10px}.requests-top-item .badge{flex:none;margin-left:0}.requests-rank{align-items:center;background:#18244a;background:var(--surface-3);border-radius:50%;color:#e3e9ff99;color:var(--muted);display:inline-flex;flex:none;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.requests-top-item:first-child .requests-rank{background:#4fd1a5;background:var(--triangle);color:#06120d}.requests-top-title{flex:1 1 auto;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requests-top-votes{font-feature-settings:"tnum";color:#4fd1a5;color:var(--triangle);flex:none;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600}.requests-top-empty{margin:0}.platform-tile{align-items:center;background:#111b3a;background:var(--surface-2);border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:6px;border-radius:var(--r-sm);box-sizing:border-box;color:#e3e9ff;color:var(--text);display:inline-flex;flex:none;font-size:11px;font-weight:600;height:30px;justify-content:center;letter-spacing:.1em;min-width:46px;padding:0 6px}.platform-tile.sm{font-size:10px;height:22px;letter-spacing:.06em;min-width:38px}.platform-tile.p-ps2{border-color:#4f7dffb3;color:#8fb3ff;color:var(--cross)}.platform-tile.p-ps1{border-color:#c8c8d28c;color:#d6d9e6}.platform-tile.p-snes{border-color:#b08cff99;color:#c7b2ff}.platform-tile.p-n64{border-color:#4fd1a599;color:#4fd1a5;color:var(--triangle)}.platform-tile.p-gba{border-color:#ff8fd899;color:#ff8fd8;color:var(--square)}.platform-tile.p-other{color:#e3e9ff99;color:var(--muted)}.panel.requests{width:min(860px,100%)}.requests-body{display:flex;flex-direction:column;font-size:13px;font-size:var(--fs-sm);gap:12px}.requests-next{background:#4fd1a51a;border:1px solid #4fd1a573;border-radius:10px;border-radius:var(--r-md);color:#e3e9ff;color:var(--text);font-weight:600;margin:0;padding:10px 12px}.request-form{display:flex;flex-direction:column;gap:4px}.request-form .field{margin:6px 0}.request-form .input,.request-form .select{box-sizing:border-box;width:100%}.request-form-grid{grid-gap:0 12px;display:grid;gap:0 12px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.request-form-foot{gap:10px 14px;margin-top:4px}.request-msg{background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);line-height:1.4;margin:6px 0 0;padding:8px 10px}.request-msg.created{background:#3ddc841a;border-color:#3ddc8480;color:#3ddc84;color:var(--success)}.request-msg.merged{background:#4f7dff2e;background:var(--accent-soft);border-color:#4f7dff8c}.request-msg.limit{background:#ffd16614;border-color:#ffd16680;color:#ffd166;color:var(--warning)}.request-msg.error{background:#d9404f1f;border-color:#ff6b7a8c;color:#ffb3bb}.requests-list-card .seg{flex:none}.requests-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:10px 0 0;padding:0}.request-item{align-items:flex-start;background:#111b3a;background:var(--surface-2);border:1px solid #80aaff33;border:1px solid var(--border);border-radius:10px;border-radius:var(--r-md);display:flex;gap:12px;min-width:0;padding:10px;transition:border-color .3s ease,box-shadow .3s ease}.request-item.mine{border-color:#4f7dff73}.request-item.flash{border-color:#3ddc84;border-color:var(--success);box-shadow:0 0 0 2px #3ddc8459}.request-item[data-status=declined],.request-item[data-status=done]{opacity:.85}.vote-btn{align-items:center;background:#0a1128;background:var(--surface);border:1px solid #8cb4ff7a;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--r-md);box-sizing:border-box;color:#e3e9ff;color:var(--text);cursor:pointer;display:inline-flex;flex:none;flex-direction:column;font:inherit;gap:1px;justify-content:center;min-height:52px;padding:4px;transition:background .15s ease,border-color .15s ease;width:52px}.vote-btn:hover:not(:disabled){background:#18244a;background:var(--surface-3);border-color:#4f7dff;border-color:var(--accent)}.vote-btn:focus-visible{box-shadow:0 0 0 3px #4f7dff99;box-shadow:var(--focus);outline:none}.vote-btn.on{background:linear-gradient(180deg,#4f7dff,#2f58d8);background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:#8cb4ffb3;color:#fff;color:var(--on-accent)}.vote-btn:disabled{cursor:default;opacity:.7}.vote-arrow{font-size:14px;line-height:1}.vote-btn:not(.on) .vote-arrow{color:#e3e9ff99;color:var(--muted)}.vote-count{font-feature-settings:"tnum";font-size:15px;font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.request-item .platform-tile{margin-top:2px}.request-main{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}.request-head{align-items:center;display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0}.request-head .badge{margin-left:0}.request-title{font-size:15px;font-size:var(--fs-md);font-weight:600;overflow-wrap:anywhere}.request-note{color:#e3e9ff;color:var(--text);line-height:1.4;opacity:.9}.request-answer,.request-meta,.request-note{overflow-wrap:anywhere}.request-answer{background:#04060d59;border-left:3px solid #4f7dff;border-left:3px solid var(--accent);border-radius:0 6px 6px 0;border-radius:0 var(--r-sm) var(--r-sm) 0;padding:4px 8px}.request-item[data-status=declined] .request-answer{border-left-color:#ffd166;border-left-color:var(--warning)}.request-item[data-status=done] .request-answer{border-left-color:#3ddc84;border-left-color:var(--success)}@media (max-width:860px){.requests-top{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.request-form-grid{grid-template-columns:minmax(0,1fr)}.requests-card-head .btn.ghost.requests-open{justify-content:center;width:100%}.request-item{gap:10px;padding:8px}.request-item .platform-tile{font-size:10px;height:24px;letter-spacing:.06em;min-width:38px}.vote-btn{min-height:46px;width:46px}}@media (prefers-reduced-motion:reduce){.request-item,.vote-btn{transition:none}}