/* Canvey & District Darts League — shared stylesheet */
:root{
  --felt:#153029;
  --felt-deep:#0A1E18;
  --panel:#1D3F36;
  --panel-line:#2C544A;
  --slate:#EEE7D6;
  --slate-line:#D9CDAE;
  --ink:#17332B;
  --ink-soft:#4C6259;
  --chalk:#F2EDE0;
  --chalk-dim:#C9C2AD;
  --muted:#8FA99C;
  --brass:#C9A24B;
  --brass-hi:#E9C877;
  --red:#B23A2E;
  --red-hi:#D3503F;
  --board-green:#3E8F63;
  --max:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
body{
  margin:0;background:var(--felt);color:var(--chalk);
  font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;
  position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--chalk);margin:0 0 .4em 0;letter-spacing:-0.01em;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;position:relative;z-index:2;}
.num{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;}

.wire-divider{height:1px;background-image:repeating-linear-gradient(90deg,var(--panel-line) 0 6px, transparent 6px 14px);}

/* ---------- Top bar & nav ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(10,30,24,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--panel-line);}
.topbar-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px;gap:18px;position:relative;z-index:2;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;}
.brand img{height:44px;width:auto;object-fit:contain;flex:none;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
.brand-text strong{font-family:'Fraunces',serif;font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-text span{font-size:.7rem;color:var(--muted);white-space:nowrap;}

nav.pills{display:flex;align-items:center;gap:2px;}
nav.pills > .navlink,
nav.pills .dropdown > button{
  flex:none;font-size:.85rem;padding:11px 14px;text-decoration:none;color:var(--chalk-dim);
  white-space:nowrap;background:none;border:none;font-family:'Inter',sans-serif;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;
}
nav.pills > .navlink:hover,
nav.pills .dropdown > button:hover{color:var(--chalk);}
nav.pills > .navlink.active,
nav.pills .dropdown.active > button{color:var(--chalk);border-bottom-color:var(--brass);}
nav.pills .dropdown{position:relative;}
nav.pills .dropdown > button{display:flex;align-items:center;gap:5px;}
nav.pills .dropdown > button svg{width:9px;height:9px;transition:transform .15s ease;}
nav.pills .dropdown.open > button svg{transform:rotate(180deg);}
.dropdown-menu{
  position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);
  background:var(--felt-deep);border:1px solid var(--panel-line);min-width:210px;
  display:none;flex-direction:column;padding:6px;z-index:60;
  box-shadow:0 20px 40px -18px rgba(0,0,0,.6);
}
.dropdown.open .dropdown-menu{display:flex;}
.dropdown-menu a{display:block;padding:10px 12px;font-size:.85rem;color:var(--chalk-dim);text-decoration:none;white-space:nowrap;}
.dropdown-menu a:hover{color:var(--chalk);background:rgba(201,162,75,.08);}
.dropdown-menu a.active{color:var(--brass-hi);}

.fb-link{flex:none;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--felt-deep);background:var(--brass);padding:9px 16px 9px 13px;font-size:.82rem;font-weight:700;transition:background .15s ease;}
.fb-link svg{flex:none;}
.fb-link:hover{background:var(--brass-hi);}
.menu-toggle{display:none;background:none;border:1px solid var(--panel-line);color:var(--chalk);padding:8px 10px;font-size:.9rem;cursor:pointer;}

/* ---------- Hero (home) ---------- */
.hero{position:relative;overflow:hidden;background:var(--felt-deep);border-bottom:1px solid var(--panel-line);}
.hero-ghost{
  position:absolute;right:-2vw;top:50%;transform:translateY(-50%);
  font-family:'Fraunces',serif;font-weight:900;font-size:min(46vw,560px);line-height:1;
  color:transparent;-webkit-text-stroke:1.5px rgba(201,162,75,.18);
  z-index:0;pointer-events:none;user-select:none;
}
.hero-inner{max-width:var(--max);margin:0 auto;padding:96px 24px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative;z-index:2;}
.hero-copy{padding-bottom:70px;}
.eyebrow-note{color:var(--brass-hi);font-size:.92rem;margin-bottom:16px;max-width:480px;}
.hero h1{font-size:clamp(2.5rem,4.6vw,3.75rem);line-height:1.05;max-width:13ch;}
.hero p.lede{max-width:46ch;color:var(--chalk-dim);font-size:1.08rem;margin-top:20px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
.btn{display:inline-block;text-decoration:none;padding:14px 24px;font-weight:600;font-size:.94rem;transition:transform .12s ease,background .15s ease,border-color .15s ease,color .15s ease;border:1px solid transparent;cursor:pointer;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-hi);}
.btn-ghost{border:1px solid var(--panel-line);color:var(--chalk);background:none;}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass-hi);}
.btn:active{transform:translateY(1px);}

