.app-nav{position:sticky;top:0;z-index:var(--z-max);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border-bottom:1px solid rgba(244,160,32,.2)}.nav-container{max-width:1400px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;gap:1rem}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);flex-shrink:0}.logo-icon{font-size:1.75rem;color:var(--accent-primary);line-height:1}.logo-text{font-family:var(--font-display-premium);font-size:1.25rem;font-weight:500;letter-spacing:.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-tabs{display:flex;align-items:center;gap:.25rem;height:100%}.nav-tab{display:flex;align-items:center;height:100%;padding:0 1rem;text-decoration:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;position:relative;transition:color var(--duration-normal) var(--ease-out)}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);transition:width var(--duration-normal) var(--ease-out)}.nav-tab:hover{color:var(--text-primary)}.nav-tab:hover:after{width:60%}.nav-tab.active{color:var(--accent-primary);text-shadow:0 0 20px rgba(244,160,32,.3)}.nav-tab.active:after{width:100%;background:var(--accent-primary);box-shadow:0 0 8px #f4a02080}.nav-chart-name{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid rgba(244,160,32,.25);border-radius:20px;text-decoration:none;color:var(--accent-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s var(--ease-orbital);max-width:220px}.nav-chart-name:hover{background:#f4a0201a;border-color:var(--accent-primary);transform:translateY(-1px)}.chart-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-chart-name svg{flex-shrink:0;opacity:.7}.nav-chart-name:hover svg{opacity:1}.nav-user{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease-orbital)}.nav-icon-btn:hover{background:var(--bg-elevated);border-color:#ffffff1a;color:var(--text-primary);transform:none;box-shadow:none}.nav-user-info{display:flex;align-items:center;gap:.5rem}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary));display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#fff}.nav-user .user-name{font-size:.85rem;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-btn{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s var(--ease-orbital)}.nav-btn.primary{background:var(--bg-elevated);border:1px solid rgba(244,160,32,.3);color:var(--accent-primary)}.nav-btn.primary:hover{background:var(--bg-surface);border-color:var(--accent-primary);transform:none;box-shadow:0 0 12px #f4a02033}.nav-btn.logout{background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--accent-danger)}.nav-btn.logout:hover{background:#ef44441a;border-color:var(--accent-danger);transform:none;box-shadow:none}.nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:0}.nav-mobile-toggle span{width:20px;height:2px;background:var(--text-secondary);margin:2px 0;transition:all .2s}.nav-tabs-mobile{display:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 var(--space-4);gap:var(--space-2);background:var(--glass-bg);border-bottom:1px solid var(--glass-border)}.nav-tabs-mobile::-webkit-scrollbar{display:none}.nav-tab-mobile{flex-shrink:0;padding:var(--space-3) var(--space-4);text-decoration:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);-webkit-tap-highlight-color:transparent}.nav-tab-mobile:active{transform:scale(.98)}.nav-tab-mobile.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}@media (max-width: 1024px){.nav-tabs{display:none}.nav-tabs-mobile{display:flex}}@media (max-width: 768px){.nav-container{padding:0 var(--space-4);height:56px}.logo-text,.nav-user .user-name{display:none}.nav-user-info{gap:0}.nav-tabs-mobile{display:none}}@media (max-width: 480px){.nav-container{height:52px}.logo-icon{font-size:1.5rem}.nav-icon-btn{width:32px;height:32px}.nav-btn{padding:.4rem .8rem;font-size:.8rem}}@media (hover: none) and (pointer: coarse){.nav-tab,.nav-tab-mobile,.nav-icon-btn,.nav-btn{-webkit-tap-highlight-color:transparent}.nav-icon-btn:active{transform:scale(.95)}.nav-btn:active{transform:scale(.98)}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-fixed);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border-top:1px solid var(--glass-border);padding:var(--space-2) var(--space-1);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}@media (max-width: 768px){.mobile-bottom-nav{display:flex;justify-content:space-around;align-items:center}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);text-decoration:none;color:var(--text-muted);transition:color var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out);border-radius:var(--radius-md);min-width:56px;-webkit-tap-highlight-color:transparent}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-icon{font-size:1.4rem;line-height:1;transition:transform var(--duration-normal) var(--ease-out)}.bottom-nav-label{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.bottom-nav-item.active{color:var(--accent-primary)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.15);filter:drop-shadow(0 0 8px rgba(244,160,32,.4))}@media (hover: hover){.bottom-nav-item:hover{color:var(--text-primary);background:var(--glass-bg-light)}}@media (max-width: 768px) and (orientation: landscape){.mobile-bottom-nav{flex-direction:row;padding:var(--space-1) var(--space-4)}.bottom-nav-item{flex-direction:row;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.bottom-nav-icon{font-size:1.2rem}.bottom-nav-label{font-size:.7rem}}@media (max-width: 380px){.bottom-nav-item{min-width:48px;padding:var(--space-2)}.bottom-nav-icon{font-size:1.2rem}.bottom-nav-label{font-size:.6rem}}@media (max-width: 768px){body{padding-bottom:72px}}.aurora-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:var(--bg-primary)}.aurora-layer{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;animation:auroraFade 8s ease-in-out infinite}.aurora-layer-1{background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(99,102,241,.15) 0%,transparent 50%);animation-delay:0s}.aurora-layer-2{background:radial-gradient(ellipse 60% 80% at 80% 30%,rgba(244,160,32,.1) 0%,transparent 50%);animation-delay:-2.5s}.aurora-layer-3{background:radial-gradient(ellipse 70% 60% at 50% 80%,rgba(167,139,250,.08) 0%,transparent 50%);animation-delay:-5s}@keyframes auroraFade{0%,to{opacity:.3}50%{opacity:.8}}.intensity-high .aurora-layer-1{background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(99,102,241,.25) 0%,transparent 50%)}.intensity-high .aurora-layer-2{background:radial-gradient(ellipse 60% 80% at 80% 30%,rgba(244,160,32,.18) 0%,transparent 50%)}.intensity-low .aurora-layer{animation-duration:12s}.intensity-low .aurora-layer-1,.intensity-low .aurora-layer-2,.intensity-low .aurora-layer-3{opacity:.15}.star-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.star{position:absolute;border-radius:50%;background:#fff;opacity:var(--base-opacity, .5);animation:twinkle var(--twinkle-duration, 3s) ease-in-out infinite;animation-delay:var(--twinkle-delay, 0s)}@keyframes twinkle{0%,to{opacity:var(--base-opacity, .5);transform:scale(1)}50%{opacity:calc(var(--base-opacity, .5) * 1.8);transform:scale(1.2)}}.star:nth-child(7n){background:var(--accent-primary);box-shadow:0 0 4px var(--accent-primary)}.star:nth-child(11n){background:var(--accent-secondary);box-shadow:0 0 4px var(--accent-secondary)}.star:nth-child(13n){background:var(--uranus);box-shadow:0 0 3px var(--uranus)}.shooting-stars-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.nebula{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;animation:nebulaPulse 15s ease-in-out infinite}.nebula-1{width:400px;height:400px;top:10%;right:10%;background:radial-gradient(circle,rgba(244,160,32,.4),transparent 70%);animation-delay:0s}.nebula-2{width:500px;height:500px;bottom:5%;left:5%;background:radial-gradient(circle,rgba(99,102,241,.4),transparent 70%);animation-delay:-7s}@keyframes nebulaPulse{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.2;transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.aurora-layer{animation:none;opacity:.5}.star{animation:none;opacity:var(--base-opacity, .5)}.nebula{animation:none;opacity:.15}}@media (max-width: 768px){.star:nth-child(n+50){display:none}.nebula{filter:blur(60px)}.nebula-1{width:250px;height:250px}.nebula-2{width:300px;height:300px}}@media (max-width: 480px){.star:nth-child(n+30){display:none}.aurora-layer{animation-duration:12s}.nebula{display:none}}.tab-layout{min-height:calc(100vh - 112px);padding:var(--space-8) 0;animation:tab-enter var(--duration-slow) var(--ease-out)}@keyframes tab-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tab-header{text-align:center;margin-bottom:var(--space-8);padding:0 var(--space-4)}.tab-title{font-size:var(--text-4xl);font-family:var(--font-display-premium);font-weight:500;color:var(--text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.tab-subtitle{font-size:var(--text-base);color:var(--text-secondary);max-width:600px;margin:0 auto}.tab-content{animation:tab-content-enter var(--duration-slower) var(--ease-out) var(--duration-fast) backwards}@keyframes tab-content-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-6)}.loading-wheel{width:80px;height:80px;filter:drop-shadow(0 0 20px rgba(244,160,32,.3))}.wheel-spinner{width:100%;height:100%;animation:spin 1.5s linear infinite}.wheel-spinner circle:last-of-type{transform-origin:center}.loading-text{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);animation:subtle-pulse 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.tab-layout,.tab-content{animation:none}.wheel-spinner{animation-duration:3s}.loading-text{animation:none}}@media (max-width: 768px){.tab-layout{padding:1.5rem 0}.tab-title{font-size:1.5rem}.tab-subtitle{font-size:.9rem}}@media (max-width: 480px){.tab-layout{padding:1rem 0}.tab-header{margin-bottom:1.5rem}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:#1a1a2e;border:1px solid #4a4a6a;border-radius:12px;padding:2rem;width:90%;max-width:400px;position:relative}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#888;font-size:1.2rem;cursor:pointer}.close-button:hover{color:#fff}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tabs button{flex:1;padding:.75rem;background:#2a2a4e;border:1px solid #4a4a6a;border-radius:8px;color:#888;cursor:pointer;transition:all .2s}.auth-tabs button.active{background:#3a3a5e;color:#fff;border-color:#6366f1}.auth-tabs button:hover:not(.active){background:#3a3a5e}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-size:.9rem}.form-group input{width:100%;padding:.75rem;background:#2a2a4e;border:1px solid #4a4a6a;border-radius:8px;color:#fff;font-size:1rem}.auth-error{background:#ef444433;border:1px solid #ef4444;padding:.75rem;border-radius:8px;color:#ef4444;margin-bottom:1rem;font-size:.9rem}.auth-submit{width:100%;padding:.75rem;background:#6366f1;border:none;border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.auth-submit:hover:not(:disabled){background:#5855e8}.auth-submit:disabled{background:#4a4a6a;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1rem;color:#888;font-size:.9rem}.link-button{background:none;border:none;color:#6366f1;cursor:pointer;text-decoration:underline}.link-button:hover{color:#8b8df5}.notification-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fade-in .2s ease-out}.notification-settings-modal{background:var(--bg-secondary);border:1px solid var(--bg-elevated);border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;animation:slide-up .2s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 24px 16px;border-bottom:1px solid var(--bg-elevated);position:relative}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-header .chart-name{margin:4px 0 0;font-size:.9rem;color:var(--text-muted)}.modal-header .close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s ease}.modal-header .close-btn:hover{color:var(--text-primary)}.modal-content{padding:24px;overflow-y:auto;flex:1}.error-banner{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.success-banner{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.setting-section{margin-bottom:28px}.setting-section h3{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.section-hint{margin:-8px 0 12px;font-size:.85rem;color:var(--text-muted)}.master-toggle{background:#f4a0200d;border:1px solid rgba(244,160,32,.2);border-radius:12px;padding:16px;margin-bottom:24px}.toggle-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:10px 0}.toggle-label input{display:none}.toggle-switch{flex-shrink:0;width:44px;height:24px;background:var(--bg-elevated);border-radius:12px;position:relative;transition:background-color .2s ease}.toggle-switch:after{content:"";position:absolute;width:18px;height:18px;background:var(--text-muted);border-radius:50%;top:3px;left:3px;transition:transform .2s ease,background-color .2s ease}.toggle-label input:checked+.toggle-switch{background:var(--gold)}.toggle-label input:checked+.toggle-switch:after{transform:translate(20px);background:var(--bg-primary)}.toggle-text{display:flex;flex-direction:column;gap:2px}.toggle-text strong{color:var(--text-primary);font-size:.95rem;font-weight:500}.toggle-text .hint{font-size:.8rem;color:var(--text-muted)}.input-label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.input-label span{font-size:.85rem;color:var(--text-secondary);font-weight:500}.input-label input,.input-label select{background:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-size:.95rem;transition:border-color .15s ease}.input-label input:focus,.input-label select:focus{outline:none;border-color:var(--gold)}.input-label select{cursor:pointer}.planet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.planet-toggle{background:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:8px;padding:12px;cursor:pointer;text-align:left;transition:all .15s ease}.planet-toggle:hover{border-color:var(--text-muted)}.planet-toggle.active{background:#f4a0201a;border-color:var(--gold)}.planet-toggle .planet-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:2px}.planet-toggle .planet-desc{display:block;font-size:.75rem;color:var(--text-muted)}.planet-toggle.active .planet-name{color:var(--gold)}.modal-footer{padding:16px 24px;border-top:1px solid var(--bg-elevated);display:flex;justify-content:space-between;align-items:center;gap:12px}.footer-right{display:flex;gap:12px}.test-btn{background:transparent;border:1px solid var(--text-muted);color:var(--text-secondary);padding:10px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .15s ease}.test-btn:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.test-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{background:transparent;border:none;color:var(--text-muted);padding:10px 16px;font-size:.9rem;cursor:pointer;transition:color .15s ease}.cancel-btn:hover{color:var(--text-primary)}.save-btn{background:var(--gold);border:none;color:var(--bg-primary);padding:10px 24px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.save-btn:hover:not(:disabled){filter:brightness(1.1)}.save-btn:disabled{opacity:.7;cursor:not-allowed}.loading{padding:60px 20px;text-align:center;color:var(--text-muted)}@media (max-width: 600px){.notification-settings-overlay{padding:0;align-items:flex-end}.notification-settings-modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0}.modal-header{padding:20px 20px 12px}.modal-content{padding:20px}.modal-footer{flex-direction:column;gap:12px;padding:16px 20px 24px}.modal-footer .test-btn{width:100%;order:3}.footer-right{width:100%}.footer-right .cancel-btn,.footer-right .save-btn{flex:1}.planet-grid{grid-template-columns:repeat(2,1fr)}}.signature-reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060af7;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlay-fade-in .5s ease-out;overflow:hidden}.signature-reveal-overlay.dismissed{animation:overlay-fade-out .6s ease-out forwards;pointer-events:none}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.signature-reveal-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:700px;padding:2rem}.reveal-stage{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal-stage.visible{opacity:1;transform:translateY(0)}.stage-title{margin-bottom:1rem}.reveal-label{font-size:.9rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);font-weight:500}.stage-name{margin-bottom:2rem}.signature-name-reveal{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;color:var(--gold);margin:0;text-shadow:0 0 40px rgba(244,160,32,.4),0 0 80px rgba(244,160,32,.2);animation:name-glow 3s ease-in-out infinite}@keyframes name-glow{0%,to{text-shadow:0 0 40px rgba(244,160,32,.4),0 0 80px rgba(244,160,32,.2)}50%{text-shadow:0 0 60px rgba(244,160,32,.6),0 0 120px rgba(244,160,32,.3)}}.stage-rarity{margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.rarity-badge{display:flex;flex-direction:column;align-items:center;gap:.25rem}.rarity-label{font-size:.8rem;color:var(--text-muted);letter-spacing:1px}.rarity-number{font-family:var(--font-mono);font-size:clamp(2.5rem,8vw,4rem);font-weight:700;color:var(--text-primary);line-height:1;animation:number-count .8s ease-out}@keyframes number-count{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rarity-suffix{font-size:.9rem;color:var(--text-secondary)}.rarity-tier{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;padding:.4rem 1rem;border-radius:20px;font-weight:600}.rarity-tier.tier-extremely-rare{background:linear-gradient(135deg,#f4a02033,#f4a0201a);color:var(--gold);border:1px solid rgba(244,160,32,.3)}.rarity-tier.tier-very-rare{background:linear-gradient(135deg,#a855f733,#a855f71a);color:#a855f7;border:1px solid rgba(168,85,247,.3)}.rarity-tier.tier-rare{background:linear-gradient(135deg,#6366f133,#6366f11a);color:#6366f1;border:1px solid rgba(99,102,241,.3)}.rarity-tier.tier-uncommon{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.stage-aspects{margin-bottom:2rem}.exact-aspects-highlight{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1rem}.exact-count{font-family:var(--font-mono);font-size:3rem;font-weight:700;color:var(--gold);line-height:1}.exact-label{font-size:1.25rem;color:var(--text-primary);font-weight:500}.exact-note{font-size:.8rem;color:var(--text-muted)}.exact-aspects-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.exact-aspect-badge{background:#f4a0201a;border:1px solid rgba(244,160,32,.3);color:var(--gold);padding:.5rem .75rem;border-radius:6px;font-size:.9rem;font-weight:500;animation:badge-pop .3s ease-out backwards}.exact-aspect-badge:nth-child(1){animation-delay:.1s}.exact-aspect-badge:nth-child(2){animation-delay:.2s}.exact-aspect-badge:nth-child(3){animation-delay:.3s}.exact-aspect-badge:nth-child(4){animation-delay:.4s}@keyframes badge-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.exact-more{color:var(--text-muted);font-size:.85rem;padding:.5rem}.stage-description{margin-bottom:2.5rem;max-width:600px}.signature-description{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);margin:0}.stage-continue{display:flex;flex-direction:column;align-items:center;gap:.75rem}.continue-btn{background:linear-gradient(135deg,var(--gold),#d4890a);border:none;color:var(--bg-primary);padding:1rem 2.5rem;border-radius:30px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #f4a0204d}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #f4a02066}.continue-hint{font-size:.75rem;color:var(--text-muted);opacity:.7}.reveal-bg-elements{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.orbit-ring{position:absolute;border:1px solid rgba(244,160,32,.1);border-radius:50%;animation:orbit-expand 20s linear infinite}.orbit-ring.ring-1{width:300px;height:300px;animation-duration:30s;border-color:#f4a02014}.orbit-ring.ring-2{width:500px;height:500px;animation-duration:45s;animation-direction:reverse;border-color:#6366f10f}.orbit-ring.ring-3{width:700px;height:700px;animation-duration:60s;border-color:#a855f70a}@keyframes orbit-expand{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glow-center{position:absolute;width:200px;height:200px;background:radial-gradient(circle,rgba(244,160,32,.15) 0%,transparent 70%);border-radius:50%;animation:center-pulse 4s ease-in-out infinite}@keyframes center-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:.8}}@media (max-width: 768px){.signature-reveal-content{padding:1.5rem}.signature-name-reveal{font-size:2rem}.rarity-number,.exact-count{font-size:2.5rem}.exact-label,.signature-description{font-size:1rem}.orbit-ring.ring-3{display:none}}@media (max-width: 480px){.signature-reveal-content{padding:1rem}.reveal-label{font-size:.75rem;letter-spacing:2px}.signature-name-reveal{font-size:1.75rem}.stage-rarity{margin-bottom:1.5rem}.rarity-number{font-size:2rem}.exact-aspects-highlight{flex-wrap:wrap}.continue-btn{padding:.875rem 2rem;font-size:1rem}.orbit-ring.ring-2{display:none}}.rectification-container{max-width:800px;margin:0 auto;padding:24px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;color:#e2e8f0;position:relative}.rectification-header{text-align:center;margin-bottom:24px}.rectification-header h2{margin:0 0 8px;font-size:28px;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rectification-header .subtitle{color:#94a3b8;margin:0;font-size:14px}.close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#94a3b8;font-size:24px;cursor:pointer;transition:color .2s}.close-btn:hover{color:#e2e8f0}.progress-steps{display:flex;align-items:center;justify-content:center;margin-bottom:32px;gap:8px}.step{display:flex;flex-direction:column;align-items:center;gap:4px}.step-number{width:32px;height:32px;border-radius:50%;background:#334155;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .3s}.step.active .step-number{background:#6366f1}.step.completed .step-number{background:#22c55e}.step.completed .step-number:after{content:"✓"}.step-label{font-size:12px;color:#64748b}.step.active .step-label{color:#e2e8f0}.step-connector{width:40px;height:2px;background:#334155;margin-bottom:20px}.info-box{background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;padding:16px;margin-bottom:24px;font-size:14px;line-height:1.6}.info-box strong{color:#818cf8}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#cbd5e1}.form-group input[type=text],.form-group input[type=date]{width:100%;padding:12px 16px;background:#1e293b;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#6366f1}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.flex-1{flex:2!important}.searching{font-size:12px;color:#64748b;padding:8px 0}.location-suggestions{background:#1e293b;border:1px solid #334155;border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto}.suggestion{padding:12px 16px;cursor:pointer;font-size:13px;border-bottom:1px solid #334155;transition:background .2s}.suggestion:last-child{border-bottom:none}.suggestion:hover{background:#6366f11a}.coordinates{font-size:12px;color:#22c55e;margin-top:8px}.time-range-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.time-range-btn{display:flex;flex-direction:column;align-items:center;padding:12px;background:#1e293b;border:2px solid #334155;border-radius:8px;cursor:pointer;transition:all .2s}.time-range-btn:hover{border-color:#6366f1}.time-range-btn.selected{border-color:#6366f1;background:#6366f126}.range-label{font-weight:600;color:#e2e8f0;font-size:14px}.range-desc{font-size:11px;color:#64748b;margin-top:4px}.event-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.event-type-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#1e293b;border:2px solid #334155;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.event-type-btn:hover{border-color:#6366f1}.event-type-btn.selected{border-color:#6366f1;background:#6366f126}.event-icon{font-size:18px}.event-name{font-size:12px;color:#e2e8f0;line-height:1.2}.add-event-form{background:#1e293b80;border-radius:12px;padding:20px;margin-bottom:24px}.add-event-form h3{margin:0 0 16px;font-size:16px;color:#e2e8f0}.add-event-btn{width:100%;padding:12px;background:#6366f1;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.add-event-btn:hover{background:#4f46e5}.events-list{margin-bottom:24px}.events-list h3{margin:0 0 12px;font-size:14px;color:#94a3b8}.event-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1e293b;border-radius:8px;margin-bottom:8px}.event-item .event-icon{font-size:20px}.event-details{flex:1;display:flex;flex-direction:column;gap:2px}.event-type{font-weight:500;font-size:14px}.event-date{font-size:12px;color:#64748b}.event-desc{font-size:12px;color:#94a3b8;font-style:italic}.remove-btn{background:none;border:none;color:#64748b;font-size:20px;cursor:pointer;transition:color .2s}.remove-btn:hover{color:#ef4444}.step-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.primary-btn{padding:14px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s,transform .2s}.primary-btn:hover:not(:disabled){transform:translateY(-1px)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{padding:14px 28px;background:#334155;border:none;border-radius:8px;color:#e2e8f0;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.secondary-btn:hover{background:#475569}.hint{text-align:center;font-size:13px;color:#64748b;margin-top:16px}.error-message{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.results-header{text-align:center;margin-bottom:24px}.confidence-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;color:#fff;margin-bottom:8px}.results-summary{color:#94a3b8;font-size:13px;margin:0}.candidates-list{display:flex;flex-direction:column;gap:16px}.candidate-card{background:#1e293b;border-radius:12px;padding:20px;border:2px solid #334155;transition:border-color .2s}.candidate-card.top-candidate{border-color:#6366f1;background:linear-gradient(135deg,#6366f11a,#8b5cf61a)}.candidate-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.candidate-rank{font-size:24px;font-weight:700;color:#64748b}.top-candidate .candidate-rank{color:#fbbf24}.candidate-time{flex:1}.candidate-time .time{display:block;font-size:28px;font-weight:700;color:#e2e8f0}.candidate-time .score{font-size:13px;color:#6366f1}.candidate-asc{text-align:right}.asc-label{display:block;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.asc-value{font-size:16px;font-weight:600;color:#c084fc}.candidate-matches{border-top:1px solid #334155;padding-top:16px}.candidate-matches h4{margin:0 0 12px;font-size:13px;color:#94a3b8;font-weight:500}.match-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #334155}.match-item:last-child{border-bottom:none}.match-event{font-weight:500;font-size:14px}.match-date{font-size:12px;color:#64748b}.match-transits{width:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.transit-tag{background:#6366f133;color:#a5b4fc;padding:4px 8px;border-radius:4px;font-size:11px;font-family:monospace}.use-time-btn{width:100%;margin-top:16px;padding:14px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s}.use-time-btn:hover{opacity:.9}.results-note{margin-top:24px;padding:16px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px;font-size:13px;color:#fde047}.results-note strong{color:#facc15}@media (max-width: 600px){.rectification-container{padding:16px;margin:8px}.progress-steps{gap:4px}.step-connector{width:20px}.step-label{display:none}.time-range-options,.event-type-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.candidate-header{flex-wrap:wrap}.candidate-asc{width:100%;text-align:left;margin-top:8px}}.famous-charts{background:var(--bg-secondary);border:1px solid var(--bg-elevated);border-radius:16px;padding:2rem;animation:fade-in-up .5s var(--ease-orbital)}.famous-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--bg-elevated)}.header-left h2{margin:0 0 .25rem;font-family:var(--font-display);color:var(--text-primary)}.header-left .subtitle{margin:0;color:var(--text-muted);font-size:.9rem}.close-btn,.back-btn{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.close-btn:hover,.back-btn:hover{background:var(--bg-surface);color:var(--text-primary);transform:none;box-shadow:none}.filters{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:8px;color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.search-input:focus{outline:none;border-color:var(--gold)}.category-filter{display:flex;flex-wrap:wrap;gap:.5rem}.category-filter button{background:var(--bg-surface);border:1px solid var(--bg-elevated);color:var(--text-secondary);padding:.5rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.category-filter button:hover{border-color:var(--text-muted);color:var(--text-primary);transform:none;box-shadow:none}.category-filter button.active{background:var(--gold);border-color:var(--gold);color:var(--bg-primary)}.loading-state,.loading-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-elevated);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p,.loading-detail p{color:var(--text-muted)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:1rem;border-radius:8px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.chart-card{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s ease}.chart-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.card-header{margin-bottom:.75rem}.category-badge{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.chart-card h3{margin:0 0 .5rem;font-family:var(--font-display);color:var(--text-primary);font-size:1.1rem}.card-description{margin:0 0 .75rem;color:var(--text-secondary);font-size:.85rem;line-height:1.4}.card-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}.card-signature{font-size:.8rem;color:var(--neptune);font-style:italic}.no-results{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.chart-profile{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.category-icon{font-size:2.5rem}.profile-info h2{margin:0;font-family:var(--font-display);color:var(--text-primary)}.profile-info .category{margin:0;color:var(--text-muted);font-size:.9rem}.chart-profile .description{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5}.known-for h4{margin:0 0 .5rem;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--bg-elevated);color:var(--text-secondary);padding:.35rem .75rem;border-radius:20px;font-size:.8rem}.chart-data{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.data-section{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:10px;padding:1.25rem}.data-section h3{margin:0 0 1rem;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-body)}.planets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.planet-item{display:flex;flex-direction:column;padding:.5rem;background:var(--bg-elevated);border-radius:6px}.planet-name{font-weight:600;color:var(--text-primary);font-size:.85rem}.planet-position{font-family:var(--font-mono);color:var(--text-muted);font-size:.8rem}.retrograde{color:var(--mars);margin-left:.25rem}.aspects-list{display:flex;flex-wrap:wrap;gap:.5rem}.aspect-chip{background:var(--bg-elevated);color:var(--text-primary);padding:.5rem .75rem;border-radius:6px;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.aspect-chip .orb{color:var(--gold);font-family:var(--font-mono);font-size:.75rem}.signature-section{border-left:3px solid var(--gold)}.signature-section.featured{background:linear-gradient(135deg,#f4a02014,#f4a02005);border:1px solid rgba(244,160,32,.2);border-left:4px solid var(--gold)}.signature-display{display:flex;flex-direction:column;gap:.5rem}.signature-name{font-weight:700;color:var(--gold);font-size:1.25rem;font-family:var(--font-display)}.signature-desc{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.secondary-signatures{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(244,160,32,.15)}.secondary-signatures h4{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.secondary-sig{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-elevated);border-radius:6px;margin-bottom:.5rem}.secondary-sig .sig-name{font-weight:600;color:var(--neptune);font-size:.9rem}.secondary-sig .sig-desc{color:var(--text-muted);font-size:.85rem}.section-note{font-weight:400;color:var(--text-muted);font-size:.75rem;text-transform:none;letter-spacing:0}.aspect-chip.exact{border-left:3px solid var(--gold);background:#f4a0201a}.aspect-chip.tight{border-left:3px solid var(--neptune)}.aspect-chip .aspect-planets{flex:1}.key-positions,.outer-positions{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.outer-positions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bg-elevated)}.position-item{display:flex;flex-direction:column;padding:.75rem;background:var(--bg-elevated);border-radius:8px;text-align:center}.position-item.outer{background:#6366f11a;border:1px solid rgba(99,102,241,.15)}.position-item .planet-name{font-weight:600;color:var(--text-primary);font-size:.8rem;margin-bottom:.25rem}.position-item .planet-sign{color:var(--gold);font-size:.9rem;font-weight:500}.position-item .planet-degree{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.angles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.angle-item{display:flex;flex-direction:column;padding:.75rem;background:#a855f71a;border:1px solid rgba(168,85,247,.15);border-radius:8px;text-align:center}.angle-item .angle-name{font-weight:600;color:var(--text-primary);font-size:.75rem;margin-bottom:.25rem}.angle-item .angle-sign{color:#a855f7;font-size:.9rem;font-weight:500}.angle-item .angle-degree{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.compare-section{text-align:center;margin-bottom:1.5rem}.compare-btn{padding:.75rem 2rem;background:var(--gold);border:none;color:var(--bg-primary);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.compare-btn:hover:not(:disabled){background:#d4890a;transform:translateY(-2px);box-shadow:0 4px 12px #f4a02040}.compare-btn:disabled{opacity:.7;cursor:not-allowed}.comparison-results{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:12px;padding:1.5rem}.comparison-results h3{margin:0 0 1.5rem;font-family:var(--font-display);color:var(--text-primary);text-align:center}.compat-score{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--bg-elevated)}.score-value{font-size:3rem;font-weight:700;font-family:var(--font-mono);color:var(--gold)}.score-label{color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.similarities{margin-bottom:1.5rem}.similarities h4,.synastry-aspects h4{margin:0 0 .75rem;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.similarity-list{display:flex;flex-direction:column;gap:.5rem}.similarity-item{display:flex;gap:.75rem;padding:.75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px}.sim-type{font-weight:600;color:#22c55e;min-width:100px}.sim-desc{color:var(--text-secondary)}.syn-aspects-list{display:flex;flex-direction:column;gap:.5rem}.syn-aspect{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-elevated);border-radius:6px}.syn-aspect.exact{border-left:3px solid var(--gold);background:#f4a0201a}.your-planet{color:var(--neptune);font-weight:500;min-width:100px}.aspect-sym{color:var(--text-muted);font-size:1.1rem}.their-planet{color:var(--text-primary);font-weight:500;flex:1}.syn-orb{color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem}@media (max-width: 768px){.famous-charts{padding:1.5rem;border-radius:12px}.famous-header{flex-direction:column;gap:1rem}.close-btn{align-self:flex-end}.charts-grid{grid-template-columns:1fr}.planets-grid{grid-template-columns:repeat(2,1fr)}.profile-header{flex-direction:column;text-align:center}.similarity-item{flex-direction:column;gap:.25rem}.syn-aspect{flex-wrap:wrap}.your-planet,.their-planet{min-width:auto}}@media (max-width: 480px){.famous-charts{padding:1rem}.category-filter{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.5rem}.category-filter button{flex-shrink:0}.planets-grid{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;flex-direction:column}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary);font-size:1.2rem;font-family:var(--font-mono);animation:subtle-pulse 2s ease-in-out infinite}.app-main{flex:1;max-width:1400px;margin:0 auto;padding:1rem 2rem;width:100%}.error-message{background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid rgba(239,68,68,.3);color:var(--text-primary);padding:2rem;border-radius:12px;text-align:center;margin:2rem 0;animation:fade-in-up .4s var(--ease-orbital)}.error-message h3{margin-top:0;margin-bottom:1rem;color:var(--accent-danger);font-family:var(--font-display)}.error-message button{margin-top:1rem;background-color:var(--accent-danger);color:#fff}.error-message button:hover{background-color:#dc2626;box-shadow:0 4px 12px #ef444440}.no-signature{background:var(--bg-secondary);border:1px solid var(--bg-elevated);padding:3rem;border-radius:12px;text-align:center;margin:2rem 0;animation:fade-in-up .5s var(--ease-orbital)}.no-signature h2{color:var(--text-accent);margin-bottom:1rem;font-family:var(--font-display)}.no-signature p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.actions{text-align:center;margin-top:2.5rem;padding:2rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;background:var(--bg-secondary);border:1px solid var(--bg-elevated);border-radius:12px}.secondary-button{background:transparent;border:1px solid var(--bg-elevated);color:var(--text-secondary);padding:.75em 1.5em;font-size:.875em;font-weight:500;border-radius:8px;transition:all .25s var(--ease-orbital)}.secondary-button:hover{background:var(--bg-elevated);border-color:var(--text-muted);color:var(--text-primary);transform:translateY(-1px);box-shadow:none}.primary-button{background:var(--bg-elevated);border:1px solid rgba(244,160,32,.25);color:var(--accent-primary);padding:.75em 1.5em;font-size:.875em;font-weight:500;border-radius:8px;transition:all .25s var(--ease-orbital);position:relative;overflow:hidden}.primary-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(244,160,32,.1),transparent);opacity:0;transition:opacity .25s}.primary-button:hover{background:var(--bg-elevated);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 6px 20px #f4a02033}.primary-button:hover:before{opacity:1}.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.primary-button.highlight{background:linear-gradient(135deg,#96f3,#f4a02033);border-color:#96f;color:#96f}.primary-button.highlight:hover{border-color:#b9f;color:#b9f;box-shadow:0 6px 20px #9966ff4d}.save-button{background:linear-gradient(135deg,var(--accent-success),#16a34a);border:none;color:#fff;padding:.75em 1.5em;font-size:.875em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .25s var(--ease-orbital)}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #22c55e4d}.save-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.save-button.success{background:linear-gradient(135deg,var(--accent-secondary),#4f46e5)}.app-footer{text-align:center;padding:2.5rem 2rem;margin-top:3rem;border-top:1px solid var(--bg-elevated);color:var(--text-muted);background:var(--bg-secondary)}.app-footer p{margin:.5rem 0}.app-footer strong{color:var(--text-accent);font-family:var(--font-mono);font-weight:500}.footnote{font-size:.85em;max-width:600px;margin:.5rem auto;line-height:1.5}@media (max-width: 768px){.app-header{padding:1.5rem 1rem 2rem;margin:-2rem -1rem 1.5rem}.header-top{flex-direction:column;gap:1rem}.app-title{font-size:2em}.app-tagline{font-size:.95em}.actions{flex-direction:column;padding:1.5rem 0}.actions button{width:100%}}.rectification-link{text-align:center;margin-top:16px}.rectification-link .text-link{background:none;border:none;color:#818cf8;font-size:14px;cursor:pointer;text-decoration:underline;transition:color .2s}.rectification-link .text-link:hover{color:#a5b4fc}:root{--font-display: "DM Serif Display", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--bg-primary: #0a0b0f;--bg-secondary: #12141c;--bg-elevated: #1a1d28;--bg-surface: #0f1015;--sun: #f4a020;--moon: #c9d1d9;--mercury: #7dd3fc;--venus: #f9a8d4;--mars: #ef4444;--jupiter: #fbbf24;--saturn: #a78bfa;--uranus: #2dd4bf;--neptune: #6366f1;--pluto: #94a3b8;--aspect-conjunction: #fbbf24;--aspect-opposition: #ef4444;--aspect-trine: #22c55e;--aspect-square: #f97316;--aspect-sextile: #3b82f6;--aspect-quincunx: #a855f7;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #f4a020;--accent-primary: #f4a020;--accent-secondary: #6366f1;--accent-success: #22c55e;--accent-danger: #ef4444;--ease-orbital: cubic-bezier(.4, 0, .2, 1);font-family:var(--font-body);line-height:1.6;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--bg-primary);position:relative;overscroll-behavior-y:none}#root{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);line-height:1.1;font-weight:400;letter-spacing:-.01em}h1{font-size:2.5em;margin-bottom:1rem}h2{font-size:1.75em}h3{font-size:1.25em}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:.9em;font-weight:500;font-family:var(--font-body);background-color:var(--accent-primary);color:var(--bg-primary);cursor:pointer;transition:all .3s var(--ease-orbital)}button:hover{background-color:#d4890a;transform:translateY(-1px);box-shadow:0 4px 12px #f4a02040}button:focus,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}input,select{padding:.6em .8em;font-size:1em;border:1px solid var(--bg-elevated);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);transition:all .2s var(--ease-orbital)}input:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #f4a02026}input::placeholder{color:var(--text-muted)}input[type=number],input.degree-input{font-family:var(--font-mono);letter-spacing:.02em}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes exact-glow{0%,to{box-shadow:0 0 #f4a02066}50%{box-shadow:0 0 16px 4px #f4a02026}}.animate-in{animation:fade-in-up .5s var(--ease-orbital) backwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.mono{font-family:var(--font-mono)}.text-accent{color:var(--text-accent)}.text-secondary{color:var(--text-secondary)}@media (max-width: 900px){#root{padding:1.5rem}h1{font-size:2em}h2{font-size:1.5em}}@media (max-width: 600px){#root{padding:1rem}h1{font-size:1.75em}h2{font-size:1.35em}h3{font-size:1.1em}button{padding:.7em 1em;font-size:.85em;width:100%}input,select{font-size:16px;padding:.75em}}@media (max-width: 380px){#root{padding:.75rem}h1{font-size:1.5em}h2{font-size:1.25em}button{font-size:.8em;padding:.65em .9em}}@media (hover: none) and (pointer: coarse){button,input,select{min-height:44px}button:hover{transform:none;box-shadow:none}}@media (max-height: 500px) and (orientation: landscape){#root{padding:.75rem 1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{#root{max-width:100%;padding:0}button{display:none}}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-glow-gold: 0 0 20px rgba(244, 160, 32, .25), 0 0 40px rgba(244, 160, 32, .1);--shadow-glow-purple: 0 0 20px rgba(124, 58, 237, .25), 0 0 40px rgba(124, 58, 237, .1);--shadow-glow-cyan: 0 0 20px rgba(6, 182, 212, .25), 0 0 40px rgba(6, 182, 212, .1);--shadow-glow-pink: 0 0 20px rgba(236, 72, 153, .25), 0 0 40px rgba(236, 72, 153, .1);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-drawer: 40;--z-modal-backdrop: 50;--z-modal: 60;--z-popover: 70;--z-tooltip: 80;--z-toast: 90;--z-max: 100;--cosmic-purple: #7c3aed;--cosmic-purple-light: #a78bfa;--cosmic-purple-dark: #5b21b6;--nebula-pink: #ec4899;--nebula-pink-light: #f9a8d4;--nebula-pink-dark: #be185d;--starlight-cyan: #06b6d4;--starlight-cyan-light: #67e8f9;--starlight-cyan-dark: #0e7490;--deep-space: #030305;--midnight-blue: #0c0d14;--cosmic-void: #06070a;--gradient-cosmic: linear-gradient(135deg, #7c3aed 0%, #ec4899 50%, #f59e0b 100%);--gradient-aurora: linear-gradient(180deg, rgba(124, 58, 237, .15) 0%, rgba(236, 72, 153, .1) 30%, rgba(6, 182, 212, .08) 60%, transparent 100% );--gradient-gold-shine: linear-gradient(135deg, rgba(244, 160, 32, .2) 0%, rgba(251, 191, 36, .15) 50%, rgba(244, 160, 32, .1) 100% );--gradient-card: linear-gradient(135deg, rgba(255, 255, 255, .03) 0%, transparent 100% );--gradient-border: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .02) 100% );--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--font-display-premium: "Cormorant Garamond", "DM Serif Display", Georgia, serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.68, -.6, .32, 1.6);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--glass-bg: rgba(18, 20, 28, .7);--glass-bg-light: rgba(26, 29, 40, .6);--glass-border: rgba(255, 255, 255, .08);--glass-border-light: rgba(255, 255, 255, .12);--glass-blur: 12px;--glass-blur-strong: 20px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass-card-elevated{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.glass-card-gold{background:linear-gradient(135deg,rgba(244,160,32,.08) 0%,var(--glass-bg) 100%);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(244,160,32,.2);border-radius:var(--radius-lg)}.glass-card-purple{background:linear-gradient(135deg,rgba(124,58,237,.08) 0%,var(--glass-bg) 100%);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(124,58,237,.2);border-radius:var(--radius-lg)}.glass-card-cyan{background:linear-gradient(135deg,rgba(6,182,212,.08) 0%,var(--glass-bg) 100%);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(6,182,212,.2);border-radius:var(--radius-lg)}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-glow{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-slow) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.hover-glow:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-gold);border-color:#f4a0204d}.hover-glow-purple:hover{box-shadow:var(--shadow-glow-purple);border-color:#7c3aed4d}.hover-glow-cyan:hover{box-shadow:var(--shadow-glow-cyan);border-color:#06b6d44d}.hover-scale{transition:transform var(--duration-normal) var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}.press-effect{transition:transform var(--duration-fast) var(--ease-out)}.press-effect:active{transform:scale(.98)}.ripple-container{position:relative;overflow:hidden}.tab-enter{opacity:0;transform:translateY(8px)}.tab-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.tab-exit{opacity:1;transform:translateY(0)}.tab-exit-active{opacity:0;transform:translateY(-8px);transition:opacity var(--duration-normal) var(--ease-in),transform var(--duration-normal) var(--ease-in)}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity var(--duration-slow) var(--ease-out)}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity var(--duration-normal) var(--ease-in)}@keyframes border-glow-pulse{0%,to{border-color:#f4a02033;box-shadow:0 0 #f4a0201a}50%{border-color:#f4a02066;box-shadow:0 0 20px #f4a02026}}.border-pulse{animation:border-glow-pulse 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}.heading-premium{font-family:var(--font-display-premium);font-weight:500;letter-spacing:-.02em}.text-gradient{background:var(--gradient-cosmic);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-glow-gold{text-shadow:0 0 20px rgba(244,160,32,.5)}.text-glow-purple{text-shadow:0 0 20px rgba(124,58,237,.5)}@media (prefers-reduced-motion: reduce){.hover-lift:hover,.hover-glow:hover,.hover-scale:hover{transform:none}.border-pulse,.shimmer{animation:none}.tab-enter-active,.tab-exit-active,.fade-enter-active,.fade-exit-active{transition:none}}
