
:root{--bg:#07151c;--panel:#0d222c;--panel2:#102b36;--text:#eef7f6;--muted:#9eb8b8;--line:#23444c;--accent:#f2c14e;--accent2:#60d7cf;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#061219,#0a1b22 36%,#07151c);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.nav{position:sticky;top:0;z-index:30;background:rgba(6,18,25,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.navin{height:68px;display:flex;align-items:center;gap:28px}.brand{font-weight:850;letter-spacing:.2px;margin-right:auto}.brand b{color:var(--accent)}.nav a{font-size:14px}.hero{min-height:560px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(3,16,23,.97) 0%,rgba(3,16,23,.68) 45%,rgba(3,16,23,.25)),url('assets/fallback.webp') center/cover}.hero h1{font-size:clamp(42px,7vw,82px);line-height:.95;letter-spacing:-3px;margin:16px 0 20px;max-width:900px}.hero p{font-size:19px;line-height:1.6;max-width:720px;color:#d3e5e3}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:1.6px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 18px;font-weight:800;border:1px solid var(--line);cursor:pointer;background:var(--panel2);color:var(--text)}.btn.primary{background:var(--accent);color:#111;border-color:transparent}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-38px;position:relative}.stat{background:rgba(13,34,44,.96);border:1px solid var(--line);padding:22px;border-radius:18px}.stat b{display:block;font-size:27px}.stat span{color:var(--muted);font-size:13px}.section{padding:78px 0}.head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.head h2{font-size:38px;margin:7px 0 0;letter-spacing:-1px}.head p{max-width:620px;color:var(--muted);line-height:1.6}.lakegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lake{padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--panel2),var(--panel));min-height:220px}.lake h3{font-size:27px;margin:50px 0 10px}.lake p{color:var(--muted);line-height:1.55}.toolbar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;position:sticky;top:80px;z-index:20;background:rgba(7,21,28,.92);padding:10px;border-radius:16px;backdrop-filter:blur(16px);border:1px solid var(--line)}.control{width:100%;background:#0a1d25;color:var(--text);border:1px solid var(--line);padding:12px 13px;border-radius:10px;outline:none}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin:16px 2px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);transition:.18s transform,.18s border-color}.card:hover{transform:translateY(-3px);border-color:#477079}.photo{height:185px;background:#102833 center/cover no-repeat;position:relative}.photo:after{content:attr(data-lake);position:absolute;left:10px;top:10px;background:rgba(0,0,0,.58);padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.cardbody{padding:16px}.latin{font-style:italic;font-size:18px;font-weight:780}.ru{height:20px;color:var(--muted);font-size:13px;margin-top:4px;overflow:hidden}.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.pill{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:#cfe0df}.pager{display:flex;justify-content:center;gap:8px;margin-top:26px}.footer{border-top:1px solid var(--line);padding:35px 0 55px;color:var(--muted);font-size:13px}.specieshero{padding:46px 0 24px}.crumb{font-size:13px;color:var(--muted)}.specieslayout{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:start}.bigphoto{height:520px;border-radius:24px;background:#102833 center/cover;border:1px solid var(--line)}.detail h1{font-size:46px;line-height:1;margin:10px 0 8px;font-style:italic}.detail .common{font-size:18px;color:var(--muted);margin-bottom:20px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.fact{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.fact small{display:block;color:var(--muted);margin-bottom:4px}.article{display:grid;grid-template-columns:2fr 1fr;gap:22px;padding-bottom:70px}.prose,.side{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:25px}.prose h2{font-size:24px;margin:0 0 10px}.prose h3{margin-top:28px}.prose p{color:#c8d9d8;line-height:1.72}.sourcebox{font-size:13px;color:var(--muted);line-height:1.55}.warning{border-left:3px solid var(--accent);padding:12px 14px;background:#18271f;border-radius:8px;margin:16px 0;font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.thumb{height:130px;background:#102833 center/cover;border-radius:10px}.loading{background:linear-gradient(90deg,#102833,#183844,#102833);background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{to{background-position:-200% 0}}@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}.toolbar{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.specieslayout,.article{grid-template-columns:1fr}.bigphoto{height:430px}}@media(max-width:680px){.navin>a:not(.brand){display:none}.hero{min-height:500px}.hero h1{letter-spacing:-2px}.stats{margin-top:12px}.lakegrid,.grid{grid-template-columns:1fr 1fr}.toolbar{position:static}.head{display:block}.head h2{font-size:32px}.bigphoto{height:330px}.detail h1{font-size:35px}}@media(max-width:450px){.grid,.lakegrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.toolbar{grid-template-columns:1fr}.photo{height:220px}}

/* Reader-friendly species cards */
.quickverdict{margin:18px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(242,193,78,.12),rgba(96,215,207,.08));color:#dcebea;line-height:1.55}.quickverdict b{color:var(--accent)}
.readerintro{font-size:17px!important;color:#dfebea!important;line-height:1.75!important}.sectioncard{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#0b2029}.sectioncard h3{margin:0 0 8px;font-size:18px}.sectioncard p{margin:0}.sectioncard .icon{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:rgba(242,193,78,.12);margin-right:8px;font-style:normal}.sectioncard.alert{border-color:#735f2f;background:#17251f}.sectioncard.alert h3{color:#f3d574}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.data-status{font-size:13px;line-height:1.6;color:#b7cccc;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.side .checklist{padding:0;margin:14px 0 0;list-style:none}.side .checklist li{position:relative;padding:8px 0 8px 24px;color:#c9dada;font-size:14px;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.05)}.side .checklist li:before{content:'✓';position:absolute;left:0;color:var(--accent2);font-weight:900}.side .checklist li:last-child{border-bottom:0}.minihead{margin:22px 0 6px;font-size:16px}.readingnote{color:var(--muted);font-size:12px;line-height:1.55;margin-top:12px}@media(max-width:680px){.twocol{grid-template-columns:1fr}.sectioncard{padding:17px}.readerintro{font-size:16px!important}}

.deep-pill{font-weight:800;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.09)}

.keeperextra{margin-top:34px}.tanktiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tanktiers>div{padding:16px;border:1px solid #d8dde3;border-radius:14px}.sectioncard.good{border-left:4px solid #5b9b6b}@media(max-width:720px){.tanktiers{grid-template-columns:1fr}}

/* ===== Visual species profile v2 ===== */
.specieslayout{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:38px}
.specieshero{padding:34px 0 34px}
.bigphoto{height:570px;box-shadow:0 24px 70px rgba(0,0,0,.24);background-size:cover;background-position:center}
.detail{position:sticky;top:86px}
.detail .common{margin-bottom:14px}
.visualfacts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 12px}
.visualfact{min-height:94px;padding:12px 9px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));display:flex;flex-direction:column;justify-content:space-between}
.visualfact .vficon{font-size:19px;line-height:1}.visualfact small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.visualfact b{font-size:14px;line-height:1.2;color:#eef7f6}
.quickscales{display:grid;gap:12px;margin:16px 0 18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(6,20,27,.48)}
.scalehead{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.scalehead b{font-size:13px}.scalehead span{color:var(--muted);text-align:right}.scaletrack{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:7px}.scaletrack i{display:block;height:7px;border-radius:99px;background:rgba(255,255,255,.08)}.scaletrack i.on{background:linear-gradient(90deg,var(--accent2),var(--accent))}
.facts{grid-template-columns:repeat(4,1fr);margin-top:10px}.fact{padding:11px 12px}.fact small{font-size:10px}.fact b{font-size:13px}
.quickverdict{margin:14px 0 0}
.article{grid-template-columns:minmax(0,2.1fr) minmax(260px,.9fr);gap:24px}
.prose{padding:29px}.prose>h2{font-size:30px;letter-spacing:-.02em}.readerintro{max-width:850px}
.sectioncard{transition:border-color .18s ease,transform .18s ease}.sectioncard:hover{border-color:rgba(96,215,207,.35)}
.sectioncard h3{display:flex;align-items:center;font-size:19px}.sectioncard .icon{flex:0 0 auto}
.sectioncard p{color:#cbdcdb;line-height:1.68}
.side{position:sticky;top:88px;height:max-content}
.profilehint{margin:16px 0 2px;padding:12px 14px;border-radius:13px;border:1px solid rgba(96,215,207,.22);background:rgba(96,215,207,.06);font-size:12px;color:#bdd7d5;line-height:1.55}
.gallery .thumb{cursor:zoom-in;transition:.18s transform,.18s opacity}.gallery .thumb:hover{transform:translateY(-2px);opacity:.88}
.photooverlay{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:30px}.photooverlay.open{display:flex}.photooverlay img{max-width:min(1200px,96vw);max-height:90vh;border-radius:16px;box-shadow:0 24px 90px rgba(0,0,0,.5)}.photooverlay button{position:absolute;right:24px;top:20px;width:44px;height:44px;border:0;border-radius:50%;font-size:26px;background:rgba(255,255,255,.12);color:white;cursor:pointer}
@media(max-width:1100px){.visualfacts{grid-template-columns:repeat(3,1fr)}.specieslayout{grid-template-columns:1fr 1fr}.detail{position:static}.bigphoto{height:500px}.facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.specieslayout{grid-template-columns:1fr}.visualfacts{grid-template-columns:repeat(5,1fr)}.article{grid-template-columns:1fr}.side{position:static}.bigphoto{height:min(62vw,500px)}}
@media(max-width:620px){.specieshero{padding-top:24px}.visualfacts{grid-template-columns:repeat(2,1fr)}.visualfact{min-height:82px}.visualfact:last-child{grid-column:span 2}.quickscales{padding:14px}.facts{grid-template-columns:1fr 1fr}.prose{padding:20px}.prose>h2{font-size:26px}.article{gap:14px}.bigphoto{height:72vw;min-height:280px}.gallery{grid-template-columns:repeat(4,1fr)}.thumb{height:86px}.detail h1{font-size:36px}}

/* ===== Visual identification galleries ===== */
.visual-id{margin:34px 0 30px;padding:25px;border:1px solid rgba(96,215,207,.22);border-radius:20px;background:linear-gradient(145deg,rgba(96,215,207,.055),rgba(242,193,78,.035))}
.visual-id>h2{font-size:28px;margin:7px 0 8px}.idintro{max-width:880px;margin:0 0 14px!important;color:#d3e2e1!important}.idcontext{padding:12px 14px;margin:14px 0 18px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:13px;line-height:1.55;color:#c6d9d8}.idcontext b{color:var(--accent)}
.idgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.idcard{margin:0;padding:16px;border-radius:16px;border:1px solid var(--line);background:rgba(5,19,26,.58)}.idcardhead{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px}.idcardhead>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:rgba(242,193,78,.12);color:var(--accent);font-weight:900;font-size:18px}.idcard h3{margin:0 0 3px;font-size:17px}.idcardhead p{margin:0!important;font-size:12px;line-height:1.45!important;color:var(--muted)!important}.idphotos{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.idphoto{height:145px;border:0;border-radius:11px;background:#102833 center/cover no-repeat;cursor:zoom-in;transition:transform .18s ease,opacity .18s ease}.idphoto:hover{transform:translateY(-2px);opacity:.88}.idempty{min-height:92px;display:flex;align-items:center;padding:13px;border-radius:11px;border:1px dashed rgba(158,184,184,.28);color:var(--muted);font-size:12px;line-height:1.5}.idnote{margin-top:14px;font-size:11px;line-height:1.55;color:#9db5b4}.idloading{padding:16px;border-radius:12px;background:rgba(255,255,255,.03);color:var(--muted);font-size:13px}
@media(max-width:720px){.visual-id{padding:18px;margin-left:-2px;margin-right:-2px}.idgrid{grid-template-columns:1fr}.idphotos{grid-template-columns:repeat(2,1fr)}.idphoto{height:34vw;min-height:120px;max-height:180px}}

/* ===== Smart stocking planner ===== */
.planner-section{background:linear-gradient(180deg,rgba(96,215,207,.035),transparent)}
.planner{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.58fr);gap:22px;align-items:start}
.planner-form,.planner-results{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:22px}
.planner-form{position:sticky;top:88px}.planner-form label{display:block;margin-bottom:15px}.planner-form label>span:first-child{display:block;font-size:12px;font-weight:800;color:#dcebea;margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}.volume-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.volume-row b{font-size:17px;color:var(--muted)}
.planner-check{display:flex!important;gap:11px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.planner-check input{margin-top:4px;accent-color:var(--accent)}.planner-check span{margin:0!important;text-transform:none!important;letter-spacing:0!important}.planner-check b{display:block;font-size:14px}.planner-check small{display:block;margin-top:3px;color:var(--muted);font-weight:400;line-height:1.4}.planner-submit{width:100%;margin-top:3px}.planner-note{font-size:11px;color:var(--muted);line-height:1.55;margin-top:12px}
.planner-empty{min-height:380px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.planner-empty span{font-size:48px}.planner-empty h3{color:var(--text);margin:10px 0 5px}.planner-empty p{margin:0;max-width:430px;line-height:1.55}
.stock-option{border:1px solid var(--line);border-radius:18px;padding:19px;margin-bottom:14px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.stock-option:last-child{margin-bottom:0}.stock-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.stock-head h3{margin:4px 0 4px;font-size:22px}.stock-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.stock-badge{white-space:nowrap;border:1px solid rgba(242,193,78,.35);background:rgba(242,193,78,.10);color:#f5d87f;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:850}.stock-list{display:grid;gap:7px;margin:16px 0}.stock-fish{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px;border-radius:12px;background:rgba(6,20,27,.55);border:1px solid rgba(255,255,255,.055)}.stock-photo{height:46px;border-radius:9px;background:#102833 center/cover}.stock-name b{display:block;font-size:13px;font-style:italic}.stock-name span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.stock-count{text-align:right}.stock-count b{display:block;font-size:15px;color:var(--accent)}.stock-count span{font-size:10px;color:var(--muted)}.stock-rationale{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stock-note{padding:11px 12px;border-radius:11px;border:1px solid var(--line);font-size:12px;line-height:1.5;color:#c7d9d7}.stock-note.good{border-color:rgba(96,215,207,.28);background:rgba(96,215,207,.05)}.stock-note.warn{border-color:rgba(242,193,78,.28);background:rgba(242,193,78,.05)}.stock-note b{color:var(--text)}.stock-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.stock-actions a{font-size:11px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:#d4e5e3}.stock-actions a:hover{border-color:var(--accent2)}
@media(max-width:900px){.planner{grid-template-columns:1fr}.planner-form{position:static}.planner-empty{min-height:240px}}@media(max-width:620px){.planner-form,.planner-results{padding:16px}.stock-head{display:block}.stock-badge{display:inline-block;margin-top:9px}.stock-rationale{grid-template-columns:1fr}.stock-fish{grid-template-columns:46px minmax(0,1fr) auto}.stock-photo{height:42px}}

/* Local photo archive */
.loading{animation:none!important;background:#102833!important}
.localphoto{overflow:hidden}.photo-missing{position:absolute;inset:auto 12px 12px 12px;padding:8px 10px;border-radius:9px;background:rgba(5,17,23,.72);color:#d5e5e4;font-size:12px;backdrop-filter:blur(4px)}
.missing-photo{position:relative}.missing-photo:after{content:'Фото готовится';position:absolute;left:18px;bottom:18px;background:rgba(5,17,23,.75);padding:9px 12px;border-radius:10px;color:#dbe9e7;font-size:13px}
.local-gallery-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:12px;padding:18px;color:var(--muted);font-size:13px}.local-thumb{border:0;cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(94vw,1500px);max-height:90vh;border-radius:12px}.lightbox-close{position:fixed;right:24px;top:20px;border:0;background:rgba(255,255,255,.12);color:white;width:44px;height:44px;border-radius:50%;font-size:28px;cursor:pointer}
