:root{--paper:#f4f0e5;--ink:#223e34;--olive:#c6cbb8;--orange:#b85735;--line:#cfd0bf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}header{height:96px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 6%;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:10px}.fish{font-size:38px}.brand-sub{font-size:9px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:13px;max-width:85px;line-height:1.6}nav{display:flex;gap:30px;align-items:center;font-size:13px}.outline{background:transparent;border:1px solid var(--ink);padding:12px 17px;border-radius:3px}.intro{position:relative;max-width:1440px;margin:auto;overflow:hidden;padding:65px 6% 64px;min-height:390px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700}.intro h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(65px,8vw,112px);font-weight:400;line-height:.95;letter-spacing:-3px;margin:24px 0 0;position:relative;z-index:1}.intro h1 em{font-weight:400;color:var(--orange)}.intro-side{position:absolute;left:60%;top:115px;z-index:1}.intro-side p{font-size:18px;line-height:1.7}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:9px;display:inline-block;margin-top:15px}.text-link span{margin-left:28px}.contours{position:absolute;width:500px;height:500px;border:1px solid #d8d8c7;border-radius:44% 58% 37% 64%;right:-50px;top:-90px;transform:rotate(-25deg);box-shadow:0 0 0 22px var(--paper),0 0 0 23px #d8d8c7,0 0 0 48px var(--paper),0 0 0 49px #d8d8c7,0 0 0 78px var(--paper),0 0 0 79px #d8d8c7;opacity:.7}.atlas{background:#e8e9dd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 6% 35px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1270px;margin:auto}.section-top h2,h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:46px;line-height:1.05;font-weight:400;margin:14px 0 0}.section-top p{font-size:13px;line-height:1.8;margin:0}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;max-width:1270px;margin:30px auto 0;gap:35px;align-items:center}.map-top{display:flex;gap:22px;font-size:10px;letter-spacing:.4px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:7px}.muted{background:#b8c1ad}#stateMap{display:block;width:100%;max-height:430px;margin-top:10px}.state rect{fill:#ced4c1;stroke:#e8e9dd;stroke-width:3;transition:fill .2s,transform .2s}.state text{fill:#385345;font:600 13px 'DM Sans',Arial;pointer-events:none}.state.available rect{fill:#b85735}.state.available text{fill:#fff8e9}.state:hover rect,.state:focus rect,.state.selected rect{fill:#284d3c}.state:hover text,.state:focus text,.state.selected text{fill:white}.state:focus{outline:none}.map-bottom{display:flex;align-items:center;gap:13px;font-size:10px}.map-bottom span{margin-left:auto;opacity:.6}.map-bottom select{background:transparent;border:0;border-bottom:1px solid #83917d;padding:8px;color:var(--ink);max-width:170px}aside{background:var(--paper);border:1px solid #c8ccb9;padding:28px;min-height:285px}aside .number{font-size:10px;letter-spacing:2px;color:var(--orange)}aside h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:38px;font-weight:400;margin:20px 0 12px}aside p{font-size:13px;line-height:1.8}aside button{border:0;background:var(--ink);color:white;padding:13px 17px;font-size:12px;margin-top:10px}.stories{padding:65px 6%;max-width:1440px;margin:auto}.small{font-size:10px;letter-spacing:1px}.story-card{width:100%;border:1px solid var(--line);background:transparent;margin-top:28px;display:grid;grid-template-columns:44% 56%;padding:0;text-align:left}.story-art{background:#dedac6;min-height:280px;position:relative;overflow:hidden}.story-art svg{width:100%;height:100%;position:absolute;bottom:0;object-fit:cover}.story-art span{position:absolute;top:25px;left:25px;font-size:10px;letter-spacing:2px}.story-copy{padding:37px}.story-copy h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:38px;font-weight:400;margin:16px 0}.story-copy p{font-size:14px;line-height:1.8;max-width:430px}.byline{font-size:10px;margin-top:30px;display:flex;justify-content:space-between;gap:15px}.byline b{color:var(--orange)}.story-card:hover{border-color:var(--orange)}.about{background:var(--ink);color:var(--paper);padding:55px 8%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.about>.eyebrow{grid-column:1/-1;color:#c6b895}.about h2{font-size:48px;margin:0}.about p{font-size:15px;line-height:1.9;max-width:510px}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer span,footer small{font-size:11px}footer small{opacity:.65}dialog{border:0;background:var(--paper);color:var(--ink);width:min(850px,94vw);max-height:90vh;padding:55px;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#12281fbb;backdrop-filter:blur(4px)}.close{position:absolute;right:18px;top:12px;font-size:30px;border:0;background:none;padding:5px 10px}article h2{font-size:60px}article p{font-size:16px;line-height:1.9}article h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-top:35px}.dek{font-size:21px}.credit{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:22px}.editor-note{font-size:12px;line-height:1.7;opacity:.75;border-top:1px solid var(--line);padding-top:15px}.journal-head p{font-size:14px;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px}form label{margin:16px 0}input,textarea,form select{display:block;width:100%;margin-top:8px;background:#fffaf0;border:1px solid #b9c0ad;padding:12px;font:inherit;color:var(--ink)}.solid{background:var(--ink);border:0;color:white;padding:14px 20px}.sample-entry{border:1px solid var(--line);padding:17px;margin-top:15px}.sample-entry p{white-space:pre-wrap;font-size:13px}.sample-entry button{float:right;background:none;border:0;text-decoration:underline;font-size:11px}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:800px){header{height:85px;padding:0 5%}.brand{font-size:18px}.brand-sub,nav>a{display:none}nav{gap:0}.outline{font-size:11px;padding:10px}.intro{padding:45px 6%;min-height:420px}.intro-side{position:relative;left:auto;top:auto;margin-top:25px}.intro-side p{font-size:15px;line-height:1.6;margin-bottom:0}.contours{right:-300px}.atlas-layout{grid-template-columns:1fr;gap:15px}.section-top{align-items:start}.section-top p{max-width:160px;font-size:11px}.section-top h2{font-size:35px}.atlas{padding:35px 5%}.map-bottom{flex-wrap:wrap}.map-bottom span{width:100%;margin:0}aside{min-height:0;padding:23px}aside h3{margin:12px 0;font-size:32px}#stateMap{margin-top:15px}.stories{padding:40px 5%}.small{display:none}.story-card{grid-template-columns:1fr}.story-art{min-height:210px}.story-copy{padding:25px}.story-copy h3{font-size:32px}.byline{flex-direction:column}.about{padding:40px 6%;grid-template-columns:1fr}.about h2{font-size:40px}footer{flex-wrap:wrap}footer small{width:100%}dialog{padding:45px 23px 25px}article h2{font-size:42px}.form-row{grid-template-columns:1fr;gap:0}}

header{justify-content:center;height:112px;border:0}.mast{display:flex;align-items:center;gap:13px}.mast span{font:48px Georgia,serif;letter-spacing:-2.7px}.mast b{font-weight:700}.ribbon{background:#223e34;color:#faf6e9;display:flex;justify-content:center;align-items:stretch;gap:0}.ribbon a,.ribbon button{display:block;padding:14px 24px;font:500 14px Arial,sans-serif;background:none;border:0;color:inherit}.ribbon a:hover,.ribbon button:hover{background:#335348}.atlas-title{text-align:center}.atlas-title h1{font:normal clamp(34px,5vw,63px) Georgia,serif;margin:0;letter-spacing:-2px}.atlas-title p{font-size:14px;margin:12px 0}.atlas{padding-top:32px}.atlas-layout{margin-top:20px}.state{cursor:pointer}.state path{fill:#c3cbb7;stroke:#f7f3e9;stroke-width:1.15;stroke-linejoin:round}.state.available path{fill:#b75936}.state.selected path{stroke:#633520;stroke-width:2;fill:#934724}.state:not(.available).selected path{fill:#738979;stroke:#284838}.state:hover path,.state:focus-visible path{fill:#395c4c;stroke:#253d32}.atlas-layout svg{max-height:550px!important}#statePanel .number{letter-spacing:1.2px}@media(max-width:800px){header{height:84px}.mast span{font-size:36px}.mast svg{width:82px}.ribbon{justify-content:space-evenly}.ribbon a,.ribbon button{font-size:12px;padding:13px 5px}.atlas-title p{font-size:12px}.atlas-layout{margin-top:18px}.map-top{gap:14px}.atlas{padding-top:25px}.map-bottom span{display:none}}

.state.has-catches:not(.available) path{fill:#467263}.state.has-catches.selected path{stroke:#172f25;stroke-width:2.4}#journalLegend{color:#315b4d}#statePanel button{display:block}

.story-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}dialog article>.story-art{height:210px;min-height:0;margin-bottom:22px}.catch-credit{min-height:0;padding:16px;border-left:4px solid var(--orange);margin:18px 0}#coverThumb{max-width:100%;max-height:160px}.story-copy{overflow-wrap:anywhere}

#entries{max-height:65vh;overflow-y:auto;overscroll-behavior:contain}
.catch-row{border-bottom:1px solid var(--line);padding:.5rem .25rem}
.catch-row summary{cursor:pointer;padding:.4rem .25rem}
.catch-row summary small{display:block;margin:.2rem 0 0 1.1rem;color:#526054}
.catch-row p{white-space:pre-line}
.catch-row img{display:block;max-height:55vh;object-fit:contain;margin:.5rem 0}
#catchPins g{cursor:pointer}
#catchPins path{fill:#ad482b;stroke:white;stroke-width:1.6}
#catchPins circle{fill:white}
#catchPins g:focus path,#catchPins g:hover path{fill:#552510;stroke-width:2.5}

.angler-stamp{pointer-events:none}
.angler-stamp circle{stroke:#fff6db;stroke-width:1}
.state .angler-stamp text{text-anchor:middle;fill:#fff6db;font-family:Arial,sans-serif;font-weight:bold}
.state-credit{font-weight:bold}
.map-top{flex-wrap:wrap}

@media(max-width:720px){.ribbon{align-items:stretch;justify-content:space-evenly;gap:0}.ribbon>a,.ribbon>button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;padding:8px 3px;min-height:44px}}
#savedPhotos{display:flex;flex-wrap:wrap;gap:.6rem}#savedPhotos img{display:block;width:100px;height:80px;object-fit:contain}#savedPhotos button{font-size:.8rem;padding:.4rem}#newStory{margin-bottom:1rem}

.catch-row summary .journal-note-preview{display:block;grid-column:1/-1;flex-basis:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.catch-row[open] summary .journal-note-preview{display:none}

figure.catch-credit{border:1px solid #c4cbb9;border-left:4px solid var(--orange);overflow-wrap:anywhere}figure.catch-credit>strong,figure.catch-credit>small{display:block}figure.catch-credit>small{margin:.2rem 0 .55rem}figure.catch-credit img{display:block;max-width:100%;height:auto}figure.catch-credit figcaption{font-size:.875rem;line-height:1.45;white-space:pre-wrap;margin-top:.45rem}

.story-media{display:block;box-sizing:border-box;clear:both;width:100%;max-width:100%;height:auto}
article:has(> .story-media){display:flow-root}
@media(min-width:701px){
  .story-media[data-layout="left"]{float:left;width:48%;margin:.4rem 4% 1rem 0}
  .story-media[data-layout="right"]{float:right;width:48%;margin:.4rem 0 1rem 4%}
}

#storyMediaTools{margin:1rem 0;border-block:1px solid #b9c0ad;padding:.75rem 0}
#storyMediaTools summary{cursor:pointer;font-weight:600;padding:.35rem 0}
.story-media-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start;margin-top:.75rem}
.story-media-inputs fieldset{min-width:0}
.story-media-inputs>fieldset{margin:0;border:1px solid #b9c0ad;padding:.4rem .85rem .85rem}
.story-media-inputs :is(select,input,textarea){max-width:100%;box-sizing:border-box}
.story-media-inputs [hidden],#storyMediaTools .media-source-choice{display:none}
@media(max-width:700px){
  #storyMediaTools .media-source-choice{display:block}
  .story-media-inputs{grid-template-columns:minmax(0,1fr)}
  .story-media-inputs[data-source="journal"]>.upload-inputs,
  .story-media-inputs[data-source="upload"]>.journal-inputs{display:none}
}

#pendingPhotos,#savedPhotos{display:flex;flex-wrap:wrap;gap:.65rem}
#pendingPhotos>div,#savedPhotos>div{width:96px;text-align:center}
#pendingPhotos img,#savedPhotos img{display:block;width:96px;height:96px;object-fit:cover;border-radius:4px;margin-bottom:.25rem}
#pendingPhotos button,#savedPhotos button{font-size:.8rem;padding:.4rem;width:100%}
.log-switch{display:flex;justify-content:center;gap:.2rem;padding:.45rem;background:var(--paper)}
.log-switch button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:1rem;padding:.35rem 1rem;font:600 .85rem Arial,sans-serif}
.log-switch button[aria-pressed=true]{background:var(--ink);color:white}
html[data-log=fish]{--paper:#f2f1e8;--ink:#183345;--olive:#b9cbd0;--orange:#936315;--line:#b0bec0}
[data-log=fish] .ribbon,[data-log=fish] footer{background:#172f40;color:white}
[data-log=fish] .ribbon :is(button,a):hover{background:#31546a}
[data-log=fish] .atlas{background:#dce6e6}
[data-log=fish] #stateMap .state path{fill:#b7c8cd;stroke:#f0f2e8}
[data-log=fish] #stateMap :is(.state.has-catches,.state.recorded) path{fill:#377985}
[data-log=fish] #stateMap .state.available path{fill:#bc8e40}
[data-log=fish] #stateMap .state.selected path{stroke:#102b3c;stroke-width:2.5}
[data-log=fish] .dot{background:#bc8e40}
[data-log=fish] .dot.muted{background:#b7c8cd}

button.mast{background:transparent;border:0;padding:0;color:inherit}
@media(max-width:700px){
  #publicPanel #hidePanel,dialog>.close{
    position:sticky;top:env(safe-area-inset-top,0px);z-index:2;
    min-height:48px;min-width:48px;border:2px solid var(--ink);
    border-radius:6px;background:var(--ink);color:#fff;
    box-shadow:0 2px 6px #0003;font:700 1rem/1.2 Arial,sans-serif;
  }
  #publicPanel #hidePanel{display:block;width:100%;padding:.75rem}
  #publicPanel #hidePanel::before{content:"\2190";margin-right:.5rem}
  dialog>.close{display:block;margin:0 0 .75rem auto;padding:.4rem;font-size:1.65rem}
  #hidePanel:focus-visible,dialog>.close:focus-visible{outline:3px solid white;outline-offset:-5px}
}

#anglerPicker{align-self:start;padding:.85rem;border:1px solid var(--line);background:var(--paper);border-radius:4px}
#anglerPicker[hidden]{display:none}
#anglerPicker summary{cursor:pointer;font-weight:bold}
#anglerChoices label{display:flex;align-items:center;gap:.4rem;min-height:44px;cursor:pointer;font-size:.95rem}
#anglerChoices input{display:inline;width:auto;margin:0;accent-color:var(--ink)}
#anglerChoices small{margin-left:auto;font-variant-numeric:tabular-nums}
#anglerComparison{font-size:.85rem;margin:.2rem 0}
#anglerComparison:empty{display:none}
@media(min-width:851px){.atlas-layout:has(#anglerPicker:not([hidden])){grid-template-columns:minmax(130px,155px) minmax(0,1fr) minmax(200px,260px);gap:clamp(12px,2vw,30px)}}
@media(max-width:850px){.atlas-layout:has(#anglerPicker:not([hidden])){grid-template-columns:minmax(0,1fr)}#anglerPicker summary{padding:.4rem}}

#alertsButton[hidden],#alertBadge[hidden]{display:none}
#alertBadge{display:inline-block;border-radius:1em;background:#fff1ce;color:#42351f;font-weight:bold;padding:.15em .45em;margin-left:.25em}
#alertsList{display:grid;gap:.55rem}#alertsList button{text-align:left}#alertsDialog img{display:block;max-width:100%;height:auto}
@media(max-width:650px){.ribbon{flex-wrap:wrap}#alertsButton{flex-wrap:wrap}}

.journal-tabs{display:flex;gap:.4rem;margin:.5rem 0 1rem;border-bottom:1px solid currentColor}
.journal-tabs button{padding:.65rem .85rem;background:transparent;border:0;border-bottom:3px solid transparent;color:inherit;cursor:pointer}
.journal-tabs button[aria-selected=true]{border-bottom-color:currentColor;font-weight:700}
#privateJournalTab[hidden]{display:none}

#statePanel button.outline{color:var(--ink);background:var(--paper);border-color:var(--ink)}
#statePanel button.outline:is(:hover,:focus-visible){background:var(--ink);color:var(--paper)}
#statePanel button.outline:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.trip-fields input[type=checkbox]{width:auto;margin-right:.5em}.trip-fields[hidden]{display:none}

#myTripsButton[hidden],#tripSettings[hidden]{display:none}#tripSummary button{display:block;margin:.4rem 0;text-align:left}#tripSummary p{white-space:pre-line}

#tripList,#tripActivity{display:grid;gap:.5rem;margin-top:1rem}#tripList button,#tripActivity button{text-align:left}#tripDetail[hidden],#tripDirectory[hidden]{display:none}

#statePanel section[hidden]{display:none}#statePanel h4{margin:1.1rem 0 .35rem}#statePanel section button{margin:.4rem 0;text-align:left;max-width:100%;overflow-wrap:anywhere}footer a[href="#about"]{color:inherit}
