:root{--green:#123d32;--ink:#183c32;--muted:#63716b;--gold:#e6c479;--paper:#f6f5ef;--line:#dce2d9;--white:#fff;--light:#edf2e9;--red:#984839}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',Arial,sans-serif}
a{color:inherit}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,.button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc8c32;outline-offset:3px}
header{max-width:1200px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.crest{width:53px;height:60px;background:var(--green);clip-path:polygon(0 0,100% 0,100% 79%,50% 100%,0 79%);color:var(--gold);font:bold 34px/1 Georgia,serif;text-align:center;padding:7px 0}
.crest span{display:block;font:5px Arial,sans-serif;letter-spacing:1px;margin-top:3px}
.share,.button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 17px;min-height:44px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.share span{font-size:20px}
nav{display:flex;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1136px;margin:auto;padding:8px 0}
nav a{text-decoration:none;padding:10px 22px;min-height:44px;font-weight:600;border-radius:7px;color:var(--muted)}
nav a.active{background:var(--green);color:#fff}
main{max-width:1200px;margin:auto;padding:32px;min-height:65vh}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:'Libre Franklin',Arial,sans-serif;line-height:1.15}
h1{font-size:42px;letter-spacing:-1.8px}
h2{font-size:24px;letter-spacing:-.6px}
h3{font-size:17px;letter-spacing:-.3px}
.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:2px;color:var(--muted);margin-bottom:12px}
.section{margin-top:34px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:30px}
.tools{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:150px}
.field label{font-size:11px;letter-spacing:.5px;font-weight:700;color:var(--muted)}
input,select{width:100%;border:1px solid #cfd7ce;background:#fff;color:var(--ink);border-radius:8px;padding:12px 14px;min-height:47px}
input[type=search]{min-width:0}
.intro{color:var(--muted);max-width:740px;margin-top:12px}
.count{font-size:12px;color:var(--muted);margin:0 0 15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);border-radius:8px;text-decoration:none;padding:10px 15px;background:#fff;min-height:44px;display:flex;align-items:center;font-weight:700;font-size:13px}
.chip:hover,.card:hover{border-color:#92a394}
.player-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px;transition:border-color .15s;text-decoration:none;display:block}
.player-card .top{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.initials{display:grid;place-items:center;background:var(--light);color:var(--green);width:43px;height:43px;border-radius:50%;font-weight:800;font-size:13px;flex-shrink:0}
.player-card small{color:var(--muted);display:block;font-size:12px;margin-top:4px}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat-strip strong{display:block;font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}
.stat-strip span{font-size:10px;color:var(--muted)}
.player-card .stat-strip{border-top:1px solid var(--line);padding-top:14px}
.arrow{margin-left:auto;color:#8c9e93;font-size:22px}
.game-list{display:grid;gap:10px}
.game-card{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 20px;text-decoration:none}
.game-date{width:62px;flex-shrink:0;font-size:11px;color:var(--muted)}
.game-date b{display:block;font-size:17px;color:var(--ink)}
.game-body{flex:1;min-width:0}
.game-body small{color:var(--muted);font-size:11px;display:block;margin-top:4px}
.score{font:800 22px 'Libre Franklin',Arial,sans-serif;white-space:nowrap}
.badge{display:inline-flex;padding:3px 7px;border-radius:4px;background:var(--light);color:var(--green);font-size:10px;font-weight:800;vertical-align:middle}
.badge.loss{background:#f9eae6;color:var(--red)}
.note{font-size:12px;color:var(--muted);border-left:3px solid var(--gold);padding:10px 14px;background:#f0eee3;margin-top:20px}
.back{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted);font-weight:600;margin-bottom:12px}
.career{background:var(--green);color:#fff;border-radius:12px;padding:25px;margin-top:26px}
.career .eyebrow{color:var(--gold)}
.career .stat-strip strong{font-size:36px}
.career .stat-strip span{font-size:12px;color:#cad8d0}
.season-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.season-card h3{margin-bottom:16px}
.season-card small{color:var(--muted);display:block;margin-top:12px}
.player-game{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px}
table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}
th,td{text-align:right;padding:14px;border-bottom:1px solid var(--line)}
th{background:var(--light);font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
th:first-child,td:first-child{text-align:left}
td a{font-weight:700;text-decoration:none}
tr:last-child td{border-bottom:0}
.leader-list{display:grid;gap:8px}
.leader-row{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:16px 20px;text-decoration:none}
.rank{font-size:17px;font-weight:800;min-width:25px;color:#8d9a8e}
.leader-row:nth-child(-n+3) .rank{color:#a37c32}
.leader-row .score{margin-left:auto}
.leader-row small{display:block;color:var(--muted);font-size:12px}
.set{padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:center}
.set small{display:block;color:var(--muted);font-size:10px}
.set b{font-size:19px}
.empty{padding:30px;border:1px dashed #b8c7ba;border-radius:10px;color:var(--muted);text-align:center}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}
.about-grid p{margin-top:12px;color:var(--muted);font-size:14px}
details{margin-top:15px}
summary{cursor:pointer;min-height:44px;font-weight:700}
details p{margin:8px 0}
footer{max-width:1136px;margin:24px auto 0;padding:25px 0 30px;border-top:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:11px}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:30}
#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 4px 20px #0002;display:none;z-index:40;max-width:90vw;text-align:center}
.loading{padding:50px;text-align:center}
.quiet{color:var(--muted);font-size:12px}
.stack{display:grid;gap:12px}
button:hover,.button:hover{filter:brightness(.97)}
@media(min-width:900px){nav{position:sticky;top:0;background:var(--paper);z-index:10}
}
@media(max-width:800px){header{padding:18px 20px}
nav{margin:0 20px;gap:3px;overflow-x:auto}
nav a{padding:9px 16px}
main{padding:24px 20px}
.split{grid-template-columns:1fr}
.player-grid{grid-template-columns:repeat(2,1fr)}
footer{margin:20px;padding:25px 0}
.about-grid{grid-template-columns:1fr}
}
@media(max-width:520px){body{font-size:14px}
header{padding:14px 16px}
.crest{width:41px;height:48px;font-size:27px}
.crest span{font-size:4px}
.share{padding:8px 12px;font-size:12px}
nav{margin:0;padding:6px 12px;position:sticky;top:0;z-index:20;background:var(--paper);display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
nav a{padding:10px 3px;text-align:center;font-size:11px;min-height:44px}
main{padding:20px 16px}
h1{font-size:32px;letter-spacing:-1px}
h2{font-size:21px}
.eyebrow{font-size:10px;letter-spacing:1.6px}
.section{margin-top:28px}
.section-head{gap:10px}
.player-grid{grid-template-columns:1fr}
.player-card .top{margin-bottom:15px}
.card{padding:17px}
.tools{gap:9px;margin:20px 0}
.field{min-width:130px}
.field.search{flex-basis:100%}
input,select{font-size:16px}
.game-card{padding:15px 13px;gap:11px}
.game-date{width:49px}
.game-date b{font-size:15px}
.game-body h3{font-size:14px}
.game-body small{font-size:10px}
.game-card .score{font-size:19px}
.game-card .arrow{display:none}
.career{padding:20px 15px}
.career .stat-strip{gap:5px}
.career .stat-strip strong{font-size:27px}
.career .stat-strip span{font-size:10px}
.season-grid{grid-template-columns:1fr}
.player-game{padding:16px}
.stat-strip strong{font-size:20px}
.stat-strip span{font-size:10px}
.leader-row{padding:14px 13px;gap:12px}
.leader-row h3{font-size:15px}
.leader-row small{font-size:10px}
.leader-row .score{font-size:22px}
.rank{min-width:20px}
.chip{font-size:12px;padding:10px 12px}
.set{padding:10px 14px}
footer{display:grid;gap:9px}
.note{font-size:11px}
}
/* Archmere athletics: green, white, silver; compact record-book layout. */
:root{--green:#00543c;--ink:#172a24;--muted:#616c66;--gold:#b5bcb8;--paper:#fff;--line:#dce1de;--light:#eef3f0}
body{font-family:'Libre Franklin',Arial,sans-serif;font-size:14px;background:#fff;border-top:5px solid var(--green)}
header{padding:19px 32px;max-width:1240px}
.share,.button,input,select,.chip{border-radius:3px}
.share{font-size:12px;border-color:#bcc6c0}
.share span{font-size:17px}
nav{max-width:1176px;border-bottom:1px solid var(--line);border-top:0;gap:24px;padding:0;background:#fff}
nav a{font-size:13px;color:#59635e;white-space:nowrap;border-radius:0;padding:14px 2px;border-bottom:3px solid transparent}
nav a.active{background:transparent;color:var(--green);border-color:var(--green)}
nav a:hover{color:var(--green)}
main{max-width:1240px;padding:32px}
h1,h2,h3{font-family:'Libre Franklin',Arial,sans-serif;letter-spacing:-.6px}
h1{font-size:34px;font-weight:800}
h2{font-size:22px}
h3{font-size:16px;font-weight:700}
.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--green);margin-bottom:10px}
.intro{font-size:13px;line-height:1.65;margin-top:9px}
.section{margin-top:30px}
.section-head{padding-bottom:12px;border-bottom:2px solid var(--green);margin-bottom:0}
.split{grid-template-columns:1.3fr 1fr;gap:38px}
.player-grid{gap:0 28px}
.card,.player-game,.leader-row,.game-card,.season-card{border-radius:0;box-shadow:none}
.player-card{border:0;border-bottom:1px solid var(--line);padding:22px 0}
.player-card:hover{background:#f8faf8}
.player-card .top{margin-bottom:14px}
.initials{border-radius:2px;background:transparent;border-left:3px solid var(--green);width:40px;height:36px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:22px;letter-spacing:.5px}
.arrow{font-size:17px;color:var(--green)}
.stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.stat-strip strong{font-size:19px;letter-spacing:-.5px}
.stat-strip span{font-size:10px}
.player-card .stat-strip{border:0;padding-top:8px}
.player-card>.quiet{font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.game-list{gap:0}
.game-card{border:0;border-bottom:1px solid var(--line);padding:18px 0}
.game-body h3{font-size:15px}
.game-body small{font-size:10px}
.game-date b{font-size:15px}
.score{font-family:'Barlow Condensed',Arial,sans-serif;font-size:26px}
.badge{border-radius:2px}
.career{border-radius:0;background:#eef3f0;color:var(--ink);border-top:3px solid var(--green);padding:22px}
.career .eyebrow{color:var(--green)}
.career .stat-strip span{color:var(--muted)}
.career .stat-strip strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:38px}
.season-card{border:0;border-bottom:1px solid var(--line);padding:20px 0}
.season-card .section-head{border:0;padding:0}
.player-game{border:0;border-bottom:1px solid var(--line);padding:22px 0}
.leader-list{gap:0}
.leader-row{border:0;border-bottom:1px solid var(--line);padding:16px 8px}
.leader-row:nth-child(-n+3) .rank{color:var(--green)}
.rank{font-family:'Barlow Condensed',Arial,sans-serif;font-size:22px}
.set,.empty,.about-grid .card{border-radius:0}
.note{background:#f4f6f4;border-left:2px solid #a9b7b0;font-size:11px;padding:10px 12px}
.tools{background:#f4f6f4;padding:16px;margin:22px 0}
.field label{font-size:10px}
.count{font-size:11px}
.chip{font-size:12px;font-weight:600}
.about-grid .card{padding:22px}
.about-grid h2{font-size:19px}
footer{max-width:1176px;font-size:10px}
.back{font-size:12px}
.section-head .quiet{font-size:11px}
@media(max-width:800px){header{padding:16px 20px}
nav{margin:0 20px;gap:20px}
main{padding:26px 20px}
.split{grid-template-columns:1fr;gap:0}
.player-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){body{font-size:13px;border-top-width:4px}
header{padding:12px 16px}
.share{min-height:40px;padding:8px 11px;font-size:11px}
nav{margin:0;padding:0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 8px;background:#fff;position:sticky;top:0;z-index:20}
nav a{min-height:42px;padding:12px 0 9px;font-size:11px;text-align:center;border-bottom-width:2px}
main{padding:24px 16px}
h1{font-size:29px;letter-spacing:-.8px}
h2{font-size:20px}
.intro{font-size:12px}
.eyebrow{font-size:9px}
.section{margin-top:26px}
.section-head{padding-bottom:10px}
.player-grid{grid-template-columns:1fr}
.player-card{padding:20px 0}
.player-card .top{margin-bottom:10px}
.player-card small{font-size:11px}
.stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.stat-strip strong{font-size:21px}
.stat-strip span{font-size:9px}
.player-card .stat-strip{padding-top:9px}
.player-card>.quiet{font-size:9px}
.game-card{padding:16px 0;gap:10px}
.game-body h3{font-size:14px}
.game-body small{font-size:9px}
.game-date{width:46px}
.game-date b{font-size:14px}
.game-card .score{font-size:24px}
.tools{padding:12px;gap:10px}
.field{min-width:120px}
.career{padding:18px 14px}
.career .stat-strip strong{font-size:30px}
.career .stat-strip span{font-size:9px}
.season-grid{grid-template-columns:1fr}
.player-game{padding:20px 0}
.leader-row h3{font-size:14px}
.leader-row .score{font-size:26px}
.leader-row small{font-size:10px}
.note{font-size:10px}
footer{margin:20px 16px}
.about-grid .card{padding:18px}}
@media(min-width:801px) and (max-width:1240px){nav{margin-left:32px;margin-right:32px}}
/* Team Instagram direction: condensed poster type, ink, paper, forest green. */
:root{--green:#14583d;--ink:#191c19;--paper:#f5f4ef;--line:#d7d9d2}
body{background:var(--paper);border-top:5px solid #151715}
header{background:var(--paper)}
nav{background:var(--paper)}
nav a.active{border-bottom-color:var(--green);font-weight:800}
.section-head h2{font-family:'Barlow Condensed',sans-serif;font-size:29px;font-weight:800;text-transform:uppercase;letter-spacing:.2px}
.section-head{border-color:#1c2d21}
.card,.game-card,.player-game,.leader-row,.set{background:transparent}
.game-date b{font-family:'Barlow Condensed',sans-serif;font-size:21px;text-transform:uppercase}
.score{font-family:'Anton','Barlow Condensed',sans-serif;font-weight:400}
.badge{font-family:'Libre Franklin',sans-serif}
.player-card:hover,.game-card:hover,.leader-row:hover{background:#e9ede5}
.career{background:#1c2b22;color:#f4f3ed;border-top:5px solid #598c66}
.career .eyebrow{color:#bbd1bc}
.career .stat-strip span{color:#c5d0c4}
.career .stat-strip strong{font-family:'Anton',sans-serif;font-weight:400}
.tools{background:#e9ebe3}
.note{background:#eceee6}
.initials{font-family:'Barlow Condensed',sans-serif}
.season-card h2{font-family:'Barlow Condensed',sans-serif;font-size:32px}
.share{background:transparent}
.about-grid .card{background:#fafaf6}
@media(max-width:520px){body{border-top-width:4px}
nav{background:var(--paper)}
.section-head h2{font-size:26px}
.career .stat-strip strong{font-size:28px}
.game-date b{font-size:18px}
.game-card .score{font-size:23px}
}
/* Readability pass: authentic unboxed mark and restrained content typography. */
:root{--paper:#fff;--ink:#17251f;--muted:#536158;--line:#dce3de}
body,header,nav{background:#fff}
.share{font-size:13px;background:#fff}
header{padding-top:18px;padding-bottom:18px}
nav a{font-size:14px;font-weight:600;min-height:48px}
main{padding-top:28px}
h1{font-size:34px;line-height:1.2}
.eyebrow{font-size:11px;letter-spacing:1px}
.intro{font-size:15px;line-height:1.6;max-width:680px}
.section-head h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.5px;text-transform:none}
.section-head{border-bottom:1px solid #b7c8bd;padding-bottom:14px}
.section{margin-top:32px}
.game-card{padding:20px 12px;gap:18px;min-height:86px}
.game-card:hover{background:#f3f6f3}
.game-date{font-size:12px;width:63px}
.game-date b{font-family:'Libre Franklin',Arial,sans-serif;font-size:16px;text-transform:none;margin-bottom:4px}
.game-body h3{font-size:16px;line-height:1.35}
.game-body small{font-size:12px;line-height:1.5;margin-top:5px}
.score,.game-card .score,.leader-row .score{font-family:'Libre Franklin',Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-.6px}
.badge{font-size:11px;line-height:1.3;padding:4px 7px}
.tools{background:#f2f5f2;padding:18px;gap:16px}
.field label{font-size:12px;letter-spacing:0;color:#35483c}
.field{gap:8px}
input,select{font-size:15px;padding:12px}
.count{font-size:13px}
.player-grid{gap:16px 22px}
.player-card{padding:22px 18px;background:#f8faf7;border:1px solid #e0e7e1;border-radius:4px}
.player-card .top{margin-bottom:18px}
.player-card h3{font-size:18px;line-height:1.3}
.player-card small{font-size:13px;line-height:1.5}
.player-card>.quiet{font-size:11px;letter-spacing:.3px;margin-top:4px}
.player-card .stat-strip{margin-top:10px;padding-top:14px;border-top:1px solid #dce4de}
.stat-strip strong{font-family:'Libre Franklin',Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.5px}
.stat-strip span{font-size:12px;line-height:1.5}
.initials{font-family:'Libre Franklin',Arial,sans-serif;font-size:17px;font-weight:700;letter-spacing:0;width:44px}
.note{font-size:12px;line-height:1.65;background:#f1f5f0;padding:14px 16px}
.quiet{font-size:13px}
.career .stat-strip strong{font-family:'Libre Franklin',Arial,sans-serif;font-size:34px;font-weight:700}
.career .stat-strip span{font-size:13px}
.career .eyebrow{font-size:11px}
.season-card{padding:22px 16px;background:#f8faf7;border:1px solid #e0e7e1}
.season-card h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:27px}
.season-card small{font-size:12px;line-height:1.5}
.player-game{padding:20px 16px;background:#f8faf7;border:1px solid #e0e7e1}
.leader-row{padding:19px 12px;gap:20px}
.leader-row h3{font-size:17px;line-height:1.4}
.leader-row small{font-size:13px;margin-top:3px}
.rank{font-family:'Libre Franklin',Arial,sans-serif;font-size:18px;min-width:26px}
.chip{font-size:14px;line-height:1.4}
table{font-size:14px}
th{font-size:12px;letter-spacing:0;text-transform:none}
.back{font-size:14px}
.about-grid p{font-size:14px;line-height:1.7}
footer{font-size:12px;line-height:1.6}
@media(max-width:800px){
.split{gap:0}
.player-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){header{padding:14px 16px}
.share{padding:9px 10px;font-size:12px;min-height:44px}
.share span{display:none}
nav{background:#fff;padding:0 12px}
nav a{font-size:12px;min-height:45px;padding:13px 0 10px}
main{padding:24px 16px}
h1{font-size:29px}
.eyebrow{font-size:10px}
.intro{font-size:14px;line-height:1.6}
.section-head h2{font-size:21px}
.section-head{gap:12px}
.game-card{padding:17px 0;gap:11px}
.game-date{width:50px;font-size:11px}
.game-date b{font-size:14px}
.game-body h3{font-size:15px;line-height:1.4}
.game-body small{font-size:11px}
.game-card .score{font-size:22px}
.badge{font-size:10px}
.tools{padding:14px;gap:14px}
.field label{font-size:12px}
input,select{font-size:16px}
.player-grid{grid-template-columns:1fr;gap:14px}
.player-card{padding:19px 14px}
.player-card h3{font-size:17px}
.player-card small{font-size:12px}
.player-card .top{gap:10px;margin-bottom:16px}
.player-card>.quiet{font-size:10px;letter-spacing:0}
.initials{font-size:15px;width:36px}
.stat-strip{gap:5px}
.stat-strip strong{font-size:22px}
.stat-strip span{font-size:11px}
.player-card .stat-strip{margin-top:8px;padding-top:13px}
.career{padding:20px 13px}
.career .stat-strip strong{font-size:27px}
.career .stat-strip span{font-size:11px}
.career .eyebrow{font-size:10px}
.season-grid{gap:14px}
.season-card{padding:19px 14px}
.season-card small{font-size:12px}
.player-game{padding:19px 14px}
.note{font-size:12px;line-height:1.65;padding:12px}
.leader-row{padding:18px 3px;gap:12px}
.leader-row h3{font-size:16px}
.leader-row small{font-size:12px}
.leader-row .score{font-size:23px}
.chip{font-size:13px}
.quiet{font-size:12px}
footer{font-size:11px}
}
@media(max-width:360px){
.share{padding:8px}
.stat-strip strong{font-size:20px}
.stat-strip span{font-size:10px}
.player-card{padding:18px 12px}
.player-card h3{font-size:16px}}
/* Player record: summary first, readable match logs, optional season detail. */
.player-page{max-width:960px;margin:auto}
.player-page .back{margin-bottom:12px}
.player-career{margin:25px 0 30px;padding:22px 24px;background:#f1f5f1;border:1px solid #dce5dd;border-top:3px solid var(--green)}
.player-career h2{font-size:14px;font-weight:700;margin-bottom:18px}
.player-career .stat-strip strong{font-size:32px}
.player-career .stat-strip span{font-size:13px}
.player-career p{font-size:12px;color:var(--muted);margin-top:18px}
.player-career a{color:var(--green)}
.player-game-section .section-head{align-items:center}
.log-filter{display:flex;align-items:end;gap:22px;margin:18px 0 20px}
.log-filter .field{max-width:230px}
.log-filter p{font-size:12px;color:var(--muted);padding-bottom:12px}
.match-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.match-card{background:#fff;border:1px solid #d5dfd7;border-radius:6px;overflow:hidden}
.match-meta{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e5eae6;background:#f6f8f5;font-size:12px;color:#58665e}
.match-meta time{font-weight:600;color:#35483c}
.match-opponent{display:flex;align-items:center;gap:12px;padding:18px 16px}
.opponent-mark{display:grid;place-items:center;width:46px;height:46px;background:white;flex-shrink:0}
.opponent-mark img{width:44px;height:44px;object-fit:contain}
.opponent-mark img[hidden],.opponent-initials[hidden]{display:none}
.opponent-initials{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8e0da;border-radius:50%;font-size:13px;font-weight:700;color:#506057;background:#eff3ee}
.match-opponent h3{font-size:16px;line-height:1.35;flex:1;min-width:0;letter-spacing:-.25px}
.match-result{flex-shrink:0;text-align:right;color:#14583d;min-width:47px}
.match-result span{display:block;font-size:10px;font-weight:800;letter-spacing:.6px;margin-bottom:4px}
.match-result strong{font-size:24px;line-height:1.1;letter-spacing:-.6px}
.match-result.lost{color:#8d3c34}
.match-numbers{margin:0 16px 16px;padding:14px 0;background:#f3f6f2;border-radius:4px}
.match-numbers .stat-strip{text-align:center;gap:0}
.match-numbers .stat-strip>div+div{border-left:1px solid #dbe3dc}
.match-numbers .stat-strip strong{font-size:23px;line-height:1.2}
.match-numbers .stat-strip span{display:block;font-size:11px;margin-top:5px}
.match-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e5eae6;padding:0 16px}
.match-actions a{display:flex;align-items:center;min-height:48px;font-size:12px;font-weight:600;text-decoration:none;color:var(--green);gap:8px}
.match-actions a:hover{text-decoration:underline}
.season-breakdown{border-top:1px solid #cdd9d0;margin-top:28px;padding-top:8px}
.season-breakdown summary{display:flex;justify-content:space-between;align-items:center;font-size:17px;min-height:58px;list-style:none}
.season-breakdown summary:after{content:'+';font-size:23px;font-weight:400;margin-left:14px}
.season-breakdown[open] summary:after{content:'−'}
.season-breakdown summary span{font-size:12px;font-weight:400;color:var(--muted);margin-left:auto}
.season-breakdown .season-grid{margin:12px 0 24px}
.player-source-note{border-top:1px solid #dce3de;padding:10px 0;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.7}
.player-source-note summary{font-size:13px;color:#344b3b}
.player-page .season-card{border-radius:4px}
@media(max-width:650px){.match-list{grid-template-columns:1fr;gap:16px}
.player-career{padding:20px 16px}
.player-career .stat-strip strong{font-size:28px}
.player-career .stat-strip span{font-size:12px}
.log-filter{gap:16px}
.log-filter .field{max-width:190px}
.log-filter p{font-size:11px;max-width:145px;line-height:1.6}
.player-game-section .section-head h2{font-size:22px}
.player-game-section .quiet{font-size:12px}
.match-opponent h3{font-size:17px}
.match-numbers .stat-strip strong{font-size:24px}
.match-numbers .stat-strip span{font-size:12px}
.match-meta{font-size:12px}
.match-actions a{font-size:13px}}
@media(max-width:360px){
.player-career{padding:18px 12px}
.player-career .stat-strip strong{font-size:24px}
.player-career .stat-strip span{font-size:11px}
.player-career p{font-size:11px}
.log-filter{gap:12px}
.log-filter .field{max-width:160px;min-width:125px}
.log-filter p{font-size:10px}
.match-meta{padding:12px;font-size:11px;gap:8px}
.match-opponent{padding:16px 12px;gap:9px}
.opponent-mark{width:39px;height:40px}
.opponent-mark img{width:37px;height:38px}
.match-opponent h3{font-size:15px}
.match-result strong{font-size:22px}
.match-result{min-width:42px}
.match-numbers{margin:0 12px 14px}
.match-numbers .stat-strip strong{font-size:22px}
.match-numbers .stat-strip span{font-size:10px}
.match-actions{padding:0 12px;gap:8px}
.match-actions a{font-size:12px}
.player-game-section .section-head h2{font-size:21px}
.player-game-section .quiet{font-size:11px}}
.player-career .stat-strip{text-align:center;gap:0}
.player-career .stat-strip>div+div{border-left:1px solid #d2ddd3}
.player-career .stat-strip strong{letter-spacing:-.7px}
.player-career .stat-strip span{display:block;margin-top:5px}
.player-page>.season-breakdown{margin-top:-12px;margin-bottom:26px;border-bottom:1px solid #dce3de;border-top:0;padding-top:0}
.player-page>.season-breakdown summary{min-height:52px;font-size:15px}
/* Keep whole opponent marks inside a consistent, padded badge. */
.opponent-mark{width:52px;height:52px;border:1px solid #e2e7e3;border-radius:5px;padding:3px;background:#fff}
.opponent-mark img{width:44px;height:44px;object-fit:contain;object-position:center;max-width:100%;max-height:100%}
.opponent-banner{background-repeat:no-repeat;flex-shrink:0}
.game-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;column-gap:15px;row-gap:5px;padding:18px 10px}
.game-card>.opponent-mark{grid-column:1;grid-row:1 / 3}
.game-card>.game-date{grid-column:2;grid-row:1;width:auto;display:flex;gap:6px;align-items:baseline;font-size:11px}
.game-card>.game-date b{display:inline;font-size:12px;margin:0;font-weight:600}
.game-card>.game-body{grid-column:2;grid-row:2}
.game-card>.score{grid-column:3;grid-row:1 / 3;align-self:center}
.game-card>.arrow{display:none}
.game-card .game-body h3{font-size:16px}
.game-card .game-body small{font-size:11px}
.match-opponent .opponent-mark{flex-shrink:0}
@media(max-width:520px){.game-card{grid-template-columns:46px minmax(0,1fr) auto;gap:5px 11px;padding:17px 0}
.game-card>.opponent-mark{width:46px;height:48px;padding:2px}
.game-card .game-body h3{font-size:14px;line-height:1.35}
.game-card .game-body small{font-size:10px;line-height:1.5}
.game-card>.game-date,.game-card>.game-date b{font-size:11px}
.game-card>.score{font-size:21px}
.game-card .badge{display:block;width:max-content;margin:5px 0 0 auto}
.match-opponent .opponent-mark{width:48px;height:48px;padding:2px}
.opponent-mark img{max-width:100%;max-height:100%}}
@media(max-width:360px){.game-card{grid-template-columns:44px minmax(0,1fr) auto;column-gap:9px}
.game-card>.opponent-mark{width:44px;height:46px}
.game-card>.score{font-size:20px}
.match-opponent .opponent-mark{width:46px;height:46px}}
/* The match book — a scorecard with the rhythm of a printed sports page. */
.game-report{max-width:880px;margin:auto}
.match-dateline{display:flex;justify-content:space-between;gap:16px;border-top:3px solid var(--green);padding-top:12px;font-size:10px;font-weight:800;letter-spacing:1.5px}
.report-title{font-family:'Barlow Condensed',Arial,sans-serif;font-size:76px;text-transform:uppercase;letter-spacing:-1px;margin:17px 0 10px;line-height:.98}
.report-title>span{color:#be963e}
.report-date{font-size:13px;color:var(--muted);margin-bottom:28px}
.report-date>span{margin:0 6px}
.match-scorecard{border:1px solid #cbd7cf;background:white;position:relative}
.final-label{text-align:center;letter-spacing:3px;font-size:10px;font-weight:800;padding:15px;border-bottom:1px solid #e0e6df;background:#f1f4ee}
.match-teams{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);padding:27px 26px 24px;align-items:start}
.match-team{text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;position:relative}
.team-crest{height:94px;width:110px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.team-crest>img{width:110px;height:90px;object-fit:contain}
.team-crest .opponent-mark{transform:scale(1.7);width:52px;height:52px;border:0;padding:3px}
.team-crest .opponent-mark img{width:44px;height:44px}
.match-team h2{font-size:21px;line-height:1.25;min-height:53px;display:flex;align-items:center;justify-content:center;max-width:260px}
.team-caption{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-top:6px}
.team-score{font-family:'Barlow Condensed',Arial,sans-serif;font-size:104px;font-weight:700;line-height:1.05;letter-spacing:-3px;margin-top:8px;color:#8a948d}
.match-winner .team-score{color:var(--green)}
.versus{align-self:center;text-align:center;font-size:11px;letter-spacing:1px;color:#7a877e}
.winner-label{font-size:9px;letter-spacing:2px;font-weight:800;background:var(--green);color:white;padding:3px 10px;position:absolute;bottom:-11px}
.scorecard-foot{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #dce4dd;margin-top:8px;padding:14px 20px;font-size:12px;color:var(--muted)}
.scorecard-foot a{color:var(--green);font-weight:700;text-decoration:none}
.report-sets,.report-box{margin-top:38px}
.report-section-title{display:flex;align-items:center;gap:12px;border-top:1px solid #bbcbbf;padding-top:17px;margin-bottom:15px}
.report-section-title>span{font:600 14px 'Barlow Condensed',sans-serif;color:#7e927f}
.report-section-title h2{font-size:25px;font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}
.set-recap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #dae2db}
.recap-set{padding:15px 10px 18px;border-right:1px solid #dae2db}
.recap-set:last-child{border-right:0}
.recap-set>span{font-size:9px;letter-spacing:1px;color:var(--muted)}
.recap-set strong{display:block;font:700 30px 'Barlow Condensed',sans-serif;margin:5px 0}
.recap-set small{font-size:10px;display:block;line-height:1.4}
.set-key,.box-subtitle{font-size:12px;color:var(--muted);margin:10px 0 16px}
.box-players{border-top:2px solid var(--green)}
.box-player{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:20px;padding:19px 14px;border-bottom:1px solid #d7e0d9}
.box-player:nth-child(even){background:#f0f4ee}
.box-player>a{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;min-height:44px;text-decoration:none}
.box-player>a:hover{text-decoration:underline}
.box-player>a>span:last-child{color:#869b8b}
.box-player .stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));text-align:center;gap:4px}
.box-player .stat-strip strong{font:600 27px 'Barlow Condensed',sans-serif}
.box-player .stat-strip span{font-size:11px}
.archive-empty{padding:20px 0;color:var(--muted);font-size:13px;line-height:1.7}
.archive-empty h3{color:var(--ink);font-size:17px;margin-bottom:8px}
.archive-empty p{max-width:480px}
.box-notes{margin-top:18px;color:var(--muted);font-size:12px}
.box-notes summary{min-height:44px;cursor:pointer;display:list-item;align-content:center}
.report-next{display:block;margin-top:38px;border-top:3px solid var(--green);padding:20px 0;text-decoration:none}
.report-next>span{font-size:9px;letter-spacing:1.5px}
.report-next strong{display:flex;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:30px;margin-top:5px}
@media(max-width:600px){.match-dateline{font-size:8px;letter-spacing:1px;gap:10px}
.report-title{font-size:49px;max-width:340px;margin-top:19px}
.report-date{font-size:12px;line-height:1.7;margin-bottom:22px}
.report-date>span{margin:0 3px}
.match-teams{padding:24px 10px 22px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}
.team-crest{width:90px;height:78px;margin-bottom:9px}
.team-crest>img{width:90px;height:74px}
.team-crest .opponent-mark{transform:scale(1.45)}
.match-team h2{font-size:15px;min-height:40px;max-width:145px}
.team-caption{font-size:8px;letter-spacing:1px}
.team-score{font-size:86px}
.scorecard-foot{padding:13px 12px;font-size:11px;gap:8px}
.report-sets,.report-box{margin-top:30px}
.recap-set{padding:12px 5px}
.recap-set strong{font-size:24px}
.recap-set small{font-size:9px}
.recap-set>span{font-size:8px}
.box-player{display:block;padding:13px 12px 19px}
.box-player>a{font-size:15px;margin-bottom:10px}
.box-player .stat-strip strong{font-size:29px}
.box-player .stat-strip span{font-size:11px}
.box-player .stat-strip>div+div{border-left:1px solid #d8e1d9}
.report-section-title h2{font-size:25px}
.report-next{margin-top:30px}}
@media(max-width:360px){.report-title{font-size:44px}
.match-team h2{font-size:13px}
.team-score{font-size:78px}
.match-dateline{font-size:7px}
.scorecard-foot{font-size:10px}
.recap-set strong{font-size:21px}
.box-player{padding-left:7px;padding-right:7px}}
.set-recap{grid-template-columns:repeat(auto-fit,minmax(45px,1fr))}
/* Tap-to-rank match statistics. */
.box-explorer{--stat-0:#246a49;--stat-1:#b68a28;--stat-2:#557393;--stat-3:#995e4a;--stat-4:#736489}
.stat-switch{display:flex;flex-wrap:wrap;gap:7px;margin:21px 0 14px}
.stat-switch button{border:1px solid #bccdc0;background:#fff;color:var(--green);padding:10px 15px;min-height:44px;font-size:12px;font-weight:700;border-radius:3px;transition:background .18s,color .18s,transform .18s}
.stat-switch button:hover{background:#e7eee6;transform:translateY(-2px)}
.stat-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 0 #b4c4b6}
.stat-switch button:active{transform:translateY(1px)}
.stat-story{min-height:85px;display:flex;gap:14px;align-items:center;background:#edf3e9;border-left:4px solid #c3a059;padding:14px 18px;margin-bottom:18px;font-size:12px;line-height:1.5}
.stat-story>strong{font:700 48px/1 'Barlow Condensed',sans-serif;color:var(--green)}
.stat-story b{font-size:14px;font-weight:700}
.stat-story small{display:block;margin-top:4px;color:#5b6f60;font-size:11px}
.stat-cell{padding:8px 5px 9px;border-radius:3px;transition:background .2s,opacity .2s,transform .2s}
.stat-cell.is-selected{background:#dcebdc;box-shadow:inset 0 -2px #477954}
.stat-cell.is-muted{opacity:.8}
.box-player{animation:stat-row .3s ease both;animation-delay:var(--row-delay,0ms)}
.box-player:hover{background:#edf2e9}
.box-player .stat-strip>div+div{border-left:0}
.box-player>a>span:first-child{display:flex;align-items:center;gap:10px}
.stat-rank{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;background:#dce8db;color:#3f634a;font-size:12px;width:25px;height:25px;border-radius:50%}
.bar-key{font-size:11px;color:var(--muted);line-height:1.7;margin:14px 0}
.stat-strip>div{transition:background .18s,transform .18s}
.player-career .stat-strip>div:hover,.match-numbers .stat-strip>div:hover{background:#dfeadc;transform:translateY(-3px)}
@keyframes stat-row{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.stat-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.stat-switch button{font-size:12px;padding:10px 8px}
.stat-story{padding:13px 14px;min-height:86px}
.box-player .stat-strip{gap:5px}
.box-player .stat-cell{padding:8px 3px}
.box-player{padding-bottom:16px}
.stat-story>strong{font-size:43px}
.stat-story b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.box-player,.stat-switch button,.stat-cell,.stat-strip>div{transition:none}
.stat-switch button:hover,.player-career .stat-strip>div:hover,.match-numbers .stat-strip>div:hover{transform:none}}
.current-player-detail{display:block;font:400 11px/1.5 'Libre Franklin',Arial,sans-serif;color:#617568;margin-top:6px;letter-spacing:0}
.box-player-identity{display:block}
.box-player>a .current-player-detail{font-size:10px}
.box-player>a{padding:3px 0}
.box-player>a:hover .current-player-detail{text-decoration:none}
@media(prefers-reduced-motion:reduce){.box-player{animation:none}}
/* Player graphics borrow the team's bold, green-and-white match posters. */
.jersey-mark{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;width:58px;min-height:68px;background:#143b2e;color:#fff;position:relative;border-bottom:4px solid #91aa88}
.jersey-mark small{font:700 8px/1 Arial,sans-serif!important;letter-spacing:2px;color:#c0d4ba!important;margin:0 0 4px!important}
.jersey-mark strong{font:700 39px/.95 'Barlow Condensed',Arial,sans-serif;letter-spacing:-1px}
.player-card .top{align-items:center}
.player-card .jersey-mark{transform:rotate(-3deg);margin-right:4px}
.player-stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px!important}
.player-stat-strip button{border:0;border-bottom:3px solid transparent;background:transparent;border-radius:3px;color:var(--green);padding:10px 3px;min-height:66px;min-width:0;transition:background .18s,transform .18s,border-color .18s}
.player-stat-strip button strong{display:block;font:700 30px/1.15 'Barlow Condensed',sans-serif}
.player-stat-strip button span{display:block;margin-top:5px;color:#5c7062;font-size:12px}
.player-stat-strip button:hover{background:#e0eadc;transform:translateY(-3px)}
.player-stat-strip button[aria-pressed=true]{background:#163f2c;color:white;border-color:#a7bc97;box-shadow:0 3px 0 #cfdbca}
.player-stat-strip button[aria-pressed=true] span{color:#e2ecdd}
.player-career{border-top:0;margin-top:0;padding-top:22px}
.player-career .player-stat-strip strong{font-family:'Barlow Condensed',sans-serif;font-size:38px}
.player-career .player-stat-strip span{font-size:12px}
.match-numbers .player-stat-strip strong{font:700 27px/1.1 'Barlow Condensed',sans-serif}
.match-numbers{padding:9px 5px}
.ranked-matches .match-card{animation:stat-row .28s ease both}
.player-page .season-card .player-stat-strip button strong{font-size:25px}
.player-page .season-card .player-stat-strip button span{font-size:10px}
@media(max-width:650px){
.player-career{padding:18px 9px}
.player-career .player-stat-strip strong{font-size:32px}
.player-career .player-stat-strip span{font-size:11px}
.player-stat-strip button{min-height:70px;padding:10px 2px}
.player-card .jersey-mark{width:48px;min-height:62px}
.player-card .jersey-mark strong{font-size:37px}
.player-card .top{gap:10px}
.player-card h3{font-size:16px}
.match-numbers .player-stat-strip span{font-size:11px}}
@media(max-width:360px){
.player-career .player-stat-strip strong{font-size:27px}
.player-career .player-stat-strip span{font-size:10px}
.match-numbers .player-stat-strip strong{font-size:24px}
.match-numbers .player-stat-strip span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ranked-matches .match-card{animation:none}
.player-stat-strip button{transition:none}
.player-stat-strip button:hover{transform:none}}
/* A compact athletic masthead, shared by every page. */
header{border-top:7px solid #183e2d;padding:22px 32px;position:relative;gap:18px}
header:before{content:'';position:absolute;top:-7px;left:32px;width:78px;height:7px;background:#9eb58f;transform:skewX(-24deg)}
.share{border:1px solid #c7d4c6;background:#eff3eb;border-radius:3px;min-height:44px;color:#214632;padding:10px 14px}
.share:hover{background:#dae6d5}
nav{max-width:1136px;background:#173c2b;color:white;border:0;padding:5px 8px;gap:4px;border-bottom:3px solid #9bb18d}
nav a{color:#e0e9da;border-radius:2px;position:relative;font-size:13px;min-height:44px;padding:12px 20px;border-bottom:0}
nav a:hover{color:white;background:#2b513c}
nav a.active{background:#f3f5ec;color:#163c29;border-bottom:0;box-shadow:0 2px 0 #a8bd99}
nav a.active:after{display:none}
@media(max-width:650px){header{padding:17px 16px;border-top-width:6px}
header:before{left:16px;top:-6px;height:6px;width:58px}
.share{font-size:11px;padding:8px 10px;min-height:44px}
.share span{display:none}
nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:5px 10px;gap:4px}
nav a{font-size:11px;padding:12px 5px;min-height:43px;text-align:center;display:flex;align-items:center;justify-content:center}
main{padding-top:22px}}
@media(max-width:360px){header{gap:9px;padding-left:12px;padding-right:12px}
.share{padding:8px;font-size:10px}
nav a{font-size:11px}}
/* Alumni monograms: cream roundels, distinct from green jersey tickets. */
.alumni-mark{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#eee9d9;border:2px solid #8a957c;outline:1px solid #eee9d9;outline-offset:2px;color:#284532}
.alumni-mark small{font:700 7px/1 Arial,sans-serif!important;color:#647057!important;letter-spacing:1.4px;margin:0 0 4px!important}
.alumni-mark strong{font:700 27px/1 'Barlow Condensed',Arial,sans-serif;letter-spacing:1px}
.player-card .alumni-mark{margin-right:4px}
@media(max-width:650px){
.alumni-mark{width:52px;height:52px}
.alumni-mark strong{font-size:24px}
.alumni-mark small{font-size:6px!important}
}
@media(max-width:650px){nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0 6px;background:#fff;border-top:1px solid #e1e7dc;border-bottom:1px solid #cdd8c6;box-shadow:0 3px 8px #183e2d08}
nav a{font-size:11px;min-height:48px;padding:14px 2px;border-radius:0;color:#536b57;font-weight:600;white-space:nowrap}
nav a:hover{background:#f1f4ec;color:#173c2b}
nav a.active{background:transparent;color:#173c2b;box-shadow:inset 0 -3px #365d3f;font-weight:800}
}
@media(max-width:360px){nav{padding:0 4px}
nav a{font-size:10px;min-height:46px;padding:13px 1px}}
/* One navigation treatment on every screen; a clear filled active tab. */
nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:5px 6px;background:#fff;border-top:1px solid #e1e7dc;border-bottom:1px solid #cdd8c6;box-shadow:0 3px 8px #183e2d08}
nav a{display:flex;align-items:center;justify-content:center;color:#536b57;padding:11px 7px;min-height:44px;border-radius:3px;font-size:13px;font-weight:600;white-space:nowrap}
nav a:hover{background:#eef3e9;color:#173c2b}
nav a.active{background:#1c4933;color:#fff;font-weight:800;box-shadow:inset 0 -3px #94b283}
@media(max-width:650px){nav{gap:2px;padding:4px 6px}
nav a{font-size:11px;min-height:44px;padding:12px 2px}}
@media(max-width:360px){nav{gap:1px;padding:4px}
nav a{font-size:10px;padding:12px 1px}}
/* Active section as an athletic stripe, rather than a button. */
nav a{border-radius:0;position:relative}
nav a.active{background:transparent;color:#153e29;box-shadow:none;font-weight:800}
nav a.active:after{content:'';display:block;position:absolute;bottom:-4px;left:8%;right:8%;height:5px;background:#244e34;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}
nav a.active:before{content:'';width:4px;height:4px;border-radius:50%;background:#244e34;margin-right:6px;flex-shrink:0}
nav a:hover{background:#f2f5ed}
nav a.active:hover{background:transparent}
.archive-poster{position:relative;display:flex;justify-content:space-between;align-items:center;gap:26px;background:#16271f url('paper-grain.svg');border-bottom:6px solid #87a17c;padding:30px 32px;color:#fff}
.archive-poster .eyebrow{color:#c0d0b6;font-size:9px;letter-spacing:1.8px}
.archive-poster h1{font:700 62px/.98 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:-.3px}
.archive-poster p{font-size:12px;line-height:1.8;color:#d9e2d4;margin-top:17px}
.archive-stamp{flex-shrink:0;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c5d1b9;outline:1px solid #728768;outline-offset:5px;transform:rotate(5deg);background:#edeedc;color:#1e402d}
.archive-stamp small{font-size:9px;letter-spacing:1.7px;font-weight:700}
.archive-stamp strong{font:700 68px/1.1 'Barlow Condensed',sans-serif}
.record-controls{background:#f0f4eb;margin:22px 0;padding:19px 22px;border-bottom:1px solid #cdd8c6}
.record-controls .field label{font-size:11px}
.record-controls select{background:white;border-color:#bacbb2;border-radius:3px}
.record-context{font-size:12px;line-height:1.7;color:#5f715f;margin:20px 0}
.record-context a{color:#264f34;font-weight:600}
.ranking-heading,.archive-index-title{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:2px solid #2b4e34;padding-top:16px;margin:28px 0 15px}
.ranking-heading h2,.archive-index-title h2{font:700 29px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.2px}
.ranking-heading>span,.archive-index-title>span{font-size:8px;letter-spacing:1.2px;color:#6d8166;text-align:right}
.record-ranking .leader-row{display:grid;grid-template-columns:42px 56px minmax(0,1fr) auto;gap:19px;padding:22px 15px;border:0;border-bottom:1px solid #d4decf;background:white;align-items:center}
.record-ranking .leader-row:hover{background:#edf3e6}
.record-ranking .record-first{background:#eff2e4;border-top:3px solid #8da47c}
.record-ranking .rank{font:600 28px/1.1 'Barlow Condensed',sans-serif;width:auto;color:#687e60;text-align:left}
.record-ranking .rank>small{display:block;font:600 7px/1.2 Arial,sans-serif;letter-spacing:.8px;margin-bottom:5px}
.record-ranking .record-first .rank{color:#405a2b}
.record-ranking .jersey-mark{width:48px;min-height:55px}
.record-ranking .jersey-mark strong{font-size:32px}
.record-ranking .alumni-mark{width:49px;height:49px}
.record-ranking .alumni-mark strong{font-size:22px}
.record-ranking .alumni-mark small{font-size:6px!important}
.rank-identity h3{font-size:17px;line-height:1.35;letter-spacing:-.25px}
.rank-identity>small{display:block;font-size:12px;color:#6b7c65;line-height:1.6;margin-top:5px}
.record-value{text-align:right;min-width:75px}
.record-value strong{display:block;font:700 39px/1 'Barlow Condensed',sans-serif}
.record-value small{display:block;font-size:10px;color:#677e5e;margin-top:6px}
.record-first .record-value strong{font-size:48px}
.archive-return{display:block;text-decoration:none;border-top:3px solid #244d33;background:#f0f3e8;padding:20px 23px;margin-top:30px}
.archive-return>span{font-size:8px;letter-spacing:1.5px;color:#63785b;font-weight:700}
.archive-return strong{font:700 30px/1.2 'Barlow Condensed',sans-serif;display:flex;justify-content:space-between;gap:20px;margin-top:6px}
.archive-return:hover{background:#e3ebd8}
.season-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.season-ticket{display:block;text-decoration:none;border:1px solid #c8d5c1;background:#f4f5ed;border-top:4px solid #6f8f62;transition:transform .18s,background .18s}
.season-ticket:hover{background:#e7efdf;transform:translateY(-3px)}
.season-ticket-top{padding:13px 17px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#5c7653}
.season-ticket-top>span:last-child{font-size:16px;line-height:1}
.season-ticket-score{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 17px 22px}
.season-ticket-score h2{font:700 49px/.95 'Barlow Condensed',sans-serif;letter-spacing:-.5px}
.season-ticket-score>div{text-align:right}
.season-ticket-score strong{font:700 29px/1 'Barlow Condensed',sans-serif}
.season-ticket-score i{font-style:normal;color:#8ca07d}
.season-ticket-score small{display:block;font-size:7px;letter-spacing:.7px;color:#6b7e62;margin-top:6px}
.season-ticket-foot{border-top:1px dashed #b9c8b0;display:flex;gap:12px;justify-content:space-between;padding:13px 17px;font-size:10px;color:#657b5b}
.season-ticket-foot b{color:#23462d}
.season-detail{max-width:960px;margin:auto}
.season-record-stamp{width:150px;height:125px}
.season-record-stamp strong{font-size:59px;letter-spacing:-1px}
.season-record-stamp small{font-size:8px;letter-spacing:.7px}
.season-totals{background:#f0f4eb;padding:22px 23px}
.season-totals h2{font-size:14px;margin-bottom:18px}
.season-totals .stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));text-align:center}
.season-totals .stat-strip strong{font:700 35px 'Barlow Condensed',sans-serif}
.season-totals .stat-strip span{font-size:12px}
.season-totals>p{font-size:11px;color:#6b7e64;margin-top:18px;line-height:1.7}
.season-roster{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.season-roster a{display:flex;align-items:center;gap:13px;min-height:78px;padding:13px 0;border-bottom:1px solid #d3ddcd;text-decoration:none}
.season-roster-number{font:700 26px 'Barlow Condensed',sans-serif;min-width:45px;color:#749067}
.season-roster a strong{font-size:13px;line-height:1.4;display:block}
.season-roster a small{display:block;font-size:10px;margin-top:4px;color:#6a7d63}
.season-roster a>span:last-child{margin-left:auto;color:#819277}
.season-roster a:hover{background:#f0f4e9}
@media(max-width:800px){.season-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.archive-poster{padding:25px 20px;gap:17px}
.archive-poster h1{font-size:43px}
.archive-poster .eyebrow{font-size:7px;letter-spacing:1px}
.archive-poster p{font-size:11px;margin-top:15px}
.archive-stamp{width:74px;height:83px;outline-offset:3px}
.archive-stamp strong{font-size:48px}
.archive-stamp small{font-size:7px;letter-spacing:1px}
.record-controls{padding:16px 13px;gap:12px}
.record-controls .field{min-width:110px}
.record-controls .field label{font-size:10px}
.record-controls select{font-size:14px;padding:12px 9px}
.record-context{font-size:11px;margin:17px 0}
.ranking-heading,.archive-index-title{margin-top:25px;padding-top:14px}
.ranking-heading h2,.archive-index-title h2{font-size:25px}
.ranking-heading>span,.archive-index-title>span{font-size:7px;letter-spacing:.6px}
.record-ranking .leader-row{grid-template-columns:23px 42px minmax(0,1fr) auto;gap:10px;padding:19px 4px}
.record-ranking .rank{font-size:22px}
.record-ranking .rank>small{font-size:6px;letter-spacing:0}
.record-ranking .alumni-mark{width:37px;height:37px;outline-offset:1px}
.record-ranking .alumni-mark strong{font-size:18px}
.record-ranking .alumni-mark small{font-size:5px!important;letter-spacing:.5px;margin-bottom:2px!important}
.record-ranking .jersey-mark{width:37px;min-height:43px}
.record-ranking .jersey-mark strong{font-size:26px}
.record-ranking .jersey-mark small{font-size:6px!important}
.rank-identity h3{font-size:13px}
.rank-identity>small{font-size:10px;line-height:1.5}
.record-value{min-width:40px}
.record-value strong{font-size:31px}
.record-first .record-value strong{font-size:37px}
.record-value small{font-size:8px}
.archive-return{padding:19px 17px}
.archive-return strong{font-size:26px}
.archive-return>span{font-size:7px}
.season-index{grid-template-columns:1fr;gap:16px}
.season-ticket-top{padding:13px 17px;font-size:8px}
.season-ticket-score h2{font-size:54px}
.season-ticket-score strong{font-size:34px}
.season-ticket-score{padding:8px 17px 20px}
.season-ticket-foot{font-size:11px}
.season-record-stamp{width:84px;height:87px}
.season-record-stamp strong{font-size:37px}
.season-record-stamp small{font-size:6px;letter-spacing:0}
.season-totals{padding:20px 11px}
.season-totals .stat-strip strong{font-size:29px}
.season-totals .stat-strip span{font-size:11px}
.season-totals h2{font-size:13px}
.season-roster{grid-template-columns:1fr}
.season-roster a strong{font-size:14px}
.season-roster a small{font-size:11px}
}
@media(max-width:360px){nav a.active:before{width:3px;height:3px;margin-right:3px}
.archive-poster{padding:23px 15px;gap:12px}
.archive-poster h1{font-size:36px}
.archive-stamp{width:62px;height:75px}
.archive-stamp strong{font-size:42px}
.record-ranking .leader-row{grid-template-columns:20px 34px minmax(0,1fr) auto;gap:7px}
.record-ranking .alumni-mark{width:31px;height:31px}
.record-ranking .alumni-mark strong{font-size:15px}
.record-ranking .jersey-mark{width:31px;min-height:39px}
.rank-identity h3{font-size:12px}
.rank-identity>small{font-size:9px}
.record-value strong{font-size:27px}
.record-first .record-value strong{font-size:32px}
.record-value{min-width:35px}
.record-value small{font-size:7px}
.season-record-stamp{width:72px}
.season-record-stamp strong{font-size:32px}
.season-totals .stat-strip strong{font-size:25px}
.season-totals .stat-strip span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.season-ticket{transition:none}
.season-ticket:hover{transform:none}}
footer{background:#f0f3e9;border-top:3px solid #78936a;padding:25px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;gap:10px 24px;color:#5d7354}
footer>span:first-child{font:700 21px/1.2 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;color:#284b31;max-width:220px}
footer>a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:12px;border-bottom:1px solid #c6d3bc}
footer>a:hover{color:#163d25;border-color:#33583b}
footer>span:last-child{grid-column:1 / -1;font-size:10px;border-top:1px solid #d0dbc8;padding-top:16px;margin-top:8px}
@media(max-width:600px){footer{grid-template-columns:1fr 1fr;padding:23px 16px;gap:8px 18px}
footer>span:first-child{grid-column:1 / -1;max-width:none;font-size:20px;margin-bottom:6px}
footer>a{font-size:10px}
footer>span:last-child{font-size:9px;line-height:1.6}}
/* Shared visual language, with a different composition for each destination. */
:root{--green:#1c4933;--ink:#1a3426;--muted:#5d705f;--line:#d5dece;--light:#edf2e6;--gold:#a8b68c}
body{font-family:'Libre Franklin',Arial,sans-serif}
button,input,select{font-family:inherit}
input,select{border-radius:3px;border-color:#bacbb2}
input:focus,select:focus{border-color:#416747}
.button,.chip{border-radius:3px}
.tools{border-top:2px solid #789269;border-bottom:1px solid #cfdbc5;background:#f0f4eb;padding:18px 20px;gap:14px}
.tools .field label{font-size:10px;letter-spacing:.4px}
.count{font-size:11px;letter-spacing:.2px;margin:20px 0 17px}
.empty{border:1px dashed #aabf9b;background:#f3f5ec;padding:26px;color:#5a7054;line-height:1.7}
.player-card{background:#f5f6ee;border:1px solid #d5dfcc;border-top:3px solid #a1b394;border-radius:3px;padding:22px 18px;transition:background .18s,border-color .18s}
.player-card:hover{background:#eaf1e1;border-color:#91a57d}
.player-card .top{margin-bottom:18px}
.player-card h3{font-size:16px;line-height:1.35}
.player-card .arrow{color:#7d9270;font-size:18px}
.player-card .stat-strip{padding-top:15px;border-top:1px solid #ccd8bf;text-align:center;gap:4px}
.player-card .stat-strip strong{font:700 28px/1 'Barlow Condensed',sans-serif;letter-spacing:-.3px}
.player-card .stat-strip span{font-size:10px;display:block;margin-top:6px;color:#5d7553}
.player-card small{color:#5d7553}
.player-card .current-player-detail{font-size:10px}
.player-card .jersey-mark{background:#254b32;border-bottom-color:#adbf95}
.directory-heading{display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:4px solid #284f34;border-bottom:1px solid #a5b79b;padding:23px 0 27px}
.directory-heading .eyebrow,.editorial-heading .eyebrow{font-size:9px;letter-spacing:1.7px;color:#6e865f}
.directory-heading h1,.editorial-heading h1{font:700 61px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.4px}
.directory-heading p,.editorial-heading p{font-size:13px;color:#62775a;line-height:1.7;margin-top:13px}
.directory-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #aaba9b;outline:1px solid #dce3d2;outline-offset:4px;border-radius:50%;width:96px;height:96px;flex-shrink:0;background:#f0f3e6;transform:rotate(5deg)}
.directory-seal strong{font:700 36px/1 'Barlow Condensed',sans-serif}
.directory-seal span{font-size:8px;letter-spacing:1.4px;margin-top:7px}
.roster-heading{background:#f1f2e6;border-top:5px solid #31573b;border-bottom:1px solid #c6d3b9;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:31px 32px;position:relative;overflow:hidden}
.roster-heading .eyebrow{font-size:9px;letter-spacing:1.8px;color:#647d54}
.roster-heading h1{font:700 69px/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.7px}
.roster-heading p{font-size:12px;line-height:1.8;color:#637655;margin-top:18px}
.roster-year{text-align:center;border-left:2px solid #a3b58c;padding:23px 15px 23px 33px;transform:rotate(-3deg)}
.roster-year>span{font-size:9px;letter-spacing:1.7px;font-weight:700;display:block}
.roster-year strong{display:block;font:700 91px/1.1 'Barlow Condensed',sans-serif;color:#20452d;letter-spacing:-2px}
.roster-year small{font-size:7px;letter-spacing:1.4px}
.games-heading{position:relative;padding:28px 30px;border-left:6px solid #6c8b5a;background:#edf2e7;border-bottom:1px solid #c7d5bc}
.games-heading .eyebrow{font-size:9px;letter-spacing:1.7px;color:#637c54}
.games-heading h1{font:700 65px/.98 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.5px}
.games-heading p{font-size:13px;color:#617556;margin-top:16px;line-height:1.7;max-width:510px}
.games-heading-tag{display:inline-block;background:#264e34;color:#eef3e8;font-size:8px;letter-spacing:1.3px;padding:8px 12px;margin-top:19px;transform:rotate(-2deg)}
body[data-page=games] .game-list{border-top:3px solid #315537}
body[data-page=games] .game-card,body[data-page=season] .game-card{padding:21px 14px;border-bottom:1px solid #d5deca}
body[data-page=games] .game-card:nth-child(even),body[data-page=season] .game-card:nth-child(even){background:#f1f4e9}
.game-card .score{font-family:'Barlow Condensed',sans-serif;font-weight:700}
.game-card:hover{background:#e9f0df}
.game-card .game-body small{color:#62755a}
.game-card .badge{border-radius:2px;background:#e0ead5;color:#315637}
.game-card .badge.loss{background:#f4e9dd;color:#8d5542}
body[data-page=roster] .chips{margin-top:19px;gap:9px}
body[data-page=roster] .chip{background:white;border:0;border-bottom:2px solid #9bb18a;padding:10px 0;margin-right:20px;font-size:12px}
body[data-page=roster] .player-grid{margin-top:25px}
body[data-page=roster] .player-card>.quiet{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#647d54}
body[data-page=roster] .player-card .stat-strip{margin-top:10px}
.editorial-heading{border-top:4px solid #284f34;padding:25px 0 28px;border-bottom:1px solid #abbc9f}
.editorial-heading h1{font-size:55px}
.about-grid{gap:23px;margin-top:28px}
.about-grid .card{background:#f3f5eb;border:1px solid #d4dfc9;border-top:3px solid #879f75;border-radius:2px;padding:25px}
.about-grid h2,body[data-page=about] .section>h2{font:700 28px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.2px}
.about-grid p{font-size:13px;line-height:1.85;color:#536c4e;margin-top:15px}
body[data-page=about] .stack .card{background:#f4f6ee;border:1px solid #d6dfcd;border-radius:3px;padding:16px 19px}
body[data-page=about] .stack summary{font-size:13px;min-height:30px;cursor:pointer}
body[data-page=about] .stack p{line-height:1.7;overflow-wrap:anywhere}
body[data-page=about] .intro{font-size:13px;line-height:1.8}
.section-head h2{font-family:'Barlow Condensed',Arial,sans-serif;font-size:27px;text-transform:uppercase;letter-spacing:.1px}
.match-card{border-color:#cddbc3;border-radius:3px}
.match-meta{background:#f0f4e9;border-bottom-color:#d7e2cc}
.match-numbers{background:#f1f5ea}
.match-actions{border-top-color:#d6e0cb}
.match-actions a{color:#2a5133}
.match-result{color:#2c603b}
.stat-story{background:#eef3e6;border-left-color:#93aa7b}
.note{border-left-color:#8fa67a;background:#f0f3e9;color:#586e51}
.season-breakdown summary,.player-source-note summary{cursor:pointer}
.season-breakdown summary:hover,.player-source-note summary:hover{color:#527440}
@media(max-width:650px){.directory-heading{padding:20px 0 23px;gap:18px}
.directory-heading h1{font-size:42px}
.directory-heading .eyebrow,.editorial-heading .eyebrow{font-size:8px;letter-spacing:1px}
.directory-heading p{font-size:11px;margin-top:10px;max-width:210px}
.directory-seal{width:66px;height:66px;margin-right:5px}
.directory-seal strong{font-size:29px}
.directory-seal span{font-size:6px;letter-spacing:1px;margin-top:4px}
.roster-heading{padding:24px 20px;gap:20px}
.roster-heading .eyebrow{font-size:7px;letter-spacing:1px}
.roster-heading h1{font-size:48px}
.roster-heading p{font-size:11px;line-height:1.7;margin-top:16px}
.roster-year{padding:15px 0 15px 14px}
.roster-year>span{font-size:6px;letter-spacing:.6px;white-space:nowrap}
.roster-year strong{font-size:53px;letter-spacing:-1px}
.roster-year small{font-size:5px;letter-spacing:.6px;white-space:nowrap}
.games-heading{padding:23px 18px;border-left-width:4px}
.games-heading h1{font-size:47px}
.games-heading .eyebrow{font-size:8px;letter-spacing:1px}
.games-heading p{font-size:12px;margin-top:12px}
.games-heading-tag{font-size:7px;margin-top:15px}
.tools{padding:15px 13px;gap:12px}
.tools .field label{font-size:10px}
.tools input,.tools select{font-size:16px}
.tools .field{min-width:120px}
body[data-page=players] .tools .search,body[data-page=games] .tools .search{flex-basis:100%}
body[data-page=games] .tools .field:last-child{flex-basis:100%}
.player-card{padding:20px 14px}
.player-card h3{font-size:16px}
.player-card .stat-strip strong{font-size:27px}
.player-card .stat-strip span{font-size:10px}
.player-card .top{gap:11px}
.player-card small{font-size:11px}
.count{font-size:10px;line-height:1.7}
.game-card .game-body h3{font-size:15px}
.game-card .game-body small{font-size:10px}
body[data-page=games] .game-card,body[data-page=season] .game-card{padding:19px 4px}
.editorial-heading h1{font-size:40px}
.editorial-heading p{font-size:12px}
.about-grid{grid-template-columns:1fr;gap:16px}
.about-grid .card{padding:23px 18px}
.about-grid h2{font-size:26px}
.about-grid p{font-size:12px}
.section-head h2{font-size:25px}
body[data-page=roster] .chip{font-size:11px;margin-right:10px}
.player-card .current-player-detail{font-size:10px}
}
@media(max-width:360px){.directory-heading h1{font-size:37px}
.directory-seal{width:56px;height:56px}
.directory-seal strong{font-size:25px}
.roster-heading{padding:23px 15px;gap:12px}
.roster-heading h1{font-size:42px}
.roster-heading p{font-size:10px}
.roster-year strong{font-size:45px}
.roster-year{padding-left:10px}
.roster-year>span{font-size:5px}
.roster-year small{font-size:4px}
.games-heading h1{font-size:42px}
.player-card{padding:18px 12px}
.player-card h3{font-size:14px}
.player-card .stat-strip strong{font-size:24px}
.player-card .stat-strip span{font-size:9px}
.player-card small{font-size:10px}
.player-card .top{gap:9px}
.game-card .game-body h3{font-size:13px}
.editorial-heading h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.player-card{transition:none}}
/* One compact header system for every destination except Home. */
.directory-heading,.roster-heading,.games-heading,.editorial-heading,.archive-poster,.result-heading{background:#f0f3e8;color:#1a3d29;border:0;border-top:4px solid #31563b;border-bottom:1px solid #bdcdb1;padding:27px 28px;margin:0;min-height:185px;box-shadow:none;position:relative}
.directory-heading,.roster-heading,.archive-poster{display:flex;align-items:center;justify-content:space-between;gap:28px}
.directory-heading h1,.roster-heading h1,.games-heading h1,.editorial-heading h1,.archive-poster h1,.result-heading h1{font:700 55px/1.02 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:-.4px;color:#1a3d29;margin:0;text-shadow:none}
.directory-heading .eyebrow,.roster-heading .eyebrow,.games-heading .eyebrow,.editorial-heading .eyebrow,.archive-poster .eyebrow{font-size:9px;letter-spacing:1.5px;color:#627c53;margin-bottom:13px}
.directory-heading p,.roster-heading p,.games-heading p,.editorial-heading p,.archive-poster p,.result-heading .report-date{font-size:12px;line-height:1.8;color:#5b7351;margin:14px 0 0;max-width:590px}
.directory-seal,.archive-stamp{width:90px;height:90px;outline:0;transform:none;background:#e6eddc;border:1px solid #9eb38c;color:#24472d}
.archive-stamp strong{font-size:51px}
.archive-stamp small{font-size:8px;letter-spacing:1px}
.roster-year{transform:none;padding:15px 0 15px 22px;flex-shrink:0}
.roster-year strong{font-size:68px}
.roster-year small{display:none}
.roster-year>span{font-size:7px;letter-spacing:1px}
.season-record-stamp{width:110px}
.season-record-stamp strong{font-size:42px}
.season-record-stamp small{font-size:7px;letter-spacing:0}
.games-heading-tag{transform:none;margin-top:15px;background:transparent;border-top:1px solid #b8caac;color:#557147;padding:10px 0 0;font-size:8px;letter-spacing:1px}
.result-heading{margin-bottom:24px}
.result-heading .match-dateline{border:0;padding:0;margin:0 0 15px;font-size:8px;letter-spacing:1px;color:#627c53}
.result-heading .report-title>span{display:none}
.result-heading h1{font-size:51px}
.record-controls{border-top:2px solid #789269}
@media(max-width:650px){.directory-heading,.roster-heading,.games-heading,.editorial-heading,.archive-poster,.result-heading{padding:23px 19px;min-height:167px;gap:17px}
.directory-heading h1,.roster-heading h1,.games-heading h1,.editorial-heading h1,.archive-poster h1,.result-heading h1{font-size:39px;line-height:1.05;letter-spacing:-.2px}
.directory-heading .eyebrow,.roster-heading .eyebrow,.games-heading .eyebrow,.editorial-heading .eyebrow,.archive-poster .eyebrow{font-size:7px;letter-spacing:.8px;margin-bottom:12px}
.directory-heading p,.roster-heading p,.games-heading p,.editorial-heading p,.archive-poster p,.result-heading .report-date{font-size:11px;line-height:1.7;margin-top:12px}
.directory-seal,.archive-stamp{width:65px;height:72px;margin:0}
.directory-seal strong{font-size:29px}
.archive-stamp strong{font-size:39px}
.archive-stamp small{font-size:6px}
.directory-seal span{font-size:6px}
.roster-year{padding-left:12px}
.roster-year strong{font-size:46px}
.roster-year>span{font-size:5px;letter-spacing:.4px}
.season-record-stamp{width:73px}
.season-record-stamp strong{font-size:31px}
.season-record-stamp small{font-size:5px}
.result-heading .match-dateline{font-size:7px;gap:8px;letter-spacing:.5px}
.result-heading{margin-bottom:20px}}
@media(max-width:360px){.directory-heading,.roster-heading,.games-heading,.editorial-heading,.archive-poster,.result-heading{padding-left:15px;padding-right:15px;gap:12px}
.directory-heading h1,.roster-heading h1,.games-heading h1,.editorial-heading h1,.archive-poster h1,.result-heading h1{font-size:34px}
.directory-seal,.archive-stamp{width:55px;height:65px}
.archive-stamp strong{font-size:34px}
.roster-year strong{font-size:39px}
.roster-year{padding-left:9px}
.season-record-stamp{width:63px}
.season-record-stamp strong{font-size:28px}}
/* Explore documented bests and move through the archive. */
.personal-bests{border-top:2px solid #79916a;border-bottom:1px solid #c8d7bc;margin:22px 0 25px;padding:5px 0 18px}
.personal-bests>summary{cursor:pointer;min-height:50px;display:flex;align-items:center;gap:12px;font:700 25px 'Barlow Condensed',sans-serif;text-transform:uppercase;list-style:none}
.personal-bests>summary:after{content:'+';font:400 23px Arial;margin-left:auto}
.personal-bests[open]>summary:after{content:'−'}
.personal-bests>summary>span{font:500 10px 'Libre Franklin',sans-serif;text-transform:none;color:#657c59}
.best-intro{font-size:11px;line-height:1.7;color:#657b59;margin-bottom:15px}
.best-grid,.season-leader-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.best-card{background:#f0f4e9;border:1px solid #d0ddc4;padding:16px 12px}
.best-stat{display:flex;flex-direction:column;gap:9px;border-bottom:1px solid #ccd9c0;padding-bottom:13px;margin-bottom:10px}
.best-stat>span,.season-leader-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#627953;font-weight:700}
.best-stat strong{font:700 39px/1 'Barlow Condensed',sans-serif}
.best-card a{display:block;text-decoration:none;padding:7px 0;min-height:44px}
.best-card a:hover b{text-decoration:underline}
.best-card a b{font-size:11px;line-height:1.4;display:block}
.best-card a small{font-size:9px;display:flex;justify-content:space-between;line-height:1.6;margin-top:5px;color:#657d59}
.best-ties{border-top:1px solid #c7d6ba;margin-top:10px}
.best-ties summary{min-height:42px;cursor:pointer;font-size:9px;align-content:center;color:#45663a}
.best-ties a{border-top:1px solid #d8e2cd}
.season-browser{display:grid;grid-template-columns:1fr minmax(160px,220px) 1fr;gap:18px;align-items:end;margin:0 0 20px}
.season-browser>a{display:flex;align-items:center;min-height:46px;text-decoration:none;font-weight:700;font-size:13px}
.season-browser>a:last-child{justify-content:flex-end}
.season-browser label{font-size:10px}
.season-browser .field{min-width:0}
.season-browser select{min-height:46px}
.season-jumps{display:flex;gap:12px;border-bottom:1px solid #c7d5bc;padding:12px 0}
.season-jumps button{background:transparent;border:0;color:#2b5234;border-bottom:2px solid #a5b994;min-height:44px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer}
.season-jumps button:hover{background:#edf3e4}
.coverage-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:22px 0;border:1px solid #cedbc2;background:#fff}
.coverage-panel>div{padding:18px;text-align:center}
.coverage-panel>div+div{border-left:1px solid #d9e2d0}
.coverage-panel>div>span{font-size:8px;letter-spacing:.6px;color:#6b805f;display:block}
.coverage-panel strong{font:700 35px/1 'Barlow Condensed',sans-serif;display:block;margin-top:11px}
.coverage-panel>p{grid-column:1/-1;font-size:11px;line-height:1.8;color:#607656;background:#f3f6ec;border-top:1px solid #d3dfc8;padding:12px 16px}
.coverage-panel a{color:#2c5737;font-weight:600}
.season-leader-card{border-top:3px solid #92aa7c;background:#f1f4e8;padding:18px 14px}
.season-leader-card>strong{display:block;font:700 38px/1 'Barlow Condensed',sans-serif;margin:15px 0}
.season-leader-card>a{display:block;font-size:11px;font-weight:600;line-height:1.5;min-height:44px;padding:8px 0;text-decoration:none;border-top:1px solid #cedbc1}
.season-leader-card>a:hover{text-decoration:underline}
.season-leader-card>small{display:block;font-size:10px;color:#607b54;margin-top:10px}
#season-roster,#season-leaders,#season-matches{scroll-margin-top:85px}
@media(max-width:800px){.best-grid,.season-leader-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.best-grid,.season-leader-grid{grid-template-columns:1fr 1fr;gap:10px}
.personal-bests>summary{font-size:23px;gap:8px}
.personal-bests>summary>span{font-size:9px}
.best-card{padding:15px 12px}
.best-stat strong{font-size:35px}
.best-card a b{font-size:11px}
.best-card a small{font-size:9px}
.best-ties summary{font-size:10px}
.season-browser{grid-template-columns:1fr minmax(120px,155px) 1fr;gap:10px}
.season-browser>a{font-size:12px}
.season-browser select{font-size:16px;padding:10px}
.season-jumps{gap:9px;justify-content:space-between}
.season-jumps button{font-size:11px;padding:9px 12px;flex:1}
.coverage-panel>div{padding:16px 5px}
.coverage-panel>div>span{font-size:7px;letter-spacing:0;line-height:1.6}
.coverage-panel strong{font-size:31px}
.coverage-panel>p{font-size:10px;padding:12px}
.season-leader-card{padding:17px 12px}
.season-leader-card>strong{font-size:34px}
.season-leader-card>a{font-size:11px}
.best-intro{font-size:10px}}
@media(max-width:360px){.personal-bests>summary{font-size:20px}
.personal-bests>summary>span{font-size:8px}
.season-browser{gap:7px;grid-template-columns:1fr 130px 1fr}
.season-browser>a{font-size:10px}
.best-card{padding:13px 10px}
.best-stat>span{font-size:9px}
.coverage-panel>div>span{font-size:6px}
.season-jumps button{padding:9px 7px}}
/* Private-on-device review desk for source ambiguities. */
.review-page{max-width:960px;margin:auto}
.review-overview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #c9d8be}
.review-overview p{font-size:12px;color:#5b7350}
.review-overview strong{font:700 30px 'Barlow Condensed',sans-serif;color:#254d32;margin-right:7px}
.review-explanation{font-size:12px;line-height:1.9;color:#5b7053;padding:20px 0}
.review-filter{display:flex;gap:16px;background:#f0f4e8;padding:15px}
.review-filter label,.review-form>label,.review-player-row>label{display:block;font-size:11px;font-weight:600;color:#536e47}
.review-filter label{flex:1}
.review-filter select,.review-form select{display:block;margin-top:6px}
.review-queue{display:grid;gap:13px}
.review-entry{border:1px solid #cbd9c0;border-top:3px solid #94ab80;background:#fff}
.review-entry[hidden],.review-correction[hidden]{display:none}
.review-entry>summary{display:flex;gap:14px;align-items:center;cursor:pointer;padding:17px;list-style:none;min-height:76px;background:#f2f5eb}
.review-entry-number{font:700 24px 'Barlow Condensed',sans-serif;color:#8aa176}
.review-entry>summary>span:nth-child(2){flex:1;min-width:0}
.review-entry summary strong{font-size:14px;line-height:1.5;display:block}
.review-entry summary small{font-size:10px;line-height:1.6;color:#677f5c;display:block;margin-top:4px}
.review-status{font-size:9px;background:#e5ecd9;padding:7px 9px;white-space:nowrap}
.review-entry[data-status=correction] .review-status{background:#d6e8d3;color:#285936}
.review-entry-body{padding:21px}
.review-reason{font-size:12px;line-height:1.8;border-left:3px solid #a5b58c;padding-left:13px;color:#5c7052}
.review-source-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.review-source-actions a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:700}
.review-entry h3{font-size:13px;margin:20px 0 10px}
.review-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,Consolas,monospace;background:#f0f3e9;padding:15px;border:1px solid #d2ddc8;margin-bottom:20px}
.review-form>label{margin:16px 0}
.review-form textarea{display:block;width:100%;resize:vertical;border:1px solid #bdcdb0;border-radius:3px;background:white;font:13px/1.7 'Libre Franklin',sans-serif;color:#2f4f34;padding:12px;margin-top:7px}
.review-correction>p{font-size:11px;line-height:1.8;color:#5b7350;margin:18px 0}
.review-player-row{padding:16px;border:1px solid #c5d5b6;margin:12px 0;background:#f4f7ee}
.review-player-row input{margin-top:6px}
.review-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:13px}
.review-values label{font-size:10px;color:#56704b}
.review-values input{padding:10px 8px;min-width:0;font-size:15px}
.review-remove{border:0;border-bottom:1px solid #8b9e7b;background:transparent;padding:10px 0;color:#62754f;font-size:10px;min-height:44px;cursor:pointer}
.review-save{background:#244e33;color:#fff;border-color:#244e33}
.review-save-message{font-size:11px;line-height:1.7;color:#39613b;margin-top:12px}
.review-open{margin:17px 0}
.review-add{font-size:11px}
.review-page .button{font-size:12px}
footer{grid-template-columns:1.4fr 1fr 1fr 1fr}
@media(max-width:600px){.review-overview{align-items:start;gap:12px}
.review-overview p{font-size:10px}
.review-overview strong{display:block;font-size:28px}
.review-page .button{font-size:10px;padding:10px 12px}
.review-explanation{font-size:11px}
.review-filter{padding:12px;gap:10px}
.review-filter select{font-size:14px;padding:11px 8px}
.review-entry>summary{gap:10px;padding:14px 11px;flex-wrap:wrap}
.review-entry summary strong{font-size:13px}
.review-entry-number{font-size:23px}
.review-status{font-size:8px}
.review-entry-body{padding:16px 12px}
.review-source-actions{gap:6px 16px}
.review-source-actions a{font-size:11px}
.review-entry pre{font-size:11px;padding:12px}
.review-form textarea{font-size:16px}
.review-player-row{padding:12px 9px}
.review-player-row input{font-size:16px}
.review-values{gap:5px}
.review-values input{padding:10px 5px}
.review-values label{font-size:9px}
.review-reason{font-size:11px}
footer{grid-template-columns:1fr 1fr}
footer>span:first-child{grid-column:1/-1}}
@media(max-width:360px){.review-status{margin-left:32px}
.review-values label{font-size:8px}
.review-entry summary strong{font-size:12px}}
/* Team hub: schedule and social navigation */
nav{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:650px){nav{display:flex;overflow-x:auto;justify-content:space-between;scrollbar-width:thin}
nav a{flex:0 0 auto;padding:12px 10px;min-width:52px}
}
@media(max-width:360px){
nav a{padding:12px 9px}}
@media(max-width:650px){nav{scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
nav.more-left{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px);mask-image:linear-gradient(90deg,transparent,#000 44px)}
nav.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent)}}
