@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0b0f19;--panel-bg:#161c2d99;--panel-border:#ffffff14;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--accent-secondary:#8b5cf6;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--status-good:#10b981;--status-warning:#f59e0b;--status-danger:#ef4444;--glass-shadow:0 8px 32px 0 #0000005e;--glass-blur:blur(16px);--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15%,#3b82f626,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf626,#0000 25%);background-attachment:fixed;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--panel-border);box-shadow:var(--glass-shadow);border-radius:20px}.glass-panel:hover{border-color:#ffffff26;box-shadow:0 12px 40px #00000073}.app-wrapper{min-height:100vh}.global-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#0b0f19cc;border-bottom:1px solid #ffffff0d;justify-content:center;gap:1rem;padding:1.5rem;display:flex;position:sticky;top:0}.nav-btn{color:#94a3b8;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s;display:flex}.nav-btn:hover{color:#fff;background:#ffffff1a}.nav-btn.active{color:#fff;background:linear-gradient(135deg,#4facfe33,#00f2fe1a);border-color:#4facfe80;box-shadow:0 0 20px #4facfe33}.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem}.header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;animation:.6s ease-out fadeInDown;display:flex}.title-group h1{background:linear-gradient(to right, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.25rem;font-size:2.5rem;font-weight:700}.title-group p{color:var(--text-secondary);font-weight:400}.controls-bar{flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;animation:.8s ease-out fadeIn;display:flex}.control-group{flex-direction:column;flex:1;gap:.5rem;min-width:200px;display:flex}.control-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.glass-input{border:1px solid var(--panel-border);color:var(--text-primary);transition:var(--transition);background:#0f172a99;border-radius:12px;outline:none;padding:.75rem 1rem;font-family:Outfit,sans-serif;font-size:1rem}.glass-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633}.glass-input option{background:var(--bg-color);color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;height:46px;margin-top:auto;padding:.75rem 1.5rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.table-container{animation:.8s ease-out fadeInUp;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.data-table th,.data-table td{padding:1.25rem 1.5rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#161c2df2;font-size:.875rem;font-weight:500;position:sticky;top:0}.data-table td{transition:var(--transition);border-bottom:1px solid #ffffff0a;font-size:.95rem}.data-table tr{transition:var(--transition)}.data-table tbody tr:hover td{background:#ffffff08}.data-table tbody tr:last-child td{border-bottom:none}.station-badge{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.data-cell{color:#a78bfa;word-break:break-all;background:#0f172a80;border-radius:8px;padding:.5rem .75rem;font-family:JetBrains Mono,Fira Code,monospace;display:block}.loading-state,.empty-state,.error-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s ease-in-out infinite spin}.error-icon{color:var(--status-danger);margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (width<=768px){.controls-bar{flex-direction:column}.control-group{width:100%}}.weather-dashboard{color:#fff;max-width:1000px;margin:0 auto;padding:2rem;font-family:Inter,sans-serif}.weather-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.weather-header h1{background:linear-gradient(90deg,#00f2fe 0%,#4facfe 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2rem}.location-controls{align-items:center;gap:1rem;display:flex}.geo-btn{color:#fff;cursor:pointer;background:#4facfe33;border:1px solid #4facfe80;border-radius:50px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:500;transition:all .2s;display:flex}.geo-btn:hover:not(:disabled){background:#4facfe66}.geo-btn:disabled{opacity:.5;cursor:not-allowed}.location-selector{border-radius:50px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.location-selector select{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;font-size:1rem;font-weight:600}.location-selector select option{color:#fff;background:#1e293b}.loc-icon{color:#4facfe}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.slide-down{animation:.6s ease-out forwards slideDown}.slide-up-delay-1{opacity:0;animation:.6s ease-out .2s forwards slideUp}.slide-up-delay-2{opacity:0;animation:.6s ease-out .4s forwards slideUp}.zoom-in{animation:.6s ease-out forwards zoomIn}.fade-in{animation:.6s ease-out forwards fadeIn}.weather-loading{text-align:center;color:#4facfe;margin-top:4rem;font-size:1.5rem}.loader-pulse{animation:1s infinite alternate fadeIn}.current-weather{background:linear-gradient(135deg,#4facfe1a 0%,#00f2fe0d 100%);border:1px solid #4facfe33;border-radius:24px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:3rem;display:flex}.current-main{align-items:center;gap:2rem;display:flex}.icon-wrapper{background:#ffffff1a;border-radius:50%;padding:1.5rem;box-shadow:0 0 30px #00f2fe33}.current-temp-block{flex-direction:column;display:flex}.current-temp{background:linear-gradient(#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:5rem;font-weight:800;line-height:1}.current-desc{color:#94a3b8;text-transform:capitalize;align-items:center;gap:1rem;font-size:1.5rem;font-weight:500;display:flex}.source-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;margin-top:.5rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.source-obs{color:#fbc2eb;background:#fbc2eb33;border:1px solid #fbc2eb4d}.source-api{color:#60a5fa;background:#60a5fa33;border:1px solid #60a5fa4d}.current-details{flex-direction:column;gap:1rem;display:flex}.detail-item{color:#cbd5e1;background:#0003;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:1.1rem;display:flex}.detail-icon{color:#4facfe}.section-title{color:#e2e8f0;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.hourly-scroll{scrollbar-width:thin;scrollbar-color:#4facfe80 transparent;border-radius:20px;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex;overflow-x:auto}.hourly-scroll::-webkit-scrollbar{height:6px}.hourly-scroll::-webkit-scrollbar-thumb{background:#4facfe80;border-radius:10px}.hourly-item{background:#ffffff08;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;min-width:80px;padding:1rem;transition:transform .3s,background .3s;display:flex}.hourly-item:hover{background:#ffffff14;transform:translateY(-5px)}.hourly-time{color:#94a3b8;font-size:.9rem}.hourly-temp{font-size:1.25rem;font-weight:700}.hourly-rain{color:#60a5fa;align-items:center;gap:2px;font-size:.8rem;display:flex}.daily-list{flex-direction:column;gap:.75rem;display:flex}.daily-container{flex-direction:column;display:flex}.daily-item{cursor:pointer;z-index:2;border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 2rem;transition:transform .2s,background .2s;display:flex}.daily-item:hover{background:#ffffff14;transform:translate(5px)}.daily-container.expanded .daily-item{background:#ffffff14;border-bottom-right-radius:0;border-bottom-left-radius:0}.expand-icon{margin-left:.5rem;transition:transform .3s}.expand-icon.rotate{transform:rotate(180deg)}.daily-details-panel{background:#0003;border-top:1px solid #ffffff0d;border-top-left-radius:0;border-top-right-radius:0;margin-top:-10px;padding:25px 2rem 1.5rem}@keyframes slideDownFast{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.slide-down-fast{animation:.3s forwards slideDownFast}.detail-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.grid-item{color:#cbd5e1;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.detail-icon-accent{color:#fbc2eb}.daily-day{flex:1;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:500;display:flex}.day-icon{color:#a5b4fc}.daily-condition{flex:1.5;align-items:center;gap:1rem;display:flex}.daily-icon-small svg{width:24px;height:24px}.daily-desc{color:#cbd5e1;font-size:.95rem}.daily-temps{flex:2;justify-content:center;align-items:center;gap:1rem;display:flex}.temp-min,.temp-max{text-align:right;width:40px;font-weight:600}.temp-min{color:#94a3b8}.temp-max{color:#fff;text-align:left}.temp-bar-wrapper{background:#ffffff1a;border-radius:10px;flex:1;max-width:150px;height:6px;position:relative;overflow:hidden}.temp-bar{background:linear-gradient(90deg,#4facfe,#fbc2eb);border-radius:10px;position:absolute;top:0;bottom:0}.daily-rain{color:#60a5fa;flex:.5;justify-content:flex-end;align-items:center;gap:.5rem;font-weight:500;display:flex}.rain-icon{color:#60a5fa}.sun{color:#fbbf24}.rain{color:#60a5fa}.snow{color:#e2e8f0}.storm{color:#c084fc}.cloud{color:#cbd5e1}