.board-wrap{display:flex;justify-content:center;align-items:center;padding-bottom:70px;}
.dartboard-svg{width:min(78%,360px);}
.dartboard-svg svg{width:100%;height:auto;filter:drop-shadow(0 30px 55px rgba(0,0,0,.55));display:block;}

.scoreboard-strip{border-top:1px solid var(--panel-line);}
.scoreboard-strip .wrap{display:flex;flex-wrap:wrap;position:relative;z-index:2;}
.led-stat{flex:1 1 210px;padding:22px 22px 22px 0;border-right:1px solid var(--panel-line);}
.led-stat:last-child{border-right:none;}
.led-stat-link{display:block;text-decoration:none;transition:background .15s ease;}
.led-stat-link:hover{background:rgba(201,162,75,.06);}
.led-stat-link:hover .led-box{border-color:var(--brass);color:var(--brass-hi);}
.led-box{display:inline-block;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.5rem;color:var(--brass-hi);background:var(--panel);border:1px solid var(--panel-line);padding:4px 10px;letter-spacing:.02em;}
.led-stat p{margin:8px 0 0;font-size:.82rem;color:var(--muted);}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{background:var(--felt-deep);border-bottom:1px solid var(--panel-line);padding:56px 0 44px;}
.page-hero .kicker{color:var(--brass-hi);font-size:.86rem;margin:0 0 10px;}
.page-hero h1{font-size:clamp(2rem,3.6vw,2.7rem);max-width:20ch;}
.page-hero p{color:var(--chalk-dim);max-width:56ch;margin-top:14px;font-size:1.02rem;}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:16px;}
.breadcrumb a{color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--brass-hi);}

/* ---------- Sections ---------- */
section{padding:76px 0;position:relative;z-index:2;}
section.tight{padding:56px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.kicker{color:var(--brass-hi);font-size:.86rem;margin:0 0 8px 0;}
.section-head p{color:var(--chalk-dim);}
.panel{background:var(--panel);border:1px solid var(--panel-line);padding:30px 32px;}

/* Join list (home) */
.join-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start;}
.join-grid ul{list-style:none;margin:0;padding:0;}
.join-grid li{padding:18px 0;border-top:1px solid var(--panel-line);color:var(--chalk-dim);}
.join-grid li:first-child{border-top:none;padding-top:0;}
.join-grid li strong{color:var(--chalk);font-weight:600;}
.join-aside{background:var(--felt-deep);border:1px solid var(--panel-line);padding:28px;}
.join-aside h3{font-size:1.05rem;}
.join-aside .deadline{margin-top:15px;padding-top:15px;border-top:1px dashed var(--panel-line);font-size:.9rem;color:var(--muted);}
.join-aside .deadline b{color:var(--brass-hi);font-family:'JetBrains Mono',monospace;}

/* Quick-link cards (home) */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.quick-card{background:var(--panel);border:1px solid var(--panel-line);padding:24px;text-decoration:none;color:var(--chalk);transition:border-color .15s ease;display:block;}
.quick-card:hover{border-color:var(--brass);}
.quick-card .qi{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--brass-hi);margin-bottom:10px;display:block;}
.quick-card h4{font-size:1.02rem;margin-bottom:6px;}
.quick-card p{margin:0;font-size:.85rem;color:var(--muted);}

