:root{--bg:#0e1a12;--card:#16241a;--card2:#1c2f22;--ink:#e8f0e9;--mut:#9db5a2;--acc:#4caf7d;--acc2:#ffd54f;--bad:#e06c5c;--line:#243628}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'PT Sans',system-ui,sans-serif;font-size:16px;line-height:1.55}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
a{color:var(--acc)}
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;flex-wrap:wrap}
.logo{font-family:'PT Serif',serif;font-weight:700;font-size:21px;color:var(--ink);text-decoration:none;white-space:nowrap}
.top nav{display:flex;gap:4px;flex-wrap:wrap}
.top nav a{color:var(--mut);text-decoration:none;padding:7px 12px;border-radius:8px;font-size:15px}
.top nav a:hover{color:var(--ink);background:var(--card2)}
.top nav a.on{color:var(--acc);font-weight:700}
.hero{text-align:center;padding:44px 16px 28px}
.hero h1{font-family:'PT Serif',serif;font-size:38px;margin-bottom:10px}
.hero p{color:var(--mut);max-width:600px;margin:0 auto 24px;font-size:17px}
.search{position:relative;max-width:520px;margin:0 auto}
.search input{width:100%;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:17px;outline:none}
.search input:focus{border-color:var(--acc)}
.sres{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card2);border:1px solid var(--line);border-radius:12px;overflow:hidden;z-index:20;text-align:left}
.sres a{display:block;padding:11px 16px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.sres a:hover{background:var(--card)}
.sres a span{color:var(--mut);font-size:13px;margin-left:8px}
.sres .none{padding:12px 16px;color:var(--mut)}
.h{font-family:'PT Serif',serif;font-size:24px;margin:34px 0 14px}
.h1{font-family:'PT Serif',serif;font-size:32px;margin:22px 0 10px}
.lead{color:var(--mut);font-size:16px;margin-bottom:18px;max-width:720px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 15px;color:var(--ink);text-decoration:none;font-size:14px;transition:.15s}
.chip:hover{border-color:var(--acc);color:var(--acc)}
.chip.water{border-style:dashed}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;color:var(--ink);text-decoration:none;transition:.15s;display:flex;flex-direction:column;gap:4px}
.card:hover{border-color:var(--acc);transform:translateY(-2px)}
.card .fic{font-size:26px}
.card b{font-size:18px;font-family:'PT Serif',serif}
.card span{color:var(--mut);font-size:13px}
.more{margin:26px 0;text-align:center}
.crumbs{font-size:14px;color:var(--mut);margin:20px 0 4px}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--acc)}
.load{color:var(--mut);padding:20px;text-align:center}
.err{color:var(--bad);padding:16px;text-align:center;background:var(--card);border-radius:12px}
.ftable{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;overflow:hidden;margin:8px 0 12px}
.ftable th{background:var(--card2);padding:10px 8px;font-size:13px;color:var(--mut);font-weight:400}
.ftable th i{font-style:normal;font-size:11px}
.ftable td{padding:11px 8px;text-align:center;border-top:1px solid var(--line)}
.ftable .dl{text-align:left;font-weight:700;white-space:nowrap;padding-left:14px}
.sc{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;font-weight:700;font-size:16px}
.s5{background:#2e7d52;color:#fff}.s4{background:#3e8f5f;color:#fff}
.s3{background:#8a7a2e;color:#fff}.s2{background:#a05a2c;color:#fff}.s1{background:#8c3a30;color:#fff}
.gr{display:block;font-size:11px;color:var(--mut);margin-top:3px;font-style:normal}
.legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--mut);font-size:14px;margin-bottom:10px}
.legend .sc{width:26px;height:26px;font-size:13px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.tab{background:var(--card);border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:8px 16px;cursor:pointer;font-size:14px;font-family:inherit}
.tab.on{background:var(--acc);color:#0e1a12;border-color:var(--acc);font-weight:700}
.mchips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.mchip{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-size:13px;display:flex;flex-direction:column}
.mchip span{color:var(--mut)}
.about-fish,.txt{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:14px 0;color:#cfe0d2}
.txt ul{margin:10px 0 10px 20px}
.txt p{margin-bottom:10px}
.mtable{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}
.mrow{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line)}
.mrow:last-child{border-bottom:none}
.mrow span{width:90px}
.mrow b{width:80px;text-align:right;font-size:13px}
.mbar{flex:1;height:10px;background:var(--card2);border-radius:5px;overflow:hidden}
.mbar i{display:block;height:100%;border-radius:5px}
.mrow.good .mbar i{background:var(--acc)}.mrow.mid .mbar i{background:var(--acc2)}.mrow.bad .mbar i{background:var(--bad)}
.mooncal{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.mcell{background:var(--card2);border-radius:10px;padding:9px;text-align:center;font-size:12px;display:flex;flex-direction:column;gap:2px}
.mcell i{font-style:normal;color:var(--mut);font-size:10px}
.mcell.good{border:1px solid var(--acc)}.mcell.mid{border:1px solid var(--acc2)}.mcell.bad{border:1px solid var(--bad)}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:middle}
.dot.good{background:var(--acc)}.dot.mid{background:var(--acc2)}.dot.bad{background:var(--bad)}
.foot{border-top:1px solid var(--line);margin-top:40px;padding:26px 0;color:var(--mut);font-size:14px}
.foot .small{margin-top:8px;font-size:13px}
@media(max-width:600px){
 .hero h1{font-size:29px}
 .ftable th,.ftable td{padding:8px 4px;font-size:12px}
 .sc{width:28px;height:28px;font-size:14px}
 .gr{font-size:10px}
 .ftable .dl{font-size:12px}
}
