/* R65 — single visual system: white / deep Texas blue / dark Texas red. No photography. */
:root{
  --ink:#17202a;
  --muted:#5b6570;
  --paper:#ffffff;
  --surface:#ffffff;
  --surface-2:#f6f8fa;
  --line:#dce2e8;
  --brass:#173b63;
  --brass-dark:#102a47;
  --brass-bright:#8a2635;
  --red:#8a2635;
  --red-soft:#f8eff1;
  --green:#173b63;
  --green-dark:#102a47;
  --green-soft:#eef3f8;
  --saddle:#102a47;
  --shadow:0 6px 24px rgba(17,24,39,.07);
  --radius:10px;
  --radius-sm:8px;
  --max:1180px;
  --kecb-blue:#173b63;
  --kecb-navy:#102a47;
  --kecb-red:#8a2635;
  --kecb-red-dark:#681c29;
  --kecb-soft-blue:#eef3f8;
  --kecb-soft-red:#f8eff1;
  --kecb-neutral:#f6f8fa;
}
html{background:#fff}
body{background:#fff;color:var(--ink)}
::selection{background:var(--kecb-soft-blue);color:var(--kecb-navy)}
:focus-visible{outline-color:var(--kecb-red)}
a{color:var(--kecb-blue)}

/* Universal header + navigation */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(17,24,39,.05);backdrop-filter:blur(12px)}
.header-row{min-height:64px;gap:1.15rem}
.brand{color:var(--kecb-navy);font-size:1rem;letter-spacing:.015em;gap:.42rem}
.brand-star{color:var(--kecb-red);font-size:1.12rem}
.brand small{color:var(--muted);font-size:.61rem;letter-spacing:.075em;font-weight:700}
.nav{gap:.12rem;position:relative}
.nav>a,.nav-more>summary{display:flex;align-items:center;min-height:42px;padding:.55rem .68rem;color:var(--kecb-navy);border-radius:6px;text-decoration:none;font-size:.84rem;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}
.nav-more>summary::-webkit-details-marker{display:none}
.nav>a:hover,.nav>a:focus-visible,.nav-more>summary:hover,.nav-more>summary:focus-visible{background:var(--kecb-soft-blue);color:var(--kecb-navy)}
.nav>a[aria-current="page"]{background:transparent;color:var(--kecb-navy);box-shadow:inset 0 -3px 0 var(--kecb-red)}
.nav-more[open]>summary,.nav-more.current>summary{background:var(--kecb-soft-blue);color:var(--kecb-navy)}
.nav-more-menu{position:absolute;right:0;top:calc(100% + .45rem);width:min(310px,calc(100vw - 2rem));padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px rgba(17,24,39,.12);display:grid;grid-template-columns:1fr 1fr;gap:.08rem}
.nav-more-menu a{display:block;padding:.66rem .7rem;border-radius:6px;text-decoration:none;color:var(--kecb-navy);font-size:.78rem;font-weight:800}
.nav-more-menu a:hover,.nav-more-menu a:focus-visible{background:var(--kecb-soft-blue)}
.nav-more-menu a[aria-current="page"]{color:var(--kecb-red);background:var(--kecb-soft-red)}
.nav-toggle{margin-left:auto;border:1px solid var(--line);background:#fff;color:var(--kecb-navy);border-radius:7px;padding:.5rem .72rem;font-weight:850}
.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--kecb-soft-blue);border-color:#b7c7d8}

/* Typography and page rhythm */
h1,h2,h3{color:var(--kecb-navy);letter-spacing:-.03em}
h1{font-size:clamp(2.2rem,6.5vw,4.8rem);line-height:.98}
h2{font-size:clamp(1.55rem,3.1vw,2.5rem)}
h3{font-size:1.15rem}
.hero{padding:clamp(2rem,5vw,4.2rem) 0 1.5rem;position:relative;background:#fff}
.hero>.shell,.alcohol-title>.shell,.briefing-title>.shell{position:relative}
.hero>.shell::before,.alcohol-title>.shell::before,.briefing-title>.shell::before{content:"";display:block;width:58px;height:3px;margin-bottom:1.05rem;background:linear-gradient(90deg,var(--kecb-red) 0 34%,var(--kecb-blue) 34% 100%)}
.eyebrow{color:var(--kecb-red);font-size:.69rem;letter-spacing:.12em}
.lede,.history-intro,.perform-intro{color:var(--muted)}
.section{padding:1.3rem 0 3.2rem}
.section-head{border-bottom:1px solid var(--line);padding-bottom:.72rem}
.section-head h2{color:var(--kecb-navy)}
.muted{color:var(--muted)}

/* Controls */
.button{border-radius:7px;background:var(--kecb-red);box-shadow:none;padding:.7rem .95rem}
.button:hover,.button:focus-visible{background:var(--kecb-red-dark)}
.button.secondary{background:#fff;color:var(--kecb-navy);border-color:#bfc9d3}
.button.secondary:hover,.button.secondary:focus-visible{background:var(--kecb-soft-blue);border-color:#9fb4c9}
.search-form input,.perform-controls input,.perform-controls select,.history-controls input[type="search"],.history-controls input[type="date"],.alcohol-search-primary input,.alcohol-advanced-grid input,.alcohol-advanced-grid select,.compare-add-search input{background:#fff!important;border:1px solid #c9d2dc!important;border-radius:7px!important;box-shadow:none!important;color:var(--ink)!important}
input:focus,select:focus,textarea:focus{border-color:var(--kecb-blue)!important;box-shadow:0 0 0 3px rgba(23,59,99,.10)!important;outline:0}
.pill,.confidence,.fact-status,.history-status{border-radius:999px}
.pill{background:var(--kecb-soft-blue);border-color:#c5d3e0;color:var(--kecb-navy)}

/* Cards and panels: one visual language */
.panel,.map-panel,.list-panel,.path-card,.event-card,.result-card,.content-card,.perform-directory,.history-controls,.history-results,.history-year-summary>div,.research-stat-grid>div,.alcohol-results-table,.alcohol-snapshot-strip,.monthly-accordion>details,.single-alcohol-record,.exact-location-grid>div{background:#fff!important;border-color:var(--line)!important;border-radius:10px!important;box-shadow:none!important}
.path-card,.event-card,.result-card,.content-card{border:1px solid var(--line)!important;border-left:1px solid var(--line)!important;border-top:1px solid var(--line)!important}
.path-card:hover,.path-card:focus-visible,.event-card:hover,.result-card:hover,.content-card:hover{border-color:#b7c7d8!important;box-shadow:0 6px 24px rgba(17,24,39,.06)!important;transform:none}
.dance-hall{background:#fff!important;border-color:#b7c7d8!important;box-shadow:none!important}
.content-card.dance-hall::before{content:"★";color:var(--kecb-red);font-weight:950;margin-right:.28rem}
.source-link,.perform-address a,.perform-contact a,.perform-social a,.history-venue a,.venue-alcohol-source,.alcohol-open,.text-action{color:var(--kecb-blue)!important}

/* Home Ground: only title, map, tonight list. No photography. */
.home-main{background:#fff}
.home-intro{align-items:center;padding:clamp(1.5rem,4vw,2.4rem) 0 1rem;border-bottom:1px solid var(--line)}
.home-owner{gap:.85rem}
.home-owner::before{content:none;display:none}
.home-owner-photo{display:block!important}
.home-intro h1{color:var(--kecb-navy);font-size:clamp(2rem,4.5vw,3.65rem);letter-spacing:-.045em}
.home-facebook{color:var(--kecb-blue);font-weight:800}
.home-facebook span{background:var(--kecb-blue)}
.home-today p{color:var(--muted)}
.home-experience{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none}
.home-experience>.list-panel{border-left:1px solid var(--line)}
.home-list-head{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.home-list-head h2{color:var(--kecb-navy)}.home-market-chip{background:#fff}.home-market-chip.complete{border-color:#cfd9e3}.home-market-chip.updating{color:#56616d}
.home-venue-row{grid-template-columns:1fr!important;border-bottom:1px solid var(--line)}
.home-venue-row.selected{background:var(--kecb-soft-blue);box-shadow:inset 3px 0 0 var(--kecb-red)}
.venue-thumb,.map-popup-photo{display:none!important}
.map-popup-layout,.map-popup-layout:not(:has(.map-popup-photo)){grid-template-columns:1fr!important}
.home-venue-name{color:var(--kecb-navy)}
.home-row-links{color:var(--kecb-blue)}
.home-event-line{border-top-color:#e8edf2}
.home-event-line time{color:var(--kecb-red)}

/* Maps are the site's strongest imagery. */
.map-frame{background:#eef3f8;border-radius:8px}
.map-status{border-radius:6px!important;border:1px solid var(--line);box-shadow:0 4px 14px rgba(17,24,39,.06)!important;color:var(--kecb-navy)}
.map-controls button{border-color:#c8d2dd;border-radius:7px;background:#fff;color:var(--kecb-navy)}
.home-experience .map-marker{color:var(--kecb-blue)}
.home-experience .map-marker.has-event{color:var(--kecb-red)}
.home-experience .map-marker.selected{color:var(--kecb-red-dark)}
.home-experience .map-detail-panel,.map-detail-panel{border:1px solid var(--line);border-top:3px solid var(--kecb-blue);border-left:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.98);box-shadow:0 12px 28px rgba(17,24,39,.12)}

/* Tonight */
.going-out-nav a{background:#fff;color:var(--kecb-navy);border-color:var(--line);border-radius:7px;box-shadow:none}
.going-out-nav a[aria-current="page"]{background:var(--kecb-navy);border-color:var(--kecb-navy);color:#fff}
.going-out-nav a:hover,.going-out-nav a:focus-visible{border-color:#9fb4c9;box-shadow:none;background:var(--kecb-soft-blue)}

/* Show History: archive/research treatment. */
.history-controls{padding:.82rem}
.history-summary{border-bottom:1px solid var(--line)}
.history-summary strong,.history-year-summary strong{color:var(--kecb-navy)}
.history-year-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem}
.history-year-summary>div{border-top:3px solid var(--kecb-blue)!important}
.history-results{overflow:visible;border:0!important;border-radius:0!important}
.history-event{border:1px solid var(--line);border-radius:9px;margin-bottom:.5rem;background:#fff;padding:.8rem .9rem}
.history-event:nth-child(even){background:#fff}
.history-event.dance-hall{box-shadow:none!important}
.history-date strong{color:var(--kecb-red)}
.history-compare-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:.7rem;overflow-x:auto;align-items:start;padding:.1rem .05rem .8rem;scroll-snap-type:x proximity}
.history-year-column{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;scroll-snap-align:start;min-height:100%}
.history-year-column>header{position:sticky;top:65px;z-index:2;padding:.75rem .82rem;background:#fff;border-bottom:1px solid var(--line)}
.history-year-column>header strong{display:block;color:var(--kecb-navy);font-size:1.15rem}
.history-year-column>header span{display:block;color:var(--muted);font-size:.72rem;margin-top:.08rem}
.history-year-column .history-event{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:1fr;gap:.28rem}
.history-year-column .history-event:last-child{border-bottom:0}
.history-year-column .history-source{grid-column:1;justify-content:flex-start}

/* Perform directory */
.perform-summary strong,.perform-venue>a{color:var(--kecb-navy)}
.perform-star{color:var(--kecb-red)}
.perform-head{background:var(--kecb-soft-blue);color:var(--kecb-navy)}
.perform-row{border-top-color:var(--line)}
.perform-row:nth-child(even){background:#fbfcfd}

/* Alcohol Intelligence and research */
.alcohol-title{padding:1.6rem 0 .5rem;background:#fff}
.alcohol-title h1,.research-panel h2,.research-panel h3,.alcohol-dossier-head h1,.exact-location h3{color:var(--kecb-navy)!important}
.research-bar-track{background:#e7edf3}
.research-bar-track span{background:var(--kecb-blue)}
.research-grid{stroke:#e2e8ee}
.monthly-accordion>details[open]>summary{background:var(--kecb-soft-blue);border-bottom-color:var(--line)}
.overview-partial{border-left-color:var(--kecb-red);background:var(--kecb-soft-red);color:var(--ink)}
.identity-warning{border-left-color:var(--kecb-red)}
.exact-location{border-top-color:var(--line)}
.exact-location-grid>div{background:var(--kecb-neutral)!important}

/* Briefing: editorial, not decorative. */
.briefing-title{background:#fff}
.briefing-section,.briefing-detail,.archive-panel{border-color:var(--line)!important;background:#fff!important;box-shadow:none!important}
.briefing-section>summary{color:var(--kecb-navy)}
.briefing-fact{border-top-color:var(--line)}
.citation{background:var(--kecb-soft-blue);color:var(--kecb-navy)}
.archive-list>a{border-bottom-color:var(--line)}

/* Work, Academy, Books, Arcade share chrome and surfaces. */
.academy-page,.books-page{background:#fff!important;color:var(--ink)!important}
.academy-page .site-header,.books-page .site-header{background:rgba(255,255,255,.97)!important;color:var(--ink)!important}
.academy-page .panel,.books-page .panel,.academy-page .content-card,.books-page .content-card{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.arcade-page .site-header{background:rgba(255,255,255,.97)!important;color:var(--ink)!important}

/* Tables / data */
table{border-color:var(--line)}
th{color:var(--kecb-navy)}
th,td{border-color:var(--line)!important}

/* Footer */
.footer{border-top:0;background:var(--kecb-navy);color:#d9e2ec;padding:1.7rem 0 2.4rem}
.footer::before{content:"";display:block;width:min(var(--max),calc(100% - 2*var(--gutter)));height:3px;margin:-1.7rem auto 1.4rem;background:linear-gradient(90deg,var(--kecb-red) 0 46px,transparent 46px)}
.footer a{color:#fff}

/* Remove remaining warm/brown inline-feeling legacy surfaces. */
.place-card.selected,.event-chip,.venue-alcohol-stats div,.citation,.briefing-section-body,.research-note.panel{background-color:var(--kecb-neutral)}
.event-chip{border-left-color:var(--kecb-red)}

@media(max-width:900px){
  .header-row{min-height:60px;flex-wrap:wrap;padding:.48rem 0}
  .nav-toggle{display:block}
  .nav{display:none!important;order:3;width:100%;margin-left:0;padding:.35rem 0 .2rem;border-top:1px solid var(--line);align-items:stretch}
  .nav.open{display:grid!important;grid-template-columns:1fr 1fr;gap:.12rem}
  .nav>a,.nav-more>summary{min-height:44px;padding:.62rem .7rem;border-radius:7px}
  .nav-more{grid-column:1/-1}
  .nav-more-menu{position:static;width:100%;margin-top:.2rem;padding:.35rem;grid-template-columns:1fr 1fr;border-radius:8px;box-shadow:none;background:var(--kecb-neutral)}
  .nav-more-menu a{min-height:42px;display:flex;align-items:center}
  .home-experience{grid-template-columns:1fr}
  .home-experience>.list-panel{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:620px){
  :root{--gutter:1rem}
  h1{font-size:clamp(2rem,11vw,3rem)}
  .nav.open{grid-template-columns:1fr}
  .nav-more{grid-column:auto}
  .nav-more-menu{grid-template-columns:1fr}
  .brand small{display:none}
  .hero{padding-top:1.65rem}
  .home-intro{display:block}
  .home-today{text-align:left;margin-top:.75rem}
  .home-experience{border-radius:8px}
  .history-compare-grid{grid-auto-columns:minmax(86vw,1fr)}
  .history-year-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* R102 Arcade: canonical standalone game launcher */
.arcade-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.arcade-game-card{min-height:150px;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 28px rgba(16,42,71,.08);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--kecb-navy)}
.arcade-game-card strong{font-size:1.1rem;line-height:1.2}
.arcade-game-card span{width:max-content;padding:.48rem .72rem;border-radius:7px;background:var(--kecb-red);color:#fff;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.arcade-game-card:hover,.arcade-game-card:focus-visible{border-color:var(--kecb-red);transform:translateY(-1px)}
@media(max-width:820px){.arcade-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.arcade-game-grid{grid-template-columns:1fr}.arcade-game-card{min-height:126px}}
.home-market-chip.has-events{border-color:rgba(17,70,116,.35);font-weight:900}.home-market-chip.has-events strong{color:var(--kecb-red);margin-left:.15rem}.home-market-chip.quiet strong{margin-left:.15rem}.market-checking{margin-left:.28rem;color:#8a6a26;font-size:.85em}.home-location-note{color:var(--muted);font-weight:700}.home-row-links .home-location-note{font-size:.68rem}

/* R116 — truthful Home Ground in-progress states */
.home-coverage-progress{padding:.72rem 1rem;border-bottom:1px solid var(--line);background:var(--kecb-soft-blue)}
.home-coverage-progress-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.74rem;color:var(--kecb-navy)}
.home-coverage-progress-head span{color:var(--muted);font-weight:850}
.home-coverage-track{height:5px;margin-top:.45rem;border-radius:999px;background:#dbe4ec;overflow:hidden}
.home-coverage-track span{display:block;height:100%;border-radius:inherit;background:var(--kecb-blue);min-width:2px}
.home-empty-state{display:grid;gap:.4rem;padding:1.15rem 1rem!important;color:var(--muted);line-height:1.45}
.home-empty-state strong{color:var(--kecb-navy);font-size:1rem}
.home-market-chip.updating{border-style:dashed;background:#f8fafc;color:#52606d}
.home-market-chip.complete{border-style:solid}
@media(max-width:850px){.home-experience .map-frame{height:44vh;min-height:320px}.home-coverage-progress{padding:.65rem .8rem}}
/* R118: keep Home Ground visitor-first by moving the live map/list higher in the viewport. */
.home-intro{padding-top:clamp(1rem,2.4vw,1.55rem);padding-bottom:.72rem}
.home-intro h1{font-size:clamp(2rem,4vw,3.35rem)}
.home-owner-photo{width:66px;height:66px;flex-basis:66px}
.home-today strong{font-size:.96rem;line-height:1.25}
@media(max-width:850px){.home-intro{padding-top:.85rem;padding-bottom:.62rem}.home-owner-photo{width:54px;height:54px;flex-basis:54px}}