/* Ticket-style file rows (rules / downloads) */
.ticket-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.ticket{position:relative;display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--panel-line);text-decoration:none;color:var(--chalk);}
.ticket::before,.ticket::after{content:"";position:absolute;width:18px;height:18px;background:var(--felt);border-radius:50%;top:50%;transform:translateY(-50%);z-index:3;}
.ticket::before{left:-9px;}
.ticket::after{right:calc(140px - 9px);}
.ticket-main{display:flex;align-items:center;gap:16px;padding:20px 24px;flex:1;min-width:0;}
.file-ext{flex:none;font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;color:var(--felt-deep);background:var(--brass);padding:4px 8px;letter-spacing:.03em;}
.file-title{min-width:0;}
.file-title .name{display:block;font-weight:600;font-size:.98rem;}
.file-title .meta{display:block;font-size:.8rem;color:var(--muted);margin-top:3px;}
.ticket-tear{flex:none;width:140px;border-left:1px dashed var(--panel-line);display:flex;align-items:center;justify-content:center;font-size:.83rem;font-weight:600;color:var(--brass-hi);transition:background .15s ease;}
.ticket:hover .ticket-tear{background:rgba(201,162,75,.08);}
.ticket:hover{border-color:var(--brass);}

/* Results slab + cards */
.results-slab{background:var(--slate);color:var(--ink);}
.results-slab h2,.results-slab h4{color:var(--ink);}
.results-slab .kicker{color:var(--red);}
.results-slab .section-head p{color:var(--ink-soft);}
.results-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.rcard{background:#fff;border:1px solid var(--slate-line);padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:150px;text-decoration:none;color:var(--ink);transition:border-color .15s ease,transform .12s ease;}
.rcard:hover{border-color:var(--red);}
.rcard.large{grid-column:span 3;min-height:230px;}
.rcard.medium{grid-column:span 3;}
.rcard.small{grid-column:span 2;}
.rcard h4{font-size:1.05rem;margin-bottom:6px;}
.rcard p{color:var(--ink-soft);font-size:.86rem;margin:0;}
.status{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;padding:4px 9px;align-self:flex-start;margin-bottom:14px;letter-spacing:.02em;}
.status.live{background:rgba(178,58,46,.12);color:var(--red);}
.status.soon{background:rgba(23,51,43,.07);color:var(--ink-soft);}
.rcard-img{margin-top:14px;border:1px solid var(--slate-line);}
.rcard-img img{width:100%;height:auto;}
.rcard-arrow{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--red);margin-top:14px;}

/* Coming-soon page panel */
.status-panel{background:var(--panel);border:1px solid var(--panel-line);padding:60px 40px;text-align:center;}
.status-panel .status{margin:0 auto 18px;}
.status-panel h2{font-size:1.6rem;}
.status-panel p{color:var(--chalk-dim);max-width:44ch;margin:12px auto 0;}
.status-panel .btn{margin-top:26px;}
.stat-image-panel{background:var(--panel);border:1px solid var(--panel-line);padding:32px;}
.stat-image-panel img{border:1px solid var(--panel-line);margin:0 auto;}
.stat-image-panel .caption{margin-top:16px;font-size:.85rem;color:var(--muted);text-align:center;}

