:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #38bdf8;--accent-glow: rgba(56, 189, 248, .2);--sun-color: #fbbf24}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center}#root{width:100%;max-width:800px;padding:2rem}.app-container{display:flex;flex-direction:column;gap:2rem}header{text-align:center}header h1{font-size:2.5rem;background:linear-gradient(to right,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}header p{color:var(--text-secondary)}.solar-calculator{display:flex;flex-direction:column;gap:2rem}.controls{display:flex;flex-wrap:wrap;gap:1rem;background:var(--card-bg);padding:1.5rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a}.input-group{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.input-group label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);font-weight:500}input{background:#334155;border:1px solid #475569;color:#fff;padding:.75rem;border-radius:.5rem;font-size:1rem}.lat-long-inputs{display:flex;gap:.5rem}.lat-long-inputs input{width:50%}button{background:var(--accent);color:#0f172a;border:none;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}button:hover{filter:brightness(1.1);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.result-card{background:var(--card-bg);padding:1.5rem;border-radius:1rem;border:1px solid #334155;display:flex;flex-direction:column;gap:.5rem}.result-card h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);margin:0}.result-card .time{font-size:2rem;font-weight:700;color:var(--text-primary)}.result-card.current .time{color:var(--sun-color)}.result-card.comparison .time{color:var(--accent)}.details{display:flex;flex-direction:column;font-size:.875rem;color:var(--text-secondary);gap:.25rem}.viz-container{background:var(--card-bg);padding:1rem;border-radius:1rem;height:350px;border:1px solid #334155}
