@property --fade-left{syntax:"<length>";inherits:false;initial-value:0px}@property --fade-right{syntax:"<length>";inherits:false;initial-value:0px}:root{--bg:#0b0b16;--ink:#f2eee4;--muted:#9a94b0;--accent:#E8A23D;--danger:#e0577a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:none;touch-action:none}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block}.hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:5;padding:calc(18px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) 18px calc(22px + env(safe-area-inset-left))}.hud .stat{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 1px rgba(255,255,255,.7)}.stat{font-family:ui-monospace,SF Mono,monospace;line-height:1.3}.stat .k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff}.stat .v{font-size:26px;font-weight:700;color:#fff}.lives{display:flex;gap:8px;font-size:24px}.hud-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.coin-stat{display:flex;align-items:center;gap:6px;font-family:ui-monospace,SF Mono,monospace;text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 1px rgba(255,255,255,.7)}.coin-icon{font-size:15px;line-height:1}.coin-stat .k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff}.coin-stat .v{font-size:16px;font-weight:700;color:#fff}.hud-buttons{position:fixed;top:calc(70px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));z-index:6;display:flex;flex-direction:row;align-items:center;gap:8px;pointer-events:none}.mute-btn,.pause-btn,.home-btn{position:static;pointer-events:auto;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;border-radius:50%;background:#10101e8c;border:1px solid rgba(255,255,255,.12);color:var(--ink);box-shadow:0 4px 16px #00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mute-btn:hover,.pause-btn:hover,.home-btn:hover{transform:translateY(-1px);filter:brightness(1.12)}.mute-btn:focus-visible,.pause-btn:focus-visible,.home-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.center{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.banner{font-size:clamp(30px,7vw,64px);font-weight:800;letter-spacing:-.02em;text-shadow:0 4px 30px rgba(0,0,0,.6)}.panel{pointer-events:auto;text-align:center;background:#10101edb;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:34px 40px;max-width:440px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel .eyebrow{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.panel h1{font-size:40px;font-weight:800;margin:6px 0 12px;letter-spacing:-.02em}.panel p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:20px}.menu-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}button{pointer-events:auto;font:inherit;font-weight:700;font-size:16px;color:#1a1206;background:var(--accent);border:none;border-radius:999px;padding:13px 30px;cursor:pointer;transition:transform .12s ease,filter .12s ease}button:hover{transform:translateY(-2px);filter:brightness(1.06)}button:focus-visible{outline:3px solid #fff;outline-offset:2px}button.btn-secondary{color:var(--ink);background:#10101e80;border:1px solid rgba(255,255,255,.4)}button.btn-secondary:hover{filter:brightness(1.2);background:#10101e9e}.hidden{display:none!important}#mainMenu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:space-between;pointer-events:none;text-align:center;padding:calc(28px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left))}.menu-top{display:flex;flex-direction:column;align-items:center;gap:6px;text-shadow:0 2px 10px rgba(0,0,0,.45),0 0 2px rgba(255,255,255,.35)}body.install-open .menu-top{margin-top:clamp(84px,15vh,132px)}.menu-top h1{font-size:clamp(34px,9vw,56px);font-weight:800;letter-spacing:-.02em;color:#fff;margin:2px 0}.menu-top .coin-line{font-family:ui-monospace,SF Mono,monospace;color:#fff;font-weight:700;font-size:16px}.menu-bottom{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin-bottom:clamp(24px,7vh,64px)}.menu-bottom .menu-actions{pointer-events:auto}.menu-carousel{display:flex;align-items:center;gap:8px;width:100%;max-width:560px;pointer-events:auto}.carousel-viewport{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;--fade-left:0px;--fade-right:28px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent 100%);transition:--fade-left .18s ease,--fade-right .18s ease}.carousel-viewport::-webkit-scrollbar{display:none}.carousel-viewport.at-start{--fade-left:0px}.carousel-viewport:not(.at-start){--fade-left:28px}.carousel-viewport.at-end{--fade-right:0px}@media (prefers-reduced-motion:reduce){.carousel-viewport{transition:none}}.carousel-track{display:flex;gap:10px;padding:4px}.carousel-item{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:104px;min-height:88px;padding:12px 16px;color:var(--ink);background:#10101e8c;border:1px solid rgba(255,255,255,.35);border-radius:14px;font:inherit;font-size:14px;cursor:pointer;transition:transform .12s ease,background .12s ease}.carousel-item:hover{background:#10101eb8;transform:translateY(-2px)}.carousel-play{color:#1a1206;background:var(--accent);border-color:#00000026;font-weight:700}.carousel-play:hover{background:var(--accent);filter:brightness(1.06)}.carousel-item:active{transform:translateY(0)}.carousel-icon{font-size:26px;line-height:1}.carousel-label{font-weight:600;white-space:nowrap}.carousel-arrow{flex:0 0 auto;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--ink);background:#10101e80;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer}.carousel-arrow:hover{background:#10101eb8}.carousel-arrow.hidden-arrow{visibility:hidden}@media (max-width:560px){.carousel-arrow{display:none}.carousel-item{min-width:92px;min-height:80px;padding:10px 12px}.carousel-icon{font-size:23px}.carousel-label{font-size:13px}.carousel-track{padding-inline:10px}}@media (prefers-reduced-motion:reduce){.carousel-viewport{scroll-behavior:auto}.carousel-item{transition:none}}body.menu-open .hud,body.menu-open .hud-buttons,body.menu-open .mute-btn,body.menu-open .pause-btn,body.menu-open .home-btn,body.shop-open .hud,body.shop-open .hud-buttons,body.shop-open .mute-btn,body.shop-open .pause-btn,body.shop-open .home-btn,body.shop-open #mainMenu,body.map-open .hud,body.map-open .hud-buttons,body.map-open .mute-btn,body.map-open .pause-btn,body.map-open .home-btn,body.map-open #mainMenu{display:none}#shop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;pointer-events:none;padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.shop-page,.shop-stage{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;gap:12px}.shop-panel{display:contents}.shop-tabs{order:-1}.shop-hero{order:0}.shop-hero-info{order:1}.shop-rail{order:2}.shop-header{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;flex:0 0 auto;background:#10101e8c;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shop-back{pointer-events:auto;flex:0 0 auto;font:inherit;font-weight:700;font-size:13px;color:var(--ink);background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer;white-space:nowrap;transition:transform .12s ease,filter .12s ease}.shop-back:hover{transform:translateY(-1px);filter:brightness(1.15);background:#ffffff24}.shop-back:focus-visible{outline:2px solid #fff;outline-offset:2px}.shop-title{flex:1 1 auto;text-align:center;font-size:18px;font-weight:800;letter-spacing:-.01em}.shop-balance{flex:0 0 auto;font-family:ui-monospace,SF Mono,monospace;font-weight:700;font-size:15px;color:var(--accent);white-space:nowrap}.shop-tabs{pointer-events:auto;display:flex;gap:8px;flex:0 0 auto;background:#10101e73;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:5px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shop-tab{pointer-events:auto;flex:1 1 0;font:inherit;font-weight:700;font-size:13px;color:var(--ink);background:transparent;border:none;border-radius:10px;padding:10px 8px;min-height:40px;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.shop-tab:hover{background:#ffffff14}.shop-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}.shop-tab-active{background:var(--accent);color:#1a1206}.shop-tab-active:hover{background:var(--accent)}.shop-hero{flex:1 1 auto;min-height:0}.shop-hero-info{pointer-events:auto;flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#10101e8c;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shop-hero-name{font-weight:800;font-size:17px;flex:1 1 auto;min-width:0}.shop-hero-price{font-family:ui-monospace,SF Mono,monospace;font-size:13px;color:var(--muted);flex:0 0 auto}.shop-hero-action{pointer-events:auto;flex:0 0 auto;font:inherit;font-weight:700;font-size:13px;color:#1a1206;background:var(--accent);border:none;border-radius:999px;padding:11px 18px;min-height:44px;cursor:pointer;white-space:nowrap;transition:transform .12s ease,filter .12s ease}.shop-hero-action:hover{transform:translateY(-1px);filter:brightness(1.06)}.shop-hero-action:focus-visible{outline:2px solid #fff;outline-offset:2px}.shop-hero-action:disabled{cursor:default;transform:none;color:var(--muted);background:#ffffff1a}.shop-hero-action.equipped{background:#e8a23d4d;color:var(--accent)}.shop-hero-action.shop-buy{background:var(--accent)}.shop-rail{pointer-events:auto;flex:0 0 auto;display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;scroll-snap-type:x proximity;padding:4px 2px 8px;-webkit-overflow-scrolling:touch}.shop-rail::-webkit-scrollbar{height:6px}.shop-rail::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.shop-rail-card{pointer-events:auto;flex:0 0 auto;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;width:92px;padding:10px 8px 12px;border-radius:14px;cursor:pointer;background:#10101e8c;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .12s ease,border-color .12s ease,background .12s ease;color:inherit;font:inherit;text-align:center}.shop-rail-card:hover{transform:translateY(-2px);background:#10101ead}.shop-rail-card:focus-visible{outline:2px solid #fff;outline-offset:2px}.shop-rail-card-selected{border-color:var(--accent);background:#e8a23d29}.shop-rail-card-equipped{border-color:#e8a23d99}.shop-rail-card .skin-swatch{width:40px;height:40px}.shop-rail-card-body{width:100%;min-width:0}.shop-rail-card-name{font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-rail-card-chip{font-size:10px;color:var(--muted);margin-top:2px;font-family:ui-monospace,SF Mono,monospace}.shop-rail-card-selected .shop-rail-card-chip{color:var(--accent)}.skin-swatch{flex:0 0 auto;display:flex;gap:4px;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#00000040;padding:6px}.swatch-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.skin-swatch-icon{font-size:22px;line-height:1;background:#00000040}@media (max-width:480px){#shop{padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.shop-page{gap:8px}.shop-title{font-size:16px}.shop-hero-info{padding:10px 12px}.shop-hero-name{font-size:15px}.shop-rail-card{width:78px}}@media (min-width:821px){.shop-stage{flex-direction:row;align-items:stretch;gap:14px}.shop-hero{flex:1 1 auto;min-width:0;order:0}.shop-panel{display:flex;flex-direction:column;gap:10px;flex:0 0 340px;min-height:0;pointer-events:auto;background:#10101e80;border:1px solid rgba(255,255,255,.12);border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px calc(12px + env(safe-area-inset-right)) 12px 12px}.shop-panel .shop-tabs{order:0;background:#00000040;border:none;-webkit-backdrop-filter:none;backdrop-filter:none}.shop-panel .shop-rail{order:1;flex:1 1 auto;min-height:0;flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;touch-action:pan-y;padding:2px 6px 2px 2px}.shop-panel .shop-rail::-webkit-scrollbar{width:6px;height:auto}.shop-panel .shop-hero-info{order:2;background:#00000040;border-color:#ffffff14;flex-wrap:wrap}.shop-rail-card{width:100%;flex-direction:row;text-align:left;gap:10px;padding:10px 12px;scroll-snap-align:start}.shop-rail-card .skin-swatch{width:40px;height:40px;flex:0 0 auto}.shop-rail-card-body{flex:1 1 auto}}#levelMap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;pointer-events:none;background:linear-gradient(180deg,#bfe0f2,#9ecbe8 45%,#7fb9dd);padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.map-page{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;gap:12px;max-width:560px;width:100%;margin:0 auto}.map-stage{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;gap:12px}.map-header{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;flex:0 0 auto;background:#10101e8c;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-back{pointer-events:auto;flex:0 0 auto;font:inherit;font-weight:700;font-size:13px;color:var(--ink);background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer;white-space:nowrap;transition:transform .12s ease,filter .12s ease}.map-back:hover{transform:translateY(-1px);filter:brightness(1.15);background:#ffffff24}.map-back:focus-visible{outline:2px solid #fff;outline-offset:2px}.map-title-block{flex:1 1 auto;text-align:center;min-width:0}.map-title{font-size:18px;font-weight:800;letter-spacing:-.01em}.map-progress{font-family:ui-monospace,SF Mono,monospace;font-size:12px;color:var(--accent);margin-top:2px}.map-header-spacer{flex:0 0 auto;width:70px}.map-body{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;border-radius:14px;-webkit-overflow-scrolling:touch;pointer-events:auto;touch-action:pan-y}.map-path-scroll{position:relative;z-index:1;display:flex;justify-content:center;padding:8px 0 18px}.map-path-svg{width:100%;max-width:340px;height:auto;overflow:visible}.map-ground-hill path{fill:#3f8f3a;opacity:.92}.map-summit-hill path{fill:#8fc98c;opacity:.55}.map-trail{fill:none;stroke:#6b4a2f;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 15;opacity:.9}.map-flower{pointer-events:none}.map-node{cursor:pointer;pointer-events:auto;outline:none}.map-node-locked{cursor:default}.map-node-stone{stroke:#0000002e;stroke-width:2;transition:transform .12s ease,filter .12s ease,stroke .12s ease,stroke-width .12s ease}.map-node:not(.map-node-locked):hover .map-node-stone{transform:scale(1.06)}.map-node:focus-visible .map-node-stone{stroke:var(--accent);stroke-width:4}.map-node-cleared .map-node-stone{fill:#3f8f3a}.map-node-current .map-node-stone{fill:var(--accent)}.map-node-locked .map-node-stone{fill:#8a8a96;opacity:.62}.map-node-num{font-family:ui-monospace,SF Mono,monospace;font-weight:800;font-size:15px;fill:#1a1206;paint-order:stroke;stroke:#ffffff59;stroke-width:.5}.map-node-locked .map-node-num{fill:#e6e6ea}.map-node-glyph{font-size:16px}.map-node-glow{fill:none;stroke:var(--accent);stroke-width:3;opacity:0;animation:map-pulse 1.8s ease-in-out infinite}@keyframes map-pulse{0%{r:21;opacity:0}50%{r:29;opacity:.45}to{r:21;opacity:0}}.map-node-selected .map-node-stone{stroke:#fff;stroke-width:3}.map-panel-info{pointer-events:auto;flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:#10101e9e;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-panel-info-body{flex:1 1 auto;min-width:0}.map-footer-title{font-weight:800;font-size:15px;margin-bottom:2px}.map-footer-blurb{color:var(--muted);font-size:12px;line-height:1.5}.map-footer-twist{font-family:ui-monospace,SF Mono,monospace;font-size:11px;color:var(--accent);margin-top:4px}.map-panel-extra{display:none}.map-panel-twist-line{font-family:ui-monospace,SF Mono,monospace;font-size:12px;color:var(--accent);line-height:1.6}.map-panel-maze{font-size:12px;color:var(--muted);margin-top:8px}.map-panel-state{font-size:12px;font-weight:700;margin-top:2px}.map-play-btn{pointer-events:auto;flex:0 0 auto;font:inherit;font-weight:700;font-size:14px;color:#1a1206;background:var(--accent);border:none;border-radius:999px;padding:13px 22px;min-height:44px;cursor:pointer;white-space:nowrap;transition:transform .12s ease,filter .12s ease}.map-play-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.map-play-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.map-play-btn:disabled{cursor:default;transform:none;color:var(--muted);background:#ffffff59}@media (max-width:480px){#levelMap{padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.map-page{gap:8px}.map-title{font-size:16px}.map-header-spacer{width:60px}.map-panel-info{padding:12px 14px;gap:10px}.map-footer-title{font-size:14px}.map-play-btn{padding:12px 18px;font-size:13px}}@media (min-width:821px){#levelMap{overflow-y:auto;overflow-x:hidden}.map-page{max-width:none;gap:16px}.map-header{position:sticky;top:0;z-index:5;background:#10101eeb}.map-stage{flex-direction:row;align-items:flex-start;gap:16px}.map-body{overflow:visible;flex:1 1 auto;min-width:0;display:flex;justify-content:center}.map-path-scroll{max-width:520px;width:100%}.map-panel-info{flex:0 0 340px;position:sticky;top:calc(64px + env(safe-area-inset-top));align-self:flex-start;flex-direction:column;align-items:stretch;gap:14px;padding:20px calc(18px + env(safe-area-inset-right)) 18px 18px;background:#10101e8c;border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-panel-info-body{flex:0 0 auto}.map-footer-title{font-size:19px}.map-footer-blurb{font-size:13px}.map-footer-twist{display:none}.map-panel-extra{display:block;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.map-play-btn{width:100%;padding:15px 22px;font-size:15px}}body.auth-open .hud,body.auth-open .hud-buttons,body.auth-open .mute-btn,body.auth-open .pause-btn,body.auth-open .home-btn,body.auth-open #mainMenu,body.recovery-open .hud,body.recovery-open .hud-buttons,body.recovery-open .mute-btn,body.recovery-open .pause-btn,body.recovery-open .home-btn,body.recovery-open #mainMenu,body.profile-open .hud,body.profile-open .hud-buttons,body.profile-open .mute-btn,body.profile-open .pause-btn,body.profile-open .home-btn,body.profile-open #mainMenu,body.privacy-open .hud,body.privacy-open .hud-buttons,body.privacy-open .mute-btn,body.privacy-open .pause-btn,body.privacy-open .home-btn,body.privacy-open #mainMenu,body.boot-open .hud,body.boot-open .hud-buttons,body.boot-open .mute-btn,body.boot-open .pause-btn,body.boot-open .home-btn,body.boot-open #mainMenu,body.leaderboard-open .hud,body.leaderboard-open .hud-buttons,body.leaderboard-open .mute-btn,body.leaderboard-open .pause-btn,body.leaderboard-open .home-btn,body.leaderboard-open #mainMenu{display:none}#authGate,#recoveryCode,#profile,#privacy,#boot,#leaderboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(160deg,#141428,#0b0b16 60%);overflow-y:auto;overscroll-behavior:contain}#recoveryCode{z-index:70;background:linear-gradient(160deg,#2a1f10,#0b0b16 65%)}.auth-card,.recovery-sheet,.profile-sheet,.privacy-sheet,.boot-sheet,.lb-sheet{width:min(520px,100%);max-height:100%;background:#10101eb8;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:clamp(20px,5vw,32px);box-shadow:0 18px 48px #00000073}.auth-title,.recovery-sheet h1,.privacy-sheet h1,.boot-sheet h1{margin:0 0 6px;font-size:clamp(22px,5vw,30px);line-height:1.15}.auth-sub,.recovery-intro,.boot-message{color:var(--muted);margin:0 0 18px;line-height:1.5}.auth-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin-bottom:20px}.auth-logo{width:clamp(64px,18vw,88px);height:auto;border-radius:20px;box-shadow:0 8px 24px #00000073}.auth-brand .auth-title{margin:10px 0 0}.auth-brand .auth-sub{margin:0;max-width:34ch}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#00000052;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:4px}.auth-tab{padding:11px 8px;font:inherit;font-size:15px;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:9px;cursor:pointer;min-height:44px;box-shadow:none;transition:background .12s ease,color .12s ease}.auth-tab:hover{color:var(--ink)}.auth-tab.is-active{color:#1a1206;background:var(--accent)}.auth-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}.auth-panel{margin-top:4px}.auth-alt{margin-top:18px;padding-top:14px;text-align:center;border-top:1px solid rgba(255,255,255,.12)}.auth-alt .btn-link{font-size:15px;color:var(--accent);text-decoration:none;font-weight:600}.auth-alt .btn-link:hover{text-decoration:underline}.auth-alt-hint{margin:2px 0 0;font-size:13px;color:var(--muted);line-height:1.45}.auth-form{display:flex;flex-direction:column;gap:6px}.auth-form label{font-size:14px;color:var(--muted);margin-top:10px}.auth-form input[type=text],.auth-form input[type=password],.profile-danger input[type=text]{font:inherit;font-size:16px;color:var(--ink);background:#00000059;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:12px 14px}.auth-form input:focus,.profile-danger input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-hint{font-size:13px;color:var(--muted);margin:2px 0 0;line-height:1.45}.auth-error{color:var(--danger);background:#e0577a1f;border:1px solid rgba(224,87,122,.4);border-radius:10px;padding:10px 12px;margin:14px 0 0;font-size:14px}.auth-checkbox,.recovery-confirm{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font-size:15px;line-height:1.4;cursor:pointer}.auth-checkbox input,.recovery-confirm input{width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--accent)}.auth-hidden{display:none}.auth-legal{font-size:13px;color:var(--muted);margin:18px 0 0;line-height:1.5}.auth-form button{margin-top:16px}button.btn-link{background:none;border:none;color:var(--muted);text-decoration:underline;padding:8px;font-size:14px;box-shadow:none}button.btn-link:hover{color:var(--ink)}button.btn-link.inline{padding:0;font-size:inherit}button.btn-link.danger,button.btn-danger{color:var(--danger)}button.btn-danger{background:#e0577a26;border:1px solid rgba(224,87,122,.55)}button.btn-danger:hover{background:#e0577a47}button:disabled{opacity:.45;cursor:not-allowed;filter:none}.recovery-code-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#00000073;border:1px solid var(--accent);border-radius:14px;padding:16px;margin:6px 0 18px}.recovery-code-box code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(17px,4.6vw,25px);letter-spacing:.08em;color:var(--accent);-webkit-user-select:all;user-select:all;flex:1 1 auto;word-break:break-all}button.recovery-copy{padding:8px 14px;font-size:14px;flex:0 0 auto}.recovery-warning{background:#e0577a17;border:1px solid rgba(224,87,122,.32);border-radius:12px;padding:14px 16px}.recovery-warning p{margin:0 0 8px;line-height:1.5}.recovery-warning ul{margin:0;padding-left:20px;line-height:1.6;font-size:14.5px}.recovery-warning li{margin-bottom:6px}.recovery-action{margin-top:10px!important;color:var(--accent);font-weight:600}#recoveryContinueBtn{width:100%;margin-top:18px}.profile-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-header h1{margin:0;font-size:clamp(20px,5vw,26px);word-break:break-word}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:20px 0}.profile-stats div{background:#0000004d;border-radius:12px;padding:12px}.profile-stats dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.profile-stats dd{margin:4px 0 0;font-size:19px;font-weight:600}.profile-actions{display:flex;flex-direction:column;gap:10px}.profile-setting{margin:20px 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.profile-setting h2{font-size:16px;margin:0 0 4px}.profile-setting p{font-size:13.5px;color:var(--muted);margin:0 0 12px;line-height:1.45}.control-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.control-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;min-height:76px;font:inherit;font-size:14px;font-weight:600;color:var(--muted);background:#00000047;border:1px solid rgba(255,255,255,.16);border-radius:12px;cursor:pointer;box-shadow:none;transition:background .12s ease,border-color .12s ease}.control-option:hover{color:var(--ink)}.control-option.is-active{color:var(--ink);background:#e8a23d29;border-color:var(--accent)}.control-icon{font-size:24px;line-height:1}.profile-danger{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.profile-danger h2{font-size:17px;margin:0 0 8px;color:var(--danger)}.profile-danger p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 12px}.profile-danger label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}.profile-danger code{color:var(--ink);background:#0006;padding:2px 6px;border-radius:5px}.profile-danger input{width:100%;box-sizing:border-box}.profile-danger-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.privacy-sheet h2{font-size:16px;margin:22px 0 8px}.privacy-sheet p,.privacy-sheet li{line-height:1.6;font-size:14.5px;color:var(--muted)}.privacy-lead{color:var(--ink)!important;background:#0000004d;border-radius:12px;padding:14px 16px}.privacy-sheet ul{padding-left:20px;margin:0}.privacy-sheet li{margin-bottom:8px}.privacy-sheet strong{color:var(--ink)}#privacyCloseBtn{margin-top:22px;width:100%}.boot-sheet{text-align:center}.boot-spinner{font-size:44px;animation:bootBob 1.1s ease-in-out infinite}@keyframes bootBob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.boot-hint{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 20px}#bootRetryBtn{width:100%}@media (prefers-reduced-motion:reduce){.boot-spinner{animation:none}}.lb-sheet{width:min(560px,100%);display:flex;flex-direction:column;max-height:min(85vh,100%)}.lb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.lb-header h1{margin:0;font-size:clamp(20px,5vw,26px)}.lb-sub{margin:4px 0 0;font-size:13px;color:var(--muted)}.lb-body{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lb-row{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#00000047}.lb-row-me{background:#e8a23d29;border:1px solid rgba(232,162,61,.5)}.lb-rank{font-size:15px;color:var(--muted);text-align:center}.lb-row-me .lb-rank{color:var(--accent)}.lb-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}.lb-divider{text-align:center;color:var(--muted);margin:8px 0;letter-spacing:.3em}.lb-standing{position:sticky;bottom:0;padding-top:2px;margin-top:2px;background:#101020;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb-standing .lb-divider{margin:4px 0}.lb-message{color:var(--muted);text-align:center;line-height:1.5;margin:18px 0}.lb-hint{font-size:14px}.lb-body>.btn-secondary{display:block;margin:0 auto}.lb-more{flex:0 0 auto;margin-top:12px;align-self:center}.score-notice{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--danger)}.lb-mine{background:#e8a23d1f;border:1px solid rgba(232,162,61,.35);border-radius:12px;padding:12px 14px;margin-bottom:14px;flex:0 0 auto}.lb-mine-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.lb-mine-figures{display:flex;gap:22px;align-items:baseline}.lb-mine-block{display:flex;flex-direction:column;gap:2px}.lb-mine-value{font-size:clamp(20px,5vw,26px);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}.lb-mine-label{font-size:12px;color:var(--muted)}.lb-mine-gap{margin:10px 0 0;font-size:13px;color:var(--muted)}.lb-mine-leader{color:var(--accent)}.lb-mine-empty{margin:0;font-size:14px;color:var(--muted);line-height:1.5}.dpad{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));z-index:12;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;width:min(46vw,190px);aspect-ratio:1;pointer-events:none}.dpad-btn{pointer-events:auto;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--ink);background:#10101e8c;border:1px solid rgba(255,255,255,.3);border-radius:14px;padding:0;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .08s ease,transform .08s ease}.dpad-btn:active{background:var(--accent);color:#1a1206;transform:scale(.94)}.dpad-up{grid-area:1/2/2/3}.dpad-left{grid-area:2/1/3/2}.dpad-right{grid-area:2/3/3/4}.dpad-down{grid-area:3/2/4/3}body.menu-open .dpad,body.shop-open .dpad,body.map-open .dpad,body.auth-open .dpad,body.recovery-open .dpad,body.profile-open .dpad,body.privacy-open .dpad,body.leaderboard-open .dpad,body.boot-open .dpad,body.paused .dpad{display:none}@media (max-height:480px){.dpad{width:min(30vw,140px)}.dpad-btn{font-size:17px;border-radius:11px}}@media (prefers-reduced-motion:reduce){.dpad-btn{transition:none}.dpad-btn:active{transform:none}}.install-hint{position:fixed;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));margin-inline:auto;z-index:30;display:flex;align-items:center;gap:12px;max-width:min(520px,100%);box-sizing:border-box;background:#10101ef0;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 14px;box-shadow:0 8px 30px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.install-hint__text{font-size:14px;line-height:1.45;color:var(--ink);flex:1 1 auto;min-width:0}.install-hint__action{flex:0 0 auto;padding:10px 18px;font-size:14px;white-space:nowrap;min-height:44px}.install-hint__dismiss{flex:0 0 auto;background:transparent;color:var(--muted);border:none;font-size:20px;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:10px}.install-hint__dismiss:hover{color:var(--ink)}.install-hint__dismiss:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (max-width:460px){.install-hint{display:grid;grid-template-columns:1fr auto;gap:10px 8px;padding:12px;align-items:start}.install-hint__text{grid-column:1;grid-row:1;font-size:13.5px;padding-top:10px}.install-hint__dismiss{grid-column:2;grid-row:1}.install-hint__action{grid-column:1 / -1;grid-row:2;width:100%}}