/* Fixtures */
.fixtures-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
.fixtures-toolbar label{font-size:.85rem;color:var(--muted);}
.fixtures-toolbar select{background:var(--felt-deep);border:1px solid var(--panel-line);color:var(--chalk);padding:9px 12px;font-family:'Inter',sans-serif;font-size:.88rem;}
.fixtures-toolbar select:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px;}
.live-status{margin-left:auto;font-size:.76rem;color:var(--muted);display:inline-flex;align-items:center;gap:6px;}
.live-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass-hi);flex:none;}
.live-status-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:4px;}
.live-status-row .history-table-note{margin-bottom:0;}
.headline-stat{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:18px 22px;background:var(--felt-deep);border:1px solid var(--panel-line);border-left:3px solid var(--brass);margin-bottom:24px;}
.headline-stat .hs-label{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted);letter-spacing:.02em;}
.headline-stat .hs-value{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;color:var(--chalk);}
.headline-stat .hs-detail{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--brass-hi);}
.player-cards{display:flex;flex-direction:column;gap:12px;}
.player-card{background:var(--felt-deep);border:1px solid var(--panel-line);padding:16px 18px;}
.player-card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.player-card-head .pc-pos{font-family:'JetBrains Mono',monospace;color:var(--brass-hi);font-weight:700;font-size:.9rem;flex:none;}
.player-card-head .pc-name{font-family:'Fraunces',serif;font-weight:600;color:var(--chalk);font-size:1.05rem;}
.player-card-head .pc-team{color:var(--muted);font-size:.82rem;margin-left:auto;}
.player-card-stats{display:flex;gap:16px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--panel-line);border-bottom:1px solid var(--panel-line);margin-bottom:10px;font-size:.85rem;color:var(--chalk-dim);}
.player-card-stats b{color:var(--chalk);}
.player-card-stats .pc-points{margin-left:auto;color:var(--brass-hi);font-family:'JetBrains Mono',monospace;}
.player-card-stats .pc-points b{color:var(--brass-hi);}
.player-card-scorelines{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:8px;}
.player-card-scorelines b{color:var(--chalk-dim);}
.player-card-legs{font-size:.85rem;color:var(--chalk-dim);}
.player-card-legs b{color:var(--chalk);}
.pc-diff{color:var(--brass-hi);font-family:'JetBrains Mono',monospace;font-size:.8rem;}
.fixture-block{background:var(--panel);border:1px solid var(--panel-line);margin-bottom:14px;}
.fixture-block-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:16px 22px;border-bottom:1px solid var(--panel-line);}
.fixture-block-head h4{font-size:1rem;margin:0;color:var(--chalk);}
.fixture-block.is-break .fixture-block-head{border-bottom-color:rgba(178,58,46,.35);}
.fixture-block.is-break .fixture-block-head h4{color:var(--red-hi);}
.fixture-block.is-event .fixture-block-head h4{color:var(--brass-hi);}
.fixture-block-date{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--muted);flex:none;}
.fixture-rows{padding:4px 22px 12px;}
.fixture-row{display:grid;grid-template-columns:1fr 44px 1fr;gap:8px;padding:9px 0;border-top:1px solid var(--panel-line);font-size:.92rem;transition:opacity .15s ease;}
.fixture-row:first-child{border-top:none;}
.fixture-row .home{text-align:right;color:var(--chalk-dim);}
.fixture-row .vs{text-align:center;color:var(--brass-hi);font-family:'JetBrains Mono',monospace;font-size:.76rem;white-space:nowrap;}
.fixture-row .vs.vs-score{color:var(--chalk);font-weight:700;background:var(--felt-deep);border:1px solid var(--panel-line);border-radius:2px;padding:2px 0;}
.fixture-row .vs.vs-postponed{color:var(--red-hi);font-weight:700;background:rgba(178,58,46,.12);border:1px solid rgba(178,58,46,.4);border-radius:2px;padding:2px 0;font-size:.68rem;letter-spacing:.03em;}
.fixture-row.is-postponed .home,.fixture-row.is-postponed .away{color:var(--muted);}
.next-up-matches li.is-postponed{color:var(--muted);}
.next-up-matches li .vs-postponed{color:var(--red-hi);font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.7rem;letter-spacing:.02em;}
.fixture-row .away{text-align:left;color:var(--chalk-dim);}
.fixture-row.dimmed{opacity:.25;}
.fixture-row .row-note{grid-column:1 / -1;text-align:center;font-size:.72rem;font-style:italic;color:var(--muted);}
.next-up-matches li .row-tag{color:var(--muted);font-size:.72rem;font-style:italic;margin-left:6px;}
.fixture-row.highlighted .home,.fixture-row.highlighted .away{color:var(--chalk);font-weight:600;}
.fixture-note{padding:0 22px 16px;font-size:.84rem;color:var(--muted);font-style:italic;}
.fixture-venue{padding:0 22px 16px;font-size:.84rem;color:var(--brass-hi);font-weight:600;}
.fixture-empty{padding:0 22px 18px;font-size:.85rem;color:var(--muted);}
.fixtures-head-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:10px;}
.fixtures-head-row .section-head{margin-bottom:0;}
.season-progress-wrap{margin-bottom:28px;}
.season-progress-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.85rem;color:var(--muted);}
.season-progress-label b{color:var(--brass-hi);font-family:'JetBrains Mono',monospace;font-weight:700;}
.season-progress-bar{height:8px;background:var(--panel-line);width:100%;}
.season-progress-fill{height:100%;background:var(--brass);transition:width .3s ease;}

