@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Sora:wght@600;700;800&family=Space+Mono:wght@400;700&display=swap");:root{--bg-primary:#080b14;--bg-secondary:#04060c;--void:#04060c;--ink:#080c15;--glow-cyan:#2de2e6;--glow-red:#ff4d6d;--glow-green:#7bffb2;--glow-yellow:#ffcf5c;--glow-purple:#b06bff;--text-primary:#e6eef8;--text-muted:#8296b0;--text-faint:#47566e;--hair:rgba(120,150,190,.12);--radius-card:14px;--radius-control:10px;--radius-panel:12px;--panel:rgba(6,9,16,.985);--motion-fast:160ms;--motion-base:240ms;--font-ui-body:"Nunito",system-ui,sans-serif;--font-ui-display:"Sora","Nunito",system-ui,sans-serif;--font-game:"Space Mono",ui-monospace,"Courier New",monospace;--hud-bar-height:clamp(60px,11vw,80px);--hud-bar-pad-y:clamp(8px,1.6vw,14px);--hud-bar-pad-x:clamp(10px,3vw,20px);--hud-bar-border:2px;--hud-chip-width:clamp(58px,18vw,85px);--hud-chip-height:calc(var(--hud-bar-height) - (2 * var(--hud-bar-pad-y)) - var(--hud-bar-border));--app-height:100vh;--app-height:100dvh}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;width:100%;max-width:100%;overflow-x:hidden}body{background:var(--bg-secondary);font-family:var(--font-ui-body);font-weight:500;color:var(--text-primary);overflow:hidden;text-size-adjust:100%}.font-ui-body,.mode-btn-desc,.pause-modal-btn,.rules-modal ul{font-family:var(--font-ui-body);font-weight:500;letter-spacing:.01em}.box-label,.box-value,.font-ui-display,.hud-box,.menu-button,.mode-btn,.mode-btn-title,.pause-modal,.pause-modal-title,.rules-modal,.rules-modal h2,.rules-modal-play,.status-text,.title-logo{font-family:var(--font-ui-display);font-weight:700;letter-spacing:.03em}.title-logo{margin:0;color:var(--glow-cyan);font-size:clamp(52px,13vw,110px);font-weight:800;letter-spacing:.04em;line-height:1}.box-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);opacity:1}.box-label,.box-value{font-family:var(--font-game);font-weight:700;line-height:1.1}.box-value{font-size:clamp(15px,4.5vw,19px);color:#c9fbff;text-shadow:0 0 12px rgba(45,226,230,.25);letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-text{font-weight:800}.status-text.event-name{letter-spacing:.08em}.font-game{font-family:var(--font-game);font-weight:700;letter-spacing:.06em}.glow-text{text-shadow:0 0 20px rgba(6,182,212,.8),0 0 40px rgba(6,182,212,.4)}.page-transition{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page{display:flex;flex-direction:column;height:100vh;height:var(--app-height);width:100%;max-width:100%;padding:0;gap:0;position:relative;overflow:hidden}.home-background{top:0;left:0;z-index:0;background:radial-gradient(circle at 50% 38%,rgba(18,40,78,.22) 0,#03050b 68%)}.home-background,.neon-background{position:absolute;width:100%;height:100%}.neon-background{inset:0;z-index:1;pointer-events:none}.hud-overlay{position:relative;min-height:var(--hud-bar-height);width:100%;max-width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:var(--hud-bar-pad-y) var(--hud-bar-pad-x);padding-top:max(var(--hud-bar-pad-y),env(safe-area-inset-top));padding-left:max(var(--hud-bar-pad-x),env(safe-area-inset-left));padding-right:max(var(--hud-bar-pad-x),env(safe-area-inset-right));grid-gap:clamp(6px,2vw,12px);gap:clamp(6px,2vw,12px);box-sizing:border-box;background:linear-gradient(180deg,rgba(10,14,23,.95),rgba(6,9,16,.85));border-bottom:var(--hud-bar-border) solid var(--hair);flex-shrink:0;z-index:10;pointer-events:auto}.hud-left{gap:clamp(6px,2vw,12px);justify-self:start}.hud-center,.hud-left{display:flex;align-items:center;min-width:0}.hud-center{justify-content:center;justify-self:center;text-align:center;overflow:hidden}.hud-center .status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hud-right{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:clamp(6px,2vw,12px);min-width:0}.canvas-wrap{flex:1 1}.canvas-wrap,.game-area{position:relative;overflow:hidden}.game-area{display:block;flex:1 1 auto}.canvas-wrap canvas{display:block;width:100%;height:100%}.hud-box,.menu-button{width:var(--hud-chip-width);min-width:var(--hud-chip-width);max-width:var(--hud-chip-width);height:var(--hud-chip-height);min-height:var(--hud-chip-height);max-height:var(--hud-chip-height);padding:0 12px;box-sizing:border-box;background:rgba(120,150,190,.04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hair);border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.hud-box{flex-direction:column;gap:1px}.menu-button{color:var(--glow-cyan);cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease;pointer-events:auto;-moz-appearance:none;appearance:none;-webkit-appearance:none}.status-text{font-family:var(--font-game);font-size:clamp(14px,4vw,24px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--glow-cyan);text-shadow:0 0 14px rgba(45,226,230,.4)}.status-text.status-text-tutorial{font-family:var(--font-ui-display);color:#c9fbff;font-size:clamp(14px,4vw,24px);font-weight:700;letter-spacing:.03em;text-shadow:0 0 14px rgba(45,226,230,.35);text-transform:none}.status-text.event-name{color:#ef4444;text-shadow:0 0 22px rgba(239,68,68,.9),0 0 44px rgba(239,68,68,.45);text-transform:uppercase;font-size:clamp(15px,4.8vw,34px);font-weight:900;letter-spacing:clamp(.5px,.5vw,2px)}.menu-button:hover{background:rgba(45,226,230,.12);border-color:rgba(45,226,230,.4);box-shadow:none;color:#67e8f9}.menu-button:active{transform:scale(.97)}.menu-icon{width:18px;height:12px;display:flex;flex-direction:column;justify-content:space-between}.menu-icon span{display:block;height:2px;width:100%;background:currentColor;border-radius:1px}.menu-text{display:none}.pause-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100}.pause-content{text-align:center;animation:pausePopIn .3s ease-out}@keyframes pausePopIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pause-text{font-size:clamp(44px,12vw,72px);font-weight:700;color:var(--glow-cyan);text-shadow:0 0 30px rgba(6,182,212,.8);margin-bottom:32px;letter-spacing:3px}.pause-hint{font-size:16px;color:#a0aec0;opacity:.8;letter-spacing:1px}.mode-btn{flex:1 1 280px;width:100%;max-width:360px;min-height:clamp(92px,22vw,120px);background:rgba(6,182,212,.08);border:1px solid rgba(6,182,212,.25);color:#e6eef8;padding:clamp(16px,4vw,24px) clamp(18px,5vw,28px);border-radius:12px;cursor:pointer;transition:transform .24s ease,box-shadow .24s;display:flex;flex-direction:column;align-items:center;justify-content:center}.mode-btn:hover{transform:scale(1.02);border-color:rgba(45,226,230,.5);box-shadow:0 6px 26px rgba(6,182,212,.22)}.mode-btn-title{font-size:clamp(19px,5vw,24px);font-weight:700;color:#67e8f9}.mode-btn-desc{font-size:clamp(14px,3.8vw,17px);font-weight:600;color:#cbd5e1;margin-top:6px;line-height:1.35}.rules-modal{position:relative;z-index:20;width:min(560px,calc(100vw - 28px));max-width:min(560px,calc(100vw - 28px));max-height:calc(var(--app-height) - 28px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius-panel);padding:clamp(24px,4vw,44px);box-shadow:0 40px 100px rgba(0,0,0,.66);color:var(--text-primary);text-align:left;animation:panelIn .32s cubic-bezier(.16,1,.3,1)}.rules-modal h2{font-family:var(--font-ui-display);font-size:clamp(24px,5.5vw,36px);font-weight:800;color:#eaf4ff;text-align:left;letter-spacing:.01em;margin:0 0 6px}.rules-modal ul{text-align:left;padding-left:18px;line-height:1.7;color:#cbd5e1;font-weight:600;font-size:16px;margin-bottom:18px}.rules-modal-play{background:#06b6d4;color:#042027;padding:12px 28px;min-height:44px;border-radius:10px;font-weight:800;box-shadow:0 6px 18px rgba(6,182,212,.18);transition:transform .2s;cursor:pointer;border:none;font-family:var(--font-ui-display);font-size:16px}.rules-modal-play:hover:not(:disabled){transform:scale(1.03)}.rules-modal-play:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pause-modal{width:min(420px,calc(100vw - 28px));max-width:min(420px,calc(100vw - 28px));text-align:center}.pause-modal-title{font-family:var(--font-ui-display);font-size:clamp(24px,6vw,34px);font-weight:800;color:#eaf4ff;margin-bottom:16px}.pause-modal-btn{padding:12px 20px;min-height:44px;border-radius:10px;cursor:pointer;font-weight:700;font-size:15px;border:1px solid transparent}.pause-modal-btn-resume{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.3);color:#e6eef8}.pause-modal-btn-restart{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.3);color:#fef3c7}.pause-modal-btn-menu{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#bbf7d0}.leaderboard-overlay{position:fixed;inset:0;z-index:100}.leaderboard-modal{width:min(460px,calc(100vw - 28px));max-width:min(460px,calc(100vw - 28px));text-align:left}.leaderboard-modal-title{font-family:var(--font-ui-display);font-size:clamp(24px,5.5vw,34px);font-weight:800;color:#eaf4ff;text-align:left;margin-bottom:4px}.leaderboard-modal-subtitle{font-size:13px;color:var(--text-faint);margin-bottom:22px;font-weight:600}.leaderboard-status{color:#cbd5e1;font-size:15px;margin:16px 0}.leaderboard-error{color:#fca5a5}.leaderboard-list{list-style:none;margin:0 0 20px;padding:0;text-align:left}.leaderboard-row{display:grid;grid-template-columns:32px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:13px 2px;border-radius:0;margin-bottom:0;background:transparent;border:none;border-bottom:1px solid var(--hair)}.leaderboard-row:first-child{background:transparent;border-bottom-color:rgba(255,207,92,.3)}.leaderboard-rank{font-family:var(--font-game);font-weight:700;color:var(--glow-cyan);font-size:15px}.leaderboard-row:first-child .leaderboard-rank{color:var(--glow-yellow)}.leaderboard-name{font-weight:700;color:#e6eef8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{font-family:var(--font-game);font-weight:700;color:#eaf4ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.leaderboard-empty{text-align:center;color:#94a3b8;padding:20px 0;font-weight:600}.username-field{margin-bottom:18px;text-align:left}.username-label{display:block;font-family:var(--font-game);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--glow-cyan);margin-bottom:10px}.username-input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:var(--radius-control);border:1px solid var(--hair);background:rgba(0,0,0,.3);color:var(--text-primary);font-family:var(--font-ui-body);font-size:16px;font-weight:600;outline:none;transition:border-color .2s}.username-input:focus{border-color:var(--glow-cyan)}.username-input-invalid,.username-input-invalid:focus{border-color:var(--glow-red)}.btn:focus-visible,.menu-button:focus-visible,.mode-btn:focus-visible,.pause-modal-btn:focus-visible,.rules-modal-play:focus-visible,.username-input:focus-visible{outline:2px solid var(--glow-cyan);outline-offset:3px;box-shadow:0 0 0 4px rgba(6,182,212,.16),0 0 24px rgba(6,182,212,.28)}.username-meta{margin:4px 0 0;font-family:var(--font-game);font-size:11px;letter-spacing:.04em;color:var(--text-faint);font-weight:600}.username-hint{margin:6px 0 0;font-size:13px;color:#fca5a5;font-weight:600}.username-registered{margin:0 0 18px;font-size:16px;font-weight:600;color:#cbd5e1}.username-registered strong{color:#c9fbff;font-weight:800}.overlay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .22s;z-index:10;pointer-events:auto}.overlay-center{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.overlay-center,.title-screen-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;box-sizing:border-box}.title-screen-center{z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.title-screen-inner{flex-direction:column;align-items:center;gap:clamp(20px,5vh,36px);max-width:800px;margin:auto}.mode-btn-row,.title-screen-inner{display:flex;justify-content:center;width:100%}.mode-btn-row{gap:clamp(12px,2.5vw,18px);margin-top:12px;flex-wrap:wrap}@media (orientation:landscape) and (max-height:500px){.title-screen-inner{gap:clamp(12px,3vh,20px)}.title-logo{font-size:clamp(40px,9vh,72px)}.mode-btn{min-height:clamp(76px,26vh,110px)}}.touch-joystick{position:absolute;z-index:60;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:clamp(104px,30vw,148px);height:clamp(104px,30vw,148px);border-radius:50%;background:radial-gradient(circle at center,rgba(45,226,230,.1),rgba(15,23,42,.55));border:2px solid rgba(45,226,230,.35);box-shadow:0 0 24px rgba(45,226,230,.18),inset 0 0 20px rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:auto}.touch-joystick-thumb{width:42%;height:42%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7ff2f5,var(--glow-cyan));box-shadow:0 0 16px rgba(45,226,230,.6);will-change:transform;pointer-events:none}.touch-action-btn{position:absolute;z-index:60;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));min-width:64px;min-height:64px;padding:0 18px;border-radius:999px;background:rgba(6,182,212,.16);border:2px solid rgba(6,182,212,.45);color:#c9fbff;font-family:var(--font-ui-display);font-weight:800;font-size:15px;letter-spacing:.04em;box-shadow:0 0 22px rgba(6,182,212,.25);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}.touch-action-btn:active{transform:scale(.96)}.rotate-hint{position:absolute;z-index:55;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:none;max-width:min(92vw,420px);padding:6px 14px;border-radius:999px;background:rgba(12,18,30,.7);border:1px solid rgba(45,226,230,.25);color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.02em;text-align:center;pointer-events:none}@media (pointer:coarse) and (orientation:portrait){.rotate-hint{display:block}}.home-shell{width:100%;max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr;grid-gap:clamp(26px,5vh,56px);gap:clamp(26px,5vh,56px);padding:clamp(20px,5vh,64px) clamp(18px,5vw,56px)}@media (min-width:920px){.home-shell{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(40px,6vw,104px)}}.home-head{display:flex;flex-direction:column;gap:16px}.home-eyebrow{font-family:var(--font-game);text-transform:uppercase;letter-spacing:.34em;font-size:12px;color:var(--glow-cyan)}.home-wordmark{font-family:var(--font-ui-display);font-weight:800;font-size:clamp(66px,16vw,154px);line-height:.88;letter-spacing:.01em;color:#e2f6ff;margin:0}.home-tagline{color:var(--text-muted);font-size:clamp(15px,1.8vw,18px);line-height:1.55;max-width:40ch}.menu-list{display:flex;flex-direction:column}.menu-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:clamp(14px,2vw,22px);gap:clamp(14px,2vw,22px);width:100%;padding:clamp(14px,2.1vh,21px) 8px;background:transparent;border:none;border-top:1px solid var(--hair);color:var(--text-primary);text-align:left;cursor:pointer;transition:padding-left var(--motion-base) ease,background var(--motion-base) ease}.menu-row:last-child{border-bottom:1px solid var(--hair)}.menu-row:focus-visible,.menu-row:hover{padding-left:20px;background:linear-gradient(90deg,rgba(45,226,230,.09),transparent 70%);outline:none}.menu-index{font-family:var(--font-game);font-size:13px;letter-spacing:.12em;color:var(--text-faint);transition:color var(--motion-base) ease}.menu-row:focus-visible .menu-index,.menu-row:hover .menu-index{color:var(--glow-cyan)}.menu-row-body{display:flex;flex-direction:column;gap:3px;min-width:0}.menu-row-title{font-family:var(--font-ui-display);font-weight:800;font-size:clamp(21px,3vw,30px);line-height:1.04;color:#eaf4ff}.menu-row-desc{font-size:13.5px;color:var(--text-muted)}.menu-arrow{font-size:22px;color:var(--text-faint);transition:transform var(--motion-base) ease,color var(--motion-base) ease}.menu-row:focus-visible .menu-arrow,.menu-row:hover .menu-arrow{color:var(--glow-cyan);transform:translateX(5px)}.modal-close{position:absolute;top:clamp(16px,3vw,26px);right:clamp(16px,3vw,26px);width:38px;height:38px;border-radius:10px;background:rgba(120,150,190,.06);border:1px solid var(--hair);color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.modal-close:hover{background:rgba(45,226,230,.14);color:#67e8f9;border-color:rgba(45,226,230,.4)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 24px;border-radius:var(--radius-control);border:1px solid transparent;font-family:var(--font-ui-display);font-weight:800;font-size:15px;letter-spacing:.03em;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-primary{background:rgba(45,226,230,.14);border-color:var(--glow-cyan);color:#c9fbff;box-shadow:0 0 18px rgba(45,226,230,.22)}.btn-primary:hover:not(:disabled){background:rgba(45,226,230,.2);box-shadow:0 0 26px rgba(45,226,230,.34)}.btn-ghost{background:rgba(120,150,190,.04);border-color:var(--hair);color:var(--text-muted)}.btn-ghost:hover:not(:disabled){border-color:rgba(45,226,230,.5);color:#c9fbff}.modal-eyebrow{display:block;font-family:var(--font-game);text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--glow-cyan);margin-bottom:10px}.brief-list{display:flex;flex-direction:column;margin:18px 0 24px}.brief-row{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:baseline;padding:12px 4px;border-top:1px solid var(--hair)}.brief-row:last-child{border-bottom:1px solid var(--hair)}.brief-row-index{font-family:var(--font-game);font-size:12px;letter-spacing:.1em;color:var(--text-faint)}.brief-row-text{font-family:var(--font-ui-body);font-weight:500;font-size:15px;line-height:1.5;color:var(--text-muted)}.challenge-modal,.profile-modal,.settings-modal{position:relative;z-index:20;width:min(1080px,calc(100vw - 28px));max-width:min(1080px,calc(100vw - 28px));max-height:calc(var(--app-height) - 28px);overflow-y:auto;-webkit-overflow-scrolling:touch;text-align:left;background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius-panel);padding:clamp(26px,4vw,52px);box-shadow:0 40px 100px rgba(0,0,0,.66);animation:panelIn .32s cubic-bezier(.16,1,.3,1)}.challenge-modal h2,.profile-modal h2,.settings-modal h2{font-family:var(--font-ui-display);font-weight:800;font-size:clamp(28px,4.5vw,44px);color:#eaf4ff;letter-spacing:.01em;margin:0 0 6px;text-align:left}@keyframes panelIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.challenge-progress-line,.settings-label,.tabs{font-family:var(--font-game)}.stars{display:inline-flex;gap:3px}.stars .star{color:rgba(120,150,190,.25);font-size:13px;line-height:1}.stars .star.on{color:var(--glow-yellow);text-shadow:0 0 10px rgba(255,207,92,.7)}.stars-lg{justify-content:center;margin:10px 0 6px}.stars-lg .star{font-size:34px}.challenge-progress-line{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);font-size:12px;margin:0 0 26px}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.challenge-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 12px;min-height:104px;border-radius:0;background:transparent;border:1px solid var(--hair);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--motion-fast),background var(--motion-fast)}.challenge-card:hover:not(:disabled){border-color:rgba(45,226,230,.55);background:linear-gradient(180deg,rgba(45,226,230,.06),transparent)}.challenge-card.cleared{border-color:rgba(123,255,178,.3)}.challenge-card.locked{opacity:.32;cursor:not-allowed}.challenge-num{font-family:var(--font-game);font-size:12px;color:var(--glow-cyan);letter-spacing:.08em}.challenge-title{font-family:var(--font-ui-display);font-weight:700;font-size:15px;line-height:1.2;color:#dbe7f5;margin-top:auto}.challenge-tier{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.settings-section{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--hair);text-align:left}.settings-section:last-of-type{border-bottom:none}.settings-label{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--glow-cyan);margin-bottom:16px}.chip-row{display:flex;flex-wrap:wrap;gap:10px}.cos-chip{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:0;background:transparent;border:1px solid var(--hair);color:var(--text-primary);font-weight:700;font-size:13.5px;cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast)}.cos-chip:not(.locked):hover{border-color:rgba(45,226,230,.5)}.cos-chip.active{background:rgba(45,226,230,.1);border-color:var(--glow-cyan);color:#c9fbff;box-shadow:none}.cos-chip.locked{opacity:.4;cursor:not-allowed}.cos-swatch{width:15px;height:15px;border-radius:50%;box-shadow:0 0 10px currentColor}.settings-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer}.settings-hint{font-size:13px;color:var(--text-faint);margin-top:8px;min-height:20px;transition:color var(--motion-fast)}.settings-hint-active{font-family:var(--font-game);letter-spacing:.04em;color:var(--glow-cyan)}.tabs{display:flex;gap:4px;margin-bottom:26px;border-bottom:1px solid var(--hair)}.tab{padding:10px 16px;border-radius:0;cursor:pointer;margin-bottom:-1px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:700;font-size:13px;letter-spacing:.04em;transition:color var(--motion-fast),border-color var(--motion-fast)}.tab.active,.tab:hover{color:#c9fbff}.tab.active{background:transparent;border-bottom-color:var(--glow-cyan)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:0 28px;gap:0 28px;text-align:left}.stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 2px;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--hair)}.stat-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);min-width:0}.stat-row-value{font-family:var(--font-game);font-weight:700;font-size:20px;color:#c9fbff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.achv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:0 28px;gap:0 28px;text-align:left}.achv-row{display:flex;align-items:center;gap:14px;padding:14px 2px;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--hair);opacity:.5}.achv-row.unlocked{opacity:1;border-bottom-color:rgba(123,255,178,.28);background:transparent}.achv-icon{font-size:26px;width:40px;height:40px;display:grid;place-items:center}.achv-text{display:flex;flex-direction:column;gap:2px}.achv-name{font-family:var(--font-ui-display);font-weight:800;font-size:15px;color:#eaf4ff}.achv-desc{font-size:12.5px;color:var(--text-muted)}.end-modal{position:relative;z-index:20;width:min(560px,calc(100vw - 28px));max-width:min(560px,calc(100vw - 28px));max-height:calc(var(--app-height) - 28px);overflow-y:auto;background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius-panel);padding:clamp(30px,5vw,52px);text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.66);animation:panelIn .32s cubic-bezier(.16,1,.3,1)}.end-title{font-family:var(--font-ui-display);font-weight:800;font-size:clamp(26px,6vw,36px);margin-bottom:2px}.end-title-win{color:var(--glow-green);text-shadow:0 0 24px rgba(123,255,178,.55)}.end-title-lose{color:var(--glow-red);text-shadow:0 0 24px rgba(255,77,109,.55)}.end-subtitle{color:var(--text-muted);font-weight:700;font-size:14px;margin-bottom:4px}.end-score-label{font-family:var(--font-game);font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:var(--text-faint);margin-top:14px}.end-score{font-size:clamp(52px,15vw,76px);color:var(--glow-cyan);line-height:1}.end-score,.pb-badge{font-family:var(--font-game);font-weight:700}.pb-badge{display:inline-block;margin:12px auto 0;padding:6px 18px;border-radius:999px;background:rgba(255,207,92,.14);border:1px solid rgba(255,207,92,.42);color:#fef3c7;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.end-stat-grid{margin:24px 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.end-stat-grid .stat-row{padding:12px 2px}.end-stat-grid .stat-row-value{font-size:17px}.end-actions{gap:12px;flex-wrap:wrap;margin-top:4px}.achv-banner-wrap,.end-actions{display:flex;justify-content:center}.achv-banner-wrap{position:fixed;top:0;left:0;right:0;z-index:130;padding-top:max(20px,env(safe-area-inset-top));pointer-events:none}.achv-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;min-width:min(460px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:18px 26px 18px 18px;border-radius:16px;background:linear-gradient(118deg,rgba(9,22,17,.97),rgba(7,11,18,.98));border:1px solid rgba(123,255,178,.45);box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 46px rgba(123,255,178,.24);transform:translateY(-180%);opacity:0;transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .42s ease}.achv-banner.show{transform:translateY(0);opacity:1}.achv-banner-icon{flex-shrink:0;font-size:32px;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:rgba(123,255,178,.12);border:1px solid rgba(123,255,178,.4);box-shadow:0 0 26px rgba(123,255,178,.3)}.achv-banner-text{display:flex;flex-direction:column;gap:3px}.achv-banner-label{font-family:var(--font-game);text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:var(--glow-green);font-weight:700}.achv-banner-name{font-family:var(--font-ui-display);font-weight:800;font-size:21px;color:#eafff4;line-height:1.1}.achv-banner-desc{font-size:13px;color:var(--text-muted)}.achv-banner-count{position:absolute;top:12px;right:16px;font-family:var(--font-game);font-size:11px;color:var(--text-faint)}.achv-banner-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,hsla(0,0%,100%,.16) 50%,transparent 58%);transform:translateX(-120%)}.achv-banner.show .achv-banner-shine{animation:bannerShine 1.15s ease .4s 1}@keyframes bannerShine{to{transform:translateX(120%)}}@media (prefers-reduced-motion:reduce){.challenge-modal,.end-modal,.profile-modal,.rules-modal,.settings-modal{animation:none}.challenge-card:hover:not(:disabled){transform:none}.achv-banner{transition:opacity .22s ease}.achv-banner.show .achv-banner-shine{animation:none}.menu-row:focus-visible,.menu-row:hover{padding-left:8px}}