@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--void:#06070f;--nebula:#0c1024;--stardust:#151b37;--cosmos:#1e2650;--shimmer:#2a3568;--glow-gold:#ffd644;--glow-amber:#ffaa2b;--glow-green:#3fffb0;--glow-cyan:#2bd9e6;--glow-violet:#b44cff;--glow-rose:#ff4c8b;--glow-blue:#4c8fff;--glow-white:#e0e8ff;--text-bright:#eef2ff;--text-mid:#99a4c8;--text-dim:#5a6488;--glass:#ffffff0a;--glass-border:#ffffff14;--glass-hover:#ffffff12;--font-display:"Fredoka", sans-serif;--font-mono:"Space Mono", monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--era-hue:140;--era-accent:hsl(var(--era-hue), 80%, 60%);--era-glow:hsla(var(--era-hue), 80%, 50%, .25);--era-glow-strong:hsla(var(--era-hue), 80%, 50%, .45)}body.era-farm{--era-hue:140}body.era-business{--era-hue:35}body.era-tech{--era-hue:200}body.era-space{--era-hue:275}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-display);background:var(--void);color:var(--text-bright);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;cursor:default;line-height:1.5}body:before{content:"";z-index:-2;background:radial-gradient(ellipse 120% 80% at 20% 80%, hsla(var(--era-hue), 60%, 15%, .6), transparent 60%), radial-gradient(ellipse 100% 60% at 80% 20%, hsla(calc(var(--era-hue) + 60), 50%, 12%, .5), transparent 50%), radial-gradient(ellipse 60% 80% at 50% 50%, hsla(var(--era-hue), 40%, 8%, .4), transparent);transition:background 2s;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 8% 15%,#fff9,#0000),radial-gradient(1.5px 1.5px at 22% 42%,#fff6,#0000),radial-gradient(1px 1px at 35% 8%,#ffffff80,#0000),radial-gradient(2px 2px at 47% 68%,#ffffff4d,#0000),radial-gradient(1px 1px at 58% 25%,#ffffff73,#0000),radial-gradient(1.5px 1.5px at 72% 82%,#ffffff59,#0000),radial-gradient(1px 1px at 85% 38%,#ffffff8c,#0000),radial-gradient(1px 1px at 92% 72%,#fff6,#0000),radial-gradient(1.5px 1.5px at 15% 88%,#ffffff4d,#0000),radial-gradient(1px 1px at 40% 55%,#ffffff80,#0000),radial-gradient(2px 2px at 65% 12%,#ffffff40,#0000),radial-gradient(1px 1px at 78% 55%,#ffffff73,#0000),radial-gradient(1px 1px at 5% 62%,#ffffff59,#0000),radial-gradient(1.5px 1.5px at 55% 90%,#ffffff4d,#0000),radial-gradient(1px 1px at 30% 30%,#ffffff80,#0000),radial-gradient(1px 1px at 88% 8%,#fff6,#0000);animation:120s linear infinite starDrift;position:fixed;inset:0}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-40px)}}#app{flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.game-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);z-index:50;background:linear-gradient(#06070ff2,#06070f99);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.game-title{font-family:var(--font-display);letter-spacing:.5px;background:linear-gradient(135deg, var(--glow-gold) 0%, var(--glow-amber) 50%, var(--glow-gold) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:700;animation:4s ease-in-out infinite titleShimmer}@keyframes titleShimmer{0%,to{background-position:0%}50%{background-position:100%}}.header-buttons{gap:6px;display:flex}.header-buttons button{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-mid);border-radius:var(--radius-sm);cursor:pointer;place-items:center;width:34px;height:34px;font-size:1rem;transition:all .25s;display:grid}.header-buttons button:hover{background:var(--glass-hover);color:var(--text-bright);border-color:var(--era-accent);box-shadow:0 0 12px var(--era-glow)}.game-main{flex:1;grid-template-rows:1fr;grid-template-columns:280px 1fr 320px;display:grid;position:relative;overflow:hidden}.col-nova{border-right:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06070f99;flex-direction:column;display:none;overflow:hidden}.col-nova.visible{display:flex}.col-center{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:relative;overflow:hidden}.col-right{border-left:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06070f80;flex-direction:column;gap:10px;padding:10px;display:flex;overflow:hidden auto}.col-ai{border-left:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06070f99;flex-direction:column;gap:10px;padding:10px;display:none;overflow-y:auto}.col-ai.visible{display:flex}.header-buttons button.active{color:var(--glow-cyan);border-color:var(--glow-cyan);box-shadow:0 0 8px #2bd9e633}.glass-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s,box-shadow .3s}.glass-panel:hover{border-color:#ffffff1f}.panel-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:8px;font-size:.75rem;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06070fd9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--stardust);border:1px solid var(--glass-border);border-radius:var(--radius-xl);text-align:center;max-width:380px;box-shadow:0 20px 60px #0009, 0 0 40px var(--era-glow);padding:36px 40px;animation:.5s cubic-bezier(.34,1.56,.64,1) modalPop}@keyframes modalPop{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal h2{color:var(--glow-gold);margin-bottom:8px;font-size:1.5rem}.modal p{color:var(--text-mid);margin-bottom:6px;font-size:.95rem}.modal-close{background:linear-gradient(135deg, var(--glow-green), #2bbf7a);border-radius:var(--radius-lg);color:var(--void);font-family:var(--font-display);cursor:pointer;border:none;margin-top:18px;padding:12px 36px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .3s;box-shadow:0 4px 20px #3fffb04d}.modal-close:hover{transform:scale(1.06);box-shadow:0 6px 30px #3fffb073}.notification{background:var(--stardust);border:1px solid var(--glass-border);border-left:3px solid var(--glow-gold);border-radius:var(--radius-md);color:var(--text-bright);z-index:900;max-width:320px;padding:12px 20px;font-size:.9rem;font-weight:500;transition:right .4s cubic-bezier(.22,1,.36,1);position:fixed;top:56px;right:-360px;box-shadow:0 8px 30px #00000080}.notification.show{right:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--shimmer);border-radius:2px}.story-overlay{z-index:2000}.story-modal{text-align:left;max-width:500px;max-height:85vh;padding:28px 32px;overflow-y:auto}.story-chapter{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--era-accent);margin-bottom:4px;font-size:.65rem}.story-title{color:var(--text-bright);margin-bottom:16px;font-size:1.4rem;font-weight:700}.story-text p{color:var(--text-mid);margin-bottom:10px;font-size:.9rem;line-height:1.7}.story-nova-quote{border-radius:var(--radius-md);background:#2bd9e60f;border:1px solid #2bd9e626;gap:10px;margin:16px 0;padding:12px 14px;display:flex}.nova-quote-icon{flex-shrink:0;font-size:1.2rem}.story-nova-quote p{color:var(--glow-cyan);margin:0;font-size:.85rem;font-style:italic;line-height:1.6}.story-choice{margin-top:20px}.story-choice-prompt{color:var(--text-bright);margin-bottom:12px;font-size:.95rem;font-weight:600}.story-options{flex-direction:column;gap:8px;display:flex}.story-option{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-bright);font-family:var(--font-display);text-align:left;cursor:pointer;padding:12px 16px;font-size:.85rem;transition:all .2s}.story-option:hover{border-color:var(--era-accent);background:var(--era-glow);box-shadow:0 0 16px var(--era-glow)}.story-response{display:none}.story-choice-response{color:var(--text-mid);margin-bottom:16px;font-size:.9rem;font-style:italic;line-height:1.6}.story-continue{margin-top:16px}.ending-overlay{z-index:3000}.ending-modal{max-width:540px}.ending-badge{letter-spacing:1.5px;text-transform:uppercase;color:var(--glow-gold);background:#ffd6441a;border:1px solid #ffd6444d;border-radius:20px;margin-bottom:8px;padding:3px 14px;font-size:.65rem;font-weight:700;display:inline-block}.ending-title{color:var(--glow-gold);margin-bottom:20px;font-size:1.6rem}.ending-text p{margin-bottom:12px;font-size:.9rem;line-height:1.8}.ending-nova{background:#ffd6440f;border-color:#ffd64426;margin-top:20px}.ending-nova p{color:var(--glow-gold)}.ending-credits{text-align:center;margin-top:20px}.ending-credits p{color:var(--text-dim);font-size:.8rem}.ending-hint{margin-top:4px;font-style:italic;font-size:.7rem!important}@media (width<=900px){.game-main{grid-template-rows:50% 50%;grid-template-columns:1fr}.col-nova.visible{z-index:80;background:#06070ff7;border-right:none;width:100%;position:fixed;inset:48px 0 0}.col-right{border-left:none;border-top:1px solid var(--glass-border)}.col-ai.visible{z-index:80;background:#06070ff7;width:100%;position:fixed;inset:48px 0 0}}.scene{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;width:100%;display:flex;position:relative}.floating-island{justify-content:center;align-items:center;width:280px;height:160px;animation:6s ease-in-out infinite islandFloat;display:flex;position:relative}.island-terrain{background:radial-gradient(ellipse 100% 70% at 50% 30%, var(--stardust), transparent), radial-gradient(ellipse 120% 100% at 50% 100%, var(--cosmos), transparent);border:1px solid var(--glass-border);width:100%;height:75%;box-shadow:0 20px 50px #0009, 0 0 30px var(--era-glow), inset 0 -10px 30px #0000004d;border-radius:50%/30% 30% 70% 70%;position:absolute;bottom:0;overflow:hidden}.island-terrain:before{content:"";background:linear-gradient(135deg, hsla(var(--era-hue), 50%, 30%, .4), hsla(var(--era-hue), 60%, 20%, .2));filter:blur(8px);border-radius:50%;height:40%;position:absolute;top:8%;left:10%;right:10%}.island-shadow{background:radial-gradient(#00000080 0%,#0000 70%);border-radius:50%;width:70%;height:12px;position:absolute;bottom:-20px}.click-area{z-index:10;flex-direction:column;align-items:center;display:flex;position:relative}.click-planet{cursor:pointer;background:radial-gradient(circle at 35% 30%, #ffffff1f 0%, transparent 50%), radial-gradient(circle at 50% 50%, var(--cosmos) 0%, var(--nebula) 100%);border:2px solid var(--era-accent);width:140px;height:140px;box-shadow:0 0 30px var(--era-glow), 0 0 60px var(--era-glow), inset 0 0 20px var(--era-glow);border-radius:50%;outline:none;place-items:center;transition:transform .1s;animation:4s ease-in-out infinite glowBreathe;display:grid;position:relative}.click-planet:hover{transform:scale(1.04)}.click-planet:active{transition:transform 50ms;transform:scale(.92)}.click-planet .planet-emoji{filter:drop-shadow(0 0 8px #ffffff4d);font-size:3.2rem;line-height:1;transition:transform .15s}.click-planet:active .planet-emoji{transform:scale(.85)}.click-label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-top:6px;font-size:.7rem}.orbit-container{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.combo-display{font-family:var(--font-display);white-space:nowrap;text-shadow:0 0 10px;min-height:1.2em;font-size:.9rem;font-weight:700;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.combo-tier-1{color:var(--glow-green)}.combo-tier-2{color:var(--glow-cyan)}.combo-tier-3{color:var(--glow-gold);text-shadow:0 0 16px var(--glow-gold)}.resource-display{text-align:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:400px;padding:14px 20px 10px;position:relative}.era-badge{letter-spacing:1px;text-transform:uppercase;color:var(--era-accent);background:var(--era-glow);border:1px solid hsla(var(--era-hue), 70%, 50%, .3);border-radius:20px;margin-bottom:6px;padding:2px 14px;font-size:.65rem;font-weight:700;display:inline-block}.coins-display{font-size:2rem;font-weight:700;line-height:1.1}.coins-value{font-family:var(--font-mono);color:var(--glow-gold);text-shadow:0 0 20px #ffd64466;letter-spacing:-1px}.coins-label{color:var(--text-dim);margin-left:4px;font-size:.75rem;font-weight:500}.cps-display{font-family:var(--font-mono);color:var(--text-mid);margin-top:2px;font-size:.8rem}.prestige-display{color:var(--glow-violet);text-shadow:0 0 8px #b44cff66;background:#b44cff1f;border:1px solid #b44cff4d;border-radius:20px;margin-top:6px;padding:4px 14px;font-size:.85rem;font-weight:700;display:inline-block}.upgrade-panel{flex:1;min-height:0;overflow:hidden auto}.upgrade-panel .panel-title{padding:0 4px}.upgrade-list{flex-direction:column;gap:6px;display:flex}.upgrade-card{border-radius:var(--radius-md);background:var(--glass);border:1px solid var(--glass-border);cursor:default;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:8px 10px;transition:all .2s;display:grid;position:relative;overflow:hidden}.upgrade-card:before{content:"";background:linear-gradient(135deg, var(--era-glow) 0%, transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.upgrade-card.affordable:before{opacity:1}.upgrade-card.affordable{border-color:hsla(var(--era-hue), 70%, 50%, .3)}.upgrade-card.affordable:hover{border-color:var(--era-accent);box-shadow:0 0 16px var(--era-glow);transform:translate(-2px)}.upgrade-card.unaffordable{opacity:.45}.upgrade-card .card-icon{background:var(--glass);border-radius:var(--radius-sm);border:1px solid var(--glass-border);z-index:1;place-items:center;width:44px;height:44px;font-size:1.6rem;display:grid;position:relative}.upgrade-card .card-info{z-index:1;min-width:0;position:relative}.card-name{color:var(--text-bright);font-size:.8rem;font-weight:600;line-height:1.2}.card-stats{align-items:center;gap:8px;margin-top:2px;display:flex}.card-cost{font-family:var(--font-mono);color:var(--glow-gold);font-size:.7rem}.card-cps{font-family:var(--font-mono);color:var(--text-dim);font-size:.65rem}.card-actions{z-index:1;flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.card-owned{font-family:var(--font-mono);color:var(--text-mid);font-size:1rem;font-weight:700;line-height:1}.card-buttons{gap:3px;display:flex}.btn-buy,.btn-max{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass);color:var(--text-mid);font-family:var(--font-display);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;font-size:.65rem;font-weight:600;transition:all .15s}.btn-buy:hover,.btn-max:hover{background:var(--glass-hover);color:var(--text-bright)}.affordable .btn-buy{background:hsla(var(--era-hue), 70%, 45%, .8);border-color:hsla(var(--era-hue), 70%, 55%, .5);color:#fff}.affordable .btn-buy:hover{background:hsla(var(--era-hue), 70%, 55%, .9);box-shadow:0 0 12px var(--era-glow)}.milestone-pips{gap:2px;margin-top:2px;display:flex}.milestone-pip{background:var(--shimmer);border-radius:50%;width:4px;height:4px}.milestone-pip.achieved{background:var(--glow-gold);box-shadow:0 0 4px var(--glow-gold)}.event-banner-container{z-index:500;pointer-events:none;flex-direction:column;gap:6px;width:90%;max-width:400px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.event-banner{pointer-events:auto;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-left:3px solid var(--event-color,var(--glow-gold));box-shadow:0 8px 24px #0006, 0 0 20px hsla(var(--era-hue), 60%, 40%, .15);background:#151b37e6;align-items:center;gap:10px;padding:10px 14px;animation:.4s cubic-bezier(.22,1,.36,1) forwards eventSlideIn;display:flex}.event-banner.ending{animation:.4s forwards eventSlideOut}.event-emoji{filter:drop-shadow(0 0 6px var(--event-color));font-size:1.6rem}.event-text{flex:1}.event-name{color:var(--event-color);font-size:.8rem;font-weight:700}.event-desc{color:var(--text-mid);font-size:.7rem}.event-timer{font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:30px;font-size:.85rem;font-weight:700}.prestige-panel{padding:4px}.prestige-upgrades-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin:10px 0 6px;font-size:.75rem;font-weight:600}.crystal-preview{color:var(--glow-violet);font-size:.85rem}.prestige-note{color:var(--text-dim);margin-top:3px;font-size:.65rem}.prestige-btn{background:linear-gradient(135deg, var(--glow-violet), #8a2be2);border-radius:var(--radius-md);color:#fff;width:100%;font-family:var(--font-display);cursor:pointer;border:none;margin-top:8px;padding:10px 24px;font-size:.9rem;font-weight:700;transition:transform .15s,box-shadow .3s,opacity .3s;box-shadow:0 4px 16px #b44cff4d}.prestige-btn:disabled{opacity:.3;cursor:not-allowed}.prestige-btn:not(:disabled):hover{transform:scale(1.03);box-shadow:0 6px 24px #b44cff80}.prestige-upgrade-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.prestige-upgrade-row{border-radius:var(--radius-sm);border:1px solid var(--glass-border);cursor:pointer;background:var(--glass);justify-content:space-between;align-items:center;padding:7px 10px;transition:all .15s;display:flex}.prestige-upgrade-row.affordable:hover{background:#b44cff1a;border-color:#b44cff4d}.prestige-upgrade-row.maxed{cursor:default;background:#b44cff14;border-color:#b44cff59}.prestige-upgrade-row.maxed .pu-cost{color:var(--glow-green)}.pu-name{font-size:.75rem;font-weight:600}.pu-level{font-family:var(--font-mono);color:var(--glow-violet);margin-left:4px;font-size:.6rem}.pu-desc{color:var(--text-dim);font-size:.65rem}.pu-cost{color:var(--glow-violet);white-space:nowrap;font-size:.75rem;font-weight:700}.stats-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.stats-header{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.stats-header:hover{background:var(--glass-hover)}.stats-header h2{color:var(--glow-cyan);font-size:.85rem;font-weight:700}.stats-panel.collapsed .stats-content{display:none}.stats-panel.collapsed .toggle-arrow{transform:rotate(-90deg)}.stats-content{border-top:1px solid var(--glass-border);padding:10px 12px}.ai-state-label{color:var(--text-mid);margin-bottom:10px;font-size:.8rem}.ai-state-label strong{text-shadow:0 0 8px}.belief-bar-row{align-items:center;gap:6px;margin-bottom:5px;display:flex}.belief-label{width:68px;color:var(--text-dim);text-align:right;text-transform:uppercase;letter-spacing:.3px;font-size:.6rem}.belief-bar-track{background:#ffffff0a;border-radius:4px;flex:1;height:8px;overflow:hidden}.belief-bar-fill{border-radius:4px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);box-shadow:0 0 6px}.belief-value{font-family:var(--font-mono);text-align:right;width:34px;color:var(--text-dim);font-size:.6rem}.ai-action-label{color:var(--text-mid);margin-top:10px;font-size:.75rem}.ai-action-label strong{color:var(--glow-cyan)}.ai-cooldown{background:#ffffff0a;border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.cooldown-fill{background:var(--glow-cyan);height:100%;box-shadow:0 0 6px var(--glow-cyan);border-radius:2px;transition:width .3s}.ai-entropy{color:var(--text-dim);font-size:.65rem;font-family:var(--font-mono);margin-top:6px}.overseer-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.overseer-header{border-bottom:1px solid var(--glass-border);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.nova-avatar{background:var(--stardust);border:2px solid var(--glow-cyan);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 0 12px #2bd9e633}.nova-eye{background:var(--glow-cyan);width:12px;height:12px;box-shadow:0 0 12px var(--glow-cyan), 0 0 24px var(--glow-cyan);border-radius:50%;transition:background .5s,box-shadow .5s;animation:3s ease-in-out infinite eyePulse}@keyframes eyePulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.nova-info{flex:1;min-width:0}.nova-name{font-family:var(--font-mono);color:var(--glow-cyan);letter-spacing:2px;font-size:.8rem;font-weight:700}.nova-subtitle{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.6rem}.nova-state-label{font-family:var(--font-mono);font-size:.65rem;font-weight:700;transition:color .5s}.nova-beliefs{border-bottom:1px solid var(--glass-border);flex-shrink:0;padding:8px 14px}.nova-belief-row{align-items:center;gap:6px;margin-bottom:3px;display:flex}.nova-belief-label{text-align:right;width:62px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:.55rem}.nova-belief-track{background:#ffffff0a;border-radius:2px;flex:1;height:4px;overflow:hidden}.nova-belief-fill{border-radius:2px;min-width:1px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.nova-messages{flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}.nova-bubble{border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);color:var(--text-bright);border:1px solid var(--glass-border);gap:8px;padding:8px 10px;font-size:.78rem;line-height:1.4;animation:.35s cubic-bezier(.22,1,.36,1) bubbleIn;display:flex}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.bubble-mood{flex-shrink:0;font-size:1rem;line-height:1.3}.bubble-text{flex:1}.upgrade-card.locked{opacity:.35;pointer-events:none}.upgrade-card.locked .card-icon{filter:grayscale()}.upgrade-card.locked .card-name{color:var(--text-dim);font-style:italic}.card-synergy{font-family:var(--font-mono);color:var(--glow-green);font-size:.6rem;font-weight:700}.card-synergy.active{text-shadow:0 0 6px var(--glow-green)}.right-tabs{border-bottom:1px solid var(--glass-border);flex-shrink:0;gap:2px;margin-bottom:8px;padding-bottom:8px;display:flex}.tab-btn{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font-display);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;flex:1;padding:6px 4px;font-size:.7rem;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text-mid);background:var(--glass-hover)}.tab-btn.active{color:var(--era-accent);border-color:var(--era-accent);background:var(--era-glow)}.tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tab-pane{flex-direction:column;flex:1;gap:8px;min-height:0;display:none;overflow-y:auto}.tab-pane.active{display:flex}.tech-panel{flex-direction:column;flex:1;min-height:0;display:flex}.tech-panel .panel-title{justify-content:space-between;align-items:center;display:flex}.tech-count{font-family:var(--font-mono);color:var(--text-dim);font-size:.65rem}.tech-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.tech-category-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:4px;padding:0 2px;font-size:.65rem;font-weight:700}.tech-card{border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:7px 9px;transition:all .2s;display:grid}.tech-card.available{border-color:hsla(var(--era-hue), 70%, 50%, .35)}.tech-card.available:hover{border-color:var(--era-accent);box-shadow:0 0 12px var(--era-glow);transform:translate(-2px)}.tech-card.locked{opacity:.4;cursor:not-allowed}.tech-card.researched{cursor:default;opacity:.7;background:#3fffb00a;border-color:#3fffb033}.tech-icon{text-align:center;font-size:1.3rem}.tech-info{min-width:0}.tech-name{color:var(--text-bright);font-size:.75rem;font-weight:600}.tech-desc{color:var(--text-dim);font-size:.6rem}.tech-cost{font-family:var(--font-mono);color:var(--glow-gold);white-space:nowrap;font-size:.7rem}.tech-card.researched .tech-cost{color:var(--glow-green);font-size:.9rem}.fly-up-number{font-family:var(--font-display);pointer-events:none;z-index:100;text-shadow:0 0 12px,0 2px 8px #0009;filter:drop-shadow(0 0 6px);font-size:1.3rem;font-weight:700;animation:1.1s cubic-bezier(.22,1,.36,1) forwards flyUp;position:absolute}.fly-up-number.crit{letter-spacing:2px;font-size:2.2rem;animation:1.4s cubic-bezier(.34,1.56,.64,1) forwards flyUpCrit}@keyframes flyUp{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:1}to{opacity:0;transform:translateY(-100px)scale(.6)}}@keyframes flyUpCrit{0%{opacity:1;transform:translateY(0)scale(.3)rotate(-5deg)}20%{transform:translateY(-15px)scale(1.4)rotate(3deg)}40%{transform:translateY(-30px)scale(1.1)rotate(-1deg)}to{opacity:0;transform:translateY(-120px)scale(.7)rotate(0)}}@keyframes shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(calc(-1 * var(--shake-intensity,5px)), calc(var(--shake-intensity,5px) * .3)) rotate(-1deg)}30%{transform:translate(var(--shake-intensity,5px), calc(-1 * var(--shake-intensity,5px) * .2)) rotate(1deg)}45%{transform:translate(calc(-1 * var(--shake-intensity,5px) * .7), var(--shake-intensity,5px) * .15) rotate(-.5deg)}60%{transform:translate(calc(var(--shake-intensity,5px) * .4), 0) rotate(.3deg)}75%{transform:translate(calc(-1 * var(--shake-intensity,5px) * .2), 0)}}.pulse{animation:.35s cubic-bezier(.34,1.56,.64,1) pulse}@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.sparkle-particle{pointer-events:none;z-index:101;border-radius:50%;width:5px;height:5px;animation:.7s cubic-bezier(.22,1,.36,1) forwards sparkleAnim;position:absolute;box-shadow:0 0 6px}@keyframes sparkleAnim{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx,0), var(--dy,0)) scale(0)}}.ambient-particle{pointer-events:none;opacity:0;animation:ambientFloat var(--duration,8s) var(--delay,0s) ease-in-out infinite;border-radius:50%;position:absolute}@keyframes ambientFloat{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:var(--max-opacity,.4)}50%{transform:translate(var(--float-x,20px), var(--float-y,-60px)) scale(1)}85%{opacity:var(--max-opacity,.4)}to{opacity:0;transform:translate(calc(var(--float-x,20px) * 1.5), calc(var(--float-y,-60px) * 2)) scale(.3)}}@keyframes islandFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ringRotateReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes glowBreathe{0%,to{box-shadow:0 0 20px var(--era-glow), inset 0 0 15px var(--era-glow)}50%{box-shadow:0 0 35px var(--era-glow-strong), inset 0 0 25px var(--era-glow)}}@keyframes countBounce{0%{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(.97)}to{transform:scale(1)}}.count-bounce{animation:.25s countBounce}@keyframes eventSlideIn{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes eventSlideOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.95)}}@keyframes unlockFlash{0%{box-shadow:0 0 0 0 var(--era-glow-strong)}50%{box-shadow:0 0 20px 4px var(--era-glow-strong)}to{box-shadow:0 0 #0000}}.unlock-flash{animation:.6s ease-out unlockFlash}.orbit-ring{pointer-events:none;border:1px dashed #ffffff0f;border-radius:50%;position:absolute}.orbit-dot{background:var(--era-accent);width:4px;height:4px;box-shadow:0 0 8px var(--era-accent);animation:ringRotate var(--orbit-speed,12s) linear infinite;transform-origin:2px calc(var(--orbit-radius,80px) + 2px);border-radius:50%;margin-left:-2px;position:absolute;top:-2px;left:50%}
