:root{
  --bg:#0d1b24; --card:#13242f; --card2:#0f1e28; --line:#1e3542;
  --ink:#e8f1f5; --dim:#8fa8b5; --faint:#5b7484; --accent:#4fc3f7;
  --p-pink:#ffb3ba; --p-peach:#ffdfba; --p-yellow:#fdf6b2; --p-mint:#baffc9; --p-blue:#bae1ff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding-bottom:60px}
header{padding:28px 20px 10px;max-width:1100px;margin:0 auto}
#logo{display:none;height:44px;width:auto;margin-bottom:8px}
h1{font-size:26px;letter-spacing:.5px}
h1 span{color:var(--accent)}
.mode{display:none;margin:10px 0 2px;font-size:13px;font-weight:700;letter-spacing:.5px;color:#22333d;background:var(--p-blue);border-radius:999px;padding:4px 14px;width:max-content}
.tag{color:var(--dim);font-size:14px;margin-top:4px}
.updated{color:var(--faint);font-size:12px;margin-top:6px}
.crumb{max-width:1100px;margin:0 auto;padding:0 20px}
.crumb a{color:var(--accent);text-decoration:none;font-size:13px}
.crumb a:hover{text-decoration:underline}
.filters{max-width:1100px;margin:16px auto 0;padding:0 20px;display:flex;gap:8px;flex-wrap:wrap}
.fbtn{background:var(--card);border:1px solid var(--line);color:var(--dim);font:600 12.5px/1 inherit;letter-spacing:.5px;border-radius:999px;padding:9px 16px;cursor:pointer;transition:all .12s ease}
.fbtn:hover{color:var(--ink);border-color:var(--faint)}
.fbtn.active{background:var(--p-blue);border-color:var(--p-blue);color:#22333d}
main{max-width:1100px;margin:14px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
main.single{grid-template-columns:minmax(0,480px);justify-content:start}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px}
.card h2{font-size:18px}
.lake{color:var(--faint);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.verdicts{display:flex;gap:8px;margin-bottom:12px}
.verdict{flex:1;border-radius:10px;padding:9px 10px;text-align:center;font-weight:700;font-size:13px;letter-spacing:.5px;color:#22333d;position:relative;cursor:default;transition:transform .12s ease, box-shadow .12s ease}
.verdict small{display:block;font-weight:400;font-size:11px;opacity:.7;letter-spacing:0}
.verdict .cat{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;opacity:.6;margin-bottom:2px}
.verdict:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.45)}
.v-go{background:var(--p-mint)} .v-maybe{background:var(--p-yellow)} .v-no{background:var(--p-pink)}
.tip{display:none;position:absolute;z-index:20;left:50%;transform:translateX(-50%);bottom:calc(100% + 10px);width:250px;background:#0b141b;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:left;font-weight:400;color:var(--ink);font-size:12.5px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#0b141b}
.verdict:hover .tip{display:block}
.tip h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:5px}
.tip ul{list-style:none;margin-bottom:6px}
.tip li.ok:before{content:"✓ ";color:#79d99a}
.tip li.bad:before{content:"✗ ";color:#ff9aa2}
.tip .advice{border-top:1px solid var(--line);padding-top:6px;color:var(--p-blue)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.stat{background:var(--card2);border-radius:6px;padding:6px 4px;text-align:center}
.stat b{display:block;font-size:15px}
.stat span{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}
.strip-label{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin:8px 0 4px}
.strip{display:flex;gap:2px}
.strip .h{flex:1;height:22px;border-radius:3px}
.strip .h.now{outline:2px solid var(--ink)}
.h-go{background:#79d99a}.h-maybe{background:#e3d377}.h-no{background:#e08a90}.h-dark{background:#152531}
.striplbls{display:flex;gap:2px;margin-top:2px}
.striplbls span{flex:1;font-size:9px;color:var(--faint);text-align:center}
.week{display:flex;gap:4px;margin-top:10px}
.day{flex:1;border-radius:7px;padding:5px 2px 4px;text-align:center;color:#22333d;cursor:default}
.day b{display:block;font-size:11px}
.day span{font-size:10px;opacity:.75}
.day.wknd{outline:2px solid rgba(232,241,245,.35)}
.wq{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 10px;color:#22333d;text-decoration:none}
.wq-safe{background:var(--p-mint)} .wq-unsafe{background:var(--p-pink)} .wq-link{background:var(--p-blue)}
.links{margin-top:8px;font-size:11.5px}
.links a{color:var(--accent);text-decoration:none;margin-right:12px}
.links a:hover{text-decoration:underline}
.note{font-size:13px;color:var(--dim);margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.cold{color:var(--p-peach);font-size:12px;margin-top:6px}
.buoy{font-size:11px;color:var(--faint);margin-top:6px}
.prose{max-width:1100px;margin:26px auto 0;padding:0 20px;color:var(--dim);font-size:14.5px;line-height:1.65}
.prose h2{color:var(--ink);font-size:18px;margin:22px 0 8px}
.prose p{margin-bottom:10px;max-width:720px}
.prose a{color:var(--accent)}
.faq details{max-width:720px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;background:var(--card)}
.faq summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:14px}
.faq p{margin:8px 0 2px}
.morelinks{max-width:1100px;margin:26px auto 0;padding:0 20px;font-size:13px;color:var(--faint)}
.morelinks a{color:var(--dim);text-decoration:none;margin-right:14px;line-height:2}
.morelinks a:hover{color:var(--ink)}
footer{max-width:1100px;margin:34px auto 0;padding:0 20px;color:var(--faint);font-size:12px}
footer a{color:var(--dim)}
.err{color:var(--p-pink);font-size:13px}
