/* Hud Dean Cup pairings — board + captains' tool. Builds on assets/style.css */
.pr { --champ:#2fae84; --premier:#3b82c4; --legacy:#a8579f; --ink:#252B36; --pine:#223631; --snow:#F2F0EB;
      --muted:#6b7280; --line:#e4e0d6; --paper:#fbfaf7; max-width:1100px; margin:0 auto; padding:28px 20px 60px; color:var(--ink); font-family:'Inter',system-ui,sans-serif; }
.pr h1 { font-family:'Fjalla One',Impact,sans-serif; font-weight:400; font-size:clamp(34px,6vw,56px); line-height:1; margin:0; letter-spacing:.5px; }
.pr .lede { margin:10px 0 0; color:var(--muted); font-size:15px; max-width:60ch; }
.pr-days { display:flex; gap:0; margin:26px 0 8px; border:1px solid var(--ink); width:max-content; max-width:100%; overflow-x:auto; }
.pr-days button { font:inherit; font-family:'Fjalla One',sans-serif; font-size:16px; letter-spacing:.6px; background:transparent; color:var(--ink);
      border:0; border-right:1px solid var(--ink); padding:10px 18px; cursor:pointer; text-align:left; line-height:1.15; }
.pr-days button:last-child { border-right:0; }
.pr-days button small { display:block; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0; opacity:.7; }
.pr-days button[aria-pressed="true"] { background:var(--ink); color:var(--snow); }
.pr-days button:focus-visible, .pr button:focus-visible, .pr select:focus-visible, .pr input:focus-visible { outline:3px solid #E8A341; outline-offset:2px; }
.pr-meta { font-size:13px; color:var(--muted); margin:6px 0 0; }
.pr-flight { margin-top:34px; }
.pr-flight > header { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap;
      border-bottom:4px solid var(--fc); padding-bottom:8px; }
.pr-flight h2 { font-family:'Fjalla One',sans-serif; font-weight:400; font-size:28px; margin:0; letter-spacing:.4px; }
.pr-flight .when { font-size:13px; color:var(--muted); }
.pr-flight[data-f="champ"] { --fc:var(--champ); } .pr-flight[data-f="premier"] { --fc:var(--premier); } .pr-flight[data-f="legacy"] { --fc:var(--legacy); }
.pr-teams { display:grid; grid-template-columns:3.2rem 5.5rem 1fr 2.2rem 1fr; gap:0 12px; font-size:12px; color:var(--muted); padding:8px 0 4px; }
.pr-teams .h, .pr-teams .d { display:flex; align-items:center; gap:7px; font-weight:600; color:var(--ink); }
.pr-teams img { width:20px; height:20px; object-fit:contain; }
.pr-match { display:grid; grid-template-columns:3.2rem 5.5rem 1fr 2.2rem 1fr; gap:0 12px; align-items:center;
      padding:11px 0; border-bottom:1px solid var(--line); }
.pr-match .no { font-family:'Fjalla One',sans-serif; font-size:22px; color:var(--fc); }
.pr-match .tee { font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.pr-match .side { font-size:17px; font-weight:600; line-height:1.3; }
.pr-match .side span { display:block; }
.pr-match .side.hud { border-left:4px solid var(--hud,#252B36); padding-left:10px; }
.pr-match .side.dean { border-left:4px solid var(--dean,#223631); padding-left:10px; }
.pr-match .side .tbd { color:#a3a3a3; font-weight:400; font-style:italic; }
.pr-match .vs { font-size:12px; color:var(--muted); text-align:center; }
.pr-empty { padding:18px 0; color:var(--muted); font-size:14px; }
.pr-foot { margin-top:36px; font-size:13px; color:var(--muted); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pr-foot a { color:inherit; }
@media (max-width:640px) {
  .pr-teams { display:none; }
  .pr-match { grid-template-columns:2.4rem 1fr; grid-template-areas:"no tee" "no hud" "no vs" "no dean"; row-gap:3px; }
  .pr-match .no { grid-area:no; align-self:start; } .pr-match .tee { grid-area:tee; }
  .pr-match .hud { grid-area:hud; } .pr-match .vs { grid-area:vs; text-align:left; padding-left:14px; } .pr-match .dean { grid-area:dean; }
  .pr-match .side::before { content:attr(data-team); display:block; font-size:11px; font-weight:500; color:var(--muted); }
}
/* TV mode: ?tv=1 — for the clubhouse screen */
body.tv .site-nav, body.tv .sub-nav, body.tv .pr-foot .links { display:none; }
body.tv .pr { max-width:1600px; }
body.tv .pr-match .side { font-size:24px; } body.tv .pr-match .no { font-size:30px; } body.tv .pr-match .tee { font-size:17px; }
@media (prefers-reduced-motion:no-preference) { .pr-match.fresh { animation:prflash 1.6s ease-out; } }
@keyframes prflash { from { background:#fff4dd; } to { background:transparent; } }

/* Captains' tool */
.pc-gate { max-width:420px; margin:40px 0; }
.pc-gate label, .pc-field label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.pc-gate input, .pc-tees input { font:inherit; width:100%; padding:11px 12px; border:1px solid #b9b4a7; background:#fff; border-radius:3px; }
.pc-btn { font:inherit; font-weight:600; background:var(--ink); color:var(--snow); border:0; padding:11px 18px; border-radius:3px; cursor:pointer; }
.pc-btn.ghost { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.pc-btn:disabled { opacity:.45; cursor:default; }
.pc-err { color:#b42318; font-size:14px; margin-top:10px; min-height:1.2em; }
.pc-controls { display:flex; flex-wrap:wrap; gap:22px; margin:24px 0 6px; align-items:flex-end; }
.pc-seg { display:flex; border:1px solid var(--ink); }
.pc-seg button { font:inherit; font-size:14px; background:transparent; border:0; border-right:1px solid var(--ink); padding:9px 14px; cursor:pointer; color:var(--ink); }
.pc-seg button:last-child { border-right:0; }
.pc-seg button[aria-pressed="true"] { background:var(--ink); color:var(--snow); }
.pc-rows { margin-top:18px; }
.pc-row { display:grid; grid-template-columns:3rem 6rem minmax(0,1.3fr) minmax(0,1fr); gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.pc-row .no { font-family:'Fjalla One',sans-serif; font-size:20px; color:var(--fc); }
.pc-row .tee { font-size:13px; color:var(--muted); }
.pc-row .mine { display:flex; gap:8px; flex-wrap:wrap; }
.pc-row select { font:inherit; font-size:15px; padding:8px; border:1px solid #b9b4a7; background:#fff; border-radius:3px; min-width:0; flex:1 1 170px; }
.pc-row .theirs { font-size:14px; color:var(--muted); }
.pc-row .theirs b { color:var(--ink); font-weight:600; }
.pc-head { display:grid; grid-template-columns:3rem 6rem minmax(0,1.3fr) minmax(0,1fr); gap:12px; font-size:12px; color:var(--muted); padding-top:10px; }
.pc-bench { margin-top:16px; font-size:14px; }
.pc-bench span { display:inline-block; border:1px dashed #b9b4a7; padding:3px 8px; margin:3px 4px 0 0; border-radius:3px; }
.pc-bar { position:sticky; bottom:0; background:var(--paper); border-top:1px solid var(--line); margin-top:20px; padding:12px 0;
      display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.pc-status { font-size:14px; color:var(--muted); }
.pc-status.ok { color:#1f7a4d; } .pc-status.bad { color:#b42318; }
.pc-tees { margin-top:28px; border-top:1px solid var(--line); padding-top:14px; }
.pc-tees summary { cursor:pointer; font-weight:600; }
.pc-tees .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin:14px 0; }
.pc-tees .grid label { font-size:12px; color:var(--muted); }
@media (max-width:640px) {
  .pc-head { display:none; }
  .pc-row { grid-template-columns:2.4rem 1fr; } .pc-row .tee { grid-column:2; } .pc-row .mine, .pc-row .theirs { grid-column:2; }
}

.pr-lock { margin:30px 0; padding:26px 26px 22px; border:1px solid var(--line); border-top:4px solid var(--ink); background:#fff; max-width:640px; }
.pr-lock h2 { font-family:'Fjalla One',sans-serif; font-weight:400; font-size:28px; margin:0 0 8px; }
.pr-lock p { margin:0 0 20px; color:var(--muted); }
.pr-lock label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.pr-lock .row { display:flex; gap:8px; } .pr-lock input { flex:1; font:inherit; padding:10px 12px; border:1px solid #b9b4a7; border-radius:3px; }
.pr-preview { margin:18px 0 0; padding:10px 14px; background:#fff4dd; border-left:4px solid #E8A341; font-size:14px; }
.pc-reveal { margin-top:22px; padding:12px 14px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; background:#fff4dd; border-left:4px solid #E8A341; font-size:14px; }
.pc-reveal.on { background:#e7f6ef; border-left-color:#2fae84; }
body.tv .pr-lock form { display:none; }
.pr [hidden] { display:none !important; }

/* ---------- Reveal show ---------- */
body.rv-on { overflow:hidden; }
.rv { position:fixed; inset:0; z-index:1000; background:#1c212a; color:#F2F0EB; display:flex; flex-direction:column;
      --fc:#4ED9A9; font-family:'Inter',system-ui,sans-serif; }
.rv[data-f="premier"] { --fc:#4A9FE0; } .rv[data-f="legacy"] { --fc:#C77DBE; }
.rv-top, .rv-bottom { padding:16px 28px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; font-size:14px; color:rgba(242,240,235,.6); }
.rv-day { font-family:'Fjalla One',sans-serif; letter-spacing:2px; text-transform:uppercase; }
.rv-tools { display:flex; gap:10px; align-items:center; }
.rv-tools button, .rv-tools select { font:inherit; font-size:13px; background:transparent; color:#F2F0EB; border:1px solid rgba(242,240,235,.3); padding:6px 10px; border-radius:3px; cursor:pointer; }
.rv-tools select option { color:#252B36; }
.rv-stage { flex:1; display:flex; align-items:center; justify-content:center; padding:0 5vw; cursor:pointer; user-select:none; }
.rv-card { width:100%; max-width:1500px; text-align:center; }
.rv-eyebrow { font-family:'Fjalla One',sans-serif; letter-spacing:4px; text-transform:uppercase; color:var(--fc); font-size:clamp(16px,2.2vw,28px); }
.rv-card h2 { font-family:'Fjalla One',sans-serif; font-weight:400; font-size:clamp(56px,11vw,170px); line-height:1; margin:.15em 0 .2em; letter-spacing:1px; }
.rv-card p { font-size:clamp(16px,2vw,26px); color:rgba(242,240,235,.7); margin:0; }
.rv-intro img { width:clamp(90px,12vw,170px); margin-bottom:20px; }
.rv-flight h2 { color:var(--fc); }
.rv-vs { display:grid; grid-template-columns:1fr auto 1fr; gap:4vw; align-items:center; margin-top:4vh; }
.rv-v { font-family:'Fjalla One',sans-serif; font-size:clamp(22px,3vw,44px); color:rgba(242,240,235,.45); }
.rv-side { border-top:6px solid rgba(242,240,235,.15); padding-top:24px; min-height:32vh; }
.rv-side.in { border-top-color:var(--fc); }
.rv-team { display:flex; align-items:center; justify-content:center; gap:12px; font-family:'Fjalla One',sans-serif; letter-spacing:3px;
      text-transform:uppercase; font-size:clamp(16px,2vw,28px); color:rgba(242,240,235,.75); margin-bottom:3vh; }
.rv-team img { width:clamp(34px,4vw,60px); height:clamp(34px,4vw,60px); object-fit:contain; background:#F2F0EB; border-radius:50%; padding:4px; }
.rv-name { font-family:'Fjalla One',sans-serif; font-size:clamp(40px,6.4vw,110px); line-height:1.08; }
.rv-name.tbd { color:rgba(242,240,235,.4); font-size:clamp(30px,4vw,64px); }
.rv-q { font-family:'Fjalla One',sans-serif; font-size:clamp(80px,12vw,200px); line-height:1; color:rgba(242,240,235,.15); }
@media (prefers-reduced-motion:no-preference) {
  .rv-side.in .rv-name { animation:rvup .7s cubic-bezier(.2,.8,.2,1) both; }
  .rv-side.in .rv-name + .rv-name { animation-delay:.18s; }
  .rv-flight h2, .rv-intro h2 { animation:rvup .8s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes rvup { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }
.rv-go { margin-top:34px; font:inherit; font-weight:600; font-size:18px; background:var(--fc); color:#1c212a; border:0; padding:14px 24px; border-radius:3px; cursor:pointer; }
.rv-msg { margin-top:12px; font-size:15px; color:rgba(242,240,235,.7); }
.rv-bar { flex:1; height:3px; background:rgba(242,240,235,.12); min-width:120px; } .rv-bar span { display:block; height:100%; background:var(--fc); transition:width .3s; }
.rv-hint { font-size:12px; }
@media (max-width:700px) { .rv-vs { grid-template-columns:1fr; gap:14px; } .rv-side { min-height:0; padding-top:12px; } .rv-hint { display:none; } }
.rv[hidden] { display:none !important; }
.rv-vs { align-items:start; } .rv-v { align-self:center; }

/* Full-list slide */
.rv-list { max-width:none; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.rl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.4vw; margin-top:2.2vh; text-align:left; }
.rl-col { --fc:#4ED9A9; } .rl-col[data-f="premier"] { --fc:#4A9FE0; } .rl-col[data-f="legacy"] { --fc:#C77DBE; }
.rl-col h3 { font-family:'Fjalla One',sans-serif; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:var(--fc);
      font-size:clamp(18px,2.6vh,34px); margin:0 0 .4em; padding-bottom:.3em; border-bottom:3px solid var(--fc); }
.rl-head, .rl-row { display:grid; grid-template-columns:2.2em 1fr 1.2em 1fr; gap:0 .6em; align-items:center; }
.rl-head { font-size:clamp(10px,1.2vh,14px); letter-spacing:1.5px; text-transform:uppercase; color:rgba(242,240,235,.5); padding-bottom:.4em; }
.rl-row { font-size:clamp(12px,1.9vh,24px); padding:.32em 0; border-bottom:1px solid rgba(242,240,235,.1); line-height:1.2; }
.rv-list.singles .rl-row { font-size:clamp(11px,1.45vh,19px); padding:.18em 0; }
.rl-no { font-family:'Fjalla One',sans-serif; color:var(--fc); font-size:1.15em; }
.rl-no small { display:block; font-family:'Inter',sans-serif; font-size:.55em; color:rgba(242,240,235,.55); }
.rl-side span { display:block; font-weight:600; } .rl-side .tbd { color:rgba(242,240,235,.35); font-weight:400; font-style:italic; }
.rl-v { color:rgba(242,240,235,.4); font-size:.8em; text-align:center; }
.rv-stage:has(.rv-list) { padding:0 2.5vw; }
@media (max-width:900px) { .rl-grid { grid-template-columns:1fr; } .rv-stage:has(.rv-list) { align-items:flex-start; overflow-y:auto; padding:10px 16px; } }
.rv-list.singles .rl-row { font-size:clamp(11px,min(1.9vh,0.78vw),24px); padding:.22em 0; }
.rv-list.singles .rl-side span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
