@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#f3f5f4;--surface:#fff;--ink:#192124;--muted:#66716d;--line:#dfe5e1;--header:#1b2423;--hero:#202d29;--accent:#b5f35b;--accent-ink:#1b2c10;--link:#38651a;--radius:12px;--heading:'Barlow Condensed',sans-serif;--shadow:0 3px 14px #18301b04}
[data-theme="sports-network"]{--bg:#f1f4f8;--header:#0d203c;--hero:#142c50;--accent:#ff5c65;--accent-ink:#270308;--link:#b52338;--line:#dce2eb;--radius:4px;--muted:#5d697c;--heading:'Inter',sans-serif}
[data-theme="the-local"]{--bg:#f5f1e8;--surface:#fffdf7;--header:#173d32;--hero:#214c3f;--accent:#efc18b;--accent-ink:#342311;--link:#79512c;--line:#e6ddcd;--ink:#243b30;--muted:#706f60;--radius:16px;--heading:Georgia,serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,select{cursor:pointer}a,button,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--link);outline-offset:4px}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.header{background:var(--header);color:#fff;border-bottom:1px solid #ffffff15}.topbar{display:flex;align-items:center;gap:28px;min-height:82px}.brand{display:flex;align-items:center;gap:6px;color:inherit;font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;letter-spacing:.6px;white-space:nowrap}.brand em{color:var(--accent);font-style:normal}.brand-icon{color:var(--accent);font-size:42px;margin-right:8px}.edition{font-size:10px;letter-spacing:2.5px;color:#bbc7c0;border-left:1px solid #ffffff25;padding-left:26px}.theme-label{margin-left:auto;font-size:11px;display:flex;align-items:center;gap:10px;color:#cbd2ce}.theme-label select{background:#ffffff0c;border:1px solid #ffffff40;color:white;border-radius:5px;padding:10px;min-height:44px}.theme-label option{background:#24312c}.hero{background:var(--hero);color:#fff;overflow:hidden}.hero-inner{position:relative;padding:40px 0 36px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#c0cec5;font-weight:600;margin:0 0 14px}h1{font-family:var(--heading);font-size:clamp(32px,4.5vw,54px);line-height:1.1;margin:0;letter-spacing:-.7px;position:relative;z-index:1}.season{color:var(--accent);font-weight:700;font-size:20px;margin:9px 0}.league-details{color:#c8d3cc;font-size:13px;margin:0}.board{position:absolute;right:6px;top:-85px;width:360px;height:360px;border:1px solid #b5f35b30;border-radius:50%;background:repeating-conic-gradient(from 9deg,transparent 0deg 17.7deg,#ffffff15 17.7deg 18deg);opacity:.65;pointer-events:none;box-shadow:0 0 0 30px #ffffff04,0 0 0 31px #ffffff10}.board:before,.board:after{content:'';position:absolute;inset:45px;border:12px double #ffffff18;border-radius:50%}.board:after{inset:104px;border:9px double #ffffff28}.bull{position:absolute;inset:165px;background:var(--accent);border-radius:50%;opacity:.6}.tabs{background:var(--surface);border-bottom:1px solid var(--line)}.tab-inner{display:flex;gap:32px;overflow-x:auto}.tabs a{padding:20px 0 17px;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:600;border-bottom:3px solid transparent}.tabs a[aria-current="page"]{border-color:var(--link);color:var(--ink)}.notice{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px;margin:22px 0}.status-dot{width:6px;height:6px;background:var(--link);border-radius:50%;flex-shrink:0}.dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}h2,h3{font-family:var(--heading);line-height:1.2}h2{font-size:27px;margin:0}h3{font-size:22px;margin:0}.card-head a{font-size:11px;font-weight:600}.result{display:grid;grid-template-columns:1fr 76px 1fr;gap:15px;align-items:center;padding:15px 0;border-top:1px solid var(--line);font-weight:600;font-size:13px}.result time{grid-column:1/-1;font-size:10px;color:var(--muted);font-weight:400;margin-bottom:-8px}.score{background:var(--bg);text-align:center;padding:7px 4px;border-radius:5px;font-size:18px;white-space:nowrap}.result .away{text-align:right}.night{background:var(--hero);color:white;border-color:transparent;display:flex;flex-direction:column;justify-content:center}.night .eyebrow{color:var(--accent)}.night h2{font-size:36px}.night p{color:#c8d3cc}.button{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:12px 18px;border-radius:5px;font-size:13px;font-weight:700;align-self:flex-start;border:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;background:var(--bg)}td,th{padding:13px 11px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border:0}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}.team-name{font-weight:600}.sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.rank{width:32px;color:var(--muted)}.news a{font-weight:600;color:var(--ink);font-size:14px}.news time{display:block;font-size:11px;color:var(--muted);margin-top:9px}.news p{font-size:12px;color:var(--muted);line-height:1.7}.highlights{grid-column:1/-1}.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.highlight{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid var(--line);border-radius:7px}.avatar{width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;background:var(--bg);color:var(--link);font-weight:700;border-radius:50%}.game{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.player-name{font-size:13px;font-weight:700}.metric{font-size:18px;font-weight:700}.metric small{font-size:11px;font-weight:400;color:var(--muted)}.section-note{font-size:12px;color:var(--muted);margin:12px 0 20px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}input, .filters select{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:11px 13px;color:var(--ink);min-height:44px}input{width:260px;max-width:100%}.empty{padding:25px;color:var(--muted)}.footer{display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:42px;padding:26px 0;color:var(--muted);font-size:11px}.footer-brand{font-size:18px;color:var(--ink)}.footer-brand em{color:var(--link)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.stack{display:grid;gap:22px}
@media(min-width:761px){.hero-inner>div:first-child{max-width:75%}.hero-inner>.board{z-index:0}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}.topbar{min-height:76px;gap:10px;flex-wrap:wrap;padding:12px 0}.brand{font-size:23px}.brand-icon{font-size:30px}.edition{display:none}.theme-label{font-size:0}.theme-label select{font-size:11px;max-width:140px}.hero-inner{padding:28px 0}.hero-inner>div:first-child{position:relative;z-index:1}.board{right:-180px;opacity:.3}.tab-inner{gap:24px}.tabs a{font-size:12px;padding:16px 0}.dashboard{grid-template-columns:1fr;gap:16px}.card{padding:18px}.highlight-grid{grid-template-columns:1fr}.highlights{grid-column:auto}.night h2{font-size:30px}.footer{flex-wrap:wrap;gap:14px}.footer>span:last-child{margin-left:auto}.notice{font-size:10px;align-items:flex-start}.result{gap:10px;font-size:12px}.filters input{width:100%}.filters label{flex:1;min-width:130px}h2{font-size:25px}td,th{padding:12px 9px}.wide-table{min-width:620px}}
@media(prefers-reduced-motion:no-preference){body,.header,.hero,.card{transition:background-color .2s,color .2s}}

/* Official MyDartLeague identity; alternate themes retain the same logo. */
[data-theme="mydartleague"]{--bg:#f5f5f5;--surface:#fff;--ink:#222;--muted:#626262;--line:#e2e2e2;--header:#fff;--hero:#222;--accent:#ef4b4f;--accent-ink:#fff;--link:#b9232a;--radius:8px;--heading:'Barlow Condensed',sans-serif}
.official-logo{display:block;width:230px;height:auto;max-width:100%;object-fit:contain;background:#fff;border-radius:3px;padding:5px 7px}
.footer-brand .official-logo{width:180px}
[data-theme="mydartleague"] .topbar{color:#222}
[data-theme="mydartleague"] .edition{color:#666;border-color:#ddd}
[data-theme="mydartleague"] .theme-label{color:#555}
[data-theme="mydartleague"] .theme-label select{color:#222;background:#fff;border-color:#ccc}
[data-theme="mydartleague"] .theme-label option{background:#fff}
[data-theme="mydartleague"] .season,[data-theme="mydartleague"] .night .eyebrow{color:#ff7277}
[data-theme="mydartleague"] .button{background:#bb222a;color:#fff}
[data-theme="mydartleague"] .board{border-color:#ef4b4f50}
@media(max-width:760px){.official-logo{width:190px}.theme-label select{max-width:130px}.topbar{justify-content:space-between}.footer-brand .official-logo{width:160px}}

/* Blend the original logo's white canvas into the light footer surface. */
.footer-brand .official-logo{background:transparent;padding:0;border-radius:0;mix-blend-mode:multiply}

/* League directory shares the dashboard's theme tokens. */
.directory-intro{color:#d1d1d1;max-width:550px;font-size:16px;margin:18px 0 26px}.directory-summary{display:flex;gap:28px;color:#ccc;font-size:12px}.directory-summary strong{color:#fff;font-size:20px;margin-right:5px}.directory-filters .filters{margin:0;align-items:end}.directory-filters .league-search{flex:1}.league-search input{width:100%;min-width:200px}.reset{border:0;background:transparent;color:var(--link);padding:12px 4px;font-size:12px;min-height:44px}.directory-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.directory-heading p{font-size:12px;color:var(--muted)}#league-list{display:grid;gap:14px}.league-row{display:flex;gap:24px;align-items:center;padding:24px}.day-badge{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:70px;min-height:72px;display:flex;flex-direction:column;justify-content:center;text-align:center;font:700 22px var(--heading);color:var(--link);flex-shrink:0}.day-badge span{font:500 9px Inter,sans-serif;letter-spacing:1px;margin-top:7px;color:var(--muted)}.league-info{flex:1}.league-tags{display:flex;gap:14px;font-size:10px;color:var(--muted);margin-bottom:7px}.league-info h3{font-size:27px}.league-info h3 a{color:var(--ink)}.league-info p{font-size:12px;color:var(--muted);margin:8px 0 0}.destination-label{font-size:10px}.league-actions{text-align:center;min-width:210px}.league-actions .button{min-width:180px}.quick-links{display:flex;gap:20px;justify-content:center;margin-top:12px;font-size:11px;font-weight:600}.updates{margin-top:32px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:25px}.updates .eyebrow{color:var(--link);font-size:9px;margin-bottom:10px}.updates p:last-child{color:var(--muted);font-size:12px}.updates .button{align-self:center}
@media(max-width:760px){.directory-summary{gap:16px;flex-wrap:wrap}.directory-summary strong{font-size:17px}.directory-filters .league-search{flex-basis:100%}.league-row{flex-wrap:wrap;gap:15px;padding:18px}.league-info{min-width:180px}.league-info h3{font-size:24px}.league-tags{gap:8px;flex-wrap:wrap}.day-badge{width:54px;min-height:64px}.league-actions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:16px}.league-actions .button{min-width:0;padding:10px 12px;font-size:11px}.quick-links{margin:0;gap:13px;font-size:10px}.updates{flex-direction:column;align-items:flex-start;padding:22px}.updates .button{align-self:flex-start}.destination-label{display:block;margin-top:4px}.directory-intro{font-size:14px}.directory-filters select{width:100%}}

/* Decorative bull-and-bullseye motif inspired by the official brand mark. */
.brand-hero-mark{position:absolute;width:390px;height:310px;right:0;top:50%;transform:translateY(-50%);pointer-events:none}
.brand-hero-mark svg{width:100%;height:100%;overflow:visible}
.horn-silhouette{fill:#ffffff14;stroke:#ffffff12;stroke-width:1}
.mark-ring{fill:none;stroke:#ffffff40;stroke-width:17}
.mark-center{fill:var(--accent);opacity:.7}
.hero-inner>div:first-child{position:relative;z-index:1}
@media(max-width:760px){.brand-hero-mark{width:290px;height:250px;right:-120px;opacity:.35}.hero-inner>.brand-hero-mark{z-index:0}}

/* Horns and outer bullseye ring form one continuous silhouette. */
.horn-silhouette{fill:#ffffff28;stroke:none}
.mark-ring{stroke:#ffffff65;stroke-width:12}

/* Homepage */
.home-nav{display:flex;gap:26px;margin-left:auto;align-items:center;font-size:12px;font-weight:600}.home-nav a{color:inherit}.home-hero .hero-inner{padding:68px 0 64px}.home-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.03;letter-spacing:-1px}.home-hero h1 span{color:#ff7277}.home-hero .brand-hero-mark{width:460px;height:360px;right:-55px;opacity:.75}.home-lead{max-width:540px;font-size:16px;line-height:1.8;color:#d2d2d2;margin:25px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.outline-button{border:1px solid #ffffff70;color:#fff;padding:11px 17px;border-radius:5px;font-size:12px;font-weight:600}.player-shortcut{display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);padding:28px 30px;margin-top:26px;border-radius:var(--radius)}.player-shortcut h2{font-size:25px;margin-top:5px}.player-shortcut>a{border-left:1px solid var(--line);padding:10px 20px;font-size:13px;font-weight:600;display:flex;justify-content:space-between}.home-section{padding-top:76px;padding-bottom:70px}.home-section .eyebrow,.home-contact .eyebrow{color:var(--link)}.home-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:40px}.home-section h2,.home-showcase h2,.home-contact h2{font-size:clamp(32px,3.5vw,46px);letter-spacing:-.4px}.home-section-heading>p{color:var(--muted);font-size:15px;line-height:1.9;margin:0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.benefit-grid article{padding:25px 0;border-top:2px solid var(--line)}.feature-number{font-size:10px;letter-spacing:1.5px;color:var(--link);font-weight:600}.benefit-grid h3{font-size:27px;margin:17px 0 13px}.benefit-grid p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.home-showcase{background:var(--hero);color:#fff;padding:60px 0}.showcase-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:75px;align-items:center}.showcase-inner>div>p:not(.eyebrow){color:#ccc;font-size:14px;line-height:1.9;max-width:400px}.showcase-inner .button{margin-top:15px}.score-preview{background:var(--surface);color:var(--ink);padding:28px;border-radius:var(--radius);box-shadow:0 20px 40px #0002}.preview-top{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.score-preview h3{font-size:27px;margin:20px 0 8px}.demo-match{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.demo-match>span:last-child{text-align:right}.demo-match strong{font-size:24px;text-align:center}.demo-match small{font-size:16px;color:var(--muted)}.preview-highlight{background:var(--bg);padding:16px;margin-top:20px;border-left:3px solid var(--link)}.preview-highlight strong{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:7px}.preview-highlight em{font-style:normal;color:var(--link)}.showcase-inner .score-preview .preview-caption{color:var(--muted);font-size:10px;margin:18px 0 0}.home-details{display:grid;grid-template-columns:1fr 1fr;gap:85px}.home-details>div>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:450px}.text-link{font-size:12px;font-weight:600}.detail-list article{border-bottom:1px solid var(--line);padding:20px 0}.detail-list article:first-child{padding-top:0}.detail-list h3{font-size:25px}.detail-list p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.home-contact{border-top:3px solid var(--link);background:var(--surface);padding:38px;display:flex;justify-content:space-between;align-items:center;gap:35px}.home-contact p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:440px;line-height:1.8}.home-contact>div:last-child{display:flex;flex-direction:column;gap:17px;align-items:center;flex-shrink:0}.phone{font-size:12px;color:var(--ink)}.home-prototype-note{font-size:10px;color:var(--muted);margin-top:25px}
@media(max-width:760px){.home-nav{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:12px;gap:25px}.home-hero .hero-inner{padding:40px 0}.home-hero .hero-inner>div:first-child{max-width:100%}.home-hero .brand-hero-mark{right:-190px;width:360px;opacity:.22}.home-lead{font-size:14px;max-width:90%}.player-shortcut{grid-template-columns:1fr;padding:22px;gap:8px}.player-shortcut>a{border-left:0;border-top:1px solid var(--line);padding:14px 0}.home-section{padding-top:45px;padding-bottom:40px}.home-section-heading,.showcase-inner,.home-details{grid-template-columns:1fr;gap:25px}.benefit-grid{grid-template-columns:1fr;gap:8px}.benefit-grid article{padding:20px 0}.home-section-heading{margin-bottom:25px}.home-showcase{padding:40px 0}.score-preview{padding:20px}.preview-top{font-size:8px}.home-contact{flex-direction:column;align-items:flex-start;padding:25px}.home-contact>div:last-child{align-items:flex-start}.hero-actions{gap:12px}.hero-actions .button,.outline-button{font-size:12px}.preview-highlight strong{flex-wrap:wrap}}

/* Full league statistics: shared filters, every original column. */
.stat-games{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.stat-games button{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:left;font-family:var(--heading);font-size:28px;color:var(--ink)}.stat-games button small{display:block;font:11px Inter,system-ui,sans-serif;margin-top:6px}.stat-games button[aria-pressed="true"]{background:var(--hero);color:#fff;border-bottom:4px solid var(--accent)}.stats-section{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.stats-section .card-head{margin-bottom:12px}.stats-scroll table{white-space:nowrap}.stats-scroll th button{border:0;background:none;color:inherit;font:inherit;text-transform:inherit;padding:8px 0}.stats-scroll td:first-child{font-weight:600}.stats-scroll td:first-child,.stats-scroll th:first-child{position:sticky;left:0;background:var(--surface);z-index:1}.stats-scroll th:first-child{background:var(--bg)}.stats-panel .filters{align-items:end}.stats-scroll:focus-visible{outline-offset:2px}
@media(max-width:760px){.stat-games{grid-template-columns:repeat(2,1fr);gap:8px}.stat-games button{padding:14px;font-size:25px}.stats-section .card-head{align-items:flex-start;flex-direction:column;gap:0}.stats-scroll td:first-child{max-width:150px;white-space:normal}.stats-panel{padding:16px}}

.profile-summary{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 24px;padding:26px 10px}.profile-metric{padding:0 20px;display:flex;flex-direction:column;gap:7px}.profile-summary .profile-metric+.profile-metric{border-left:1px solid var(--line)}.profile-metric strong{font-family:var(--heading);font-size:32px;line-height:1.15}.profile-metric span{font-size:11px;color:var(--muted)}.profile-mini{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0}.profile-mini .profile-metric{padding:0 10px}.profile-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:25px 0 35px;font-size:14px}.profile-match>strong:last-child{text-align:right}.profile-match>span{font-family:var(--heading);font-size:38px;color:var(--link)}
@media(max-width:760px){.profile-summary{grid-template-columns:1fr 1fr;gap:24px;padding:22px 4px}.profile-summary .profile-metric:nth-child(3){border-left:0}.profile-metric{padding:0 14px}.profile-metric strong{font-size:28px}.profile-match{gap:12px;font-size:12px}}

.playoff-card{grid-column:1/-1;margin-top:24px}.dashboard>.playoff-card{margin-top:0}.bracket-status{font-size:11px;background:var(--bg);border:1px solid var(--line);padding:8px 12px;border-radius:20px;white-space:nowrap}.bracket-scroll{overflow-x:auto;padding:10px 0 20px}.bracket-grid{display:flex;gap:30px;min-width:770px}.bracket-round{min-width:260px;flex:1;display:flex;flex-direction:column}.bracket-round h3{font-size:22px;margin-bottom:18px}.bracket-match-list{display:flex;flex-direction:column;justify-content:space-around;gap:24px;flex:1}.bracket-match{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface);position:relative}.bracket-match>p{font-size:9px;text-transform:uppercase;letter-spacing:1px;margin:0;padding:9px 12px;background:var(--bg);color:var(--muted)}.bracket-team{display:flex;align-items:center;gap:10px;padding:15px 12px;font-size:12px;border-top:1px solid var(--line);min-height:50px}.bracket-team small{margin-left:auto;white-space:nowrap;color:var(--muted)}.seed{font-weight:700;color:var(--link);min-width:16px}.bracket-focus{background:var(--bg);box-shadow:inset 4px 0 var(--link)}.bracket-focus a{font-weight:700}.bracket-tbd{color:var(--muted)}.bracket-champion{align-self:center;min-width:180px;padding:24px;border-left:3px solid var(--link)}.bracket-champion>p:last-child{font-size:11px;color:var(--muted)}
@media(max-width:760px){.playoff-card .card-head{flex-wrap:wrap}.bracket-grid{gap:20px}.bracket-status{font-size:10px}}
.logo-choice{display:flex;gap:24px;align-items:center;margin:28px 0;min-height:130px}.logo-choice>img{width:130px;height:130px;object-fit:contain}.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.logo-option{background:white;border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;color:#222}.logo-option:hover,.logo-option:focus{border-color:var(--link)}.logo-option img{width:95px;height:95px;object-fit:contain}.team-logo{width:70px;height:70px;object-fit:contain;vertical-align:middle;margin-right:15px}.logo-choice button:disabled{opacity:.5;cursor:default}@media(max-width:760px){.logo-choice{flex-wrap:wrap}.team-logo{width:50px;height:50px}}
.match-schedule{padding:14px 12px;border-top:1px solid var(--line);background:var(--bg);display:grid;gap:10px}.match-schedule strong{font-size:12px;color:var(--link)}.match-schedule label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.match-schedule input{width:100%;min-width:0;background:var(--surface)}.match-schedule [role=status]{font-size:10px;color:var(--muted)}
.registration-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px}.register-form fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 28px;margin:0 0 28px;min-width:0}.register-form legend{font-family:var(--heading);font-size:27px;padding:0;margin-bottom:16px}.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.register-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted);margin-bottom:18px}.register-form input,.register-form select,.register-form textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px;border-radius:5px;font:inherit}.register-form [hidden]{display:none}.register-form details{margin-top:15px}.register-form summary{cursor:pointer;font-size:13px;color:var(--link);margin-bottom:18px}.registration-aside{align-self:start}.registration-aside>p{font-size:13px;line-height:1.8;color:var(--muted)}.registration-aside h3{margin-top:28px}#captcha-status{font-size:12px}#registration-review{margin-top:25px;border-top:2px solid var(--link);padding-top:20px;overflow-wrap:anywhere}.register-form button:disabled{opacity:.5;cursor:default}@media(max-width:760px){.registration-layout,.registration-fields{grid-template-columns:1fr}}
.venue-logo{width:72px;height:72px;object-fit:contain;vertical-align:middle;margin-right:18px;background:white;border-radius:8px;padding:5px}.venue-map{width:100%;height:350px;border:1px solid var(--line);border-radius:8px;margin-top:20px}dt{font-size:12px;color:var(--muted);margin-top:12px}dd{margin:3px 0 12px;font-size:14px}

/* Sports newsroom treatment, retaining the MyDartLeague brand. */
body{background:#edeef0}.header{border-top:4px solid #bd2029}.topbar{min-height:70px}.official-logo{width:205px}.edition{letter-spacing:1.8px}.scoreboard-strip{background:#fff;border-bottom:1px solid #d7d9dc;color:#222}.scoreboard-inner{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:12px 0}.scoreboard-label{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:175px;padding-right:20px}.scoreboard-label strong{font-size:12px;font-weight:800;letter-spacing:.7px}.scoreboard-label span{font-size:10px}.scoreboard-label small{font-size:9px;color:#666}.scoreboard-game{flex:0 0 220px;border-left:1px solid #ddd;padding:4px 20px;color:#222;font-size:11px;display:flex;flex-direction:column;gap:6px}.scoreboard-game:hover{background:#f5f6f7;text-decoration:none}.scoreboard-game>span{display:flex;justify-content:space-between;gap:15px}.scoreboard-game .scoreboard-meta{font-size:9px;font-weight:800;color:#b9232a}.scoreboard-meta>span{color:#666;font-weight:400}.scoreboard-game small{font-size:9px;color:#b9232a}.scoreboard-all{align-self:center;font-size:11px;white-space:nowrap;margin-left:20px}.tabs{background:#25262a;border:0}.tabs a{color:#ddd}.tabs a[aria-current=page]{color:#fff;border-color:#ed3843}.hero-inner{padding:30px 0}.card{border-radius:5px;box-shadow:0 1px 3px #00000008}.card-head h2{font-size:29px}.home-section h2{font-size:42px}.home-hero .hero-inner{padding:45px 0}.match-final{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;text-align:center;padding:30px 0}.match-final>a{font-family:var(--heading);font-size:32px;color:var(--ink);font-weight:700}.match-final>strong{font-size:50px;white-space:nowrap}.match-final>strong span{color:var(--muted)}.match-center{text-align:center}
@media(max-width:760px){.scoreboard-inner{width:100%;padding:10px 16px}.scoreboard-label{min-width:140px}.scoreboard-game{flex-basis:205px;padding:4px 14px}.match-final{grid-template-columns:1fr;gap:12px}.match-final>a{font-size:28px}}
.achievement-notice{border-left:3px solid var(--link);background:var(--surface);padding:15px 18px;margin-bottom:22px;font-size:12px;color:var(--muted)}.challenge-option{border-top:1px solid var(--line);padding:22px 0;display:flex;align-items:center;gap:22px;justify-content:space-between}.challenge-option h3{font-size:23px}.challenge-option p{font-size:12px;color:var(--muted)}.challenge-option button{align-self:center;white-space:nowrap;font-size:11px}.challenge-option button[aria-pressed=true]{background:var(--hero);color:#fff}.challenge-points{color:var(--link);font-weight:700;font-size:12px}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.achievement-badge{border:1px solid var(--line);border-radius:8px;text-align:center;padding:25px 15px}.badge-medal{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#fff1d5;color:#8a5710;border:3px double #c99b46;margin:0 auto 17px;font-size:29px;font-weight:800}.locked .badge-medal{background:var(--bg);color:var(--muted);border-color:var(--line)}.achievement-badge h3{margin-top:9px}.achievement-badge p,.achievement-badge small{font-size:11px;color:var(--muted)}.achievement-badge progress{display:block;width:80%;height:8px;accent-color:var(--link);margin:18px auto}.achievement-feed{list-style:none;padding:0}.achievement-feed li{padding:15px 0;border-bottom:1px solid var(--line)}.achievement-feed strong{font-size:13px}.achievement-feed span{display:block;font-size:12px;color:var(--muted);margin-top:7px}#challenge-status{font-size:12px;color:var(--link)}@media(max-width:760px){.badge-grid{grid-template-columns:repeat(2,1fr);gap:10px}.challenge-option{flex-wrap:wrap}.challenge-option button{align-self:flex-start}.achievement-badge{padding:20px 10px}}

/* Compact team identities in connected tables and scoreboards. */
.league-team-logo{width:32px;height:32px;object-fit:contain;vertical-align:middle;margin-right:8px;flex-shrink:0}
.league-team-logo[hidden]{display:none}
.scoreboard-game .league-team-logo{width:22px;height:22px;margin-right:6px}
.scoreboard-game>span:not(.scoreboard-meta){justify-content:flex-start;gap:4px}
.scoreboard-game>span>b{margin-left:auto}

/* One consistent, vertically centered team identity on every page. */
.team-identity-label{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}
.team-identity-label>.league-team-logo{margin:0;flex:0 0 auto}
a:has(>.league-team-logo){display:inline-flex;align-items:center;gap:8px}
a:has(>.league-team-logo)>.league-team-logo{margin:0}
.scoreboard-game>span:has(>.league-team-logo){display:flex;align-items:center}
.scoreboard-game .team-identity-label{font-size:inherit;gap:6px}
h1 .league-team-logo,h2 .league-team-logo,h1>.league-team-logo,h2>.league-team-logo{width:48px;height:48px}

/* Explicit label layout: image and text are separate centered flex items. */
a.team-identity-label,span.team-identity-label{display:inline-flex;align-items:center;gap:8px;line-height:1.25;vertical-align:middle}
.team-identity-label>img.league-team-logo{display:block;margin:0;align-self:center}
.team-identity-label>span{display:block;align-self:center}

/* Compact navigation labels and consistent line icons. */
.home-nav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.nav-icon{width:19px;height:19px;flex:0 0 auto}
.nav-short{display:none}
.player-shortcut>a{white-space:nowrap;gap:8px}
@media(max-width:1200px){.home-nav .nav-full{display:none}.home-nav .nav-short{display:inline}.home-nav{gap:18px}.player-shortcut{gap:12px}.player-shortcut>a{padding-left:12px;padding-right:12px}}
@media(min-width:761px) and (max-width:1000px){.player-shortcut{grid-template-columns:repeat(4,minmax(0,1fr))}.player-shortcut>div{grid-column:1/-1}.player-shortcut>a:first-of-type{border-left:0}}
@media(max-width:760px){.home-nav{justify-content:space-between;gap:8px;flex-wrap:nowrap}.home-nav a{font-size:11px;gap:4px}.nav-icon{width:16px;height:16px}.player-shortcut>a{padding:14px 0}}
@media(max-width:380px){.home-nav a{flex-direction:column;gap:5px}}
/* Keep wide statistics inside their own scrolling region on narrow screens. */
.dashboard>*{min-width:0}.notice{flex-wrap:wrap}.notice select{max-width:100%}
.register-form input[type=checkbox]{width:18px;height:18px;min-height:0;vertical-align:middle}
@media(max-width:760px){.match-final{flex-wrap:wrap;gap:14px}.registration-fields>*{min-width:0}.profile-metric strong{overflow-wrap:anywhere}}

/* League notebook: live match previews and full stories. */
.league-news{padding:22px 0 42px;scroll-margin-top:22px}.news-section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px}.news-section-head h2{font-size:clamp(34px,4vw,48px);margin-top:9px}.news-section-head p:not(.game){color:var(--muted);margin:10px 0 0}.news-date{color:var(--muted);font-size:12px;white-space:nowrap}.league-news-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.news-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:27px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.news-card-lead{grid-row:span 2;border-top:4px solid var(--link);padding:30px}.news-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.news-edition{font-family:var(--heading);font-size:26px;font-weight:700;color:var(--muted);opacity:.55}.news-dateline{font-size:11px;color:var(--muted);margin:12px 0}.news-card h3{font-size:clamp(25px,2.5vw,32px);line-height:1.12;margin:0}.news-card h3 a{color:var(--ink)}.news-card-lead h3{font-size:clamp(32px,3.5vw,45px)}.news-dek{color:var(--muted);font-size:13px;line-height:1.7;margin:16px 0 20px}.news-fixture{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.news-fixture .team-identity-label{white-space:normal;overflow-wrap:anywhere;min-width:0}.news-fixture .team-identity-label:last-child{justify-content:end;text-align:right}.news-versus{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:1px}.news-card-bottom{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:11px}.news-card-bottom>span{color:var(--muted)}.news-card-bottom>a{white-space:nowrap;font-weight:700}.news-source-note{font-size:11px;color:var(--muted);margin:18px 0 0}.news-empty{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.news-empty p{color:var(--muted)}.news-duel{background:var(--bg);border-radius:5px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;margin:8px 0 22px}.news-duel>div{min-width:0}.news-duel>div:last-child{text-align:right}.news-duel a{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.news-duel strong{display:block;font-family:var(--heading);font-size:32px;line-height:1.2;margin:7px 0 3px}.news-duel small{font:10px Inter,system-ui,sans-serif;color:var(--muted)}.news-duel div>span{font-size:10px;color:var(--muted)}.news-duel-vs{font-size:10px;color:var(--muted)}.directory-selection{border-top:1px solid var(--line);padding-top:30px;scroll-margin-top:20px}.directory-selection>.game{margin-bottom:18px}.story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:34px;align-items:start}.story-article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,48px);min-width:0}.story-article h2{font-size:clamp(32px,4vw,49px);line-height:1.08;margin:16px 0}.story-standfirst{color:var(--muted);font-size:18px;line-height:1.6}.story-byline{font-size:11px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:26px}.story-copy{font-size:16px;line-height:1.9}.story-copy p{margin:0 0 23px}.story-sidebar h3{margin-top:14px}.story-teams{display:flex;flex-direction:column;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.story-teams .team-identity-label{white-space:normal}.story-sidebar dl{font-size:13px}.story-sidebar dt{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-top:20px}.story-sidebar dd{margin:5px 0 0}.story-sidebar .button{display:block;text-align:center;margin:26px 0 16px}.story-sidebar>.text-link{display:block;text-align:center}.news-fixture .league-team-logo{flex-shrink:0}
@media(max-width:850px){.league-news-grid,.story-layout{grid-template-columns:minmax(0,1fr)}.news-card-lead{grid-row:auto}.news-section-head{align-items:start;flex-direction:column}.news-card-lead h3{font-size:34px}.story-sidebar{width:100%}.story-teams{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:480px){.news-card,.news-card-lead{padding:22px}.news-fixture{gap:8px;font-size:11px}.news-duel{padding:15px;gap:9px}.news-duel strong{font-size:28px}.news-card-bottom{flex-wrap:wrap}.story-standfirst{font-size:16px}.story-copy{font-size:15px}.league-news{padding-bottom:30px}}
.news-team-records{margin:8px 0 24px;padding:18px 0;border-top:1px solid var(--line)}.news-team-records>.game{font-size:9px;letter-spacing:1.5px;margin:0 0 12px}.news-team-records>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.news-team-records>div>div:last-child{text-align:right}.news-team-records span{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.news-team-records strong{display:block;font-family:var(--heading);font-size:26px;margin:5px 0}.news-team-records small{font-size:10px;color:var(--muted)}

/* Connected homepage: league links, recorded results and one editorial preview. */
.home-live-section{padding-top:42px;padding-bottom:12px}.home-live-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.home-live-heading .eyebrow{color:var(--link);margin:0 0 10px}.home-live-heading h2{font-size:38px;line-height:1.05}.home-live-heading .text-link{white-space:nowrap}.home-league-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-league-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--link);border-radius:var(--radius);padding:24px;min-width:0}.home-league-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:10px;letter-spacing:1px}.home-active-tag{font-weight:700;color:var(--link)}.home-league-card h3{font-size:27px;margin:18px 0 12px;line-height:1.1}.home-league-card h3 a{color:var(--ink)}.home-league-card p{color:var(--muted);font-size:12px;margin:7px 0}.home-league-links{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px;font-size:11px;font-weight:600}.home-season-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start}.home-results-panel,.home-feature-panel{min-width:0}.home-result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px}.home-result-meta{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);margin-bottom:12px}.home-result-meta>span{font-weight:700;color:var(--link)}.home-result-team{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:7px 0;font-size:13px}.home-result-team .team-identity-label{white-space:normal;min-width:0}.home-result-team .team-identity-label span{overflow-wrap:anywhere}.home-result-team .league-team-logo{flex-shrink:0}.home-result-team strong{font-size:18px}.home-match-link{display:inline-block;font-size:11px;font-weight:600;margin-top:10px}.home-feature-panel .news-card-lead{grid-row:auto}.home-feature-panel .news-card-lead h3{font-size:38px}.home-feature-panel .news-fixture{font-size:12px}
@media(max-width:950px){.home-league-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-season-grid{grid-template-columns:minmax(0,1fr)}.home-feature-panel{grid-row:1}}
@media(max-width:520px){.home-league-grid{grid-template-columns:minmax(0,1fr)}.home-live-heading{align-items:start;flex-direction:column;gap:12px}.home-live-heading h2{font-size:32px}.home-live-section{padding-top:32px}.home-league-card{padding:22px}.home-feature-panel .news-card-lead h3{font-size:32px}.home-result{padding:18px}.home-season-grid{gap:32px}}

/* Player identities share the same centered rhythm as team identities. */
.player-identity-label{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;line-height:1.3;max-width:100%}.player-photo{display:block;width:32px;height:32px;object-fit:cover;object-position:center;border-radius:50%;flex:0 0 auto;background:#e2e4e7;border:1px solid #00000014}.player-identity-label>span{min-width:0}.player-profile-identity{gap:20px}.player-profile-identity .player-photo{width:100px;height:100px;border:3px solid #ffffff80}.news-duel a.player-identity-label{display:inline-flex;font-size:12px;text-align:left}.news-duel>div:last-child a.player-identity-label{justify-content:flex-end;text-align:right}.news-duel .player-photo{width:28px;height:28px}.admin-player-photo{grid-column:1/-1;border:1px solid var(--line);padding:24px;border-radius:var(--radius);background:var(--surface)}.admin-player-photo h3{margin-bottom:18px}.admin-player-photo .player-photo-preview{width:112px;height:112px;margin-bottom:18px}.admin-player-photo>label{display:block;margin-top:18px}.admin-player-photo input{max-width:100%}.player-profile-identity>span{overflow-wrap:anywhere}
@media(max-width:520px){.player-profile-identity{gap:14px}.player-profile-identity .player-photo{width:72px;height:72px}.news-duel a.player-identity-label{flex-wrap:wrap}.news-duel>div:last-child a.player-identity-label{justify-content:flex-end}.news-duel .player-photo{width:26px;height:26px}}

/* Recorded personal milestones: badges are independent of browser-only goal choices. */
.achievement-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:36px 0 24px}.achievement-intro .eyebrow{color:var(--link)}.achievement-intro h2{font-size:42px;margin:12px 0}.achievement-intro p:not(.eyebrow){color:var(--muted);font-size:14px}.achievement-intro>.text-link{white-space:nowrap;margin-bottom:15px}.achievement-collection{margin-top:24px;scroll-margin-top:20px}.achievement-collection .card-head{align-items:center;gap:20px;margin-bottom:26px}.achievement-collection .card-head .game{font-size:10px}.achievement-collection h2{margin-top:8px}.achievement-badge{background:var(--surface);min-width:0;position:relative;display:flex;flex-direction:column;align-items:center}.achievement-badge.earned{border-color:#c99b4670;background:linear-gradient(150deg,#c99b460b,transparent 60%),var(--surface)}.achievement-badge .badge-medal{flex-shrink:0}.badge-medal svg{width:42px;height:42px}.achievement-badge h3{font-size:25px}.achievement-badge p{line-height:1.6;min-height:36px}.achievement-badge progress{margin-top:auto;margin-bottom:14px;min-height:8px}.badge-progress{font-size:12px;color:var(--ink);margin-bottom:8px}.achievement-badge small{display:block}.achievement-lower{margin-top:24px;align-items:start}.achievement-lower #goals{scroll-margin-top:20px}.achievement-lower .challenge-option button{min-width:120px}.achievement-lower .achievement-feed li{display:flex;align-items:center;gap:16px}.milestone-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c99b4680;border-radius:50%;flex-shrink:0;background:#fff1d5;color:#8a5710;font-weight:700}.milestone-icon svg{width:30px;height:30px}.milestone-icon span{color:inherit;font-size:16px;margin:0}.achievement-season-switch{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.achievement-season-switch h3{margin-bottom:20px}.achievement-season-switch label{display:block;font-size:12px;color:var(--muted)}.achievement-season-switch select{width:100%;max-width:100%;margin-top:10px}.clear-goal{border:0;background:none;color:var(--link);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
@media(max-width:760px){.achievement-intro{align-items:start;flex-direction:column;gap:0}.achievement-intro h2{font-size:34px}.achievement-collection .card-head{flex-direction:column;align-items:start;gap:8px}.achievement-badge p{min-height:54px}.achievement-badge h3{font-size:23px}.achievement-season-switch select{font-size:12px}.achievement-lower{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.achievement-collection{padding:18px}.badge-grid{gap:9px}.achievement-badge{padding:18px 9px}.achievement-badge h3{font-size:21px}.achievement-badge .game{font-size:9px}}

/* Player account and reviewed profile linking. */
.account-intro{margin:34px 0 26px}.account-intro .eyebrow{color:var(--link)}.account-intro h2{font-size:42px;margin:12px 0}.account-intro p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.account-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.account-columns>.card{min-width:0}.account-columns .register-form{margin-top:24px}.account-columns .register-form>label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--muted)}.account-columns .register-form input,.account-columns .register-form select{width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font:inherit}.account-columns .register-form .section-note{margin:0}.account-how{margin-top:24px}.account-how>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.account-how p{font-size:13px;line-height:1.8}.account-how span{display:block;color:var(--muted);margin-top:8px}.account-intro-signed{display:flex;justify-content:space-between;align-items:center;gap:24px}.account-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.linked-player{padding:22px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.linked-player h3{font-size:27px;margin:16px 0 12px}.linked-player p{font-size:12px;color:var(--muted)}.account-dashboard-lower{margin-top:24px}.account-request-list{list-style:none;padding:0}.account-request-list li{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.account-request-list strong{font-size:14px}.account-request-list span:not(.claim-status),.account-request-list small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.claim-status{font-size:10px;padding:6px 9px;border-radius:4px;background:var(--bg);color:var(--muted);font-weight:700}.status-approved{color:#24653a;background:#e6f1e8}.status-pending{color:#885c08;background:#fff2ce}.claim-review-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:25px 0;border-top:1px solid var(--line);margin-top:25px}.claim-review-details h3{font-size:32px;margin:16px 0}.claim-review-details p{color:var(--muted);font-size:13px}.claim-review-details dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:15px}.claim-review-details dd{margin:7px 0;font-size:13px;overflow-wrap:anywhere}#claim-review-select{max-width:100%}.linked-player .player-identity-label{white-space:normal}.linked-player .player-photo{width:44px;height:44px}
@media(max-width:760px){.account-columns,.account-how>div,.account-profile-grid,.claim-review-details{grid-template-columns:minmax(0,1fr)}.account-intro h2{font-size:34px}.account-how>div{gap:0}.account-intro-signed{align-items:start;flex-direction:column}.claim-review-details{gap:12px}.account-request-list li{flex-wrap:wrap}}
.account-intro p,.account-request-list strong,.claim-review-details h3,.linked-player .player-identity-label>span{overflow-wrap:anywhere}.account-request-list li>div{min-width:0}#claim-review-detail{min-width:0}body:has(#claim-review-select) .filters>label{min-width:0;max-width:100%}
.account-email-state{margin-bottom:24px}.account-email-state h2{margin:12px 0}.account-email-state .hero-actions{margin-top:20px}.security-card{max-width:650px;margin:36px auto;padding:34px}.security-card h2{font-size:36px;margin:15px 0}.security-card>p{font-size:14px;line-height:1.8;color:var(--muted)}.security-card .register-form{margin:24px 0}.security-card label{display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--muted)}.security-card input{width:100%;padding:13px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font:inherit}.security-card [role=status]{font-size:12px;line-height:1.8}.security-card .button{justify-self:start}@media(max-width:520px){.security-card{padding:24px}.security-card h2{font-size:30px}.account-email-state .hero-actions{flex-direction:column;align-items:start}}
.challenge-option button:disabled,.clear-goal:disabled{opacity:.55;cursor:default}.account-saved-goal{font-size:13px;color:var(--link);font-weight:700}#goal-account-state{margin:18px 0 8px}#goal-account-state .clear-goal{display:block;margin-top:10px}
.account-picture-form{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.account-picture-form h4{font-size:17px;margin:0 0 15px}.account-picture-preview{display:flex;gap:16px;align-items:center;margin-bottom:18px}.account-picture-preview img{width:80px;height:80px;object-fit:cover;border-radius:50%;border:1px solid var(--line);flex-shrink:0}.account-picture-preview p,.account-picture-form label,.account-picture-form [role=status]{font-size:12px;line-height:1.6}.account-picture-form label{display:block;color:var(--muted)}.account-picture-form input{display:block;width:100%;max-width:100%;margin-top:8px;font-size:12px}.account-picture-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.account-picture-actions button{font-size:12px}.account-picture-actions button:disabled{opacity:.55;cursor:default}.account-picture-actions [hidden]{display:none}.account-picture-form [role=status]{color:var(--link)}
.card .match-final{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.match-final>a.team-identity-label{justify-content:center;justify-self:stretch;min-width:0;text-align:center}.match-final>a>span{overflow-wrap:anywhere}.match-final .league-team-logo{width:56px;height:56px;object-fit:contain}.filters select{max-width:100%}@media(max-width:760px){.card .match-final{grid-template-columns:1fr}.match-final>a.team-identity-label{justify-self:center}}
.season-leaders{margin-top:24px;scroll-margin-top:24px}.season-leaders>.eyebrow{color:var(--link)}.leader-races{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.leader-races>article{border:1px solid var(--line);border-radius:6px;padding:20px;min-width:0}.leader-races h3{margin-bottom:16px}.leader-list,.leader-chasing{list-style:none;padding:0;margin:0}.leader-list li{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0}.leader-list li>div{flex:1;min-width:0}.leader-rank{color:var(--muted);width:20px;flex-shrink:0}.leader-list strong{white-space:nowrap;font-size:24px}.leader-list small,.season-honor span,.season-honor small{display:block;font-size:11px;color:var(--muted)}.leader-list a{font-weight:600;font-size:13px}.leader-list .season-honor{display:block;font-size:10px;color:var(--link);margin:7px 0}.leader-races summary{font-size:12px;cursor:pointer;color:var(--link)}.leader-chasing li{padding:12px 0;font-size:12px}.leader-chasing span{display:block;color:var(--muted);font-size:11px}.season-honors{margin-top:24px}.honor-grid{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.honor-grid article{border:1px solid #c99b4680;border-radius:6px;padding:20px;background:#c99b460b}.honor-grid strong{color:var(--link)}@media(max-width:760px){.leader-races{grid-template-columns:1fr}.leader-races>article{padding:16px}.leader-list .player-identity-label{flex-wrap:wrap}.leader-list strong{font-size:21px}}
.usage-panels{margin-top:24px}.usage-panels h2{margin-bottom:20px}.directory-filters #season-filter{max-width:320px}.filters label{min-width:0}.filters select{width:100%}.season-leaders .player-identity-label{min-width:0;white-space:normal}
.usage-chart{height:160px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--line);margin:24px 0}.usage-chart>span{flex:1;background:var(--link);border-radius:3px 3px 0 0;min-width:0}.usage-chart>span:hover{opacity:.65}
.site-account-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap;margin-left:auto}.site-account-link svg{flex-shrink:0}.has-account-link>.theme-label{margin-left:0}@media(max-width:760px){.has-account-link>.brand{margin-right:auto}.site-account-link{margin-left:0;padding:8px;min-width:44px}.site-account-link>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.has-account-link>.theme-label{flex-basis:100%;justify-content:flex-end}.has-account-link .official-logo{width:190px}}
.topbar .site-account-link{color:inherit}
.leader-list li.leader-featured{padding:22px 16px;margin:0 -8px 8px;border:1px solid #c99b4660;border-left:4px solid #c99b46;border-radius:6px;background:linear-gradient(110deg,#c99b4620,transparent),var(--surface)}.leader-list .leader-featured .leader-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#c99b4625;color:var(--ink);font-weight:800;flex-shrink:0}.leader-list .leader-featured a{font-family:var(--heading);font-size:23px;line-height:1.15;font-weight:700}.leader-list .leader-featured .player-photo{width:48px;height:48px;flex-shrink:0}.leader-list .leader-featured strong{font-size:38px;line-height:1.15}.leader-list .leader-featured small{margin-top:6px}.leader-qualifying-count{margin-bottom:0}@media(max-width:760px){.leader-list li.leader-featured{padding:18px 10px;gap:8px}.leader-list .leader-featured a{font-size:22px}.leader-list .leader-featured strong{font-size:30px}.leader-list .leader-featured .player-photo{width:40px;height:40px}.leader-list .leader-featured .leader-rank{width:26px;height:26px}.leader-list .leader-featured .player-identity-label{gap:7px}}
.news-edition-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.archived-edition{margin:32px 0 48px}.archived-edition+.archived-edition{border-top:1px solid var(--line);padding-top:28px}#older-editions[hidden]{display:none}@media(max-width:760px){.news-edition-tools{gap:10px}.archived-edition{margin:24px 0 32px}}

/* Phone/tablet controls: readable fields and usable touch targets. */
@media(max-width:1024px){
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important;min-height:44px;min-width:0;max-width:100%}
}
@media(max-width:1024px){
 .home-nav a{min-height:44px;min-width:44px;justify-content:center}
}
@media(max-width:520px){
 .has-account-link>.brand{flex:1;min-width:0;margin-right:0}
 .has-account-link .official-logo{width:190px;max-width:100%}
 .topbar.has-account-link{flex-wrap:nowrap}
}
@media(max-width:1024px){.filters>label{justify-content:flex-end}}
@media(max-width:520px){.filters>label{flex:1 1 100%;width:100%}.filters>label select,.filters>label input{width:100%}}

@media(max-width:1024px){
 .topbar:has(.home-nav){flex-wrap:wrap;gap:12px;padding:12px 0}
 .topbar:has(.home-nav)>.brand{flex-shrink:0}
 .topbar:has(.home-nav)>.color-mode-toggle{margin-left:auto}
 .home-nav{order:3;flex-basis:100%;width:100%;margin-left:0;border-top:1px solid var(--line);padding-top:8px;justify-content:space-between;gap:8px}
}

/* Long tables retain the player and week together while scrolling. */
.stats-scroll td:first-child,.stats-scroll th:first-child{position:static}
.stats-scroll [data-pin]{position:sticky!important;z-index:2;background:var(--surface);left:0}
.stats-scroll [data-pin="week"]{left:var(--identity-width);box-shadow:2px 0 0 var(--line)}
.stats-scroll th[data-pin]{background:var(--bg);z-index:3}
.table-pages{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:.9rem}
.table-pages label{display:flex;align-items:center;gap:8px;margin:0}
.table-pages select,.table-pages button{min-height:44px;font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
.table-pages button:disabled{opacity:.45;cursor:default}
.scoreboard-game>.scoreboard-league{display:block;font-size:.8rem;line-height:1.3;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted)}
@media(max-width:600px){.table-pages{justify-content:flex-start;gap:8px}.table-pages [role="status"]{order:4;flex-basis:100%}.stats-scroll [data-pin="name"]{max-width:160px;white-space:normal;min-width:110px}.scoreboard-league{max-width:230px}}
.player-lifetime-badges{min-width:190px;white-space:normal}
.lifetime-chip{display:inline-flex;align-items:center;font-size:.75rem;line-height:1.3;border:1px solid var(--link);color:var(--link);border-radius:14px;padding:5px 9px;margin:3px 5px 3px 0;text-decoration:none;min-height:30px}

/* Keep form layouts fixed while allowing text to scroll within notes fields. */
textarea{resize:none}

/* UAT: result status, compact earned badges and player-search separation. */
.result-winner{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;height:1.4em;margin-inline-start:.45em;border:1px solid currentColor;border-radius:50%;font-size:.65em;font-weight:800;color:var(--red,#ba1f2d);vertical-align:middle;flex-shrink:0}
.match-result-team{display:flex;align-items:center;justify-content:center;gap:.3rem;min-width:0}
.players-output{margin-top:2rem}
.player-lifetime-badges .lifetime-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:7px;margin:3px;border-radius:50%;vertical-align:middle;font-weight:800;box-sizing:border-box}
.lifetime-icon svg{display:block;width:26px;height:26px}.lifetime-icon>span{line-height:1;font-size:.8rem}
.league-story-section{margin-top:28px}.league-story-section .news-card-lead{grid-column:auto}.league-story-section .news-duel,.league-story-section .news-team-records{display:none}

.league-story-section .league-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.league-story-section .news-card-lead{grid-row:auto}.league-story-section .news-card-lead h3{font-size:28px}@media(max-width:900px){.league-story-section .league-news-grid{grid-template-columns:1fr}}

/* Featured story excerpts use recorded article text, including recap performance highlights. */
.news-story-preview{border-top:1px solid var(--line);padding:20px 0 6px;margin:0 0 12px;font-size:14px;line-height:1.8;color:var(--ink)}.news-story-preview>.game{color:var(--muted);font-size:10px;margin:0 0 12px}.news-story-preview>p:not(.game){margin:0 0 14px;overflow-wrap:anywhere}.league-story-section .news-story-preview{font-size:13px;padding-top:16px}

/* All three league stories include bounded excerpts and share a row height. */
.league-story-section .league-news-grid{align-items:stretch}
.league-story-section .news-story-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:11;overflow:hidden}
@media(max-width:900px){.league-story-section .league-news-grid{grid-auto-rows:1fr}}
