:root{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #f8fafc;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #718096;--border-color: #e2e8f0;--shadow-color: rgba(0, 0, 0, .1);--accent-color: #667eea;--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--input-bg: #ffffff;--input-border: #d1d5db;--input-focus: #667eea;--popup-bg: rgba(0, 0, 0, .7)}@media (prefers-color-scheme: dark){:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #475569;--shadow-color: rgba(0, 0, 0, .3);--accent-color: #53598f;--accent-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--success-color: #34d399;--warning-color: #fbbf24;--error-color: #f87171;--input-bg: #1e293b;--input-border: #475569;--input-focus: #818cf8;--popup-bg: rgba(0, 0, 0, .7)}}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #475569;--shadow-color: rgba(0, 0, 0, .3);--accent-color: #53598f;--accent-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--success-color: #34d399;--warning-color: #fbbf24;--error-color: #f87171;--input-bg: #1e293b;--input-border: #475569;--input-focus: #818cf8;--popup-bg: rgba(0, 0, 0, .7)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease}.container{margin:0;padding:0;width:100vw;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.content-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}header{background:var(--accent-color);color:#fff;padding:.75rem 1rem;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.header-content-outer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-content{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.title-section{display:flex;align-items:baseline;gap:1rem}header h1{font-size:1.5rem;margin:0;font-weight:500}.station{font-size:1rem;font-weight:300;opacity:.9}.current-conditions-compact{display:flex;gap:1.5rem;align-items:baseline}.condition-compact{display:flex;align-items:baseline;gap:.25rem;text-align:center}.condition-compact .value{font-size:1.1rem;font-weight:700;line-height:1;white-space:nowrap}.condition-compact .label{font-size:.7rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.connection-indicator{width:12px;height:12px;border-radius:50%;background-color:#ffffff4d;transition:all .3s ease;cursor:pointer;flex-shrink:0}.connection-indicator.connecting{background-color:var(--accent-color);animation:pulse 2s infinite}.connection-indicator.connected{background-color:var(--success-color)}.connection-indicator.disconnected{background-color:var(--error-color)}.connection-indicator.error{background-color:var(--warning-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.charts-container{flex:1;display:flex;flex-direction:column;min-height:0}.chart-section{background:var(--bg-secondary);padding:1rem;flex:1;display:flex;flex-direction:column;min-height:0;position:relative;border-bottom:1px solid var(--border-color)}.chart-section h3{margin:0 0 .5rem;color:var(--text-secondary);font-weight:500;font-size:1rem;flex-shrink:0}.chart-section canvas{flex:1;min-height:0;-webkit-user-select:none;user-select:none;width:100%;height:100%}.chart-section canvas:hover{cursor:crosshair}.loading-indicator{position:absolute;top:5%;left:10%;right:10%;bottom:15%;display:flex;flex-direction:column;align-items:center;justify-content:normal;z-index:10;pointer-events:auto}.loading-indicator.fade-out{opacity:.05;transition:opacity 2s ease-out;pointer-events:none}.loading-logo{max-width:100%;max-height:100%;width:auto;height:auto;margin-bottom:1rem;opacity:1;object-fit:contain}.loading-indicator p{font-size:1rem;font-weight:500}.controls-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--bg-secondary);padding:.75rem;border-top:1px solid var(--border-color);flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.controls{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}a.btn{text-decoration:none;text-align:center}select{padding:.75rem 1rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .3s ease,border-color .3s ease,color .3s ease}select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #667eea1a}.date-navigation{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.prev-next-nav{flex-grow:1;display:flex;flex-direction:row;align-items:center;gap:1rem}input[type=date]{padding:.75rem 1rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .3s ease,border-color .3s ease,color .3s ease}input[type=date]:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #667eea1a}.orientation-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--popup-bg);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.orientation-popup-content{background:var(--bg-secondary);border-radius:12px;padding:2rem;text-align:center;max-width:320px;box-shadow:0 10px 25px var(--shadow-color);border:1px solid var(--border-color)}.orientation-popup h3{margin:0 0 1rem;color:var(--text-secondary);font-size:1.2rem;font-weight:600}.orientation-popup p{margin:0 0 1.5rem;color:var(--text-muted);line-height:1.5}.orientation-popup .rotate-icon{font-size:2rem;margin:0 0 1rem;color:var(--accent-color)}.orientation-popup .btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.orientation-popup .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.orientation-popup.hidden{display:none}.memorial-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--popup-bg);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.memorial-popup-content{background:var(--bg-secondary);border-radius:12px;padding:1rem;text-align:center;max-width:90vw;max-height:90vh;width:100%;box-shadow:0 10px 25px var(--shadow-color);border:1px solid var(--border-color);overflow-y:auto}.memorial-popup h3{color:var(--text-secondary);font-size:1.2rem;font-weight:600}.memorial-popup .ghostrider-image{display:block;margin:0 auto 1rem}.memorial-image{width:100%;height:auto;max-height:60vh;object-fit:cover;border-radius:8px;border:2px solid var(--border-color);display:block;transition:opacity .3s ease}.memorial-image.loading{opacity:.7;filter:blur(2px)}.memorial-image.error{opacity:.5;border-color:var(--error-color)}.memorial-popup .memorial-controls{display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;padding:.75rem 0 0;gap:1rem}.memorial-popup .btn{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.memorial-popup .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.memorial-popup.hidden{display:none}@media (orientation: landscape) and (max-height: 512px){.memorial-popup-content{display:flex;align-items:center;gap:2rem;padding:1rem}.memorial-popup .ghostrider-image{flex:5;margin:0}.memorial-image{max-height:80vh}.memorial-popup .memorial-controls{flex:1;flex-direction:column}.memorial-popup-content h3,.memorial-popup-content .btn{text-align:center}.memorial-popup-content h3{margin-bottom:1.5rem}}@media (max-width: 480px){header h1{font-size:1.2rem}.station{font-size:.9rem}.header-content{flex-direction:column;gap:.5rem;align-items:flex-start}.current-conditions-compact{gap:1rem}.condition-compact .value{font-size:.9rem;white-space:nowrap}.condition-compact .label{font-size:.6rem}.controls-container{flex-direction:column;gap:.5rem;padding:.5rem}.container{height:unset}.chart-section{min-height:75vh;padding:.5rem}.controls{position:relative;flex-direction:column}}@media (max-width: 320px){.current-conditions-compact{flex-wrap:wrap;flex-direction:row;align-items:flex-start}}@media (orientation: landscape) and (max-height: 900px){.content-wrapper{flex-direction:row}.charts-container{flex:4;min-width:0;min-height:100vh}.chart-section{min-height:75vh;padding:.5rem}.controls-container{flex:1;flex-direction:column;align-items:stretch;border-top:none;border-left:1px solid var(--border-color);padding:1rem}.controls{justify-content:flex-start;align-items:stretch}.controls-container .btn,select,input[type=date]{width:100%;margin-bottom:.5rem}.date-navigation{flex-direction:inherit;align-items:stretch}}@media (orientation: landscape) and (max-width: 680px){.charts-container{flex:3}}
