
:root{--paper:#f3efe5;--ink:#19211a;--green:#173b29;--green2:#0d2519;--gold:#b89555;--red:#872f2f;--muted:#6e746e;--line:rgba(25,33,26,.16);--white:#fffdf8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.58}
a{color:inherit}.topbar{position:sticky;top:0;z-index:20;background:rgba(243,239,229,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{max-width:1240px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:800;letter-spacing:.03em}
.links{display:flex;gap:17px;flex-wrap:wrap}.links a{text-decoration:none;font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.wrap{max-width:1200px;margin:auto;padding:0 24px 72px}.eyebrow{font:700 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
.hero{margin:28px 0 48px;border-radius:28px;min-height:660px;position:relative;overflow:hidden;background:#07120c url('images/magersfontein-cup.jpg') center 46%/cover no-repeat;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,8,.9),rgba(4,13,8,.62) 48%,rgba(4,13,8,.16))}
.hero-in{position:relative;z-index:1;color:#fff;max-width:790px;padding:90px 70px}.hero h1{font-size:clamp(54px,8vw,108px);line-height:.88;letter-spacing:-.055em;margin:15px 0 25px}
.lead{font-size:23px;max-width:700px}.hero-stats{display:flex;gap:35px;flex-wrap:wrap;margin-top:36px;font-family:Arial,sans-serif}.hero-stats div{padding-top:10px;border-top:1px solid rgba(255,255,255,.35)}
.hero-stats b{font-size:26px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:62px 0 20px}.section-title h2{font-size:44px;line-height:1;margin:5px 0}.section-title p{color:var(--muted);max-width:500px}
.grid{display:grid;gap:16px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}
.card,.panel,.story-card,.cupcard{background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:20px;padding:26px}
.card small{display:block;font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.card strong{display:block;font-size:28px;margin-top:5px}
.story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.editorial{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:35px}.editorial p:first-of-type:first-letter{float:left;font-size:72px;line-height:.72;padding:10px 10px 0 0;color:var(--green)}
.quote{background:var(--green);color:white;border-radius:22px;padding:34px;font-size:26px;line-height:1.35}.quote small{display:block;margin-top:20px;color:#d9bd82;font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.photo-grid figure{margin:0;min-height:280px;border-radius:18px;overflow:hidden;position:relative;background:#ddd}.photo-grid figure:first-child{grid-row:span 2;min-height:575px}
.photo-grid img,.feature-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;color:white;padding:40px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));font:12px Arial,sans-serif}
.cupgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cupcard{text-decoration:none;transition:.2s}.cupcard:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.08)}.cupcard .year{font-size:30px;font-weight:700}.cupcard .scoreline{font-size:21px;color:var(--green);font-weight:700}
.annual-hero{margin:28px 0 26px;border-radius:27px;min-height:420px;padding:58px;background:linear-gradient(120deg,rgba(14,49,32,.96),rgba(6,22,14,.93)),url('../assets/images/magersfontein-cup.jpg') center/cover;color:#fff;display:flex;flex-direction:column;justify-content:end}
.annual-hero h1{font-size:62px;line-height:.95;margin:7px 0}.annual-hero .score{font-size:30px;color:#e2c88f}.annual-meta{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#d8d7cc}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#17251c;color:#fff;border-radius:22px;padding:28px;margin:18px 0}.scoreboard .side{font-size:25px}.scoreboard .side:last-child{text-align:right}.scoreboard .big{font-size:52px;color:#e3c88d}
.timeline{display:grid;gap:13px}.timeline-row{display:grid;grid-template-columns:90px 1fr 110px;gap:18px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.timeline-row .yr{font-size:25px;font-weight:700}.timeline-row .result{text-align:right;font-weight:700}
table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.45);font-family:Arial,sans-serif;font-size:13px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font:11px Arial,sans-serif;margin:3px}.source-note{font:12px Arial,sans-serif;color:var(--muted);border-left:3px solid var(--gold);padding-left:13px;margin-top:22px}
.record{font-size:48px;line-height:1;font-weight:700;color:var(--green)}.subtle{color:var(--muted)}.feature-photo{min-height:420px;border-radius:22px;overflow:hidden;position:relative}
.player-hero{margin:28px 0;padding:48px;border-radius:25px;background:linear-gradient(125deg,#173b29,#0d2016);color:#fff}.player-hero h1{font-size:58px;margin:5px 0}.player-hero .deck{font-size:20px;max-width:760px;color:#eee5d6}
.footer{background:#0e1811;color:#d8d6cd}.footer-in{max-width:1200px;margin:auto;padding:32px 24px;font:12px Arial,sans-serif}
h1,h2,h3{line-height:1.08}h1{font-size:58px}h2{font-size:36px}
@media(max-width:860px){.links{display:none}.hero{min-height:580px}.hero-in{padding:70px 30px}.story-grid,.three,.two,.cupgrid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-grid figure,.photo-grid figure:first-child{min-height:330px;grid-row:auto}.section-title{flex-direction:column;align-items:start}.scoreboard{grid-template-columns:1fr}.scoreboard .side:last-child{text-align:left}.timeline-row{grid-template-columns:70px 1fr}.timeline-row .result{grid-column:2;text-align:left}.annual-hero h1,.player-hero h1{font-size:44px}}

/* V5 - Magersfontein, not a database */
:root{--paper:#f1ede2;--ink:#172019;--green:#143827;--green2:#091d13;--gold:#c19b55;--muted:#6c716b;--white:#fffdf7;--line:rgba(23,32,25,.14)}
body{background:radial-gradient(circle at 80% 0%,rgba(193,155,85,.08),transparent 30%),var(--paper)}
.topbar{background:rgba(241,237,226,.92)}
.nav{padding-top:11px;padding-bottom:11px}.brand{display:flex;align-items:center;gap:10px;font-size:16px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:var(--gold);font:700 18px Georgia,serif;border:1px solid rgba(193,155,85,.5)}
.links{gap:22px}.links a{font-size:11px;transition:.2s}.links a:hover{color:var(--gold)}
.hero{min-height:700px;border-radius:32px}.hero:after{background:linear-gradient(90deg,rgba(3,14,8,.91),rgba(3,14,8,.55) 58%,rgba(3,14,8,.09))}.hero-in{padding:105px 78px}.hero h1{max-width:850px}.lead{font-size:24px;line-height:1.5}
.section-title{margin-top:76px}.section-title h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.025em}
.card,.panel,.story-card,.cupcard,.editorial{box-shadow:0 10px 35px rgba(20,36,25,.035)}
.card strong{letter-spacing:-.025em}.card span{display:block;color:var(--muted);margin-top:6px}
.golf-quote{margin:26px 0;padding:30px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:25px;font-style:italic;color:var(--green)}.golf-quote small{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);white-space:nowrap}.feature-quote{margin-top:-22px;margin-bottom:54px}
.quote{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px}.quote:before{content:'“';position:absolute;font-size:220px;color:rgba(255,255,255,.06);top:-80px;left:20px}.quote small{position:relative}
.cupcard{position:relative;overflow:hidden}.cupcard:after{content:'→';position:absolute;right:20px;bottom:16px;color:var(--gold);opacity:0;transform:translateX(-8px);transition:.2s}.cupcard:hover:after{opacity:1;transform:none}
.player-thumb{width:82px;height:82px;object-fit:cover;border-radius:50%;float:right;margin:-7px -5px 10px 14px;border:3px solid var(--white);box-shadow:0 5px 18px rgba(0,0,0,.14)}
.profile-hero{position:relative;min-height:320px;padding-right:330px;overflow:hidden}.portrait-wrap{position:absolute;right:0;top:0;bottom:0;width:280px;background:rgba(255,255,255,.05)}.portrait{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.82) contrast(1.03)}.portrait-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--green),transparent 38%)}
.annual-hero{min-height:500px;border-radius:30px;padding:66px}.annual-hero h1{font-size:clamp(46px,6vw,76px);letter-spacing:-.04em}.annual-hero .score{font-size:36px}.scoreboard{margin-top:24px;background:linear-gradient(120deg,#14271c,#0b1a11);border:1px solid rgba(193,155,85,.18)}
table{border-radius:14px;overflow:hidden}tr:hover td{background:rgba(255,255,255,.36)}
.footer{margin-top:40px}.footer-in{display:flex;justify-content:space-between;color:#bdbbb3;letter-spacing:.03em}
@media(max-width:860px){.profile-hero{padding:35px 28px 280px}.portrait-wrap{top:auto;left:0;right:0;width:100%;height:250px}.portrait-wrap:after{background:linear-gradient(180deg,var(--green),transparent 45%)}.golf-quote{flex-direction:column;align-items:flex-start}.footer-in{flex-direction:column;gap:8px}.player-thumb{width:64px;height:64px}.hero-in{padding:75px 30px}.hero{min-height:610px}}


/* V6 - current Cup and team identity */
.team-flag{display:inline-block;width:34px;height:22px;border-radius:2px;vertical-align:-5px;box-shadow:0 0 0 1px rgba(0,0,0,.18);margin:0 7px;position:relative;overflow:hidden;flex:0 0 auto}
.flag-england{background:#fff}
.flag-england:before,.flag-england:after{content:"";position:absolute;background:#ce1126}
.flag-england:before{left:0;right:0;height:5px;top:8.5px}.flag-england:after{top:0;bottom:0;width:5px;left:14.5px}
.flag-sweden{background:#006aa7}
.flag-sweden:before,.flag-sweden:after{content:"";position:absolute;background:#fecc02}
.flag-sweden:before{left:0;right:0;height:4px;top:9px}.flag-sweden:after{top:0;bottom:0;width:4px;left:10px}
.team-label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.current-cup-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;margin:34px 0 55px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#10291d,#1c4932);color:#fff;box-shadow:0 24px 60px rgba(9,29,19,.16)}
.current-cup-copy{padding:44px 46px}.current-cup-copy h2{font-size:clamp(40px,5vw,66px);margin:8px 0 16px}.current-cup-copy p{color:#e6eadf;max-width:690px;font-size:18px}.current-cup-copy .cta{display:inline-block;margin-top:14px;background:var(--gold);color:#132017;text-decoration:none;font:800 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:13px 17px;border-radius:999px}
.current-cup-side{padding:38px;background:rgba(0,0,0,.12);display:flex;flex-direction:column;justify-content:center;gap:18px}.current-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center}.current-versus .nation{font:800 16px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.current-versus .vs{color:var(--gold);font-size:23px;font-weight:700}.current-details{border-top:1px solid rgba(255,255,255,.18);padding-top:18px;font:13px Arial,sans-serif;line-height:1.7;color:#e6eadf}.match h3{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
@media(max-width:860px){.current-cup-feature{grid-template-columns:1fr}.current-cup-copy{padding:32px 28px}.current-cup-side{padding:28px}.team-flag{width:30px;height:20px}.flag-england:before{top:7.5px}.flag-england:after{left:12.5px}.flag-sweden:before{top:8px}.flag-sweden:after{left:9px}}


/* V7 - clearer match outcomes, current portraits and Magers identity */
.hero-logo{display:block;width:min(220px,38vw);height:auto;margin:0 0 22px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}
.match-winner{font-weight:800;background:rgba(193,155,85,.16)!important;box-shadow:inset 4px 0 0 var(--gold)}
.winner-cell{font-weight:800;white-space:nowrap;color:var(--green)}
.winner-label{display:inline-flex;align-items:center;gap:3px}.winner-cell .team-flag{width:28px;height:18px;margin:0 4px 0 0;vertical-align:middle}
.halved-label{display:inline-block;border:1px solid var(--gold);border-radius:999px;padding:4px 8px;font:800 10px Arial,sans-serif;letter-spacing:.08em;color:#6b562e}
.weekend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.day-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 10px 35px rgba(20,36,25,.035)}.day-card h3{margin:7px 0 12px}.day-score{font-size:24px;font-weight:800;color:var(--green);margin-bottom:10px}.day-card p{color:#3f463f;margin-bottom:0}
@media(max-width:860px){.weekend-summary{grid-template-columns:1fr}.hero-logo{width:170px}}
\n/* V8 storytelling and 2026 visual layer */
.cup-journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0 30px}
.journey-step{background:#fff;border:1px solid #ddd5c5;border-radius:18px;padding:18px;position:relative}
.journey-step:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:44%;color:#a98131;font-weight:900;font-size:22px;z-index:2}
.journey-step small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#8a6a2c;font-weight:800;margin-bottom:6px}
.journey-step strong{display:block;font:800 24px/1.1 Georgia,serif;color:#10291d;margin:6px 0}
.journey-step p{margin:8px 0 0;color:#655f53;font-size:14px}
.cup-story{background:#f6f0e4;border:1px solid #e0d4bd;border-radius:22px;padding:26px;margin:18px 0 34px}
.cup-story p{font-size:17px;line-height:1.7;margin:0 0 13px;color:#2b302b}
.cup-story p:last-child{margin-bottom:0}
.career-markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0 34px}
.career-marker{background:#10291d;color:#fff;border-radius:18px;padding:20px;min-height:126px}
.career-marker small{display:block;color:#f0d497;text-transform:uppercase;font-weight:800;letter-spacing:.08em;margin-bottom:8px}
.career-marker strong{display:block;font:800 22px/1.2 Georgia,serif;color:#fff;margin-bottom:7px}
.career-marker p{color:#edf2eb;margin:0;line-height:1.5;font-size:14px}
.course-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:24px 0 34px}
.course-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#10291d;min-height:220px}
.course-gallery figure:first-child{grid-row:span 2;min-height:454px}
.course-gallery img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.course-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:13px;font-weight:700}
.course-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}
.course-link{display:inline-block;padding:11px 15px;border-radius:999px;background:#10291d;color:#fff;text-decoration:none;font-weight:800;font-size:14px}
.course-link:hover{background:#244c36}
.current-hero-photo{margin:-2px 0 30px;border-radius:24px;overflow:hidden;height:360px;position:relative;background:#10291d}
.current-hero-photo img{width:100%;height:100%;object-fit:cover}
.current-hero-photo span{position:absolute;left:18px;bottom:16px;background:rgba(8,26,18,.88);color:#fff;padding:9px 12px;border-radius:999px;font-size:13px;font-weight:800}
.evening{background:#071a11!important;color:#fff!important;border:1px solid rgba(240,212,151,.48)!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}
.evening p,.evening h3,.evening b{color:#fff!important}.evening>b{color:#f3d58f!important}.evening p b{color:#fff!important}
@media(max-width:800px){.journey-step:not(:last-child)::after{display:none}.course-gallery{grid-template-columns:1fr}.course-gallery figure,.course-gallery figure:first-child{grid-row:auto;min-height:260px}.current-hero-photo{height:260px}}


/* V9 — responsive navigation + Magers Live prototype */
.menu-toggle{
  display:none; appearance:none; border:1px solid var(--line); background:rgba(255,255,255,.55);
  width:44px; height:44px; border-radius:50%; align-items:center; justify-content:center;
  cursor:pointer; padding:0; color:var(--green); box-shadow:0 5px 16px rgba(20,36,25,.05)
}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{
  content:""; display:block; width:19px; height:2px; background:currentColor; border-radius:2px;
  transition:transform .18s ease,opacity .18s ease; position:absolute
}
.menu-toggle{position:relative}.menu-toggle:before{transform:translateY(-6px)}.menu-toggle:after{transform:translateY(6px)}
.menu-toggle[aria-expanded="true"] span{opacity:0}
.menu-toggle[aria-expanded="true"]:before{transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"]:after{transform:rotate(-45deg)}
.links .live-nav{color:#8a6428}
.live-pill{display:inline-flex;align-items:center;gap:7px}
.live-dot{width:7px;height:7px;border-radius:50%;background:#bd7b22;box-shadow:0 0 0 4px rgba(189,123,34,.12)}

.live-hero{
  margin:28px 0 22px; border-radius:28px; overflow:hidden; padding:48px;
  color:#fff; background:linear-gradient(125deg,#071a11,#173b29); position:relative
}
.live-hero:after{content:"";position:absolute;right:-90px;top:-100px;width:330px;height:330px;border:1px solid rgba(240,212,151,.13);border-radius:50%}
.live-hero h1{font-size:clamp(44px,7vw,78px);margin:7px 0 12px;letter-spacing:-.04em}
.live-hero p{max-width:760px;color:#e9eee8;font-size:18px}
.live-mode{display:inline-block;border:1px solid rgba(240,212,151,.55);border-radius:999px;padding:7px 11px;color:#f0d497;font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.live-score-strip{
  display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;
  background:#fffdf7;border:1px solid var(--line);border-radius:22px;padding:22px 26px;margin:18px 0 30px
}
.live-score-strip .live-nation{font:800 13px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:8px}
.live-score-strip .live-nation.away{justify-content:flex-end;text-align:right}
.live-score-strip .live-total{font:800 38px Georgia,serif;color:var(--green);white-space:nowrap}
.live-note{font:12px Arial,sans-serif;color:var(--muted);margin-top:-18px;margin-bottom:24px;text-align:center}
.live-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:42px 0 14px}
.live-section-title h2{margin:4px 0;font-size:34px}
.live-match-list{display:grid;gap:12px}
.live-match{
  display:grid;grid-template-columns:90px 1fr 170px;gap:16px;align-items:center;
  padding:18px 20px;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:18px;
  text-decoration:none;transition:.18s
}
.live-match.can-open:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,36,25,.07);border-color:rgba(193,155,85,.45)}
.match-id{font:900 19px Arial,sans-serif;color:var(--green)}
.match-id small{display:block;font-size:9px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.live-pair{display:grid;gap:5px;font-size:15px}.live-pair div{display:flex;align-items:center;gap:7px}
.live-status{text-align:right;font:800 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--green)}
.live-status small{display:block;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin-top:4px}
.live-match.pending{opacity:.62}

.entry-wrap{max-width:760px;margin:28px auto 60px}
.entry-card{background:#fffdf7;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 18px 45px rgba(20,36,25,.07)}
.entry-head{background:linear-gradient(125deg,#0b2116,#173b29);color:white;padding:30px 26px 26px;text-align:center}
.entry-head .match-kicker{font:800 10px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#f0d497}
.entry-head h1{font-size:34px;margin:8px 0 12px}
.entry-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:20px 0}
.entry-team{font-size:15px;font-weight:700}.entry-team.home{text-align:right}.entry-team.away{text-align:left}
.entry-score{font:800 25px Georgia,serif;color:#f0d497;min-width:148px}
.entry-through{font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#cad6cd;margin-top:5px}
.entry-check{font:12px Arial,sans-serif;color:#dce5dd;margin:10px auto 0;max-width:520px}
.hole-key{display:grid;grid-template-columns:1fr 82px 1fr;padding:13px 18px;background:#eee8db;font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#6e746e;text-align:center}
.hole-key span:first-child{text-align:right;padding-right:20px}.hole-key span:last-child{text-align:left;padding-left:20px}
.hole-grid{padding:5px 16px 18px}
.hole-row{display:grid;grid-template-columns:1fr 82px 1fr;align-items:center;min-height:61px;border-bottom:1px solid rgba(23,32,25,.09)}
.hole-side{display:flex}.hole-side.home{justify-content:flex-end}.hole-side.away{justify-content:flex-start}
.hole-flag{
  appearance:none;border:0;background:transparent;cursor:pointer;padding:11px 18px;border-radius:14px;opacity:.22;
  transition:.15s;position:relative
}
.hole-flag .team-flag{width:40px;height:26px;margin:0;pointer-events:none}
.hole-flag:hover{opacity:.55;background:#f1ebdf}.hole-flag.selected{opacity:1;background:#f2ead7;box-shadow:inset 0 0 0 2px rgba(193,155,85,.55)}
.hole-centre{text-align:center}
.hole-half{
  appearance:none;width:58px;height:42px;border-radius:14px;border:1px solid #d4cdbf;background:#f8f4ec;
  color:#4d564f;cursor:pointer;font:900 16px Arial,sans-serif;transition:.15s
}
.hole-half small{display:block;font-size:8px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.hole-half.selected{background:var(--gold);color:#132017;border-color:var(--gold)}
.hole-row.next{background:linear-gradient(90deg,transparent,rgba(193,155,85,.09),transparent)}
.hole-row.next .hole-half{box-shadow:0 0 0 3px rgba(193,155,85,.12)}
.hole-row.future .hole-flag,.hole-row.future .hole-half{cursor:not-allowed;opacity:.09}
.hole-row.finished .hole-flag,.hole-row.finished .hole-half{cursor:not-allowed}
.entry-actions{display:flex;justify-content:space-between;gap:10px;padding:18px 20px 22px;border-top:1px solid var(--line);background:#f5f0e7}
.entry-actions a,.entry-actions button{font:800 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:11px 15px;text-decoration:none}
.entry-actions a{background:#10291d;color:#fff}.entry-actions button{border:1px solid var(--line);background:transparent;color:#6c716b;cursor:pointer}
.save-state{text-align:center;font:700 11px Arial,sans-serif;color:#6c716b;padding:0 18px 17px;background:#fffdf7}
.save-state strong{color:#244c36}

@media(max-width:860px){
  .nav{padding:10px 16px;position:relative}.brand{min-height:44px}.menu-toggle{display:flex}
  .links{
    display:none;position:absolute;left:12px;right:12px;top:calc(100% + 7px);padding:10px;
    background:rgba(247,243,234,.98);backdrop-filter:blur(16px);border:1px solid var(--line);
    border-radius:18px;box-shadow:0 18px 45px rgba(10,28,18,.16);flex-direction:column;gap:0
  }
  .links.open{display:flex}.links a{display:block;padding:14px 13px;border-radius:11px;font-size:12px}
  .links a:hover{background:rgba(193,155,85,.1)}
  .live-hero{padding:34px 25px}.live-score-strip{grid-template-columns:1fr auto 1fr;padding:17px 14px}
  .live-score-strip .live-total{font-size:29px}.live-score-strip .live-nation{font-size:10px}
  .live-match{grid-template-columns:62px 1fr;gap:11px;padding:16px}.live-status{grid-column:2;text-align:left;margin-top:2px}
  .live-section-title{align-items:start;flex-direction:column;gap:3px}
  .entry-wrap{margin-top:18px}.entry-card{border-radius:20px}.entry-head{padding:26px 16px 22px}.entry-head h1{font-size:27px}
  .entry-teams{grid-template-columns:1fr;gap:7px}.entry-team.home,.entry-team.away{text-align:center}.entry-score{order:3}
  .hole-grid{padding-left:6px;padding-right:6px}.hole-row,.hole-key{grid-template-columns:1fr 68px 1fr}
  .hole-flag{padding:10px 12px}.hole-flag .team-flag{width:44px;height:29px}
  .hole-half{width:54px;height:44px}.hole-key span:first-child{padding-right:8px}.hole-key span:last-child{padding-left:8px}
}


/* V10 — approved portraits, captain-led Cup headers, historical winners, Magers Live close-out */
.captain-hero{display:grid;grid-template-columns:minmax(150px,220px) 1fr minmax(150px,220px);gap:22px;align-items:end;overflow:hidden;position:relative}
.captain-hero-center{text-align:center;align-self:center;position:relative;z-index:2}.captain-hero-center .score{margin-left:auto;margin-right:auto}
.captain-side{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.captain-portrait{width:100%;max-width:190px;height:220px;object-fit:cover;object-position:center top;border-radius:20px 20px 0 0;box-shadow:0 10px 28px rgba(0,0,0,.22);background:#d9ded8}
.captain-meta{padding:10px 5px 4px;text-align:center;color:#fff}.captain-meta strong{display:block;font:700 15px Georgia,serif;margin-top:3px}.captain-role{display:block;font:800 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:#f0d497}
.current-captain-hero{padding:34px 42px 0!important;align-items:end}.current-captain-hero .current-center{padding:18px 0 36px}.current-captain-hero .captain-portrait{height:250px}.current-captain-hero .lead{margin-left:auto;margin-right:auto}.current-captain-hero .hero-stats{justify-content:center}
.cupcard{position:relative}.cupcard-winner{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:7px;font:800 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#786642;background:rgba(255,253,247,.88);padding:6px 8px;border-radius:999px;border:1px solid rgba(193,155,85,.25)}.cupcard-winner .team-flag{width:24px;height:16px}
.history-cup-list{display:grid;gap:10px}.history-cup-row{display:grid;grid-template-columns:72px 1fr 250px;gap:20px;align-items:center;padding:15px 18px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;transition:.18s}.history-cup-row:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(20,36,25,.06)}
.history-year{font:800 24px Georgia,serif;color:var(--green)}.history-cup-info h3{margin:0 0 4px;font-size:20px}.history-score{font-weight:800}.history-outcome{font:700 11px Arial,sans-serif;color:var(--muted);margin-top:4px}.history-winner{display:grid;grid-template-columns:auto 58px 1fr;gap:10px;align-items:center;justify-self:end;min-width:230px}.history-winner>.team-flag{width:32px;height:21px}.history-captain-portrait{width:58px;height:58px;object-fit:cover;object-position:center top;border-radius:50%;border:2px solid #e0d2ad}.history-winner small{display:block;font:800 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--gold)}.history-winner strong{font-size:13px}
.memorial-text{max-width:820px}.memorial-text p:first-child{font-size:20px;line-height:1.62}.memorial-text p:last-child{font-weight:700;color:#33483c}
.live-about-link{display:inline-block;margin-top:15px;color:#f0d497;text-decoration:none;font:800 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(240,212,151,.45);padding-bottom:3px}.live-test-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:36px 0;padding:16px 18px;background:#f2eadb;border:1px dashed #b79757;border-radius:16px;font:12px Arial,sans-serif}.live-test-tools button,.close-confirm button{appearance:none;border:0;border-radius:999px;background:#10291d;color:#fff;padding:11px 15px;font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.close-confirm{margin:4px 18px 18px;padding:16px 18px;border-radius:15px;background:#f2eadb;border:1px solid #d1b773;display:flex;justify-content:space-between;gap:14px;align-items:center}.close-confirm strong,.match-locked strong{display:block;color:#10291d}.close-confirm span,.match-locked span,.match-locked small{display:block;font:12px Arial,sans-serif;margin-top:4px;color:#5f665f}.match-locked{margin:4px 18px 18px;padding:16px 18px;border-radius:15px;background:#e7eee8;border:1px solid #aebfaf}.locked-row button{cursor:not-allowed!important}.entry-actions button:disabled{opacity:.4;cursor:not-allowed}.live-match.locked{background:#eef4ef}.live-process{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.live-process>div{background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:18px}.live-process b{color:var(--gold);font:900 11px Arial,sans-serif;letter-spacing:.07em}.live-process p{font-size:13px}.instruction-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 28px}.instruction-preview>div{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:15px;border-radius:14px}.instruction-preview span{display:flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;border-radius:50%;background:#10291d;color:#f0d497;font-weight:800}.instruction-preview p{margin:4px 0;font-size:13px}.about-actions{justify-content:flex-start!important}.live-principle{margin-top:20px}
@media(max-width:860px){.captain-hero{grid-template-columns:92px 1fr 92px;gap:8px;padding:24px 12px 0}.captain-portrait{height:126px;border-radius:14px 14px 0 0}.captain-meta strong{font-size:10px}.captain-role{font-size:7px}.captain-hero-center h1{font-size:clamp(30px,8vw,46px)}.captain-hero-center .score{font-size:20px}.current-captain-hero{grid-template-columns:78px 1fr 78px;padding:20px 8px 0!important}.current-captain-hero .captain-portrait{height:118px}.current-captain-hero .current-center{padding:6px 0 22px}.current-captain-hero .current-center h1{font-size:34px}.current-captain-hero .hero-stats{display:none}.history-cup-row{grid-template-columns:54px 1fr;gap:10px}.history-winner{grid-column:2;justify-self:start;grid-template-columns:auto 44px 1fr;min-width:0}.history-captain-portrait{width:44px;height:44px}.live-process,.instruction-preview{grid-template-columns:1fr 1fr}.live-test-tools,.close-confirm{align-items:flex-start;flex-direction:column}.live-test-tools button,.close-confirm button{width:100%}}
@media(max-width:520px){.captain-hero{grid-template-columns:72px 1fr 72px}.captain-portrait{height:98px}.captain-meta strong{font-size:9px}.captain-role{display:none}.current-captain-hero{grid-template-columns:62px 1fr 62px}.current-captain-hero .captain-portrait{height:92px}.history-cup-row{grid-template-columns:1fr}.history-year{font-size:19px}.history-winner{grid-column:1}.live-process,.instruction-preview{grid-template-columns:1fr}}
