:root{--color-bg-primary: #0a0a1a;--color-bg-secondary: #12122a;--color-bg-card: rgba(25, 25, 60, .6);--color-bg-glass: rgba(255, 255, 255, .05);--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-secondary: #ec4899;--color-accent: #06b6d4;--color-gold: #fbbf24;--color-silver: #94a3b8;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--color-fire: #ef4444;--color-earth: #22c55e;--color-air: #fbbf24;--color-water: #3b82f6;--gradient-cosmic: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-aurora: linear-gradient(135deg, #f093fb 0%, #f5576c 50%, #4facfe 100%);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-glow: 0 0 20px rgba(139, 92, 246, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.text-gradient{background:var(--gradient-aurora);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass,.saved-card{background:#080814f2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0009}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .25s ease}.btn-primary{background:var(--gradient-cosmic);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #8b5cf699}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-bg-glass);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.2)}.input{width:100%;padding:1rem 1.5rem;background:var(--color-bg-glass);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf633}.input::placeholder{color:var(--color-text-muted)}.card{background:var(--color-bg-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1)}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1)}.animate-spin{animation:spin 1s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.cosmic-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(180deg,#0a0a1a,#1e1b4b,#312e81);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-bg-glass);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:999px}:root{--color-gold: #ffd700;--color-bg-dark: #0a0a1a;--color-text-primary: #ffffff;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-bg-glass: rgba(255, 255, 255, .05);--gradient-cosmic: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);--color-primary-light: #a78bfa}*{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--color-bg-dark);color:var(--color-text-primary);font-family:Inter,sans-serif;overflow-x:hidden;width:100%;min-width:0}.landing{min-height:100vh;background-size:cover;background-position:center;background-attachment:fixed;width:100%;overflow-x:hidden}.landing-overlay{min-height:100vh;background:#0a0a1ad9;display:flex;align-items:center;justify-content:center;padding:2rem;width:100%;overflow-x:hidden}.landing-content{text-align:center;max-width:800px;width:100%;padding:0 1rem;margin:0 auto}.landing-logo{width:200px;height:200px;margin-bottom:2rem;border-radius:50%}.landing-content h1{font-size:3rem;margin-bottom:.5rem}.landing-content h2{font-size:1.5rem;color:var(--color-text-secondary);margin-bottom:2rem}.landing-subtitle{font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.api-key-section{padding:1.5rem;border-radius:1rem;margin-bottom:2rem;text-align:left}.api-key-section label{display:block;margin-bottom:.75rem;font-weight:500}.api-key-input-row{display:flex;gap:.5rem;margin-bottom:.5rem}.api-key-input-row .input{flex:1}.api-valid{color:#22c55e;font-size:.875rem;display:block;margin-bottom:.5rem}.api-error{color:#ef4444;font-size:.875rem;display:block;margin-bottom:.5rem}.api-key-section small{color:var(--color-text-muted);font-size:.8rem}.api-key-section a{color:var(--color-primary-light)}.form-view{min-height:100vh;padding:2rem 0;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center}.form-card{max-width:700px;width:90%;margin:0 auto;padding:3rem;border-radius:2rem;background:linear-gradient(135deg,#1e1432b3,#0a0514d9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff1a inset,0 0 20px #8b5cf633;transition:transform .3s ease,box-shadow .3s ease}.form-card:hover{transform:translateY(-5px);box-shadow:0 25px 60px #0009,0 0 0 1px #ffffff26 inset,0 0 30px #8b5cf64d}.form-card h2{margin-bottom:.5rem;font-size:2rem;text-align:center;background:linear-gradient(to right,#fff,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.form-card>p{color:var(--color-text-muted);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group input[type=text]{width:100%;white-space:normal;word-wrap:break-word;height:auto;min-height:2.5rem;padding:.75rem 1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.checkbox-label{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px}.suggestions{list-style:none;background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;margin-top:.25rem;max-height:200px;overflow-y:auto}.suggestions li{padding:.75rem 1rem;cursor:pointer;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.suggestions li:hover{background:var(--color-bg-glass)}.error-message{background:#ef44441a;color:#ef4444;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.generating-view{min-height:100vh;display:flex;align-items:center;justify-content:center}.generating-content{text-align:center}.generating-wheel{width:200px;height:200px;animation:spin 20s linear infinite;margin-bottom:2rem}.generating-content h2{margin-bottom:.5rem}.generating-content p{margin-bottom:2rem}.chart-view{min-height:100vh;padding-bottom:4rem}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;margin-bottom:2rem;position:sticky;top:0;z-index:100}.chart-header h1{font-size:1.25rem}.chart-actions{display:flex;gap:.5rem}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.headline-card{text-align:center;padding:3rem 2rem;border-radius:1.5rem;margin-bottom:2rem}.headline-card h2{font-size:2rem;margin-bottom:1rem}.chart-visualization{display:flex;justify-content:center;align-items:center;margin:2rem auto;max-width:100%}.zodiac-wheel-container{position:relative;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);border-radius:50%;padding:1rem}.planet-node title{display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 30s linear infinite}.big3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}@media(max-width:900px){.big3-grid{grid-template-columns:1fr}}.big3-card{padding:2rem;border-radius:1.5rem;text-align:center}.big3-icon{width:80px;height:80px;border-radius:1rem;margin-bottom:1rem}.big3-card h3{font-size:1.1rem;margin-bottom:.25rem}.big3-degree{color:var(--color-gold);font-size:.9rem;margin-bottom:1rem}.big3-card .meaning{font-style:italic;color:var(--color-primary-light);margin-bottom:.75rem}.big3-card .tip{background:#8b5cf626;padding:.75rem;border-radius:.5rem;font-size:.9rem;margin-top:1rem}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media(max-width:700px){.insights-grid{grid-template-columns:1fr}}.insight-card{padding:1.5rem;border-radius:1rem}.insight-card h3{margin-bottom:1rem;font-size:1.1rem}.insight-card ul{list-style:none}.insight-card li{padding:.75rem 1rem;margin-bottom:.5rem;background:#0a0a1e66;border-radius:.5rem;border:1px solid rgba(255,255,255,.05)}.headline-card p,.insight-card p,.life-card p,.big3-card p,.saved-card p{background:#0a0a1e66;padding:1rem;border-radius:.75rem;line-height:1.7;border:1px solid rgba(255,255,255,.05)}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media(max-width:700px){.life-grid{grid-template-columns:1fr}}.life-card{padding:1.5rem;border-radius:1rem}.life-card h3{margin-bottom:1rem}.balance-card{padding:2rem;border-radius:1rem;margin-bottom:2rem;text-align:center}.balance-card h3{margin-bottom:1.5rem}.balance-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.balance-action{background:var(--gradient-cosmic);padding:.75rem 1.5rem;border-radius:2rem;font-size:.9rem}.planets-card{padding:2rem;border-radius:1rem;margin-bottom:2rem}.planets-card h3{margin-bottom:1.5rem;text-align:center}.planets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.planet-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-bg-glass);border-radius:.5rem;font-size:.9rem}.planet-symbol{font-size:1.25rem}.planet-name{font-weight:500}.planet-sign{color:var(--color-text-secondary)}.planet-degree{color:var(--color-gold);font-size:.8rem}.planet-house{color:var(--color-text-muted);font-size:.8rem}.nav-buttons{display:flex;justify-content:space-between;margin-bottom:2rem;gap:1rem}.btn-nav{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.5rem;border-radius:2rem;font-size:1rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #0003}.btn-nav:hover{background:#fff3;transform:translateY(-3px);box-shadow:0 8px 25px #7c3aed66;border-color:#a78bfa99}.btn-nav .icon{font-size:1.2rem}.closing-card{text-align:center;padding:3rem 2rem;border-radius:1rem;margin-bottom:2rem}.closing-text{font-size:1.25rem;font-style:italic;color:var(--color-primary-light)}.saved-view{min-height:100vh;padding:2rem 0}.saved-view h2{margin-bottom:2rem}.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.saved-card{padding:1.5rem;border-radius:1rem}.saved-card h3{margin-bottom:.5rem}.saved-card p{color:var(--color-text-secondary);margin-bottom:.5rem}.saved-card small{color:var(--color-text-muted);display:block;margin-bottom:1rem}.btn-lg{padding:1.25rem 2.5rem;font-size:1.1rem;width:100%;margin-top:1rem}.compatibility-form{max-width:800px;margin:0 auto}.comp-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:800px){.comp-data-grid{grid-template-columns:1fr}}.person-card{padding:1.5rem;border-radius:1rem}.text-center{text-align:center}.italic{font-style:italic}.api-valid{color:#4ade80}.api-error{color:#f87171}.input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem 1rem;border-radius:.5rem;width:100%}.input:focus{outline:none;border-color:var(--color-primary-light);background:#ffffff1a}.glass{background:#ffffff0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.text-gradient{background:linear-gradient(to right,#fff,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#7c3aed;color:#fff}.btn-primary:hover{background:#6d28d9;transform:translateY(-2px)}.btn-secondary{background:#ffffff1a;color:#fff}.btn-secondary:hover{background:#fff3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.auth-controls{transition:all .3s ease}.auth-btn{transition:all .2s ease}.auth-btn:hover{transform:translateY(-1px)}@media(max-width:1024px){.container{padding:0 1rem}.chart-header{grid-template-columns:1fr!important;gap:1rem!important;padding:1rem!important;text-align:center}.chart-header .nav-buttons{justify-content:center;order:-1}.chart-header h1{font-size:1.5rem!important;white-space:normal!important;line-height:1.3!important}.chart-header>div:last-child{align-items:center!important}}@media(max-width:768px){.landing-content{padding-top:2.5rem}.landing-content h1{font-size:1.8rem;white-space:normal!important;line-height:1.3}.landing-content h2{font-size:1.1rem}.landing-logo{width:120px;height:120px}.landing-subtitle{font-size:.95rem;line-height:1.6}.form-card{max-width:95%;padding:1.5rem 1.25rem}.nav-buttons{flex-direction:column;gap:.5rem}.btn-nav{width:100%;justify-content:center;padding:.6rem 1rem;font-size:.9rem}.chart-header{flex-direction:column;text-align:center;position:relative;top:auto}.chart-actions{flex-wrap:wrap;justify-content:center;gap:.5rem}.chart-actions .btn{padding:.5rem .75rem;font-size:.85rem}.insights-grid,.life-grid,.saved-grid{grid-template-columns:1fr}.landing-actions{flex-direction:column!important;gap:.75rem!important}.landing-actions .btn{width:100%}.headline-card{padding:1.5rem 1rem}.headline-card h2{font-size:1.4rem}.chart-visualization{max-width:320px;margin:1rem auto}.zodiac-wheel-container{padding:.5rem}.big3-grid{grid-template-columns:1fr;gap:1rem}.big3-card{padding:1.5rem}.big3-icon{width:60px;height:60px}.planets-grid{grid-template-columns:repeat(2,1fr)}.balance-actions{gap:.5rem}.balance-action{padding:.5rem 1rem;font-size:.85rem}.closing-card{padding:2rem 1.5rem}.closing-text{font-size:1.1rem}.comp-data-grid{grid-template-columns:1fr;gap:1.5rem}.compatibility-form{padding:0 1rem}}@media(max-width:480px){html{font-size:15px}.landing{overflow-x:hidden;width:100vw;max-width:100%}.landing-overlay{padding:1rem .5rem;width:100%;overflow-x:hidden}.landing-content{width:100%;max-width:100%;padding:0 .5rem;margin:0 auto;text-align:center}.landing-content h1{font-size:1.4rem;padding:0;margin:0 auto 1rem;text-align:center;word-break:break-word;width:100%}.landing-content h2{font-size:.95rem}.landing-logo{width:100px;height:100px;margin-bottom:1rem}.landing-subtitle{font-size:.9rem;padding:0 .25rem;margin-bottom:1.5rem}.api-key-section{padding:.75rem;margin-bottom:1rem;width:100%;max-width:100%;overflow:hidden}.api-key-section label{font-size:.9rem}.form-card{padding:1.25rem 1rem;border-radius:1rem;margin:0 .5rem;width:calc(100% - 1rem)}.form-card h2{font-size:1.3rem}.form-card>p{font-size:.85rem;margin-bottom:1.5rem}.form-group label{font-size:.85rem}.form-row{grid-template-columns:1fr}.btn-lg{padding:.875rem 1.25rem;font-size:.9rem}.btn{padding:.65rem 1.25rem;font-size:.9rem}.api-key-input-row{flex-direction:column;gap:.5rem}.api-key-input-row .btn{width:100%}.input{padding:.75rem 1rem;font-size:.95rem}.chart-view{padding-bottom:2rem}.chart-header{padding:.75rem!important}.chart-header h1{font-size:1.2rem!important}.chart-actions .btn{padding:.4rem .6rem;font-size:.75rem}.chart-visualization{max-width:260px;margin:.5rem auto}.headline-card{padding:1rem}.headline-card h2{font-size:1.2rem}.headline-card p{font-size:.9rem;padding:.75rem}.headline-header-img{max-height:120px!important}.insight-card,.life-card,.balance-card,.planets-card{padding:1rem}.insight-card h3,.life-card h3{font-size:1rem;margin-bottom:.75rem}.insight-card li{padding:.5rem .75rem;font-size:.85rem}.life-card p{font-size:.85rem}.big3-card{padding:1.25rem}.big3-card h3{font-size:1rem}.big3-icon{width:50px;height:50px}.big3-degree{font-size:.8rem}.big3-card .meaning,.big3-card p{font-size:.85rem}.big3-card .tip{padding:.5rem;font-size:.8rem}.planets-grid{grid-template-columns:1fr;gap:.5rem}.planet-item{padding:.5rem .75rem;font-size:.85rem}.planet-symbol{font-size:1.1rem}.balance-card h3{font-size:1rem;margin-bottom:1rem}.balance-action{padding:.5rem .75rem;font-size:.8rem}.closing-card{padding:1.5rem 1rem}.closing-text{font-size:1rem}.saved-view{padding:1rem 0}.saved-view h2{font-size:1.3rem;margin-bottom:1.5rem}.saved-card{padding:1rem}.saved-card h3{font-size:1rem}.person-card{padding:1rem}.nav-buttons{gap:.4rem}.btn-nav{padding:.5rem .75rem;font-size:.85rem}.btn-nav .icon{font-size:1rem}.auth-controls{top:.5rem!important;right:.5rem!important;gap:.25rem!important}.auth-btn{padding:.35rem .5rem!important;font-size:.75rem!important;border-radius:5px!important}.auth-btn-text{display:none}}@media(max-width:360px){html{font-size:14px}.landing-content h1{font-size:1.3rem}.landing-logo{width:80px;height:80px;margin-bottom:1rem}.landing-overlay{padding:.75rem .5rem}.form-card{padding:1rem .75rem}.chart-visualization{max-width:240px}.headline-header-img{max-height:100px!important}}@media(max-width:320px){html{font-size:13px}.landing-content h1{font-size:1.2rem}.landing-logo{width:70px;height:70px}.chart-visualization{max-width:220px}.big3-icon{width:40px;height:40px}.planets-grid{gap:.4rem}.planet-item{padding:.4rem .5rem;font-size:.8rem}}@media(max-height:500px)and (orientation:landscape){.landing-overlay{padding:.5rem;align-items:flex-start;overflow-y:auto}.landing-logo{width:60px;height:60px;margin-bottom:.5rem}.landing-content h1{font-size:1.3rem;margin-bottom:.5rem}.landing-subtitle{margin-bottom:.5rem}.api-key-section{padding:.75rem;margin-bottom:.5rem}.landing-actions{margin-top:.5rem!important}.form-view{padding:1rem 0;align-items:flex-start}.form-card{margin-top:.5rem}}@supports (padding: max(0px)){.landing-overlay,.form-view,.chart-view,.saved-view{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.chart-header{padding-top:max(.75rem,env(safe-area-inset-top))!important}}html,body{overflow-x:hidden;max-width:100vw}@media(hover:none)and (pointer:coarse){.btn,.btn-nav,.suggestions li{min-height:44px}.checkbox-label{padding:.5rem 0}.checkbox-label input[type=checkbox]{width:20px;height:20px}}
