*{margin:0;padding:0;box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(0,180,220,.12) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(0,200,255,.15) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(0,150,200,.1) 0,transparent 60%),#070d1a;background-attachment:fixed;color:var(--text);font-family:'Space Grotesk',sans-serif;font-weight:400;min-height:100vh;overflow-x:clip}body.prof-theme-cosmic-blue{--accent:#00c8ff;--accent2:#0088dd;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(0,120,255,.18) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(0,180,255,.22) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(0,100,220,.14) 0,transparent 60%),#060d1a;background-attachment:fixed}body.prof-theme-aurora-teal{--accent:#00e5b0;--accent2:#00a880;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(0,180,140,.17) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(0,210,160,.2) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(0,160,120,.14) 0,transparent 60%),#040f0c;background-attachment:fixed}body.prof-theme-royal-violet{--accent:#a855f7;--accent2:#c084fc;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(110,50,220,.18) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(130,70,240,.22) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(90,30,200,.15) 0,transparent 60%),#09050f;background-attachment:fixed}body.prof-theme-ember-crimson{--accent:#ff5555;--accent2:#ff8c42;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(220,50,40,.18) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(240,70,40,.22) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(200,40,20,.15) 0,transparent 60%),#100404;background-attachment:fixed}body.prof-theme-obsidian-gold{--accent:#c8a96e;--accent2:#e8c878;background:radial-gradient(ellipse 60% 50% at 0 0,rgba(180,140,50,.15) 0,transparent 60%),radial-gradient(ellipse 100% 40% at 50% 100%,rgba(200,160,60,.18) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(160,120,40,.13) 0,transparent 60%),#0a0805;background-attachment:fixed}body.prof-theme-cosmic-blue .left-sidebar,body.prof-theme-cosmic-blue .right-sidebar{background:rgba(0,80,180,.18)}body.prof-theme-cosmic-blue .top-bar{background:rgba(0,60,160,.22)}body.prof-theme-aurora-teal .left-sidebar,body.prof-theme-aurora-teal .right-sidebar{background:rgba(0,160,120,.18)}body.prof-theme-aurora-teal .top-bar{background:rgba(0,140,105,.22)}body.prof-theme-royal-violet .left-sidebar,body.prof-theme-royal-violet .right-sidebar{background:rgba(110,40,220,.18)}body.prof-theme-royal-violet .top-bar{background:rgba(90,30,200,.22)}body.prof-theme-ember-crimson .left-sidebar,body.prof-theme-ember-crimson .right-sidebar{background:rgba(200,40,30,.18)}body.prof-theme-ember-crimson .top-bar{background:rgba(180,30,20,.22)}body.prof-theme-obsidian-gold .left-sidebar,body.prof-theme-obsidian-gold .right-sidebar{background:rgba(160,120,40,.18)}body.prof-theme-obsidian-gold .top-bar{background:rgba(140,100,30,.22)}body.profile-mode.prof-theme-cosmic-blue #main-col{background:radial-gradient(ellipse 120% 80% at 20% 0,rgba(0,160,255,.45) 0,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(0,100,220,.35) 0,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(0,130,240,.2) 0,transparent 65%)}body.profile-mode.prof-theme-aurora-teal #main-col{background:radial-gradient(ellipse 120% 80% at 20% 0,rgba(0,210,160,.45) 0,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(0,170,130,.35) 0,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(0,190,145,.2) 0,transparent 65%)}body.profile-mode.prof-theme-royal-violet #main-col{background:radial-gradient(ellipse 120% 80% at 20% 0,rgba(140,60,240,.45) 0,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(110,40,210,.35) 0,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(125,50,225,.2) 0,transparent 65%)}body.profile-mode.prof-theme-ember-crimson #main-col{background:radial-gradient(ellipse 120% 80% at 20% 0,rgba(240,60,50,.45) 0,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(200,40,30,.35) 0,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(220,50,40,.2) 0,transparent 65%)}body.profile-mode.prof-theme-obsidian-gold #main-col{background:radial-gradient(ellipse 120% 80% at 20% 0,rgba(210,165,60,.45) 0,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(170,130,40,.35) 0,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(190,148,50,.2) 0,transparent 65%)}body.learn-mode #main-col{background:0 0}body.premium-mode #main-col{background:0 0}body::before{content:"";position:fixed;inset:0;background-image:radial-gradient(1px 1px at 10% 15%,rgba(0,220,255,.6),transparent),radial-gradient(1px 1px at 25% 8%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 42% 22%,rgba(0,220,255,.4),transparent),radial-gradient(1px 1px at 58% 6%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 71% 18%,rgba(0,220,255,.5),transparent),radial-gradient(1px 1px at 85% 11%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 93% 28%,rgba(0,220,255,.4),transparent),radial-gradient(2px 2px at 5% 45%,rgba(0,220,255,.3),transparent),radial-gradient(1px 1px at 18% 52%,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 78% 42%,rgba(0,220,255,.35),transparent),radial-gradient(1px 1px at 90% 55%,rgba(255,255,255,.3),transparent);z-index:-2;pointer-events:none}body::after{content:"";position:fixed;bottom:0;left:0;right:0;height:35%;background:radial-gradient(ellipse 80% 60% at 20% 100%,rgba(0,200,255,.14) 0,transparent 70%),radial-gradient(ellipse 60% 80% at 80% 100%,rgba(0,180,220,.12) 0,transparent 70%),radial-gradient(ellipse 40% 40% at 50% 100%,rgba(0,220,255,.1) 0,transparent 100%);z-index:-2;pointer-events:none}strong{color:var(--accent2);font-weight:700}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:0 0;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}#cover{display:none}#app{display:none}#floor-nav{display:none!important;visibility:hidden;pointer-events:none}#building-map{display:none!important}#auth-screen.hidden{display:none!important}#cover.active{display:flex!important}#app.active{display:block!important}body.premium-mode .left-sidebar{display:none!important}body.premium-mode .right-sidebar{display:none!important}body.premium-mode .hamburger-btn{visibility:hidden}body.premium-mode .app-grid{grid-template-columns:1fr}body.premium-mode #main-col{grid-column:1/-1;width:100%;max-width:100%}body.game-mode .left-sidebar{display:none!important}body.game-mode .right-sidebar{display:none!important}body.game-mode .hamburger-btn{visibility:hidden}body.game-mode .app-grid{grid-template-columns:1fr}body.game-mode #main-col{grid-column:1/-1;width:100%;max-width:100%;padding:0;overflow:hidden}#app{min-height:100vh;width:100%}.app-grid{display:grid;grid-template-columns:1fr;min-height:calc(100vh - 52px);padding-top:52px;width:100%;box-sizing:border-box}.app-layout{display:flex;min-height:100vh;width:100%;overflow-x:hidden;align-items:flex-start}.top-bar{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:100;background:#060606;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;box-shadow:0 1px 0 rgba(212,170,106,.12),0 0 0 1px rgba(255,255,255,.03),0 8px 32px rgba(0,0,0,.5)}.top-logo{font-family:Orbitron,sans-serif;font-size:18px;letter-spacing:2px;color:var(--accent)}.top-nav-tabs{display:flex;gap:2px}.top-nav-tab{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;padding:6px 14px;background:0 0;border:none;color:var(--text-muted);cursor:pointer;text-transform:uppercase;transition:all .2s ease;border-bottom:2px solid transparent}.top-nav-tab.active{color:var(--accent);border-bottom-color:var(--accent)}#tnav-premium{color:var(--accent)}.top-right{display:flex;align-items:center;gap:10px}.top-streak-chip,.top-xp-chip{font-family:'Space Mono',monospace;font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);letter-spacing:1px}.top-signout-btn{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;padding:5px 12px;background:0 0;border:1px solid rgba(200,160,80,.3);border-radius:4px;color:rgba(200,160,80,.7);cursor:pointer;transition:border-color .2s,color .2s;white-space:nowrap}.top-signout-btn:hover{border-color:rgba(200,160,80,.65);color:rgba(200,160,80,.95)}.hamburger-btn{display:none;background:0 0;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px}.left-sidebar{display:none;background:#080808;backdrop-filter:none;-webkit-backdrop-filter:none;border-right:none;box-shadow:inset -1px 0 0 rgba(212,170,106,.06),1px 0 40px rgba(0,0,0,.6);position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto;flex-direction:column}.right-sidebar{display:none!important}.sidebar{background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;flex-shrink:0;width:260px;min-width:220px}.sidebar-header{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-title{font-family:Orbitron,sans-serif;font-size:20px;letter-spacing:1px;color:var(--accent)}.sidebar-sub{font-family:'Space Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:2px;margin-top:4px}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:140;top:52px}.sidebar-overlay.visible{display:block}.sidebar-offline{padding:12px 16px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-top:auto;border-top:1px solid var(--border)}.sidebar-offline-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.main-content{padding:0;flex:1 1 0;min-width:0;max-width:860px;overflow-x:hidden;overflow-y:auto;position:relative;min-height:100vh}.main-col{overflow-y:auto;max-height:calc(100vh - 52px);position:relative;flex:1 1 0;min-width:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn-primary{background:var(--accent)!important;color:var(--bg)!important;font-weight:700!important;border-radius:8px!important}@media (max-width:1100px){.app-grid{grid-template-columns:1fr}.right-sidebar{display:none}}@media (max-width:900px){.app-grid{grid-template-columns:1fr;grid-template-rows:auto}.top-nav-tabs{display:none}.right-sidebar{display:none}.main-col{max-height:calc(100vh - 52px - 56px)}.mobile-bottom-bar{display:flex!important}.top-logo{font-size:13px;letter-spacing:1px}.top-nav-tabs{gap:1px}.top-nav-tab{font-size:9px;padding:5px 8px;letter-spacing:1px}.top-streak-chip,.top-xp-chip{display:none}.top-signout-btn{display:none}.hamburger-btn{display:none!important}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:140;top:52px}.sidebar-overlay.visible{display:block}}@media (max-width:600px){.top-nav-tabs{display:none}.app-layout{flex-direction:column}.sidebar{width:100%;min-width:unset;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border)}.main-content{max-width:100%}.main-col{max-height:none}}@supports (padding:env(safe-area-inset-bottom)){.mobile-bottom-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(56px + env(safe-area-inset-bottom))}@media (max-width:900px){.main-col{max-height:calc(100vh - 52px - 56px - env(safe-area-inset-bottom))}}}body.celebrating .mobile-bottom-bar,body.celebrating .top-bar{display:none!important}@media (min-width:901px) and (max-height:520px){.top-bar{height:44px}.app-grid{padding-top:44px}.main-col{max-height:calc(100vh - 44px)}}