@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(./PressStart2P-Regular-_wFEWmAB.woff2) format("woff2"),url(./PressStart2P-Regular-KLytu4cr.woff) format("woff")}:root{--neon-pink: #ff2e88;--neon-cyan: #21e6ff;--neon-red: #ff2d4b;--neon-amber: #ffb020;--hp-green: #33e07a;--hp-low: #ff3b3b;--stam-blue: #3aa0ff;--ink: #05060d;--panel: rgba(8, 10, 22, .72);--gold: #e6b93f;--gold-dim: #a8842a}*{margin:0;padding:0;box-sizing:border-box}button{font-family:"Press Start 2P",ui-monospace,monospace;line-height:1.5}#hub-frame .hub-pane,#hub-frame .hub-picker-body,#rules-frame .rules-scroll,#legal-frame .rules-scroll,.chess-moves,.chess-inspector{scrollbar-width:thin;scrollbar-color:rgba(33,230,255,.35) rgba(8,10,22,.6)}#hub-frame .hub-pane::-webkit-scrollbar,#hub-frame .hub-picker-body::-webkit-scrollbar,#rules-frame .rules-scroll::-webkit-scrollbar,#legal-frame .rules-scroll::-webkit-scrollbar,.chess-moves::-webkit-scrollbar,.chess-inspector::-webkit-scrollbar{width:8px}#hub-frame .hub-pane::-webkit-scrollbar-track,#hub-frame .hub-picker-body::-webkit-scrollbar-track,#rules-frame .rules-scroll::-webkit-scrollbar-track,#legal-frame .rules-scroll::-webkit-scrollbar-track,.chess-moves::-webkit-scrollbar-track,.chess-inspector::-webkit-scrollbar-track{background:#080a1699;border-radius:4px}#hub-frame .hub-pane::-webkit-scrollbar-thumb,#hub-frame .hub-picker-body::-webkit-scrollbar-thumb,#rules-frame .rules-scroll::-webkit-scrollbar-thumb,#legal-frame .rules-scroll::-webkit-scrollbar-thumb,.chess-moves::-webkit-scrollbar-thumb,.chess-inspector::-webkit-scrollbar-thumb{background:#21e6ff59;border-radius:4px}#hub-frame .hub-pane::-webkit-scrollbar-thumb:hover,#hub-frame .hub-picker-body::-webkit-scrollbar-thumb:hover,#rules-frame .rules-scroll::-webkit-scrollbar-thumb:hover,#legal-frame .rules-scroll::-webkit-scrollbar-thumb:hover,.chess-moves::-webkit-scrollbar-thumb:hover,.chess-inspector::-webkit-scrollbar-thumb:hover{background:#21e6ff99}html,body{width:100%;height:100%;overflow:hidden;background:var(--ink)}#app{position:fixed;inset:0;display:flex;flex-direction:column}#app-header{flex:0 0 48px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 14px;z-index:50;pointer-events:none}#app-header>*{pointer-events:auto}#app-stage{flex:1 1 auto;position:relative;overflow:hidden}#game{display:block;width:100%;height:100%}.net-backdrop{position:absolute;inset:0;z-index:13}.net-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:14}.net-hud{position:absolute;inset:0;pointer-events:none;z-index:16;font-family:Segoe UI,Helvetica Neue,system-ui,sans-serif;color:#eaf2ff}#hud{position:absolute;inset:0;pointer-events:none;font-family:Segoe UI,Helvetica Neue,system-ui,sans-serif;color:#eaf2ff;user-select:none;-webkit-user-select:none}#crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);opacity:.9}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#ffffffd9;box-shadow:0 0 4px #21e6ffe6}#crosshair:before{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}#crosshair:after{top:50%;left:0;height:2px;width:100%;transform:translateY(-50%)}#crosshair.hit{filter:drop-shadow(0 0 6px var(--neon-pink))}#crosshair.hidden{display:none}#scope{--scope-tint: var(--neon-pink);position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%);display:none}#scope.show{display:block}#scope.on-target{--scope-tint: var(--neon-red)}#scope .scope-ring,#scope .scope-ring-outer{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--scope-tint);box-shadow:0 0 8px var(--scope-tint)}#scope .scope-ring{width:120px;height:120px}#scope .scope-ring-outer{width:150px;height:150px;opacity:.35;display:none}#scope .scope-tick{position:absolute;left:50%;top:50%;background:var(--scope-tint);box-shadow:0 0 5px var(--scope-tint)}#scope .scope-tick.n{width:var(--tw);height:var(--len);transform:translate(-50%,calc(-50% - var(--off)))}#scope .scope-tick.s{width:var(--tw);height:var(--len);transform:translate(-50%,calc(-50% + var(--off)))}#scope .scope-tick.e{height:var(--tw);width:var(--len);transform:translate(calc(-50% + var(--off)),-50%)}#scope .scope-tick.w{height:var(--tw);width:var(--len);transform:translate(calc(-50% - var(--off)),-50%)}#scope .scope-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}#scope.rifle{--tw: 2px;--len: 20px;--off: 41px}#scope.rifle .scope-center{width:16px;height:16px}#scope.rifle .scope-center:before,#scope.rifle .scope-center:after{content:"";position:absolute;left:50%;top:50%;background:var(--scope-tint);box-shadow:0 0 5px var(--scope-tint)}#scope.rifle .scope-center:before{width:2px;height:16px;transform:translate(-50%,-50%)}#scope.rifle .scope-center:after{height:2px;width:16px;transform:translate(-50%,-50%)}#scope.assault{--tw: 4px;--len: 26px;--off: 60px}#scope.assault .scope-ring{border-width:4px}#scope.assault .scope-ring-outer{display:block}#scope.assault .scope-center{width:7px;height:7px;border-radius:50%;background:var(--scope-tint);box-shadow:0 0 6px var(--scope-tint)}#reload-pie{position:absolute;left:50%;top:58%;width:117px;height:117px;transform:translate(-50%,-50%);border-radius:50%;display:none;align-items:center;justify-content:center;filter:drop-shadow(0 0 6px rgba(33,230,255,.45))}#reload-pie.show{display:flex}#reload-pie .pie-disc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--neon-cyan) 360deg,rgba(255,255,255,.1) 0deg)}#reload-pie .pie-hole{position:absolute;inset:18px;border-radius:50%;background:#060812e6;border:1px solid rgba(255,255,255,.08)}#reload-count{position:relative;font-size:30px;font-weight:800;color:#eaf2ff;font-variant-numeric:tabular-nums;text-shadow:0 0 6px rgba(33,230,255,.6)}#reload-label{position:absolute;bottom:-18px;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--neon-cyan);opacity:.85}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;color:var(--neon-pink);opacity:0;font-weight:700;text-shadow:0 0 8px var(--neon-pink)}#hitmarker.show{animation:hitpop .22s ease-out}@keyframes hitpop{0%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}#resources{position:absolute;left:28px;bottom:28px;width:320px}.bar-row{margin-bottom:10px}.bar-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:.75;margin-bottom:3px;display:flex;justify-content:space-between}.bar-track{height:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:3px;overflow:hidden}.bar-fill{height:100%;width:100%;transition:width .08s linear}#hp-fill{background:linear-gradient(90deg,#1f8f4d,var(--hp-green))}#hp-fill.low{background:linear-gradient(90deg,#a01010,var(--hp-low))}#stam-fill{background:linear-gradient(90deg,#1c5fa8,var(--stam-blue))}#stam-fill.empty{background:#ffffff40}#buffs{position:absolute;left:28px;bottom:120px;display:flex;gap:8px}.buff{display:none;font-size:13px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:6px;background:#06081280;border:1px solid currentColor;text-shadow:0 0 8px currentColor}.buff.show{display:block}.buff.shield{color:var(--neon-cyan)}.buff.damage{color:#ff2d4b}.buff.speed{color:var(--neon-amber)}#pickup-toast{position:absolute;left:50%;top:34%;transform:translate(-50%);font-size:26px;font-weight:800;letter-spacing:3px;opacity:0;pointer-events:none;text-shadow:0 0 18px currentColor}#pickup-toast.show{animation:pickup-pop 1.4s ease-out}#pickup-toast.health{color:var(--hp-green, #2bff9b)}#pickup-toast.shield{color:var(--neon-cyan)}#pickup-toast.damage{color:#ff2d4b}#pickup-toast.speed{color:var(--neon-amber)}#pickup-toast.weapon{color:var(--neon-pink)}@keyframes pickup-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}15%{opacity:1;transform:translate(-50%) scale(1.05)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-12px) scale(1)}}#weapon{position:absolute;left:50%;bottom:22px;transform:translate(-50%);text-align:center;padding:8px 26px 10px;border-radius:12px;background:#0608126b;box-shadow:0 0 0 1px #ffffff0f inset,0 6px 22px #00000059;backdrop-filter:blur(2px)}#weapon-name{font-size:30px;letter-spacing:2px;font-weight:800;text-transform:uppercase;color:var(--neon-cyan);text-shadow:0 0 14px rgba(33,230,255,.6)}#ammo{font-size:62px;font-weight:800;line-height:1;margin-top:2px;text-shadow:0 0 16px rgba(0,0,0,.55)}#ammo .reserve{font-size:30px;opacity:.6;font-weight:600}#weapon-hint{font-size:12px;opacity:.55;letter-spacing:1.5px;margin-top:5px}#reload-note{color:var(--neon-amber);font-size:15px;letter-spacing:3px;height:18px;font-weight:700}#floaters{position:absolute;inset:0;overflow:hidden}.floater{position:absolute;left:0;top:0;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;will-change:transform,opacity}.floater.dmg{font-size:26px;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.9),0 1px 2px #000}.floater.dmg.crit{font-size:36px;color:var(--neon-amber);text-shadow:0 0 14px rgba(255,180,40,.9),0 1px 3px #000}.floater.miss{font-size:22px;letter-spacing:3px;color:#cfe0ff;text-shadow:0 0 8px rgba(0,0,0,.9),0 1px 2px #000}#death-flash{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#ff281e59,#b40000d9)}#enemy-bar{position:absolute;top:22px;left:50%;transform:translate(-50%);width:380px;text-align:center}#enemy-name{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--neon-pink);margin-bottom:4px;text-shadow:0 0 8px rgba(255,46,136,.5)}#enemy-row{display:flex;align-items:center;gap:10px}#enemy-track{flex:1;height:10px;background:#ffffff14;border:1px solid rgba(255,46,136,.4);border-radius:3px;overflow:hidden}#enemy-val{font-size:13px;font-weight:700;color:#ffd0e0;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:62px;text-align:left;text-shadow:0 0 8px rgba(255,46,136,.5)}#enemy-fill{height:100%;width:100%;background:linear-gradient(90deg,#7a0f38,var(--neon-pink));transition:width .1s linear}#damage-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 160px 40px #ff141400;transition:box-shadow .12s ease-out}#damage-vignette.hit{box-shadow:inset 0 0 160px 60px #ff14148c}#center-text{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:192px;font-weight:800;letter-spacing:4px;text-shadow:0 0 24px var(--neon-cyan),0 0 60px rgba(33,230,255,.4);opacity:0}#center-text.show{opacity:1}#center-text.fight{font-family:"Press Start 2P",ui-monospace,monospace;font-size:84px;letter-spacing:2px;color:var(--neon-amber);text-shadow:0 0 30px var(--neon-amber)}.menu-wallpaper,#overlay{background-color:var(--ink);background-image:radial-gradient(circle at 50% 40%,#0a0416bd,#0a041666 45%,#020308a8),linear-gradient(180deg,#04020c00 0% 38%,#04020c57 62%,#03020a4d),url(./ONIB_Wallpaper.web-BO7RdlYZ.jpg);background-size:auto,auto,cover;background-position:center,center,center;background-repeat:no-repeat,no-repeat,no-repeat}#overlay p,#overlay .kicker,#overlay .controls,#overlay .difficulty-label{text-shadow:0 1px 3px rgba(2,2,8,.95),0 0 12px rgba(2,2,8,.75)}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;text-align:center;gap:6px}#overlay.hidden{display:none}#overlay .kicker{font-size:14px;letter-spacing:6px;text-transform:uppercase;color:var(--neon-cyan);opacity:.85}#overlay h1{font-size:64px;font-weight:800;letter-spacing:2px;background:linear-gradient(90deg,var(--neon-pink),var(--neon-cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}#overlay h1.menu-title{font-family:"Press Start 2P",ui-monospace,monospace;font-size:clamp(18px,4.2vw,42px);font-weight:400;letter-spacing:1px;line-height:1.4;max-width:15ch;margin:4px auto 12px}#overlay h1.menu-title.menu-logo-title{max-width:none;margin:0 auto}#overlay .menu-logo{display:block;width:clamp(280px,46vw,460px);height:auto;margin:0 auto}#overlay h1.win,#overlay h1.lose{font-family:"Press Start 2P",ui-monospace,monospace;font-size:clamp(28px,7vw,60px);font-weight:400;letter-spacing:2px;line-height:1.3}#overlay h1.win{background:linear-gradient(90deg,var(--hp-green),var(--neon-cyan));-webkit-background-clip:text;background-clip:text}#overlay h1.lose{background:linear-gradient(90deg,var(--hp-low),var(--neon-amber));-webkit-background-clip:text;background-clip:text}#overlay p{font-size:15px;opacity:.75;max-width:560px;line-height:1.55;margin:4px 0}#overlay .controls{margin-top:18px;display:grid;grid-template-columns:auto auto;gap:6px 22px;font-size:13px;opacity:.7}#overlay .controls b{color:var(--neon-amber);font-weight:700}#overlay .map-picker{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--neon-cyan)}#overlay .map-picker select{pointer-events:auto;background:#0a0e16e6;color:#e6ebf2;border:1px solid var(--neon-cyan);border-radius:6px;padding:6px 12px;font-size:14px;letter-spacing:.5px;text-transform:none;cursor:pointer}#overlay button{pointer-events:auto;margin-top:26px;padding:15px 46px;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink);background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));border:none;border-radius:6px;cursor:pointer;box-shadow:0 0 30px #21e6ff66;transition:transform .1s ease}#overlay button:hover{transform:scale(1.04)}#slice-tag{position:absolute;top:14px;left:18px;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.4}#app-header button{width:34px;height:34px;padding:0;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#eaf2ff;background:#0a0e188c;border:1px solid rgba(33,230,255,.45);border-radius:8px;cursor:pointer;opacity:.55;transition:opacity .15s ease,border-color .15s ease}#app-header button:hover{opacity:1}#header-left{display:flex;align-items:center;gap:20px;margin-right:auto}#header-logo{display:flex;align-items:center;line-height:0;opacity:.92;transition:opacity .15s ease}#header-logo:hover{opacity:1}#header-logo img{height:30px;width:auto;display:block}#app-header #online-id-btn{width:auto;min-width:0;height:34px;padding:0 14px;font-family:Segoe UI,system-ui,sans-serif;font-size:13px;letter-spacing:.2px;opacity:.85;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-header #online-id-btn:hover{opacity:1}#app-header #online-id-btn{display:inline-flex;align-items:center;gap:8px}#app-header .oid-portrait{flex:0 0 auto;width:22px;height:22px;border-radius:6px;object-fit:cover;background:#0a0e1899}#app-header div.oid-portrait{display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",ui-monospace,monospace;font-size:9px;color:#0a0a14;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-pink))}#audio-controls{position:relative;display:flex;align-items:center;gap:8px}.ui-icon{width:18px;height:18px;display:block;flex:none}#audio-settings.open{opacity:1;border-color:var(--neon-cyan)}#audio-mute.muted{border-color:#ff5a5a99;opacity:.9}#audio-panel{position:absolute;top:42px;right:0;width:210px;padding:12px 14px 14px;background:#080a16eb;border:1px solid rgba(33,230,255,.45);border-radius:10px;box-shadow:0 8px 30px #00000080;backdrop-filter:blur(6px);font-family:Segoe UI,system-ui,sans-serif}#audio-panel[hidden]{display:none}.audio-panel-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--neon-cyan);opacity:.85;margin-bottom:10px}.audio-row{display:grid;grid-template-columns:50px 1fr 30px;align-items:center;gap:8px;margin:8px 0;cursor:pointer}.audio-row-label{font-size:12px;color:#cfe0f5}.audio-row output{font-size:11px;color:#9fb4cc;text-align:right;font-variant-numeric:tabular-nums}.audio-row input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:3px;background:#21e6ff40;outline:none}.audio-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--neon-cyan);cursor:pointer;box-shadow:0 0 6px #21e6ffb3}.audio-row input[type=range]::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--neon-cyan);cursor:pointer;box-shadow:0 0 6px #21e6ffb3}#overlay #practice-btn,#overlay #return-menu-btn{margin-top:12px;padding:10px 30px;font-size:14px;color:#eaf2ff;background:#ffffff0f;border:1px solid rgba(33,230,255,.5);box-shadow:none}#overlay #resume-btn,#overlay #multiplayer-btn,#overlay #resume-match-btn{margin-top:12px}#overlay .difficulty{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px}#overlay .difficulty-label{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--neon-cyan);opacity:.8}#overlay .difficulty-options{display:inline-flex;border:1px solid rgba(33,230,255,.5);border-radius:8px;overflow:hidden}#overlay .diff-opt{margin:0;padding:8px 22px;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#cdd6e4;background:#0a0e16b3;border:none;border-right:1px solid rgba(33,230,255,.35);border-radius:0;box-shadow:none;cursor:pointer;transition:background .12s ease,color .12s ease}#overlay .diff-opt:last-child{border-right:none}#overlay .diff-opt:hover{transform:none;background:#21e6ff24}#overlay .diff-opt.active{color:var(--ink);background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink))}#overlay .difficulty-blurb{font-size:13px;opacity:.7;max-width:480px;margin:0;min-height:2.6em}#duel-context{position:absolute;top:78px;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--neon-amber);text-shadow:0 0 10px rgba(255,176,32,.5);white-space:nowrap;opacity:0}#duel-context.show{opacity:.95}#chess-screen{position:absolute;inset:0;z-index:20;display:flex;gap:18px;padding:18px;align-items:flex-start;justify-content:center;pointer-events:auto;color:#f4e9c8;font-family:Segoe UI,system-ui,sans-serif;user-select:none;background:radial-gradient(1200px 800px at 50% -10%,rgba(120,40,160,.3),transparent 60%),#07050cf7}.chess-stage{position:relative;flex:0 0 auto;width:min(88vh,70vw);height:min(88vh,70vw);border-radius:10px;overflow:hidden;box-shadow:0 0 60px #7828a059,inset 0 0 0 1px #0006}.chess-board-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.chess-layer{position:absolute;inset:0;cursor:pointer}.chess-layer .piece{position:absolute;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));z-index:3}.chess-layer .mk{position:absolute;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;z-index:1}.mk-move{background:radial-gradient(circle,rgba(55,224,255,.9) 0 32%,transparent 38%)}.mk-cap{box-shadow:inset 0 0 0 4px #ff5ecbd9;border-radius:8px}.mk-sel{box-shadow:inset 0 0 0 3px #e6b93f,0 0 14px #e6b93f99;border-radius:6px}.mk-last{background:#e6b93f29;box-shadow:inset 0 0 0 2px #e6b93f59;border-radius:6px}.mk-chk{box-shadow:inset 0 0 0 4px #ff3c3ce6;border-radius:8px}.chess-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.chess-fx .flyer{position:absolute;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));z-index:6;will-change:left,top,height}.chess-fx .boom{position:absolute;width:0;height:0;transform:translate(-50%,-50%);pointer-events:none}.chess-fx .boom>*{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none}.chess-fx .boom-flash{border-radius:50%;background:radial-gradient(circle,#ffffff 0%,#ffe08a 22%,#ff8a2a 46%,rgba(255,94,203,.55) 70%,transparent 76%);animation:boom-flash .46s ease-out forwards}@keyframes boom-flash{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}55%{opacity:1}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}.chess-fx .boom-ring{border-radius:50%;border:3px solid rgba(255,190,90,.9);box-shadow:0 0 14px #ff963cb3;animation:boom-ring .56s ease-out forwards}@keyframes boom-ring{0%{transform:translate(-50%,-50%) scale(.12);opacity:.9}to{transform:translate(-50%,-50%) scale(1.7);opacity:0}}.chess-fx .boom-shard{border-radius:2px;animation:boom-shard var(--d) ease-out forwards}@keyframes boom-shard{0%{transform:translate(-50%,-50%) translate(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) translate(var(--tx),var(--ty)) scale(.3);opacity:0}}@keyframes chess-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}.chess-stage.shake{animation:chess-shake .34s ease}.chess-panel{flex:0 0 300px;display:flex;flex-direction:column;gap:12px;background:#181021d1;border:1px solid rgba(230,185,63,.35);border-radius:12px;padding:16px;height:min(88vh,70vw)}.chess-panel h1{margin:0;font-family:"Press Start 2P",ui-monospace,monospace;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.5px;color:#e6b93f;text-shadow:0 0 12px rgba(230,185,63,.5);text-align:center}.chess-clocks{display:flex;gap:8px}.chess-clocks .clock{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 6px}.chess-clocks .side{font-size:10px;letter-spacing:1.5px;color:#b79bd6}.chess-clocks .time{font-family:ui-monospace,Menlo,monospace;font-size:20px;font-weight:700}.chess-clocks .clock.ticking{border-color:#e6b93fb3;box-shadow:0 0 10px #e6b93f40}.chess-clocks .clock.low .time{color:#ff5b5b}.chess-status{font-size:14px;padding:10px 12px;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.chess-status .dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor;background:currentColor}.chess-status .dot.turn-w{color:#e6b93f}.chess-status .dot.turn-b{color:#b58cf0}.chess-warning{display:none;font-size:12.5px;font-weight:700;line-height:1.45;padding:10px 12px;border-radius:8px;background:#ff282824;border:1px solid rgba(255,60,60,.65);color:#ff8a8a;animation:warn-pulse 1.2s ease-in-out infinite}.chess-warning.show{display:block}.chess-warning.friendly{background:#37e0ff1a;border-color:#37e0ff8c;color:#7deaff;animation:none}@keyframes warn-pulse{0%,to{box-shadow:0 0 #ff3c3c00}50%{box-shadow:0 0 18px #ff3c3c73}}.chess-moves{flex:1 1 auto;overflow-y:auto;min-height:60px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;background:#0000004d;border-radius:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.06)}.chess-inspector{flex:0 0 auto;height:248px;overflow-y:auto;background:#00000052;border:1px solid rgba(230,185,63,.28);border-radius:8px;padding:10px 12px}.chess-inspector .insp-empty{font-size:12px;color:#8a77aa;text-align:center;padding:14px 4px}.chess-inspector .insp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.chess-inspector .insp-sprite{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.chess-inspector .insp-name{font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.5px}.chess-inspector .insp-name.gold{color:#e6b93f}.chess-inspector .insp-name.purple{color:#cbb0f2}.chess-inspector .insp-sub{font-size:11px;color:#b79bd6;letter-spacing:1px;text-transform:uppercase}.chess-inspector .insp-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:3px 0;border-top:1px solid rgba(255,255,255,.06)}.chess-inspector .insp-row .k{color:#8a95c0}.chess-inspector .insp-row .v{color:#f4e9c8;text-align:right;font-weight:600}.chess-inspector .insp-weapons{margin-top:6px}.chess-inspector .insp-weapons .k{font-size:11px;color:#8a95c0;letter-spacing:.5px}.chess-inspector .insp-weapons ul{list-style:none;margin:4px 0 0;padding:0}.chess-inspector .insp-weapons li{font-size:12px;color:#d8e3ff;padding:2px 0 2px 14px;position:relative}.chess-inspector .insp-weapons li:before{content:"▸";position:absolute;left:0;color:#21e6ff;font-size:10px}.chess-moves .mv{display:flex;gap:6px;padding:1.5px 0;align-items:baseline;line-height:1.5}.chess-moves .num{color:#7c6aa0;width:26px;text-align:right}.chess-moves .w,.chess-moves .b{flex:1 1 0;min-width:0}.chess-moves .w{color:#f4e9c8}.chess-moves .b{color:#cbb0f2}.chess-moves .mvtxt{display:inline-block;padding:0 4px;border-radius:4px;cursor:default}.chess-moves .mvtxt.cap{font-weight:600}.chess-moves .mvtxt.last{background:#e6b93f33;box-shadow:inset 0 0 0 1px #e6b93f73}.chess-moves .fig{font-size:14px;line-height:1}.chess-moves .duel-win{color:#33e07a}.chess-moves .duel-loss{color:#ff5b5b;font-weight:700}.chess-moves .duel-skip{color:#8a95a8}.chess-row{display:flex;gap:8px}.chess-row button{flex:1 1 auto;background:linear-gradient(180deg,#e6b93f2e,#e6b93f0f);color:#f4e9c8;border:1px solid rgba(230,185,63,.35);border-radius:8px;padding:8px 10px;font-size:13px;cursor:pointer;transition:.12s}.chess-row button:hover{border-color:#e6b93f;box-shadow:0 0 10px #e6b93f4d}.chess-foot{font-size:11px;color:#8a77aa;text-align:center}.chess-promo,.chess-over{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#05030ab3;z-index:10;backdrop-filter:blur(3px)}.chess-promo.show,.chess-over.show{display:flex}.chess-promo .box,.chess-over .box{background:#181021eb;border:1px solid #e6b93f;border-radius:12px;padding:18px 22px;text-align:center}.chess-promo h3{margin:0 0 12px;color:#e6b93f;font-size:12px;font-family:"Press Start 2P",ui-monospace,monospace;font-weight:400;line-height:1.5;letter-spacing:.5px}.chess-promo .opts{display:flex;gap:10px}.chess-promo img{width:64px;height:auto;cursor:pointer;padding:6px;border-radius:8px;border:1px solid transparent}.chess-promo img:hover{border-color:#37e0ff;background:#37e0ff1f}.chess-contest{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#05030ab3;z-index:10;backdrop-filter:blur(3px)}.chess-contest.show{display:flex}.chess-contest .box{background:#181021f0;border:1px solid #e6b93f;border-radius:12px;padding:20px 26px;text-align:center;max-width:480px}.chess-contest .contest-kicker{font-family:"Press Start 2P",ui-monospace,monospace;font-size:12px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;color:#ff8a2a;text-shadow:0 0 12px rgba(255,138,42,.6)}.chess-contest .contest-line{margin:8px 0 14px;font-size:14.5px;line-height:1.5;color:#f0e6ff}.contest-cards{display:flex;align-items:stretch;gap:12px;justify-content:center;margin-bottom:14px}.contest-cards .card{flex:1;min-width:150px;padding:10px 12px;border-radius:10px;background:#0a0612a6;border:1px solid rgba(230,185,63,.35)}.contest-cards .card.atk{border-color:#b58cf066}.contest-cards .card img{height:56px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}.contest-cards .card-owner{margin-top:6px;font-size:11px;font-weight:800;letter-spacing:1.5px;color:#e6b93f}.contest-cards .card.atk .card-owner{color:#b58cf0}.contest-cards .card-hp{margin-top:4px;font-size:13px;font-weight:700;color:#33e07a}.contest-cards .card-weapons{margin-top:3px;font-size:11px;line-height:1.45;color:#cdb9e6}.contest-cards .vs{align-self:center;font-size:15px;font-weight:800;color:#ff5ecb;text-shadow:0 0 10px rgba(255,94,203,.6)}.chess-contest .contest-q{margin:0 0 12px;font-size:13.5px;font-weight:700;color:#f0e6ff}.contest-btns{display:flex;gap:12px;justify-content:center}.contest-btns button{flex:1;max-width:180px;padding:10px 8px 8px;cursor:pointer;font-family:"Press Start 2P",ui-monospace,monospace;font-size:18px;font-weight:800;letter-spacing:2px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:.12s}.contest-btns small{font-size:9.5px;font-weight:600;line-height:1.6;letter-spacing:.5px;text-transform:uppercase;opacity:.85}.contest-yes{color:#0a0710;background:linear-gradient(180deg,#33e07a,#1d9e52);border:1px solid #33e07a;box-shadow:0 0 14px #33e07a59}.contest-yes:hover{box-shadow:0 0 22px #33e07a99}.contest-no{color:#ffd9d9;background:#ff5b5b1f;border:1px solid #ff5b5b;box-shadow:0 0 14px #ff5b5b40}.contest-no:hover{background:#ff5b5b38;box-shadow:0 0 22px #ff5b5b80}.chess-contest .contest-hint{margin-top:12px;font-size:11px;color:#8a77aa}.chess-contest .contest-clock{font-family:ui-monospace,Menlo,monospace;font-weight:700;font-size:12.5px;color:#f0e6ff}.chess-contest .contest-clock.low{color:#ff5b5b;animation:contest-clock-pulse 1s ease-in-out infinite}@keyframes contest-clock-pulse{0%,to{opacity:1}50%{opacity:.4}}.chess-toast{position:absolute;left:50%;top:16%;transform:translate(-50%,-8px);padding:12px 22px;border-radius:10px;z-index:9;font-size:15px;font-weight:800;letter-spacing:1.5px;text-align:center;background:#181021eb;border:1px solid;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.chess-toast.show{opacity:1;transform:translate(-50%)}.chess-toast.contest{color:#ff8a8a;border-color:#ff3c3ca6;box-shadow:0 0 18px #ff3c3c4d}.chess-toast.decline{color:#7deaff;border-color:#37e0ff8c;box-shadow:0 0 18px #37e0ff40}.chess-toast.achievement{color:var(--rarity);border-color:var(--rarity);box-shadow:0 0 18px -4px var(--rarity)}.chess-over .over-kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#37e0ff}.chess-over .over-title{margin:8px 0;font-family:"Press Start 2P",ui-monospace,monospace;font-size:30px;font-weight:400;line-height:1.3;letter-spacing:1px}.chess-over .over-title.win{color:#33e07a;text-shadow:0 0 24px rgba(51,224,122,.5)}.chess-over .over-title.lose{color:#ff5b5b;text-shadow:0 0 24px rgba(255,91,91,.5)}.chess-over .over-note{max-width:380px;font-size:14px;line-height:1.5;color:#cdb9e6;margin:0 0 14px}.chess-over .over-earned{display:none;flex-direction:column;gap:5px;max-width:380px;width:100%;margin:0 0 14px}.chess-over .over-earned.show{display:flex}.chess-over .earned-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#97a0bd;margin-bottom:2px}.chess-over .earned-row{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;background:#0a0c1880;border:1px solid var(--rarity);box-shadow:inset 0 0 14px -10px var(--rarity)}.chess-over .earned-name{flex:1;text-align:left;font-size:12.5px;font-weight:600;color:#f4e9c8}.chess-over .earned-rarity{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rarity)}.chess-over .earned-coins{font-size:12px;font-weight:700;color:#e6b93f}.chess-over .earned-subtotal{text-align:right;font-size:12.5px;font-weight:700;color:#e6b93f;margin-top:2px}.chess-over button{padding:10px 30px;font-size:14px;font-weight:700;letter-spacing:1px;color:#0a0710;background:linear-gradient(180deg,#e6b93f,#a8842a);border:1px solid #e6b93f;border-radius:8px;cursor:pointer}#splash{position:fixed;inset:0;z-index:100;background:#000;display:flex;align-items:center;justify-content:center;padding:24px;transition:opacity .6s ease}#splash.hide{opacity:0;pointer-events:none}.splash-inner{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;max-width:90vw}.splash-playology{width:min(190px,42vw);height:auto}.splash-presents{font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;color:#b79bd6;margin-top:2px}.splash-logo{width:min(560px,84vw);height:auto;max-height:52vh;object-fit:contain}.splash-play{flex:0 0 auto;margin-top:33px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:18px;letter-spacing:4px;text-indent:4px;line-height:1;font-weight:400;padding:14px 28px 10px;color:#0a0710;background:linear-gradient(180deg,var(--gold),var(--gold-dim));border:1px solid var(--gold);border-radius:10px;cursor:pointer;box-shadow:0 0 30px #e6b93f73;transition:transform .15s ease,box-shadow .15s ease}.splash-play:hover{border-color:var(--gold);box-shadow:0 0 46px #e6b93fb3;transform:translateY(-1px)}.splash-play:disabled{cursor:default;opacity:.7}#rules-frame,#legal-frame{position:absolute;inset:0;z-index:4000;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 30%,#140a28e6,#03040af5);backdrop-filter:blur(3px);pointer-events:auto;font-family:Segoe UI,system-ui,sans-serif}#rules-frame.show,#legal-frame.show{display:flex}#rules-frame .rules-box,#legal-frame .rules-box{position:relative;width:min(760px,94vw);max-height:88vh;display:flex;flex-direction:column;background:#100c1cf5;border:1px solid rgba(33,230,255,.4);border-radius:14px;box-shadow:0 0 60px #21e6ff2e;padding:22px 26px 26px;color:#e9e6f2}#rules-frame .rules-close,#legal-frame .rules-close{position:absolute;top:12px;right:14px;width:32px;height:32px;padding:0;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#eaf2ff;background:#0a0e1899;border:1px solid rgba(33,230,255,.45);border-radius:8px;cursor:pointer}#rules-frame .rules-close:hover,#legal-frame .rules-close:hover{border-color:var(--neon-cyan)}#rules-frame h2,#legal-frame h2{margin:0 0 12px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:18px;font-weight:400;letter-spacing:1px;color:var(--neon-cyan);text-shadow:0 0 14px rgba(33,230,255,.4)}#rules-frame .rules-scroll,#legal-frame .rules-scroll{overflow-y:auto;padding-right:8px;line-height:1.55}#rules-frame h3,#legal-frame h3{margin:16px 0 6px;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}#rules-frame h4,#legal-frame h4{margin:12px 0 4px;font-size:13.5px;color:#cbb0f2}#rules-frame p,#legal-frame p{margin:6px 0;font-size:13.5px;color:#d6d2e6}#rules-frame ul,#legal-frame ul{margin:4px 0 6px 18px;padding:0}#rules-frame li,#legal-frame li{margin:3px 0;font-size:13px;color:#d6d2e6}#rules-frame b,#legal-frame b{color:#f4e9c8}#legal-frame .legal-meta{font-size:12px;letter-spacing:.4px;opacity:.65}#legal-frame h3{border-top:1px solid rgba(33,230,255,.18);padding-top:14px}#legal-frame .legal-meta+h3{border-top:0;padding-top:0}#legal-frame a{color:var(--neon-cyan);text-decoration:none}#legal-frame a:hover{text-decoration:underline}#legal-frame code{font-family:ui-monospace,monospace;font-size:12px;color:#9fe8ff}#hub-frame{position:absolute;inset:0;z-index:4000;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 30%,#140a28e6,#03040af5);backdrop-filter:blur(3px);pointer-events:auto;font-family:Segoe UI,system-ui,sans-serif}#hub-frame.show{display:flex}#hub-frame .hub-box{position:relative;width:min(900px,94vw);height:min(520px,86vh);display:flex;flex-direction:column;background:#100c1cf5;border:1px solid rgba(33,230,255,.4);border-radius:14px;box-shadow:0 0 60px #21e6ff2e;padding:22px 26px 26px;color:#e9e6f2}#hub-frame .hub-close{position:absolute;top:12px;right:14px;width:32px;height:32px;padding:0;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;color:#eaf2ff;background:#0a0e1899;border:1px solid rgba(33,230,255,.45);border-radius:8px;cursor:pointer}#hub-frame .hub-close:hover{border-color:var(--neon-cyan)}#hub-frame .hub-head{margin:0 0 16px}#hub-frame h2{margin:0;font-family:"Press Start 2P",ui-monospace,monospace;font-size:18px;font-weight:400;letter-spacing:1px;color:var(--neon-cyan);text-shadow:0 0 14px rgba(33,230,255,.4)}#hub-frame .hub-body{display:flex;gap:20px;flex:1 1 auto;min-height:0}#hub-frame .hub-rail{display:flex;flex-direction:column;gap:6px;flex:0 0 150px;border-right:1px solid rgba(120,130,170,.18);padding-right:14px}#hub-frame .hub-tab{text-align:left;padding:9px 12px;font-size:13.5px;color:#cfd6ea;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}#hub-frame .hub-tab:hover{background:#7882aa1a}#hub-frame .hub-tab.active{color:var(--neon-cyan);background:#21e6ff1a;border-color:#21e6ff66}#hub-frame .hub-pane{flex:1 1 auto;overflow-y:auto;min-height:0;min-width:0;padding-right:30px}#hub-frame .hub-card{display:flex;align-items:center;gap:16px;margin-bottom:18px}#hub-frame .hub-monogram{flex:0 0 auto;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",ui-monospace,monospace;font-size:22px;color:#0a0a14;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-pink));border-radius:12px}#hub-frame .hub-portrait-btn{flex:0 0 auto;position:relative;padding:0;background:none;border:1px solid transparent;border-radius:14px;cursor:pointer;line-height:0}#hub-frame .hub-portrait-btn:hover,#hub-frame .hub-portrait-btn:focus-visible{border-color:#21e6ffb3;outline:none}#hub-frame .hub-portrait-btn .hub-monogram{margin:0}#hub-frame img.hub-monogram{object-fit:cover;background:#0a0c1899}#hub-frame .hub-portrait-hint{position:absolute;inset:auto 0 0;padding:3px 0 4px;font-family:Segoe UI,system-ui,sans-serif;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.2;color:#eaf2ff;background:#04030ab8;border-radius:0 0 12px 12px;opacity:0;transition:opacity .12s ease}#hub-frame .hub-portrait-btn:hover .hub-portrait-hint,#hub-frame .hub-portrait-btn:focus-visible .hub-portrait-hint{opacity:1}#hub-frame .hub-idcol{display:flex;flex-direction:column;justify-content:space-between;height:56px}#hub-frame .hub-oid{font-size:20px;font-weight:600;color:#f4e9c8}#hub-frame .hub-note{font-size:13.5px;line-height:1.5;color:#cfd6ea;margin:0 0 16px;max-width:380px}#hub-frame .hub-cta{padding:11px 20px;font-size:14px;font-weight:600;color:#0a0a14;background:var(--gold);border:none;border-radius:9px;cursor:pointer;transition:filter .12s ease}#hub-frame .hub-cta:hover{filter:brightness(1.08)}#hub-frame .hub-cta:disabled{opacity:.55;cursor:default;filter:none}#hub-frame .hub-username{font-size:12.5px;color:#97a0bd}#hub-frame .hub-username span{color:#cfd6ea}#hub-frame .hub-name-edit{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;max-width:320px}#hub-frame .hub-name-input{padding:9px 11px;font-size:14px;color:#f4e9c8;background:#0a0c18b3;border:1px solid rgba(120,130,170,.4);border-radius:8px}#hub-frame .hub-name-input:focus{outline:none;border-color:#21e6ffb3}#hub-frame .hub-name-err{font-size:12.5px;color:var(--neon-amber);min-height:16px}#hub-frame .hub-name-row{display:flex;gap:10px;align-items:center}#hub-frame .hub-btn-ghost{padding:11px 18px;font-size:14px;color:#cfd6ea;background:transparent;border:1px solid rgba(120,130,170,.4);border-radius:9px;cursor:pointer;transition:background .12s ease}#hub-frame .hub-btn-ghost:hover{background:#7882aa1f}#hub-frame .hub-btn-ghost:disabled{opacity:.55;cursor:default}#hub-frame .hub-soon{display:flex;flex-direction:column;align-items:flex-start;padding-top:8px}#hub-frame .hub-soon-title{font-size:17px;color:#f4e9c8;margin-bottom:8px}#hub-frame .hub-soon-tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--neon-cyan);border:1px solid rgba(33,230,255,.4);border-radius:999px;padding:3px 10px;margin-bottom:12px}#hub-frame .hub-soon p{font-size:13.5px;line-height:1.5;color:#b7bfd4;max-width:360px;margin:0}#hub-frame .hub-section{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:24px}#hub-frame .hub-section:last-child{margin-bottom:0}#hub-frame .hub-section-title{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#97a0bd;margin:0 0 12px}#hub-frame .hub-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}#hub-frame .hub-actions .hub-action{min-width:220px;text-align:center}#hub-frame .hub-actions .hub-name-edit{margin-bottom:0}#hub-frame .hub-soon-note{font-size:13.5px;line-height:1.5;color:#b7bfd4;max-width:360px;margin:0}#hub-frame .hub-pane-msg{font-size:14px;line-height:1.6;color:#b7bfd4;max-width:380px;padding-top:8px}#hub-frame .hub-stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:26px}#hub-frame .hub-tile{border:1px solid rgba(120,130,170,.25);border-radius:8px;padding:12px 14px;background:#7882aa0f}#hub-frame .hub-tile-value{font-size:22px;font-weight:700;color:var(--neon-cyan);text-shadow:0 0 12px rgba(33,230,255,.25)}#hub-frame .hub-tile-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#97a0bd;margin-top:4px}#hub-frame .hub-tile.soon .hub-tile-value{font-size:13px;font-weight:600;color:#8b93ab;text-shadow:none}#hub-frame .hub-stat-list{display:flex;flex-direction:column;align-self:stretch;width:100%;gap:2px}#hub-frame .hub-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border-bottom:1px solid rgba(120,130,170,.12)}#hub-frame .hub-stat-row:last-child{border-bottom:none}#hub-frame .hub-stat-label{font-size:14px;color:#cfd6ea}#hub-frame .hub-stat-value{font-size:14px;font-weight:600;color:#f4e9c8;text-align:right}#hub-frame .hub-stat-row.soon .hub-stat-label{color:#8b93ab}#hub-frame .hub-stat-row.soon .hub-stat-value{font-weight:400;color:#8b93ab}#hub-frame .hub-stat-note{display:block;font-size:11px;letter-spacing:.04em;color:#6f7690;margin-top:1px}#hub-frame .hub-piece-table{display:flex;flex-direction:column;align-self:stretch;width:100%;margin-top:10px;border-top:1px solid rgba(120,130,170,.18);padding-top:8px}#hub-frame .hub-piece-row{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;padding:5px 0}#hub-frame .hub-piece-head .hub-piece-cell{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#7d84a0}#hub-frame .hub-piece-cell{font-size:13px;color:#cfd6ea;text-align:right}#hub-frame .hub-piece-name{text-align:left;color:#cfd6ea}#hub-frame .hub-piece-head .hub-piece-name{text-align:left}#hub-frame .hub-achievements{display:flex;flex-direction:column;align-self:stretch;width:100%}#hub-frame .hub-ach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}@media (max-width: 760px){#hub-frame .hub-ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}#hub-frame .hub-ach-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 12px 12px;background:#0a0c188c;border:1px solid var(--rarity);border-radius:10px;box-shadow:inset 0 0 22px -14px var(--rarity);opacity:.3}#hub-frame .hub-ach-card.earned{opacity:1}#hub-frame .hub-ach-name{font-size:14px;font-weight:600;line-height:1.3;color:#f4e9c8}#hub-frame .hub-ach-flavor{font-size:11.5px;line-height:1.4;color:#8b93ab}#hub-frame .hub-ach-card.hidden .hub-ach-flavor{font-style:italic}#hub-frame .hub-ach-bar{align-self:stretch;height:5px;border-radius:3px;background:#7882aa2e;overflow:hidden}#hub-frame .hub-ach-bar-fill{height:100%;background:var(--rarity)}#hub-frame .hub-ach-progress{font-size:11px;font-weight:600;color:#cfd6ea}#hub-frame .hub-ach-next{font-size:11.5px;font-weight:700;color:var(--rarity)}#hub-frame .hub-ach-card.maxed .hub-ach-next{color:var(--gold)}#hub-frame .hub-ach-tiers{display:flex;gap:5px;margin-top:2px}#hub-frame .hub-ach-tier-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--dot);background:transparent}#hub-frame .hub-ach-tier-dot.unlocked{background:var(--dot)}#hub-frame .hub-chips{position:absolute;top:12px;right:58px;height:32px;display:flex;align-items:center;gap:8px}#hub-frame .hub-nameplate{display:flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap}#hub-frame .hub-nameplate[hidden]{display:none}#hub-frame .hub-badge-glyph{font-size:15px;line-height:1}#hub-frame .hub-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}#hub-frame .hub-wallet{flex:0 0 auto;height:32px;padding:0 12px;display:flex;align-items:center;box-sizing:border-box;font-size:12.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap;color:var(--gold);background:#ffb02017;border:1px solid rgba(255,176,32,.42);border-radius:999px}#hub-frame .hub-wallet[hidden]{display:none}#hub-frame .hub-store{display:flex;flex-direction:column;align-self:stretch;width:100%}#hub-frame .hub-store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}@media (max-width: 760px){#hub-frame .hub-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}#hub-frame .hub-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px 12px;background:#0a0c188c;border:1px solid var(--rarity);border-radius:10px;box-shadow:inset 0 0 22px -14px var(--rarity)}#hub-frame .hub-item-rarity{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rarity)}#hub-frame .hub-item-name{font-size:14px;font-weight:600;line-height:1.3;color:#f4e9c8}#hub-frame .hub-item-price{font-size:13px;font-weight:700;color:var(--gold)}#hub-frame .hub-item-note{font-size:11.5px;line-height:1.4;color:#8b93ab}#hub-frame .hub-item-buy{margin-top:7px;padding:6px 18px;font-size:12.5px;align-self:stretch}#hub-frame .hub-item.owned,#hub-frame .hub-item.locked{opacity:.62}#hub-frame .hub-item.owned .hub-item-note{color:var(--rarity)}#hub-frame .hub-item.short .hub-item-price{color:#8b93ab}#hub-frame .hub-item.short .hub-item-note{color:var(--neon-amber)}#hub-frame .hub-item-thumb{align-self:stretch;width:100%;aspect-ratio:1;margin-bottom:5px;object-fit:cover;border-radius:8px;background:#04030a80}#hub-frame .hub-confirm{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:20px;background:#04030abd;border-radius:14px;backdrop-filter:blur(2px)}#hub-frame .hub-confirm-box{width:min(320px,100%);padding:20px 22px 22px;text-align:center;background:#0e0a1afa;border:1px solid rgba(33,230,255,.35);border-radius:12px;box-shadow:0 0 46px #21e6ff29}#hub-frame .hub-confirm-title{margin-bottom:14px;font-size:15px;line-height:1.45;font-weight:600;color:#f4e9c8}#hub-frame .hub-confirm-rows{display:flex;flex-direction:column;gap:4px;font-size:13px}#hub-frame .hub-confirm-rows div{display:flex;justify-content:space-between;gap:16px}#hub-frame .hub-confirm-rows span{color:#97a0bd}#hub-frame .hub-confirm-rows b{color:var(--gold);font-weight:700}#hub-frame .hub-confirm-err{min-height:16px;margin-top:10px;font-size:12.5px;color:var(--neon-amber)}#hub-frame .hub-confirm-btns{display:flex;gap:10px;justify-content:center;margin-top:6px}#hub-frame .hub-picker{padding:14px}#hub-frame .hub-picker-box{display:flex;flex-direction:column;width:min(720px,100%);max-height:100%;padding:16px 18px 18px;background:#0e0a1afa;border:1px solid rgba(33,230,255,.35);border-radius:12px;box-shadow:0 0 46px #21e6ff29}#hub-frame .hub-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}#hub-frame .hub-picker-title{font-size:15px;font-weight:600;color:#f4e9c8}#hub-frame .hub-picker-gate{margin-bottom:12px;padding:12px 14px;background:#0a0c1899;border:1px solid rgba(33,230,255,.28);border-radius:10px}#hub-frame .hub-picker-gate p{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:#cfd6ea}#hub-frame .hub-picker-gate-msg{min-height:15px;margin-top:8px;font-size:12px;color:var(--neon-cyan)}#hub-frame .hub-picker-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:6px}#hub-frame .hub-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:9px}#hub-frame .hub-cell{display:flex;flex-direction:column;gap:3px;padding:0 0 5px;background:#0a0c188c;border:1px solid var(--rarity);border-radius:10px;cursor:pointer;overflow:hidden;text-align:center}#hub-frame .hub-cell-img{width:100%;aspect-ratio:1;object-fit:cover;background:#04030a80}#hub-frame div.hub-cell-img{display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",ui-monospace,monospace;font-size:18px;color:#0a0a14;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-pink))}#hub-frame .hub-cell-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.5em;padding:0 5px;font-size:10.5px;line-height:1.25;color:#f4e9c8;overflow:hidden}#hub-frame .hub-cell-note{padding:0 4px;font-size:9.5px;line-height:1.2;color:#8b93ab}#hub-frame .hub-cell.short .hub-cell-note{color:var(--neon-amber)}#hub-frame .hub-cell.buy .hub-cell-note{color:var(--gold)}#hub-frame .hub-cell.equipped{box-shadow:0 0 0 2px var(--rarity),0 0 18px -4px var(--rarity)}#hub-frame .hub-cell.equipped .hub-cell-note{color:var(--rarity);font-weight:700}#hub-frame .hub-cell.locked{cursor:default}#hub-frame .hub-cell.locked .hub-cell-img{filter:grayscale(1);opacity:.5}#hub-frame .hub-cell.locked .hub-cell-name{color:#8b93ab}#hub-frame .hub-cell.short .hub-cell-img{filter:grayscale(1);opacity:.72}#hub-frame .hub-picker-err{min-height:16px;margin-top:8px;font-size:12.5px;color:var(--neon-amber)}#hub-frame .hub-locker{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 700px){#hub-frame .hub-locker{grid-template-columns:1fr}}#hub-frame .hub-preview{position:sticky;top:0;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:8px;background:radial-gradient(ellipse at 50% 68%,#21e6ff1a,#06060f99 68%);border:1px solid rgba(33,230,255,.22);border-radius:12px}#hub-frame .hub-preview-canvas{width:100%;height:100%;display:block}#hub-frame .hub-slots{display:flex;flex-direction:column;gap:16px;min-width:0}#hub-frame .hub-slot-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}#hub-frame .hub-slot-head .hub-section-title{margin:0}#hub-frame .hub-slot-worn{font-size:13px;font-weight:600;color:var(--tint, #8b93ab)}#hub-frame .hub-slot-clear{margin-left:auto;padding:4px 12px;font-size:11.5px}#hub-frame .hub-slot-note{margin-top:4px;font-size:11.5px;line-height:1.4;color:#8b93ab}#hub-frame .hub-slot-err{padding:9px 12px;font-size:12.5px;color:var(--neon-amber);background:#ffb02014;border:1px solid rgba(255,176,32,.3);border-radius:8px}#hub-frame .hub-slot-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:8px}@media (max-width: 700px){#hub-frame .hub-slot-options{grid-template-columns:1fr}}#hub-frame .hub-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 11px;font:inherit;font-size:13px;text-align:left;color:#f4e9c8;background:#0a0c188c;border:1px solid var(--rarity);border-radius:9px;cursor:pointer;transition:background .12s ease,opacity .12s ease}#hub-frame .hub-option:hover:not(:disabled){background:#14182ccc}#hub-frame .hub-option-swatch{flex:none;width:16px;height:16px;border-radius:50%;background:var(--tint);box-shadow:0 0 10px -2px var(--tint)}#hub-frame .hub-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#hub-frame .hub-option-name{line-height:1.25}#hub-frame .hub-option-note{font-size:11.5px;color:#8b93ab}#hub-frame .hub-option.worn{background:#14182ce6;box-shadow:inset 0 0 20px -12px var(--rarity)}#hub-frame .hub-option.worn .hub-option-note{color:var(--rarity);font-weight:700}#menu-modal{position:absolute;inset:0;z-index:4100;display:none;align-items:center;justify-content:center;background:#04030ab8;backdrop-filter:blur(2px);pointer-events:auto;font-family:Segoe UI,system-ui,sans-serif}#menu-modal.show{display:flex}#menu-modal .menu-modal-box{width:min(400px,90vw);padding:26px 28px;text-align:center;color:#e9e6f2;background:#0e0a1af5;border:1px solid rgba(33,230,255,.35);border-radius:14px;box-shadow:0 0 46px #21e6ff29}#menu-modal .menu-modal-spinner{font-size:30px;color:var(--neon-cyan);margin-bottom:6px;display:inline-block;animation:menu-modal-spin 1.1s linear infinite}#menu-modal .menu-modal-title{margin:4px 0 10px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:15px;font-weight:400;line-height:1.6;letter-spacing:.5px;text-wrap:balance;color:var(--gold)}#menu-modal .menu-modal-body{margin:0 0 4px;font-size:14px;opacity:.85;line-height:1.5}#menu-modal .menu-modal-box:has(.controls){width:min(480px,92vw)}#menu-modal .controls{display:grid;grid-template-columns:auto auto;gap:6px 22px;justify-content:center;margin-top:6px;font-size:13px;text-align:left}#menu-modal .controls b{color:var(--neon-amber);font-weight:700}#menu-modal .menu-modal-btns{display:flex;gap:10px;justify-content:center;margin-top:18px}#menu-modal .menu-modal-btns button{pointer-events:auto;padding:10px 22px;font-size:14px;font-weight:700;letter-spacing:1px;color:#eaf2ff;background:#ffffff0f;border:1px solid rgba(33,230,255,.5);border-radius:8px;cursor:pointer;transition:transform .1s ease}#menu-modal .menu-modal-btns button.primary{color:var(--ink);background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));border:none;box-shadow:0 0 22px #21e6ff59}#menu-modal .menu-modal-btns button:hover{transform:scale(1.04)}
