*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f6f8;color:#17202a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #dfe5ea}.hero{width:100%;overflow:hidden;background:#0d2233}.hero img{display:block;width:100%;height:auto}.headerbar{background:#fff;border-top:1px solid rgba(18,61,90,.12)}.header-actions{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-label{font-weight:800;color:#123d5a;letter-spacing:.2px}.header-right{display:flex;align-items:center;gap:10px}.weather{background:#123d5a;color:white;text-decoration:none;padding:12px 17px;border-radius:9px;font-weight:700;white-space:nowrap}.sponsors{padding:26px 0 18px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#c33b32;margin:0 0 9px}.adgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ad{min-height:125px;background:white;border:1px solid #dfe5ea;border-radius:14px;padding:16px;display:flex;align-items:center;gap:18px;text-decoration:none;color:#17202a;box-shadow:0 4px 18px rgba(26,42,54,.05);transition:.15s}.ad:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,42,54,.1)}.ad img{width:180px;max-height:90px;object-fit:contain}.ad div{display:flex;flex-direction:column;gap:6px}.ad b{font-size:18px}.ad span{color:#66747e;font-size:14px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 32px}.quick a{background:#123d5a;color:white;text-decoration:none;padding:15px;border-radius:9px;text-align:center;font-weight:700}.news,.card{background:white;border:1px solid #dfe5ea;border-radius:14px;box-shadow:0 4px 18px rgba(26,42,54,.04)}.news{padding:24px;margin-bottom:22px}.sectionhead{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #e6eaed;padding-bottom:15px}.sectionhead h2{font-size:30px;margin:0;color:#123d5a}.sectionhead span{font-size:13px;color:#7a858d}.newsitem{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px 2px;border-bottom:1px solid #edf0f2}.newsitem:last-child{border:0}.num{font-weight:800;color:#a5adb3}.newsitem a{color:#17202a;text-decoration:none;font-weight:700}.newsitem a:hover{color:#c33b32}.source{font-size:12px;color:#7b858d}.localgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:36px}.card{padding:22px}.card h2{margin:0 0 15px;color:#123d5a}.card a{display:block;padding:9px 0;border-bottom:1px solid #edf0f2;color:#334854;text-decoration:none}.card a:hover{color:#c33b32}.card p{line-height:1.55}.muted{color:#77838b;font-size:14px}footer{background:#123d5a;color:#dce6eb;padding:24px 0}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer a{color:white}@media(max-width:760px){.brand{align-items:flex-start;flex-direction:column;padding:24px 0}.brand h1{font-size:36px}.adgrid,.localgrid{grid-template-columns:1fr}.ad{flex-direction:column;align-items:flex-start}.ad img{width:100%;height:95px}.quick{grid-template-columns:1fr 1fr}.sectionhead{align-items:flex-start;flex-direction:column;gap:8px}.newsitem{grid-template-columns:28px 1fr}.source{grid-column:2}.weather{width:100%;text-align:center}footer .wrap{flex-direction:column}}
\n\n\n/* Cross-browser theme switcher — v4. Uses explicit classes, not color-scheme variables. */
.header-actions{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-right{display:flex;align-items:center;gap:10px}
.theme-toggle{width:46px;height:46px;border-radius:50%;border:1px solid #dfe5ea;background:#fff;color:#17202a;display:grid;place-items:center;font-size:20px;cursor:pointer;box-shadow:0 3px 12px rgba(26,42,54,.08)}
.theme-toggle:hover{transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:3px solid #123d5a;outline-offset:2px}

html.dark-theme body{background:#0d1217!important;color:#e8eef2!important}
html.dark-theme header{background:#151c22!important;border-bottom-color:#2b3740!important}
html.dark-theme .brand h1{color:#5eb5e6!important}
html.dark-theme .brand h1 span,html.dark-theme .eyebrow{color:#ff7167!important}
html.dark-theme .brand p,html.dark-theme .ad span,html.dark-theme .sectionhead span,html.dark-theme .source,html.dark-theme .muted{color:#a8b3ba!important}
html.dark-theme .ad,html.dark-theme .news,html.dark-theme .card{background:#151c22!important;border-color:#2b3740!important;color:#e8eef2!important;box-shadow:0 4px 18px rgba(0,0,0,.22)!important}
html.dark-theme .sectionhead{border-bottom-color:#263139!important}
html.dark-theme .sectionhead h2,html.dark-theme .card h2{color:#5eb5e6!important}
html.dark-theme .newsitem,html.dark-theme .card a{border-bottom-color:#263139!important}
html.dark-theme .newsitem a,html.dark-theme .card a{color:#e8eef2!important}
html.dark-theme .newsitem a:hover,html.dark-theme .card a:hover{color:#ff7167!important}
html.dark-theme .num{color:#a8b3ba!important}
html.dark-theme .weather,html.dark-theme .quick a{background:#28698e!important;color:#fff!important}
html.dark-theme footer{background:#090d11!important;color:#cdd8de!important}
html.dark-theme .theme-toggle{background:#202a32!important;border-color:#3a4852!important;color:#fff!important}
html.dark-theme .ad img{background:#fff!important;border-radius:8px;padding:5px}
html.light-theme body{background:#f4f6f8!important;color:#17202a!important}
html.light-theme header{background:#fff!important}
html.light-theme .theme-toggle{background:#fff!important;color:#17202a!important}
@media(max-width:760px){.header-actions{width:100%}.header-actions .weather{flex:1}.theme-toggle{flex:0 0 46px}}

/* V5 hero/header */
html.dark-theme .site-header,html.dark-theme .headerbar{background:#101820!important;border-color:#2b3740!important}
html.dark-theme .home-label{color:#e8eef2!important}
html.dark-theme .hero{filter:brightness(.72) saturate(.92)}
html.light-theme .hero{filter:none}
@media(max-width:760px){.header-actions{min-height:62px;flex-direction:row!important;align-items:center!important;padding:8px 0!important}.home-label{font-size:14px}.header-right{margin-left:auto}.header-right .weather{width:auto!important;padding:10px 12px;font-size:13px}.hero img{width:100%;height:auto}.sponsors{padding-top:20px}}

/* V6 — keep the full hero, pull sponsors upward, tighten the transition into content. */
@media (min-width:761px){
  main.wrap{position:relative}
  .sponsors{position:relative;z-index:5;margin-top:-74px;padding:0 0 8px}
  .sponsors .eyebrow{display:inline-block;margin:0 0 7px;padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(0,0,0,.08)}
  html.dark-theme .sponsors .eyebrow{background:rgba(21,28,34,.96)!important}
  .ad{min-height:112px;background:rgba(255,255,255,.97);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
  html.dark-theme .ad{background:rgba(21,28,34,.97)!important}
  .quick{margin:4px 0 20px}
  .news{margin-top:0}
}
@media (max-width:760px){
  .sponsors{padding:10px 0 8px}
  .quick{margin:2px 0 20px}
  .header-actions{min-height:54px!important}
}


/* V6.1 — controls stay clear of the overlapping sponsor cards. */
@media(min-width:761px){
  .headerbar{position:relative;z-index:4}
  .header-actions{min-height:56px;width:100%;max-width:none;padding:0 22px}
  .weather-compact{padding:9px 13px;font-size:13px;border-radius:8px;margin-right:auto}
  .header-actions .theme-toggle{margin-left:auto}
  .sponsors{margin-top:-58px}
  .quick{margin-top:0}
}
@media(max-width:760px){
  .header-actions{justify-content:space-between!important}
  .weather-compact{width:auto!important;flex:0 1 auto!important;padding:9px 11px!important;font-size:12px!important}
  .header-actions .theme-toggle{margin-left:auto}
}

/* V7 live news */
.news-loading{padding:1.1rem;border:1px dashed var(--border);border-radius:12px;color:var(--muted);background:var(--card)}
.news-links{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);font-size:.9rem;color:var(--muted)}
.news-links a{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--card);text-decoration:none;font-weight:700;color:var(--text)}
.news-links a:hover{transform:translateY(-1px)}
.news-links .onion-link small{font-size:.62rem;letter-spacing:.08em;padding:.12rem .3rem;border-radius:4px;background:var(--accent);color:#fff}

/* V7.3 — Local Food spotlight, powered by the Food Directory data. */
.food-spotlight h2{margin-bottom:10px}
.card .food-directory-link{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:#123d5a;font-weight:800;text-decoration:none}
.card .food-directory-link:hover{color:#c33b32}
.food-pick{padding:10px 0 8px;min-height:112px}
.food-pick-name{font-size:20px;font-weight:800;line-height:1.2;margin:0 0 5px;color:#17202a}
.food-pick-meta{font-size:13px;font-weight:700;color:#c33b32;margin:0 0 8px}
.food-pick-desc{margin:0;color:#53636d;line-height:1.5}
.card .food-all-link{margin-top:5px;border-top:1px solid #edf0f2;border-bottom:0;padding:13px 0 0;font-weight:800;color:#123d5a}
html.dark-theme .card .food-directory-link,html.dark-theme .card .food-all-link{color:#5eb5e6!important}
html.dark-theme .food-pick-name{color:#e8eef2!important}
html.dark-theme .food-pick-desc{color:#b5c1c8!important}
html.dark-theme .card .food-all-link{border-top-color:#263139!important}