/* Mobile entry page */
.entry-tabs{display:flex;gap:8px;margin-bottom:20px;}
.entry-tab{flex:1;background:var(--felt-deep);border:1px solid var(--panel-line);color:var(--chalk-dim);padding:13px;font-family:'Inter',sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;}
.entry-tab.active{background:var(--brass);color:var(--felt-deep);border-color:var(--brass);}
.entry-panel label{display:block;font-size:.82rem;color:var(--muted);margin:16px 0 6px;}
.entry-panel select,
.entry-panel input[type="number"],
.entry-panel input[type="password"]{width:100%;background:var(--felt-deep);border:1px solid var(--panel-line);color:var(--chalk);padding:13px;font-family:'Inter',sans-serif;font-size:1rem;}
.entry-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.entry-scoreline-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.entry-score-btn{background:var(--felt-deep);border:1px solid var(--panel-line);color:var(--chalk);padding:18px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.05rem;cursor:pointer;transition:background .15s ease,color .15s ease;}
.entry-score-btn:active,.entry-score-btn.win{border-color:var(--brass);}
.entry-score-btn:hover{border-color:var(--brass);color:var(--brass-hi);}
.entry-status{margin-top:14px;font-size:.9rem;min-height:1.2em;}
.entry-status.ok{color:var(--brass-hi);}
.entry-status.error{color:var(--red-hi);}
.entry-pin-row{display:flex;gap:10px;align-items:flex-end;}
.entry-pin-row > div{flex:1;}

/* Photos */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.photo-grid figure{margin:0;background:var(--panel);border:1px solid var(--panel-line);overflow:hidden;}
.photo-grid img{width:100%;height:200px;object-fit:cover;display:block;}
.photo-grid figcaption{padding:10px 12px;font-size:.8rem;color:var(--muted);}
.photo-grid img{cursor:pointer;transition:opacity .15s ease;}
.photo-grid figure:hover img{opacity:.85;}

.lightbox{position:fixed;inset:0;background:rgba(10,30,24,0.94);display:none;align-items:center;justify-content:center;flex-direction:column;z-index:200;padding:60px 20px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:75vh;border:1px solid var(--panel-line);}
.lightbox-caption{color:var(--chalk);margin-top:18px;font-size:.95rem;font-family:'Fraunces',serif;}
.lightbox-close{position:absolute;top:20px;right:20px;background:var(--brass);color:var(--felt-deep);border:none;width:44px;height:44px;font-size:1.6rem;line-height:1;cursor:pointer;font-family:'Inter',sans-serif;}
.lightbox-close:hover{background:var(--brass-hi);}
/* Homepage ticker */
.ticker-wrap{display:flex;align-items:stretch;background:var(--felt-deep);border-top:1px solid var(--panel-line);border-bottom:1px solid var(--panel-line);}
.ticker-label{flex:none;display:flex;align-items:center;background:var(--brass);color:var(--felt-deep);font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.72rem;letter-spacing:.04em;padding:0 18px;white-space:nowrap;}
.ticker-viewport{flex:1;overflow:hidden;position:relative;min-width:0;}
.ticker-track{display:flex;width:max-content;animation-name:canvey-ticker-scroll;animation-timing-function:linear;animation-iteration-count:infinite;}
.ticker-viewport:hover .ticker-track{animation-play-state:paused;}
.ticker-item{flex:none;display:flex;align-items:center;gap:9px;padding:14px 32px;white-space:nowrap;font-size:.88rem;color:var(--chalk-dim);border-right:1px solid var(--panel-line);}
.ticker-item .tag{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--brass-hi);font-weight:700;letter-spacing:.02em;}
.ticker-item strong{color:var(--chalk);font-weight:600;}
.ticker-static{padding:14px 22px;font-size:.85rem;color:var(--muted);white-space:nowrap;}
@keyframes canvey-ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* Data Check (committee tool) */
.datacheck-section{background:var(--panel);border:1px solid var(--panel-line);padding:22px 26px;margin-bottom:14px;}
.datacheck-section h4{font-size:1rem;margin-bottom:10px;}
.datacheck-section.ok h4{color:var(--brass-hi);}
.datacheck-section.ok p{color:var(--muted);margin:0;font-size:.9rem;}
.datacheck-section.warn h4{color:var(--red-hi);}
.datacheck-list{list-style:none;margin:0;padding:0;}
.datacheck-list li{padding:10px 0;border-top:1px solid var(--panel-line);font-size:.9rem;color:var(--chalk-dim);display:flex;gap:12px;align-items:baseline;}
.datacheck-list li:first-child{border-top:none;}
.datacheck-row{flex:none;font-family:'JetBrains Mono',monospace;font-size:.72rem;background:var(--felt-deep);border:1px solid var(--panel-line);padding:2px 7px;color:var(--brass-hi);}

