:root{--bg-dark: #0f172a;--glass-bg: rgba(15, 23, 42, .72);--glass-border: rgba(255, 255, 255, .16);--glass-highlight: rgba(255, 255, 255, .08);--accent-primary: #0284c7;--accent-primary-hover: #0369a1;--accent-sakura: #ec4899;--accent-gold: #fbbf24;--accent-green: #10b981;--accent-cyan: #38bdf8;--accent-danger: #f43f5e;--text-main: #f8fafc;--text-muted: #cbd5e1;--font-display: "Fredoka", system-ui, -apple-system, sans-serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#canvas-container{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;touch-action:none!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;overscroll-behavior:none!important}#canvas-container canvas{display:block;width:100%;height:100%;touch-action:none!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;cursor:grab}#canvas-container canvas:active{cursor:grabbing}#ui-layer{position:fixed;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:12px 18px}.glass-panel{background:#0f172af0;border:1px solid var(--glass-border);box-shadow:0 8px 24px #0006}.glass-card{background:linear-gradient(145deg,#0f172af5,#1e293bf0);border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 40px #0000008c}#top-bar{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 14px;border-radius:14px;width:95%;max-width:960px;margin:0 auto;z-index:20;transform:scale(.92);transform-origin:top center}.nav-left-group{display:flex;align-items:center;gap:10px;min-width:0}.player-badge{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);padding:4px 11px 4px 4px;border-radius:999px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.player-badge:hover{background:#38bdf824;border-color:var(--accent-cyan);transform:translateY(-1px)}.avatar-circle{width:30px;height:30px;border-radius:50%;padding:1.5px;background:linear-gradient(135deg,#38bdf8,#818cf8);display:grid;place-items:center;box-shadow:0 2px 8px #0ea5e959;overflow:hidden;flex-shrink:0}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:#0f172a}.player-name{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-edit-cue{width:12px;height:12px;stroke:var(--accent-cyan);opacity:.7;margin-left:-2px;transition:opacity .15s ease,transform .15s ease;flex-shrink:0}.player-badge:hover .profile-edit-cue{opacity:1;transform:scale(1.15)}.stat-pill{display:inline-flex;align-items:center;gap:7px;background:#0f172aa6;border:1px solid rgba(255,255,255,.12);padding:4px 12px;border-radius:999px}.stat-icon{font-size:1.05rem}.stat-value{font-family:var(--font-display);font-size:.94rem;font-weight:700}.level-pill{border-color:#38bdf859;background:#38bdf81f}.level-pill .stat-value{color:var(--accent-cyan)}.coin-pill{border-color:#fbbf2459;background:#fbbf241f}.coin-pill .stat-value{color:var(--accent-gold)}.rank-pill-nav{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;transition:all .25s cubic-bezier(.16,1,.3,1)}.rank-pill-nav:active{transform:scale(.95)}.rank-pill-nav.rank-normal{border:1px solid rgba(255,255,255,.14);background:#0f172a99;box-shadow:none}.rank-pill-nav.rank-normal .stat-value{color:#94a3b8;font-weight:700;text-shadow:none}.rank-pill-nav.rank-normal .pill-trophy-svg{stroke:#94a3b8;fill:none;filter:none}.rank-pill-nav.rank-top-2{border:1px solid rgba(226,232,240,.6);background:linear-gradient(135deg,#e2e8f038,#94a3b81f);box-shadow:0 0 12px #e2e8f059}.rank-pill-nav.rank-top-2 .stat-value{color:#f8fafc;font-weight:800;text-shadow:0 0 8px rgba(226,232,240,.5)}.rank-pill-nav.rank-top-2 .pill-trophy-svg{stroke:#f1f5f9;fill:#e2e8f033;filter:drop-shadow(0 0 4px rgba(226,232,240,.5))}.rank-pill-nav.rank-top-3{border:1px solid rgba(251,146,60,.6);background:linear-gradient(135deg,#fb923c38,#d977061f);box-shadow:0 0 12px #f9731659}.rank-pill-nav.rank-top-3 .stat-value{color:#fed7aa;font-weight:800;text-shadow:0 0 8px rgba(249,115,22,.5)}.rank-pill-nav.rank-top-3 .pill-trophy-svg{stroke:#fb923c;fill:#fb923c33;filter:drop-shadow(0 0 4px rgba(249,115,22,.5))}.rank-pill-nav.rank-top-1{border:1.5px solid #fbbf24;background:linear-gradient(135deg,#f59e0b73,#fbbf2447);box-shadow:0 2px 8px #f59e0b4d}.rank-pill-nav.rank-top-1 .stat-value{color:#fffbeb;font-weight:900;letter-spacing:.02em}.rank-pill-nav.rank-top-1 .pill-trophy-svg{stroke:#fef08a;fill:#fbbf2459}.rank-pill-nav:hover{transform:translateY(-1px)}.pill-trophy-svg{width:14px;height:14px;stroke:var(--accent-gold);stroke-width:2.2;display:block}.gameplay-hud-cluster{display:flex;align-items:center;gap:18px;flex-shrink:0}.hud-metric{display:flex;align-items:center;flex-direction:column}.hud-metric .metric-label{font-size:.58rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em}.hud-metric .metric-val{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--accent-gold)}.bird-queue{display:flex;gap:4px;margin-top:1px}.bird-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.22)}.bird-dot.active{background:linear-gradient(135deg,#38bdf8,#0284c7);transform:scale(1.12);box-shadow:0 0 10px #38bdf899}.nav-right-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:var(--text-main);padding:6px 13px;border-radius:11px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.nav-btn:hover{background:#ffffff29}.retry-btn:hover{border-color:#38bdf866}.pause-menu-btn{background:linear-gradient(135deg,#0284c773,#0ea5e94d);border-color:#38bdf873;font-weight:700;box-shadow:0 2px 8px #0284c740}.pause-menu-btn:hover{background:linear-gradient(135deg,#0284c7a6,#0ea5e980);border-color:#38bdf8b3;transform:translateY(-1px)}.menu-icon-btn{width:38px;height:38px;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#f1f5f9;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #00000040;flex-shrink:0}.menu-icon-btn:hover{background:#38bdf82e;border-color:#38bdf880;color:var(--accent-cyan);transform:translateY(-1px) scale(1.04);box-shadow:0 4px 14px #38bdf847}.menu-icon-btn:active{transform:scale(.95)}.nav-menu-icon{width:20px;height:20px;stroke:currentColor}.fullscreen-page{position:fixed;inset:0;width:100vw;height:100vh;z-index:15;pointer-events:auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 50% 30%,#0f172a73,#0a101fb8);transition:opacity .25s ease,transform .25s ease}.fullscreen-page.hidden{display:none!important}.dashboard-page{padding:0;background:radial-gradient(circle at 50% 25%,#0f172a2e,#0a0f1e6b);backdrop-filter:none;-webkit-backdrop-filter:none}.dashboard-scroll-shell{width:100%;max-width:1280px;margin:0 auto;padding:78px 24px 36px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:20px;box-sizing:border-box;position:relative;z-index:2}.dash-float-layer{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;overflow:hidden;z-index:25}.dash-float-item{position:absolute;pointer-events:none!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none!important;will-change:transform;backface-visibility:hidden;transform:translateZ(0);object-fit:contain}.dfi-char1{top:14%;left:5%;width:64px;height:64px;opacity:.95;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 14px rgba(239,68,68,.6));animation:dashFloatA 7.2s ease-in-out infinite alternate}.dfi-char2{top:16%;right:6%;width:56px;height:56px;opacity:.92;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 14px rgba(56,189,248,.6));animation:dashFloatB 7.8s ease-in-out infinite alternate -2.1s}.dfi-char3{top:48%;right:4%;width:54px;height:54px;opacity:.9;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 14px rgba(236,72,153,.6));animation:dashFloatC 8.4s ease-in-out infinite alternate -3.5s}.dfi-sub1{top:44%;left:4%;width:50px;height:50px;opacity:.9;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(59,130,246,.6));animation:dashFloatD 6.5s ease-in-out infinite alternate -1.4s}.dfi-sub2{bottom:8%;left:7%;width:52px;height:52px;opacity:.92;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(244,63,94,.6));animation:dashFloatB 8s ease-in-out infinite alternate -4.6s}.dfi-sub3{bottom:7%;right:7%;width:48px;height:48px;opacity:.9;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(217,70,239,.6));animation:dashFloatA 8.8s ease-in-out infinite alternate -1.8s}.dfi-sub4{bottom:14%;left:24%;width:42px;height:42px;opacity:.88;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(16,185,129,.6));animation:dashFloatC 7.4s ease-in-out infinite alternate -3.8s}.dfi-logo1{top:8%;left:22%;width:46px;height:auto;max-height:38px;opacity:.85;filter:drop-shadow(0 4px 10px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(255,255,255,.5));animation:dashFloatD 8.2s ease-in-out infinite alternate -.8s}.dfi-logo2{top:29%;left:13%;width:42px;height:auto;max-height:36px;opacity:.82;filter:drop-shadow(0 4px 10px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(56,189,248,.5));animation:dashFloatA 9.4s ease-in-out infinite alternate -5.4s}.dfi-logo3{top:27%;right:14%;width:42px;height:auto;max-height:36px;opacity:.8;filter:drop-shadow(0 4px 10px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(56,189,248,.5));animation:dashFloatB 9s ease-in-out infinite alternate -3.2s}.dfi-coin1{top:9%;right:21%;width:46px;height:46px;opacity:.95;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 14px rgba(251,191,36,.7));animation:dashFloatC 6.8s ease-in-out infinite alternate -1.5s}.dfi-coin2{bottom:13%;right:23%;width:44px;height:44px;opacity:.92;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(251,191,36,.65));animation:dashFloatD 7.9s ease-in-out infinite alternate -4.8s}@keyframes dashFloatA{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(4px,-14px,0) rotate(3deg)}to{transform:translate3d(-3px,-22px,0) rotate(-2deg)}}@keyframes dashFloatB{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-5px,-16px,0) rotate(-4deg)}to{transform:translate3d(4px,-24px,0) rotate(3deg)}}@keyframes dashFloatC{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(6px,-12px,0) rotate(2.5deg)}to{transform:translate3d(-4px,-18px,0) rotate(-3deg)}}@keyframes dashFloatD{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-4px,-15px,0) rotate(-2.5deg)}to{transform:translate3d(5px,-20px,0) rotate(2deg)}}@media screen and (max-width:768px){.dash-float-item{opacity:.88}.dfi-char1{top:11%;left:3%;width:44px;height:44px}.dfi-char2{top:12%;right:3%;width:42px;height:42px}.dfi-char3{top:52%;right:2%;width:38px;height:38px}.dfi-sub1{top:50%;left:2%;width:36px;height:36px}.dfi-sub2{bottom:5%;left:4%;width:38px;height:38px}.dfi-sub3{bottom:5%;right:4%;width:38px;height:38px}.dfi-sub4{display:none}.dfi-logo1{top:6%;left:16%;width:34px}.dfi-logo2,.dfi-logo3{display:none}.dfi-coin1{top:6%;right:16%;width:34px;height:34px}.dfi-coin2{display:none}}@media screen and (max-height:580px){.dash-float-item{opacity:.88}.dfi-char1{top:9%;left:3%;width:40px;height:40px}.dfi-char2{top:9%;right:3%;width:38px;height:38px}.dfi-char3{top:54%;right:2%;width:36px;height:36px}.dfi-sub1{top:52%;left:2%;width:34px;height:34px}.dfi-sub2{bottom:3%;left:10%;width:36px;height:36px}.dfi-sub3{bottom:3%;right:10%;width:36px;height:36px}.dfi-sub4{display:none}.dfi-logo1{top:5%;left:18%;width:32px}.dfi-logo2,.dfi-logo3{display:none}.dfi-coin1{top:5%;right:18%;width:32px;height:32px}.dfi-coin2{display:none}}.dashboard-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dashboard-feature-card{position:relative;padding:20px;border-radius:20px;background:linear-gradient(145deg,#0f172af0,#1a2640eb);border:1px solid rgba(255,255,255,.16);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:14px;box-shadow:0 8px 24px #0006;transition:transform .15s ease,border-color .15s ease;overflow:hidden}.dashboard-feature-card:hover{transform:translateY(-2px);border-color:var(--accent-cyan)}.dashboard-feature-card:active{transform:scale(.98)}.card-icon-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;position:relative}.card-icon-badge svg{width:22px;height:22px}.card-icon-badge.gold-badge{background:#fbbf242e;border:1px solid rgba(251,191,36,.4);color:var(--accent-gold)}.card-icon-badge.cyan-badge{background:#38bdf82e;border:1px solid rgba(56,189,248,.4);color:var(--accent-cyan)}.card-icon-badge.sakura-badge{background:#ec48992e;border:1px solid rgba(236,72,153,.4);color:var(--accent-sakura)}.card-icon-badge .badge-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--accent-cyan);border:2px solid #0f172a;box-shadow:0 0 8px var(--accent-cyan);animation:pulseDot 2s infinite ease-in-out}.card-text-block{display:flex;flex-direction:column;gap:3px}.card-kicker-tag{font-size:.65rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted)}.card-heading{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:#fff}.card-desc{font-size:.82rem;color:#94a3b8;line-height:1.4}.card-action-cue{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--accent-cyan);padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.card-action-cue .cue-arrow{transition:transform .18s ease}.dashboard-feature-card:hover .card-action-cue .cue-arrow{transform:translate(4px)}.roadmap-page{padding:0;overflow-y:hidden!important;touch-action:pan-x}.roadmap-scroll-shell{width:100%;max-width:1540px;margin:0 auto;padding:8px 12px 10px;height:100vh;max-height:100vh;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;overflow:hidden}.roadmap-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-radius:16px;flex-wrap:nowrap;flex-shrink:0}.btn-back-to-dashboard{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:#ffffff17;border:1px solid rgba(255,255,255,.2);color:#fff;font-family:var(--font-display);font-size:.86rem;font-weight:700;cursor:pointer;transition:all .18s ease}.btn-back-to-dashboard:hover{background:#ffffff2e;border-color:var(--accent-cyan);color:#fff;transform:translate(-3px);box-shadow:0 4px 16px #38bdf84d}.btn-back-to-dashboard svg{width:16px;height:16px}.roadmap-title-lockup{display:flex;flex-direction:column;align-items:center;gap:2px}.roadmap-page-title{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:#fff}.roadmap-stage-board-card{flex:1 1 auto;min-height:0;padding:0;border-radius:20px;display:flex;flex-direction:column;gap:0;background:transparent;border:none;box-shadow:none;overflow:hidden;position:relative}.roadmap-ambient-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:26px;z-index:0}.roadmap-cyber-grid{position:absolute;inset:-40%;background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px);background-size:44px 44px;transform:perspective(600px) rotateX(45deg)}.floating-sq{position:absolute;border:1.5px solid rgba(56,189,248,.15);background:#38bdf805;border-radius:8px;pointer-events:none!important;user-select:none!important}.sq-1{width:56px;height:56px;top:12%;left:5%}.sq-2{width:42px;height:42px;top:72%;right:6%;border-color:#fbbf242e}.sq-3{width:70px;height:70px;bottom:10%;left:10%;border-color:#38bdf82e}.sq-4{width:38px;height:38px;top:18%;right:12%}.roadmap-top-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.hero-compact{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.brand-tag{display:inline-block;padding:3px 12px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.4);color:var(--accent-cyan);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.game-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;letter-spacing:.02em;text-shadow:0 6px 20px rgba(0,0,0,.5)}.accent-3d{background:linear-gradient(135deg,#38bdf8,#818cf8,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.progress-summary.compact-summary{display:flex;align-items:center;background:#0f172aa6;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:8px 16px;flex-wrap:wrap;gap:14px}.summary-profile-trigger{display:flex;align-items:center;gap:10px;padding:2px 8px 2px 4px;border-radius:12px;cursor:pointer;transition:background .15s ease}.summary-profile-trigger:hover{background:#ffffff14}.summary-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-cyan);box-shadow:0 0 12px #38bdf859}.summary-item{display:flex;flex-direction:column;align-items:center;gap:2px}.summary-item.align-start{align-items:flex-start}.summary-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.summary-val{font-family:var(--font-display);font-size:1.02rem;color:var(--text-main)}.coin-accent{color:var(--accent-gold)}.star-accent{color:#fde047}.summary-divider{width:1px;height:28px;background:#ffffff1f}.level-select-section{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}.roadmap-controls-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.roadmap-heading-group{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.roadmap-heading-group h2{font-family:var(--font-display);font-size:1.2rem;color:var(--text-main)}.sequential-hint{font-size:.78rem;color:var(--text-muted)}.roadmap-legend-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.roadmap-legend{display:flex;align-items:center;gap:12px;font-size:.74rem;color:var(--text-muted)}.legend-item .dot{width:9px;height:9px;border-radius:3px;display:inline-block}.dot.completed{background:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}.dot.frontier{background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary)}.dot.locked{background:#475569}.tilt-toggle-btn{padding:5px 12px;border-radius:999px;border:1px solid rgba(56,189,248,.35);background:#38bdf81f;color:#7dd3fc;font-family:var(--font-sans);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease}.tilt-toggle-btn:hover{background:#38bdf83d;color:#fff}.roadmap-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0;padding:0 4px}.roadmap-heading-group{display:flex;align-items:baseline;gap:10px}.roadmap-heading-group h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#f8fafc;margin:0}.roadmap-zone-quick-jumps{display:flex;align-items:center;gap:8px}.roadmap-zone-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#0f172ad9;border:1.2px solid rgba(255,255,255,.15);color:#94a3b8;font-family:var(--font-display);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .18s ease}.roadmap-zone-pill-btn:hover{background:#1e293bf2;color:#fff;border-color:#38bdf866}.roadmap-zone-pill-btn.active{background:linear-gradient(135deg,#0284c7e6,#0ea5e9d9);border-color:#fff6;color:#fff;box-shadow:0 4px 12px #0ea5e966}.zone-pill-indicator{width:8px;height:8px;border-radius:50%;display:inline-block}.zone-pill-indicator.z1{background:#38bdf8;box-shadow:0 0 6px #38bdf8}.zone-pill-indicator.z2{background:#c084fc;box-shadow:0 0 6px #c084fc}.roadmap-legend-actions{display:flex;align-items:center;gap:12px}.roadmap-legend{display:flex;align-items:center;gap:12px;font-size:.75rem;color:#94a3b8}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-item .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-item .dot.completed{background:#fbbf24;box-shadow:0 0 8px #fbbf24b3}.legend-item .dot.frontier{background:#ef4444;box-shadow:0 0 8px #ef4444b3}.legend-item .dot.locked{background:#64748b}.roadmap-3d-viewport{position:relative;width:100%;flex:1 1 auto;min-height:280px;height:100%;max-height:100%;overflow-x:auto;overflow-y:hidden!important;touch-action:pan-x;overscroll-behavior-x:contain;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;will-change:scroll-position;contain:paint;user-select:none;-webkit-user-select:none;cursor:grab;border-radius:18px;background:#08111e;border:1.5px solid rgba(56,189,248,.22);box-shadow:inset 0 0 40px #000000d9;scrollbar-width:thin;scrollbar-color:rgba(251,191,36,.45) rgba(15,23,42,.75)}.roadmap-3d-viewport::-webkit-scrollbar{height:5px}.roadmap-3d-viewport::-webkit-scrollbar-track{background:#0f172acc;border-radius:999px}.roadmap-3d-viewport::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:999px}.roadmap-3d-viewport.is-panning{cursor:grabbing!important}.roadmap-input-locked{pointer-events:none!important;cursor:wait!important}.map-floating-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#0f172af0;border:1.8px solid rgba(251,191,36,.55);color:var(--accent-gold);display:grid;place-items:center;cursor:pointer;z-index:15;box-shadow:0 4px 14px #00000080;transition:transform .15s ease,background-color .15s ease}.map-floating-nav-btn svg{width:22px;height:22px}.map-floating-nav-btn.pan-left{left:10px}.map-floating-nav-btn.pan-right{right:10px}.map-floating-nav-btn:hover:not(.disabled){background:#1e293bfa;color:#fff;border-color:#fbbf24;transform:translateY(-50%) scale(1.04)}.map-floating-nav-btn:active:not(.disabled){transform:translateY(-50%) scale(.96)}.map-floating-nav-btn.disabled{opacity:.15;pointer-events:none}.roadmap-grid-wrapper{position:relative;display:block;width:calc(13200px * var(--mobile-map-scale, 1));height:calc(460px * var(--mobile-map-scale, 1));overflow:hidden}.map-world-container{position:relative;width:13200px;height:460px;transform-origin:top left;transform:scale(var(--mobile-map-scale, 1)) translateZ(0);will-change:transform;contain:layout;background:linear-gradient(180deg,#1e293b,#0f172a);overflow:hidden}.map-terrain-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;transform:translateZ(0);will-change:transform}.map-bg-actor{pointer-events:none;transition:transform .2s ease}.actor-bob-slow,.actor-lookout,.actor-peek,.actor-float-celestial{transform:translateY(0)}.coin-glint-bob{filter:drop-shadow(0 2px 6px rgba(251,191,36,.5));pointer-events:none!important;user-select:none!important}.roadmap-active-progress-pulse{opacity:1;pointer-events:none!important}.map-floating-airship{transform:translate(1760px,10px);pointer-events:none!important;user-select:none!important}.airship-spinning-propeller{transform:translate(18px,55px)}.airship-fluttering-ribbon{stroke-dashoffset:0}.map-nodes-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.map-level-node{position:absolute;width:96px;height:96px;transform:translate(-50%,-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;outline:none;overflow:visible;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.map-level-node:hover.unlocked{transform:translate(-50%,-55%) scale(1.08);z-index:12}.map-level-node.node-tap-pop{animation:nodeTapSquish .24s ease-out}@keyframes nodeTapSquish{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-46%) scale(1.18,.88)}to{transform:translate(-50%,-50%) scale(1)}}.gentle-node-pulse{animation:gentleNodePulse .8s ease-out}@keyframes gentleNodePulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}.node-circle-body{position:relative;width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #000000a6,0 4px #000000bf;transition:all .2s ease}.map-level-node.completed .node-circle-body{background:radial-gradient(circle at 35% 28%,#fffbeb,#fef08a 25%,#f59e0b 68%,#b45309);border:5px solid #fffbeb;box-shadow:0 10px 28px #000000b3,0 0 20px #fbbf2499,inset 0 3px 6px #ffffffd9}.map-level-node.active{z-index:25!important}.map-level-node.active .node-circle-body{width:96px;height:96px;background:radial-gradient(circle at 35% 26%,#fff,#fef08a 25%,#f59e0b 65%,#c2410c);border:5.5px solid #ffffff;box-shadow:0 10px 24px #000000b3,0 0 20px #fbbf24b3}.active-beacon-pulse{position:absolute;inset:-10px;border-radius:50%;border:2.5px solid rgba(251,191,36,.75);box-shadow:0 0 16px #fbbf2480;pointer-events:none;z-index:2}.map-level-node.frontier:not(.active) .node-circle-body{background:radial-gradient(circle at 35% 30%,#fff,#fde047 30%,#f59e0b 72%,#d97706);border:5px solid #ffffff;box-shadow:0 12px 30px #000000b3,0 0 30px #fbbf24e6,inset 0 3px 8px #fffffff2}.map-level-node.locked .node-circle-body{width:88px;height:88px;background:radial-gradient(circle at 35% 30%,#64748b,#475569 45%,#1e293b);border:4.5px solid #94a3b8;box-shadow:0 8px 18px #000000b3,inset 0 2px 4px #ffffff4d;cursor:not-allowed}.node-circle-core{display:flex;align-items:center;justify-content:center}.node-number-text{font-family:var(--font-display);font-size:2.35rem;font-weight:900;color:#451a03;text-shadow:0 1.5px 0 rgba(255,255,255,.7);line-height:1}.map-level-node.active .node-number-text{font-size:2.5rem;color:#3f1502;text-shadow:0 2px 0 rgba(255,255,255,.85)}.map-level-node.locked .node-number-text{color:#94a3b8;opacity:.35;text-shadow:none}.node-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0f172a73}.node-lock-svg{width:34px;height:34px;color:#f1f5f9;filter:drop-shadow(0 2px 6px rgba(0,0,0,.85))}.node-lock-shake{animation:nodeShake .4s ease-in-out}@keyframes nodeShake{0%,to{transform:translate(-50%,-50%) rotate(0)}20%{transform:translate(-54%,-50%) rotate(-6deg)}40%{transform:translate(-46%,-50%) rotate(6deg)}60%{transform:translate(-53%,-50%) rotate(-4deg)}80%{transform:translate(-47%,-50%) rotate(3deg)}}.node-stars-crown{position:absolute;top:-22px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:5px;z-index:20;pointer-events:none;overflow:visible}.crown-star{font-size:1.45rem;line-height:1;color:#ffffff40;transition:all .2s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}.crown-star.center{font-size:1.85rem;margin-bottom:6px}.crown-star.earned{color:#fbbf24;text-shadow:0 0 14px rgba(251,191,36,1),0 2px 4px rgba(0,0,0,.85);filter:drop-shadow(0 2px 4px rgba(180,83,9,.95))}.active-commander-mascot{position:absolute;top:-64px;left:50%;transform:translate(-50%);z-index:15;pointer-events:none;display:flex;flex-direction:column;align-items:center}.mascot-bird-img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5))}.mascot-speech-cloud{background:#fff;color:#0f172a;font-family:var(--font-display);font-size:.78rem;font-weight:900;padding:3px 10px;border-radius:999px;margin-bottom:-6px;box-shadow:0 4px 12px #00000080;white-space:nowrap}.map-level-node.active .node-stars-crown{top:-20px;z-index:25;filter:drop-shadow(0 2px 4px rgba(0,0,0,.85))}.map-level-node.active .active-commander-mascot{top:-80px;z-index:15}.map-level-node.active .mascot-bird-img{width:52px;height:52px}.roadmap-juicy-play-cta{position:absolute;top:86px;left:50%;transform:translate(-50%);z-index:18;display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#f97316,#ea580c,#c2410c);border:3px solid #fef08a;padding:7px 24px 9px;border-radius:999px;box-shadow:0 6px 18px #ea580c99,0 3px #7c2d12;cursor:pointer;transition:transform .15s ease}.roadmap-juicy-play-cta:hover{transform:translate(-50%) scale(1.04)}.roadmap-juicy-play-cta:active{transform:translate(-50%) translateY(2px) scale(.97);box-shadow:0 2px 6px #ea580c66}.play-cta-pointer-hand{position:absolute;top:-14px;color:#fef08a}.play-cta-pointer-hand svg{width:16px;height:16px}.play-cta-text{font-family:var(--font-display);font-size:1.15rem;font-weight:900;color:#fff;letter-spacing:.05em;line-height:1;white-space:nowrap}.node-coin-pill{margin-top:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#0f172aeb;border:1.2px solid rgba(251,191,36,.5);color:var(--accent-gold);font-family:var(--font-display);font-size:.78rem;font-weight:800;box-shadow:0 3px 8px #0000008c}.map-level-node.active .node-coin-pill{display:none}.node-coin-pill.claimed{background:#0f172aa6;border-color:#94a3b84d;color:#94a3b8}.coin-pill-img{width:13px;height:13px;object-fit:contain}.milestone-sunburst-rays{position:absolute;width:104px;height:104px;border-radius:50%;border:3.5px dashed #fbbf24;opacity:.5;pointer-events:none}.milestone-boss-beacon{position:absolute;top:-26px;background:linear-gradient(135deg,#0284c7,#38bdf8);color:#fff;font-family:var(--font-display);font-size:.65rem;font-weight:800;padding:1.5px 8px;border-radius:999px;letter-spacing:.05em;box-shadow:0 0 8px #38bdf899;white-space:nowrap}.milestone-crown-apex{position:absolute;top:-26px;font-size:1.45rem;filter:drop-shadow(0 2px 6px rgba(251,191,36,.7))}.map-level-node.is-challenge-node{width:114px;height:114px;z-index:8}.map-level-node.is-challenge-node:hover.unlocked{transform:translate(-50%,-55%) scale(1.12);z-index:22}.challenge-boss-tag{position:absolute;top:-38px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:5px;padding:3.5px 12px;background:linear-gradient(135deg,#0f172af2,#1e293beb);border:1.5px solid #38bdf8;border-radius:999px;box-shadow:0 4px 14px #000000a6,0 0 16px #38bdf88c,inset 0 1px 2px #fff6;font-family:var(--font-display);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fff;z-index:16;pointer-events:none;overflow:hidden}.map-level-node.completed .challenge-boss-tag{border-color:#fbbf24;box-shadow:0 4px 14px #000000a6,0 0 16px #fbbf2499,inset 0 1px 2px #fff6}.map-level-node.locked .challenge-boss-tag{border-color:#ef4444;background:linear-gradient(135deg,#0f172af2,#450a0ae6);box-shadow:0 4px 12px #000000b3,0 0 12px #ef444473}.challenge-tag-shimmer{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-20deg);animation:challengeTagShimmer 3s ease-in-out infinite}@keyframes challengeTagShimmer{0%{left:-100%}35%,to{left:200%}}.challenge-tag-icon{font-size:.72rem;color:#facc15;filter:drop-shadow(0 0 6px #facc15);animation:challengeZap 1.6s ease-in-out infinite alternate}@keyframes challengeZap{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.15);opacity:1}}.challenge-tag-title{position:relative;z-index:1;text-shadow:0 0 8px rgba(56,189,248,.85)}.map-level-node.completed .challenge-tag-title{text-shadow:0 0 8px rgba(251,191,36,.9)}.map-level-node.locked .challenge-tag-title{color:#fca5a5;text-shadow:0 0 8px rgba(239,68,68,.7)}.node-circle-body.challenge-circle-body{position:relative;width:104px;height:104px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a 45%,#1e1b4b);border:4.5px solid #38bdf8;box-shadow:0 14px 34px #000000d9,0 0 30px #38bdf8b3,inset 0 2px 6px #ffffffb3;transition:all .25s cubic-bezier(.2,.8,.2,1);overflow:visible}.map-level-node.completed .node-circle-body.challenge-circle-body{background:radial-gradient(circle at 35% 25%,#fff,#fef08a 25%,#f59e0b 65%,#78350f);border:4.5px solid #fbbf24;box-shadow:0 14px 34px #000000d9,0 0 34px #fbbf24d9,inset 0 2px 6px #ffffffe6}.map-level-node.active .node-circle-body.challenge-circle-body{width:110px;height:110px;border:5px solid #ffffff;box-shadow:0 16px 40px #000000e6,0 0 36px #f43f5ed9,0 0 50px #38bdf8b3,inset 0 3px 8px #fffffff2}.map-level-node.locked .node-circle-body.challenge-circle-body{width:104px;height:104px;background:radial-gradient(circle at 35% 30%,#334155,#1e293b 45%,#0f172a 85%,#020617);border:4.5px solid #ef4444;box-shadow:0 12px 28px #000000d9,0 0 22px #ef444473,inset 0 2px 4px #fff3;cursor:not-allowed}.challenge-orbit-reticle{position:absolute;inset:-14px;border-radius:50%;pointer-events:none;z-index:1}.reticle-ring-outer{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(56,189,248,.8);animation:challengeOrbitSpin 14s linear infinite}.map-level-node.completed .reticle-ring-outer{border-color:#fbbf24d9}.map-level-node.locked .reticle-ring-outer{border-color:#ef4444a6}.reticle-ring-inner{position:absolute;inset:6px;border-radius:50%;border:1.5px dotted rgba(244,63,94,.7);animation:challengeOrbitSpinRev 10s linear infinite}.map-level-node.completed .reticle-ring-inner{border-color:#f59e0bbf}.map-level-node.locked .reticle-ring-inner{border-color:#dc26268c}@keyframes challengeOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes challengeOrbitSpinRev{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.reticle-pips{position:absolute;inset:0;border-radius:50%;animation:challengeOrbitSpin 14s linear infinite}.reticle-pips .pip{position:absolute;width:6px;height:6px;border-radius:50%;background:#38bdf8;box-shadow:0 0 8px #38bdf8}.map-level-node.completed .reticle-pips .pip{background:#fbbf24;box-shadow:0 0 8px #fbbf24}.map-level-node.locked .reticle-pips .pip{background:#ef4444;box-shadow:0 0 8px #ef4444}.reticle-pips .pip-n{top:-3px;left:calc(50% - 3px)}.reticle-pips .pip-e{right:-3px;top:calc(50% - 3px)}.reticle-pips .pip-s{bottom:-3px;left:calc(50% - 3px)}.reticle-pips .pip-w{left:-3px;top:calc(50% - 3px)}.challenge-mech-brackets{position:absolute;inset:-7px;pointer-events:none;z-index:3}.bracket-claw{position:absolute;background:#38bdf8;box-shadow:0 0 10px #38bdf8;transition:all .2s ease}.map-level-node.completed .bracket-claw{background:#fbbf24;box-shadow:0 0 10px #fbbf24}.map-level-node.locked .bracket-claw{background:#ef4444;box-shadow:0 0 8px #ef4444}.bracket-claw.claw-top{top:0;left:50%;transform:translate(-50%);width:20px;height:5px;border-radius:3px 3px 0 0}.bracket-claw.claw-bottom{bottom:0;left:50%;transform:translate(-50%);width:20px;height:5px;border-radius:0 0 3px 3px}.bracket-claw.claw-left{left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;border-radius:3px 0 0 3px}.bracket-claw.claw-right{right:0;top:50%;transform:translateY(-50%);width:5px;height:20px;border-radius:0 3px 3px 0}.map-level-node.is-challenge-node:hover.unlocked .bracket-claw{filter:brightness(1.25)}.challenge-plasma-aura{position:absolute;inset:-18px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(56,189,248,.45) 0%,rgba(124,58,237,.25) 50%,transparent 72%);filter:blur(5px);animation:challengePlasmaPulse 2.8s ease-in-out infinite}.map-level-node.completed .challenge-plasma-aura{background:radial-gradient(circle,rgba(251,191,36,.5) 0%,rgba(245,158,11,.3) 50%,transparent 72%)}.map-level-node.locked .challenge-plasma-aura{background:radial-gradient(circle,rgba(239,68,68,.35) 0%,rgba(185,28,28,.2) 50%,transparent 72%)}.map-level-node.active .challenge-plasma-aura{inset:-24px;background:radial-gradient(circle,rgba(244,63,94,.6) 0%,rgba(56,189,248,.4) 50%,transparent 72%);filter:blur(6px)}@keyframes challengePlasmaPulse{0%,to{transform:scale(.96);opacity:.8}50%{transform:scale(1.06);opacity:1}}.challenge-bevel{position:absolute;inset:2px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);pointer-events:none;z-index:4}.challenge-reactor-core{position:absolute;inset:5px;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#38bdf8,#1e3a8a 35%,#0f172a 75%,#020617);z-index:3}.map-level-node.completed .challenge-reactor-core{background:radial-gradient(circle at 35% 30%,#fffbeb,#fef08a 25%,#f59e0b 60%,#78350f)}.map-level-node.locked .challenge-reactor-core{background:radial-gradient(circle at 35% 30%,#475569,#1e293b 45%,#0f172a 80%,#020617)}.challenge-circuit-grid{position:absolute;inset:0;opacity:.28;pointer-events:none;background-image:linear-gradient(rgba(56,189,248,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.4) 1px,transparent 1px);background-size:8px 8px}.map-level-node.locked .challenge-circuit-grid{background-image:linear-gradient(rgba(239,68,68,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(239,68,68,.35) 1px,transparent 1px)}.challenge-scanner-sweep{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,rgba(56,189,248,.35) 360deg);animation:challengeScanSweep 4s linear infinite}.map-level-node.completed .challenge-scanner-sweep{background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,rgba(251,191,36,.4) 360deg)}.map-level-node.locked .challenge-scanner-sweep{background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,rgba(239,68,68,.35) 360deg)}@keyframes challengeScanSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.challenge-core-shimmer{position:absolute;top:4px;left:12px;width:24px;height:12px;border-radius:50%;background:#ffffff8c;filter:blur(2px);transform:rotate(-35deg);pointer-events:none}.challenge-core-content{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center}.challenge-mini-badge{font-family:var(--font-display);font-size:.6rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#38bdf8;text-shadow:0 0 8px rgba(56,189,248,.85);margin-bottom:-5px;line-height:1}.map-level-node.completed .challenge-mini-badge{color:#78350f;text-shadow:0 1px 0 rgba(255,255,255,.8)}.map-level-node.locked .challenge-mini-badge{color:#ef4444;text-shadow:0 0 8px rgba(239,68,68,.7)}.node-number-text.challenge-number-text{font-size:2.65rem;font-weight:900;color:#fff;text-shadow:0 0 14px rgba(56,189,248,.95),0 3px 0 rgba(0,0,0,.85);line-height:1}.map-level-node.completed .node-number-text.challenge-number-text{color:#451a03;text-shadow:0 1.5px 0 rgba(255,255,255,.85),0 0 12px rgba(251,191,36,.8)}.map-level-node.active .node-number-text.challenge-number-text{font-size:2.9rem;text-shadow:0 0 18px rgba(244,63,94,.95),0 0 28px rgba(56,189,248,.8),0 3px 0 rgba(0,0,0,.9)}.map-level-node.locked .node-number-text.challenge-number-text{color:#94a3b8;opacity:.32;text-shadow:none}.challenge-lock-overlay{position:absolute;inset:0;border-radius:50%;background:#0f172aa6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:6}.challenge-lock-hazard-ring{position:absolute;inset:2px;border-radius:50%;border:1.5px dashed rgba(239,68,68,.5);animation:challengeOrbitSpin 20s linear infinite}.challenge-lock-svg{width:36px;height:36px;color:#ef4444;filter:drop-shadow(0 0 10px rgba(239,68,68,.9))}.challenge-locked-text{font-family:var(--font-display);font-size:.58rem;font-weight:900;letter-spacing:.12em;color:#fca5a5;margin-top:2px;text-shadow:0 0 6px rgba(239,68,68,.8)}.challenge-stars-crown{top:-24px!important;filter:drop-shadow(0 0 10px rgba(251,191,36,.85))}.map-level-node.active .challenge-stars-crown{top:-22px!important;z-index:25}.challenge-stars-crown .crown-star{font-size:1.5rem}.challenge-stars-crown .crown-star.center{font-size:1.85rem}.challenge-active-beacon{inset:-14px!important;border:3.5px solid rgba(56,189,248,.9)!important;box-shadow:0 0 28px #38bdf8e6,inset 0 0 18px #f43f5e99!important;animation:challengeActiveBeaconPulse 1.6s ease-in-out infinite!important}@keyframes challengeActiveBeaconPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.challenge-play-cta{top:96px!important;background:linear-gradient(135deg,#f43f5e,#e11d48 45%,#0284c7)!important;border:3px solid #fef08a!important;box-shadow:0 8px 24px #f43f5ebf,0 0 24px #38bdf8cc,0 3px #9f1239!important;animation:challengeCtaThrob 1.2s ease-in-out infinite alternate!important}@keyframes challengeCtaThrob{0%{transform:translate(-50%) scale(1);filter:brightness(1)}to{transform:translate(-50%) scale(1.06);filter:brightness(1.15)}}.challenge-play-cta:hover{transform:translate(-50%) scale(1.1)!important}.challenge-mascot-bubble{background:linear-gradient(135deg,#f43f5e,#e11d48)!important;color:#fff!important;border:1.5px solid #fef08a!important;box-shadow:0 4px 14px #f43f5e99!important}.challenge-coin-pill{border:1.5px solid #fbbf24!important;background:linear-gradient(135deg,#0f172af5,#1e293beb)!important;box-shadow:0 3px 10px #000000a6,0 0 12px #fbbf2499!important;font-weight:900!important}.challenge-coin-star{color:#facc15;font-size:.75rem;margin-left:2px;filter:drop-shadow(0 0 4px #facc15)}.cloud-fog-of-war{position:absolute;top:0;bottom:0;z-index:6;pointer-events:auto;overflow:visible;display:flex;align-items:center;transform:translateZ(0);will-change:left,opacity;transition:left .85s cubic-bezier(.2,.9,.3,1),opacity .85s ease}.cloud-sunray-bank{position:absolute;top:0;bottom:0;left:-80px;width:140px;pointer-events:none;overflow:hidden;transform:translateZ(0)}.cloud-sunray{position:absolute;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(254,240,138,.25) 45%,transparent 80%);filter:blur(8px);transform-origin:top left;transform:translateZ(0);will-change:transform}.ray-1{width:140px;height:180px;top:0;left:0;transform:rotate(25deg)}.ray-2{width:160px;height:220px;top:120px;left:-20px;transform:rotate(32deg)}.ray-3{width:140px;height:180px;top:260px;left:10px;transform:rotate(28deg)}.cloud-puff-bank{position:absolute;top:0;bottom:0;left:-100px;width:200px;pointer-events:none;transform:translateZ(0)}.cloud-billow{position:absolute;border-radius:50%;transform:translateZ(0)}.billow-bg-1{width:220px;height:180px;top:40px;left:-40px;background:radial-gradient(circle at 45% 35%,rgba(255,255,255,.75) 0%,rgba(226,232,240,.5) 60%,transparent 100%);opacity:.8}.billow-bg-2{width:240px;height:200px;top:220px;left:-50px;background:radial-gradient(circle at 45% 35%,rgba(255,255,255,.75) 0%,rgba(226,232,240,.5) 60%,transparent 100%);opacity:.8}.billow-volumetric{background:radial-gradient(circle at 42% 28%,#fff,#f8fafc 45%,#e2e8f0 75%,#94a3b8)}.billow-1{width:180px;height:150px;top:-30px;left:-20px}.billow-2{width:210px;height:170px;top:50px;left:15px}.billow-3{width:195px;height:160px;top:150px;left:-25px}.billow-4{width:220px;height:175px;top:230px;left:20px}.billow-5{width:200px;height:165px;top:310px;left:-15px}.billow-6{width:175px;height:140px;top:375px;left:25px}.billow-sunlit{background:radial-gradient(circle at 38% 22%,#fff,#fffdfa 40%,#f1f5f9,#cbd5e1)}.billow-7{width:140px;height:120px;top:30px;left:-35px}.billow-8{width:155px;height:130px;top:190px;left:-40px}.billow-9{width:145px;height:125px;top:320px;left:-30px}.cloud-fog-body{position:absolute;inset:0;background:linear-gradient(to right,#ffffff8c,#fffffff0 100px,#fff 220px 100%);box-shadow:-20px 0 40px #ffffffb3;transform:translateZ(0)}.cloud-celestial-stars{position:absolute;inset:0;background-image:radial-gradient(circle,#38bdf8 1.5px,transparent 1.5px),radial-gradient(circle,#c084fc 1.5px,transparent 1.5px);background-size:80px 80px,120px 120px;background-position:0 0,40px 60px;opacity:.45}.cloud-sanctuary-seal{position:relative;z-index:8;margin-left:140px;display:inline-flex;align-items:center;gap:14px;padding:16px 24px;border-radius:20px;background:#0f172ae0;border:1.5px solid rgba(251,191,36,.45);box-shadow:0 16px 40px #00000080,0 0 24px #fbbf2440;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.cloud-sanctuary-seal:hover{transform:scale(1.04);box-shadow:0 20px 50px #0009,0 0 32px #fbbf2466}.seal-icon-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#fbbf2433,#f59e0b66);border:1.5px solid var(--accent-gold);display:grid;place-items:center;color:var(--accent-gold)}.seal-icon-circle svg{width:24px;height:24px}.seal-text-group{display:flex;flex-direction:column;gap:2px}.seal-kicker{font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:.08em;color:var(--accent-gold)}.seal-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff}.seal-hint{font-size:.8rem;color:#94a3b8;margin:0}.seal-shake{animation:sealShake .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes sealShake{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(3px,0,0)}30%,50%,70%{transform:translate3d(-5px,0,0)}40%,60%{transform:translate3d(5px,0,0)}}.cloud-fog-of-war.cloud-dissipating{opacity:0;transform:translate(120px) scale(1.08);filter:blur(24px);pointer-events:none;transition:all 1.2s cubic-bezier(.2,.8,.2,1)}.map-floating-bubble{position:absolute;top:-44px;left:50%;transform:translate(-50%);background:#0f172af5;border:1.8px solid var(--accent-gold);color:#fff;font-family:var(--font-display);font-size:.82rem;font-weight:700;padding:6px 16px;border-radius:999px;box-shadow:0 8px 24px #000000a6;white-space:nowrap;pointer-events:none;z-index:30;animation:bubblePopIn .25s cubic-bezier(.2,.9,.3,1)}.map-floating-bubble.fade-out{opacity:0;transform:translate(-50%) translateY(-10px);transition:all .35s ease}@keyframes bubblePopIn{0%{transform:translate(-50%) scale(.6);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.roadmap-bottom-scrubber-bar{display:flex;align-items:center;gap:10px;padding:0 4px;flex-shrink:0}.scrubber-label{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:#64748b;white-space:nowrap}.scrubber-track-wrap{position:relative;flex:1;height:6px;border-radius:999px;background:#0f172ad9;border:1px solid rgba(255,255,255,.12);overflow:visible}.scrubber-track-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#fbbf24,#f97316);box-shadow:0 0 8px #fbbf2480;transition:width .3s ease}.scrubber-player-marker{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fbbf24;border:2px solid #ffffff;transform:translate(-50%,-50%);box-shadow:0 0 10px #fbbf24e6;pointer-events:none;transition:left .1s linear}@media(max-height:600px),(max-width:1024px)and (orientation:landscape){.roadmap-page{height:100vh!important;max-height:100vh!important;overflow:hidden!important;padding:0!important}.roadmap-scroll-shell{padding:max(2px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;gap:4px!important;height:100%!important;max-height:100%!important;box-sizing:border-box!important;overflow:hidden!important}.roadmap-nav-bar{padding:2px 10px!important;gap:8px!important;border-radius:12px!important;min-height:38px!important;flex-shrink:0!important}.btn-back-to-dashboard{padding:4px 10px!important;font-size:.76rem!important}.roadmap-page-title{font-size:1.1rem!important}.progress-summary.compact-summary{gap:6px!important;padding:2px 8px!important}.summary-item .summary-title{display:none!important}.summary-item .summary-val{font-size:.78rem!important}.summary-avatar{width:24px!important;height:24px!important}.roadmap-stage-board-card{padding:0!important;border-radius:14px!important;gap:0!important;border:none!important;background:transparent!important;box-shadow:none!important;flex:1 1 auto!important;min-height:0!important;height:calc(100% - 44px)!important;overflow:hidden!important}.roadmap-3d-viewport{border-radius:14px!important;min-height:0!important;height:100%!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;border:1px solid rgba(56,189,248,.28)!important}}.action-btn{padding:10px 20px;border-radius:12px;font-family:var(--font-display);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .15s ease}.primary-btn{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;box-shadow:0 6px 18px #0284c761}.primary-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 8px 22px #0ea5e985}.secondary-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-main)}.secondary-btn:hover{background:#ffffff2e}.danger-outline-btn{background:transparent;border:1px solid rgba(239,68,68,.45);color:#fca5a5;font-size:.82rem;padding:8px 14px}.danger-outline-btn:hover{background:#ef444426}.in-game-menu-dialog{width:min(92vw,440px);border-radius:24px;border:1px solid rgba(56,189,248,.32);background:linear-gradient(155deg,#0f172afa,#182640f5);box-shadow:0 25px 65px #000000bf,0 0 30px #0284c733}.game-menu-shell{padding:24px 26px;display:flex;flex-direction:column;gap:16px;position:relative}.game-menu-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-title-group{display:flex;flex-direction:column;gap:2px}.menu-kicker{font-size:.65rem;font-weight:800;letter-spacing:.12em;color:var(--accent-cyan);text-transform:uppercase}#game-menu-title{font-family:var(--font-display);font-size:1.45rem;color:#fff}.menu-profile-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.menu-avatar-wrap{width:44px;height:44px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#38bdf8,#818cf8,#ec4899);flex-shrink:0}#menu-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:#0f172a}.menu-profile-info{display:flex;flex-direction:column;flex:1;min-width:0}.menu-profile-label{font-size:.58rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em}.menu-profile-name{font-family:var(--font-display);font-size:1.05rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-edit-btn{padding:6px 12px;font-size:.74rem;border-radius:8px;flex-shrink:0}.menu-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:2px}.menu-stat-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 8px 12px;min-height:86px;border-radius:16px;background:linear-gradient(150deg,#1e293bd9,#0f172ae6);border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 18px #00000047,inset 0 1px #ffffff14;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.menu-stat-pill:hover{transform:translateY(-2px);border-color:#38bdf866;box-shadow:0 10px 24px #0006,inset 0 1px #ffffff26}.menu-stat-pill .m-icon{display:flex;align-items:center;justify-content:center;margin-bottom:6px}.menu-stat-pill .pill-star-svg{width:24px;height:24px;filter:drop-shadow(0 2px 6px rgba(251,191,36,.35))}.menu-stat-pill .coin-icon-img{width:26px;height:26px;margin-bottom:6px;filter:drop-shadow(0 2px 6px rgba(56,189,248,.35))}.menu-stat-pill .m-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.menu-stat-pill .m-label{font-size:.58rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.menu-stat-pill .m-val{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:.02em;white-space:nowrap}.menu-action-list{display:flex;flex-direction:column;gap:8px}.menu-list-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-radius:13px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-main);font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease}.menu-list-btn:hover{background:#ffffff1f;border-color:#38bdf873;transform:translate(2px)}.menu-list-btn .list-left{display:flex;align-items:center;gap:10px}.menu-list-btn .list-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:1.1rem;flex-shrink:0}.menu-list-btn .list-icon svg{width:18px;height:18px;stroke:currentColor;display:block}.menu-list-btn .list-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:6px;background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.35)}.menu-list-btn .list-arrow{font-size:.85rem;color:var(--text-muted);opacity:.7}.menu-footer-actions{margin-top:4px}.resume-cta-btn,.dashboard-cta-btn{width:100%;padding:12px 18px;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px}.dashboard-cta-btn .btn-icon,.resume-cta-btn .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.dashboard-cta-btn .btn-icon svg,.resume-cta-btn .btn-icon svg{width:20px;height:20px;stroke:currentColor;display:block}.dashboard-cta-btn .btn-text,.resume-cta-btn .btn-text{display:inline-block!important;color:#fff;font-weight:700;font-size:.95rem;white-space:nowrap}.main-menu-list-btn{background:linear-gradient(135deg,#38bdf81f,#818cf814);border-color:#38bdf840}.main-menu-list-btn:hover{background:linear-gradient(135deg,#38bdf838,#818cf829);border-color:#38bdf88c}.menu-settings-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.menu-sub-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.menu-sub-btn:hover{background:#ffffff1a;border-color:#38bdf866}.menu-sub-btn .sub-icon{font-size:1rem}.menu-sub-btn .sub-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:5px;background:#38bdf826;color:var(--accent-cyan);border:1px solid rgba(56,189,248,.3)}.menu-volume-panel{display:flex;flex-direction:column;gap:10px;margin-top:6px;padding:12px 14px;background:#0f172a8c;border:1px solid rgba(255,255,255,.09);border-radius:14px}.menu-volume-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-volume-label{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--text-main);min-width:100px;flex-shrink:0}.menu-volume-label .v-icon{font-size:.95rem}.menu-volume-ctrl{display:flex;align-items:center;gap:10px;flex:1}.menu-volume-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:4px;background:#ffffff26;outline:none;cursor:pointer;transition:background .2s ease}.menu-volume-slider:hover{background:#ffffff3d}.menu-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cyan),#0284c7);box-shadow:0 0 8px #38bdf88c;cursor:pointer;border:2px solid #ffffff;transition:transform .1s ease}.menu-volume-slider::-webkit-slider-thumb:hover,.menu-volume-slider::-webkit-slider-thumb:active{transform:scale(1.15)}.menu-volume-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cyan),#0284c7);box-shadow:0 0 8px #38bdf88c;cursor:pointer;border:2px solid #ffffff}.menu-volume-val{font-size:.74rem;font-weight:700;color:var(--accent-cyan);min-width:38px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.menu-bgm-mode-panel{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:12px 14px;background:#0f172a8c;border:1px solid rgba(255,255,255,.09);border-radius:14px}.bgm-mode-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.bgm-mode-title{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--text-main)}.bgm-head-svg{width:15px;height:15px;color:var(--accent-cyan);flex-shrink:0}.bgm-current-badge{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:6px;background:#38bdf829;color:var(--accent-cyan);border:1px solid rgba(56,189,248,.3);text-transform:uppercase;letter-spacing:.04em}.bgm-mode-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:2px}.bgm-mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-muted);cursor:pointer;transition:all .18s ease;font-family:inherit;touch-action:manipulation;user-select:none;-webkit-user-select:none}.bgm-mode-btn .mode-icon{font-size:1.05rem;line-height:1;pointer-events:none}.bgm-mode-btn .mode-label{font-size:.7rem;font-weight:600;white-space:nowrap;pointer-events:none}.bgm-mode-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff38}.bgm-mode-btn:active{transform:scale(.96)}.bgm-mode-btn.active{background:linear-gradient(135deg,#0284c759,#38bdf838);border-color:var(--accent-cyan);color:#fff;box-shadow:0 0 12px #38bdf847}.menu-reset-data-section{display:flex;flex-direction:column;gap:8px;margin-top:4px}.menu-reset-data-section.hidden{display:none!important}.menu-divider{width:100%;height:1px;background:#ffffff14;margin:4px 0 2px}.menu-reset-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:13px;background:linear-gradient(135deg,#ef44442e,#dc262647);border:1px solid rgba(239,68,68,.55);color:#fca5a5;font-family:var(--font-sans);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #dc26262e}.menu-reset-btn:hover{background:linear-gradient(135deg,#ef4444e6,#dc2626f5);border-color:#ef4444;color:#fff;box-shadow:0 6px 20px #ef44448c,0 0 16px #ef444466;transform:translateY(-1px)}.menu-reset-btn:active{transform:scale(.98)}.reset-btn-svg{width:18px;height:18px;stroke:currentColor;display:block;flex-shrink:0}.reset-confirm-dialog{width:min(94vw,540px);border-radius:24px;border:1px solid rgba(239,68,68,.42);background:linear-gradient(155deg,#111827fa,#1c1018f7);box-shadow:0 25px 80px #000000d9,0 0 40px #ef444438}.reset-confirm-shell{padding:22px 24px;display:flex;flex-direction:column;gap:14px;max-height:88vh;overflow:hidden}.warning-kicker{color:#f87171!important;font-weight:800;font-size:.65rem;letter-spacing:.12em}.reset-heading{font-family:var(--font-display);font-size:1.45rem;color:#fff;display:flex;align-items:center;gap:9px}.red-svg{color:#ef4444;width:24px;height:24px;stroke:#ef4444;filter:drop-shadow(0 0 8px rgba(239,68,68,.55));flex-shrink:0}.reset-confirm-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px;max-height:58vh}.reset-confirm-body::-webkit-scrollbar{width:5px}.reset-confirm-body::-webkit-scrollbar-thumb{background:#ef444459;border-radius:4px}.reset-alert-banner{background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start}.reset-alert-banner .alert-icon{font-size:1.35rem;line-height:1.2;flex-shrink:0}.reset-alert-banner .alert-text strong{display:block;color:#fca5a5;font-size:.88rem;font-weight:700;margin-bottom:3px}.reset-alert-banner .alert-text p{color:#cbd5e1;font-size:.78rem;line-height:1.45;margin:0}.reset-alert-banner .alert-text em{color:#f87171;font-style:normal;font-weight:700}.reset-impact-section{display:flex;flex-direction:column;gap:8px}.impact-section-title{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.reset-impact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.impact-item{display:flex;align-items:flex-start;gap:10px;padding:8px 11px;border-radius:11px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);transition:background .15s ease}.impact-item:hover{background:#ffffff12}.impact-icon{font-size:1.05rem;line-height:1.25;flex-shrink:0}.impact-info strong{display:block;font-size:.78rem;font-weight:700;color:#f1f5f9;margin-bottom:1px}.impact-info span{display:block;font-size:.72rem;color:#94a3b8;line-height:1.35}.reset-confirm-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);margin-top:2px}.reset-cancel-btn{padding:10px 16px;font-size:.85rem;font-weight:600;border-radius:12px}.reset-danger-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:700;border-radius:12px;background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid #f87171;color:#fff;box-shadow:0 4px 16px #ef444473;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.reset-danger-btn:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 6px 22px #ef4444a6,0 0 16px #ef444473;transform:translateY(-1px)}.reset-danger-btn:active{transform:scale(.98)}.reset-danger-btn .btn-trash-svg{width:17px;height:17px;stroke:currentColor;flex-shrink:0}.coin-icon-img{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:middle;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));flex-shrink:0}.stat-capsule .coin-icon-img{width:19px;height:19px}#summary-coins .coin-icon-img{width:22px;height:22px;margin-right:4px}.menu-stat-pill .coin-icon-img{width:24px;height:24px}#result-coins .coin-icon-img{width:24px;height:24px;margin-left:6px}.game-dialog{margin:auto;border:1px solid rgba(255,255,255,.22);border-radius:26px;background:linear-gradient(155deg,#0f172af5,#1e293bf2);color:var(--text-main);width:min(92vw,460px);padding:0;box-shadow:0 25px 75px #000000b8}.game-dialog::backdrop{background-color:#020617d9}.profile-setup-dialog{width:min(94vw,800px);overflow:hidden;border:1px solid rgba(56,189,248,.28);background:linear-gradient(145deg,#0a101ff5,#131d31f2)}.profile-setup-shell{position:relative;overflow:hidden;padding:30px}.profile-ambient-orb{position:absolute;border-radius:50%;filter:blur(65px);pointer-events:none;z-index:0}.orb-orange{width:240px;height:240px;background:#ec489938;top:-70px;right:-60px}.orb-cyan{width:260px;height:260px;background:#38bdf82e;bottom:-80px;left:-70px}.dialog-close-btn{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:var(--text-muted);font-size:.95rem;cursor:pointer;z-index:5;display:grid;place-items:center;transition:all .15s ease}.dialog-close-btn svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}.dialog-close-btn:hover{background:#ffffff2e;color:#fff;transform:rotate(90deg)}.profile-setup-grid{position:relative;z-index:2;display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:stretch}.profile-avatar-column{background:#0f172aad;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:20px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.avatar-showcase-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.avatar-orbital-ring{position:relative;width:112px;height:112px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#38bdf8,#818cf8,#ec4899);box-shadow:0 10px 28px #38bdf847,0 0 0 4px #38bdf81f}#profile-avatar-preview{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:#0f172a;cursor:pointer}.avatar-camera-trigger{position:absolute;bottom:0;right:0;width:34px;height:34px;border-radius:50%;border:2px solid #0f172a;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;font-size:.95rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px #00000073;transition:transform .15s ease}.avatar-camera-trigger:hover{transform:scale(1.1)}.live-id-meta{display:flex;flex-direction:column;align-items:center;gap:2px}.live-id-callsign{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-main)}.live-id-rank{font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--accent-gold);background:#fbbf241f;border:1px solid rgba(251,191,36,.3);padding:2px 10px;border-radius:999px}.sub-label{display:block;font-size:.66rem;font-weight:700;letter-spacing:.09em;color:#94a3b8;margin-bottom:7px;text-align:center}.upload-status{margin-top:4px;font-size:.72rem;font-weight:600;padding:4px 8px;border-radius:8px;text-align:center}.upload-status.success{background:#22c55e26;color:#86efac}.upload-status.info{background:#38bdf826;color:#7dd3fc}.upload-status.error{background:#ef44442e;color:#fca5a5}.avatar-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.avatar-preset-btn{position:relative;aspect-ratio:1;border-radius:16px;padding:6px;border:2px solid rgba(255,255,255,.14);background:radial-gradient(circle at 50% 45%,#38bdf82e,#0f172aeb);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.avatar-preset-btn img{width:100%;height:100%;border-radius:10px;object-fit:contain;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}.avatar-preset-btn:hover{transform:translateY(-2px) scale(1.04);border-color:#ffffff59}.avatar-preset-btn.selected{border-color:var(--accent-gold);box-shadow:0 0 14px #fbbf2473}.preset-check{position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--accent-gold);color:#0f172a;font-size:.68rem;font-weight:800;display:none;place-items:center}.avatar-preset-btn.selected .preset-check{display:grid}.profile-form-column{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.profile-header-block{display:flex;flex-direction:column;gap:8px}.dialog-content{padding:28px;display:flex;flex-direction:column;gap:16px}.dialog-badge,.result-badge{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:4px 12px;border-radius:999px;background:#38bdf829;border:1px solid rgba(56,189,248,.32);color:var(--accent-cyan)}.profile-header-block h2,.dialog-content h2{font-family:var(--font-display);font-size:1.85rem;line-height:1.15}.dialog-desc{font-size:.88rem;color:var(--text-muted);line-height:1.48}.form-group{display:flex;flex-direction:column;gap:8px}.label-row{display:flex;align-items:center;justify-content:space-between}.prominent-label{font-size:.92rem;font-weight:700;color:#f8fafc}.req-star{color:var(--accent-primary)}.char-counter{font-size:.74rem;font-weight:600;color:#94a3b8}.prominent-input-wrapper{position:relative;display:flex;align-items:center}.input-lead-icon{position:absolute;left:14px;font-size:1.2rem;pointer-events:none}#username-input{width:100%;padding:15px 110px 15px 44px;border-radius:14px;border:2px solid rgba(56,189,248,.35);background:#0f172ae0;color:var(--text-main);font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:.02em;outline:none;box-shadow:inset 0 2px 8px #0006,0 0 20px #38bdf814;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;user-select:text;-webkit-user-select:text}#username-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px #0284c738}#username-input:required:user-valid{border-color:var(--accent-green)}#username-input:user-invalid,#username-input.user-invalid-fallback{border-color:var(--accent-danger);background-color:#7f1d1d38}.error-msg{display:none;color:#fca5a5;font-size:.8rem;font-weight:600;margin-top:2px}.prominent-field-group:has(#username-input:user-invalid) .error-msg,.prominent-field-group:has(#username-input.user-invalid-fallback) .error-msg{display:block}.dice-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff17;color:#f1f5f9;font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.dice-btn svg{width:16px;height:16px;stroke:var(--accent-cyan);flex-shrink:0}.dice-btn:hover{background:#38bdf838;border-color:var(--accent-cyan);color:#fff;transform:translateY(-50%) scale(1.03)}.dice-btn:active{transform:translateY(-50%) scale(.97)}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px}.profile-footer-actions{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.save-profile-cta{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;font-size:1.04rem;border-radius:14px}.cta-arrow{transition:transform .18s ease}.save-profile-cta:hover .cta-arrow{transform:translate(4px)}.spacer{flex:1}#result-dialog{max-height:94vh;width:min(94vw,540px);overflow:hidden}.result-content{padding:16px 20px;gap:8px;align-items:center;text-align:center;max-height:94vh;box-sizing:border-box}#result-dialog h2,#result-dialog-title{font-size:1.45rem;line-height:1.1;margin:0}.result-badge{align-self:center}.result-stars{font-size:2.1rem;display:flex;gap:8px;margin:2px 0}.res-star-svg{width:32px;height:32px}.result-stars .star{color:#ffffff2e;transition:transform .3s ease,color .3s ease}.result-stars .star.earned{color:var(--accent-gold);text-shadow:0 0 20px rgba(251,191,36,.65);transform:scale(1.1)}.result-message{font-size:.85rem;margin:0;line-height:1.35}.star-upgrade-text{display:inline-block;color:#facc15;font-weight:700;font-size:.95rem;text-shadow:0 0 12px rgba(250,204,21,.45)}.replay-coin-text{display:inline-block;color:#94a3b8;font-size:.8rem;margin-top:4px}.first-win-coin-text{color:#38bdf8;font-weight:700}.result-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:4px 0}.result-stat-box{background:#0f172ab3;border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:14px;display:flex;flex-direction:column;gap:3px}.r-label{font-size:.66rem;font-weight:700;color:var(--text-muted)}.r-value{font-family:var(--font-display);font-size:1.25rem}.coin-box .r-value{color:var(--accent-gold)}.result-actions{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;margin-top:8px;box-sizing:border-box}.result-actions .action-btn{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;font-size:.82rem;font-weight:700;border-radius:12px;white-space:nowrap}.result-actions .action-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-actions .action-btn svg{width:15px;height:15px;stroke-width:2.2;flex-shrink:0;display:block}.result-actions .action-btn .cta-arrow{font-size:.85rem;flex-shrink:0}.hidden{display:none!important}.orientation-guard{display:none;position:fixed;inset:0;z-index:999999;background:radial-gradient(circle at center,#0f172afa,#020617fc);flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;pointer-events:auto}.orientation-guard-card{max-width:420px;width:90%;padding:32px 24px;border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 16px 40px #0009}.rotate-phone-anim{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.phone-device{width:36px;height:62px;border:3px solid var(--text-main);border-radius:8px;position:relative;animation:rotateDeviceAnim 2.4s ease-in-out infinite;background:#38bdf826}.phone-device .phone-screen{position:absolute;inset:3px;background:#ffffff1a;border-radius:3px}.phone-device .phone-notch{position:absolute;top:2px;left:50%;transform:translate(-50%);width:10px;height:2px;background:var(--text-main);border-radius:2px}.rotate-arrow{position:absolute;top:-4px;right:-4px;font-size:1.8rem;color:var(--accent-gold);animation:spinArrow 2.4s linear infinite}@keyframes rotateDeviceAnim{0%{transform:rotate(0)}35%,65%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes spinArrow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orientation-title{font-family:var(--font-display);font-size:1.55rem;color:var(--text-main);margin-bottom:2px}.orientation-msg{font-size:.95rem;color:var(--text-muted);line-height:1.45}.orientation-btn{margin-top:8px;padding:12px 24px;font-size:1rem;border-radius:14px}@media screen and (orientation:portrait)and (max-width:1024px)and (hover:none)and (pointer:coarse){body:not(.orientation-dismissed) .orientation-guard:not(.dismissed){display:flex!important}body:not(.orientation-dismissed) #canvas-container,body:not(.orientation-dismissed) #ui-layer{filter:blur(12px);pointer-events:none!important}}.orientation-guard.active-portrait{display:flex!important}#ui-layer{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}@media screen and (max-height:580px),screen and (max-width:920px){#ui-layer{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}#top-bar{padding:3px 10px;gap:6px;border-radius:12px}.nav-left-group{gap:6px}.player-badge{padding:2px 8px 2px 3px;gap:5px}.avatar-circle{width:26px;height:26px}.player-name{font-size:.8rem;max-width:65px}.stat-pill{padding:2px 7px;gap:4px}.stat-icon{font-size:.82rem}.stat-value{font-size:.8rem}.gameplay-hud-cluster{gap:8px}.hud-metric .metric-label{font-size:.52rem}.hud-metric .metric-val{font-size:.86rem}.bird-dot{width:17px;height:17px;font-size:.65rem}.nav-right-group{gap:5px}.nav-btn{padding:3px 7px;font-size:.72rem;gap:3px;border-radius:8px}.nav-btn .btn-text{display:none}.roadmap-screen-card{max-height:calc(100vh - 42px);overflow-y:auto;padding:6px 12px;gap:4px;border-radius:16px}.roadmap-top-bar{margin-bottom:2px;gap:6px}.hero-compact{gap:1px}.brand-tag{font-size:.52rem;padding:2px 7px}.game-title{font-size:1.1rem}.progress-summary.compact-summary{padding:3px 8px;gap:6px;border-radius:10px}.summary-avatar{width:24px;height:24px}.summary-name{font-size:.72rem}.summary-title{font-size:.46rem}.summary-val{font-size:.7rem}.summary-divider{height:16px}.roadmap-controls-bar{margin-bottom:2px;padding-bottom:2px}.roadmap-heading-group h2{font-size:.78rem}.sequential-hint{display:none}.roadmap-legend{gap:5px;font-size:.6rem}.roadmap-3d-viewport{padding:0;max-width:100vw}.roadmap-top-navigation-shell{margin-bottom:4px}.roadmap-zone-tabs{padding:3px;gap:5px}.zone-tab-btn{padding:4px 10px;gap:5px}.zone-tab-name{font-size:.72rem}.zone-tab-progress{font-size:.65rem}.roadmap-dual-zone-container{gap:16px}.roadmap-square-board{width:min(94vw,560px,calc((100vh - 110px)*1.45));aspect-ratio:1.45 / 1;max-height:calc(100vh - 105px);gap:6px;padding:6px;border-radius:16px;box-shadow:0 8px 20px #00000080}.roadmap-square-node{padding:2px 4px;border-radius:10px}.node-3d-bevel{display:none}.node-stars-bar{font-size:.65rem;gap:1px}.node-big-number{font-size:clamp(.95rem,2.4vw,1.4rem)}.coin-reward-badge{padding:1px 5px;font-size:.65rem}.coin-asset-icon{width:12px;height:12px}.center-mascot-wrap{width:32px;height:32px}.center-brand-title{font-size:.65rem}.center-trophy-pill{font-size:.52rem;padding:1px 5px}.roadmap-center-play-cta{padding:3px 8px;font-size:.65rem}.coin-reward-badge{padding:1px 4px;font-size:.58rem;gap:2px}.coin-asset-icon{width:11px;height:11px}.lock-badge-circle{width:24px;height:24px}.lock-svg-icon{width:12px;height:12px}.commander-pin{width:18px;height:18px;top:-6px;right:-4px}.roadmap-dir-Step{width:12px;height:12px;font-size:.48rem}.dir-right{right:-7px}.dir-bottom{bottom:-7px}.dir-left{left:-7px}.dir-top{top:-7px}.dir-end{right:-6px;top:-6px}.roadmap-center-showcase{padding:3px;border-radius:10px;gap:1px}.center-glow-ring{width:44px;height:44px}.center-mascot-wrap{width:28px;height:28px}.center-brand-caption{gap:1px}.center-brand-title{font-size:.54rem;letter-spacing:.06em}.center-trophy-pill{padding:1px 4px;font-size:.52rem;gap:2px}.roadmap-center-play-cta{padding:2px 6px;font-size:.6rem;border-radius:5px}.in-game-menu-dialog{width:min(94vw,420px);max-height:94vh}.game-menu-shell{padding:12px 16px;gap:10px;max-height:94vh;overflow-y:auto}.menu-stats-row{gap:8px}.menu-stat-pill{padding:8px 6px;min-height:68px}.menu-stat-pill .m-val{font-size:.9rem}.menu-list-btn{padding:8px 12px;font-size:.82rem}.resume-cta-btn,.dashboard-cta-btn{padding:10px 14px;font-size:.88rem}.resume-cta-btn .btn-text,.dashboard-cta-btn .btn-text{display:inline-block!important;font-size:.88rem}.profile-setup-shell{padding:14px 18px;max-height:94vh;overflow-y:auto}.profile-setup-grid{grid-template-columns:1fr 1fr;gap:14px}.avatar-presets-grid{grid-template-columns:repeat(6,1fr);gap:6px}#result-dialog{max-height:98vh;width:min(96vw,520px);border-radius:18px}.result-content{max-height:98vh;overflow-y:hidden;padding:6px 14px;gap:4px}.result-status-highlight{padding:3px 10px;font-size:.72rem;margin-bottom:2px}.result-badge{padding:2px 8px;font-size:.6rem}#result-dialog h2,#result-dialog-title{font-size:1.15rem;margin:0}.result-stars{font-size:1.5rem;gap:6px;margin:0}.res-star-svg{width:22px;height:22px}.result-message{font-size:.74rem;line-height:1.25}.result-stats-grid{gap:6px;margin:2px 0}.result-stat-box{padding:4px 8px}.r-label{font-size:.62rem}.r-value{font-size:1.05rem}.result-actions{margin-top:4px;gap:5px;flex-wrap:nowrap}.result-actions .action-btn{flex:1 1 0;min-width:0;padding:5px 6px;font-size:.72rem;min-height:34px;gap:4px;white-space:nowrap}.result-actions .action-btn svg{width:14px;height:14px}}@media(max-width:480px){.result-actions{gap:4px}.result-actions .action-btn{padding:5px 3px;font-size:.68rem;gap:3px}.result-actions .action-btn svg{width:12px;height:12px}}@media(pointer:coarse){button,.player-badge,.action-btn,.icon-btn,.roadmap-square-node,.nav-action-pill,.milestone-step-node{min-height:44px;touch-action:manipulation}.roadmap-square-node:hover{transform:none}.roadmap-square-node:active{transform:scale(.97)}}.nav-dashboard-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-action-pill{position:relative;display:inline-flex;align-items:center;gap:7px;background:#0f172af0;border:1px solid rgba(255,255,255,.16);color:var(--text-main);padding:5px 13px;border-radius:999px;font-family:var(--font-display);font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 10px #00000040;transition:transform .15s ease,background-color .15s ease}.nav-action-pill:hover{background:#1e293bf2;border-color:var(--accent-cyan);color:#fff;transform:translateY(-1px)}.nav-action-pill:active{transform:scale(.96)}.nav-svg-icon{width:16px;height:16px;stroke:var(--accent-cyan);flex-shrink:0;transition:stroke .2s ease}.nav-action-pill:hover .nav-svg-icon{stroke:#7dd3fc}.nav-pill-label{letter-spacing:.02em}.nav-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 6px var(--accent-cyan)}.nav-milestone-pill{font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,#ec4899,#f59e0b);color:#fff;box-shadow:0 0 10px #ec489973}.dashboard-hero-module{position:relative;overflow:hidden;border-radius:22px;padding:20px 24px;margin:6px 0 12px;background:linear-gradient(145deg,#0f172af0,#1a2640eb);border:1px solid rgba(56,189,248,.28);box-shadow:0 14px 40px #00000073,inset 0 1px #ffffff1f;display:flex;flex-direction:column;gap:14px}.dashboard-hero-module.dashboard-hero-center{align-items:center;justify-content:center;text-align:center;padding:38px 28px;margin:0;border-radius:26px;background:linear-gradient(145deg,#0f172af5,#1a2640f0);box-shadow:0 18px 48px #00000073,inset 0 1px #ffffff26}.hero-center-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:720px;gap:12px}.hero-brand-pill{font-size:.72rem;font-weight:800;letter-spacing:.16em;padding:4px 14px;border-radius:999px;background:#38bdf824;border:1px solid rgba(56,189,248,.35);color:var(--accent-cyan);text-transform:uppercase}.dash-grand-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:#fff;letter-spacing:.02em;line-height:1.1;text-shadow:0 4px 18px rgba(0,0,0,.5);margin:0}.dash-grand-title .accent-3d{background:linear-gradient(135deg,#38bdf8,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.dash-grand-sub{font-size:clamp(.92rem,1.25vw,1.05rem);color:#94a3b8;line-height:1.55;max-width:620px;margin:0}.hero-cta-wrap{margin-top:10px;display:flex;justify-content:center}.btn-start-game-cta.grand-cta{padding:16px 36px;border-radius:22px;gap:16px;box-shadow:0 12px 32px #0284c78c,0 0 28px #38bdf859,inset 0 1px #fff6;transform:scale(1.05)}.btn-start-game-cta.grand-cta:hover{transform:scale(1.08) translateY(-3px);box-shadow:0 18px 44px #0284c7bf,0 0 36px #38bdf88c}.btn-start-game-cta.grand-cta .cta-headline{font-size:1.45rem;letter-spacing:.08em}.btn-start-game-cta.grand-cta .cta-subline{font-size:.82rem}.hero-module-glow-orbit{position:absolute;top:-50px;right:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.16) 0%,rgba(236,72,153,.08) 50%,transparent 70%);filter:blur(40px);pointer-events:none}.hero-module-main-row{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.hero-mission-briefing{flex:1 1 360px;display:flex;flex-direction:column;gap:7px;min-width:0}.mission-tag-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mission-live-pill{font-size:.68rem;font-weight:800;letter-spacing:.1em;padding:3px 10px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:var(--accent-cyan)}.difficulty-chip{font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:6px;text-transform:uppercase}.difficulty-chip.easy{background:#10b9812e;border:1px solid rgba(16,185,129,.4);color:#34d399}.difficulty-chip.medium,.difficulty-chip.normal{background:#fbbf242e;border:1px solid rgba(251,191,36,.4);color:#fbbf24}.difficulty-chip.hard{background:#f43f5e33;border:1px solid rgba(244,63,94,.4);color:#fb7185}.hero-mission-title{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:700;color:#fff;line-height:1.15}.hero-mission-desc{font-size:.88rem;color:var(--text-muted);line-height:1.45;max-width:580px}.hero-metric-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.metric-chip{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;padding:3px 10px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0}.metric-chip .chip-icon{width:14px;height:14px;stroke:var(--accent-cyan)}.metric-chip.reward-accent{background:#fbbf241f;border-color:#fbbf244d;color:#fde047}.metric-chip .coin-icon-img{width:16px;height:16px}.hero-cta-column{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.btn-start-game-cta{position:relative;display:flex;align-items:center;gap:14px;padding:12px 26px;border-radius:18px;border:2px solid rgba(56,189,248,.6);background:linear-gradient(135deg,#0284c7,#0369a1 45%,#0d9488);color:#fff;font-family:var(--font-display);cursor:pointer;box-shadow:0 8px 24px #0284c773,0 0 20px #38bdf840,inset 0 1px #ffffff59;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease;overflow:hidden}.btn-start-game-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 34px #0284c7a6,0 0 28px #38bdf873;border-color:#7dd3fc}.btn-start-game-cta:active{transform:scale(.98)}.cta-pulse-glow{position:absolute;inset:-50%;background:radial-gradient(circle,rgba(255,255,255,.25) 0%,transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s ease}.btn-start-game-cta:hover .cta-pulse-glow{opacity:1}.cta-play-badge{width:38px;height:38px;border-radius:12px;background:#fff3;display:grid;place-items:center;box-shadow:0 2px 8px #0003}.cta-play-badge svg{width:18px;height:18px;fill:#fff;margin-left:2px}.cta-text-block{display:flex;flex-direction:column;text-align:left}.cta-headline{font-size:1.25rem;font-weight:800;letter-spacing:.06em;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.3)}.cta-subline{font-size:.72rem;font-weight:600;color:#ffffffe0;letter-spacing:.03em}.cta-chevron{width:18px;height:18px;stroke:#ffffffd9;margin-left:4px;transition:transform .2s ease}.btn-start-game-cta:hover .cta-chevron{transform:translate(3px)}.btn-roadmap-toggle{display:inline-flex;align-items:center;gap:7px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 14px;font-size:.76rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.btn-roadmap-toggle:hover{background:#ffffff24;color:#fff;border-color:#38bdf866}#modal-milestone-banner{margin-bottom:22px}.modal-milestone-info{background:#0f172ab8;border:1px solid rgba(56,189,248,.22);border-radius:18px;padding:16px 20px;box-shadow:0 8px 24px #00000059}.milestone-banner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.milestone-badge-lead{font-family:var(--font-display);font-size:.8rem;font-weight:800;letter-spacing:.1em;color:#f8fafc}.milestones-track-container.modal-track{padding:4px 8px}.hero-milestones-strip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}.milestones-bar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.milestones-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.milestone-star-icon{width:16px;height:16px;fill:var(--accent-gold)}.milestones-heading-title{font-family:var(--font-display);font-weight:700;color:#f8fafc;font-size:.9rem}.milestones-next-teaser{font-size:.74rem;font-weight:600;color:var(--accent-cyan);background:#38bdf81f;border:1px solid rgba(56,189,248,.25);padding:2px 9px;border-radius:6px}.btn-heroes-codex-link{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;font-family:var(--font-display);font-size:.78rem;font-weight:700;color:var(--accent-sakura);cursor:pointer;transition:color .15s ease,transform .15s ease}.btn-heroes-codex-link svg{width:13px;height:13px}.btn-heroes-codex-link:hover{color:#f472b6;transform:translate(2px)}.milestones-track-container{position:relative;padding:6px 14px 2px}.milestones-progress-line{position:absolute;top:28px;left:36px;right:36px;height:4px;background:#ffffff1a;border-radius:2px;z-index:1}.milestones-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#38bdf8,#818cf8,#ec4899 80%,#fbbf24);box-shadow:0 0 12px #38bdf899;transition:width .4s cubic-bezier(.16,1,.3,1)}.milestones-nodes-row{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.milestone-step-node{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:transform .18s ease;outline:none}.milestone-step-node:hover{transform:translateY(-2px)}.node-avatar-frame{position:relative;width:44px;height:44px;border-radius:50%;padding:2px;background:#0f172af2;border:2px solid rgba(255,255,255,.22);box-shadow:0 4px 12px #00000073;transition:border-color .2s ease,box-shadow .2s ease}.milestone-step-node.unlocked .node-avatar-frame{border-color:var(--accent-hero, var(--accent-cyan));box-shadow:0 0 16px #38bdf873}.node-hero-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.node-hero-img.silhouetted{filter:brightness(.2) grayscale(1);opacity:.55}.node-status-badge{position:absolute;bottom:-3px;right:-3px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #0f172a}.node-status-badge.unlocked{background:var(--accent-green);color:#fff}.node-status-badge.unlocked svg{width:10px;height:10px}.node-status-badge.locked{background:#64748b;color:#fff}.node-status-badge.locked svg{width:9px;height:9px}.node-step-lvl{font-size:.65rem;font-weight:800;letter-spacing:.06em;color:var(--text-muted)}.node-hero-name{font-family:var(--font-display);font-size:.72rem;font-weight:600;color:#f1f5f9}.modal-dashboard-dialog{width:min(94vw,580px);max-height:min(92vh,92dvh);border-radius:24px;border:1px solid rgba(56,189,248,.28);background:linear-gradient(155deg,#0b1224fa,#162138f7);color:var(--text-main);padding:0;box-shadow:0 25px 75px #000000bf;overflow:hidden!important;overscroll-behavior:none!important}.modal-dashboard-dialog.modal-wide{width:min(96vw,780px)}.modal-dashboard-dialog.modal-wide .modal-dialog-shell{max-height:min(92vh,92dvh);padding:20px 24px;gap:12px}.modal-dialog-shell{padding:24px;max-height:min(92vh,92dvh);height:100%;display:flex;flex-direction:column;gap:16px;overflow:hidden!important;overscroll-behavior:none!important;box-sizing:border-box}.modal-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;touch-action:none}.modal-dialog-header .dialog-close-btn,.modal-dashboard-dialog .dialog-close-btn{position:relative;top:auto;right:auto;flex-shrink:0;margin-left:auto;align-self:flex-start}.modal-title-wrap{display:flex;flex-direction:column;gap:4px}.modal-kicker{font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--text-muted)}.modal-heading{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:#fff}.modal-head-svg{width:22px;height:22px;flex-shrink:0}.modal-head-svg.gold-svg{stroke:var(--accent-gold)}.modal-head-svg.cyan-svg{stroke:var(--accent-cyan)}.modal-head-svg.sakura-svg{stroke:var(--accent-sakura)}.modal-header-lead-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.leaderboard-sync-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.04em;background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#86efac;transition:all .2s ease}.leaderboard-sync-badge .sync-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e99}.leaderboard-sync-badge.syncing{background:#38bdf826;border-color:#38bdf859;color:#7dd3fc}.leaderboard-sync-badge.syncing .sync-dot{background:var(--accent-cyan)}.leaderboard-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;border-radius:18px;background:#0f172aa6;border:1px solid rgba(255,255,255,.1);margin:10px 0;gap:10px;animation:fadeIn .25s ease}.leaderboard-state-card.error-card{border-color:#ef444452;background:radial-gradient(circle at 50% 25%,#ef44441f,#0f172acc)}.leaderboard-state-card.empty-card{border-color:#38bdf84d;background:radial-gradient(circle at 50% 25%,#38bdf81a,#0f172acc)}.state-icon-wrap{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin-bottom:2px}.error-icon-wrap{background:#ef44442e;border:1px solid rgba(239,68,68,.4);color:#f87171}.empty-icon-wrap{background:#38bdf82e;border:1px solid rgba(56,189,248,.4);color:var(--accent-cyan)}.state-svg{width:26px;height:26px}.state-heading{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:#fff;margin:0}.state-desc{font-size:.84rem;color:var(--text-muted);max-width:380px;line-height:1.45;margin:0}.state-desc code{color:var(--accent-cyan);background:#ffffff14;padding:2px 6px;border-radius:4px;font-size:.8rem}.state-retry-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;font-size:.88rem;font-weight:700;border-radius:12px;margin-top:6px;cursor:pointer}.state-retry-btn .retry-svg{width:16px;height:16px;transition:transform .2s ease}.state-retry-btn.loading .retry-svg{animation:spinRefresh .8s linear infinite}@keyframes spinRefresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-row{pointer-events:none}.skeleton-shimmer{background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:skeletonPulse 1.5s infinite;border-radius:6px}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-pill{width:26px;height:22px;display:block}.skeleton-avatar{width:32px;height:32px;border-radius:50%!important;flex-shrink:0}.skeleton-info{display:flex;flex-direction:column;gap:5px;flex:1}.skeleton-line.skeleton-name{width:110px;height:14px}.skeleton-line.skeleton-sub{width:75px;height:10px}.skeleton-star-pill{width:45px;height:18px}.skeleton-score-val{width:55px;height:18px;margin-left:auto}.leaderboard-row.current-player-row{background:#38bdf814;border-color:#38bdf833}.you-badge{font-size:.6rem;font-weight:800;padding:1px 5px;border-radius:4px;background:var(--accent-cyan);color:#0f172a;margin-left:5px;vertical-align:middle}.leaderboard-dialog{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}.leaderboard-table-wrap{display:flex;flex-direction:column;overflow:hidden!important;border-radius:16px;background:#0f172a99;border:1px solid rgba(255,255,255,.08);flex:1 1 auto;min-height:0}.leaderboard-header-row{display:grid;grid-template-columns:55px 1fr 85px 95px;padding:10px 14px;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#64748b;border-bottom:1px solid rgba(255,255,255,.08);align-items:center;user-select:none;flex-shrink:0;touch-action:none}.leaderboard-list-body{overflow-y:auto!important;overflow-x:hidden!important;display:flex;flex-direction:column;flex:1 1 auto;min-height:0!important;max-height:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain!important;touch-action:pan-y!important}.leaderboard-list-body::-webkit-scrollbar{width:5px}.leaderboard-list-body::-webkit-scrollbar-track{background:#0f172a66;border-radius:999px}.leaderboard-list-body::-webkit-scrollbar-thumb{background:#38bdf859;border-radius:999px}.leaderboard-list-body::-webkit-scrollbar-thumb:hover{background:#38bdf8a6}.leaderboard-row{display:grid;grid-template-columns:55px 1fr 85px 95px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s ease;box-sizing:border-box}.leaderboard-row:hover{background:#ffffff0a}.leaderboard-row.rank-1-highlight{position:relative;background:linear-gradient(90deg,#f59e0b47,#fbbf2429,#f59e0b14);border:1px solid rgba(251,191,36,.55);border-left:4px solid #f59e0b;border-radius:12px;margin:4px 0;box-shadow:0 4px 20px #f59e0b47,inset 0 1px #ffffff4d}.leaderboard-row.rank-1-highlight:hover{background:linear-gradient(90deg,#f59e0b61,#fbbf243d,#f59e0b24)}.col-rank .rank-pill.rank-1-badge{background:linear-gradient(135deg,#fbbf24,#d97706);color:#0f172a;font-weight:900;border:1px solid #fef08a;box-shadow:0 0 12px #fbbf24bf;padding:3px 9px;letter-spacing:.04em}.row-avatar.avatar-rank-1{border-color:#fbbf24!important;box-shadow:0 0 14px #fbbf24b3!important}.row-name.name-rank-1{color:#fffbeb!important;text-shadow:0 0 12px rgba(251,191,36,.55)}.crown-badge{font-size:.58rem;font-weight:900;letter-spacing:.08em;padding:1px 6px;border-radius:4px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;margin-left:6px;box-shadow:0 0 8px #f59e0ba6;vertical-align:middle}.score-rank-1{color:#fbbf24!important;font-weight:800;font-size:1.05rem!important;text-shadow:0 0 14px rgba(251,191,36,.65)}.leaderboard-player-footer.rank-1-footer-highlight{background:linear-gradient(135deg,#f59e0b52,#fbbf242e)!important;border:1.5px solid rgba(251,191,36,.7)!important;box-shadow:0 4px 24px #f59e0b59,inset 0 1px #ffffff59!important}.col-rank .rank-pill{display:inline-block;font-size:.74rem;font-weight:800;padding:2px 7px;border-radius:6px;background:#ffffff14;color:#94a3b8}.col-rank .rank-pill.gold{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.4)}.col-rank .rank-pill.silver{background:#e2e8f033;color:#f1f5f9;border:1px solid rgba(226,232,240,.4)}.col-rank .rank-pill.bronze{background:#f9731633;color:#fdba74;border:1px solid rgba(249,115,22,.4)}.col-player{display:flex;align-items:center;gap:10px;min-width:0}.row-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.15);flex-shrink:0}.row-pilot-info{display:flex;flex-direction:column;min-width:0}.row-name{font-size:.85rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-pill{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--accent-gold);white-space:nowrap}.star-pill .star-svg{width:13px;height:13px;fill:var(--accent-gold)}.col-score{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--accent-cyan);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.leaderboard-player-footer{margin-top:6px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#38bdf826,#0ea5e914);border:1.5px solid rgba(56,189,248,.35);flex-shrink:0}.player-rank-highlight{display:grid;grid-template-columns:55px 1fr 85px 95px;align-items:center}.player-badge-pill{background:#0284c7!important;color:#fff!important;font-weight:800}.highlight-avatar{border-color:var(--accent-cyan);box-shadow:0 0 10px #38bdf866}.you-badge{font-size:.6rem;font-weight:800;padding:1px 5px;border-radius:4px;background:var(--accent-cyan);color:#0f172a;margin-left:4px}.highlight-score{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--accent-cyan);text-align:right}.missions-list-container{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto;padding-right:4px}.mission-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:16px;background:#0f172aa6;border:1px solid rgba(255,255,255,.09);transition:all .2s ease}.mission-card.ready-card{border-color:#38bdf866;background:linear-gradient(135deg,#0ea5e91f,#0f172ab3);box-shadow:0 4px 16px #0ea5e926}.mission-info-col{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.mission-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission-title{font-family:var(--font-display);font-size:.96rem;font-weight:700;color:#fff}.mission-reward-badge{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--accent-gold);background:#fbbf241f;border:1px solid rgba(251,191,36,.25);padding:2px 8px;border-radius:999px}.mission-reward-badge .coin-icon-img{width:14px;height:14px}.mission-desc{font-size:.8rem;color:var(--text-muted);line-height:1.35}.mission-progress-bar-wrap{position:relative;width:100%;height:7px;border-radius:4px;background:#ffffff1a;margin-top:4px;overflow:hidden}.mission-progress-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#38bdf8,#10b981);transition:width .3s ease}.mission-progress-text{position:absolute;right:6px;top:-14px;font-size:.65rem;font-weight:700;color:#94a3b8}.btn-mission-action{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-family:var(--font-display);font-size:.78rem;font-weight:700;border:none;cursor:pointer;flex-shrink:0}.btn-mission-action.ready{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98166;transition:transform .15s ease,box-shadow .15s ease}.btn-mission-action.ready:hover{transform:scale(1.04);box-shadow:0 6px 18px #10b98199}.btn-mission-action.ready .coin-icon-img{width:15px;height:15px}.btn-mission-action.claimed{background:#ffffff14;color:#64748b;cursor:default}.btn-mission-action.in-progress{background:#ffffff0f;color:#64748b;cursor:default}.daily-reward-banner{background:linear-gradient(135deg,#1e293bd9,#0f172af2);border:1.5px solid rgba(56,189,248,.35);border-radius:18px;padding:14px 18px;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff1a;display:flex;flex-direction:column;gap:12px;margin-bottom:8px;position:relative;overflow:hidden}.daily-reward-banner:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(56,189,248,.18) 0%,transparent 70%);pointer-events:none}.daily-banner-header{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}.daily-header-left{display:flex;flex-direction:column;gap:2px}.daily-tag-kicker{font-size:.64rem;font-weight:800;letter-spacing:.12em;color:var(--accent-cyan);text-transform:uppercase}.daily-heading{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#fff;margin:0}.daily-streak-count-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);font-size:.74rem;font-weight:700;color:#fbbf24}.streak-flame{font-size:.9rem}.daily-streak-track{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;position:relative;z-index:1}.daily-streak-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border-radius:12px;background:#0f172aa6;border:1px solid rgba(255,255,255,.1);transition:all .2s ease;min-width:0}.daily-node-day{font-size:.62rem;font-weight:800;color:#94a3b8;letter-spacing:.04em}.daily-node-coin{width:18px;height:18px;object-fit:contain}.daily-node-val{font-size:.68rem;font-weight:800;color:#e2e8f0}.daily-streak-node.completed-day{background:#10b98126;border-color:#10b98173}.daily-streak-node.completed-day .daily-node-day,.daily-streak-node.completed-day .daily-node-val{color:#34d399}.daily-streak-node.active-claimable{background:linear-gradient(135deg,#f59e0b40,#d9770626);border-color:#f59e0bb3;box-shadow:0 0 12px #f59e0b59;transform:translateY(-2px)}.daily-streak-node.active-claimable .daily-node-day{color:#fbbf24}.daily-streak-node.active-claimable .daily-node-val{color:#fbbf24;font-weight:900}.daily-streak-node.active-claimed{background:#38bdf826;border-color:#38bdf866}.daily-streak-node.active-claimed .daily-node-day{color:#38bdf8}.daily-streak-node.future-day{opacity:.65}.daily-banner-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1;padding-top:2px}.daily-reward-preview{display:flex;flex-direction:column;gap:1px}.preview-label{font-size:.68rem;font-weight:700;color:#94a3b8}.preview-amount{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--accent-gold)}.btn-daily-claim{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:12px;font-family:var(--font-display);font-size:.82rem;font-weight:800;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;cursor:pointer;box-shadow:0 4px 14px #f59e0b73;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn-daily-claim:hover{transform:scale(1.04);box-shadow:0 6px 18px #f59e0b99;filter:brightness(1.1)}.btn-daily-claim .coin-icon-img{width:16px;height:16px}.daily-claimed-status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.daily-claimed-status-pill .status-check{font-size:.74rem;font-weight:700;color:#34d399}.daily-claimed-status-pill .daily-countdown{font-size:.72rem;font-weight:600;color:#94a3b8;font-variant-numeric:tabular-nums}.characters-codex-dialog .modal-dialog-shell{max-height:min(92vh,860px);padding:20px 22px;gap:12px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.characters-codex-dialog .modal-dialog-header{flex-shrink:0}.characters-codex-scroll-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;padding-right:4px;padding-bottom:8px;width:100%;box-sizing:border-box}.characters-codex-scroll-body::-webkit-scrollbar{width:6px}.characters-codex-scroll-body::-webkit-scrollbar-track{background:#0f172a66;border-radius:999px}.characters-codex-scroll-body::-webkit-scrollbar-thumb{background:#38bdf859;border-radius:999px}.characters-codex-scroll-body::-webkit-scrollbar-thumb:hover{background:#38bdf8a6}.characters-codex-scroll-body #modal-milestone-banner,.characters-codex-scroll-body .modal-milestone-banner{flex-shrink:0;margin-bottom:0;padding:0;background:transparent;border:none;width:100%;box-sizing:border-box}.characters-codex-scroll-body .modal-milestone-info{background:#0f172ac7;border:1px solid rgba(56,189,248,.25);border-radius:16px;padding:14px 18px;box-shadow:0 4px 20px #00000059;width:100%;box-sizing:border-box}.characters-codex-scroll-body .milestones-banner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px;width:100%}.characters-codex-scroll-body .milestones-track-container.modal-track{position:relative;padding:4px 2px 2px;width:100%;box-sizing:border-box;overflow:hidden}.characters-codex-scroll-body .milestones-progress-line{position:absolute;top:25px;left:24px;right:24px;height:4px;background:#ffffff1a;border-radius:2px;z-index:1}.characters-codex-scroll-body .milestones-nodes-row{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:4px;width:100%;box-sizing:border-box}.characters-codex-scroll-body .milestone-step-node{flex:1 1 0;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:center;gap:4px}.characters-codex-scroll-body .node-hero-name{font-family:var(--font-display);font-size:.68rem;font-weight:600;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.modal-milestone-banner{padding:10px 16px;border-radius:14px;background:linear-gradient(135deg,#ec489926,#38bdf81a);border:1px solid rgba(236,72,153,.3);margin-bottom:4px}.milestone-badge-lead{font-size:.64rem;font-weight:800;letter-spacing:.1em;color:var(--accent-sakura)}.milestone-desc-lead{font-size:.84rem;color:#f1f5f9;margin-top:3px}.characters-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));grid-auto-rows:auto;gap:14px;max-height:none;overflow:visible;padding-right:0;padding-bottom:8px;width:100%;box-sizing:border-box}.characters-codex-scroll-body .characters-roster-grid{flex:1 0 auto;max-height:none;overflow:visible;padding-right:0;padding-bottom:4px}.hero-collection-card{position:relative;display:flex;gap:14px;padding:14px 16px;border-radius:18px;background:#0f172abf;border:1.5px solid rgba(255,255,255,.14);overflow:visible;min-height:auto;transition:transform .2s ease,border-color .2s ease}.hero-collection-card.unlocked-card{border-color:var(--hero-color, var(--accent-cyan));box-shadow:0 8px 24px #0000004d}.hero-portrait-frame{position:relative;width:78px;height:78px;border-radius:18px;padding:3px;background:radial-gradient(circle at 50% 40%,#ffffff26,#0f172ae6);border:2px solid var(--hero-color, var(--accent-cyan));flex-shrink:0;display:grid;place-items:center}.hero-portrait-img{width:100%;height:100%;object-fit:contain}.hero-portrait-img.silhouetted{filter:brightness(.2) grayscale(1);opacity:.5}.hero-lock-badge{position:absolute;inset:0;display:grid;place-items:center;background:#0f172a8c;border-radius:16px;color:#e2e8f0}.hero-lock-badge svg{width:24px;height:24px}.hero-details{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;min-width:0;min-height:min-content}.hero-meta-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.hero-archetype{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:var(--hero-color, var(--accent-cyan));text-transform:uppercase}.hero-status-pill{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:999px}.hero-status-pill.unlocked{background:#10b9812e;border:1px solid rgba(16,185,129,.4);color:#34d399}.hero-status-pill.locked{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#94a3b8}.hero-display-name{font-family:var(--font-display);font-size:1.12rem;font-weight:700;color:#fff}.hero-ability-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 10px;display:flex;flex-direction:column;gap:2px}.ability-title{display:flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:var(--accent-gold)}.ability-icon{width:12px;height:12px}.ability-desc{font-size:.72rem;color:#cbd5e1;line-height:1.35}.hero-stats-bars{display:flex;flex-direction:column;gap:3px;margin-top:2px}.stat-line{display:flex;align-items:center;gap:8px;font-size:.66rem;font-weight:700;color:#94a3b8}.stat-name{width:65px}.stat-track{flex:1;height:5px;border-radius:3px;background:#ffffff1a;overflow:hidden}.stat-fill{height:100%;border-radius:3px;background:var(--hero-color, var(--accent-cyan))}.hero-status-pill.ready-claim{background:#f59e0b38;border:1px solid rgba(245,158,11,.5);color:#fbbf24;animation:claimPulse 1.8s infinite}@keyframes claimPulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 10px 2px #f59e0b59}}.hero-title-group{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.hero-rec-tag{font-size:.64rem;font-weight:700;color:#94a3b8;background:#ffffff0f;padding:1px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.hero-power-row{display:flex;align-items:center;gap:6px;background:#ffffff08;padding:3px 8px;border-radius:6px;border-left:2px solid var(--hero-color, var(--accent-cyan))}.power-label{font-size:.6rem;font-weight:800;letter-spacing:.06em;color:var(--hero-color, var(--accent-cyan))}.power-val{font-size:.72rem;font-weight:600;color:#e2e8f0}.hero-card-footer{margin-top:6px;display:flex;align-items:center}.btn-hero-claim{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:10px;font-family:var(--font-display);font-size:.8rem;font-weight:800;cursor:pointer;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;box-shadow:0 4px 14px #f59e0b59;transition:transform .15s ease,filter .15s ease}.btn-hero-claim:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn-hero-claim .btn-claim-reward{display:inline-flex;align-items:center;gap:4px;background:#0f172a4d;padding:2px 8px;border-radius:6px;color:#fff}.coin-icon-mini{width:14px;height:14px;object-fit:contain}.hero-claimed-tag{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.68rem;font-weight:700;background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#34d399}.hero-locked-tag{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.68rem;font-weight:700;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#64748b}.hero-footer-actions-row{width:100%;display:flex;align-items:center;gap:8px}.hero-footer-actions-row .btn-hero-claim,.hero-footer-actions-row .hero-locked-tag{flex:1}.btn-hero-equip{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:10px;font-family:var(--font-display);font-size:.76rem;font-weight:800;cursor:pointer;border:1px solid rgba(56,189,248,.4);background:#38bdf81f;color:var(--accent-cyan);transition:all .15s ease}.btn-hero-equip:hover{background:#38bdf838;border-color:#38bdf8a6;transform:translateY(-1px)}.btn-hero-equip.active-lead{background:linear-gradient(135deg,#f59e0b40,#d9770626);border-color:#f59e0b99;color:#fbbf24;box-shadow:0 0 10px #f59e0b40}.btn-hero-inspect{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border-radius:10px;font-family:var(--font-sans);font-size:.72rem;font-weight:700;cursor:pointer;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#cbd5e1;transition:all .15s ease;white-space:nowrap}.btn-hero-inspect:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.btn-hero-inspect.highlight{border-color:#38bdf84d;color:var(--accent-cyan)}.hero-collection-card.squad-lead-card{border-color:#fbbf24!important;box-shadow:0 8px 26px #f59e0b40!important}.hero-status-pill.lead-pill{background:#f59e0b33;border:1px solid rgba(245,158,11,.45);color:#fbbf24}.check-svg,.lock-svg{width:14px;height:14px}.res-star-svg{width:32px;height:32px;fill:var(--accent-gold)}.menu-title-svg{width:22px;height:22px;stroke:var(--accent-cyan)}.volume-row-svg{width:16px;height:16px;stroke:var(--accent-cyan)}.pill-star-svg{width:14px;height:14px;fill:var(--accent-gold)}@media screen and (max-height:580px),screen and (max-width:920px){.dashboard-hero-module{padding:12px 16px;gap:10px}.hero-mission-title{font-size:1.25rem}.hero-mission-desc{font-size:.8rem;line-height:1.3}.btn-start-game-cta{padding:8px 18px;gap:10px}.cta-headline{font-size:1.05rem}.cta-play-badge{width:32px;height:32px}.cta-play-badge svg{width:15px;height:15px}.hero-milestones-strip{padding-top:8px}.node-avatar-frame{width:36px;height:36px}.milestones-progress-line{top:24px}.nav-action-pill{padding:3px 8px;font-size:.78rem;gap:5px}.dashboard-scroll-shell{padding:56px 12px 20px;gap:10px}.dashboard-hub-grid{grid-template-columns:1fr;gap:10px}.dashboard-feature-card{padding:12px 16px;flex-direction:row;align-items:center;gap:12px}.card-icon-badge{width:38px;height:38px;flex-shrink:0}.card-text-block{flex:1;min-width:0}.card-heading{font-size:1.05rem}.card-desc{display:none}.card-action-cue{border-top:none;padding-top:0;flex-shrink:0}.roadmap-scroll-shell{padding:10px 12px 20px;gap:10px}.roadmap-nav-bar{padding:6px 12px}.btn-back-to-dashboard{padding:5px 12px;font-size:.76rem}}.menu-action-list{display:flex;flex-direction:column;gap:10px}.menu-action-card{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:left}.menu-action-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.menu-action-card:active{transform:translateY(0)}.menu-card-lead{display:flex;align-items:center;gap:14px}.card-icon-circle{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.menu-action-card:hover .card-icon-circle{transform:scale(1.08)}.card-icon-circle svg{width:20px;height:20px}.icon-circle-cyan{background:linear-gradient(135deg,#38bdf840,#0ea5e959);border:1px solid rgba(56,189,248,.45);color:#38bdf8}.icon-circle-amber{background:linear-gradient(135deg,#f59e0b40,#d9770659);border:1px solid rgba(245,158,11,.45);color:#fbbf24}.icon-circle-emerald{background:linear-gradient(135deg,#10b98140,#05966959);border:1px solid rgba(16,185,129,.45);color:#34d399}.icon-circle-indigo{background:linear-gradient(135deg,#818cf840,#6366f159);border:1px solid rgba(129,140,248,.45);color:#a5b4fc}.card-text-block{display:flex;flex-direction:column;gap:2px}.card-main-title{font-family:var(--font-display);font-size:.98rem;font-weight:700;color:#fff;letter-spacing:.02em}.card-sub-hint{font-size:.72rem;color:#94a3b8;font-weight:500}.card-action-arrow{font-size:1rem;color:#94a3b8;opacity:.7;transition:transform .2s ease,color .2s ease}.menu-action-card:hover .card-action-arrow{transform:translate(4px);color:#fff;opacity:1}.resume-card-btn{background:linear-gradient(135deg,#0ea5e92e,#0284c714);border-color:#38bdf859}.resume-card-btn:hover{background:linear-gradient(135deg,#0ea5e947,#0284c729);border-color:#38bdf8a6;box-shadow:0 10px 28px #0ea5e940}.retry-card-btn{background:linear-gradient(135deg,#f59e0b24,#d977060f);border-color:#f59e0b4d}.retry-card-btn:hover{background:linear-gradient(135deg,#f59e0b38,#d977061f);border-color:#f59e0b8c}.roadmap-card-btn{background:linear-gradient(135deg,#10b98124,#0596690f);border-color:#10b9814d}.roadmap-card-btn:hover{background:linear-gradient(135deg,#10b9813d,#05966924);border-color:#10b9818c}.dashboard-card-btn{background:linear-gradient(135deg,#6366f124,#4f46e50f);border-color:#818cf84d}.dashboard-card-btn:hover{background:linear-gradient(135deg,#6366f13d,#4f46e524);border-color:#818cf88c}.structure-birds-tracker{position:absolute;top:76px;right:10px;display:flex;flex-direction:column;gap:8px;padding:0;background:transparent;border:none;box-shadow:none;z-index:45;pointer-events:auto;align-items:center;user-select:none;animation:trackerSlideInRight .35s cubic-bezier(.16,1,.3,1)}@keyframes trackerSlideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.tracker-header{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);width:100%;justify-content:center}.tracker-header-icon{font-size:.95rem}.tracker-header-text{font-family:var(--font-display);font-size:.65rem;font-weight:800;letter-spacing:.08em;color:#38bdf8;text-transform:uppercase;white-space:nowrap}.tracker-birds-list{display:flex;flex-direction:column;gap:8px;align-items:center}.tracker-bird-item{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;transition:transform .25s ease,opacity .25s ease}.tracker-bird-item.cleared{opacity:.6}.tracker-avatar-wrap{width:44px;height:44px;border-radius:13px;padding:3px;background:#0f172ab3;border:1.8px solid var(--bird-theme-color, #38bdf8);box-shadow:0 4px 12px #0000004d,0 0 10px #38bdf833;position:relative;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.tracker-bird-item:hover .tracker-avatar-wrap{transform:scale(1.08)}.tracker-bird-img{width:100%;height:100%;object-fit:contain;display:block}.tracker-count-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-family:var(--font-display);font-size:.68rem;font-weight:800;padding:2px 6px;border-radius:999px;border:1.5px solid #0f172a;box-shadow:0 2px 6px #0006;line-height:1.1;min-width:18px;text-align:center}.tracker-count-badge.badge-cleared{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.tracker-bird-name{font-size:.58rem;font-weight:700;color:#94a3b8;white-space:nowrap;letter-spacing:.02em}.result-status-highlight{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 20px;border-radius:999px;font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:.04em;margin-bottom:8px;animation:statusPulse 1.8s infinite ease-in-out}.result-status-highlight.fail-highlight{background:linear-gradient(135deg,#ef444459,#b91c1c40)!important;border:2px solid #ef4444!important;color:#fca5a5!important;box-shadow:0 0 28px #ef444480,inset 0 0 14px #ef44444d!important;text-shadow:0 0 10px rgba(239,68,68,.7)}.result-status-highlight.win-highlight{background:linear-gradient(135deg,#10b98147,#f59e0b38)!important;border:2px solid #10b981!important;color:#6ee7b7!important;box-shadow:0 0 25px #10b98166,inset 0 0 12px #10b98133!important}@keyframes statusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.fail-badge{background:#ef44442e!important;color:#ef4444!important;border-color:#ef444473!important}.win-badge{background:#10b9812e!important;color:#10b981!important;border-color:#10b98173!important}.fail-notice-text{display:inline-block;color:#fca5a5;font-weight:600;font-size:.92rem;line-height:1.45;background:#ef44441f;border:1px solid rgba(239,68,68,.28);padding:10px 16px;border-radius:12px}.result-dialog-failed{border-color:#ef444473!important;box-shadow:0 25px 70px #000c,0 0 35px #ef444440!important}.result-dialog-victory{border-color:#f59e0b73!important;box-shadow:0 25px 70px #000c,0 0 40px #f59e0b4d!important}.victory-celebration-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:visible}.victory-confetti-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1000}.bird-ability-dock{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto;user-select:none;animation:abilityDockSlideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes abilityDockSlideUp{0%{opacity:0;transform:translate(-50%,25px)}to{opacity:1;transform:translate(-50%)}}.ability-tooltip{position:relative;background:linear-gradient(135deg,#0f172af2,#1e293bf2);border:1.5px solid #38bdf8;border-radius:12px;padding:8px 12px;box-shadow:0 10px 25px #0009,0 0 15px #38bdf84d;display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:#f0f9ff;max-width:320px;white-space:normal;animation:tooltipFloat 2s infinite ease-in-out}.ability-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-width:6px 6px 0;border-style:solid;border-color:#38bdf8 transparent transparent}@keyframes tooltipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tooltip-sparkle{font-size:1rem;flex-shrink:0}.tooltip-text{flex:1;line-height:1.35}.tooltip-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:4px;transition:color .2s ease;line-height:1}.tooltip-close:hover{color:#fff}.ability-btn{position:relative;display:flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;background:#0f172ae0;border:1.5px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #00000080}.ability-btn:disabled{cursor:default;opacity:.82}.ability-icon-ring{position:absolute;inset:-3px;border-radius:999px;border:2px solid transparent;pointer-events:none;transition:all .25s ease}.ability-icon{font-size:1.35rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.ability-meta{display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.15}.ability-name{font-family:var(--font-display);font-size:.82rem;font-weight:800;letter-spacing:.03em;color:#f8fafc}.ability-status{font-size:.68rem;font-weight:700;color:#94a3b8;letter-spacing:.04em;text-transform:uppercase}.ability-btn.in-flight-active{cursor:pointer!important;opacity:1!important;background:linear-gradient(135deg,#0ea5e9f2,#6366f1f2)!important;border-color:#38bdf8!important;box-shadow:0 0 25px #38bdf8b3,0 8px 30px #0009!important;transform:scale(1.05);animation:abilityInFlightGlow 1.2s infinite alternate ease-in-out}.ability-btn.in-flight-active .ability-icon-ring{border-color:#38bdf8;animation:abilityRingPulse 1.2s infinite ease-out}.ability-btn.in-flight-active .ability-icon{background:#ffffff40;border-color:#fff;transform:scale(1.1)}.ability-btn.in-flight-active .ability-status{color:#fef08a!important;font-weight:900}@keyframes abilityInFlightGlow{0%{box-shadow:0 0 15px #38bdf866,0 4px 15px #00000080}to{box-shadow:0 0 32px #38bdf8d9,0 8px 30px #000000b3}}@keyframes abilityRingPulse{0%{transform:scale(1);opacity:.9}to{transform:scale(1.35);opacity:0}}.ability-btn.in-flight-active:hover{transform:scale(1.1)}.ability-btn.in-flight-active:active{transform:scale(.96)}.ability-btn.ability-used{background:#0f172abf;border-color:#10b98166;opacity:.7}.ability-btn.ability-used .ability-status{color:#34d399}@media(max-width:768px),(max-height:500px){.structure-birds-tracker{top:54px;right:8px;padding:0;gap:5px;background:transparent;border:none;box-shadow:none}.tracker-header-text{font-size:.58rem}.tracker-avatar-wrap{width:34px;height:34px;border-radius:10px}.tracker-count-badge{font-size:.6rem;padding:1px 4px;min-width:15px}.tracker-bird-name{font-size:.52rem}.bird-ability-dock{bottom:12px;gap:4px}.ability-btn{padding:5px 12px;gap:6px}.ability-icon{width:26px;height:26px;font-size:1.05rem}.ability-name{font-size:.72rem}.ability-status{font-size:.6rem}.ability-tooltip{padding:5px 10px;font-size:.72rem;max-width:260px}}.result-hero-unlock-card{margin:10px 0;width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:linear-gradient(135deg,#f59e0b38,#ec48992e,#38bdf82e);border:1.5px solid rgba(251,191,36,.65);box-shadow:0 8px 24px #f59e0b40,0 0 20px #ec489933;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease;animation:unlockBannerPulse 2.4s ease-in-out infinite}.result-hero-unlock-card:hover{transform:translateY(-2px) scale(1.015);border-color:#fde047;box-shadow:0 12px 30px #f59e0b66,0 0 25px #ec489959}.result-hero-unlock-card:active{transform:scale(.99)}@keyframes unlockBannerPulse{0%,to{box-shadow:0 8px 24px #f59e0b40,0 0 18px #ec489933;border-color:#fbbf24a6}50%{box-shadow:0 10px 32px #f59e0b73,0 0 26px #ec489959;border-color:#fde047f2}}.unlock-gift-icon-wrap{position:relative;width:44px;height:44px;border-radius:12px;background:radial-gradient(circle,#fbbf2459,#0f172acc 80%);border:1.5px solid rgba(251,191,36,.7);display:grid;place-items:center;flex-shrink:0}.gift-bounce-emoji{font-size:1.6rem;animation:giftBounce 1.6s ease-in-out infinite;display:inline-block}.gift-sparkle-emoji{position:absolute;top:-4px;right:-4px;font-size:.95rem;animation:sparkleTwinkle 1.2s ease-in-out infinite alternate}@keyframes giftBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.08) rotate(4deg)}}@keyframes sparkleTwinkle{0%{transform:scale(.8) rotate(0);opacity:.6}to{transform:scale(1.2) rotate(25deg);opacity:1}}.unlock-card-meta{flex:1;display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0}.unlock-kicker-pill{font-size:.66rem;font-weight:800;letter-spacing:.08em;color:#fbbf24;text-transform:uppercase}.unlock-hero-headline{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unlock-hero-subtext{font-size:.72rem;color:#cbd5e1}.btn-result-open-surprise{padding:8px 14px;border-radius:10px;font-family:var(--font-display);font-size:.82rem;font-weight:800;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#0f172a;border:none;cursor:pointer;box-shadow:0 4px 14px #f59e0b66;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;transition:transform .15s ease,filter .15s ease}.btn-result-open-surprise:hover{filter:brightness(1.12);transform:scale(1.04)}#hero-surprise-dialog{max-width:min(94vw,520px);max-height:94vh;width:520px;border-radius:22px;overflow:hidden;border:1.5px solid rgba(251,191,36,.5);box-shadow:0 25px 80px #000000d9,0 0 50px #f59e0b59;background:transparent}#hero-surprise-dialog::backdrop{background:#0a0f1edb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.surprise-modal-shell{position:relative;display:flex;flex-direction:column;padding:18px 22px;gap:12px;background:linear-gradient(145deg,#0f172afa,#1e293bf5);overflow-y:auto;max-height:94vh}.surprise-ambient-glow{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:320px;height:220px;border-radius:50%;pointer-events:none;filter:blur(45px);z-index:0}.surprise-modal-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.surprise-kicker-badge{display:inline-flex;align-items:center;gap:6px;background:#f59e0b2e;border:1px solid rgba(245,158,11,.5);color:#fbbf24;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:4px 12px;border-radius:999px;text-transform:uppercase}.surprise-modal-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.surprise-avatar-showcase{position:relative;margin-top:4px}.surprise-avatar-halo{position:relative;width:96px;height:96px;border-radius:50%;padding:4px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#fff3,#0f172aeb);border:2px solid var(--halo-color, #38bdf8);box-shadow:0 0 25px var(--halo-color, rgba(56, 189, 248, .45))}.surprise-halo-ring{position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--halo-color, rgba(56, 189, 248, .6));animation:haloSpin 12s linear infinite;pointer-events:none}@keyframes haloSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.surprise-hero-img{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5));animation:heroImgFloat 3s ease-in-out infinite alternate}@keyframes heroImgFloat{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.04)}}.surprise-stage-badge{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:var(--font-display);font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.4);box-shadow:0 3px 10px #10b98173;white-space:nowrap}.surprise-hero-headline{display:flex;flex-direction:column;align-items:center;gap:3px}.surprise-archetype-pill{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#38bdf8;text-transform:uppercase}.surprise-hero-name{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:#fff;line-height:1.15;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.surprise-hero-power{font-size:.78rem;color:#cbd5e1;font-weight:600}.surprise-ability-card{width:100%;background:#ffffff0a;border:1.5px solid var(--card-theme-color, rgba(56, 189, 248, .45));border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;text-align:left;box-shadow:0 6px 18px #00000059}.surprise-ability-header{display:flex;align-items:center;gap:8px}.surprise-ability-icon-circle{width:30px;height:30px;border-radius:8px;background:#ffffff1a;display:grid;place-items:center;font-size:1.15rem;flex-shrink:0}.surprise-ability-title-wrap{display:flex;flex-direction:column}.surprise-ability-kicker{font-size:.6rem;font-weight:800;letter-spacing:.06em;color:#fbbf24}.surprise-ability-name{font-family:var(--font-display);font-size:.96rem;font-weight:700;color:#fff}.surprise-ability-desc{font-size:.76rem;color:#cbd5e1;line-height:1.4;margin:0}.surprise-ability-how-to{font-size:.72rem;color:#94a3b8;background:#00000040;padding:4px 8px;border-radius:6px;margin-top:2px}.tip-sparkle{color:#fbbf24;font-weight:700}.surprise-stats-row{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.surprise-stat-col{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;gap:4px}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-lbl{font-size:.62rem;color:#94a3b8;font-weight:600}.stat-val{font-size:.72rem;color:#fff;font-weight:800}.stat-gauge{height:5px;border-radius:3px;background:#ffffff1a;overflow:hidden}.stat-gauge-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#38bdf8,#818cf8)}.surprise-modal-footer{position:relative;z-index:1;margin-top:4px;width:100%}.surprise-continue-cta{width:100%;padding:10px 18px;font-size:.92rem;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;cursor:pointer;box-shadow:0 6px 20px #10b98173;transition:transform .15s ease,filter .15s ease}.surprise-continue-cta:hover{filter:brightness(1.1);transform:translateY(-1px)}.surprise-continue-cta:active{transform:scale(.99)}.hero-footer-actions-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.btn-hero-inspect{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;font-family:var(--font-display);font-size:.74rem;font-weight:700;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#e2e8f0;transition:transform .15s ease,background .15s ease,border-color .15s ease;flex-shrink:0}.btn-hero-inspect.highlight{border-color:#38bdf866;background:#38bdf824;color:#38bdf8}.btn-hero-inspect:hover{background:#38bdf840;border-color:#38bdf8;color:#fff;transform:translateY(-1px)}.btn-hero-inspect .inspect-svg{width:13px;height:13px}.characters-codex-dialog{max-width:96vw;box-sizing:border-box}.characters-codex-dialog .modal-dialog-shell{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.characters-codex-scroll-body{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}@media screen and (max-width:768px),screen and (max-height:600px){.modal-dashboard-dialog.characters-codex-dialog{width:min(96vw,760px);border-radius:20px;margin:auto}.characters-codex-dialog .modal-dialog-shell{padding:14px 16px;gap:10px;max-height:94vh}.characters-codex-dialog .modal-dialog-header{gap:8px;align-items:center}.characters-codex-dialog .modal-kicker{font-size:.6rem;letter-spacing:.08em}.characters-codex-dialog .modal-heading{font-size:1.15rem;gap:6px}.characters-codex-dialog .modal-head-svg{width:18px;height:18px}.characters-codex-dialog .dialog-close-btn{width:32px;height:32px;padding:4px;border-radius:10px}.characters-codex-scroll-body{gap:10px;padding-right:2px}.characters-codex-scroll-body .modal-milestone-info{padding:10px 12px 8px;border-radius:14px}.characters-codex-scroll-body .milestone-banner-top{margin-bottom:8px;gap:6px}.characters-codex-scroll-body .milestone-badge-lead{font-size:.64rem}.characters-codex-scroll-body .milestones-next-teaser{font-size:.66rem;padding:2px 7px}.characters-codex-scroll-body .milestones-track-container.modal-track{padding:2px 0}.characters-codex-scroll-body .milestones-progress-line{top:20px;left:16px;right:16px;height:3px}.characters-codex-scroll-body .node-avatar-frame{width:34px;height:34px;padding:1.5px;border-width:1.5px}.characters-codex-scroll-body .node-status-badge{width:13px;height:13px}.characters-codex-scroll-body .node-status-badge svg{width:8px;height:8px}.characters-codex-scroll-body .node-step-lvl,.characters-codex-scroll-body .node-hero-name{font-size:.58rem;line-height:1.1}.characters-roster-grid{gap:10px}.modal-dashboard-dialog.leaderboard-dialog,#leaderboard-dialog{width:min(96vw,620px);max-height:min(94vh,94dvh);border-radius:20px;margin:auto;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}.leaderboard-dialog .modal-dialog-shell,#leaderboard-dialog .modal-dialog-shell{padding:14px 16px;gap:10px;max-height:min(94vh,94dvh);height:100%;overflow:hidden!important;overscroll-behavior:none!important}.leaderboard-dialog .modal-header-lead-row,#leaderboard-dialog .modal-header-lead-row{margin-bottom:2px;gap:8px}.leaderboard-dialog .modal-kicker,#leaderboard-dialog .modal-kicker{font-size:.6rem;letter-spacing:.06em}.leaderboard-dialog .leaderboard-sync-badge,#leaderboard-dialog .leaderboard-sync-badge{padding:2px 7px;font-size:.62rem}.leaderboard-dialog .modal-heading,#leaderboard-dialog .modal-heading{font-size:1.18rem;gap:6px}.leaderboard-dialog .modal-head-svg,#leaderboard-dialog .modal-head-svg{width:18px;height:18px}.leaderboard-dialog .dialog-close-btn,#leaderboard-dialog .dialog-close-btn{position:relative!important;top:auto!important;right:auto!important;margin-left:auto;align-self:flex-start;flex-shrink:0;width:32px;height:32px;padding:4px;border-radius:10px}.leaderboard-header-row,.leaderboard-row,.player-rank-highlight{grid-template-columns:46px 1fr 70px 80px;padding:7px 12px}.leaderboard-header-row{font-size:.64rem;padding:8px 12px}.leaderboard-row{min-height:42px}.row-avatar{width:28px;height:28px}.row-name{font-size:.8rem}.row-sub{font-size:.62rem}.col-rank .rank-pill{font-size:.7rem;padding:2px 6px}.col-rank .rank-pill.rank-1-badge{padding:2px 7px}.star-pill{font-size:.72rem;gap:3px}.star-pill .star-svg{width:11px;height:11px}.col-score{font-size:.84rem}.leaderboard-row.rank-1-highlight{margin:2px 0}.leaderboard-player-footer{padding:8px 12px;margin-top:4px;border-radius:12px}}@media screen and (max-width:640px){.modal-dashboard-dialog.characters-codex-dialog{width:95vw;border-radius:16px}.characters-codex-dialog .modal-dialog-shell{padding:12px;gap:8px}.characters-codex-scroll-body .characters-roster-grid{grid-template-columns:1fr;gap:10px}.hero-collection-card{padding:12px;gap:10px;border-radius:14px;width:100%;box-sizing:border-box}.hero-portrait-frame{width:64px;height:64px;border-radius:14px;flex-shrink:0}.hero-display-name{font-size:1rem}.hero-archetype{font-size:.62rem}.hero-status-pill{font-size:.58rem;padding:2px 6px}.hero-rec-tag{font-size:.58rem;padding:1px 5px}.hero-power-row{padding:2px 6px}.power-label{font-size:.56rem}.power-val{font-size:.66rem}.hero-ability-box{padding:5px 8px;border-radius:8px}.ability-title{font-size:.7rem}.ability-desc{font-size:.66rem;line-height:1.3}.stat-line{font-size:.62rem;gap:6px}.stat-name{width:58px}.hero-footer-actions-row{flex-wrap:wrap;gap:6px}.hero-footer-actions-row .btn-hero-claim,.hero-footer-actions-row .btn-hero-equip,.hero-footer-actions-row .hero-locked-tag{flex:1 1 auto;font-size:.74rem;padding:6px 10px}.hero-footer-actions-row .btn-hero-inspect{font-size:.7rem;padding:6px 10px}.modal-dashboard-dialog.leaderboard-dialog,#leaderboard-dialog{width:min(95vw,560px);max-height:min(92vh,92dvh);border-radius:18px;margin:auto;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}.leaderboard-dialog .modal-dialog-shell,#leaderboard-dialog .modal-dialog-shell{padding:10px 12px;gap:7px;max-height:min(92vh,92dvh);height:100%;overflow:hidden!important;overscroll-behavior:none!important}.leaderboard-dialog .modal-header-lead-row,#leaderboard-dialog .modal-header-lead-row{margin-bottom:1px;gap:6px}.leaderboard-dialog .modal-kicker,#leaderboard-dialog .modal-kicker{font-size:.56rem}.leaderboard-dialog .leaderboard-sync-badge,#leaderboard-dialog .leaderboard-sync-badge{font-size:.58rem;padding:2px 6px}.leaderboard-dialog .modal-heading,#leaderboard-dialog .modal-heading{font-size:1.05rem;gap:5px}.leaderboard-dialog .modal-head-svg,#leaderboard-dialog .modal-head-svg{width:17px;height:17px}.leaderboard-dialog .dialog-close-btn,#leaderboard-dialog .dialog-close-btn{position:relative!important;top:auto!important;right:auto!important;margin-left:auto;align-self:flex-start;flex-shrink:0;width:28px;height:28px;border-radius:8px;padding:2px}.leaderboard-header-row,.leaderboard-row,.player-rank-highlight{grid-template-columns:40px 1fr 58px 68px;padding:5px 8px}.leaderboard-header-row{font-size:.58rem;padding:5px 8px;letter-spacing:.05em}.leaderboard-table-wrap{flex:1 1 auto;min-height:0;overflow:hidden!important}.leaderboard-list-body{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;touch-action:pan-y!important}.leaderboard-row{min-height:38px;border-bottom:1px solid rgba(255,255,255,.04)}.col-player{gap:6px}.row-avatar{width:26px;height:26px;border-width:1px}.row-pilot-info{gap:1px}.row-name{font-size:.78rem;line-height:1.2}.row-sub{font-size:.58rem;line-height:1.1}.col-rank .rank-pill{font-size:.66rem;padding:2px 5px;border-radius:5px}.col-rank .rank-pill.rank-1-badge{font-size:.66rem;padding:2px 5px}.crown-badge,.you-badge{font-size:.52rem;padding:1px 4px;margin-left:3px}.star-pill{font-size:.68rem;gap:2px}.star-pill .star-svg{width:10px;height:10px}.col-score{font-size:.8rem}.score-rank-1{font-size:.88rem!important}.leaderboard-row.rank-1-highlight{margin:2px 0;border-radius:8px;padding:5px 8px}.leaderboard-player-footer{padding:6px 8px;margin-top:3px;border-radius:10px}.highlight-avatar{width:26px;height:26px}.highlight-score{font-size:.84rem}.skeleton-pill{width:22px;height:16px}.skeleton-avatar{width:26px;height:26px}.skeleton-line.skeleton-name{width:80px;height:10px}.skeleton-line.skeleton-sub{width:50px;height:8px}.skeleton-star-pill{width:34px;height:14px}.skeleton-score-val{width:44px;height:14px}}@media screen and (max-width:420px){.characters-codex-dialog .modal-dialog-shell{padding:10px 8px;gap:6px}.characters-codex-dialog .modal-heading{font-size:1.02rem}.characters-codex-scroll-body .modal-milestone-info{padding:8px}.characters-codex-scroll-body .milestones-progress-line{top:17px;left:12px;right:12px}.characters-codex-scroll-body .node-avatar-frame{width:28px;height:28px}.characters-codex-scroll-body .node-step-lvl,.characters-codex-scroll-body .node-hero-name{font-size:.52rem}.hero-collection-card{padding:10px 8px;gap:8px}.hero-portrait-frame{width:56px;height:56px}.modal-dashboard-dialog.leaderboard-dialog,#leaderboard-dialog{width:98vw;max-height:min(94vh,94dvh);border-radius:14px;margin:auto;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}.leaderboard-dialog .modal-dialog-shell,#leaderboard-dialog .modal-dialog-shell{padding:8px;gap:5px;max-height:min(94vh,94dvh);height:100%;overflow:hidden!important;overscroll-behavior:none!important}.leaderboard-dialog .dialog-close-btn,#leaderboard-dialog .dialog-close-btn{position:relative!important;top:auto!important;right:auto!important;margin-left:auto;align-self:flex-start;flex-shrink:0;width:26px;height:26px;border-radius:7px;padding:2px}.leaderboard-header-row,.leaderboard-row,.player-rank-highlight{grid-template-columns:36px 1fr 50px 60px;padding:4px 6px}.leaderboard-header-row{font-size:.54rem;padding:4px 6px}.leaderboard-row{min-height:35px;padding:4px 6px}.row-avatar{width:23px;height:23px}.col-player{gap:5px}.row-name{font-size:.74rem}.row-sub{font-size:.54rem}.col-rank .rank-pill,.col-rank .rank-pill.rank-1-badge{font-size:.62rem;padding:1px 4px}.star-pill{font-size:.64rem}.col-score{font-size:.75rem}.leaderboard-player-footer{padding:4px 6px;margin-top:2px}.highlight-avatar{width:23px;height:23px}}@media screen and (max-height:520px){.modal-dashboard-dialog.characters-codex-dialog{width:min(96vw,840px);border-radius:16px}.characters-codex-dialog .modal-dialog-shell{max-height:96vh;padding:8px 12px;gap:6px}.characters-codex-dialog .modal-dialog-header{padding-bottom:2px}.characters-codex-dialog .modal-kicker{font-size:.54rem}.characters-codex-dialog .modal-heading{font-size:1.02rem}.characters-codex-dialog .dialog-close-btn{width:28px;height:28px}.characters-codex-scroll-body{gap:8px;padding-right:2px}.characters-codex-scroll-body .modal-milestone-info{padding:6px 10px;border-radius:12px}.characters-codex-scroll-body .milestone-banner-top{margin-bottom:4px;gap:4px}.characters-codex-scroll-body .milestone-badge-lead{font-size:.58rem}.characters-codex-scroll-body .milestones-next-teaser{font-size:.6rem;padding:1px 6px}.characters-codex-scroll-body .milestones-progress-line{top:18px;left:14px;right:14px}.characters-codex-scroll-body .node-avatar-frame{width:28px;height:28px}.characters-codex-scroll-body .node-status-badge{width:11px;height:11px}.characters-codex-scroll-body .node-step-lvl,.characters-codex-scroll-body .node-hero-name{font-size:.52rem}.characters-roster-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:8px}.hero-collection-card{padding:8px 10px;gap:8px;border-radius:12px}.hero-portrait-frame{width:58px;height:58px;border-radius:12px}.hero-display-name{font-size:.94rem}.hero-details{gap:4px}.hero-ability-box{padding:4px 6px}.hero-stats-bars{gap:2px}.hero-footer-actions-row{gap:6px}.hero-footer-actions-row .btn-hero-claim,.hero-footer-actions-row .btn-hero-equip,.hero-footer-actions-row .hero-locked-tag{font-size:.7rem;padding:5px 8px}.hero-footer-actions-row .btn-hero-inspect{font-size:.68rem;padding:5px 8px}.modal-dashboard-dialog.leaderboard-dialog,#leaderboard-dialog{width:min(96vw,680px);max-height:min(95vh,95dvh);border-radius:14px;margin:auto;overflow:hidden!important;overscroll-behavior:none!important;touch-action:none}.leaderboard-dialog .modal-dialog-shell,#leaderboard-dialog .modal-dialog-shell{max-height:min(95vh,95dvh);height:100%;padding:6px 10px;gap:4px;overflow:hidden!important;overscroll-behavior:none!important;display:flex;flex-direction:column;box-sizing:border-box}.leaderboard-dialog .modal-dialog-header{flex-shrink:0;touch-action:none;align-items:center}.leaderboard-dialog .modal-header-lead-row,#leaderboard-dialog .modal-header-lead-row{margin-bottom:0;gap:6px}.leaderboard-dialog .modal-kicker,#leaderboard-dialog .modal-kicker{font-size:.52rem}.leaderboard-dialog .leaderboard-sync-badge,#leaderboard-dialog .leaderboard-sync-badge{font-size:.54rem;padding:1px 5px}.leaderboard-dialog .modal-heading,#leaderboard-dialog .modal-heading{font-size:.95rem;gap:4px}.leaderboard-dialog .modal-head-svg,#leaderboard-dialog .modal-head-svg{width:15px;height:15px}.leaderboard-dialog .dialog-close-btn,#leaderboard-dialog .dialog-close-btn{position:relative!important;top:auto!important;right:auto!important;margin-left:auto;align-self:center;flex-shrink:0;width:26px;height:26px;padding:2px;border-radius:8px}.leaderboard-dialog .dialog-close-btn svg,#leaderboard-dialog .dialog-close-btn svg{width:14px;height:14px}.leaderboard-table-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden!important}.leaderboard-header-row,.leaderboard-row,.player-rank-highlight{grid-template-columns:38px 1fr 54px 66px;padding:3px 8px}.leaderboard-header-row{flex-shrink:0;touch-action:none;font-size:.54rem;padding:3px 8px}.leaderboard-list-body{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}.leaderboard-row{min-height:33px;padding:3px 8px}.col-player{gap:5px}.row-avatar{width:22px;height:22px}.row-name{font-size:.74rem;line-height:1.15}.row-sub{font-size:.52rem;line-height:1.05}.col-rank .rank-pill,.col-rank .rank-pill.rank-1-badge{font-size:.62rem;padding:1px 4px}.star-pill{font-size:.64rem;gap:2px}.star-pill .star-svg{width:9px;height:9px}.col-score{font-size:.75rem}.score-rank-1{font-size:.82rem!important}.leaderboard-row.rank-1-highlight{margin:1px 0;border-radius:6px;padding:3px 8px}.leaderboard-player-footer{padding:4px 8px;margin-top:2px;border-radius:8px}.highlight-avatar{width:22px;height:22px}.highlight-score{font-size:.78rem}}
