:root{--body-bg:#f1f5f9;--card-bg:#fff;--text-1:#0f172a;--text-2:#1e293b;--text-3:#94a3b8;--text-4:#64748b;--border:#e2e8f0;--border-light:#f1f5f9;--accent:#3b82f6;--accent-hover:#2563eb;--accent-active:#1d4ed8;--spot-bg:#fff;--spot-active-bg:#3b82f6;--spot-active-border:#3b82f6;--spot-active-color:#fff;--input-bg:#fff;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif;--font-display:inherit;--radius-card:18px;--radius-btn:10px;--radius-pill:20px;--shadow-card:0 1px 6px #0000000f;--shadow-day:0 1px 3px #0000000d;--extra-overlay:none}body.theme-dark{--body-bg:#0a0f1e;--card-bg:#1a2236;--text-1:#e2e8f0;--text-2:#cbd5e1;--text-3:#64748b;--text-4:#94a3b8;--border:#2d3f5e;--border-light:#1e2d44;--accent:#60a5fa;--accent-hover:#3b82f6;--accent-active:#2563eb;--spot-bg:#1a2236;--spot-active-bg:#60a5fa;--spot-active-border:#60a5fa;--spot-active-color:#0a0f1e;--input-bg:#1a2236;background:linear-gradient(135deg,#0a0f1e 0%,#1a2a3a 50%,#0f1a2a 100%)}body.theme-8bit{--body-bg:#1a2e1a;--card-bg:#0d1f0d;--text-1:#00ff41;--text-2:#00e03a;--text-3:#008f25;--text-4:#006b1c;--border:#00801e;--border-light:#003d0e;--accent:#00ff41;--accent-hover:#00e03a;--accent-active:#00c032;--spot-bg:#0d1f0d;--spot-active-bg:#00ff41;--spot-active-border:#00ff41;--spot-active-color:#0d1f0d;--input-bg:#0d1f0d;--font-body:"Press Start 2P", monospace;--font-display:"Press Start 2P", monospace;--radius-card:0px;--radius-btn:0px;--radius-pill:0px;--shadow-card:4px 4px 0 #00ff41;--shadow-day:2px 2px 0 #00ff41;--extra-overlay:repeating-linear-gradient(0deg, transparent, transparent 2px, #00000026 2px, #00000026 4px)}body.theme-lofi{--body-bg:#f5efe6;--card-bg:#fdfaf6;--text-1:#4a3728;--text-2:#5c4533;--text-3:#a89080;--text-4:#8a7060;--border:#e8d8c8;--border-light:#f0e8dc;--accent:#c17858;--accent-hover:#a86248;--accent-active:#8f4e35;--spot-bg:#fdfaf6;--spot-active-bg:#c17858;--spot-active-border:#c17858;--spot-active-color:#fdfaf6;--input-bg:#fdfaf6;--font-body:"Caveat", cursive;--font-display:"Caveat", cursive;--radius-card:24px;--radius-btn:16px;--radius-pill:30px;--shadow-card:0 4px 20px #c178581f;--shadow-day:0 2px 8px #c1785814}body.theme-futuristic{--body-bg:#060818;--card-bg:#0c1226;--text-1:#00e5ff;--text-2:#80d8ff;--text-3:#07a;--text-4:#005580;--border:#0a3d5e;--border-light:#071a30;--accent:#00e5ff;--accent-hover:#00b8d4;--accent-active:#0091b5;--spot-bg:#0c1226;--spot-active-bg:#00e5ff;--spot-active-border:#00e5ff;--spot-active-color:#060818;--input-bg:#0c1226;--font-body:"Share Tech Mono", monospace;--font-display:"Share Tech Mono", monospace;--radius-card:4px;--radius-btn:2px;--radius-pill:2px;--shadow-card:0 0 16px #00e5ff26, inset 0 0 0 1px #00e5ff33;--shadow-day:0 0 8px #00e5ff1a}body.theme-simpsons{--body-bg:#87ceeb;--card-bg:#ffd90f;--text-1:#2a2a2a;--text-2:#333;--text-3:#666;--text-4:#888;--border:#222;--border-light:#444;--accent:#1e90ff;--accent-hover:#1278d0;--accent-active:#0d60aa;--spot-bg:#ffd90f;--spot-active-bg:#1e90ff;--spot-active-border:#222;--spot-active-color:#fff;--input-bg:#fff;--font-body:"Bangers", cursive;--font-display:"Bangers", cursive;--radius-card:12px;--radius-btn:8px;--radius-pill:24px;--shadow-card:3px 3px 0 #222;--shadow-day:2px 2px 0 #222}body.theme-familyguy{--body-bg:#d6e8f5;--card-bg:#fff;--text-1:#1a1a2e;--text-2:#2a2a3e;--text-3:#8888a0;--text-4:#668;--border:#c0001a;--border-light:#ffe0e0;--accent:#c0001a;--accent-hover:#9a0015;--accent-active:#780010;--spot-bg:#fff;--spot-active-bg:#c0001a;--spot-active-border:#c0001a;--spot-active-color:#fff;--input-bg:#fff;--font-body:"Bangers", cursive;--font-display:"Bangers", cursive;--radius-card:14px;--radius-btn:8px;--radius-pill:24px;--shadow-card:4px 4px 0 #c0001a;--shadow-day:2px 2px 0 #c0001a}body.theme-swl{--body-bg:#e6f4f8;--card-bg:#fff;--text-1:#0a3060;--text-2:#1a4880;--text-3:#7a9ec0;--text-4:#5a82a8;--border:#b0d4e8;--border-light:#d8eef8;--accent:#e87722;--accent-hover:#d06010;--accent-active:#b85000;--spot-bg:#fff;--spot-active-bg:#e87722;--spot-active-border:#e87722;--spot-active-color:#fff;--input-bg:#fff;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif;--radius-card:20px;--radius-btn:12px;--radius-pill:24px;--shadow-card:0 4px 24px #0e50a01a;--shadow-day:0 2px 8px #0e50a014}*{box-sizing:border-box;margin:0;padding:0}.icon{vertical-align:-.15em;pointer-events:none;flex-shrink:0;display:inline-block}body{font-family:var(--font-body);color:var(--text-2);background:linear-gradient(135deg,#0a1a2e 0%,#1b3a52 50%,#0f2a3f 100%);min-height:100vh;padding:20px 12px;transition:background .3s,color .3s;position:relative}body.theme-8bit:after{content:"";pointer-events:none;background:var(--extra-overlay);z-index:9999;position:fixed;inset:0}body.theme-futuristic:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#00e5ff08 1px,#0000 1px),linear-gradient(90deg,#00e5ff08 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}.wave-bg{z-index:0;pointer-events:none;background:var(--body-bg);width:100%;height:100vh;transition:background .3s;position:fixed;top:0;left:0;overflow:hidden}.wave{border-radius:50% 50% 0 0/30px 30px 0 0;width:200%;animation:linear infinite wave;position:absolute;bottom:0;left:0}@keyframes wave{0%{transform:translate(0)scaleY(1)}50%{transform:translate(-25%)scaleY(1.1)}to{transform:translate(-50%)scaleY(1)}}.wave-bg .wave.w1{opacity:.6;background:#1565c0;height:120px;animation-duration:6s}.wave-bg .wave.w2{opacity:.4;background:#0d47a1;height:100px;animation-duration:8s;animation-direction:reverse}.wave-bg .wave.w3{opacity:.3;background:#0a3d91;height:80px;animation-duration:10s}body.theme-dark .wave-bg .wave.w1{opacity:.6;background:#1a1a4e;height:120px;animation-duration:6s;box-shadow:0 -2px #ffffff2e}body.theme-dark .wave-bg .wave.w2{opacity:.4;background:#0d0d2b;height:100px;animation-duration:8s;animation-direction:reverse;box-shadow:0 -1px #ffffff1a}body.theme-dark .wave-bg .wave.w3{opacity:.3;background:#08082a;height:80px;animation-duration:10s}body.theme-8bit .wave-bg{background:#000}body.theme-8bit .wave-bg .wave{border-radius:0;animation-timing-function:steps(6,end)}body.theme-8bit .wave-bg .wave.w1{opacity:1;background:#00ff41;height:80px;animation-duration:4s}body.theme-8bit .wave-bg .wave.w2{opacity:1;background:#0c3;height:60px;animation-duration:3s;animation-direction:reverse}body.theme-8bit .wave-bg .wave.w3{opacity:1;background:#009926;height:40px;animation-duration:5s}body.theme-lofi .wave-bg .wave.w1{opacity:.5;background:#c9b8e8;border-radius:50% 50% 0 0/20px 20px 0 0;height:100px;animation-duration:20s}body.theme-lofi .wave-bg .wave.w2{opacity:.35;background:#f4c2a1;border-radius:50% 50% 0 0/20px 20px 0 0;height:80px;animation-duration:24s;animation-direction:reverse}body.theme-lofi .wave-bg .wave.w3{opacity:.25;background:#d4aee0;border-radius:50% 50% 0 0/20px 20px 0 0;height:60px;animation-duration:28s}body.theme-futuristic .wave-bg .wave{background:0 0;border-radius:0}body.theme-futuristic .wave-bg .wave.w1{opacity:1;background:#0ffc;height:4px;animation-duration:3s;bottom:80px;box-shadow:0 0 15px #0ff,0 0 30px #0ff6}body.theme-futuristic .wave-bg .wave.w2{opacity:1;background:#0ff9;height:3px;animation-duration:3.5s;animation-direction:reverse;bottom:50px;box-shadow:0 0 15px #0ff,0 0 25px #00ffff4d}body.theme-futuristic .wave-bg .wave.w3{opacity:1;background:#0ff6;height:2px;animation-duration:2.5s;bottom:20px;box-shadow:0 0 10px #0ff,0 0 20px #00ffff40}body.theme-simpsons .wave-bg .wave{border-top:3px solid #fff;animation-timing-function:ease-in-out}body.theme-simpsons .wave-bg .wave.w1{opacity:1;background:#4fc3f7;height:130px;animation-duration:5s}body.theme-simpsons .wave-bg .wave.w2{opacity:.75;background:#29b6f6;height:110px;animation-duration:7s;animation-direction:reverse}body.theme-simpsons .wave-bg .wave.w3{opacity:.55;background:#0288d1;height:90px;animation-duration:9s}body.theme-familyguy .wave-bg .wave.w1{opacity:.85;background:#1565c0;height:120px;animation-duration:5s}body.theme-familyguy .wave-bg .wave.w2{opacity:.65;background:#1a237e;height:100px;animation-duration:6.5s;animation-direction:reverse}body.theme-familyguy .wave-bg .wave.w3{opacity:.5;background:#7b1c2e;height:80px;animation-duration:4s}body.theme-swl .wave-bg{background:linear-gradient(#0000 60%,#ff8c00 100%)}body.theme-swl .wave-bg .wave.w1{opacity:.9;background:#1565c0;height:130px;animation-duration:12s;box-shadow:0 -3px #ff8c00}body.theme-swl .wave-bg .wave.w2{opacity:.65;background:#0d47a1;height:110px;animation-duration:15s;animation-direction:reverse}body.theme-swl .wave-bg .wave.w3{opacity:.45;background:#0a3d91;height:90px;animation-duration:18s}.widget{z-index:1;grid-template-columns:1fr;gap:0;min-height:100vh;display:grid;position:relative}#app{display:contents}@media (width>=1024px){.widget{grid-template-columns:340px 1fr;gap:0}}.hamburger-btn{z-index:1001;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#00000073;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;transition:background .2s;display:flex;position:fixed;top:14px;left:14px}.hamburger-btn:hover{background:#ffffff26}.sidebar-backdrop{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.sidebar-backdrop.open{display:block}.sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border-right:1px solid #ffffff1a;flex-direction:column;gap:16px;padding:24px 16px;display:flex;overflow-y:auto}@media (width>=1024px){.sidebar{height:100vh;padding-top:64px;position:sticky;top:0}}@media (width<=1023px){.sidebar{background:#00000026;border-top:1px solid #ffffff1a;border-right:none;order:2;width:100%;height:auto;padding-top:20px;padding-bottom:20px;transition:none;display:flex;position:static;transform:none}.main-content{order:1}.hamburger-btn{display:none}.sidebar-backdrop{display:none!important}}.sidebar-section{flex-direction:column;gap:12px;display:flex}.sidebar-title{text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;font-size:.85rem;font-weight:700}.main-content{min-width:0;padding:20px 12px}@media (width>=1024px){.main-content{height:100vh;padding:32px 24px;overflow-y:auto}}@media (width<=1023px){.main-content .wave-viz{height:300px!important}}@media (width<=460px){.main-content .wave-viz{height:240px!important}}#controls-mount{z-index:2;position:relative}@media (width>=1024px){#controls-mount{display:none}}.controls-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ctrl-group{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);align-items:center;gap:4px;padding:4px 8px;display:flex}.ctrl-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);white-space:nowrap;font-size:.58rem;font-weight:700}.ctrl-btn{min-height:28px;color:var(--text-4);font-size:.72rem;font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 9px;font-weight:500;transition:all .15s}.ctrl-btn:hover{background:var(--border-light);color:var(--text-2)}.ctrl-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.theme-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:#fff;opacity:.75;border-radius:999px;padding:2px 8px;font-size:.58rem;font-weight:700;display:inline-block}.header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.header h1{color:var(--text-1);letter-spacing:-.02em;font-size:1.15rem;font-weight:700;font-family:var(--font-display)}body.theme-8bit .header h1{font-size:.75rem;line-height:1.6}body.theme-simpsons .header h1,body.theme-familyguy .header h1{letter-spacing:.02em;font-size:1.6rem}.location-badge{color:var(--text-4);margin-top:3px;font-size:.75rem}body.theme-8bit .location-badge{font-size:.5rem}.search-row{gap:8px;margin-bottom:14px;display:flex}.search-input{border:1.5px solid var(--border);border-radius:var(--radius-btn);background:var(--input-bg);min-height:44px;color:var(--text-2);font-size:16px;font-family:var(--font-body);outline:none;flex:1;padding:9px 14px;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-wrap{width:100%;position:relative}.search-suggestions{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius-btn);z-index:1000;scrollbar-width:thin;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.search-suggestions:empty{display:none}.search-suggestion-item{cursor:pointer;border-bottom:1px solid var(--border-light);flex-direction:column;padding:10px 14px;transition:background .1s;display:flex}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-item:hover,.search-suggestion-item.active{background:var(--accent);color:#fff}.search-suggestion-item:hover .sug-meta,.search-suggestion-item.active .sug-meta{color:#ffffffbf}.sug-name{color:var(--text-1);font-size:.95rem;font-weight:600}.search-suggestion-item:hover .sug-name,.search-suggestion-item.active .sug-name{color:#fff}.sug-meta{color:var(--text-4);margin-top:1px;font-size:.78rem}.sug-secret{margin-left:4px;font-size:.75rem}.search-btn{background:var(--accent);color:#fff;border-radius:var(--radius-btn);cursor:pointer;min-height:44px;font-size:.9rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;border:none;padding:9px 18px;transition:background .15s}.search-btn:hover{background:var(--accent-hover)}.search-btn:active{background:var(--accent-active)}.spots-container{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:7px;margin-bottom:14px;padding-bottom:10px;display:flex;overflow-x:auto}.spots-container::-webkit-scrollbar{display:none}.mobile-spots{display:none}@media (width<=1023px){.mobile-spots{margin-bottom:16px;display:block}}.spot-btn{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--spot-bg);min-height:44px;color:var(--text-4);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-body);white-space:nowrap;flex-shrink:0;padding:6px 14px;transition:all .15s}.spot-btn:hover{border-color:var(--accent);color:var(--accent)}.spot-btn.active{background:var(--spot-active-bg);border-color:var(--spot-active-border);color:var(--spot-active-color)}:root{--glass-surface:#ffffff14;--glass-border:#ffffff1f;--glass-backdrop:#ffffff0d;--ocean-deep:#0369a1;--ocean-mid:#0284c7;--ocean-light:#06b6d4;--teal:#14b8a6;--status-green:#10b981;--status-blue:#3b82f6;--status-amber:#f59e0b;--status-red:#ef4444}.glass-card{background:var(--glass-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:16px;padding:24px;transition:all .3s;box-shadow:0 8px 32px #0000001a}.glass-card:hover{background:var(--glass-surface);box-shadow:0 12px 40px #00000026}.dashboard{grid-template-columns:1fr;gap:20px;margin-top:20px;display:grid}.hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#06b6d426 0%,#0369a126 100%);border:1px solid #06b6d44d;border-radius:24px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;min-height:280px;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 32px #0369a133}@media (width<=768px){.hero-card{grid-template-columns:1fr}}.hero-card:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 20%,#06b6d414 0%,#0000 50%),radial-gradient(circle at 80% 80%,#0369a114 0%,#0000 50%);position:absolute;inset:0}.hero-wave-visual{background:linear-gradient(135deg,#0369a11a 0%,#06b6d40d 100%);justify-content:center;align-items:center;width:100%;height:100%;min-height:280px;display:flex;position:relative}#hero-wave-canvas{width:100%;height:100%;display:block}.hero-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 32px;display:flex;position:relative}@media (width<=768px){.hero-content{order:2;padding:32px 24px}.hero-wave-visual{order:1;min-height:200px}}.hero-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffffb3;margin-bottom:12px;font-size:.95rem;font-weight:700;display:block}.hero-metric{background:linear-gradient(135deg,#06b6d4,#0284c7,#0369a1);-webkit-text-fill-color:transparent;letter-spacing:-.02em;text-shadow:0 2px 8px #0003;filter:drop-shadow(0 2px 8px #0369a166);-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:96px;font-weight:900;line-height:1}.hero-unit{color:#fffc;margin-left:8px;font-size:2rem;display:inline-block}.hero-range{color:#fff9;margin-top:12px;font-size:.95rem;display:block}.hero-status{color:#ffffffe6;background:#ffffff1f;border:1px solid #fff3;border-radius:20px;margin-top:16px;padding:8px 20px;font-size:.85rem;font-weight:700;display:inline-block}.status-excellent{color:#10b981;background:#10b98133;border-color:#10b98166}.status-good{color:#3b82f6;background:#3b82f633;border-color:#3b82f666}.status-fair{color:#f59e0b;background:#f59e0b33;border-color:#f59e0b66}.status-poor{color:#ef4444;background:#ef444433;border-color:#ef444466}.details-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.detail-card{background:var(--glass-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);text-align:center;border-radius:16px;padding:20px 16px;transition:all .3s;position:relative;overflow:hidden}.detail-card:hover{background:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.detail-card:before{content:"";background:linear-gradient(90deg, transparent, var(--teal), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.detail-card:hover:before{opacity:1}.detail-icon{margin-bottom:8px;font-size:1.8rem;display:block}.detail-label{text-transform:uppercase;letter-spacing:.08em;color:#fff9;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.detail-value{color:#fffffff2;font-size:2rem;font-weight:800;line-height:1.2}.detail-sub{color:#ffffff80;margin-top:4px;font-size:.9rem}.chart-section{background:var(--glass-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:16px;grid-column:1/-1;padding:24px;box-shadow:0 8px 32px #0000001a}.chart-label{text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;margin-bottom:16px;font-size:1rem;font-weight:700;display:block}.chart-container{background:#ffffff08;border-radius:12px;min-height:200px;position:relative;overflow:hidden}#wave-canvas{width:100%;height:200px;display:block}.actions-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.action-btn{color:#ffffffe6;cursor:pointer;text-align:center;background:linear-gradient(135deg,#06b6d433,#0369a133);border:1.5px solid #06b6d466;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px 18px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,sans-serif;font-size:1.05rem;font-weight:600;transition:all .3s;display:flex}.action-btn:hover{background:linear-gradient(135deg,#06b6d44d,#0369a14d);border-color:#06b6d499;transform:translateY(-2px);box-shadow:0 8px 24px #06b6d433}.action-btn:active{transform:translateY(0)}.today-card{background:var(--card-bg);border-radius:0 0 var(--radius-card) var(--radius-card);box-shadow:var(--shadow-card);border:1px solid var(--border-light);border-top:1.5px solid var(--accent);z-index:1;margin-bottom:14px;padding:22px 20px 18px;transition:background .3s;display:none;position:relative}.section-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);margin-bottom:12px;font-size:.75rem;font-weight:700}body.theme-8bit .section-label{font-size:.45rem}.today-top{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.wave-big{color:var(--text-1);letter-spacing:-.03em;font-size:3.2rem;font-weight:800;line-height:1;font-family:var(--font-display)}body.theme-8bit .wave-big{font-size:1.8rem}body.theme-lofi .wave-big{font-size:3.8rem}body.theme-simpsons .wave-big,body.theme-familyguy .wave-big{font-size:4rem;line-height:.9}.wave-unit{color:var(--text-3);font-size:1.3rem;font-weight:500}.wave-range{color:var(--text-3);margin-top:4px;font-size:.8rem}.cond-badge{letter-spacing:.01em;font-size:.85rem;font-weight:700;font-family:var(--font-display);border-radius:14px;padding:5px 14px}.cond-flat{color:#64748b;background:#f1f5f9}.cond-small{color:#1d4ed8;background:#dbeafe}.cond-fun{color:#15803d;background:#dcfce7}.cond-pumping{color:#c2410c;background:#ffedd5}.cond-maxed{color:#b91c1c;background:#fee2e2}.today-stats{border-top:1px solid var(--border-light);grid-template-columns:repeat(3,1fr);gap:0;padding-top:16px;display:grid}.stats-row-2,.stats-row-3{border-top:1px solid var(--border-light);grid-template-columns:repeat(3,1fr);gap:0;margin-top:12px;padding-top:12px;display:grid}.stat{text-align:center}.stat+.stat{border-left:1px solid var(--border-light)}.hourly-toggle{border:1px solid var(--border-light);width:100%;color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:14px;padding:7px 0;font-size:.8rem;font-weight:600;transition:background .15s;display:flex}.hourly-toggle:hover{background:var(--bg-card)}.hourly-toggle .htoggle-arrow{font-style:normal;transition:transform .2s}.hourly-toggle.open .htoggle-arrow{transform:rotate(180deg)}.hourly-panel{border:1px solid var(--border-light);border-radius:10px;margin-top:10px;display:none;overflow-x:auto}.hourly-panel.open{display:block}.hourly-table{border-collapse:collapse;width:100%;font-size:.78rem}.hourly-table th{text-align:center;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);border-bottom:1px solid var(--border-light);background:var(--bg-card);padding:6px 10px;font-size:.68rem;font-weight:700}.hourly-table td{text-align:center;color:var(--text-1);border-bottom:1px solid var(--border-light);padding:8px 10px}.hourly-table tr:last-child td{border-bottom:none}.hourly-table tr:nth-child(2n) td{background:var(--bg-card)}.ht-time{color:var(--text-2);font-weight:700}.ht-wave{font-weight:600}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:5px;font-size:.72rem;font-weight:700}body.theme-8bit .stat-label{font-size:.38rem}.stat-value{color:var(--text-1);font-size:1.2rem;font-weight:700;font-family:var(--font-display)}body.theme-8bit .stat-value{font-size:.7rem}body.theme-simpsons .stat-value,body.theme-familyguy .stat-value{font-size:1.35rem}.stat-sub{color:var(--text-3);margin-top:2px;font-size:.78rem}body.theme-8bit .stat-sub{font-size:.42rem}.uv-low{color:#16a34a}.uv-moderate{color:#ca8a04}.uv-high{color:#ea580c}.uv-veryhigh{color:#dc2626}.uv-extreme{color:#7c3aed}.trend-up{color:#ef4444}.trend-down{color:#3b82f6}.trend-steady{color:var(--text-3)}.forecast-strip{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px;display:grid}.day-card{background:var(--card-bg);text-align:center;box-shadow:var(--shadow-day);cursor:pointer;border:2px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;padding:10px 4px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.day-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000014}.day-card:active{transform:translateY(0)}.day-card.active{border-color:var(--accent)}.forecast-booklet{margin-bottom:0}.forecast-tabs{grid-template-columns:repeat(7,1fr);align-items:end;gap:4px;padding:0 2px;display:grid}.day-tab{background:var(--card-bg);opacity:.75;border:1.5px solid var(--border-light);text-align:center;cursor:pointer;border-bottom:none;border-radius:10px 10px 0 0;flex-direction:column;justify-content:center;align-items:center;min-height:56px;padding:8px 4px 10px;transition:opacity .14s,transform .1s;display:flex;position:relative;bottom:-1px}.day-tab:hover{opacity:.9;transform:translateY(-2px)}.day-tab.active{opacity:1;background:var(--card-bg);border-color:var(--accent);border-bottom:2px solid var(--card-bg);z-index:2;bottom:-2px}.day-name{text-transform:uppercase;color:var(--text-3);letter-spacing:.06em;margin-bottom:2px;font-size:.72rem;font-weight:700}body.theme-8bit .day-name{font-size:.38rem}.day-date{color:var(--text-4);letter-spacing:.03em;margin-bottom:4px;font-size:.65rem}.day-wave{color:var(--text-1);font-size:1.05rem;font-weight:800;font-family:var(--font-display);margin-bottom:5px}body.theme-8bit .day-wave{font-size:.65rem}.day-dot{border-radius:50%;width:8px;height:8px;margin:0 auto}.dot-flat{background:#94a3b8}.dot-small{background:#3b82f6}.dot-fun{background:#22c55e}.dot-pumping{background:#f97316}.dot-maxed{background:#ef4444}.compass-stat .stat-compass{justify-content:center;margin:2px 0;line-height:0;display:flex}.compass-stat .stat-value{display:none}.stats-row-3{grid-template-columns:1fr 2fr}.sun-times-stat{padding:8px 10px 4px}.sun-times-row{justify-content:center;align-items:flex-start;gap:8px;margin-top:4px;display:flex}.sun-time-block{text-align:center;flex:1}.sun-time-icon{font-size:1.3rem;line-height:1.2}.sun-time-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:3px;font-size:.62rem;font-weight:700}.sun-time-val{color:var(--text-2);font-size:.82rem;font-weight:600;font-family:var(--font-display)}.sun-time-main{color:var(--text-1);font-size:1rem;font-weight:800}.sun-times-divider{background:var(--border-light);align-self:stretch;width:1px;margin:4px 0}.wave-viz{border-radius:var(--radius-card);height:140px;margin-bottom:14px;position:relative;overflow:hidden}#wave-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.wave-overlay{pointer-events:none;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:absolute;inset:0}.wave-overlay-left{flex-direction:column;gap:1px;display:flex}.wave-overlay-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ffffff8c;font-size:.58rem;font-weight:700}.wave-overlay-cond{color:#fff;text-shadow:0 2px 10px #00000080;font-size:1.5rem;font-weight:800;line-height:1.15;font-family:var(--font-display)}body.theme-8bit .wave-overlay-cond{font-size:.8rem}body.theme-simpsons .wave-overlay-cond,body.theme-familyguy .wave-overlay-cond{font-size:2rem}.wave-overlay-range{color:#ffffff8c;margin-top:2px;font-size:.72rem}.wave-overlay-height{color:#ffffffeb;text-shadow:0 2px 16px #00000073;letter-spacing:-.04em;font-size:3.4rem;font-weight:800;line-height:1;font-family:var(--font-display)}body.theme-8bit .wave-overlay-height{font-size:1.8rem}.wave-overlay-height small{opacity:.65;margin-left:2px;font-size:1.1rem;font-weight:500}.loading{text-align:center;color:var(--text-3);padding:60px 20px;font-size:.9rem}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;margin:0 auto 12px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.attribution{text-align:center;color:var(--text-3);margin-top:4px;padding-bottom:8px;font-size:.62rem}body.theme-8bit .attribution{font-size:.4rem;line-height:1.8}body.theme-swl .today-card{border-top:4px solid var(--accent)}body.theme-swl .header h1:after{content:" ~"}body.theme-futuristic .today-card{border:1px solid #00e5ff33}body.theme-futuristic .wave-big,body.theme-futuristic .stat-value{text-shadow:0 0 12px #00e5ff80}body.theme-futuristic .header h1{text-shadow:0 0 16px #00e5ff99}body.theme-8bit .today-card{border:4px solid var(--accent);image-rendering:pixelated}body.theme-8bit .day-card{border:3px solid #0000}body.theme-8bit .day-card.active{border-color:var(--accent)}.score-overlay{-webkit-backdrop-filter:none;pointer-events:none;z-index:2;background:0 0;flex-direction:column;gap:6px;padding:16px 20px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.score-blur-pill{-webkit-backdrop-filter:blur(8px);background:#00000085;border-radius:8px;flex-direction:column;align-self:flex-start;padding:6px 12px;display:inline-flex}.score-main-row{justify-content:space-between;align-items:flex-end;display:flex}.score-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#fff9;margin-bottom:2px;font-size:.55rem;font-weight:700}.score-cond-label{color:#fff;text-shadow:0 2px 8px #00000080;font-size:1.55rem;font-weight:800;line-height:1.1}.score-height{color:#ffffffeb;text-shadow:0 2px 14px #00000073;letter-spacing:-.04em;white-space:nowrap;font-size:2.6rem;font-weight:800;line-height:1}.score-height small{opacity:.65;margin-left:2px;font-size:.9rem;font-weight:500}.score-explanation{color:#ffffffc7;font-size:.8rem;font-style:italic}.score-meta-row{flex-direction:row;align-items:center;gap:10px;display:flex}.score-freshness{color:#ffffff80;font-size:.65rem}.conf-badge{border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:700}.conf-badge.conf-high{color:#6ee7b7;background:#10b9814d}.conf-badge.conf-medium{color:#fcd34d;background:#f59e0b4d}.conf-badge.conf-low{color:#fca5a5;background:#ef44444d}.conf-explanation{color:#ffffff73;font-size:.6rem;font-style:italic}.hero-buoy-row{color:#ffffff8c;font-size:.62rem}.sources-badge{color:#ffffff73;margin-left:auto;font-size:.65rem}.buoy-attribution{color:var(--text-muted,#888);border-top:1px solid var(--border,#00000014);align-items:flex-start;gap:6px;margin-top:10px;padding-top:8px;font-size:.68rem;display:flex}.buoy-attribution-icon{padding-top:1px;font-size:.9rem}.camera-card{border-radius:var(--radius-card);background:var(--card,#1e2235);border:1px solid var(--border,#ffffff14);margin-bottom:20px;overflow:hidden}.camera-header{color:var(--text,#e2e8f0);background:#00000040;align-items:center;gap:8px;padding:9px 14px;font-size:.72rem;font-weight:600;display:flex}.camera-live-dot{background:#ef4444;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite cam-pulse}@keyframes cam-pulse{0%,to{opacity:1;box-shadow:0 0 #ef444499}50%{opacity:.55;box-shadow:0 0 0 4px #ef444400}}.camera-live-badge{letter-spacing:.1em;color:#ef4444;text-transform:uppercase;font-size:.6rem;font-weight:800}.camera-embed{aspect-ratio:16/9;background:#000;width:100%;display:block;position:relative}.camera-embed img{object-fit:cover;width:100%;height:100%;display:block}.camera-overlay{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#0000008c;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;display:flex;position:absolute;bottom:16px;left:16px}.overlay-sep{opacity:.5}.hero-cam-badge{align-items:center;gap:5px;margin-top:6px;font-size:.65rem;font-weight:600;display:flex}.buoy-attribution-details{color:var(--text-muted,#888);opacity:.8;margin-top:3px;font-size:.63rem}.trust-bar{color:#ffffff80;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 16px;font-size:.72rem;display:flex}.sidebar-theme-row{flex-wrap:wrap;gap:4px;display:flex}.sidebar-theme-row .ctrl-btn{min-height:26px;padding:3px 7px;font-size:.65rem}.sidebar-lang-row{gap:6px;margin-top:8px;display:flex}.sidebar-lang-row .ctrl-btn{text-align:center;border-radius:var(--radius-btn);border:1px solid var(--border);background:var(--input-bg);min-height:30px;color:var(--text-2);flex:1;font-size:.75rem}.sidebar-lang-row .ctrl-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.lang-btn{padding:3px 10px;font-size:.72rem}[dir=rtl]{text-align:right;direction:rtl}@media (width>=1024px){.widget{direction:ltr}[dir=rtl] .sidebar,[dir=rtl] .main-content{direction:rtl}}.beach-dropdown-wrap{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.beach-select{border:1.5px solid var(--border);border-radius:var(--radius-btn);background:var(--input-bg);min-width:160px;min-height:40px;color:var(--text-2);font-size:.85rem;font-family:var(--font-body);cursor:pointer;appearance:auto;flex:1;padding:6px 12px;transition:border-color .15s}.beach-select:focus{border-color:var(--accent);outline:none}.beach-select option{color:#222;background:#fff}.spot-map-wrap{margin-bottom:12px;position:relative}.spot-map-wrap .sidebar-title{margin-bottom:6px}#spot-map{border:1px solid var(--card-border,#e2e8f0);border-radius:10px;height:190px;overflow:hidden}.spot-map-wrap.map-fullscreen{z-index:9999;background:var(--card-bg,#fff);flex-direction:column;margin:0;padding:12px;display:flex;position:fixed;inset:0}.spot-map-wrap.map-fullscreen #spot-map{border-radius:0;flex:1;height:auto}.map-fullscreen-btn{z-index:10;background:var(--card-bg,#fff);border:1.5px solid var(--border,#e2e8f0);border-radius:var(--radius-btn,8px);cursor:pointer;color:var(--text-2);padding:3px 7px;font-size:.75rem;line-height:1.4;position:absolute;top:0;right:0}.map-fullscreen-btn:hover{border-color:var(--accent);color:var(--accent)}.spot-map-wrap.map-fullscreen .map-fullscreen-btn{align-self:flex-end;margin-bottom:6px;position:static}.spot-marker{cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.spot-marker.selected{filter:drop-shadow(0 0 4px var(--accent,#3b82f6))}.spot-marker.secret{filter:hue-rotate(120deg)}option.secret-opt{font-style:italic}.spot-map-inner{position:relative}.spot-map-wrap.map-fullscreen .spot-map-inner{flex-direction:column;flex:1;display:flex}.spot-map-wrap.map-fullscreen .spot-map-inner #spot-map{flex:1;height:auto}.map-conditions-strip{-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:500;background:#00000073;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 8px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.map-cond-item{flex:1;justify-content:center;align-items:center;gap:5px;min-width:70px;display:flex}.map-cond-label{color:#ffffffe6;white-space:nowrap;font-size:.7rem}.map-cond-temp{color:#fff;font-size:.78rem;font-weight:700}.map-arrow-marker{pointer-events:none;flex-direction:column;align-items:center;display:flex}.map-arrow-svg{display:block}.map-arrow-lbl{color:#fff;text-shadow:0 1px 3px #000000f2,0 0 6px #000c;white-space:nowrap;background:#00000080;border-radius:4px;margin-top:2px;padding:1px 5px;font-size:.6rem;font-weight:700}.hero-wave-visual{height:260px!important;min-height:260px!important}@media (width>=769px){.hero-wave-visual{height:320px!important;min-height:320px!important}}#hero-wave-canvas{display:none}.hero-bg-media{object-fit:cover;object-position:center;z-index:0;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.hero-bg-media.loaded{opacity:1}#hero-live-stream{object-fit:cover;object-position:center bottom;z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity 1s;position:absolute;inset:0}#hero-live-stream.stream-ready{opacity:1}#camera-fallback{z-index:1;position:absolute;inset:0}#fallback-canvas{width:100%;height:100%;display:block}.camera-fallback-gradient{background:linear-gradient(#0d3d52 0%,#1a6e8e 55%,#a8d8ea 100%) 0 0/100% 200%;width:100%;height:100%;animation:3s ease-in-out infinite alternate fallbackWave}@keyframes fallbackWave{0%{background-position:0 30%}to{background-position:0 70%}}.hero-metric{font-size:clamp(48px,8vw,96px)!important}@media (width<=460px){body{padding:14px 8px}.forecast-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:7px;padding-bottom:6px;display:flex;overflow-x:auto}.forecast-strip::-webkit-scrollbar{display:none}.day-card{flex-shrink:0;min-width:52px;padding:10px 6px}.forecast-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:3px;display:flex;overflow-x:auto}.forecast-tabs::-webkit-scrollbar{display:none}.day-tab{flex-shrink:0;min-width:44px;min-height:50px;padding:6px 3px 8px}.wave-big{font-size:2.6rem}.wave-overlay-height{font-size:2.8rem}.stat-value{font-size:1.05rem}.today-card{padding:16px 14px}.search-btn{padding:9px 12px}.controls-bar{justify-content:flex-start}.ctrl-group{flex-wrap:wrap}body.theme-8bit .wave-big,body.theme-8bit .wave-overlay-height{font-size:1.2rem}}@media (width<=360px){.wave-big{font-size:2.2rem}.header h1{font-size:1rem}.today-card{padding:14px 10px}}@media (width<=768px){.hero-metric{font-size:56px}.details-grid,.actions-grid{grid-template-columns:repeat(2,1fr)}.hero-card{padding:30px 24px}.dashboard{gap:16px}}@media (width<=480px){.hero-metric{font-size:48px}.details-grid,.actions-grid{grid-template-columns:1fr}.action-btn{padding:12px 14px;font-size:.85rem}.hero-card{padding:24px 16px}.detail-card{padding:16px 12px}.chart-section{padding:16px}}#hamburger-btn{display:none}.hamburger-btn{z-index:1000;color:#ffffffd9;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border:1px solid #ffffff2e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.35rem;line-height:1;transition:background .2s,border-color .2s;display:flex;position:fixed;top:14px;left:auto;right:16px}.hamburger-btn:hover{background:#00e5ff26;border-color:#00e5ff66}@media (width<=1023px){body{padding-top:64px}#controls-mount{display:none}}.ham-panel{z-index:999;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;background:#0a0f1eeb;border:1px solid #ffffff1f;border-radius:12px;min-width:180px;padding:8px 0;transition:opacity .18s,transform .18s;position:fixed;top:62px;right:16px;transform:scale(.95)translateY(-8px);box-shadow:0 8px 32px #0006}.ham-panel.open{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.ham-item{text-align:left;color:#ffffffd1;width:100%;font-size:.9rem;font-family:var(--font-body);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;padding:11px 20px;transition:background .15s,color .15s;display:block}.ham-item:hover{color:#00e5ff;background:#00e5ff1a}.ham-item .ham-icon{margin-right:10px;font-style:normal}.ham-version{color:#ffffff4d;letter-spacing:.04em;border-top:1px solid #ffffff12;margin-top:4px;padding:8px 20px 4px;font-size:.72rem}.modal-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#000000a6;justify-content:center;align-items:center;padding:16px;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-box{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a0f1ef5;border:1px solid #ffffff21;border-radius:16px;width:100%;max-width:480px;max-height:80vh;padding:28px 28px 24px;transition:transform .2s;position:relative;overflow-y:auto;transform:translateY(10px);box-shadow:0 16px 48px #00000080}.modal-overlay.open .modal-box{transform:translateY(0)}.modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;line-height:1;transition:color .15s;position:absolute;top:14px;right:16px}.modal-close:hover{color:#ffffffe6}.modal-title{color:#ffffffeb;margin-bottom:16px;padding-right:32px;font-size:1.15rem;font-weight:700}.modal-body{color:#ffffffb3;font-size:.88rem;line-height:1.65}.modal-body p{margin-bottom:10px}.modal-body h3{color:#ffffffd9;margin:14px 0 6px;font-size:.9rem}.contact-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.contact-form input,.contact-form textarea{color:#ffffffe0;font-size:.88rem;font-family:var(--font-body);background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;outline:none;padding:10px 14px;transition:border-color .15s}.contact-form input:focus,.contact-form textarea:focus{border-color:#00e5ff80}.contact-form textarea{resize:vertical;min-height:100px}.contact-form .send-btn{color:#00e5ff;cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);background:#00e5ff2e;border:1px solid #00e5ff66;border-radius:8px;padding:10px 20px;transition:background .15s}.contact-form .send-btn:hover{background:#00e5ff4d}.contact-success{text-align:center;color:#10b981;padding:16px 0;font-size:1rem}.hidden{display:none}.confidence-section{background:#f5f5f5;border-radius:5px;align-items:center;gap:10px;margin-bottom:15px;padding:10px;display:flex}body.theme-dark .confidence-section,body.theme-futuristic .confidence-section,body.theme-8bit .confidence-section{background:#ffffff14}.confidence-badge{color:#fff;border-radius:3px;padding:5px 10px;font-weight:700}.confidence-HIGH{background-color:#4caf50}.confidence-MEDIUM{background-color:#ff9800}.confidence-LOW{background-color:#f44336}.sources-section{background:#f9f9f9;border-radius:5px;margin-top:15px;padding:10px}body.theme-dark .sources-section,body.theme-futuristic .sources-section,body.theme-8bit .sources-section{background:#ffffff0f}.sources-section h4{opacity:.75;margin:0 0 6px;font-size:.85rem}.sources-section ul{margin:5px 0 0;padding:0;list-style:none}.sources-section li{color:#555;padding:3px;font-size:.9em}body.theme-dark .sources-section li,body.theme-futuristic .sources-section li{color:#fff9}#forecast-card{padding:16px}#forecast-card h3{margin:0 0 12px;font-size:1rem}.forecast-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.forecast-item{flex-direction:column;font-size:.9rem;display:flex}.forecast-item label{opacity:.6;margin-bottom:2px;font-size:.75rem}.forecast-meta{opacity:.5;text-align:right;margin-top:10px;font-size:.75rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--accent,#3b82f6);color:#fff;z-index:9999;border-radius:0 0 8px;padding:8px 16px;font-size:.9rem;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}
