*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #131318;--color-surface: #131318;--color-surface-dim: #131318;--color-surface-bright: #39383e;--color-surface-container-lowest: #0e0e13;--color-surface-container-low: #1b1b20;--color-surface-container: #1f1f24;--color-surface-container-high: #2a292f;--color-surface-container-highest: #35343a;--color-on-surface: #e4e1e9;--color-on-surface-variant: #b9cacb;--color-outline: #849495;--color-outline-variant: #3b494b;--neon-cyan: #00f0ff;--neon-cyan-dim: #00dbe9;--neon-cyan-light: #dbfcff;--neon-cyan-fixed: #7df4ff;--neon-purple: #d05bff;--neon-purple-dim: #ecb1ff;--neon-purple-fixed: #f9d8ff;--neon-pink: #ff3d8a;--neon-yellow: #ffd700;--neon-gold: #e9c400;--neon-green: #39ff14;--color-error: #ffb4ab;--color-border: rgba(0, 240, 255, .2);--color-border-subtle: rgba(255, 255, 255, .08);--font-cjk-fallbacks: "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Hiragino Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-sora: "Sora", "Outfit", var(--font-cjk-fallbacks);--font-hanken: "Hanken Grotesk", "Outfit", var(--font-cjk-fallbacks);--font-space: "Space Grotesk", monospace, var(--font-cjk-fallbacks);--font: var(--font-hanken);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--color-bg);font-family:var(--font);color:var(--color-on-surface);-webkit-font-smoothing:antialiased;touch-action:none;user-select:none}.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:1em;height:1em;line-height:1;font-size:24px;flex-shrink:0;user-select:none;-webkit-user-select:none;color:inherit}.material-symbols-outlined svg{width:1em;height:1em;display:block;fill:currentColor;flex-shrink:0;pointer-events:none}#app{width:100%;height:100%;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center}.app-bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(0,219,233,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,219,233,.05) 1px,transparent 1px);background-size:32px 32px;opacity:.7}.app-bg-radial{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 40%,rgba(0,240,255,.08) 0%,rgba(208,91,255,.03) 45%,transparent 75%)}#screens-container{width:100%;height:100%;position:absolute;top:0;left:0;z-index:10;pointer-events:auto;display:flex;justify-content:center}canvas{display:block;width:100%!important;height:100%!important;position:absolute;top:0;left:0;z-index:1}.screen{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overflow-x:hidden;animation:fadeIn .25s cubic-bezier(.16,1,.3,1);z-index:10;-webkit-overflow-scrolling:touch;touch-action:pan-y}button,[role=button],.btn-neon-primary,.btn-neon-secondary,.neon-grid-btn,.neon-top-btn,.neon-top-avatar,.neon-player-pill,.neon-highscore-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;background:#131318e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fadeIn .3s ease}.overlay.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.neon-glow{box-shadow:0 0 16px #00f0ff99,inset 0 0 12px #00f0ff33}.neon-glow-strong{box-shadow:0 0 24px #00f0ffcc,0 0 40px #d05bff4d,inset 0 0 16px #00f0ff4d}.neon-text-glow{text-shadow:0 0 10px rgba(0,240,255,.7),0 0 20px rgba(0,240,255,.3)}.neon-text-purple{text-shadow:0 0 10px rgba(208,91,255,.7),0 0 20px rgba(208,91,255,.3)}.glass-card{background:#131318bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.2)}.glass-card-subtle{background:#1f1f2499;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}.neon-strip-top{position:relative}.neon-strip-top-purple:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--neon-purple);box-shadow:0 0 10px #d05bffe6,0 0 20px #d05bff80}@keyframes scanlineAnim{0%{transform:translate(-100%)}to{transform:translate(200%)}}.scan-effect{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,240,255,.15),transparent);animation:scanlineAnim 3s infinite linear;pointer-events:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:32px 28px;min-width:320px;max-width:440px;width:92%;box-shadow:0 0 40px #00f0ff1f,0 20px 60px #000000b3;animation:slideUp .35s cubic-bezier(.34,1.56,.64,1);max-height:94vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.neon-top-bar{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(60px + var(--sat));z-index:50;display:flex;align-items:center;justify-content:space-between;padding:var(--sat) max(16px,var(--sar)) 0 max(16px,var(--sal));box-sizing:border-box;background:#131318;border-bottom:1px solid rgba(0,240,255,.15);box-shadow:0 4px 16px #00000073}.neon-brand-mini{display:flex;align-items:center;gap:12px}.neon-mini-icon{width:32px;height:32px;border-radius:10px;border:1px solid rgba(0,240,255,.35);display:flex;align-items:center;justify-content:center;background:#00f0ff14;box-shadow:0 0 10px #00f0ff66}.neon-top-title{font-family:var(--font-sora);font-size:1.25rem;font-weight:800;letter-spacing:.06em;color:var(--neon-cyan);text-shadow:0 0 10px rgba(0,240,255,.7);text-transform:uppercase}.neon-top-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(0,240,255,.3);background:#00f0ff14;color:var(--neon-cyan);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.neon-top-btn:hover,.neon-top-btn:active{border-color:var(--neon-cyan);box-shadow:0 0 12px #00f0ff99;transform:scale(1.05)}.neon-top-avatar{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(0,240,255,.4);background:#00f0ff1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--neon-cyan)}.neon-top-avatar:hover,.neon-top-avatar:active{border-color:var(--neon-cyan);box-shadow:0 0 12px #00f0ff99;transform:scale(1.05)}.neon-top-actions{display:flex;align-items:center;gap:8px}.neon-notice-top-btn{position:relative;color:gold;border-color:#ffd70066;background:#ffd70014}.neon-notice-top-btn:hover,.neon-notice-top-btn:active{background:#ffd7002e;border-color:gold;box-shadow:0 0 14px #ffd70080;transform:scale(1.05)}.neon-badge-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#ff3d8a;box-shadow:0 0 8px #ff3d8ae6;animation:pulseBeacon 1.8s infinite}.neon-page-wrapper{width:100%;max-width:480px;margin:0 auto;padding:calc(76px + var(--sat)) max(18px,var(--sar)) max(40px,calc(20px + var(--sab))) max(18px,var(--sal));display:flex;flex-direction:column;gap:18px;position:relative;z-index:10}.neon-page-title-block{margin-bottom:6px;text-align:left}.neon-page-heading{font-family:var(--font-sora);font-size:1.6rem;font-weight:800;letter-spacing:.04em;color:var(--neon-cyan);text-shadow:0 0 12px rgba(0,240,255,.7);text-transform:uppercase}.neon-page-subtitle{font-size:.88rem;color:var(--color-on-surface-variant);margin-top:4px}.lb-page-header{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:4px}.lb-trophy-hero{font-size:48px!important;color:var(--neon-yellow);text-shadow:0 0 16px rgba(255,215,0,.8);filter:drop-shadow(0 0 14px rgba(255,215,0,.8));margin-bottom:6px}.lb-list{display:flex;flex-direction:column;gap:10px;width:100%}.lb-row{border-radius:14px;background:#131318bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,240,255,.15);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;position:relative;overflow:hidden}.lb-row:hover{transform:scale(1.01)}.lb-rank-1{background:linear-gradient(90deg,#e9c4002e,#e9c4000d);border-left:4px solid #e9c400;box-shadow:inset 20px 0 30px -20px #e9c40066,0 0 15px #e9c40026}.lb-rank-num-1{font-family:var(--font-sora);font-size:1.3rem;font-weight:800;color:#e9c400;text-shadow:0 0 10px rgba(233,196,0,.8)}.lb-rank-2{background:linear-gradient(90deg,#b9cacb2e,#b9cacb0d);border-left:4px solid #b9cacb;box-shadow:inset 20px 0 30px -20px #b9cacb66}.lb-rank-num-2{font-family:var(--font-sora);font-size:1.3rem;font-weight:800;color:#b9cacb;text-shadow:0 0 10px rgba(185,202,203,.8)}.lb-rank-3{background:linear-gradient(90deg,#d05bff2e,#d05bff0d);border-left:4px solid #d05bff;box-shadow:inset 20px 0 30px -20px #d05bff66}.lb-rank-num-3{font-family:var(--font-sora);font-size:1.3rem;font-weight:800;color:#d05bff;text-shadow:0 0 10px rgba(208,91,255,.8)}.lb-rank-other{border-left:4px solid rgba(255,255,255,.15)}.lb-rank-num-other{font-family:var(--font-space);font-size:1.1rem;font-weight:700;color:var(--color-on-surface-variant)}.lb-row-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.lb-rank-badge{width:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lb-player-meta{display:flex;flex-direction:column;text-align:left;min-width:0}.lb-player-name{font-family:var(--font-hanken);font-size:1rem;font-weight:700;color:var(--color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-player-sub{font-family:var(--font-space);font-size:.72rem;color:var(--color-on-surface-variant);letter-spacing:.04em}.lb-row-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex-shrink:0}.lb-score-val{font-family:var(--font-sora);font-size:1rem;font-weight:800;color:var(--color-on-surface);letter-spacing:.02em}.lb-score-val.highlight{color:var(--neon-cyan);text-shadow:0 0 10px rgba(0,240,255,.7)}.lb-date-val{font-family:var(--font-space);font-size:.7rem;color:var(--color-on-surface-variant)}.lb-my-rank-card{width:100%;border-radius:16px;background:#131318e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.35);box-shadow:0 0 20px #00f0ff33;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;margin-top:4px}.lb-my-rank-badge{width:44px;height:44px;border-radius:50%;background:#00f0ff1f;border:1.5px solid var(--neon-cyan);display:flex;align-items:center;justify-content:center;font-family:var(--font-sora);font-size:1rem;font-weight:800;color:var(--neon-cyan);box-shadow:0 0 10px #00f0ff66;flex-shrink:0}.settings-section-card{width:100%;border-radius:16px;background:#131318cc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.2);padding:15px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000059}.settings-section-header{display:flex;align-items:center;gap:10px}.settings-section-title{font-family:var(--font-space);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon-cyan)}.settings-section-title.purple{color:var(--neon-purple);text-shadow:0 0 8px rgba(208,91,255,.6)}.settings-section-title.cyan{color:var(--neon-cyan);text-shadow:0 0 8px rgba(0,240,255,.6)}.settings-item-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.settings-item-row:last-child{border-bottom:none;padding-bottom:0}.settings-item-meta{display:flex;flex-direction:column;gap:2px;text-align:left}.settings-item-label{font-family:var(--font-hanken);font-size:.95rem;font-weight:600;color:var(--color-on-surface)}.settings-item-desc{font-size:.76rem;color:var(--color-on-surface-variant)}.neon-toggle-wrap{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.neon-toggle-input{opacity:0;width:0;height:0}.neon-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:26px;transition:all .25s ease}.neon-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.neon-toggle-input:checked+.neon-toggle-slider{background-color:var(--neon-cyan);border-color:var(--neon-cyan);box-shadow:0 0 12px #00f0ffb3}.neon-toggle-input:checked+.neon-toggle-slider:before{transform:translate(22px);background-color:#0e0e13}.neon-slider-wrap{display:flex;flex-direction:column;gap:8px;padding:8px 0}.neon-slider-top{display:flex;justify-content:space-between;align-items:center}.neon-slider-badge{font-family:var(--font-space);font-size:.8rem;font-weight:700;color:var(--neon-cyan);background:#00f0ff1a;border:1px solid rgba(0,240,255,.35);padding:3px 10px;border-radius:9999px;box-shadow:0 0 8px #00f0ff4d}input[type=range].neon-range{-webkit-appearance:none;width:100%;height:6px;background:#ffffff1a;border-radius:4px;outline:none;cursor:pointer}input[type=range].neon-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--neon-cyan);cursor:pointer;box-shadow:0 0 10px #00f0ffe6;transition:transform .15s ease,box-shadow .15s ease}input[type=range].neon-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 16px #00f0ff}.neon-custom-slider{position:relative;width:100%;height:36px;display:flex;align-items:center;user-select:none;-webkit-user-select:none;touch-action:none}.neon-slider-track{width:100%;height:6px;background:#ffffff1a;border-radius:4px;position:relative;overflow:hidden;pointer-events:none}.neon-slider-fill{height:100%;background:linear-gradient(90deg,#00dbe9,#00f0ff);box-shadow:0 0 10px #00f0ff99;border-radius:4px;width:0%;pointer-events:none}.neon-slider-thumb-hitbox{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;outline:none;z-index:2;-webkit-tap-highlight-color:transparent}.neon-slider-thumb{width:20px;height:20px;border-radius:50%;background:var(--neon-cyan);border:2px solid #ffffff;box-shadow:0 0 12px #00f0ffe6;transition:transform .15s ease,box-shadow .15s ease;pointer-events:none}.neon-slider-thumb-hitbox:hover .neon-slider-thumb,.neon-slider-thumb-hitbox:focus-visible .neon-slider-thumb{transform:scale(1.15);box-shadow:0 0 16px #00f0ff}.neon-slider-thumb-hitbox.active,.neon-slider-thumb-hitbox:active{cursor:grabbing}.neon-slider-thumb-hitbox.active .neon-slider-thumb,.neon-slider-thumb-hitbox:active .neon-slider-thumb{transform:scale(1.25);box-shadow:0 0 20px #00f0ff,0 0 8px #fff;background:#fff;border-color:var(--neon-cyan)}.neon-slider-limits{display:flex;justify-content:space-between;font-family:var(--font-space);font-size:.7rem;color:#b9cacb99}.settings-menu-btn{width:100%;padding:14px 16px;border-radius:12px;background:#1f1f24b3;border:1px solid rgba(255,255,255,.08);color:var(--color-on-surface);display:flex;align-items:center;justify-content:space-between;font-family:var(--font-hanken);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.settings-menu-btn:hover{background:#00f0ff14;border-color:#00f0ff66;color:var(--neon-cyan);transform:translateY(-1px)}.settings-menu-btn.danger{border-color:#ff3d8a4d;color:var(--neon-pink)}.settings-menu-btn.danger:hover{background:#ff3d8a1f;border-color:var(--neon-pink);box-shadow:0 0 16px #ff3d8a59}.settings-lang-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.settings-lang-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#1f1f2499;border:1px solid rgba(255,255,255,.08);color:var(--color-on-surface);font-family:var(--font-hanken);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.settings-lang-btn:hover{background:#00f0ff14;border-color:#00f0ff59;color:var(--neon-cyan)}.settings-lang-btn.active{background:#00f0ff26;border-color:var(--neon-cyan);color:#fff;box-shadow:0 0 12px #00f0ff59}.settings-lang-flag{font-size:1.1rem;line-height:1}.settings-lang-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-hero-section{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin-top:10px;margin-bottom:8px}.profile-avatar-aura{position:absolute;width:120px;height:120px;border-radius:50%;background:#00f0ff40;filter:blur(28px);pointer-events:none}.profile-avatar-outer-ring{position:relative;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-purple));padding:3px;box-shadow:0 0 25px #00f0ff80;margin-bottom:14px}.profile-avatar-inner{width:100%;height:100%;border-radius:50%;background:var(--color-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-avatar-icon{font-size:64px!important;color:var(--neon-cyan)}.profile-status-beacon{position:absolute;bottom:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--neon-cyan);border:3px solid var(--color-surface);box-shadow:0 0 10px #00f0ffe6}.profile-name-display{font-family:var(--font-sora);font-size:1.5rem;font-weight:800;color:var(--color-on-surface);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.profile-edit-name-btn{background:transparent;border:none;color:var(--color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s}.profile-edit-name-btn:hover{color:var(--neon-cyan)}.profile-rank-badge{display:inline-flex;align-items:center;gap:6px;background:#00f0ff1a;border:1px solid rgba(0,240,255,.35);padding:4px 14px;border-radius:9999px;margin-top:8px;box-shadow:0 0 10px #00f0ff33}.profile-rank-label{font-family:var(--font-space);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon-cyan)}.profile-edit-box{width:100%;background:#131318d9;border:1px solid rgba(0,240,255,.3);border-radius:14px;padding:16px;margin-top:12px;box-shadow:0 0 20px #00f0ff26}.profile-stats-container{display:flex;flex-direction:column;gap:12px}.profile-featured-stat{width:100%;border-radius:16px;background:#131318d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.3);padding:20px;position:relative;overflow:hidden;box-shadow:0 0 24px #00f0ff26;display:flex;align-items:center;justify-content:space-between}.profile-featured-left{display:flex;align-items:center;gap:14px;position:relative;z-index:2}.profile-featured-icon-box{width:48px;height:48px;border-radius:12px;background:#00f0ff1f;border:1px solid rgba(0,240,255,.4);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #00f0ff66}.profile-featured-meta{display:flex;flex-direction:column;text-align:left}.profile-featured-label{font-family:var(--font-space);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-surface-variant)}.profile-featured-val{font-family:var(--font-sora);font-size:1.8rem;font-weight:800;color:var(--neon-cyan);text-shadow:0 0 12px rgba(0,240,255,.7);line-height:1.1}.profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-stat-card{border-radius:14px;background:#1f1f24bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);padding:14px;display:flex;flex-direction:column;gap:6px;text-align:left;transition:all .2s ease}.profile-stat-card:hover{border-color:#00f0ff59;background:#1f1f24e6;transform:translateY(-1px)}.profile-stat-header{display:flex;align-items:center;gap:8px}.profile-stat-header .material-symbols-outlined{font-size:20px}.profile-stat-label{font-family:var(--font-space);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant)}.profile-stat-val{font-family:var(--font-sora);font-size:1.25rem;font-weight:800;color:var(--color-on-surface)}.neon-menu-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow-x:hidden;overflow-y:auto}.neon-main-content{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:440px;margin:0 auto;padding:calc(76px + var(--sat)) max(20px,var(--sar)) max(10px,calc(40px + var(--sab))) max(20px,var(--sal));position:relative;z-index:10;height:100%}.neon-hero-box{margin-bottom:22px;position:relative;cursor:pointer}.neon-hero-aura{position:absolute;inset:-12px;background:#00f0ff2e;border-radius:28px;filter:blur(20px);transition:all .4s ease}.neon-hero-box:hover .neon-hero-aura{background:#00f0ff4d;filter:blur(26px)}.neon-hero-card{width:136px;height:136px;border-radius:24px;background:#131318d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.4);box-shadow:0 0 25px #00f0ff80,inset 0 0 15px #00f0ff33;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:transform .3s ease,box-shadow .3s ease}.neon-hero-box:hover .neon-hero-card{transform:translateY(-2px) scale(1.02);box-shadow:0 0 35px #00f0ffb3,inset 0 0 20px #00f0ff4d}.neon-tetris-logo-svg{width:92px;height:92px;filter:drop-shadow(0 0 12px rgba(0,240,255,.9))}.neon-notice-card{width:100%;min-height:56px;border-radius:14px;background:#ffd70012;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,215,0,.35);box-shadow:0 0 18px #ffd7001f,inset 0 0 12px #ffd7000d;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:14px;transition:all .2s ease;position:relative;overflow:hidden;box-sizing:border-box}.neon-notice-card:hover{background:#ffd7001f;border-color:gold;box-shadow:0 0 24px #ffd70047,0 4px 15px #00000080;transform:translateY(-1px)}.neon-notice-card:active{transform:scale(.98)}.neon-notice-left{display:flex;align-items:center;gap:12px;text-align:left}.neon-notice-icon-box{width:38px;height:38px;border-radius:10px;background:#ffd70026;border:1px solid rgba(255,215,0,.45);display:flex;align-items:center;justify-content:center;color:gold;box-shadow:0 0 10px #ffd70059;flex-shrink:0}.neon-notice-icon-box .material-symbols-outlined{font-size:22px}.neon-notice-info{display:flex;flex-direction:column;gap:2px}.neon-notice-header-row{display:flex;align-items:center;gap:8px}.neon-notice-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#ff3d8a33;border:1px solid rgba(255,61,138,.5);color:#ff3d8a;padding:1px 6px;border-radius:4px;line-height:1.2}.neon-notice-title{font-family:var(--font-sora);font-size:14px;font-weight:800;color:gold;letter-spacing:.02em;text-shadow:0 0 8px rgba(255,215,0,.4)}.neon-notice-desc{font-size:11.5px;color:var(--color-on-surface-variant);font-weight:500}.neon-notice-arrow{color:gold;font-size:20px!important;opacity:.8;transition:transform .2s ease,opacity .2s ease}.neon-notice-card:hover .neon-notice-arrow{opacity:1;transform:translate(3px)}.neon-player-pill{width:100%;display:flex;align-items:center;gap:14px;padding:8px 16px 8px 8px;border-radius:9999px;background:#131318bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,240,255,.2);box-shadow:0 4px 20px #0006;margin-bottom:16px;cursor:pointer;transition:all .2s ease}.neon-player-pill:hover,.neon-player-pill:active{border-color:#00f0ff80;box-shadow:0 0 20px #00f0ff40;transform:translateY(-1px)}.neon-player-avatar-wrap{width:44px;height:44px;border-radius:50%;border:2px solid var(--neon-cyan);padding:2px;display:flex;align-items:center;justify-content:center;background:#00f0ff1a;box-shadow:0 0 10px #00f0ff66;flex-shrink:0}.neon-player-avatar-icon{font-size:26px;color:var(--neon-cyan)}.neon-player-meta{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}.neon-player-tag{font-family:var(--font-space);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-surface-variant);line-height:1.2}.neon-player-name{font-family:var(--font-hanken);font-size:17px;font-weight:700;color:var(--color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neon-player-arrow{color:var(--color-on-surface-variant);font-size:20px}.neon-highscore-card{width:100%;border-radius:16px;background:#131318bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.18);padding:16px 20px;position:relative;overflow:hidden;margin-bottom:20px;box-shadow:0 4px 20px #0000004d}.neon-strip-purple{position:absolute;top:0;left:0;width:100%;height:2px;background:var(--neon-purple);box-shadow:0 0 10px #d05bffe6,0 0 20px #d05bff80}.neon-highscore-inner{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.neon-highscore-left{display:flex;flex-direction:column;gap:3px;text-align:left}.neon-highscore-header{display:flex;align-items:center;gap:8px}.neon-pulse-beacon{width:8px;height:8px;border-radius:50%;background:var(--neon-purple);box-shadow:0 0 8px #d05bffe6;animation:pulseBeacon 2s infinite ease-in-out}@keyframes pulseBeacon{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.3);opacity:.4}}.neon-highscore-label{font-family:var(--font-space);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--neon-purple-dim)}.neon-highscore-val{font-family:var(--font-sora);font-size:26px;font-weight:800;color:var(--color-on-surface);letter-spacing:-.02em;line-height:1.1}.neon-trophy-icon{font-size:38px!important;color:var(--neon-purple);opacity:.7;transition:opacity .2s,transform .2s;text-shadow:0 0 12px rgba(208,91,255,.6);filter:drop-shadow(0 0 10px rgba(208,91,255,.6))}.neon-highscore-card:hover .neon-trophy-icon{opacity:1;transform:scale(1.08) rotate(-4deg)}.neon-actions-stack{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.btn-neon-primary{width:100%;height:54px;border-radius:12px;background:linear-gradient(90deg,#00f0ff,#dbfcff);color:#002022;font-family:var(--font-sora);font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:none;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 0 18px #00f0ff80,0 4px 15px #0006;transition:all .2s ease}.btn-neon-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 0 28px #00f0ffd9,0 6px 20px #00000080;filter:brightness(1.08)}.btn-neon-primary:active{transform:scale(.97)}.btn-neon-secondary{width:100%;height:52px;border-radius:12px;background:#131318bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,240,255,.3);color:var(--color-on-surface);font-family:var(--font-sora);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .2s ease}.btn-neon-secondary:hover{background:#00f0ff1a;border-color:var(--neon-cyan);color:var(--neon-cyan);box-shadow:0 0 16px #00f0ff59;transform:translateY(-1px)}.btn-neon-secondary:active{transform:scale(.97)}.neon-actions-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.neon-grid-btn{height:66px;border-radius:12px;background:#131318bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,240,255,.18);color:var(--color-on-surface-variant);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease}.neon-grid-btn .material-symbols-outlined{font-size:24px;transition:all .2s ease}.neon-grid-btn .btn-text{font-family:var(--font-space);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.neon-grid-btn:hover{color:var(--neon-cyan);border-color:#00f0ff80;background:#00f0ff14;box-shadow:0 0 16px #00f0ff40;transform:translateY(-1px)}.neon-grid-btn:hover .material-symbols-outlined{text-shadow:0 0 10px rgba(0,240,255,.8);filter:drop-shadow(0 0 8px rgba(0,240,255,.8));transform:scale(1.1)}.neon-grid-btn:active{transform:scale(.96)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;border:none;border-radius:12px;font-family:var(--font-sora);font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--neon-cyan),var(--neon-purple));color:#000;box-shadow:0 4px 20px #00f0ff59}.btn-primary:hover{filter:brightness(1.12);box-shadow:0 6px 28px #00f0ff80;transform:translateY(-1px)}.btn-secondary{background:#1f1f24b3;color:var(--color-on-surface);border:1px solid var(--color-border)}.btn-secondary:hover{background:#00f0ff1a;border-color:var(--neon-cyan);color:var(--neon-cyan);transform:translateY(-1px)}.btn+.btn{margin-top:10px}.error-msg{font-size:.78rem;color:var(--neon-pink);margin-bottom:12px;min-height:16px;text-align:center}.name-entry-label{font-family:var(--font-space);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-variant);margin-bottom:8px;display:block;text-align:left}.name-entry-input-wrap{position:relative;margin-bottom:6px}.name-entry-input{width:100%;background:#1f1f24cc;border:1.5px solid rgba(0,240,255,.35);border-radius:12px;padding:12px 14px;font-family:var(--font);font-size:1rem;font-weight:600;color:var(--color-on-surface);outline:none;transition:border-color .2s,box-shadow .2s;letter-spacing:.05em}.name-entry-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 0 3px #00f0ff33,0 0 16px #00f0ff4d}.char-counter{font-family:var(--font-space);text-align:right;font-size:.72rem;color:var(--color-on-surface-variant);margin-bottom:14px;transition:color .2s}.char-counter.at-limit{color:var(--neon-pink)}.tutorial-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:200;background:transparent;pointer-events:none}.tutorial-card{background:transparent;border:none;padding:24px;margin:0;text-align:center;width:90%;max-width:340px;animation:slideUp .3s ease-out}.tutorial-title{color:var(--neon-cyan);font-family:var(--font-sora);font-size:1.2rem;font-weight:700;margin-top:12px;margin-bottom:8px;text-shadow:0 0 10px rgba(0,240,255,.6)}.tutorial-description{font-size:.9rem;color:var(--color-on-surface);opacity:.9;line-height:1.4}.tutorial-icon-container{font-size:3rem;height:80px;display:flex;align-items:center;justify-content:center}.anim-hand{display:inline-block}.swipe-x{animation:swipeXAnim 2s infinite ease-in-out}@keyframes swipeXAnim{0%,to{transform:translate(0);opacity:.5}25%{transform:translate(-30px);opacity:1}75%{transform:translate(30px);opacity:1}}.tap{animation:tapAnim 1.5s infinite}@keyframes tapAnim{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(.85);opacity:1}}.swipe-down-slow{animation:swipeDownSlowAnim 2.5s infinite ease-in-out}@keyframes swipeDownSlowAnim{0%,to{transform:translateY(-20px);opacity:.3}50%{transform:translateY(40px);opacity:1}}.swipe-down-fast{animation:swipeDownFastAnim 1.5s infinite cubic-bezier(.1,.8,.3,1)}@keyframes swipeDownFastAnim{0%,10%{transform:translateY(-30px);opacity:0}20%{opacity:1}to{transform:translateY(60px);opacity:0}}.migration-notice-overlay{z-index:1000;padding:16px;transition:opacity .2s ease}.migration-notice-overlay.fade-out{opacity:0;pointer-events:none}.migration-notice-card{position:relative;width:100%;max-width:420px;border-radius:20px;padding:28px 22px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#131318f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,240,255,.35);box-shadow:0 0 36px #00f0ff38,0 20px 60px #000000d9;animation:slideUp .35s cubic-bezier(.34,1.56,.64,1);box-sizing:border-box}.migration-close-btn{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--color-on-surface-variant);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.migration-close-btn:hover{background:#ffffff26;color:#fff}.migration-badge-wrap{margin-bottom:12px}.migration-badge-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#00f0ff2e,#d05bff40);border:1px solid rgba(0,240,255,.45);display:flex;align-items:center;justify-content:center;color:var(--neon-cyan);box-shadow:0 0 24px #00f0ff73}.migration-badge-icon .material-symbols-outlined{font-size:32px}.migration-header{margin-bottom:14px}.migration-title{font-family:var(--font-sora);font-size:1.35rem;font-weight:800;color:var(--neon-cyan);text-shadow:0 0 12px rgba(0,240,255,.6);margin-bottom:6px;letter-spacing:.02em}.migration-tag{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:gold;background:#ffd7001f;border:1px solid rgba(255,215,0,.35);padding:3px 12px;border-radius:20px;text-shadow:0 0 6px rgba(255,215,0,.4)}.migration-body{display:flex;flex-direction:column;gap:10px;font-size:.92rem;line-height:1.5;color:var(--color-on-surface);margin-bottom:20px;text-align:center}.migration-p{margin:0}.migration-p.highlight{font-weight:600;color:#fff}.migration-p.thanks{font-weight:600;color:var(--neon-cyan);letter-spacing:.03em}.no-ads-badge{display:inline-block;background:#39ff1426;border:1px solid rgba(57,255,20,.4);color:#39ff14;font-weight:700;font-size:.78rem;padding:1px 8px;border-radius:6px;text-shadow:0 0 8px rgba(57,255,20,.6);margin-left:4px}.migration-actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.migration-badge-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;border-radius:8px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.migration-badge-btn:hover{transform:scale(1.04);filter:drop-shadow(0 0 16px rgba(0,240,255,.6))}.migration-badge-img{height:54px;width:auto;object-fit:contain;border-radius:8px;display:block}.migration-download-btn{height:52px;font-size:15px}.migration-continue-btn{height:44px;font-size:13px;border-color:#ffffff26;color:var(--color-on-surface-variant)}.migration-continue-btn:hover{border-color:var(--neon-cyan);color:#fff}.sr-only-seo{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-playstore-badge-link{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;text-decoration:none;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.home-playstore-badge-link:hover{transform:scale(1.05);filter:drop-shadow(0 0 16px rgba(0,240,255,.5))}.home-playstore-badge-img{height:52px;width:auto;object-fit:contain;border-radius:8px;display:block}.neon-playstore-banner{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#00f0ff14,#39ff140d);border:1px solid rgba(0,240,255,.3);box-shadow:0 4px 16px #00f0ff1a;text-decoration:none;color:var(--color-on-surface);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-top:4px}.neon-playstore-banner:hover{border-color:var(--neon-cyan);box-shadow:0 0 20px #00f0ff59;transform:translateY(-2px)}.neon-playstore-left{display:flex;align-items:center;gap:12px}.neon-playstore-icon-box{width:36px;height:36px;border-radius:8px;background:#00f0ff1f;border:1px solid rgba(0,240,255,.4);display:flex;align-items:center;justify-content:center;color:var(--neon-cyan);flex-shrink:0}.neon-playstore-info{display:flex;flex-direction:column;gap:2px;text-align:left}.neon-playstore-title{font-family:var(--font-sora);font-size:.85rem;font-weight:700;color:#fff;letter-spacing:.02em}.neon-playstore-desc{font-size:.72rem;color:var(--color-on-surface-variant)}.neon-playstore-badge{padding:4px 10px;border-radius:20px;background:#00f0ff26;border:1px solid var(--neon-cyan);font-size:.7rem;font-weight:700;color:var(--neon-cyan);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.game-web-playstore-card{display:none;position:fixed;left:28px;top:50%;transform:translateY(-50%);width:200px;padding:16px 14px;border-radius:16px;background:#131318d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.3);box-shadow:0 8px 32px #00f0ff26;z-index:45;flex-direction:column;align-items:center;text-align:center;gap:10px;text-decoration:none;color:var(--color-on-surface);transition:all .3s ease}@media (min-width: 860px){.game-web-playstore-card{display:flex}}.game-web-playstore-card:hover{border-color:var(--neon-cyan);box-shadow:0 0 24px #00f0ff66;transform:translateY(-50%) scale(1.03)}.game-web-playstore-icon{width:44px;height:44px;border-radius:10px;background:#00f0ff26;border:1px solid rgba(0,240,255,.45);display:flex;align-items:center;justify-content:center;color:var(--neon-cyan)}.game-web-playstore-heading{font-family:var(--font-sora);font-size:.88rem;font-weight:800;color:#fff;line-height:1.2}.game-web-playstore-sub{font-size:.72rem;color:var(--color-on-surface-variant);line-height:1.3}.game-web-playstore-btn{width:100%;height:36px;border-radius:8px;background:var(--neon-cyan);color:#0b0b10;font-family:var(--font-sora);font-size:.76rem;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;box-shadow:0 0 12px #00f0ff80;transition:all .2s ease}.game-web-playstore-btn:hover{background:#fff;box-shadow:0 0 18px #00f0ffcc}.pause-playstore-btn{height:46px;border-color:#00f0ff66;color:var(--neon-cyan);background:#00f0ff14}.pause-playstore-btn:hover{border-color:var(--neon-cyan);background:#00f0ff2e;box-shadow:0 0 14px #00f0ff66}.pwa-update-toast{position:fixed;bottom:calc(16px + var(--sab));left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:440px;z-index:10000;border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:14px;background:#131318f5;border:1px solid rgba(0,240,255,.4);box-shadow:0 0 24px #00f0ff40,0 12px 40px #000c;box-sizing:border-box;animation:pwaSlideUp .35s cubic-bezier(.34,1.56,.64,1);transition:opacity .25s ease,transform .25s ease}.pwa-update-toast.fade-out{opacity:0;transform:translate(-50%,20px);pointer-events:none}@keyframes pwaSlideUp{0%{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%)}}.pwa-update-icon-wrap{width:40px;height:40px;border-radius:10px;background:#00f0ff1f;border:1px solid rgba(0,240,255,.35);display:flex;align-items:center;justify-content:center;color:var(--neon-cyan);flex-shrink:0}.pwa-update-info{flex:1;min-width:0}.pwa-update-title{font-family:var(--font-sora);font-size:.88rem;font-weight:700;color:#fff;margin:0 0 2px;display:flex;align-items:center;gap:6px}.pwa-update-text{font-family:var(--font-outfit);font-size:.78rem;color:var(--color-on-surface-variant);margin:0;line-height:1.3}.pwa-update-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-btn-reload{padding:8px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#00f0ff,#00b4d8);color:#0a0a0f;font-family:var(--font-space);font-size:.8rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .2s ease;box-shadow:0 0 12px #00f0ff66}.pwa-btn-reload:hover,.pwa-btn-reload:active{transform:scale(1.04);box-shadow:0 0 18px #00f0ffb3}.pwa-btn-dismiss{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:var(--color-on-surface-variant);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.pwa-btn-dismiss:hover,.pwa-btn-dismiss:active{background:#ffffff1f;color:#fff}
