@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#081722;--panel:#102633;--edge:#24414f;--ink:#f1f6f6;--muted:#a0b7c3;--teal:#56d5c0;--gold:#ecbd75}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#153746 0, var(--bg) 55%);color:var(--ink);font:15px 'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}header{height:80px;display:flex;align-items:center;gap:24px;max-width:1200px;margin:auto;padding:0 28px}.brand{display:flex;align-items:center;gap:12px;font-size:32px;color:var(--teal)}.brand span{font-size:14px;letter-spacing:2px;line-height:1.3;color:white}.brand b{display:block;font-size:11px;letter-spacing:1.9px}.header-note{font-size:10px;letter-spacing:2px;color:var(--muted);margin-left:auto}.source-link{font-size:12px;color:var(--muted)}main{max-width:1144px;margin:auto;padding:0 24px 115px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.22}h1{font-size:clamp(32px,5.5vw,58px);letter-spacing:-2px;margin:12px 0 20px}h2{font-size:25px;margin:0 0 12px}h3{font-size:18px;margin:0 0 6px}p{margin:10px 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;font-weight:800;color:var(--teal)}.hero{position:relative;border:1px solid var(--edge);border-radius:22px;overflow:hidden;min-height:390px;display:flex;align-items:flex-end;background:#163742}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,26,.94),rgba(4,18,26,.25)),linear-gradient(0deg,rgba(4,18,26,.65),transparent)}.hero-content{position:relative;z-index:1;padding:42px;max-width:700px}.hero-content p{color:#d0dfe4;max-width:510px}.hero-credit{position:absolute;z-index:2;right:15px;bottom:10px;font-size:9px;background:#08172288;padding:3px 7px;border-radius:4px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);border:1px solid var(--teal);color:#082b2e;padding:11px 18px;border-radius:8px;font-size:13px;font-weight:800}.btn.secondary{background:#102633;color:var(--ink);border-color:#42606c}.btn.small{padding:7px 12px;font-size:12px}.section{margin:32px 0}.section-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.section-top h2{margin:0}.section-top>a{font-size:12px;color:var(--teal)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:linear-gradient(160deg,#173440,#10232f);border:1px solid var(--edge);border-radius:14px;overflow:hidden;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#508778}.card img{width:100%;height:160px;object-fit:cover;display:block}.card-body{padding:18px}.card p{font-size:12px;margin:6px 0}.card-foot{display:flex;justify-content:space-between;color:var(--teal);font-size:11px;padding-top:14px}.fish-card img{object-fit:contain;background:#e9edeb;padding:14px}.fish-card .latin{font-size:11px;font-style:italic;color:var(--muted)}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.shortcut{border:1px solid var(--edge);background:#102735;border-radius:12px;padding:18px 22px;display:flex;gap:14px;align-items:center}.shortcut .symbol{color:var(--teal);font-size:25px}.shortcut b{font-size:13px}.shortcut small{display:block;font-size:11px;color:var(--muted)}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.panel{border:1px solid var(--edge);border-radius:14px;background:#102633;padding:24px}.notice{border:1px solid #715e38;background:#3c342230;border-radius:12px;padding:18px 22px;margin:20px 0;color:#e5cfaa;font-size:13px}.notice p{color:#d7c7aa}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:12px;overflow:hidden;margin:20px 0}.stats>div{background:#102633;padding:20px}.stats strong{font-size:22px;display:block}.stats small{color:var(--muted);font-size:11px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);padding:12px 14px;background:#15313d}td{padding:16px 14px;border-bottom:1px solid var(--edge);vertical-align:top}td:first-child{font-weight:700}td small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.table-wrap{overflow:auto;border:1px solid var(--edge);border-radius:12px;background:#102633}.table-wrap a{color:var(--teal)}.search-row{display:flex;gap:10px;margin:22px 0}.search-row input{flex:1;min-width:0}.search-row input,.search-row select{background:#102633;border:1px solid #355363;border-radius:9px;color:var(--ink);padding:13px 16px}.back{display:inline-block;color:var(--muted);font-size:12px;margin:20px 0}.profile-head{margin:14px 0 24px}.profile-head h1{font-size:42px;margin-bottom:8px}.profile-head p{font-style:italic}.fish-figure{margin:0;background:#e9edeb;border-radius:16px;overflow:hidden;color:#213b47;border:1px solid #49606c}.fish-figure img{display:block;width:100%;height:360px;object-fit:contain;padding:25px}.fish-figure figcaption{font-size:11px;padding:12px 20px;background:#dce5e4}.fish-figure a{text-decoration:underline}.profile-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.label{color:var(--muted);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.rule-value{font-size:26px;font-weight:800;margin:5px 0;color:white}.rule-detail{font-size:14px;color:#d2e0e5;border-top:1px solid var(--edge);padding-top:18px;margin-top:18px}.stack>.panel{margin-bottom:16px}.stack h3{font-size:16px}.tag{display:inline-block;background:#1b473f;color:#86e2cd;padding:3px 9px;border-radius:5px;font-size:10px;letter-spacing:.4px}.variants{display:grid;gap:12px}.variant{border:1px solid var(--edge);border-radius:10px;padding:18px;background:#102633}.variant p{font-size:13px}.variant a{color:var(--teal);font-size:12px}.source-list{display:grid;gap:10px}.source-list a{border-bottom:1px solid var(--edge);padding:12px 0;color:var(--teal);font-size:13px}.muted{color:var(--muted)}.footer-note{font-size:11px;color:#859fac;margin-top:35px;border-top:1px solid var(--edge);padding-top:20px}.empty{padding:40px;text-align:center;border:1px dashed var(--edge);border-radius:12px}.control-label{font-size:12px;color:var(--muted)}nav{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 32px));height:66px;display:flex;justify-content:space-around;align-items:center;background:#102735f5;backdrop-filter:blur(20px);border:1px solid #36515f;border-radius:16px;z-index:10;box-shadow:0 10px 40px #0007}nav a{display:flex;flex-direction:column;align-items:center;font-size:22px;line-height:1.3;color:#8aa5b3;min-width:70px}nav span{font-size:10px}nav a.active{color:var(--teal)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#224c46;border:1px solid var(--teal);padding:12px 20px;border-radius:9px;z-index:20;display:none;font-size:13px}.show{display:block!important}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.source-inline{color:var(--teal);font-size:12px;display:inline-block;margin-top:10px}.fallback-note{color:#9eb5c0;font-size:10px}button.save{background:transparent;color:var(--teal);border:1px solid #42606c;border-radius:8px;padding:8px 14px}.scope{margin:12px 0;color:var(--muted);font-size:12px}.collection-head{padding:22px 0 0}.collection-head h1{font-size:42px}.divider{height:1px;background:var(--edge);margin:20px 0} @media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.profile-layout{grid-template-columns:1fr}.header-note{display:none}.source-link{margin-left:auto}}@media(max-width:550px){header{height:68px;padding:0 20px}main{padding:0 16px 105px}.hero{min-height:365px;border-radius:16px}.hero-content{padding:28px 24px}.hero-credit{font-size:8px;max-width:160px}.hero h1{font-size:39px}.shortcuts{gap:8px}.shortcut{padding:14px 8px;display:block;text-align:center}.shortcut small{font-size:9px}.shortcut b{font-size:11px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:15px}.stats strong{font-size:20px}.section{margin:26px 0}.section-top h2{font-size:21px}.card img{height:125px}.card-body{padding:13px}.card h3{font-size:16px}.grid{gap:10px}.profile-head h1{font-size:34px}.fish-figure img{height:260px;padding:15px}.panel{padding:20px}.search-row{flex-wrap:wrap}.search-row select{width:100%}td,th{padding:12px;min-width:110px}.table-wrap td:first-child{min-width:155px}.collection-head h1{font-size:35px}.grid.three{grid-template-columns:1fr 1fr}}
.fish-card img{background:#102633;padding:0;height:170px}.fish-figure{background:#102633;border-color:var(--edge);color:var(--muted)}.fish-figure img{padding:0;height:auto;max-height:460px;aspect-ratio:3/2;object-fit:contain}.fish-figure figcaption{background:#102633;color:var(--muted);border-top:1px solid var(--edge);font-size:10px}.more-fish{border:1px solid var(--edge);border-radius:14px;margin-top:20px;background:#102633}.more-fish summary{cursor:pointer;padding:18px 22px;font-size:17px;font-weight:700;display:flex;justify-content:space-between}.more-fish .grid{padding:0 18px 18px}.compact-sources{font-size:12px;border-top:1px solid var(--edge);padding-top:12px;margin-top:14px;color:var(--muted)}.compact-sources summary{cursor:pointer;color:var(--teal);font-weight:600}.compact-sources a{margin-right:16px}.water-panel .stats>div{padding:16px}.water-panel .stats strong{font-size:23px}.neutral{background:#263d49;color:#b5c8d0}section[id]{scroll-margin-top:18px}.fish-card{display:block;min-height:265px}.shortcuts a:hover{border-color:var(--teal)}@media(max-width:550px){.fish-card img{height:125px}.fish-card{min-height:245px}.water-panel .stats strong{font-size:21px}}
.harvest-first{margin:0 0 22px;border-color:#3e756d;background:linear-gradient(135deg,#173c40,#102633)}.harvest-first .rule-grid{max-width:650px}.harvest-first .rule-detail{margin-bottom:0}.harvest-first .rule-value{font-size:29px}.btn[aria-pressed="true"]{border-color:var(--teal);color:var(--teal)}
.neutral-hero{background:radial-gradient(ellipse at 85% 15%,#205558,transparent 65%),linear-gradient(140deg,#103342,#081b28);min-height:360px}.neutral-hero:after{background:linear-gradient(90deg,rgba(4,18,26,.84),rgba(4,18,26,.3)),linear-gradient(0deg,rgba(4,18,26,.45),transparent)}.home-observations{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin:20px 0 0}.home-observations>div{border:1px solid #76b6bc40;background:#081d2bbd;padding:14px 16px;border-radius:10px}.home-observations strong{display:block;font-size:24px;line-height:1.3;margin:5px 0}.home-observations strong.advisory-summary{font-size:14px;line-height:1.5}.home-observations small,.home-observations a{display:block;font-size:10px;color:#c1d4dd}.home-observations a{color:var(--teal);margin-top:5px}.home-refresh{font-size:10px!important;color:#b6d0d9!important}.hero:has(.home-observations){min-height:445px}.hero:has(.home-observations) h1{font-size:clamp(30px,4vw,48px)}@media(max-width:550px){.home-observations{grid-template-columns:1fr;gap:8px}.home-observations>div{padding:10px 13px}.hero:has(.home-observations){min-height:535px}.hero:has(.home-observations) .hero-content{padding:26px 22px 32px}.home-observations .label{font-size:9px}}

.request-form{max-width:760px;margin:auto}.request-form label{display:block;margin-bottom:20px;font-weight:600}.request-form label small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.request-form input,.request-form textarea{display:block;width:100%;margin-top:8px;box-sizing:border-box;padding:13px;background:#071c28;border:1px solid #315562;border-radius:8px;color:#eef5f6;font:inherit}.request-form button:disabled{opacity:.6}.request-form textarea{resize:vertical}.footer-note .actions{margin-top:12px}.footer-note a{color:var(--teal)}

/* Compact lake lookup on general species pages. */
.water-picker-controls{display:grid;gap:8px;margin:20px 0 12px;min-width:0}.water-picker-controls label{font-size:12px;color:var(--muted)}.water-picker-controls label:not(:first-child){margin-top:8px}.water-picker-controls input,.water-picker-controls select{width:100%;min-width:0;max-width:100%;background:#102633;border:1px solid #355363;border-radius:9px;color:var(--ink);padding:13px 12px;font:inherit;font-size:14px}.water-picker-controls input:focus-visible,.water-picker-controls select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.water-picker-pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.water-picker-pages .scope{margin:0;font-size:11px}.water-picker-pages button{font-size:12px}.water-picker-pages button:disabled{opacity:.4;cursor:default}

/* Compact weather opens a separate forecast dialog; it never expands the hero. */
.hero-weather{position:absolute;z-index:2;top:20px;right:20px;width:210px;color:var(--ink);background:rgba(5,29,38,.55);border:1px solid rgba(171,225,231,.3);border-radius:12px;backdrop-filter:blur(12px)}.weather-summary{display:block;width:100%;padding:12px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.weather-kicker{display:block;font-size:10px;color:#c5dce2}.weather-line{display:flex;align-items:center;gap:10px;margin:4px 0}.weather-line strong{font-size:27px;line-height:1.1;white-space:nowrap}.weather-line span{font-size:12px;line-height:1.3}.weather-summary small{display:block;font-size:10px;color:#d0e4e7}.weather-summary:focus-visible,.weather-close:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.hero:has(.hero-weather) .hero-content{padding-top:135px}.weather-dialog{color:var(--ink);background:#082631;border:1px solid #355363;border-radius:20px;padding:24px;width:min(600px,calc(100vw - 32px));max-height:85vh;overflow:auto}.weather-dialog::backdrop{background:rgba(1,15,22,.72);backdrop-filter:blur(4px)}.weather-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.weather-dialog-head h2{font-size:24px;margin:8px 0}.weather-close{border:0;background:transparent;color:var(--ink);font-size:30px;cursor:pointer}.weather-now{display:flex;gap:12px;align-items:center}.weather-now strong{font-size:32px}.weather-periods{display:grid;gap:12px;margin:20px 0}.weather-periods>div{border-top:1px solid var(--edge);padding-top:14px}.weather-periods small{display:block;color:var(--muted);margin-top:6px}.weather-periods p{font-size:14px}.weather-dialog .btn{margin:20px 0 0}.retained{color:#e9c38b!important}@media(max-width:550px){.hero-weather{top:16px;right:16px;width:190px}.hero:has(.hero-weather) .hero-content{padding-top:130px}.weather-dialog{padding:20px}}

/* Legal pages use normal document flow, separate from the floating main navigation. */
.legal-page{max-width:900px;margin:0 auto}.legal-page .panel h2{font-size:24px;line-height:1.3;margin:0 0 16px}.legal-page .panel p{font-size:16px;line-height:1.8}.legal-page a{overflow-wrap:anywhere;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.legal-page .legal-toc{position:static;transform:none;height:auto;bottom:auto;left:auto;z-index:auto;align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-width:none;margin:0 0 28px;padding:20px;gap:12px;border-radius:16px}.legal-toc a{display:block;text-align:left;font-size:14px;line-height:1.5}.legal-page section{scroll-margin-top:24px}@media(max-width:600px){.legal-page .legal-toc{grid-template-columns:1fr}.legal-page .panel h2{font-size:21px}}

/* Approved Texas Water Mark: prominent, high contrast, with live accessible lettering. */
header{height:112px;gap:24px}.brand{gap:14px;flex-shrink:0;white-space:nowrap}.brand-mark{display:block;width:76px;height:76px;object-fit:contain;flex:none}.brand .brand-wordmark{font-family:Manrope,'DM Sans',sans-serif;font-size:32px;font-weight:800;letter-spacing:1.8px;line-height:1.1;color:#f4f8f8}.brand .brand-wordmark b{font-size:13px;font-weight:800;letter-spacing:2px;margin-top:7px;line-height:1.2}.brand:focus-visible{outline:2px solid var(--teal);border-radius:6px}@media(max-width:550px){header{height:96px;padding:0 16px;gap:12px}.brand{gap:10px}.brand-mark{width:64px;height:64px}.brand .brand-wordmark{font-size:27px;letter-spacing:1.3px}.brand .brand-wordmark b{font-size:11px;letter-spacing:1.5px;margin-top:6px}.source-link{white-space:nowrap;font-size:11px}}@media(max-width:359px){.brand-mark{width:54px;height:54px}.brand .brand-wordmark{font-size:25px}.brand .brand-wordmark b{font-size:10px;letter-spacing:1.2px}}

/* Preserve the approved silhouette while displaying the white colorway. */
.brand-mark{-webkit-mask-image:url("brand/texas-water-mark.png");mask-image:url("brand/texas-water-mark.png");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}

.request-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

.contact-opt{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer}.contact-opt input[type="checkbox"]{width:22px!important;height:22px;flex:0 0 22px;margin-top:4px;accent-color:#00cbbb}.contact-opt span{line-height:1.6}
