:root{font-family:Outfit,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff;background:radial-gradient(circle at center,#0b1018,#04070c);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,#090e16,#04070c)}#app{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;padding:0;margin:0}:root{--menu-bg: #05070c;--menu-panel: rgba(9, 14, 22, .72);--menu-line: rgba(255, 255, 255, .09);--menu-line-soft: rgba(255, 255, 255, .05);--menu-ink: #e6edf6;--menu-ink-dim: #7d8b9c;--menu-ink-faint: #5b6878;--menu-mono: "Courier New", Courier, monospace}.menu-shell{position:relative;width:100%;height:100%;display:flex;flex-direction:column;text-align:left;background:radial-gradient(120% 70% at 50% -10%,rgba(34,211,238,.09) 0%,transparent 60%),radial-gradient(90% 60% at 50% 110%,rgba(34,197,94,.06) 0%,transparent 60%),var(--menu-bg);overflow:hidden}.menu-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 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:.9rem max(1.1rem,env(safe-area-inset-right)) 0 max(1.1rem,env(safe-area-inset-left));padding-top:max(.9rem,env(safe-area-inset-top))}.brand{grid-column:2;display:flex;justify-content:center;min-width:0}.brand-logo{height:clamp(72px,14vh,150px);width:auto;max-width:100%;display:block;object-fit:contain}.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(.9rem,3vh,2.2rem) max(1.1rem,env(safe-area-inset-right)) max(.9rem,env(safe-area-inset-bottom)) max(1.1rem,env(safe-area-inset-left));scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.menu-scroll::-webkit-scrollbar{width:8px}.menu-scroll::-webkit-scrollbar-thumb{background:#ffffff24}.games-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),380px));justify-content:center;gap:clamp(1rem,2.6vw,1.9rem);width:100%;max-width:1080px;margin-inline:auto;margin-block:auto}.game-card{position:relative;aspect-ratio:1 / 1;width:100%;max-width:min(380px,52vh);margin-inline:auto;overflow:hidden;background:linear-gradient(180deg,#0a111b,#06090f);border:1px solid var(--menu-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, #22d3ee);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, rgba(255, 255, 255, .2));box-shadow:0 22px 48px -26px var(--accent, #22d3ee)}.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, #22d3ee);fill:none}.card-art .art-stop{stop-color:var(--accent, #22d3ee)}.card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#04070dc7,#04070d4d 26%,#04070d00 46%,#04070d47)}.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, #22d3ee);background:#04080ec7;color:var(--accent, #22d3ee);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, #22d3ee);color:#04121a;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,#04070d00,#04070db3 32%,#04070df5);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:#fff;text-shadow:0 2px 12px rgba(0,0,0,.65)}.game-name .game-icon{flex:0 0 auto;width:1em;height:1em;color:var(--accent, #22d3ee)}.card-tag{flex:0 0 auto;font-size:.56rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent, #22d3ee);white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.7)}.diff-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.diff-seg{padding:.42rem .2rem;background:#04080e99;border:1px solid rgba(255,255,255,.14);color:#c3cdd9;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:#fff;border-color:#ffffff52}.diff-seg.is-active{color:#04121a;background:var(--accent, #22d3ee);border-color:var(--accent, #22d3ee)}.card-cta{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.66rem 1rem;border:none;background:var(--accent, #22d3ee);color:#04121a;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, #22d3ee)}.card-cta:active{filter:brightness(.95)}.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:#04070df0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:inset 0 0 0 1px var(--accent-soft, rgba(255, 255, 255, .12));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, #22d3ee)}.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(--menu-line);color:var(--menu-ink-dim);cursor:pointer;transition:color .18s ease,border-color .18s ease}.card-help-close:hover{color:#fff;border-color:#ffffff4d}.card-help-close .ui-icon{width:14px;height:14px}.card-help-goal{margin:0;font-size:.84rem;line-height:1.5;color:var(--menu-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(--menu-ink-dim)}.card-help-keys kbd{flex:0 0 auto;min-width:3.4rem;padding:.2rem .45rem;text-align:center;border:1px solid var(--menu-line);background:#ffffff0d;font-family:var(--menu-mono);font-size:.7rem;color:#fff}.card-help-toggle{margin-top:auto;padding-top:.6rem;border-top:1px solid var(--menu-line-soft);display:flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;color:var(--menu-ink-dim);cursor:pointer}.card-help-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent, #22d3ee);cursor:pointer}.card-help-toggle:hover{color:var(--menu-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(--menu-line);background:#ffffff05}.record-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.55rem;border-bottom:1px solid var(--menu-line-soft)}.record-diff{display:inline-flex;align-items:center;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--menu-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(--menu-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(--menu-ink-faint)}.score-val{font-size:1.15rem;font-weight:900;color:var(--accent, #fff);font-variant-numeric:tabular-nums}.rank-badge{display:inline-block;padding:.3rem .6rem;border:1px solid var(--menu-line);font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--menu-ink-faint);white-space:nowrap}.rank-gold{border-color:#f59e0b99;color:#fbbf24}.rank-good{border-color:#22c55e99;color:#4ade80}.rank-mid{border-color:#38bdf88c;color:#7dd3fc}.rank-low{border-color:#f43f5e80;color:#fb7185}.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(--menu-ink-faint);border-top:1px solid var(--menu-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:#000000b8;border:1px solid rgba(255,255,255,.22);padding:.19em .5em;white-space:nowrap}.hud-chip-time{padding:.19em .75em;border-color:#fff6}.hud-icon{width:.82em;height:.82em;color:#b8b8b8}.hud-label{font-size:.58em;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#b8b8b8}.hud-value{font-size:.9em;font-weight:900;color:#fff;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:#fff;color:#000;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:#fff;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:#000000b3;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:#fff;margin:0;letter-spacing:2px}.aim-modal{background:#000;padding:10px;border:4px solid #fff}.aim-modal .modal-content{background:#fff;color:#000;padding:30px 40px;text-align:center;min-width:350px;border:4px solid #000}.new-record-badge{background:#e74c3c;color:#fff;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:#000;color:#fff;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 #000;cursor:pointer;text-transform:uppercase;transition:transform .1s}.modal-buttons button:active{transform:scale(.95)}.btn-dark{background:#000;color:#fff}.btn-dark:hover{background:#222}.btn-light{background:#fff;color:#000}.btn-light:hover{background:#eee}.topbar-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:#ffffff08;color:var(--menu-ink, #e6edf6);border:1px solid var(--menu-line, rgba(255, 255, 255, .09));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:#22d3ee1a;border-color:#22d3ee8c;color:#22d3ee}.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:#000000bd;-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,#0a111b,#05080e);border:1px solid var(--menu-line);box-shadow:0 40px 90px -40px #000000e6;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(--menu-line)}.menu-modal-title{margin:0;font-size:.8rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--menu-ink)}.close-btn{background:transparent;border:none;color:#fff;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(--menu-line);color:var(--menu-ink-dim);transition:color .18s ease,border-color .18s ease}.menu-modal-head .close-btn:hover{color:#fff;border-color:#ffffff47}.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:rgba(255,255,255,.16) 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:#888;letter-spacing:1px}.cursor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cursor-opt{background:#111;border:2px solid #333;padding:15px 5px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .2s}.cursor-opt:hover{background:#222;border-color:#666}.cursor-opt.selected{background:#fff;border-color:#fff;color:#000}.cursor-opt span{font-size:.7rem;font-weight:800;text-transform:uppercase}.cursor-preview{width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center}.cursor-preview.default{border:2px solid currentColor;width:10px;height:10px;transform:rotate(45deg)}.cursor-preview.crosshair{border:2px solid currentColor;border-radius:50%;width:14px;height:14px;position:relative}.cursor-preview.crosshair:after{content:"";position:absolute;top:50%;left:50%;width:140%;height:2px;background:currentColor;transform:translate(-50%,-50%)}.cursor-preview.crosshair:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:140%;background:currentColor;transform:translate(-50%,-50%)}.cursor-preview.pointer{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:16px solid currentColor;transform:rotate(-30deg) translateY(-2px)}.cursor-preview.lol{background-image:url(/cursor1.png)}.cursor-opt.selected .cursor-preview{color:#000}body.cursor-default,body.cursor-default .game-card,body.cursor-default canvas{cursor:default}body.cursor-custom-1,body.cursor-custom-1 .game-card,body.cursor-custom-1 canvas{cursor:crosshair}body.cursor-custom-2,body.cursor-custom-2 .game-card,body.cursor-custom-2 canvas{cursor:pointer}body.cursor-custom-3,body.cursor-custom-3 .game-card,body.cursor-custom-3 canvas{cursor:url(/cursor1.png),auto}.results-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;color:#fff;font-family:Outfit,sans-serif;animation:overlayFadeIn .5s ease-out;padding:20px;overflow-y:auto}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.results-container{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:contentSlideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes contentSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.results-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:.5rem}.results-logo img{width:150px;height:auto;margin-bottom:.5rem}.results-title{font-size:1.8rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin:0;text-align:center}.results-grid{width:100%;max-width:450px;border:4px solid #fff;background:#000;display:flex;flex-direction:column;box-shadow:0 0 30px #ffffff0d}.result-row{display:flex;align-items:center;border-bottom:2px solid #fff;height:60px;transition:background .3s}.result-row:hover{background:#ffffff08}.result-row:last-child{border-bottom:none}.result-icon{width:60px;height:100%;display:flex;align-items:center;justify-content:center;border-right:4px solid #fff;flex-shrink:0}.result-icon svg{width:24px;height:24px}.result-label{flex:1;padding:0 1rem;font-size:1.2rem;font-weight:700;letter-spacing:-.5px}.result-value{padding:0 1rem;font-size:1.4rem;font-weight:900;min-width:100px;text-align:right;font-family:Courier New,monospace}.results-actions{display:flex;flex-direction:column;gap:.8rem;width:100%;max-width:450px}.action-btn{width:100%;padding:.8rem;font-size:1.1rem;font-weight:900;text-transform:uppercase;border:none;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.action-btn.primary{background:#fff;color:#000}.action-btn.primary:hover{background:#f0f0f0;transform:scale(1.02)}.action-btn.secondary{background:#fff;color:#000}.action-btn.secondary:hover{background:#f0f0f0;transform:scale(1.02)}@media (max-height: 600px){.results-container{gap:.5rem}.results-title{font-size:1.4rem}.result-row{height:50px}.result-label{font-size:1rem}.result-value{font-size:1.2rem}.results-logo{transform:scale(.8);margin-bottom:0}}.volume-control{display:flex;align-items:center;gap:15px;background:#111;padding:15px;border:2px solid #333}.volume-icon{width:20px;height:20px;color:#fff}.volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#333;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;background:#fff;border-radius:50%;cursor:pointer}.volume-val{min-width:45px;font-size:.9rem;font-weight:900;color:#fff;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:#fff;text-shadow:0 0 25px rgba(0,0,0,.8);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:#000000c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:300}.pause-panel{background:#000;border:4px solid #fff;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:#b8b8b8;letter-spacing:.5px}.game-toast{position:fixed;top:24px;left:50%;transform:translate(-50%) translateY(-10px);background:#000000d9;border:2px solid #fff;color:#fff;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 #fbc531;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:#000000eb;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:#fff;letter-spacing:1px}.cs-select-sub{margin:0 0 1.2rem;color:#cdd6dc;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{background:#0d0d0d;border:3px solid #333;border-top:6px solid var(--champ-color);color:#fff;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-color)}.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:#c8d0d6;margin:.2rem 0 .4rem;min-height:2.7em}.cs-champ-level{font-size:.8rem;font-weight:700;color:#9aa3a9;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #2a2a2a;padding-top:.6rem;width:100%}.cs-champ-level strong{color:var(--champ-color)}.cs-champ-badge{background:var(--champ-color);color:#0d0d0d;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:#aeb7bd;text-align:center;margin:.2rem 0 0}.cs-select-controls{margin:1rem 0 0;font-size:.85rem;font-weight:700;color:#9aa3a9;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:#dfe6ea;text-align:center;max-width:62ch}.cs-howto-lead strong{color:#2ecc71}.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:#0d0d0d;border-left:5px solid #2ecc71;padding:.8rem 1rem}.cs-step-num{width:30px;height:30px;display:grid;place-items:center;background:#2ecc71;color:#0d0d0d;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:#d8dfe4}.cs-step-text strong{color:#fff}.cs-howto-champ{margin:.5rem 0 0;font-size:.95rem;line-height:1.4;color:#d8dfe4;text-align:center;border-top:2px solid var(--champ-color);padding-top:.7rem;width:100%}.cs-howto-champ strong{color:var(--champ-color)}.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:#c2cad0}kbd{display:inline-block;background:#1c1c1c;border:2px solid #4a4a4a;border-bottom-width:4px;color:#fff;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:#dfe6ea;cursor:pointer}.cs-helper-toggle input{width:20px;height:20px;accent-color:#2ecc71;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:#020408f0;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, #22d3ee)}.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(--menu-line);box-shadow:inset 0 0 0 1px #ffffff05,0 24px 60px -30px var(--accent, #22d3ee)}.tut-scene{display:block;width:100%;height:auto}.tut-floor{fill:#05080e}.tutorial-hint{margin:.5rem 0 0;font-size:.95rem;line-height:1.5;color:#dfe6ea}.tutorial-hint strong{color:var(--accent, #22d3ee)}.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:#fff;stroke:#05080e;stroke-width:1.2;transform-origin:0 0}.tut-target{fill:none;stroke:var(--accent, #22d3ee);stroke-width:2;animation:tutTarget 6s var(--d, 0s) infinite both}.tut-target circle:last-child{fill:var(--accent, #22d3ee)}.tut-click{fill:none;stroke:#fff;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, #00f0ff);animation:tutPlayer 4.8s infinite}.tut-player circle:first-child{fill:none;stroke:var(--accent, #00f0ff);stroke-width:2}.tut-shot{fill:#f43f5e;filter:drop-shadow(0 0 4px rgba(244,63,94,.8))}.tut-shot-1{animation:tutShot1 4.8s linear infinite}.tut-shot-2{animation:tutShot2 4.8s linear infinite}.tut-mark{fill:none;stroke:#fff;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:#000000b8;border:1px solid rgba(255,255,255,.18);padding:.34em .9em;font-size:calc(.78rem * var(--stage-scale, 1));font-weight:700;color:#d5dbdf;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:#a67c00}.hud-time.low-time{color:#e74c3c;animation:lowTimePulse 1s steps(2,end) infinite}@keyframes lowTimePulse{50%{opacity:.45}}.cs-results-tip{font-size:.9rem;font-weight:700;color:#d8dfe4;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: #3fe4ff;--aim-danger: #ff2d55;--aim-ink: #8a97a3}.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:#060a0ed1;border-color:#ffffff24;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.aim-hud .aim-chip{border-left:2px solid rgba(255,255,255,.14)}.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:#ffffff47;padding:.22em .85em}.aim-hud .aim-accent{color:var(--aim-accent)}.aim-mono{font-family:Courier New,Courier,monospace;letter-spacing:.06em}.aim-value-sub{font-size:.62em;font-weight:700;color:var(--aim-ink, #8a97a3)}.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:#fff;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 rgba(255,255,255,.25);color:#fff;white-space:nowrap}.aim-badge-easy{border-color:#3fe4ff80;color:var(--aim-accent)}.aim-badge-medium{border-color:#ffb0208c;color:#ffb020}.aim-badge-hard{border-color:#ff2d558c;color:#ff5c78}.aim-badge-multi{margin-left:.15em;border-color:#ffffff2e;color:var(--aim-ink)}.aim-hud .aim-chip-streak.hot{border-color:#3fe4ff73;border-left-color:var(--aim-accent);box-shadow:0 0 12px #3fe4ff2e}.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:#04141a}.aim-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.3em;background:#060a0ed1;border:1px solid rgba(255,255,255,.22);color:#d7dee4;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:#fff;border-color:#fff;color:#05070a}.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:#ff2d5580;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}}