/* Homepage live teaser */
.home-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.home-live-grid .panel h4{font-size:1rem;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.home-live-grid .panel h4 a{font-size:.78rem;color:var(--brass-hi);text-decoration:none;font-family:'Inter',sans-serif;font-weight:600;}
.home-leader-list{list-style:none;margin:0;padding:0;counter-reset:pos;}
.home-leader-list li{counter-increment:pos;display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--panel-line);}
.home-leader-list li:first-child{border-top:none;}
.home-leader-list li .pos::before{content:counter(pos);font-family:'JetBrains Mono',monospace;color:var(--brass-hi);font-weight:700;font-size:.9rem;width:18px;display:inline-block;}
.home-leader-list li .name{flex:1;color:var(--chalk);font-size:.94rem;}
.home-leader-list li .pts{font-family:'JetBrains Mono',monospace;color:var(--muted);font-size:.85rem;}
.next-up-title{font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;margin:0 0 12px;color:var(--chalk);}
.next-up-date{font-family:'JetBrains Mono',monospace;font-size:.76rem;color:var(--muted);font-weight:400;margin-left:8px;}
.next-up-matches{list-style:none;margin:0;padding:0;}
.next-up-matches li{padding:7px 0;border-top:1px solid var(--panel-line);font-size:.88rem;color:var(--chalk-dim);}
.next-up-matches li:first-child{border-top:none;}
/* Meetings */
.meet-list{list-style:none;margin:0;padding:0;}
.meet-list li{display:flex;gap:22px;align-items:baseline;padding:18px 0;border-top:1px solid var(--panel-line);}
.meet-list li:first-child{border-top:none;}
.meet-date{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--brass-hi);font-size:.92rem;flex:none;width:150px;background:var(--felt-deep);border:1px solid var(--panel-line);padding:4px 8px;text-align:center;}
.meet-label{color:var(--chalk-dim);}
.meet-venue{margin-top:22px;padding-top:22px;border-top:1px dashed var(--panel-line);font-size:.9rem;color:var(--muted);}

/* History */
.history-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.history-panel p{color:var(--chalk-dim);max-width:52ch;margin:0;}
.history-head-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:28px;}
.history-head-row .section-head{margin-bottom:0;}
.history-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.history-tabs button{background:var(--felt-deep);border:1px solid var(--panel-line);color:var(--chalk-dim);padding:9px 15px;font-size:.82rem;font-family:'Inter',sans-serif;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;}
.history-tabs button:hover{color:var(--chalk);border-color:var(--brass);}
.history-tabs button.active{color:var(--felt-deep);background:var(--brass-hi);border-color:var(--brass-hi);font-weight:600;}
.history-table-wrap{padding:30px 32px;}
.history-table-wrap h3{font-size:1.1rem;margin-bottom:4px;}
.history-table-note{font-size:.83rem;color:var(--muted);margin:0 0 20px;}
.history-table-scroll{overflow-x:auto;}
table.history-table{width:100%;border-collapse:collapse;font-size:.89rem;min-width:520px;}
table.history-table th{text-align:left;font-size:.76rem;letter-spacing:.01em;color:var(--brass-hi);padding:0 16px 10px 0;border-bottom:1px solid var(--panel-line);font-weight:600;}
table.history-table td{padding:11px 16px 11px 0;border-bottom:1px solid var(--panel-line);color:var(--chalk-dim);}
table.history-table td:first-child{font-family:'JetBrains Mono',monospace;color:var(--chalk);white-space:nowrap;font-size:.85rem;}
table.history-table tr:hover td{background:rgba(201,162,75,.05);}
table.history-table tr:last-child td{border-bottom:none;}

