:root{--hue: 220;--bg-color: hsl(var(--hue), 20%, 10%);--card-bg: hsla(var(--hue), 20%, 20%, .6);--text-primary: hsl(var(--hue), 10%, 95%);--text-secondary: hsl(var(--hue), 10%, 70%);--accent-color: hsl(190, 80%, 60%);--danger-color: hsl(0, 80%, 60%);--success-color: hsl(140, 60%, 50%);--glass-border: 1px solid hsla(0, 0%, 100%, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-main: "Outfit", sans-serif}body{margin:0;font-family:var(--font-main);background:radial-gradient(circle at top left,hsl(220,30%,20%),var(--bg-color));color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;padding:1rem;box-sizing:border-box;overflow-x:hidden}.app-wrapper{max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);padding:1rem 1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:var(--glass-border);margin-bottom:1.5rem}.station-info h1{margin:0;font-size:1.5rem;letter-spacing:.5px}.header-meta{display:flex;gap:1.5rem;font-size:.9rem;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.history-layout{display:flex;flex-direction:column;gap:1.5rem}.summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.summary-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:var(--glass-border);border-radius:12px;padding:1rem;text-align:center;transition:transform .2s;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100px}.summary-card:hover{transform:translateY(-2px);background:hsla(var(--hue),20%,25%,.8)}.summary-card.active{border-color:var(--accent-color);background:#0a4e5c66}.summary-date{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase}.summary-temp{font-size:1.5rem;font-weight:700}.summary-icon{font-size:1.5rem;margin-bottom:4px;color:var(--accent-color)}.chart-container{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:var(--glass-border);border-radius:16px;padding:1.5rem;height:400px;position:relative;box-shadow:var(--glass-shadow)}.widget{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:var(--glass-border);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;position:relative;box-shadow:var(--glass-shadow)}.widget-title{font-size:.85rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary);margin-bottom:1rem;display:flex;justify-content:space-between}.temp-primary{display:flex;justify-content:space-between;align-items:center}.temp-large{font-size:4.5rem;font-weight:700;line-height:1}.temp-meta{display:flex;flex-direction:column;gap:.5rem;text-align:right}.meta-box{background:#ffffff0d;padding:.5rem .8rem;border-radius:8px;font-size:.85rem}.meta-box .label{display:block;font-size:.7rem;opacity:.6;margin-bottom:2px}.wind-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}.compass-container{width:120px;height:120px;border:3px solid rgba(255,255,255,.1);border-radius:50%;margin:0 auto;position:relative;display:flex;justify-content:center;align-items:center}.compass-arrow{width:4px;height:90px;background:linear-gradient(to top,transparent 50%,var(--accent-color) 50%);position:absolute;transform-origin:center;transition:transform 1s ease-out}.direction-text{position:absolute;font-weight:700;font-size:1.5rem}.wind-stats{display:flex;flex-direction:column;gap:1rem}.wind-stat-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.gauge-box{text-align:center}.gauge-val{font-size:1.8rem;font-weight:600}.gauge-unit{font-size:.9rem;opacity:.7}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric-item{background:#ffffff08;padding:1rem;border-radius:12px;text-align:center}.metric-val{font-size:1.8rem;font-weight:600;display:block;margin-bottom:.2rem}.metric-label{font-size:.8rem;opacity:.6}
