/* RevGen Field Guide — editorial system */
:root{
  --navy:#0E1F2B; --navy-2:#16303F; --kelp:#2F4A3A; --kelp-2:#4D6B55; --sand:#EFE7D6; --paper:#F7F2E7; --card:#FBF8F1;
  --brass:#A9813A; --brass-2:#C9A35C; --rust:#A4472D; --ink:#14212B; --mute:#5E6A70; --rule:#DCD2BE;
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Instrument Sans",-apple-system,"Segoe UI",Roboto,sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  /* legacy vars for styles.css pages */
  --deep:var(--navy); --deep-2:var(--navy-2); --bg:var(--paper); --line:var(--rule); --muted:var(--mute); --tide:var(--kelp); --tide-soft:#E3E8DF;
  --kelp-soft:#E3E8DF; --flag:var(--rust); --flag-soft:#F3E1D9; --amber:#8A6A2A; --amber-soft:#F2E8D2;
  --f-head:var(--serif); --f-body:var(--sans); --f-mono:var(--mono); --radius:4px; --contour:transparent;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--kelp);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--brass)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
button{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px}
.eyebrow{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}

/* masthead */
.mast{position:sticky;top:0;z-index:20;background:rgba(14,31,43,.94);backdrop-filter:saturate(1.2) blur(10px);color:var(--sand);border-bottom:1px solid rgba(201,163,92,.25)}
.mast-in{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--sand);text-decoration:none}
.logo-mark{width:30px;height:30px;border:1px solid var(--brass-2);display:grid;place-items:center;font:600 17px var(--serif);color:var(--brass-2)}
.logo-word{font:600 19px var(--serif);letter-spacing:-.01em}.logo-word em{font-style:italic;font-weight:400;color:var(--brass-2)}
.mnav{display:flex;gap:22px}.mnav a{color:#D9D2C1;text-decoration:none;font-size:14px;font-weight:500}.mnav a:hover{color:#fff}
@media(max-width:640px){.mnav a:not(:nth-child(3)){display:none}.logo-word em{display:none}}

/* hero */
.hero{background:var(--navy);color:var(--sand);position:relative;overflow:hidden;border-bottom:4px double var(--brass)}
.hero-in{max-width:1200px;margin:0 auto;padding:56px 20px 40px;position:relative;z-index:2}
.kicker{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#B9B2A0;margin:0 0 18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.kicker span{color:var(--brass-2);border:1px solid rgba(201,163,92,.5);padding:2px 7px}
.display{font:400 clamp(44px,9vw,96px)/.95 var(--serif);letter-spacing:-.035em;margin:0 0 18px;font-variation-settings:"opsz" 144;max-width:12ch}
.display i{font-style:italic;color:var(--brass-2)}
.lede{font-size:clamp(16px,2.2vw,19px);color:#CFC8B6;max-width:48ch;margin:0 0 28px}
.ask{position:relative;max-width:720px;display:flex;align-items:center;background:var(--paper);color:var(--ink);border-radius:2px;box-shadow:0 1px 0 var(--brass),0 30px 60px -20px rgba(0,0,0,.55);transition:box-shadow .25s var(--ease)}
.ask:focus-within{box-shadow:0 0 0 2px var(--brass-2),0 30px 60px -20px rgba(0,0,0,.55)}
.ask-ico{padding:0 4px 0 18px;color:var(--mute);display:flex}
.ask input{flex:1;min-width:0;border:0;background:transparent;font:400 clamp(17px,2.4vw,21px) var(--serif);padding:20px 12px;color:var(--ink)}
.ask input::placeholder{color:#8C8A82;font-style:italic}
.ask input:focus{outline:none}
.ask-k{margin-right:16px;font:500 12px var(--mono);border:1px solid var(--rule);padding:2px 7px;color:var(--mute)}
@media(max-width:640px){.ask-k{display:none}}
.prompts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0;max-width:760px}
.prompts button{background:transparent;border:1px solid rgba(239,231,214,.25);color:#E6DFCD;padding:7px 13px;font-size:14px;cursor:pointer;transition:border-color .2s,background .2s}
.prompts button:hover{border-color:var(--brass-2);background:rgba(201,163,92,.08)}
.stamp{margin:26px 0 0;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#9A9483}.stamp b{color:var(--brass-2);font-weight:500}
.hero-plate{position:absolute;right:-6%;bottom:-2%;width:min(62vw,820px);margin:0;z-index:1;opacity:.5;mix-blend-mode:lighten;filter:invert(1) brightness(.55) sepia(.4);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 55% 50%,#000 40%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 55% 50%,#000 40%,transparent 75%)}
.hero-plate img{width:100%;height:auto;display:block}
.hero-plate figcaption{display:none}
@media(max-width:820px){.hero-plate{opacity:.12;width:110vw;right:-30%}}

/* answer */
.answer-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.answer{margin:-1px 0 0;background:var(--card);border:1px solid var(--rule);border-top:0;padding:28px clamp(18px,3vw,36px) 26px;animation:rise .35s var(--ease);box-shadow:0 20px 40px -30px rgba(14,31,43,.4)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ans-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
@media(max-width:820px){.ans-grid{grid-template-columns:1fr}.ans-plate{order:-1}}
.q{font:italic 400 16px var(--serif);color:var(--mute);margin:0 0 6px}
.verdict{font:600 clamp(24px,3.6vw,34px)/1.12 var(--serif);letter-spacing:-.015em;margin:0 0 18px;padding-left:16px;border-left:3px solid var(--kelp)}
.verdict.v-no{border-color:var(--rust)}.verdict.v-cr,.verdict.v-soon{border-color:var(--brass)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.facts div{padding:12px 14px 12px 0}.facts div+div{padding-left:14px;border-left:1px solid var(--rule)}
.facts dt{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.facts dd{margin:0;font-size:15px;font-weight:600;line-height:1.35}
@media(max-width:560px){.facts{grid-template-columns:1fr}.facts div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.note{font-size:14.5px;color:#3E4A50;margin:0 0 10px}
.also{font-size:14px;color:var(--mute)}
.src{font:500 12px var(--mono);color:var(--mute);margin:12px 0 0}
.ans-plate,.dr-plate{margin:0;background:var(--sand);border:1px solid var(--rule)}
.ans-plate img,.dr-plate img{display:block;width:100%;height:auto}
.ans-plate figcaption,.dr-plate figcaption{font:400 11.5px/1.4 var(--sans);color:var(--mute);padding:8px 12px;border-top:1px solid var(--rule)}
.ans-where{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}
.aside{margin:18px 0 0;padding:12px 14px;background:var(--sand);font-size:14px}
.lnk{background:none;border:0;padding:0;color:var(--kelp);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:600;text-align:left}
.lnk:hover{color:var(--brass)}
.mini{list-style:none;margin:0;padding:0}
.mini li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dotted var(--rule);font-size:15px}
.mini li span:not(.tag){color:var(--mute);font-size:13px}
@media(max-width:560px){.mini li{grid-template-columns:1fr auto}.mini li>span:nth-child(2){display:none}}
.more{margin-top:10px;background:none;border:0;color:var(--kelp);font-weight:600;cursor:pointer;padding:0}
.tag{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor;white-space:nowrap}
.t-ok{color:var(--kelp)}.t-no{color:var(--rust)}.t-cr,.t-soon{color:var(--brass)}.t-chk{color:#7A7466}

/* sections */
.band-sec{max-width:1200px;margin:0 auto;padding:88px 20px 24px}
.band-sec.alt{max-width:none;background:var(--sand);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:64px;padding-bottom:72px}
.band-sec.alt>*{max-width:1160px;margin-left:auto;margin-right:auto}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 20px;margin-bottom:28px;border-bottom:1px solid var(--ink);padding-bottom:14px}
.sec-head .eyebrow{grid-column:1/-1;margin:0}
.sec-head h2{font:400 clamp(32px,5vw,52px)/1 var(--serif);letter-spacing:-.025em;margin:0}
.sec-note{grid-column:1/-1;margin:4px 0 0;color:var(--mute);max-width:60ch}

/* regions */
.regions{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:40px;align-items:start}
@media(max-width:820px){.regions{grid-template-columns:1fr}.map{max-width:340px;margin:0 auto}}
.map{width:100%;height:auto;background:var(--sand);border:1px solid var(--rule)}
.map .land{fill:var(--sand)}.map .water{fill:#C8D3CF;stroke:#9DB0AA;stroke-width:.8}
.pin{cursor:pointer}.pin circle{fill:var(--paper);stroke:var(--navy);stroke-width:1.2;transition:fill .2s}
.pin text{font:600 12px var(--mono);text-anchor:middle;fill:var(--navy)}
.pin:hover circle,.pin.on circle{fill:var(--navy)}.pin:hover text,.pin.on text{fill:var(--brass-2)}
.region-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media(max-width:560px){.region-list{grid-template-columns:1fr}}
.reg{display:grid;grid-template-columns:36px 1fr auto;align-items:baseline;gap:10px;background:none;border:0;border-bottom:1px solid var(--rule);padding:16px 2px;text-align:left;cursor:pointer;transition:padding .25s var(--ease)}
.reg:hover,.reg.on{padding-left:10px}
.reg-n{font:500 12px var(--mono);color:var(--brass)}
.reg-t{font:400 24px/1.1 var(--serif);letter-spacing:-.01em}
.reg.on .reg-t{font-style:italic;color:var(--kelp)}
.reg-c{font:500 11px var(--mono);color:var(--mute);text-transform:uppercase;letter-spacing:.08em}

/* plates */
.plates{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.plate{position:relative;display:flex;flex-direction:column;background:var(--paper);border:0;padding:16px 16px 18px;text-align:left;cursor:pointer;transition:background .25s var(--ease)}
.plate:hover{background:var(--card)}
.plate:hover .pl-img{transform:scale(1.04)}
.pl-no{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.pl-img{width:100%;height:auto;aspect-ratio:2/1;display:block;margin:6px 0 10px;transition:transform .45s var(--ease);mix-blend-mode:multiply}
.noplate{aspect-ratio:2/1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(169,129,58,.08) 8px 9px),var(--sand);border:1px dashed var(--rule);text-align:center;padding:8px}
.noplate span{font:italic 400 20px var(--serif);color:var(--navy)}.noplate small{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.plate .noplate{margin:6px 0 10px}
.pl-name{font:400 21px/1.15 var(--serif);letter-spacing:-.01em}
.pl-lim{font:500 11px var(--mono);color:var(--mute);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}

/* ledger */
.seg{display:flex;border:1px solid var(--ink)}
.seg button{background:none;border:0;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}
.seg button+button{border-left:1px solid var(--ink)}
.seg button.on{background:var(--ink);color:var(--paper)}
@media(max-width:560px){.sec-head{grid-template-columns:1fr}.seg{justify-self:start}}
.ledger{list-style:none;margin:0;padding:0}
.row{width:100%;display:grid;grid-template-columns:minmax(0,2.2fr) 1fr 90px minmax(0,1.4fr) 120px 20px;gap:16px;align-items:center;background:none;border:0;border-bottom:1px solid var(--rule);padding:16px 4px;text-align:left;cursor:pointer;transition:background .2s}
.row:hover{background:var(--card)}.row:hover .r-go{transform:translateX(4px);color:var(--brass)}
.r-name b{display:block;font:400 20px/1.2 var(--serif);letter-spacing:-.01em}
.r-name small{color:var(--mute);font-size:13px}
.r-reg{font-size:13px;color:var(--mute)}
.r-water{font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.w-salt{color:#2C5566}.w-fresh{color:var(--kelp)}.w-brackish{color:var(--brass)}
.r-sp{display:flex;align-items:center;gap:2px}
.r-sp img{width:56px;height:28px;object-fit:cover;mix-blend-mode:multiply}
.r-sp i{font:500 11px var(--mono);font-style:normal;color:var(--mute);margin-left:6px}
.r-go{transition:transform .25s var(--ease)}
@media(max-width:900px){.row{grid-template-columns:1fr auto;gap:6px 12px}.r-reg,.r-sp,.r-go{display:none}.r-water{grid-row:2;grid-column:1}.r-st{grid-row:1/3;grid-column:2;align-self:center}}
.empty{padding:20px 0;color:var(--mute)}

/* drawer */
.drawer{border:0;padding:0;margin:0 0 0 auto;max-width:100vw;height:100dvh;max-height:none;width:min(560px,100vw);background:var(--paper);color:var(--ink);box-shadow:-30px 0 60px rgba(0,0,0,.25)}
.drawer[open]{animation:slide .35s var(--ease)}
@keyframes slide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.drawer::backdrop{background:rgba(14,31,43,.45);backdrop-filter:blur(2px)}
.dr-in{padding:22px clamp(18px,4vw,32px) 48px;height:100%;overflow-y:auto}
.x{position:sticky;top:0;float:right;width:38px;height:38px;border:1px solid var(--rule);background:var(--paper);font-size:22px;line-height:1;cursor:pointer;z-index:2}
.x:hover{border-color:var(--ink)}
.dr-plate{margin:44px 0 20px}
.dr-h{font:400 clamp(30px,6vw,42px)/1.05 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
.dr-area{color:var(--mute);margin:0 0 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dr-access{font-size:16px}
.drawer .verdict{margin-top:16px}
.dr-sub{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:28px 0 8px;padding-top:16px;border-top:1px solid var(--rule)}
.drawer .eyebrow:first-of-type{margin-top:46px}
.dr-plate+.eyebrow{margin-top:0!important}
.sp-rows{display:flex;flex-direction:column}
.sp-row{display:grid;grid-template-columns:84px 1fr auto;grid-template-rows:auto auto;gap:2px 14px;align-items:center;background:none;border:0;border-bottom:1px solid var(--rule);padding:10px 0;text-align:left;cursor:pointer}
.sp-row:hover{background:var(--card)}
.sp-row .thumb{grid-row:1/3;width:84px;height:42px;object-fit:contain;mix-blend-mode:multiply}
.sp-row .noplate.thumb{height:42px;width:84px;padding:2px}.sp-row .noplate span{font-size:11px}.sp-row .noplate small{display:none}
.sp-n{font:400 17px/1.2 var(--serif)}
.sp-l{grid-column:2;font:500 12px var(--mono);color:var(--mute)}.sp-l small{margin-left:8px;font-size:11px}
.sp-row .tag{grid-row:1/3;grid-column:3}

/* colophon + footer */
.colophon{background:var(--navy);color:#D9D2C1;margin-top:96px;border-top:4px double var(--brass)}
.col-in{max-width:1200px;margin:0 auto;padding:56px 20px;display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media(max-width:820px){.col-in{grid-template-columns:1fr}}
.fine-print{font-size:14.5px;color:#C2BBA9;max-width:56ch}.colophon a{color:var(--brass-2)}
.colophon form{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.colophon input[type=email]{flex:1;min-width:200px;padding:12px 14px;border:1px solid rgba(239,231,214,.3);background:transparent;color:#fff;font:inherit}
.colophon button[type=submit]{padding:12px 18px;border:0;background:var(--brass-2);color:var(--navy);font-weight:700;cursor:pointer}
.hidden{position:absolute;left:-9999px}
.foot{background:var(--navy);color:#8E8877;border-top:1px solid rgba(201,163,92,.2)}
.foot-in{max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}.foot a{color:#C2BBA9;text-decoration:none}.foot a:hover{color:var(--brass-2)}

/* ---------- legacy pages (pier license, Lake Chabot, crab, credits) ---------- */
body:not(.home) .band{background:var(--navy);background-image:none;border-bottom:4px double var(--brass)}
body:not(.home) .band h1,body:not(.home) .ask-hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:var(--sand);background:none;-webkit-text-fill-color:currentColor}
body:not(.home) .band .brand{font-family:var(--serif)}
body:not(.home) h2,body:not(.home) .sec{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}
.ask-hero{max-width:820px;padding:20px 0 34px}.ask-hero p{color:#CFC8B6}
.ask-hero .eyebrow{color:#B9B2A0}.ask-hero .stamp{display:inline;color:var(--brass-2);margin:0}
.chat{margin:24px 0}.msg{max-width:760px;padding:14px 18px;margin:8px 0}
.msg.you{margin-left:auto;background:var(--navy);color:var(--sand);font:italic 400 18px var(--serif)}
.msg.bot{display:flex;gap:14px;background:var(--card);border:1px solid var(--rule)}
.avatar{flex:none;width:30px;height:30px;border:1px solid var(--brass);color:var(--brass);font:600 11px/28px var(--mono);text-align:center}
.feat{margin:20px 0;background:var(--sand);border:1px solid var(--rule)}.feat img{display:block;width:100%;height:auto}.feat figcaption{font-size:12px;color:var(--mute);padding:8px 12px;border-top:1px solid var(--rule)}
.spot{background:var(--card);border:1px solid var(--rule);padding:18px}
.tw{overflow-x:auto}.tw table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:520px}
.tw th,.tw td{text-align:left;padding:10px 8px;border-top:1px solid var(--rule);vertical-align:top}
.tw thead th{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.pill{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor}.pill.no{color:var(--rust)}
.disclaimer{margin:28px 0;padding:14px 16px;border-left:3px solid var(--brass);background:var(--sand);font-size:14px}
.signup{background:var(--card);border:1px solid var(--rule);padding:22px;margin:24px 0}
.card-pad{background:var(--card);border:1px solid var(--rule);padding:12px;margin:24px 0}
.credits img{width:120px;height:60px;object-fit:contain;mix-blend-mode:multiply}
.wrap.wide{max-width:1100px;margin:0 auto;padding-inline:20px}
.foot.wrap{background:none;color:var(--mute)}
@media(max-width:560px){.plates{grid-template-columns:1fr 1fr}.plate{padding:12px}.pl-name{font-size:17px}.pl-lim{font-size:10px}.map{max-width:240px}.band-sec{padding-top:64px}.noplate span{font-size:15px}}

/* ---------- v5 agent thread ---------- */
.ask-send{margin-right:8px;border:0;background:var(--navy);color:var(--sand);font:600 14px var(--sans);padding:12px 18px;cursor:pointer}
.ask-send:hover{background:var(--kelp)}
.thread{background:var(--card);border:1px solid var(--rule);border-top:0;padding:24px clamp(16px,3vw,36px);display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 40px -30px rgba(14,31,43,.4)}
.turn{animation:rise .3s var(--ease)}
.turn.you{align-self:flex-end;max-width:80%;background:var(--navy);color:var(--sand);font:italic 400 18px/1.4 var(--serif);padding:10px 16px}
.turn.bot{border-left:2px solid var(--brass);padding:2px 0 4px 18px;max-width:900px}
.by{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 8px}
.md p{margin:0 0 8px}.md p:first-child{font:600 clamp(20px,2.6vw,26px)/1.2 var(--serif);letter-spacing:-.01em}
.md ul{margin:6px 0 10px;padding-left:20px}.md li{margin:4px 0}
.think{color:var(--mute);font-size:14px;display:flex;align-items:center;gap:4px}
.think span{width:6px;height:6px;background:var(--brass);border-radius:50%;animation:blink 1s infinite}.think span:nth-child(2){animation-delay:.15s}.think span:nth-child(3){animation-delay:.3s;margin-right:8px}
@keyframes blink{50%{opacity:.2}}
.fu{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fu button{background:none;border:1px solid var(--rule);padding:6px 12px;font-size:13.5px;cursor:pointer}.fu button:hover{border-color:var(--brass)}
.turn .ans-grid{grid-template-columns:1.2fr .8fr}
/* conditions */
.cond{margin:12px 0;padding:14px 0;border-top:1px solid var(--rule)}
.tides{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.tide{background:var(--paper);padding:8px 10px;font-size:12.5px;color:var(--mute)}.tide b{display:block;font:600 14px var(--sans);color:var(--ink)}
.tide.t-high b{color:#2C5566}
.wx{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.wx li{border-top:2px solid var(--navy);padding-top:6px;font-size:14px}.wx b{display:block;font:400 17px var(--serif)}.wx small{display:block;color:var(--mute);font-size:12px}
.srcs{font-size:12.5px;color:var(--mute);margin:6px 0 0}
.reports{list-style:none;padding:0;margin:0}.reports li{padding:8px 0;border-bottom:1px dotted var(--rule)}.reports small{display:block;color:var(--mute);font-size:12px}
.rdet summary{cursor:pointer;font-weight:600;color:var(--kelp);margin:10px 0}
.rform,.alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.rform label,.alerts label{display:flex;flex-direction:column;gap:4px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.rform .full,.alerts .wide{grid-column:1/-1}
.rform input,.rform select,.alerts input[type=email],.alerts input[type=url],.alerts input[type=tel],.alerts input:not([type]){font:400 16px var(--sans);padding:10px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);text-transform:none;letter-spacing:0}
.rform .chk,.alerts fieldset label{flex-direction:row;align-items:center;gap:8px;font:400 15px var(--sans);text-transform:none;letter-spacing:0;color:var(--ink)}
.alerts fieldset{grid-column:1/-1;border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.alerts legend{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.rform button,.alerts button{grid-column:1/-1;justify-self:start;border:0;background:var(--navy);color:var(--sand);font:600 15px var(--sans);padding:12px 22px;cursor:pointer}
.rform button:hover,.alerts button:hover{background:var(--kelp)}
.alerts{max-width:820px}
@media(max-width:560px){.rform,.alerts{grid-template-columns:1fr}.ask-send{padding:10px 12px}.turn.you{max-width:92%}}
.dr-cond{margin-top:22px}

/* ===== v6 ===== */
.mnav{flex-wrap:nowrap}@media(max-width:900px){.mnav{gap:14px}.mnav a:nth-child(n+6){display:none}}
@media(max-width:640px){.mnav a{display:none!important}.mnav a:nth-child(3),.mnav a:nth-child(5){display:inline!important}}
.mode{display:inline-flex;border:1px solid rgba(201,163,92,.5);margin:0 0 12px}
.mode button{background:none;border:0;color:#CFC8B6;padding:8px 16px;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.mode button[aria-selected=true]{background:var(--brass-2);color:var(--navy)}
.plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:var(--card);color:var(--ink);padding:14px;max-width:760px;align-items:end;box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.plan label{display:flex;flex-direction:column;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);gap:4px}
.plan input,.plan select{font:15px var(--sans);padding:9px 8px;border:1px solid var(--rule);background:#fff;color:var(--ink);min-height:40px}
.plan .chk{flex-direction:row;align-items:center;gap:8px;text-transform:none;font:15px var(--sans);color:var(--ink)}
.plan .ask-send{min-height:42px}
.plan-note{color:#B9B2A0;font-size:14px;max-width:60ch}
.board-ctl{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.board-ctl label,.lb-io label{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);display:flex;flex-direction:column;gap:4px}
.board-ctl select{font:15px var(--sans);padding:8px;border:1px solid var(--rule);background:var(--card);min-height:40px}
.board{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.board li{background:var(--card)}.board .empty{padding:24px;color:var(--mute);grid-column:1/-1}
.brow{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;width:100%;text-align:left;background:none;border:0;padding:16px 18px;cursor:pointer}
.brow:hover{background:#fff}.b-rank{font:500 13px var(--mono);color:var(--brass);padding-top:4px}
.b-name b{font:600 19px/1.2 var(--serif);display:block}.b-name small{color:var(--mute);font-size:13px}
.b-go{grid-column:2}
.go-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}
.go-badge{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid}
.g-go{color:#2F6B45;border-color:#2F6B45;background:#E5EFE6}.g-fair{color:#8A6A2A;border-color:#B28B3E;background:#F4EAD3}.g-nogo{color:var(--rust);border-color:var(--rust);background:#F5E3DC}.g-na{color:var(--mute);border-color:var(--rule)}
.go-score{font:13px var(--mono);color:var(--mute)}.go-score b{font:600 22px var(--serif);color:var(--ink)}
.go-day{font-size:13px;color:var(--mute)}
.go-win{font-size:14px;margin:4px 0;color:var(--ink)}.go-stop{font-size:14px;color:var(--rust);margin:4px 0}
.go-disc{font-size:12px;color:var(--mute);font-style:italic;margin:6px 0 0}
.go-why summary{cursor:pointer;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--kelp);margin:8px 0}
.go-why ul{list-style:none;padding:0;margin:0 0 6px}.go-why li{display:grid;grid-template-columns:80px 60px 1fr;gap:8px;font-size:14px;padding:4px 0;border-bottom:1px dotted var(--rule)}
.go-why li span{font:500 12px var(--mono);text-transform:uppercase;color:var(--mute)}
.board-f{margin-top:14px}
.dr-go{border:1px solid var(--rule);background:var(--card);padding:12px 14px;margin:14px 0}
.go-tabs{display:flex;gap:4px}.go-tabs button{background:none;border:1px solid var(--rule);padding:4px 12px;font:500 12px var(--mono);cursor:pointer}.go-tabs button[aria-selected=true]{background:var(--navy);color:var(--sand);border-color:var(--navy)}
.dr-mine{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.dr-mine details,.dr-mine p{flex-basis:100%}
.save-btn{align-self:flex-start;background:none;border:1px solid var(--brass);color:var(--ink);padding:7px 14px;cursor:pointer;font-weight:600}.save-btn[aria-pressed=true]{background:var(--brass-2);border-color:var(--brass-2)}
.bite{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:var(--sand);border:1px solid var(--navy);padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none;min-height:42px}
.btn:hover{color:#fff;background:var(--navy-2)}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:none;color:var(--ink);border-color:var(--rule)}.btn.ghost:hover{border-color:var(--brass);color:var(--ink)}
#bite-out{flex-basis:100%}#bite-out img{width:min(100%,400px);height:auto;border:1px solid var(--rule);display:block;margin:6px 0}
.bite-act{display:flex;gap:10px}
.lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lb-card{background:var(--card);border:1px solid var(--rule);padding:18px}.lb-card.wide{grid-column:1/-1}
@media(max-width:700px){.lb-grid{grid-template-columns:1fr}}
.lb-card h3{font:600 20px var(--serif);margin:0 0 10px}
.empty-s{color:var(--mute);font-style:italic;margin:0}
.lb-t{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0}.lb-t th{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:left;border-bottom:1px solid var(--rule);padding:6px 6px 6px 0}.lb-t td{padding:7px 6px 7px 0;border-bottom:1px dotted var(--rule);vertical-align:top}
@media(max-width:560px){.lb-t{display:block;overflow-x:auto}}
.x-sm{background:none;border:0;color:var(--mute);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}.x-sm:hover{color:var(--rust)}
.checklist{list-style:none;padding:0;margin:0;columns:3 220px;font-size:14px}.checklist li{padding:3px 0;break-inside:avoid;color:var(--mute)}.checklist li span{display:inline-block;width:20px;color:var(--brass)}.checklist li.got{color:var(--ink);font-weight:600}
.lb-io{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.lb-io label.btn{flex-direction:row;font:600 16px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.turn-tools{margin-top:10px}.share{background:none;border:1px solid var(--rule);padding:6px 12px;font:500 12px var(--mono);cursor:pointer}.share:hover{border-color:var(--brass)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:var(--navy);color:var(--sand);padding:10px 16px;opacity:0;transition:.25s var(--ease);z-index:99;max-width:90vw}.toast.on{opacity:1;transform:translate(-50%,0)}
.pick{border-top:1px solid var(--rule);padding:14px 0}.pick h3{font:600 22px var(--serif);margin:0}.pick h3 .lnk{font:inherit}
.guided{background:var(--sand);padding:14px 16px;margin:14px 0}.guided p{margin:0 0 8px}
.mini-f{display:flex!important;gap:8px;flex-wrap:wrap;align-items:end;padding:0!important;background:none!important;border:0!important}.mini-f label{flex:1 1 220px}
.rform.logform{margin-top:10px}
.btn.gold{background:var(--brass-2);border-color:var(--brass-2);color:var(--navy)}.btn.ghost-l{background:none;border-color:rgba(239,231,214,.4);color:var(--sand)}
.feat{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);counter-reset:f}
.feat li{background:var(--card);padding:22px;counter-increment:f}.feat li::before{content:counter(f,upper-roman)'.';font:500 12px var(--mono);color:var(--brass);display:block;margin-bottom:6px}
.feat b{font:600 21px/1.2 var(--serif);display:block;margin-bottom:6px}.feat span{color:var(--mute);font-size:15px}
.demo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}@media(max-width:820px){.demo{grid-template-columns:1fr}}
.demo-card{background:var(--card);border:1px solid var(--rule);padding:16px;box-shadow:0 20px 40px -28px rgba(14,31,43,.5)}
.demo-top{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:10px}.demo-top small{display:block;color:var(--mute);font-size:12px}.demo-top .tag{margin-left:auto}
.demo-top .logo-mark{border-color:var(--brass);color:var(--brass)}
.dthread{max-height:420px;min-height:200px;overflow:auto;padding:12px 0;display:flex;flex-direction:column;gap:10px}
.dthread .turn{max-width:92%}.dthread .turn.you{align-self:flex-end}
.dprompts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.dprompts button{background:none;border:1px solid var(--rule);padding:6px 10px;font-size:13px;cursor:pointer}
.ask.small{display:flex;border:1px solid var(--rule);background:#fff}.ask.small input{flex:1;border:0;padding:12px;font:15px var(--sans);min-width:0}
.steps{padding-left:20px}.steps li{margin:6px 0}
.price{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px}@media(max-width:700px){.price{grid-template-columns:1fr}}
.price-card{border:1px solid var(--brass);background:var(--card);padding:24px}.price-card.muted{border-color:var(--rule)}
.price-big{font:400 44px/1 var(--serif);margin:4px 0 12px}
#dbook{margin-top:12px;border-top:1px solid var(--rule);padding-top:12px}
