:root{color-scheme:dark;--bg:#050d14;--panel:#0d1b26;--line:#1a3040;--tx:#e6f1f2;--mut:#8fa9b2;--g:#5eead4;--good:#34d399;--maybe:#fbbf24;--low:#fb923c;--poor:#3b5565}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;position:relative;overflow-x:hidden}
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1px 1px at 12% 18%,#fff8,transparent),radial-gradient(1px 1px at 78% 12%,#fff6,transparent),radial-gradient(1.5px 1.5px at 44% 32%,#fff7,transparent),radial-gradient(1px 1px at 90% 44%,#fff5,transparent),radial-gradient(1px 1px at 22% 62%,#fff5,transparent),radial-gradient(1px 1px at 63% 74%,#fff4,transparent),radial-gradient(1.5px 1.5px at 8% 88%,#fff6,transparent),radial-gradient(1px 1px at 55% 92%,#fff4,transparent)}
.sky i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.38}
.a1{width:70vw;height:38vh;left:-10vw;top:-8vh;background:linear-gradient(90deg,#10b981,#22d3ee);animation:d1 26s ease-in-out infinite alternate}
.a2{width:55vw;height:30vh;right:-12vw;top:6vh;background:linear-gradient(90deg,#6366f1,#2dd4bf);animation:d2 32s ease-in-out infinite alternate;opacity:.28}
.a3{width:40vw;height:24vh;left:30vw;top:-4vh;background:linear-gradient(90deg,#a3e635,#14b8a6);animation:d3 38s ease-in-out infinite alternate;opacity:.22}
@keyframes d1{to{transform:translate(12vw,5vh) scale(1.15)}}@keyframes d2{to{transform:translate(-14vw,4vh) scale(.9)}}@keyframes d3{to{transform:translate(-10vw,7vh) scale(1.2)}}
@media (prefers-reduced-motion:reduce){.sky i,.dot.good{animation:none!important}html{scroll-behavior:auto}}
header,main,footer{position:relative;z-index:1}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;max-width:1120px;margin:0 auto;padding:16px 20px}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--g);text-decoration:none;font-size:19px;letter-spacing:.2px}
nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}nav a{color:#c3d8dc;text-decoration:none;padding:6px 10px;border-radius:99px}nav a:hover{color:#fff}nav .pill{background:var(--g);color:#052018;font-weight:600}
main{max-width:1120px;margin:0 auto;padding:6px 20px 20px}a{color:#8fd3ff}
h1{font:600 clamp(2.1rem,5.2vw,3.5rem)/1.08 ui-serif,Georgia,"Times New Roman",serif;margin:.15em 0 .35em;letter-spacing:-.5px}
h2{font:600 1.35rem/1.2 ui-serif,Georgia,serif;margin:1.8em 0 .6em;color:#fff}
.kicker{color:var(--g);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;margin:0}
.lead{font-size:18px;color:#cfe0e3}.fine{font-size:13.5px;color:var(--mut)}.crumbs{font-size:14px;color:var(--mut);padding-top:6px}.crumbs a{color:var(--mut)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:start;padding:18px 0 10px}
.hero.spot{align-items:center}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:10px}.hero-r{order:-1}}
.bestline{display:flex;align-items:center;gap:18px;margin:12px 0 16px;background:linear-gradient(120deg,#0f2634cc,#0b1c28cc);border:1px solid var(--line);border-radius:18px;padding:14px 18px;backdrop-filter:blur(6px)}
.bestname{font:600 1.4rem/1.2 ui-serif,Georgia,serif;margin:0 0 2px}
.ring{width:84px;height:84px;flex:none}.ring .rt{fill:none;stroke:#183040;stroke-width:9}.ring .rv{fill:none;stroke-width:9;stroke-linecap:round}.ring text{fill:#fff;font:700 30px system-ui}
.ring.good .rv{stroke:var(--good)}.ring.maybe .rv{stroke:var(--maybe)}.ring.low .rv{stroke:var(--low)}.ring.poor .rv{stroke:var(--poor)}
.map{width:100%;height:auto;display:block;filter:drop-shadow(0 0 28px #14b8a633)}
.land{fill:#0e2533;stroke:#2c5a70;stroke-width:1.4;stroke-linejoin:round}
.dot{stroke:#04121a;stroke-width:2;transition:r .2s}.dot.good{fill:var(--good);animation:pulse 2.6s ease-in-out infinite}.dot.maybe{fill:var(--maybe)}.dot.low{fill:var(--low)}.dot.poor{fill:var(--poor)}.dot.hl{stroke:#fff;stroke-width:3}
@keyframes pulse{50%{opacity:.55}}
a:hover .dot{stroke:#fff}
.lbl{fill:#e6f1f2;font:600 22px system-ui;paint-order:stroke;stroke:#050d14;stroke-width:5px;stroke-linejoin:round}
.legend{display:flex;gap:16px;justify-content:center;list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:var(--mut)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.legend .good,.strip .good{background:var(--good)}.legend .maybe,.strip .maybe{background:var(--maybe)}.legend .low,.strip .low{background:var(--low)}.legend .poor,.strip .poor{background:var(--poor)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card{position:relative;display:flex;flex-direction:column;gap:6px;background:linear-gradient(160deg,#0f2431,#0a1822);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:#2f6a80}.card b{font:600 1.2rem ui-serif,Georgia,serif}.rank{position:absolute;right:16px;top:10px;font:700 2.6rem ui-serif,Georgia,serif;color:#16394a}
.region{color:var(--mut);font-size:14px}
.strip{display:flex;align-items:flex-end;gap:3px;height:62px;margin-top:6px}.strip .hr{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}
.strip i{display:block;width:100%;border-radius:4px 4px 2px 2px;min-height:3px}.strip .h0{height:3px}.strip .h1{height:8px}.strip .h2{height:12px}.strip .h3{height:17px}.strip .h4{height:21px}.strip .h5{height:26px}.strip .h6{height:31px}.strip .h7{height:35px}.strip .h8{height:40px}.strip .h9{height:44px}.strip .h10{height:49px}.strip .day{background:#1b2d38}.strip span{font-size:9.5px;color:var(--mut);line-height:1}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#0a1822cc}
table{width:100%;border-collapse:collapse;font-size:15px}th{font-size:12.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);font-weight:600}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid #15293a}tr:last-child td{border-bottom:0}td a{color:#fff;text-decoration:none;font-weight:500}td a:hover{color:var(--g)}
.b{display:inline-block;padding:3px 11px;border-radius:99px;font-size:13px;font-weight:700;white-space:nowrap}.b.good{background:#064e3b;color:#a7f3d0}.b.maybe{background:#4a3a07;color:#fde68a}.b.low{background:#4a2a10;color:#fed7aa}.b.poor{background:#16303d;color:#9db6bf}
.herosub{margin-top:18px}.herosub h2{margin:.2em 0 .5em}
.sub{display:grid;gap:12px;background:linear-gradient(160deg,#0f2431,#0a1822);border:1px solid var(--line);border-radius:18px;padding:18px}.sub label{display:grid;gap:5px;font-size:14px;color:var(--mut)}
.sub input,.sub select{font:inherit;font-size:16px;padding:12px 13px;border-radius:12px;border:1px solid #28485a;background:#06121a;color:var(--tx)}.sub input:focus,.sub select:focus{outline:2px solid var(--g);outline-offset:1px}
.sub button,.btn{display:inline-block;font:inherit;font-weight:700;padding:13px 18px;border:0;border-radius:12px;background:linear-gradient(90deg,#34d399,#5eead4);color:#04261c;cursor:pointer;text-decoration:none;text-align:center}.sub button:hover,.btn:hover{filter:brightness(1.08)}.btn.small{padding:8px 14px;font-size:14px;margin-top:8px}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
footer{max-width:1120px;margin:34px auto 0;padding:22px 20px 40px;color:var(--mut);font-size:14px;border-top:1px solid var(--line)}footer a{color:var(--mut)}
ol li,ul li{margin:.3em 0}