:root{color-scheme:dark;--bg: #04070c;--bg-center: #0b1018;--bg-glow-1: color-mix(in srgb, #22d3ee 9%, transparent);--bg-glow-2: color-mix(in srgb, #22c55e 6%, transparent);--bg-grid: rgba(255, 255, 255, .03);--surface: #0a111b;--surface-deep: #05080e;--surface-panel: rgba(9, 14, 22, .72);--surface-overlay: rgba(6, 11, 19, .88);--surface-solid: rgba(5, 8, 14, .92);--surface-raised: rgba(255, 255, 255, .03);--surface-raised-hover: rgba(255, 255, 255, .07);--surface-chip: rgba(4, 8, 14, .6);--surface-control: #111111;--surface-control-line: #333333;--overlay-backdrop: rgba(0, 0, 0, .74);--overlay-strong: rgba(0, 0, 0, .92);--overlay-solid: rgba(2, 4, 8, .94);--overlay-solid-center: rgba(10, 18, 30, .96);--line: rgba(255, 255, 255, .09);--line-soft: rgba(255, 255, 255, .05);--line-strong: rgba(255, 255, 255, .22);--line-hover: rgba(255, 255, 255, .32);--ink: #e6edf6;--ink-strong: #ffffff;--ink-muted: #c3cdd9;--ink-dim: #7d8b9c;--ink-faint: #5b6878;--accent-base: #22d3ee;--accent-base-hover: #67e8f9;--on-accent: #04121a;--accent-aim-vivid: #22d3ee;--accent-dodge-vivid: #22c55e;--accent-lasthit-vivid: #f59e0b;--accent-kiting-vivid: #ec4899;--accent-smite-vivid: #a855f7;--accent-aim: var(--accent-aim-vivid);--accent-dodge: var(--accent-dodge-vivid);--accent-lasthit: var(--accent-lasthit-vivid);--accent-kiting: var(--accent-kiting-vivid);--accent-smite: var(--accent-smite-vivid);--on-vivid: #04121a;--vivid-ink-mix: 0%;--diff-easy: #38bdf8;--diff-medium: #22c55e;--diff-hard: #f43f5e;--tone-gold: #fbbf24;--tone-good: #4ade80;--tone-mid: #7dd3fc;--tone-low: #fb7185;--danger: #fb7185;--live: #22c55e;--focus-ring: #fbc531;--highlight: #f5c518;--highlight-ink: #fef08a;--cs-accent: #2ecc71;--cs-accent-ink: #2ecc71;--medal-gold: #f59e0b;--medal-silver: #94a3b8;--medal-bronze: #b45309;--on-medal-bronze: #ffffff;--art-scrim: #04070d;--art-ink: #ffffff;--art-ink-dim: #c3cdd9;--art-chip: rgba(4, 8, 14, .6);--art-chip-strong: rgba(6, 10, 16, .84);--art-line: rgba(255, 255, 255, .14);--art-line-hover: rgba(255, 255, 255, .32);--art-danger: #f43f5e;--art-shadow: 0 2px 12px rgba(0, 0, 0, .65);--hud-chip-bg: rgba(0, 0, 0, .72);--hud-chip-bg-strong: rgba(6, 10, 14, .82);--hud-chip-line: rgba(255, 255, 255, .22);--hud-chip-line-soft: rgba(255, 255, 255, .14);--hud-chip-line-strong: rgba(255, 255, 255, .4);--hud-ink: #ffffff;--hud-ink-dim: #b8b8b8;--hud-ink-faint: #8a97a3;--hud-accent: #3fe4ff;--hud-alert: #ff2d55;--hud-warn: #ffb020;--hud-danger: #e74c3c;--hud-shadow: 0 0 25px rgba(0, 0, 0, .8);--hud-panel-bg: #ffffff;--hud-panel-ink: #000000;--hud-panel-gold: #a67c00;--arena-aim-bg: #05070a;--arena-dodge-bg: #03060d;--arena-lasthit-bg: #101a14;--arena-line: #ffffff;--arena-line-alpha: 1;--arena-grid: #00e1ff;--arena-grid-dot: #78f0ff;--arena-ambient: #00a2ff;--arena-ambient-alpha: 1;--arena-vignette: #02040a;--arena-vignette-alpha: 1;--arena-frame: #3fe4ff;--arena-reticle: #ffffff;--arena-ink: #ffffff;--arena-ink-stroke: #000000;--arena-glow-blend: lighter;--panel-bg: #000000;--panel-ink: #ffffff;--panel-ink-dim: #b8b8b8;--kbd-bg: #1c1c1c;--kbd-line: #4a4a4a;--kbd-ink: #ffffff;--shadow-modal: 0 40px 90px -40px rgba(0, 0, 0, .9);--shadow-panel: 0 12px 36px -12px rgba(0, 0, 0, .85);--shadow-icon: 0 2px 5px rgba(0, 0, 0, .6);--shadow-title: 0 2px 12px rgba(0, 0, 0, .8);--font-mono: "Courier New", Courier, monospace}:root[data-theme=light]{color-scheme:light;--bg: #c7cfda;--bg-center: #dae0e8;--bg-glow-1: color-mix(in srgb, #0e7490 10%, transparent);--bg-glow-2: color-mix(in srgb, #15803d 7%, transparent);--bg-grid: rgba(15, 23, 42, .06);--surface: #e2e7ee;--surface-deep: #d3dae4;--surface-panel: rgba(226, 231, 238, .85);--surface-overlay: rgba(226, 231, 238, .92);--surface-solid: rgba(226, 231, 238, .96);--surface-raised: rgba(15, 23, 42, .05);--surface-raised-hover: rgba(15, 23, 42, .1);--surface-chip: rgba(15, 23, 42, .07);--surface-control: #d6dde6;--surface-control-line: #b3bfcd;--overlay-backdrop: rgba(199, 207, 218, .8);--overlay-strong: rgba(205, 213, 223, .94);--overlay-solid: rgba(214, 221, 230, .96);--overlay-solid-center: rgba(228, 233, 240, .97);--line: rgba(15, 23, 42, .14);--line-soft: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .3);--line-hover: rgba(15, 23, 42, .45);--ink: #0f172a;--ink-strong: #020617;--ink-muted: #2c3a4f;--ink-dim: #3f4c60;--ink-faint: #4a5970;--accent-base: #0b6579;--accent-base-hover: #094f5f;--on-accent: #ffffff;--accent-aim: #0b6579;--accent-dodge: #136b34;--accent-lasthit: #8c4305;--accent-kiting: #a8144f;--accent-smite: #6b1fb0;--vivid-ink-mix: 45%;--diff-easy: #0369a1;--diff-medium: #15803d;--diff-hard: #be123c;--tone-gold: #8c4305;--tone-good: #136b34;--tone-mid: #075985;--tone-low: #a60f35;--danger: #a60f35;--live: #15803d;--focus-ring: #8c4305;--highlight: #b7791f;--highlight-ink: #713f12;--cs-accent-ink: #136b34;--panel-bg: #e2e7ee;--panel-ink: #0f172a;--panel-ink-dim: #3f4c60;--kbd-bg: #d3dae4;--kbd-line: #9fadbe;--kbd-ink: #0f172a;--arena-aim-bg: #8d99aa;--arena-dodge-bg: #8a96a8;--arena-lasthit-bg: #8f9c93;--arena-line: #0f172a;--arena-line-alpha: 1.8;--arena-grid: #0b6579;--arena-grid-dot: #22d3ee;--arena-ambient: #ffffff;--arena-ambient-alpha: 1.6;--arena-vignette: #4b5666;--arena-vignette-alpha: .5;--arena-frame: #0b6579;--arena-reticle: #0f172a;--arena-ink: #ffffff;--arena-ink-stroke: #1e293b;--arena-glow-blend: source-over;--shadow-modal: 0 40px 90px -40px rgba(15, 23, 42, .45);--shadow-panel: 0 12px 36px -12px rgba(15, 23, 42, .3);--shadow-icon: 0 2px 5px rgba(15, 23, 42, .35);--shadow-title: none}:root{font-family:Outfit,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background:radial-gradient(circle at center,var(--bg-center) 0%,var(--bg) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow:hidden;background:radial-gradient(circle at center,var(--bg-center) 0%,var(--bg) 100%)}#app{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;padding:0;margin:0}.menu-shell{position:relative;width:100%;height:100%;display:flex;flex-direction:column;text-align:left;background:radial-gradient(120% 70% at 50% -10%,var(--bg-glow-1) 0%,transparent 60%),radial-gradient(90% 60% at 50% 110%,var(--bg-glow-2) 0%,transparent 60%),var(--bg);overflow:hidden}.menu-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(80% 60% at 50% 30%,#000 30%,transparent 100%);mask-image:radial-gradient(80% 60% at 50% 30%,#000 30%,transparent 100%)}.menu-topbar{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.6rem max(1.1rem,env(safe-area-inset-right)) 0 max(1.1rem,env(safe-area-inset-left));padding-top:max(.6rem,env(safe-area-inset-top))}.brand{grid-column:2;display:flex;justify-content:center;align-items:center;min-width:0}.brand-logo{height:clamp(52px,8.5vh,92px);width:auto;max-width:100%;display:block;object-fit:contain;transition:transform .25s ease;filter:drop-shadow(0 4px 16px color-mix(in srgb,var(--accent-base) 15%,transparent))}.brand-logo:hover{transform:scale(1.02)}.topbar-actions{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.menu-scroll{position:relative;z-index:1;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;width:100%;display:flex;flex-direction:column;padding:clamp(.6rem,2vh,1.6rem) max(1.1rem,env(safe-area-inset-right)) max(.6rem,env(safe-area-inset-bottom)) max(1.1rem,env(safe-area-inset-left));scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.menu-scroll::-webkit-scrollbar{width:8px}.menu-scroll::-webkit-scrollbar-thumb{background:var(--line-strong)}.games-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),320px));justify-content:center;gap:clamp(.9rem,2vw,1.6rem);width:100%;max-width:1200px;margin-inline:auto;margin-block:auto;padding:.4rem 0}.game-card{position:relative;aspect-ratio:1 / 1;width:100%;max-width:min(340px,48vh);margin-inline:auto;overflow:hidden;--accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);background:var(--art-scrim);border:1px solid var(--line);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.game-card:before,.game-card:after{content:"";position:absolute;z-index:3;width:16px;height:16px;border:2px solid var(--accent-vivid);opacity:.55;transition:opacity .25s ease;pointer-events:none}.game-card:before{top:0;left:0;border-right:none;border-bottom:none}.game-card:after{bottom:0;right:0;border-left:none;border-top:none}.game-card:hover{transform:translateY(-3px);border-color:var(--accent-soft);box-shadow:0 22px 48px -26px var(--accent)}.game-card:hover:before,.game-card:hover:after{opacity:1}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover}.card-art-photo{filter:saturate(1.05) contrast(1.03);transition:transform .4s ease}.game-card:hover .card-art-photo{transform:scale(1.04)}.card-art .art-accent{stroke:var(--accent-vivid);fill:none}.card-art .art-stop{stop-color:var(--accent-vivid)}.card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--art-scrim) 78%,transparent),color-mix(in srgb,var(--art-scrim) 30%,transparent) 26%,color-mix(in srgb,var(--art-scrim) 0%,transparent) 46%,color-mix(in srgb,var(--art-scrim) 28%,transparent))}.card-help-btn{position:absolute;top:.7rem;right:.7rem;z-index:3;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--accent-vivid);background:var(--art-chip-strong);color:var(--accent-vivid);font:inherit;font-size:.95rem;font-weight:900;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.card-help-btn:hover{background:var(--accent-vivid);color:var(--on-vivid);transform:scale(1.06)}.game-card.help-open:hover,.game-card.help-open .card-art-photo{transform:none}.card-heading{position:absolute;top:.8rem;left:.9rem;right:3.2rem;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;pointer-events:none}.card-body{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;gap:.6rem;padding:2.4rem .9rem .9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--art-scrim) 0%,transparent),color-mix(in srgb,var(--art-scrim) 70%,transparent) 32%,color-mix(in srgb,var(--art-scrim) 96%,transparent));opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}.game-card:hover .card-body,.game-card:focus-within .card-body{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease,visibility 0s}.game-card.help-open .card-body{opacity:0;visibility:hidden}@media (hover: none){.card-body{opacity:1;visibility:visible;transform:none}}.game-name{margin:0;display:flex;align-items:center;gap:.5rem;min-width:0;font-size:clamp(1.05rem,.9rem + .8vw,1.5rem);font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:var(--art-ink);text-shadow:var(--art-shadow)}.game-name .game-icon{flex:0 0 auto;width:1em;height:1em;color:var(--accent-vivid)}.card-tag{flex:0 0 auto;font-size:.56rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-vivid);white-space:nowrap;text-shadow:var(--art-shadow)}.diff-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.diff-seg{padding:.42rem .2rem;background:var(--art-chip);border:1px solid var(--art-line);color:var(--art-ink-dim);font:inherit;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.diff-seg:hover{color:var(--art-ink);border-color:var(--art-line-hover)}.diff-seg.is-active{color:var(--on-vivid);background:var(--accent-vivid);border-color:var(--accent-vivid)}.card-cta{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.66rem 1rem;border:none;background:var(--accent-vivid);color:var(--on-vivid);font:inherit;font-size:.88rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:filter .18s ease,box-shadow .18s ease}.card-cta:hover{filter:brightness(1.12);box-shadow:0 12px 30px -14px var(--accent-vivid)}.card-cta:active{filter:brightness(.95)}.card-cta-locked{background:color-mix(in srgb,var(--art-ink) 12%,transparent);color:var(--art-ink);border:1px solid color-mix(in srgb,var(--art-ink) 20%,transparent)}.cta-play{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}.card-help-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;gap:.65rem;padding:.95rem 1rem;background:var(--overlay-solid);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:inset 0 0 0 1px var(--accent-soft);overflow-y:auto;animation:helpIn .18s ease-out}.card-help-panel[hidden]{display:none}@keyframes helpIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card-help-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.card-help-head h3{margin:0;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.card-help-close{flex:0 0 auto;width:1.8rem;height:1.8rem;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;transition:color .18s ease,border-color .18s ease}.card-help-close:hover{color:var(--ink-strong);border-color:var(--line-hover)}.card-help-close .ui-icon{width:14px;height:14px}.card-help-goal{margin:0;font-size:.84rem;line-height:1.5;color:var(--ink)}.card-help-keys{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.card-help-keys li{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--ink-dim)}.card-help-keys kbd{flex:0 0 auto;min-width:3.4rem;padding:.2rem .45rem;text-align:center;border:1px solid var(--line);background:var(--surface-raised);font-family:var(--font-mono);font-size:.7rem;color:var(--ink-strong)}.card-help-toggle{margin-top:auto;padding-top:.6rem;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;color:var(--ink-dim);cursor:pointer}.card-help-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.card-help-toggle:hover{color:var(--ink)}.records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.7rem}.record-card{display:flex;flex-direction:column;gap:.6rem;padding:.8rem .85rem;border:1px solid var(--line);background:var(--surface-raised)}.record-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.55rem;border-bottom:1px solid var(--line-soft)}.record-diff{display:inline-flex;align-items:center;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.diff-dot{display:inline-block;width:7px;height:7px;margin-right:.5rem;border-radius:50%;vertical-align:middle}.record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.record-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.record-game{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.record-score{display:inline-flex;align-items:baseline;gap:.35rem;white-space:nowrap}.record-unit{font-style:normal;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.score-val{font-size:1.15rem;font-weight:900;color:var(--accent, var(--ink-strong));font-variant-numeric:tabular-nums}.rank-badge{display:inline-block;padding:.3rem .6rem;border:1px solid var(--line);font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.rank-gold{border-color:color-mix(in srgb,var(--tone-gold) 60%,transparent);color:var(--tone-gold)}.rank-good{border-color:color-mix(in srgb,var(--tone-good) 60%,transparent);color:var(--tone-good)}.rank-mid{border-color:color-mix(in srgb,var(--tone-mid) 55%,transparent);color:var(--tone-mid)}.rank-low{border-color:color-mix(in srgb,var(--tone-low) 50%,transparent);color:var(--tone-low)}.menu-footer{flex:0 0 auto;padding:.7rem max(1.4rem,env(safe-area-inset-right)) max(.7rem,env(safe-area-inset-bottom)) max(1.4rem,env(safe-area-inset-left));display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:center;align-items:center;text-align:center;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--line-soft)}.ui-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;flex-shrink:0;line-height:0}.ui-icon .icon-svg{width:100%;height:100%;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-shell{animation:fadeIn .6s ease-out forwards}canvas{display:block}.game-stage{position:relative;display:flex;flex:0 0 auto}.game-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;line-height:1.2;font-size:calc(1rem * var(--stage-scale, 1))}.hud-row{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:max(.62em,env(safe-area-inset-top)) max(.88em,env(safe-area-inset-right)) 0 max(.88em,env(safe-area-inset-left));box-sizing:border-box}.hud-group{display:flex;align-items:center;gap:.4em;flex:1 1 0;min-width:0}.hud-group-center{justify-content:center}.hud-group-end{justify-content:flex-end}.hud-chip{display:inline-flex;align-items:center;gap:.35em;background:var(--hud-chip-bg);border:1px solid var(--hud-chip-line);padding:.19em .5em;white-space:nowrap}.hud-chip-time{padding:.19em .75em;border-color:var(--hud-chip-line-strong)}.hud-icon{width:.82em;height:.82em;color:var(--hud-ink-dim)}.hud-label{font-size:.58em;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--hud-ink-dim)}.hud-value{font-size:.9em;font-weight:900;color:var(--hud-ink);font-variant-numeric:tabular-nums}.hud-chip-time .hud-value{font-size:1.05em}.cs-hud{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:space-between;padding:10px 20px;box-sizing:border-box;pointer-events:none;z-index:10}.cs-hud .hud-left,.cs-hud .hud-right{background:var(--hud-panel-bg);color:var(--hud-panel-ink);padding:5px 20px;transform:skew(-15deg);min-width:150px}.cs-hud .hud-box{transform:skew(15deg);font-size:.95rem;font-weight:800;line-height:1.3}.cs-hud .hud-center{color:var(--hud-ink);font-size:1.4rem;font-weight:900;display:flex;align-items:center}.cs-hud .hud-center .icon{margin-right:10px}.aim-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20}.aim-modal-header{margin-bottom:20px}.aim-modal-header .modal-title{font-size:3.5rem;font-weight:900;color:var(--ink-strong);margin:0;letter-spacing:2px}.aim-modal{background:var(--panel-bg);padding:10px;border:4px solid var(--panel-ink)}.aim-modal .modal-content{background:var(--panel-ink);color:var(--panel-bg);padding:30px 40px;text-align:center;min-width:350px;border:4px solid var(--panel-bg)}.new-record-badge{font-weight:900;font-size:1.2rem;padding:5px 15px;border-radius:20px;display:inline-block;margin-bottom:15px;animation:pulse 1s infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.stat-line{font-size:1.8rem;font-weight:900;margin:10px 0}.diff-badge{background:var(--panel-bg);color:var(--panel-ink);font-size:1.5rem;font-weight:900;padding:8px 20px;border-radius:8px;display:inline-block;margin:20px 0}.modal-buttons{display:flex;gap:10px;margin-top:10px}.modal-buttons button{flex:1;padding:15px;font-size:1.2rem;font-weight:900;border:4px solid var(--panel-ink);cursor:pointer;text-transform:uppercase;transition:transform .1s}.modal-buttons button:active{transform:scale(.95)}.btn-dark{background:var(--panel-bg);color:var(--panel-ink)}.btn-dark:hover{background:color-mix(in srgb,var(--panel-bg) 87%,var(--panel-ink))}.btn-light{background:var(--panel-ink);color:var(--panel-bg)}.btn-light:hover{background:color-mix(in srgb,var(--panel-ink) 93%,var(--panel-bg))}.topbar-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.topbar-btn .btn-icon{width:15px;height:15px}.topbar-btn:hover{background:color-mix(in srgb,var(--accent-base) 10%,transparent);border-color:color-mix(in srgb,var(--accent-base) 55%,transparent);color:var(--accent-base)}.menu-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:clamp(.7rem,3vh,2rem);opacity:0;pointer-events:none;transition:opacity .22s ease}.menu-modal.is-open{opacity:1;pointer-events:auto}.menu-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-modal-card{position:relative;width:min(680px,100%);max-height:min(86vh,720px);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-deep) 100%);border:1px solid var(--line);box-shadow:var(--shadow-modal);transform:translateY(14px) scale(.985);transition:transform .22s ease}.menu-modal.is-open .menu-modal-card{transform:none}.menu-modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .9rem .8rem 1.1rem;border-bottom:1px solid var(--line)}.menu-modal-title{margin:0;font-size:.8rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}.close-btn{background:transparent;border:none;color:var(--ink-strong);cursor:pointer;line-height:1;padding:0;display:flex;align-items:center}.menu-modal-head .close-btn{flex:0 0 auto;width:2.2rem;height:2.2rem;justify-content:center;border:1px solid var(--line);color:var(--ink-dim);transition:color .18s ease,border-color .18s ease}.menu-modal-head .close-btn:hover{color:var(--ink-strong);border-color:var(--line-hover)}.close-btn .ui-icon{width:20px;height:20px}.menu-modal-body{flex:1 1 auto;overflow-y:auto;padding:1.1rem;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.modal-section{display:flex;flex-direction:column;gap:1.1rem}.modal-section[hidden]{display:none}.setting-item{display:flex;flex-direction:column;gap:1rem}.setting-item label{font-size:.8rem;font-weight:900;color:var(--ink-dim);letter-spacing:1px}.theme-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.theme-seg{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem .5rem;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-muted);font:inherit;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.theme-seg .btn-icon{width:1rem;height:1rem}.theme-seg:hover{color:var(--ink-strong);border-color:var(--accent-base)}.theme-seg.is-active{background:var(--accent-base);border-color:var(--accent-base);color:var(--on-accent)}.cursor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 380px){.cursor-grid{grid-template-columns:repeat(2,1fr)}}.cursor-opt{background:var(--surface-raised);border:1px solid var(--line);border-radius:8px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.cursor-opt:hover{background:var(--surface-raised-hover);border-color:var(--line-strong);transform:translateY(-2px)}.cursor-opt.selected{background:color-mix(in srgb,var(--highlight) 12%,transparent);border-color:var(--highlight);color:var(--highlight-ink);box-shadow:0 0 16px color-mix(in srgb,var(--highlight) 25%,transparent),inset 0 0 12px color-mix(in srgb,var(--highlight) 8%,transparent)}.cursor-opt span{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);transition:color .18s ease}.cursor-opt:hover span{color:var(--ink-strong)}.cursor-opt.selected span{color:var(--highlight-ink)}.cursor-preview{width:28px;height:28px;background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(var(--shadow-icon));transition:transform .2s ease}.cursor-opt:hover .cursor-preview{transform:scale(1.15)}.cursor-opt.selected .cursor-preview{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--highlight) 50%,transparent))}.cursor-preview.default{background-image:url(/cursors/default.svg)}.cursor-preview.crosshair{background-image:url(/cursors/crosshair.svg)}.cursor-preview.pointer,.cursor-preview.gauntlet{background-image:url(/cursors/gauntlet.svg)}.cursor-preview.lol{background-image:url(/cursor1.png)}.cursor-preview.sword{background-image:url(/cursors/sword.svg)}.cursor-preview.dot{background-image:url(/cursors/dot.svg)}body.cursor-default,body.cursor-default .game-card,body.cursor-default canvas{cursor:url(/cursors/default.svg) 0 0,default}body.cursor-custom-1,body.cursor-custom-1 .game-card,body.cursor-custom-1 canvas{cursor:url(/cursors/crosshair.svg) 16 16,crosshair}body.cursor-custom-2,body.cursor-custom-2 .game-card,body.cursor-custom-2 canvas{cursor:url(/cursors/gauntlet.svg) 6 1,pointer}body.cursor-custom-3,body.cursor-custom-3 .game-card,body.cursor-custom-3 canvas{cursor:url(/cursor1.png) 0 0,auto}body.cursor-custom-4,body.cursor-custom-4 .game-card,body.cursor-custom-4 canvas{cursor:url(/cursors/sword.svg) 2 2,default}body.cursor-custom-5,body.cursor-custom-5 .game-card,body.cursor-custom-5 canvas{cursor:url(/cursors/dot.svg) 16 16,crosshair}.volume-row{display:flex;align-items:center;gap:.6rem;background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;padding:.55rem .75rem}.vol-mute-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;color:var(--ink-dim);cursor:pointer;padding:4px;transition:color .18s ease,border-color .18s ease,background .18s ease}.vol-mute-btn:hover{color:#fff;border-color:var(--line-strong);background:var(--surface-raised-hover)}.vol-mute-btn.is-muted{color:#f43f5e}.vol-mute-btn .ui-icon{width:20px;height:20px}.vol-slider{flex:1 1 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--line);outline:none;cursor:pointer}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line-strong);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.vol-slider::-webkit-slider-thumb:hover{box-shadow:0 0 8px #ffffff59;transform:scale(1.15)}.vol-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line-strong);cursor:pointer}.vol-val{flex:0 0 auto;min-width:3ch;text-align:right;font-size:.75rem;font-weight:700;color:var(--ink-dim);font-variant-numeric:tabular-nums}.game-card.is-locked{cursor:pointer}.game-card.is-locked .card-art-photo,.game-card.is-locked .card-art{filter:grayscale(.55) brightness(.55)}.card-tag-soon{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .5rem;border-radius:3px;background:color-mix(in srgb,var(--accent-vivid) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent-vivid) 55%,transparent);color:var(--accent-vivid);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.card-lock-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;z-index:2;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--art-scrim) 25%,transparent),color-mix(in srgb,var(--art-scrim) 75%,transparent))}.card-lock-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem;background:var(--art-chip-strong);border:1px solid var(--accent-vivid);box-shadow:0 0 18px -4px var(--accent-vivid);border-radius:4px;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--art-ink)}.card-lock-badge .ui-icon{width:14px;height:14px;color:var(--accent-vivid)}.results-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,var(--overlay-solid-center) 0%,var(--overlay-solid) 100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;color:var(--ink);font-family:Outfit,sans-serif;animation:overlayFadeIn .3s ease-out;padding:clamp(10px,2.5vh,24px);overflow-y:auto;box-sizing:border-box}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.results-container{width:100%;max-width:540px;display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,1.3vh,.85rem);animation:contentSlideUp .35s cubic-bezier(.16,1,.3,1);box-sizing:border-box}@keyframes contentSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.results-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:0}.results-logo img{height:clamp(32px,5vh,46px);width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 10px color-mix(in srgb,var(--accent-base) 25%,transparent))}.results-title{font-size:clamp(1.05rem,2.2vh,1.35rem);font-weight:900;text-transform:uppercase;letter-spacing:1.5px;margin:0;text-align:center;color:var(--ink-strong);text-shadow:var(--shadow-title)}.new-record-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .75rem;background:linear-gradient(90deg,var(--medal-gold),var(--accent-kiting-vivid));color:var(--on-vivid);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;box-shadow:0 0 16px color-mix(in srgb,var(--medal-gold) 50%,transparent);animation:pulseBadge 1.5s infinite}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.results-grid{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border:1px solid var(--line-strong);background:var(--surface-overlay);padding:8px;box-shadow:var(--shadow-panel);box-sizing:border-box}.result-row{display:flex;align-items:center;gap:8px;min-height:42px;background:var(--surface-raised);border:1px solid var(--line-soft);padding:5px 9px;box-sizing:border-box;transition:background .2s,border-color .2s}.result-row:hover{background:var(--surface-raised-hover);border-color:var(--line-strong)}.result-row.result-row-span-2{grid-column:span 2}.result-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-base)}.result-icon svg,.result-icon .ui-icon{width:20px;height:20px}.result-label{flex:1;font-size:.74rem;font-weight:700;letter-spacing:.03em;color:var(--ink-dim);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-value{font-size:1.05rem;font-weight:900;text-align:right;font-family:var(--font-mono);color:var(--ink-strong);white-space:nowrap}.results-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:2px}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.65rem .9rem;font-size:.88rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;border:none;cursor:pointer;transition:all .18s cubic-bezier(.175,.885,.32,1.275);box-sizing:border-box}.action-btn .action-kbd{display:inline-block;padding:.1rem .4rem;font-family:var(--font-mono);font-size:.66rem;font-weight:800;border-radius:3px;line-height:1.2}.action-btn.primary{background:var(--accent-base);color:var(--on-accent);box-shadow:0 4px 18px -4px color-mix(in srgb,var(--accent-base) 50%,transparent)}.action-btn.primary .action-kbd{background:color-mix(in srgb,var(--on-accent) 22%,transparent);color:var(--on-accent);border:1px solid color-mix(in srgb,var(--on-accent) 35%,transparent)}.action-btn.primary:hover{background:var(--accent-base-hover);transform:translateY(-2px);box-shadow:0 8px 24px -4px color-mix(in srgb,var(--accent-base) 70%,transparent)}.action-btn.secondary{background:var(--surface-raised-hover);color:var(--ink-strong);border:1px solid var(--line-strong)}.action-btn.secondary .action-kbd{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink-muted);border:1px solid var(--line-strong)}.action-btn.secondary:hover{background:color-mix(in srgb,var(--ink) 14%,transparent);border-color:var(--line-hover);transform:translateY(-2px)}.cs-results-tip{font-size:.74rem;color:var(--ink-dim);margin:0;text-align:center;line-height:1.35}.cs-results-tip kbd{padding:.1rem .35rem;background:var(--kbd-bg);border:1px solid var(--kbd-line);color:var(--kbd-ink);font-family:var(--font-mono);font-size:.68rem}.global-leaderboard{display:flex;flex-direction:column;gap:1rem}.season-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.75rem 1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-base) 10%,transparent),color-mix(in srgb,var(--accent-smite) 10%,transparent));border:1px solid var(--line);border-left:3px solid var(--accent-base)}.season-tag{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-base)}.live-indicator{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live);animation:pulseLive 1.8s infinite}@keyframes pulseLive{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.season-subtitle{font-size:.72rem;color:var(--ink-dim)}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.podium-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.9rem .5rem;background:var(--surface-raised);border:1px solid var(--line);position:relative;transition:transform .2s ease,border-color .2s ease}.podium-card.first{border-color:color-mix(in srgb,var(--medal-gold) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--medal-gold) 12%,transparent) 0%,var(--surface-raised) 100%);order:2;transform:translateY(-4px)}.podium-card.second{border-color:color-mix(in srgb,var(--medal-silver) 50%,transparent);order:1}.podium-card.third{border-color:color-mix(in srgb,var(--medal-bronze) 45%,transparent);order:3}.podium-medal{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem;margin-bottom:.4rem}.podium-card.first .podium-medal{background:var(--medal-gold);color:var(--on-vivid);box-shadow:0 0 14px color-mix(in srgb,var(--medal-gold) 50%,transparent)}.podium-card.second .podium-medal{background:var(--medal-silver);color:var(--on-vivid)}.podium-card.third .podium-medal{background:var(--medal-bronze);color:var(--on-medal-bronze)}.podium-player{font-size:.78rem;font-weight:900;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.podium-discipline{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin-top:2px}.podium-score{margin-top:.4rem;font-size:1.1rem;font-weight:900;font-family:var(--font-mono);color:var(--ink-strong)}.leaderboard-list{display:flex;flex-direction:column;gap:.35rem}.leaderboard-row{display:grid;grid-template-columns:2.2rem 1.4fr 1fr 1fr auto;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface-raised);border:1px solid var(--line);font-size:.75rem}.leaderboard-row.header{background:transparent;border-color:transparent;border-bottom:1px solid var(--line-soft);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);padding-bottom:.4rem}.leaderboard-row.is-current-user{background:color-mix(in srgb,var(--accent-base) 8%,transparent);border-color:color-mix(in srgb,var(--accent-base) 50%,transparent);box-shadow:0 0 14px -6px var(--accent-base)}.rank-num{font-weight:900;color:var(--ink-dim);text-align:center}.cadet-info{display:flex;align-items:center;gap:.5rem;min-width:0}.cadet-avatar{width:1.5rem;height:1.5rem;border-radius:50%;background:color-mix(in srgb,var(--ink) 10%,transparent);object-fit:cover;flex-shrink:0}.cadet-name{font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cadet-game{font-size:.68rem;font-weight:700;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em}.cadet-score{text-align:right;font-weight:900;font-family:var(--font-mono);color:var(--ink-strong)}.user-status-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.65rem .85rem;background:color-mix(in srgb,var(--accent-base) 5%,transparent);border:1px solid color-mix(in srgb,var(--accent-base) 25%,transparent);margin-top:.5rem;font-size:.74rem}.sync-status{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink)}.btn-sync{background:var(--surface-raised-hover);border:1px solid var(--line-strong);color:var(--ink-strong);padding:.35rem .75rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .18s ease}.btn-sync:hover{background:var(--accent-base);border-color:var(--accent-base);color:var(--on-accent)}.gl-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.gl-tabs{display:inline-flex;flex-wrap:wrap;gap:.35rem}.gl-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .7rem;background:var(--surface-chip);border:1px solid var(--line-strong);color:var(--ink-muted);font:inherit;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.gl-tab .btn-icon{width:.9rem;height:.9rem;color:var(--accent, var(--accent-base))}.gl-tab:hover{color:var(--ink-strong);border-color:var(--accent, var(--line-hover))}.gl-tab.is-active{color:var(--on-accent);background:var(--accent, var(--accent-base));border-color:var(--accent, var(--accent-base))}.gl-tab.is-active .btn-icon{color:var(--on-accent)}.gl-tab-diff{--accent: var(--ink);padding-inline:.6rem}.gl-tabs-scope{--accent: var(--accent-base);gap:0;align-self:flex-start;border:1px solid var(--line-strong)}.gl-tab-scope{border:none;padding:.5rem .9rem}.gl-tab-scope+.gl-tab-scope{border-left:1px solid var(--line-strong)}.gl-tab-diff.is-active{background:var(--accent);border-color:var(--accent)}.gl-board{position:relative;display:flex;flex-direction:column;gap:.75rem;min-height:30rem}.gl-me{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;background:color-mix(in srgb,var(--accent-base) 5%,transparent);border:1px solid color-mix(in srgb,var(--accent-base) 25%,transparent)}.gl-me-avatar{width:2.2rem;height:2.2rem}.gl-me-body{flex:1;min-width:0}.gl-me-body .cadet-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gl-me-position{font-size:.72rem;color:var(--ink-dim)}.gl-me-position b{color:var(--ink-strong)}.gl-me-score{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.gl-me-label{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.gl-unit{font-style:normal;font-size:.65em;margin-left:.15em;letter-spacing:.05em;color:var(--ink-dim)}.leaderboard-row.gl-row{grid-template-columns:2.2rem 1fr auto}.gl-row-gap{background:transparent;border-color:transparent;padding-block:.1rem}.gl-you{font-style:normal;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-base);margin-left:.35rem}.cadet-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;color:var(--ink-strong);background:color-mix(in srgb,var(--ink) 12%,transparent)}.podium-avatar{width:2rem;height:2rem;margin-bottom:.35rem}.podium-card.is-empty{opacity:.45}.podium-card.is-current-user{box-shadow:0 0 16px -6px var(--accent-base)}.gl-state{padding:.55rem .75rem;font-size:.72rem;text-align:center;color:var(--ink-dim);border:1px dashed var(--line)}.gl-state-loading{position:absolute;left:50%;bottom:.5rem;transform:translate(-50%);padding:.35rem .8rem;background:var(--surface-solid);border-style:solid;border-color:color-mix(in srgb,var(--accent-base) 35%,transparent);color:var(--accent-base);white-space:nowrap;pointer-events:none;animation:glPulse 1.6s ease-in-out infinite}@keyframes glPulse{0%,to{opacity:1}50%{opacity:.45}}.gl-state-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.gl-state-empty{color:var(--ink)}.global-rank{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;width:100%;padding:.55rem .8rem;box-sizing:border-box;background:color-mix(in srgb,var(--accent-base) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent-base) 30%,transparent);text-align:left;letter-spacing:normal;text-shadow:none}.global-rank:empty{display:none}.global-rank-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-base)}.global-rank-label .ui-icon{width:.9rem;height:.9rem}.global-rank-value{font-size:.85rem;font-weight:700;color:var(--ink-strong)}.global-rank-value b{font-family:var(--font-mono);font-size:1.05rem}.global-rank-guild{color:var(--ink-dim)}.global-rank-guild b{color:#fff}.gl-muted{color:var(--ink-dim);font-weight:600}.global-rank-list{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.7rem;color:var(--ink-dim)}.global-rank-top b{font-family:var(--font-mono);color:var(--ink-strong);margin-left:.2rem}.global-rank-top.is-current-user{color:var(--accent-base)}.volume-control{display:flex;align-items:center;gap:15px;background:var(--surface-control);padding:15px;border:2px solid var(--surface-control-line)}.volume-icon{width:20px;height:20px;color:var(--ink-strong)}.volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--surface-control-line);outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;background:var(--ink-strong);border-radius:50%;cursor:pointer}.volume-val{min-width:45px;font-size:.9rem;font-weight:900;color:var(--ink-strong);text-align:right}.countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:none}.countdown-number{font-size:9rem;font-weight:900;color:var(--hud-ink);text-shadow:var(--hud-shadow);letter-spacing:2px}.countdown-number.pop{animation:countdownPop .7s ease-out}@keyframes countdownPop{0%{transform:scale(.4);opacity:0}30%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.85}}.pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:300}.pause-panel{background:var(--panel-bg);color:var(--panel-ink);border:4px solid var(--panel-ink);padding:2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.2rem;min-width:320px}.pause-title{margin:0;font-size:2.2rem;font-weight:900;letter-spacing:4px}.pause-actions{display:flex;flex-direction:column;gap:.7rem;width:100%}.pause-hint{margin:0;font-size:.75rem;color:var(--panel-ink-dim);letter-spacing:.5px}.game-toast{position:fixed;top:24px;left:50%;transform:translate(-50%) translateY(-10px);background:color-mix(in srgb,var(--panel-bg) 85%,transparent);border:2px solid var(--panel-ink);color:var(--panel-ink);padding:8px 18px;font-size:.95rem;font-weight:800;z-index:400;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.game-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.cs-select-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-strong);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;overflow-y:auto;animation:overlayFadeIn .4s ease-out}.cs-select-panel{width:100%;max-width:980px;display:flex;flex-direction:column;align-items:center;gap:.4rem}.cs-select-title{font-size:2.4rem;font-weight:900;margin:0;color:var(--ink-strong);letter-spacing:1px}.cs-select-sub{margin:0 0 1.2rem;color:var(--ink-muted);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.cs-champ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;width:100%}.cs-champ-card,.cs-howto-champ{--champ-ink: color-mix(in srgb, var(--champ-color), var(--ink) var(--vivid-ink-mix))}.cs-champ-card{background:var(--surface-control);border:3px solid var(--surface-control-line);border-top:6px solid var(--champ-color);color:var(--ink-strong);padding:1.4rem 1.1rem;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;font-family:inherit}.cs-champ-card:hover{transform:translateY(-6px);border-color:var(--champ-color);box-shadow:0 0 26px -6px var(--champ-color)}.cs-champ-icon{font-size:3rem;line-height:1}.cs-champ-name{font-size:1.5rem;font-weight:900;color:var(--champ-ink)}.cs-champ-role{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;opacity:.8}.cs-champ-tagline{font-size:.9rem;line-height:1.35;color:var(--ink-muted);margin:.2rem 0 .4rem;min-height:2.7em}.cs-champ-level{font-size:.8rem;font-weight:700;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--line);padding-top:.6rem;width:100%}.cs-champ-level strong{color:var(--champ-ink)}.cs-champ-badge{background:var(--champ-color);color:var(--on-vivid);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px}.cs-results-note{font-size:.85rem;font-weight:700;color:var(--ink-dim);text-align:center;margin:.2rem 0 0}.cs-select-controls{margin:1rem 0 0;font-size:.85rem;font-weight:700;color:var(--ink-dim);text-align:center;letter-spacing:.3px}.cs-howto-panel{max-width:780px;gap:.6rem}.cs-howto-lead{margin:0 0 .4rem;font-size:1rem;line-height:1.5;color:var(--ink);text-align:center;max-width:62ch}.cs-howto-lead strong{color:var(--cs-accent-ink)}.cs-howto-steps{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.55rem}.cs-howto-steps li{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.9rem;background:var(--surface-control);border-left:5px solid var(--cs-accent);padding:.8rem 1rem}.cs-step-num{width:30px;height:30px;display:grid;place-items:center;background:var(--cs-accent);color:var(--on-vivid);font-weight:900;font-size:1.05rem}.cs-step-icon{font-size:1.6rem;line-height:1}.cs-step-text{font-size:.95rem;line-height:1.45;color:var(--ink)}.cs-step-text strong{color:var(--ink-strong)}.cs-howto-champ{margin:.5rem 0 0;font-size:.95rem;line-height:1.4;color:var(--ink);text-align:center;border-top:2px solid var(--champ-color);padding-top:.7rem;width:100%}.cs-howto-champ strong{color:var(--champ-ink)}.cs-keys{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;font-size:.85rem;color:var(--ink-muted)}kbd{display:inline-block;background:var(--kbd-bg);border:2px solid var(--kbd-line);border-bottom-width:4px;color:var(--kbd-ink);font-family:inherit;font-size:.78rem;font-weight:800;padding:1px 7px;margin:0 1px}.cs-helper-toggle{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.9rem;font-weight:700;color:var(--ink);cursor:pointer}.cs-helper-toggle input{width:20px;height:20px;accent-color:var(--cs-accent);cursor:pointer}.cs-start-btn{margin-top:1rem;min-width:260px;font-size:1.1rem}.tutorial-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay-solid);animation:overlayFadeIn .3s ease-out}.tutorial-panel{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.tutorial-kicker{margin:0;font-size:.66rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.tutorial-title{margin:0 0 .4rem;font-size:clamp(1.4rem,1rem + 2vw,2.1rem);font-weight:900;letter-spacing:.04em;color:#fff}.tutorial-anim{width:100%;border:1px solid var(--line);box-shadow:inset 0 0 0 1px var(--line-soft),0 24px 60px -30px var(--accent)}.tut-scene{display:block;width:100%;height:auto}.tut-floor{fill:var(--arena-aim-bg)}.tutorial-hint{margin:.5rem 0 0;font-size:.95rem;line-height:1.5;color:#dfe6ea}.tutorial-hint strong{color:var(--accent)}.tutorial-start{margin-top:.9rem;min-width:240px}.tut-target,.tut-click,.tut-mark,.tut-player,.tut-shot,.tut-cursor{transform-box:fill-box;transform-origin:center}.tut-cursor{fill:var(--art-ink);stroke:var(--art-scrim);stroke-width:1.2;transform-origin:0 0}.tut-target{fill:none;stroke:var(--accent-vivid);stroke-width:2;animation:tutTarget 6s var(--d, 0s) infinite both}.tut-target circle:last-child{fill:var(--accent-vivid)}.tut-click{fill:none;stroke:var(--art-ink);stroke-width:2;animation:tutClick 6s var(--d, 0s) infinite both}.tut-cursor-aim{animation:tutCursorAim 6s infinite}@keyframes tutTarget{0%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.2)}5%,24%{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1)}29%,to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.5)}}@keyframes tutClick{0%,23%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.4)}24%{opacity:1;transform:translate(var(--tx),var(--ty)) scale(.6)}32%,to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(2.4)}}@keyframes tutCursorAim{0%{transform:translate(140px,95px) scale(1)}18%,23%{transform:translate(70px,60px) scale(1)}24%{transform:translate(70px,60px) scale(.85)}28%{transform:translate(70px,60px) scale(1)}51%,56%{transform:translate(230px,110px) scale(1)}57%{transform:translate(230px,110px) scale(.85)}61%{transform:translate(230px,110px) scale(1)}84%,89%{transform:translate(160px,45px) scale(1)}90%{transform:translate(160px,45px) scale(.85)}94%,to{transform:translate(160px,45px) scale(1)}}.tut-player{fill:var(--accent-vivid);animation:tutPlayer 4.8s infinite}.tut-player circle:first-child{fill:none;stroke:var(--accent-vivid);stroke-width:2}.tut-shot{fill:var(--art-danger);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--art-danger) 80%,transparent))}.tut-shot-1{animation:tutShot1 4.8s linear infinite}.tut-shot-2{animation:tutShot2 4.8s linear infinite}.tut-mark{fill:none;stroke:var(--art-ink);stroke-width:2;animation:tutMark 4.8s var(--d, 0s) infinite both}.tut-cursor-dodge{animation:tutCursorDodge 4.8s infinite}@keyframes tutPlayer{0%,8%{transform:translate(90px,125px);animation-timing-function:ease-out}22%,54%{transform:translate(210px,70px);animation-timing-function:ease-out}68%,to{transform:translate(90px,125px)}}@keyframes tutShot1{0%,13%{opacity:0;transform:translate(-20px,125px)}14%{opacity:1;transform:translate(-20px,125px)}44%{opacity:1;transform:translate(340px,125px)}45%,to{opacity:0;transform:translate(340px,125px)}}@keyframes tutShot2{0%,59%{opacity:0;transform:translate(340px,70px)}60%{opacity:1;transform:translate(340px,70px)}90%{opacity:1;transform:translate(-20px,70px)}91%,to{opacity:0;transform:translate(-20px,70px)}}@keyframes tutMark{0%,7%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.4)}8%{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1.2)}18%{opacity:.6;transform:translate(var(--tx),var(--ty)) scale(.5)}22%,to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.3)}}@keyframes tutCursorDodge{0%{transform:translate(130px,110px) scale(1)}6%,7%{transform:translate(210px,70px) scale(1)}8%{transform:translate(210px,70px) scale(.85)}12%,46%{transform:translate(210px,70px) scale(1)}52%,53%{transform:translate(90px,125px) scale(1)}54%{transform:translate(90px,125px) scale(.85)}58%,to{transform:translate(90px,125px) scale(1)}}.cs-help-bar{position:absolute;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1rem;background:var(--hud-chip-bg);border:1px solid var(--hud-chip-line-soft);padding:.34em .9em;font-size:calc(.78rem * var(--stage-scale, 1));font-weight:700;color:var(--hud-ink-dim);pointer-events:none;z-index:12;max-width:94%}.cs-help-bar.hidden{display:none}.cs-help-bar kbd{border-bottom-width:2px;font-size:.72rem;padding:0 5px}.cs-gold-line{color:var(--hud-panel-gold)}.hud-time.low-time{color:var(--hud-danger);animation:lowTimePulse 1s steps(2,end) infinite}@keyframes lowTimePulse{50%{opacity:.45}}.cs-results-tip{font-size:.9rem;font-weight:700;color:var(--ink);text-align:center;margin:.6rem 0 0;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 721px) and (max-height: 820px){.brand-logo{height:clamp(56px,11vh,104px)}.menu-scroll{padding-block:1rem}}@media (max-width: 720px){.menu-scroll{overflow-y:auto;padding-top:1.2rem}.hud-label{display:none}.hud-row{gap:.3rem}.games-container{grid-template-columns:minmax(0,1fr);gap:1rem}.game-card{max-width:min(420px,62vh)}.brand-logo{height:clamp(56px,15vw,88px)}.topbar-btn{padding:.5rem}.topbar-btn-label{display:none}.menu-modal{padding:0}.menu-modal-card{width:100%;height:100%;max-height:100%;border:none}.records-grid,.cs-champ-grid{grid-template-columns:1fr}.cs-champ-tagline{min-height:0}.cs-howto-steps li{grid-template-columns:auto 1fr;gap:.7rem}.cs-step-icon{display:none}.cs-help-bar{font-size:.7rem}}.aim-hud{--aim-accent: var(--hud-accent);--aim-danger: var(--hud-alert);--aim-ink: var(--hud-ink-faint)}.aim-hud .hud-row-bottom{top:auto;bottom:0;align-items:flex-end;padding:0 max(.88em,env(safe-area-inset-right)) max(.62em,env(safe-area-inset-bottom)) max(.88em,env(safe-area-inset-left))}.aim-hud .hud-chip{background:var(--hud-chip-bg-strong);border-color:var(--hud-chip-line-soft);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.aim-hud .aim-chip{border-left:2px solid var(--hud-chip-line-soft)}.aim-hud .aim-chip-hits{border-left-color:var(--aim-accent)}.aim-hud .aim-chip-fails{border-left-color:var(--aim-danger)}.aim-hud .aim-chip-fails .hud-icon{color:var(--aim-danger)}.aim-hud .hud-chip-time{border-color:var(--hud-chip-line);padding:.22em .85em}.aim-hud .aim-accent{color:var(--aim-accent)}.aim-mono{font-family:var(--font-mono);letter-spacing:.06em}.aim-value-sub{font-size:.62em;font-weight:700;color:var(--aim-ink)}.aim-pips{display:inline-flex;gap:2px;margin-left:.15em}.aim-pip{width:.28em;height:.72em;background:var(--aim-danger);opacity:.9;transition:opacity .2s ease,background .2s ease}.aim-pip.spent{background:var(--hud-ink);opacity:.16}.aim-badge{display:inline-block;padding:.1em .42em;font-size:.58em;font-weight:900;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--hud-chip-line);color:var(--hud-ink);white-space:nowrap}.aim-badge-easy{border-color:color-mix(in srgb,var(--aim-accent) 50%,transparent);color:var(--aim-accent)}.aim-badge-medium{border-color:color-mix(in srgb,var(--hud-warn) 55%,transparent);color:var(--hud-warn)}.aim-badge-hard{border-color:color-mix(in srgb,var(--aim-danger) 55%,transparent);color:color-mix(in srgb,var(--aim-danger) 80%,var(--hud-ink))}.aim-badge-multi{margin-left:.15em;border-color:var(--hud-chip-line-soft);color:var(--aim-ink)}.aim-hud .aim-chip-streak.hot{border-color:color-mix(in srgb,var(--aim-accent) 45%,transparent);border-left-color:var(--aim-accent);box-shadow:0 0 12px color-mix(in srgb,var(--aim-accent) 18%,transparent)}.aim-hud .aim-chip-streak.hot .hud-value,.aim-hud .aim-chip-streak.hot .hud-icon{color:var(--aim-accent)}.aim-hud .aim-chip-streak.hot .aim-badge-multi{background:var(--aim-accent);border-color:var(--aim-accent);color:var(--on-vivid)}.aim-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.3em;background:var(--hud-chip-bg-strong);border:1px solid var(--hud-chip-line);color:var(--hud-ink);font-family:inherit;font-size:.62em;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:.42em .7em;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.aim-btn:hover{background:var(--hud-ink);border-color:var(--hud-ink);color:var(--on-vivid)}.aim-btn .hud-icon{width:1.1em;height:1.1em;color:inherit}.aim-btn-icon{padding:.42em .5em}.aim-btn-icon.is-muted{border-color:color-mix(in srgb,var(--aim-danger) 50%,transparent);color:var(--aim-danger)}.result-icon .ui-icon{width:26px;height:26px}@media (max-width: 720px){.aim-hud .hud-row-bottom{gap:.3rem}.aim-hud .aim-pips,.aim-btn-label{display:none}}
