/* Med Swim Report — static pages. Layout: one reading column, data tables scroll inside their own box. */
:root{
  --bg:#EEF4F6;--panel:#FFFFFF;--ink:#0D2433;--muted:#566E7C;--line:#D3E0E6;--soft:#E5EFF3;--bar:#A9C6D3;
  --sea:#DCEAF0;--land:#C9D3CF;--landline:#AEBBB6;--accent:#0F62A8;
  --c0:#1F8A70;--c1:#5A9E3A;--c2:#B77D05;--c3:#C8473A;
  --q-e:#1F8A70;--q-g:#3AA0C8;--q-s:#D49A1A;--q-p:#C8473A;--q-n:#8C9AA3;
  --f-display:"Bricolage Grotesque","Avenir Next",system-ui,sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,sans-serif;
  --f-data:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#08151E;--panel:#0F2230;--ink:#DCE9EF;--muted:#8FA6B3;--line:#1E3647;--soft:#132B3B;--bar:#2D5266;
  --sea:#0C2533;--land:#23343C;--landline:#33474F;--accent:#5DB0F0;
  --c0:#3CC39E;--c1:#8CCB5E;--c2:#F0B83A;--c3:#EF6A5C;
  --q-e:#3CC39E;--q-g:#62BEE2;--q-s:#E8B23A;--q-p:#EF6A5C;--q-n:#7D8E98;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--f-body);padding-inline:16px;padding-block:16px 48px}
.wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
a{color:var(--accent)}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.brand{font:700 24px/1 var(--f-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.units{display:flex;gap:6px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--panel)}
.seg button{font:500 13px var(--f-body);background:transparent;color:var(--muted);border:0;padding:7px 11px;cursor:pointer;min-height:36px}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--panel)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.crumbs{font:12.5px var(--f-data);color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 6px;margin-bottom:8px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:22px;min-width:0}
h1{font:700 clamp(28px,4.4vw,38px)/1.08 var(--f-display);letter-spacing:-.015em;margin:0;text-wrap:balance}
h2{font:600 13px var(--f-data);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.lede{margin:6px 0 0;color:var(--muted);max-width:62ch}
.answer{margin:0;font-size:17px;max-width:65ch}
section{min-width:0}
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.days button{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:6px 10px;font:500 13px var(--f-body);cursor:pointer;text-align:left;min-height:44px}
.days button small{display:block;font:11px var(--f-data);color:var(--muted)}
.days button[aria-selected="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.daypanel{display:flex;flex-direction:column;gap:22px}
.verdict{padding:14px 16px;border-radius:10px;border-left:4px solid var(--v);background:color-mix(in srgb,var(--v) 10%,transparent)}
.verdict b{font:700 22px/1.1 var(--f-display);color:var(--v)}
.verdict p{margin:4px 0 0;font-size:15px}
.verdict .why{color:var(--muted);font-size:14px}
.verdict strong{color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:560px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts div{border-top:1px solid var(--line);padding-top:8px;min-width:0}
.facts>div>span{display:block;font-size:12.5px;color:var(--muted)}
.facts strong{display:block;font:600 19px/1.25 var(--f-body)}
.facts em{font:normal 12px var(--f-data);color:var(--muted)}
.arr{vertical-align:-2px;color:var(--ink)}
.windnote{display:flex;gap:12px;align-items:center;background:var(--soft);border-radius:10px;padding:12px 14px}
.windnote p{margin:0}.windnote .arr{color:var(--accent);flex:0 0 auto}
.hours{overflow-x:auto}
.hours table{border-collapse:collapse;font:12.5px var(--f-data);font-variant-numeric:tabular-nums;min-width:100%}
.hours th,.hours td{padding:5px 6px;text-align:center;white-space:nowrap}
.hours th{color:var(--muted);font-weight:400;text-align:left;position:sticky;left:0;background:var(--panel);padding-right:10px}
.hours .bar td{padding:0 1px}.hours .bar i{display:block;height:22px;border-radius:3px;background:var(--v)}
table.months td{text-align:left}table.months tr{border-bottom:1px solid var(--line)}table.months th a{font-family:var(--f-body)}
.muted{color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:18px;align-items:center}
@media (max-width:560px){.two{grid-template-columns:minmax(0,1fr)}.rose svg{margin:0 auto;display:block}}
svg text{fill:var(--muted);font:11px var(--f-data)}
.note{font-size:13.5px;color:var(--muted);margin:6px 0 0}
.list{list-style:none;margin:0;padding:0}
.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.row:hover{background:var(--soft)}
.row>span:first-child{min-width:0}
.row .meta{display:block;font-size:13px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--f-body);padding:4px 9px;border-radius:999px;color:var(--v);background:color-mix(in srgb,var(--v) 14%,transparent);white-space:nowrap;flex:0 0 auto}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--v)}
.daybar{display:flex;gap:2px;margin-top:5px;max-width:200px}.daybar i{flex:1;height:6px;border-radius:2px;background:var(--v)}
.outlook{list-style:none;margin:0;padding:0}
.outlook li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.outlook li span:first-child{font:12.5px var(--f-data);color:var(--muted)}
.qrow{display:flex;gap:3px;flex-wrap:wrap}.qrow div{flex:1 0 24px;text-align:center;font:11px var(--f-data);color:var(--muted)}.qrow i{display:block;height:16px;border-radius:3px;margin-bottom:3px;background:var(--q)}
.badge{display:inline-block;font:600 12px var(--f-data);padding:3px 8px;border-radius:999px;color:var(--panel);background:var(--q);margin-left:6px;text-transform:none;letter-spacing:0}
.places{display:flex;flex-wrap:wrap;gap:8px}
.places a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--ink);text-decoration:none;font-weight:500;min-height:40px;display:inline-flex;align-items:center}
.places a:hover{background:var(--soft)}.places small{color:var(--muted);font:11.5px var(--f-data);margin-left:6px}
.mapfig{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pmap{display:block;width:100%;height:auto}
.mapfig figcaption{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 12px;font:12px var(--f-data);color:var(--muted)}
.mapfig figcaption i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.hero{margin:0;border-radius:10px;overflow:hidden;background:var(--soft)}
.hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;max-width:100%}
.hero figcaption{font-size:11.5px;color:var(--muted);padding:6px 10px}.hero figcaption a{color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:12px}
.foot{font-size:12.5px;color:var(--muted);max-width:90ch}
[hidden]{display:none!important}
.ar{display:inline-block;font-style:normal;transform:rotate(var(--r));line-height:1;color:var(--ink)}
