:root{--ink:#14181f;--muted:#5b6472;--line:#e3e6ea;--bg:#fbfaf7;--card:#fff;--accent:#0b5cad;--accent2:#e0592a;--max:1140px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.preview-bar{background:#fff4d6;color:#6b4e00;text-align:center;font-size:13px;padding:6px 8px;border-bottom:1px solid #f0dc9c}
.masthead{background:#fff;border-bottom:3px double var(--ink);text-align:center;padding-top:14px}
.date-line{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.site-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,7vw,58px);margin:4px 0 0;letter-spacing:-.01em;line-height:1.1}
.tagline{margin:4px 0 10px;color:var(--muted);font-style:italic;font-family:Georgia,serif}
.cats{border-top:1px solid var(--line)}
.cats .wrap{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;padding-top:6px;padding-bottom:6px;scrollbar-width:thin}
.cats a{font-size:14px;font-weight:600;padding:6px 10px;border-radius:4px;color:#333}
.cats a.active,.cats a:hover{background:var(--ink);color:#fff;text-decoration:none}
main{padding-top:18px;padding-bottom:40px;min-height:60vh}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 18px;font-size:14px;color:var(--muted)}
.filters label{display:flex;flex-direction:column;gap:3px}
.filters select,.filters button{font:inherit;padding:7px 10px;border:1px solid #c9ced5;border-radius:6px;background:#fff;color:var(--ink);min-width:170px}
.filters button{min-width:0;background:var(--ink);color:#fff;border-color:var(--ink);cursor:pointer}
.filters .clear{padding:7px 4px;color:var(--accent)}
.top{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:28px;align-items:start}
@media (max-width:860px){.top{grid-template-columns:1fr}}
.lead{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.lead-img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.lead-body{padding:18px 20px}
.lead h2{font-family:Georgia,serif;font-size:clamp(26px,4vw,38px);line-height:1.15;margin:6px 0 10px}
.kicker{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.dek{color:#333;margin:0 0 8px}
.dek.big{font-size:20px;font-family:Georgia,serif;color:#333}
.meta{color:var(--muted);font-size:13px;margin:0}
.badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:3px;margin-right:6px;vertical-align:middle}
.badge-example{background:var(--accent2);color:#fff}
.badge-draft{background:#ececec;color:#444;border:1px solid #ccc}
.recap{background:#f1f5fa;border:1px solid #d7e1ec;border-radius:8px;padding:16px 18px}
.recap-head{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:8px}
.recap-head h2{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.1em;flex:1}
.recap h3{font-family:Georgia,serif;font-size:21px;margin:4px 0}
.recap h4{margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.recap-list{padding-left:18px;margin:0}
.recap-list li{margin:4px 0}
.recap .more a,.recap a{color:var(--accent)}
.recap-row{border-bottom:1px solid var(--line);padding:12px 0}
.recap-row h3{margin:4px 0;font-family:Georgia,serif}
.section-title{font-size:15px;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--ink);padding-bottom:6px;margin:8px 0 16px}
.section-title .count{color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none;font-size:13px;margin-left:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card-img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card-body{padding:14px 16px}
.card h3{font-family:Georgia,serif;font-size:20px;line-height:1.25;margin:4px 0 6px}
.empty{color:var(--muted);padding:24px 0}
.story{max-width:720px;margin:0 auto}
.story h1{font-family:Georgia,serif;font-size:clamp(28px,5vw,44px);line-height:1.12;margin:8px 0 10px}
.story figure{margin:18px 0}
.story figure img{width:100%;border-radius:6px;display:block}
figcaption{font-size:12px;color:var(--muted);margin-top:4px}
.prose{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.7}
.prose a{color:var(--accent);text-decoration:underline}
.prose h2,.prose h3,.prose h4,.prose h5{font-family:system-ui,"Segoe UI",sans-serif;line-height:1.3;margin:1.4em 0 .4em}
.prose blockquote{border-left:3px solid var(--line);margin:1em 0;padding-left:14px;color:#444}
.recap .prose{font-size:16px;line-height:1.55}
.tags{margin:18px 0}
.tag{display:inline-block;background:#eef0f3;border-radius:999px;padding:3px 10px;font-size:13px;margin:0 6px 6px 0}
.sources{border-top:1px solid var(--line);margin-top:28px;padding-top:10px}
.sources h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}
.sources ul{padding-left:18px;margin:0}
.sources li{margin:6px 0}
.sources a{color:var(--accent);font-weight:600}
.sources .url{color:var(--muted);font-size:13px;word-break:break-all;margin-left:4px}
.footer{background:#14181f;color:#cfd4db;padding:24px 0;font-size:14px}
.footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
.footer p{margin:4px 0}
.footer a{color:#fff}
.footer .small{flex-basis:100%;color:#8c95a1;font-size:12px}
.correction{background:#fff8e6;border:1px solid #f0d58a;border-left:4px solid #d39b00;border-radius:6px;padding:10px 14px;margin-top:24px}
.correction h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 6px}
.correction ul{margin:0;padding-left:18px}
.correction li{margin:4px 0}
.correction .small{font-size:13px;margin:6px 0 0}
.correction a{color:var(--accent)}
.policy .prose{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px}
.footer-links a{white-space:nowrap}

/* staging + members + owner dashboard */
.staging-bar{background:#e6f0ff;color:#123d73;border-bottom-color:#b9d0f2;font-weight:600}
.draft-policy-bar{background:#ffe9e0;color:#7a2a0c;border-bottom-color:#f3c3ae;font-weight:600}
.badge-members{background:#0b5cad;color:#fff}
.nav-members{margin-left:auto;border:1px solid #c9ced5}
.gate{background:#f1f5fa;border:1px solid #d7e1ec;border-radius:8px;padding:18px 20px;margin:20px 0;text-align:center}
.gate h2{font-size:20px;margin:0 0 6px;font-family:Georgia,serif}
.btn{display:inline-block;font:inherit;font-weight:600;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:6px;padding:8px 16px;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none;opacity:.9}
.btn-light{background:#fff;color:var(--ink)}
.btn-danger{background:#b3261e;border-color:#b3261e}
.form-box{max-width:460px;margin:10px auto 30px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.form-box h1{font-family:Georgia,serif;font-size:28px;margin:0 0 10px}
.form-box h2{font-size:17px;margin:22px 0 6px}
.form-box form{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.form-box label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#333}
.form-box label.check{flex-direction:row;gap:8px;align-items:flex-start}
.form-box input[type=email],.form-box input[type=password]{font:inherit;padding:9px 10px;border:1px solid #c9ced5;border-radius:6px}
.form-error{background:#fdecea;color:#7f1d1d;border:1px solid #f5c2bd;border-radius:6px;padding:8px 10px}
.small{font-size:13px;color:var(--muted)}
pre.cmd{background:#14181f;color:#e6e6e6;padding:10px;border-radius:6px;white-space:pre-wrap;word-break:break-all;font-size:12px}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dash-head h1{font-family:Georgia,serif;margin:0}
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:16px 0}
.panel h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px;border-bottom:2px solid var(--ink);padding-bottom:6px}
.panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 6px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.kpi{background:#f6f7f9;border-radius:6px;padding:10px 12px}
.kpi b{display:block;font-size:22px}
.kpi span{font-size:12px;color:var(--muted)}
.kpi.neg b,td.neg{color:#b3261e}
.kpi.pos b{color:#17663a}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 24px}
table.bars,table.pnl{width:100%;border-collapse:collapse;font-size:13px}
table.bars td{padding:3px 4px;vertical-align:middle}
td.bl{width:40%;word-break:break-all}
td.bb{width:40%}
td.bn{text-align:right;white-space:nowrap;color:var(--muted)}
table.daily td.bl{width:90px}
table.daily td.bb{width:auto}
.bar{display:block;height:10px;background:var(--accent);border-radius:2px;min-width:0}
table.pnl th,table.pnl td{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left}
table.pnl td+td,table.pnl th+th{text-align:right}
.hours{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;height:90px;align-items:end}
.hcol{display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center}
.hbar{display:block;background:var(--accent2);border-radius:2px 2px 0 0}
.hcol i{font-style:normal;font-size:10px;color:var(--muted);height:12px}
.w-0{width:0%}.h-0{height:0%}
.w-2{width:2%}.h-2{height:1%}
.w-4{width:4%}.h-4{height:3%}
.w-6{width:6%}.h-6{height:5%}
.w-8{width:8%}.h-8{height:6%}
.w-10{width:10%}.h-10{height:8%}
.w-12{width:12%}.h-12{height:10%}
.w-14{width:14%}.h-14{height:11%}
.w-16{width:16%}.h-16{height:13%}
.w-18{width:18%}.h-18{height:15%}
.w-20{width:20%}.h-20{height:17%}
.w-22{width:22%}.h-22{height:18%}
.w-24{width:24%}.h-24{height:20%}
.w-26{width:26%}.h-26{height:22%}
.w-28{width:28%}.h-28{height:23%}
.w-30{width:30%}.h-30{height:25%}
.w-32{width:32%}.h-32{height:27%}
.w-34{width:34%}.h-34{height:28%}
.w-36{width:36%}.h-36{height:30%}
.w-38{width:38%}.h-38{height:32%}
.w-40{width:40%}.h-40{height:34%}
.w-42{width:42%}.h-42{height:35%}
.w-44{width:44%}.h-44{height:37%}
.w-46{width:46%}.h-46{height:39%}
.w-48{width:48%}.h-48{height:40%}
.w-50{width:50%}.h-50{height:42%}
.w-52{width:52%}.h-52{height:44%}
.w-54{width:54%}.h-54{height:45%}
.w-56{width:56%}.h-56{height:47%}
.w-58{width:58%}.h-58{height:49%}
.w-60{width:60%}.h-60{height:51%}
.w-62{width:62%}.h-62{height:52%}
.w-64{width:64%}.h-64{height:54%}
.w-66{width:66%}.h-66{height:56%}
.w-68{width:68%}.h-68{height:57%}
.w-70{width:70%}.h-70{height:59%}
.w-72{width:72%}.h-72{height:61%}
.w-74{width:74%}.h-74{height:62%}
.w-76{width:76%}.h-76{height:64%}
.w-78{width:78%}.h-78{height:66%}
.w-80{width:80%}.h-80{height:68%}
.w-82{width:82%}.h-82{height:69%}
.w-84{width:84%}.h-84{height:71%}
.w-86{width:86%}.h-86{height:73%}
.w-88{width:88%}.h-88{height:74%}
.w-90{width:90%}.h-90{height:76%}
.w-92{width:92%}.h-92{height:78%}
.w-94{width:94%}.h-94{height:79%}
.w-96{width:96%}.h-96{height:81%}
.w-98{width:98%}.h-98{height:83%}
.w-100{width:100%}.h-100{height:85%}
/* breaking news */
.breaking-bar{background:#c4161c;color:#fff;font-weight:600}
.breaking-bar .wrap{padding-top:9px;padding-bottom:9px}
.breaking-bar a{color:#fff;display:block}
.bb-label{background:#fff;color:#c4161c;font-weight:800;font-size:12px;letter-spacing:.1em;padding:2px 7px;border-radius:3px;margin-right:8px}
.bb-more{opacity:.85;font-weight:400;white-space:nowrap}
.badge-breaking{background:#c4161c;color:#fff}
.cats a.nav-breaking{color:#c4161c}
.cats a.nav-breaking.active,.cats a.nav-breaking:hover{background:#c4161c;color:#fff}
.confirmed{font-size:14px;background:#fdf1f1;border-left:3px solid #c4161c;padding:6px 10px;margin:10px 0}
.confirmed a{color:var(--accent)}
.updates{border:1px solid #f0c9c9;border-radius:6px;padding:10px 14px;margin:16px 0;background:#fff}
.updates h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 6px;color:#c4161c}
.updates ol{list-style:none;padding:0;margin:0}
.updates li{padding:6px 0;border-top:1px solid var(--line)}
.updates li:first-child{border-top:0}
.updates time{font-weight:700;font-size:13px;margin-right:6px}
/* important / developing (restrained) */
.badge-important{background:#fff4dc;color:#7a4b00;border:1px solid #e9c46a}
.confirmed.confirmed-calm{background:#f6f7f9;border-left-color:#b7bdc6}
.developments{border:1px solid var(--line);border-left:3px solid #e9a23b;background:#fff;border-radius:6px;padding:10px 14px;margin:0 0 24px}
.developments h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 6px;color:#6b4a12}
.developments ul{list-style:none;margin:0;padding:0}
.developments li{padding:6px 0;border-top:1px solid var(--line);font-size:15px}
.developments li:first-child{border-top:0}
.developments li a{font-weight:600}
.developments .meta{margin-left:6px}

/* ---------- staging: sections, strips, local weather, ads, events (no inline styles; CSP style-src 'self') ---------- */
.cats-sub{background:#f6f7f8;border-top:1px solid #e3e6ea}
.cats-sub a{font-size:.82rem;padding:.35rem .6rem;color:#4a5560}
.sections a{font-weight:600}
.side-col{display:flex;flex-direction:column;gap:1rem}
.top-single{grid-template-columns:2fr 1fr}
.section-head{margin:1.2rem 0 1rem;border-bottom:2px solid #0b2540;padding-bottom:.6rem}
.section-head h1{margin:.2rem 0;font-size:2rem}
.sub-title{margin:1.2rem 0 .4rem;font-size:1.05rem;color:#264b6b;text-transform:uppercase;letter-spacing:.04em}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.item{border:1px solid #e3e6ea;border-radius:6px;padding:.8rem 1rem;background:#fff}
.item h3{margin:.35rem 0 .2rem;font-size:1.05rem}
.item-lead{border-left:4px solid #c98a1a;margin-bottom:1rem;background:#fffaf0}
.item-lead h2{margin:.35rem 0}
.item .live{font-weight:600;color:#7a4d00}
.item-foot{font-size:.82rem;color:#5b6670;margin-top:.5rem}
.changed{color:#7a4d00}
.src{white-space:nowrap}
.badge-changed{background:#fdf0d5;color:#7a4d00;border:1px solid #e8c77a}
.badge-opened{background:#e3f4ea;color:#1e6b3c;border:1px solid #9fd3b2}
.badge-closed{background:#f6e3e3;color:#8a2a2a;border:1px solid #e0a9a9}
.badge-status{background:#eef1f4;color:#3b4a57;border:1px solid #cfd6dd}
.badge-go{background:#e3f4ea;color:#1e6b3c;border:1px solid #9fd3b2}
.badge-cat{background:#eef1f4;color:#3b4a57;border:1px solid #cfd6dd}
.badge-sponsored{background:#f3eefc;color:#4b2f7f;border:1px solid #c9b8ea}
.note-box{background:#f4f7fa;border-left:4px solid #264b6b;padding:.7rem 1rem;border-radius:4px}
.jump{margin:.5rem 0 1rem;font-size:.9rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.picks ol{padding-left:1.3rem}.picks li{margin-bottom:.6rem}
.worst li{margin-bottom:.8rem}
.plain-list{padding-left:1.1rem}.plain-list li{margin-bottom:.5rem}
.follow{font-size:.9rem}.follow-fixed,.follow-reopened{color:#1e6b3c}.follow-still{color:#8a2a2a}
details summary{cursor:pointer;color:#264b6b;font-size:.88rem}
details blockquote{margin:.4rem 0;padding:.5rem .8rem;background:#f6f7f8;border-left:3px solid #cfd6dd;font-size:.88rem}
/* strips */
.strips{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin:1.5rem 0}
.strip{border:1px solid #e3e6ea;border-top:3px solid #0b2540;border-radius:6px;padding:.7rem 1rem;background:#fff}
.strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.strip-head h2{margin:0;font-size:1.1rem}.strip-head h2 a{color:inherit;text-decoration:none}
.strip .more{font-size:.85rem;white-space:nowrap}
.strip-list{list-style:none;padding:0;margin:.5rem 0 0}.strip-list li{padding:.35rem 0;border-bottom:1px solid #f0f2f4}.strip-list li:last-child{border-bottom:0}
[class^="season-"] .strip,[class*=" season-"] .strip{border-top-color:var(--season-accent,#0b2540)}
/* local weather */
.home-local{display:grid;grid-template-columns:3fr 2fr;gap:1rem;margin:1.5rem 0}
.wx-panel{border:1px solid #d7e2ea;border-radius:8px;padding:1rem 1.2rem;background:#f7fafc}
.wx-head h2{margin:0;font-size:1.25rem}.wx-sub{margin:.1rem 0 .6rem;color:#4a5560;font-size:.88rem}
.wx-now{display:flex;align-items:center;gap:1.2rem}
.wx-temp{font-size:2.6rem;font-weight:700;color:#0b2540;line-height:1}
.wx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem 1rem;margin:.7rem 0}
.wx-grid div{background:#fff;border:1px solid #e3e9ee;border-radius:5px;padding:.4rem .6rem}
.wx-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#5b6670}.wx-grid dd{margin:0;font-weight:600}
.wx-panel h3{font-size:.9rem;margin:.6rem 0 .2rem;text-transform:uppercase;letter-spacing:.04em;color:#264b6b}
.wx-trend{font-weight:400;color:#4a5560}.wx-updated{font-size:.82rem;color:#5b6670}.wx-stale{color:#8a5a00}
.wx-astro{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wx-astro p{margin:.2rem 0}
.moon-line{display:flex;align-items:center;gap:.4rem}.moon-icon{width:28px;height:28px}
.moon-dark{fill:#2b3a48}.moon-lit{fill:#f1ead2}
.wx-compact{margin:1rem 0}
/* own equipment */
.own-strip{border-top-color:#1f6f8b}.own-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
.own-fig img{width:100%;border-radius:4px}.own-big{font-size:2.2rem;font-weight:700;margin:.2rem 0;color:#0b2540}
.own-empty{background:#f6f7f8;border-radius:5px;padding:.6rem .8rem}
.card-img.is-illus img{background:#eef3f6}
figure figcaption a{color:inherit}
/* airport */
.table-wrap{overflow-x:auto}.flights{width:100%;border-collapse:collapse;font-size:.92rem}
.flights th{text-align:left;border-bottom:2px solid #0b2540;padding:.4rem .5rem;font-size:.78rem;text-transform:uppercase;color:#4a5560}
.flights td{border-bottom:1px solid #e9ecef;padding:.45rem .5rem;vertical-align:top}.late{color:#8a2a2a;font-weight:600}
/* launches */
.launch-hero{border:1px solid #d7e2ea;border-left:4px solid #0b2540;border-radius:8px;padding:1rem 1.2rem;background:#fff;margin-bottom:1.2rem}
.launch-hero h2{margin:.2rem 0;font-size:1.6rem}.tminus{font-size:1.3rem;font-weight:700;color:#0b2540;margin:.2rem 0 .6rem}.tminus-sm{font-weight:600;color:#0b2540}
.watch-box{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:center;background:#f4f7fa;border-radius:6px;padding:.8rem;margin-top:.8rem}
.watch-box img{width:100%;border-radius:4px}
.video-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.launch-list{list-style:none;padding:0}.launch-list li{padding:.6rem 0;border-bottom:1px solid #eef0f2}
.viewing{margin:1.2rem 0}
.btn-light{background:#fff}
/* events & seasons */
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.event-card{border:1px solid #e3e6ea;border-radius:6px;padding:.8rem 1rem;background:#fff}
.event-card h3{margin:.35rem 0 .2rem;font-size:1.05rem}.event-card .when{font-weight:600;margin:.2rem 0;color:#264b6b}
.event-grid.featured .event-card{border-top:3px solid var(--season-accent,#c98a1a)}
.season{border-left:4px solid var(--season-accent,#1f6f8b);padding-left:1rem;margin:1rem 0}
.season-fig img{width:100%;max-height:260px;object-fit:cover;border-radius:6px}
.next-season{border:1px dashed var(--season-accent,#9aa5ae);border-radius:6px;padding:.8rem 1rem;margin:1.5rem 0}
.event-page .wx-grid{margin:1rem 0}
/* ads & sponsored */
.ad{border:1px solid #d9dde1;border-radius:6px;padding:.5rem .7rem;background:#fafafa;margin:1rem 0;text-align:center}
.ad img{max-width:100%;height:auto;display:block;margin:0 auto}
.ad-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7680;margin-bottom:.3rem;text-align:left}
.ad-by{font-size:.75rem;color:#6b7680;margin-top:.3rem}
.ad-house a{display:block;padding:.6rem;color:#264b6b;font-weight:600;text-decoration:none;border:1px dashed #b9c3cc;border-radius:4px}
.ad-in-story{margin:1.2rem 0}
.sponsored-box{border:1px solid #c9b8ea;background:#f8f5fe;border-radius:6px;padding:.8rem 1rem;margin:1rem 0}
.sponsored-box .ad-label{color:#4b2f7f}.sponsored-line{background:#f8f5fe;border:1px solid #c9b8ea;padding:.5rem .8rem;border-radius:5px}
.sponsored-title{color:#4b2f7f}
.panel-lite{border:1px solid #e3e6ea;border-radius:6px;padding:.7rem 1rem;margin:1rem 0;background:#fff}
table.mini{width:100%;border-collapse:collapse;font-size:.85rem}table.mini th,table.mini td{border-bottom:1px solid #eef0f2;padding:.3rem .4rem;text-align:left}
@media (max-width:760px){.home-local,.two-col,.top-single,.watch-box,.wx-astro{grid-template-columns:1fr}}

/* ---- Weather log, Local Outlook, NWS forecast ---- */
.wx-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media(max-width:760px){.wx-two{grid-template-columns:1fr}}
.wx-outlook,.nws-box{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.wx-outlook h3,.nws-box h3{margin:0 0 8px;font-size:15px}
.wx-outlook{border-left:4px solid var(--accent)}
.wx-outlook-compact{margin:12px 0;padding:10px 12px}
.wx-ol-head{font-weight:600;margin:4px 0}
.wx-ol-lines{margin:6px 0 8px;padding-left:18px}
.nws-box{border-left:4px solid #6b7c93}
.nws-periods{list-style:none;margin:0;padding:0}
.nws-periods li{border-top:1px solid var(--line);padding:8px 0}
.nws-periods li:first-child{border-top:0}
.nws-periods h4{margin:0;font-size:14px}
.nws-temp{margin:2px 0;font-size:20px;font-weight:700}
.nws-short{margin:0;font-weight:600}
.credit{color:var(--muted)}
.wx-month,.wx-log,.wx-records{margin:24px 0}
.wx-months{font-size:14px}
.wx-chart{width:100%;height:auto;background:var(--card);border:1px solid var(--line);border-radius:8px}
.wxc-grid{stroke:#e3e6ea;stroke-width:1}
.wxc-ax{font-size:11px;fill:#5b6472}
.wxc-lbl{font-size:10px;fill:#14181f}
.wxc-cap{font-size:11px;fill:#5b6472}
.wxc-temp{fill:#e0592a;opacity:.85}
.wxc-rain{fill:#0b5cad}
.wx-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
.wx-table th,.wx-table td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.wx-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.wx-rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:8px 0}
.wx-rec{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.wx-rec dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.wx-rec dd{margin:4px 0 0;font-size:18px;font-weight:700}
.wx-rec dd .meta{font-size:13px;font-weight:400}

/* ---- Hurricanes ---- */
.disclaimer{background:#f3f5f8;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:14px}
.hur-warn{background:#fdecea;border:2px solid #b3261e;border-radius:8px;padding:12px 16px;margin:16px 0}
.hur-warn h2{color:#b3261e;margin:0 0 6px}
.hur-storms,.hur-outlook,.hur-alerts,.storm-station,.hur-season,.hur-history{margin:24px 0}
.storm{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}
.storm h3{margin:0 0 6px}
.nhc-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.nhc-two{grid-template-columns:1fr}}
.nhc-fig{margin:8px 0}
.nhc-fig img{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.nhc-fig figcaption{font-size:12px;color:var(--muted)}
.nhc-text{white-space:pre-wrap;background:#f6f7f9;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:13px;max-height:420px;overflow:auto}
.hur-alerts li{margin:6px 0}
.hur-alerts li.tropical{border-left:4px solid #b3261e;padding-left:8px}
.facts li{margin:4px 0}
.hur-dec summary{cursor:pointer;font-weight:600;padding:4px 0}
.strip-alert{background:#fdecea;border-left:4px solid #b3261e;padding:6px 8px;margin:0 0 6px}

/* ---- Sports ---- */
.sub-nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 16px;font-size:14px}
.sub-nav a{color:var(--accent);font-weight:600}
.sports-sec{margin:24px 0}
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.game{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.game-when{margin:0 0 6px;font-size:14px;font-weight:600}
.game-score{width:100%;border-collapse:collapse}
.game-score td{padding:3px 0}
.game-score .pts{text-align:right;font-size:20px;font-weight:700;width:3em}
.game-score .pts.win{color:var(--accent)}
.periods{border-collapse:collapse;font-size:13px;margin:6px 0}
.periods th,.periods td{border:1px solid var(--line);padding:2px 6px;text-align:center}
.badge-final{background:#14181f;color:#fff}
.badge-postponed,.badge-canceled{background:#fff4d6;color:#6b4e00}
.kbyg{margin-top:8px;background:#f6f8fb;border:1px solid var(--line);border-radius:6px;padding:6px 10px}
.kbyg summary{cursor:pointer;font-weight:600}
.kbyg dl{margin:6px 0}
.kbyg dt{font-size:12px;color:var(--muted);text-transform:uppercase}
.kbyg dd{margin:0 0 4px}
.parking{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:16px 0}

/* ---- Members ---- */
.member-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn-alt{background:#fff;color:var(--accent);border:1px solid var(--accent)}

.badge-pick{background:#b8860b;color:#fff;font-size:10px;margin-left:6px;margin-right:0}

/* Nav: no horizontal scroll; one line at >=1024px, neat wrap below, compact grid on phones (Oct 24, 2026) */
.masthead{padding-top:8px}
.site-name{margin:2px 0 0}
.tagline{margin:2px 0 6px}
.cats .wrap{overflow:visible;flex-wrap:wrap;white-space:normal;scrollbar-width:none;gap:2px 2px;padding-top:4px;padding-bottom:4px;align-items:center}
.cats .wrap::-webkit-scrollbar{display:none}
.cats a{font-size:13px;padding:4px 7px;white-space:nowrap;line-height:1.35}
.cats-sub a{font-size:12px;padding:2px 7px}
.cats-sub .wrap{padding-top:3px;padding-bottom:3px}
@media (max-width:1100px){.cats a{font-size:12.5px;padding:4px 6px}.cats-sub a{font-size:11.5px;padding:2px 6px}}
@media (max-width:1023px){.cats .wrap{justify-content:center;gap:2px 4px}.nav-members{margin-left:0}}
@media (max-width:639px){
  .masthead{padding-top:6px}.tagline{margin:0 0 4px;font-size:13px}
  .cats.sections .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:5px 10px}
  .cats.sections a{text-align:center;font-size:12.5px;padding:5px 4px;border:1px solid var(--line);white-space:normal}
  .cats.sections a.active{border-color:var(--ink)}
  .cats.sections .wrap{grid-auto-flow:row dense}.cats.sections a[href="/restaurants"]{grid-column:span 2;white-space:nowrap}
  .cats-sub .wrap{gap:2px 3px;padding:3px 8px}
  .cats-sub a{font-size:11.5px;padding:2px 5px}
}

/* Breweries (Bars & Restaurants) */
.brew{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:12px 0}
.brew-pick{border-color:#b8860b;box-shadow:inset 4px 0 0 #b8860b}
.brew h3{margin:0 0 4px;font-size:1.15rem}
.brew h4{margin:12px 0 4px;font-size:.95rem}
.brew ul{margin:4px 0;padding-left:20px}.brew li{margin:3px 0}
.brew-rank{color:var(--muted);font-weight:700;margin-right:2px}
.brew-intro{font-size:1.02rem}
.brew-two{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
.brew-stats,.brew-hours{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;margin:4px 0}
.brew-stats dt,.brew-hours dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.brew-stats dd,.brew-hours dd{margin:0}
.brew-more summary{cursor:pointer;font-weight:600;color:var(--accent);margin-top:6px}
.srcs a{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 4px;margin-left:3px;white-space:nowrap;text-decoration:none}
.srcs a:hover{color:var(--ink)}
.brew-soon{background:#f6f7f8;border:1px dashed #c9ced5;border-radius:8px;padding:10px 18px;margin:12px 0}
.brew-soon h3{margin:0 0 4px}
.brew-method{margin-top:10px}
@media(max-width:760px){.brew-two{grid-template-columns:1fr}}

/* Footer (c) mark: looks exactly like the surrounding text */
.footer a.copy-mark,.footer a.copy-mark:hover,.footer a.copy-mark:active,.footer a.copy-mark:visited{color:inherit;text-decoration:none;cursor:default;background:none;opacity:1;font:inherit}
/* Footer: ~18% larger text for readability (Oct 24, 2026) */
.footer{font-size:16.5px;line-height:1.55}
.footer .small{font-size:14px;color:#a3abb6}
.footer-links{line-height:1.9}
@media (max-width:639px){.footer{font-size:16px;padding:20px 0}.footer .wrap{gap:8px 20px}.footer .small{font-size:13.5px}.footer-links a{display:inline-block;padding:2px 0}}

/* ---- Live Cams (/cams) ---- */
.cam-towns{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px}
.cam-towns a{font-size:13px;padding:5px 11px;border:1px solid #cfd6dd;border-radius:999px;color:var(--ink);text-decoration:none;background:#fff}
.cam-towns a.active,.cam-towns a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cam-poster{position:relative;display:block;aspect-ratio:16/9;background:#0b2540;overflow:hidden}
.cam-poster img{width:100%;height:100%;object-fit:cover;display:block}
.cam-live{position:absolute;top:10px;left:10px;background:#c4161c;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:3px}
.cam-ext{position:absolute;bottom:8px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 7px;border-radius:3px}
.cam-poster-link img{opacity:.75}
.cam-card h3{font-size:18px}
.cam-status{color:#7a4d00}
.cam-teaser{margin:18px 0}
