*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e2e8f0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;background:#000}.app-header{text-align:center;padding:2rem 1rem;background:#0a0a0a;border-bottom:1px solid #1a1a1a;animation:slideDown .8s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.app-header h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite,textGlow 2s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes textGlow{0%,to{filter:drop-shadow(0 0 5px rgba(102,126,234,.5))}50%{filter:drop-shadow(0 0 15px rgba(102,126,234,.8))}}.app-header p{color:#a0aec0;margin-top:.5rem;animation:fadeInUp 1s ease-out .3s both}.app-main{max-width:1400px;margin:0 auto;padding:2rem 1rem}.error-message{background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:1rem;margin:1rem 0;color:#fca5a5;text-align:center}.metrics-container{background:#0a0a0a;border-bottom:1px solid #1a1a1a;padding:1rem 2rem;animation:slideDown .6s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.metrics-loading,.metrics-error{text-align:center;color:#cbd5e0;font-size:.875rem}.metrics-error{color:#fca5a5}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:1400px;margin:0 auto}.metric-card{display:flex;align-items:center;gap:1rem;background:#000;border:1px solid #1a1a1a;border-radius:8px;padding:1rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:fadeInScale .5s ease-out backwards}.metric-card:nth-child(1){animation-delay:.1s}.metric-card:nth-child(2){animation-delay:.2s}.metric-card:nth-child(3){animation-delay:.3s}.metric-card:nth-child(4){animation-delay:.4s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.metric-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 20px #667eea4d;border-color:#667eea}.metric-icon{font-size:2rem;line-height:1;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.metric-card:hover .metric-icon{animation:spin .6s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metric-content{flex:1}.metric-label{color:#a0aec0;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.metric-value{color:#10b981;font-size:1.5rem;font-weight:700;line-height:1;animation:countUp 1s ease-out;text-shadow:0 0 10px rgba(16,185,129,.3)}@media (max-width: 768px){.metrics-container{padding:1rem}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.metric-card{padding:.75rem}.metric-icon{font-size:1.5rem}.metric-value{font-size:1.25rem}}.exoplanet-form-container{background:#0a0a0a;border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #1a1a1a;animation:slideInLeft .6s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.exoplanet-form-container h2{color:#e2e8f0;margin-bottom:1.5rem;font-size:1.5rem;animation:fadeIn .8s ease-out}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.form-field{display:flex;flex-direction:column;animation:fadeInUp .5s ease-out backwards}.form-field:nth-child(1){animation-delay:.1s}.form-field:nth-child(2){animation-delay:.15s}.form-field:nth-child(3){animation-delay:.2s}.form-field:nth-child(4){animation-delay:.25s}.form-field:nth-child(5){animation-delay:.3s}.form-field:nth-child(6){animation-delay:.35s}.form-field:nth-child(7){animation-delay:.4s}.form-field:nth-child(8){animation-delay:.45s}.form-field:nth-child(9){animation-delay:.5s}.form-field:nth-child(10){animation-delay:.55s}.form-field:nth-child(11){animation-delay:.6s}.form-field:nth-child(12){animation-delay:.65s}.form-field:nth-child(13){animation-delay:.7s}.form-field label{color:#cbd5e0;font-size:.875rem;margin-bottom:.5rem;font-weight:500;transition:color .3s ease}.form-field:hover label{color:#667eea}.form-field input{background:#000;border:1px solid #2a2a2a;border-radius:6px;padding:.75rem;color:#e2e8f0;font-size:1rem;transition:all .3s ease}.form-field input:focus{outline:none;border-color:#667eea;background:#0a0a0a}.submit-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);background-size:200% 200%;color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;animation:fadeInUp .8s ease-out .8s backwards,buttonPulse 2s ease-in-out infinite;position:relative;overflow:hidden}@keyframes buttonPulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.submit-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.submit-btn:hover:before{width:300px;height:300px}.submit-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 10px 30px #667eea99}.submit-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;animation:none}.results-container{animation:slideInUp .8s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.results-header{margin-bottom:2rem;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.results-header h2{color:#e2e8f0;font-size:2rem;text-align:center;animation:textGlow 2s ease-in-out infinite}@keyframes textGlow{0%,to{text-shadow:0 0 10px rgba(102,126,234,.3)}50%{text-shadow:0 0 20px rgba(102,126,234,.6)}}.status-card{background:#0a0a0a;border-radius:12px;padding:2rem;margin-bottom:2rem;border:2px solid;text-align:center;animation:scaleIn .6s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.status-emoji{font-size:4rem;margin-bottom:1rem;animation:bounceIn .8s ease-out,float 3s ease-in-out infinite}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.status-card h3{font-size:1.75rem;margin-bottom:.5rem;animation:fadeInUp .8s ease-out .2s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.status-card p{color:#cbd5e0;margin-bottom:1rem;animation:fadeInUp .8s ease-out .4s backwards}.confidence-badge{display:inline-block;background:#000;border:1px solid #2a2a2a;padding:.5rem 1.5rem;border-radius:20px;color:#e2e8f0;font-size:1rem;animation:fadeInUp .8s ease-out .6s backwards,pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #10b98166}50%{transform:scale(1.05);box-shadow:0 0 0 10px #10b98100}}.confidence-badge strong{color:#10b981;margin-left:.5rem;animation:numberGlow 1.5s ease-in-out infinite}@keyframes numberGlow{0%,to{text-shadow:0 0 5px rgba(16,185,129,.5)}50%{text-shadow:0 0 15px rgba(16,185,129,.8)}}.comparison-card{background:#0a0a0a;border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid #1a1a1a;animation:slideInRight .8s ease-out;transition:transform .3s ease,box-shadow .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.comparison-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea33}.comparison-card h3{color:#e2e8f0;margin-bottom:1rem;font-size:1.5rem;animation:fadeIn .8s ease-out}.comparison-content h4{color:#667eea;font-size:1.25rem;margin-bottom:.75rem;animation:fadeInUp .6s ease-out .2s backwards}.comparison-description{color:#cbd5e0;margin-bottom:.75rem;line-height:1.6;animation:fadeInUp .6s ease-out .4s backwards}.comparison-text{color:#a0aec0;font-style:italic;line-height:1.6;animation:fadeInUp .6s ease-out .6s backwards}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.chart-card{background:#0a0a0a;border-radius:12px;padding:1.5rem;border:1px solid #1a1a1a;animation:fadeInScale .6s ease-out backwards;transition:transform .3s ease,box-shadow .3s ease}.chart-card:nth-child(1){animation-delay:.2s}.chart-card:nth-child(2){animation-delay:.4s}.chart-card:nth-child(3){animation-delay:.6s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chart-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea33}.chart-card.full-width{grid-column:1 / -1}.chart-card h3{color:#e2e8f0;margin-bottom:1rem;font-size:1.25rem;animation:fadeIn .6s ease-out}.zone-status{text-align:center;margin-top:1rem;color:#cbd5e0;font-size:1rem;animation:fadeInUp .8s ease-out .5s backwards}.zone-status strong{font-size:1.125rem;animation:textPulse 2s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:1}50%{opacity:.7}}.visualization-card{background:#0a0a0a;border-radius:12px;padding:2rem;border:1px solid #1a1a1a}.visualization-card h3{color:#e2e8f0;margin-bottom:1.5rem;font-size:1.5rem;text-align:center}.plot-container{display:flex;justify-content:center;align-items:center;background:#000;border:1px solid #1a1a1a;border-radius:8px;padding:1rem}.plot-image{max-width:100%;height:auto;border-radius:8px}@media (max-width: 768px){.charts-grid{grid-template-columns:1fr}.status-emoji{font-size:3rem}.status-card h3{font-size:1.5rem}}.planet-visualization{padding:2rem 1rem}.star-planet-system{position:relative;height:300px;display:flex;align-items:center;margin-bottom:2rem}.star{position:absolute;left:10%;width:100px;height:100px;border-radius:50%;box-shadow:0 0 40px #ffd700cc,0 0 80px #ffd70066;display:flex;align-items:center;justify-content:center;animation:starPulse 3s ease-in-out infinite;z-index:2}.star-glow{position:absolute;width:120%;height:120%;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.3),transparent);animation:glowPulse 2s ease-in-out infinite}.star-label{position:absolute;bottom:-30px;font-size:.875rem;color:#cbd5e0;white-space:nowrap;z-index:3}@keyframes starPulse{0%,to{transform:scale(1);box-shadow:0 0 40px #ffd700cc,0 0 80px #ffd70066}50%{transform:scale(1.05);box-shadow:0 0 50px gold,0 0 100px #ffd70099}}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.orbital-path{position:absolute;left:10%;width:80%;height:2px;background:linear-gradient(90deg,#667eea4d,#667eea99,#667eea4d);top:50%;transform:translateY(-50%);z-index:1}.orbital-path:before{content:"";position:absolute;left:0;right:0;height:1px;background:#ffffff1a;top:50%;animation:orbitFlow 3s linear infinite}@keyframes orbitFlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.exoplanet{position:absolute;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 0 20px #667eea99,inset -10px -10px 30px #0000004d,inset 10px 10px 30px #ffffff1a;display:flex;align-items:center;justify-content:center;animation:planetFloat 4s ease-in-out infinite;z-index:2;transition:all .3s ease}.planet-surface{position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.2),transparent 50%)}.planet-atmosphere{position:absolute;width:110%;height:110%;border-radius:50%;background:radial-gradient(circle,rgba(102,126,234,.2),transparent 70%);animation:atmosphereGlow 3s ease-in-out infinite}@keyframes atmosphereGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.planet-label{position:absolute;bottom:-35px;font-size:.875rem;color:#cbd5e0;white-space:nowrap;z-index:3}@keyframes planetFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.planet-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:1.5rem;background:#000;border:1px solid #1a1a1a;border-radius:8px}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{color:#a0aec0;font-size:.875rem;font-weight:500;animation:fadeIn .6s ease-out}.info-value{color:#667eea;font-size:1.25rem;font-weight:700;animation:countUp 1s ease-out,valueGlow 2s ease-in-out infinite}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes valueGlow{0%,to{text-shadow:0 0 5px rgba(102,126,234,.3)}50%{text-shadow:0 0 15px rgba(102,126,234,.6)}}@media (max-width: 768px){.star-planet-system{height:250px}.star{width:70px;height:70px}.exoplanet{width:50px!important;height:50px!important}.star-label,.planet-label{font-size:.75rem}.planet-info{grid-template-columns:1fr}}