/* Contacts */
.committee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:48px;}
.committee-card{background:var(--panel);border:1px solid var(--panel-line);padding:20px 22px;}
.committee-card .role{color:var(--brass-hi);font-size:.72rem;font-family:'JetBrains Mono',monospace;letter-spacing:.02em;margin-bottom:8px;display:block;}
.committee-card .name{font-weight:600;color:var(--chalk);font-size:.98rem;margin-bottom:6px;display:block;}
.committee-card .detail{font-size:.85rem;color:var(--chalk-dim);display:block;text-decoration:none;}
.committee-card .detail:hover{color:var(--brass-hi);}
.team-contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.team-contact-card{background:var(--panel);border:1px solid var(--panel-line);padding:22px 24px;}
.team-contact-card h4{font-size:1.05rem;margin-bottom:10px;color:var(--brass-hi);font-family:'Fraunces',serif;}
.team-venue{font-size:.8rem;color:var(--muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--panel-line);line-height:1.5;}
table.team-roles-table{width:100%;border-collapse:collapse;font-size:.88rem;}
table.team-roles-table td{padding:6px 0;vertical-align:baseline;}
table.team-roles-table td:first-child{color:var(--muted);width:92px;white-space:nowrap;}
table.team-roles-table td:nth-child(2){color:var(--chalk);}
table.team-roles-table td:last-child{font-family:'JetBrains Mono',monospace;font-size:.8rem;text-align:right;white-space:nowrap;}
table.team-roles-table a{color:var(--chalk-dim);text-decoration:none;}
table.team-roles-table a:hover{color:var(--brass-hi);}
.contacts-note{margin-top:30px;font-size:.86rem;color:var(--muted);max-width:60ch;}

/* Footer */
footer{padding:48px 0 64px;background:var(--felt-deep);border-top:1px solid var(--panel-line);}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
footer nav{display:flex;flex-wrap:wrap;gap:6px 20px;}
footer nav a{text-decoration:none;color:var(--muted);font-size:.86rem;}
footer nav a:hover{color:var(--brass-hi);}
footer .copy{font-size:.78rem;color:var(--muted);margin-top:28px;border-top:1px solid var(--panel-line);padding-top:22px;}

a:focus-visible, button:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px;}

@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .board-wrap{padding-bottom:20px;}
  .join-grid{grid-template-columns:1fr;}
  .quick-grid{grid-template-columns:repeat(2,1fr);}
  .home-live-grid{grid-template-columns:1fr;}
  .results-grid{grid-template-columns:repeat(2,1fr);}
  .rcard.large,.rcard.medium{grid-column:span 2;}
  .rcard.small{grid-column:span 1;}
  .committee-grid{grid-template-columns:repeat(2,1fr);}
  .hero-ghost{display:none;}
}
@media (max-width:700px){
  nav.pills{display:none;position:absolute;top:70px;left:0;right:0;background:var(--felt-deep);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--panel-line);padding:6px 24px 14px;max-height:calc(100vh - 70px);overflow-y:auto;}
  nav.pills.open{display:flex;}
  nav.pills > .navlink{padding:12px 4px;border-bottom:1px solid var(--panel-line);}
  nav.pills .dropdown{width:100%;}
  nav.pills .dropdown > button{width:100%;justify-content:space-between;padding:12px 4px;border-bottom:1px solid var(--panel-line);}
  .dropdown-menu{position:static;transform:none;display:none;width:100%;border:none;background:var(--felt);box-shadow:none;padding:0 0 0 14px;}
  .dropdown.open .dropdown-menu{display:flex;}
  .menu-toggle{display:block;}
  .fb-link span{display:none;}
  .hero-inner{padding:60px 20px 0;}
  .quick-grid{grid-template-columns:1fr;}
  .committee-grid{grid-template-columns:1fr;}
  .team-contacts-grid{grid-template-columns:1fr;}
  .ticket-tear{width:96px;font-size:.76rem;}
  .ticket::after{right:calc(96px - 9px);}
  section{padding:56px 0;}
}
