:root {
  --scrl-green: #0d3626;
  --scrl-green-light: #1b5c40;
  --scrl-orange: #e87222;
  --scrl-gold: #f2ad27;
  --scrl-cream: #f8f3e9;
}
body { background: linear-gradient(180deg, rgba(248,243,233,.9), rgba(255,255,255,.98) 420px), var(--scrl-cream); }
.site-header { border-bottom: 3px solid var(--scrl-orange); }
.hero { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.18); background:radial-gradient(circle at 82% 20%,rgba(242,173,39,.38),transparent 22%),radial-gradient(circle at 90% 90%,rgba(232,114,34,.35),transparent 28%),linear-gradient(135deg,#09291c,var(--scrl-green-light)); }
.hero::after { content:"SCRL";position:absolute;right:-18px;bottom:-54px;color:rgba(255,255,255,.06);font-size:clamp(8rem,22vw,19rem);font-weight:950;font-style:italic;line-height:1;letter-spacing:-.12em;pointer-events:none; }
.hero { min-height:0;padding:clamp(30px,4vw,52px);display:flex;align-items:center; }.hero>* { position:relative;z-index:1; }.hero h1 { margin:0;font-size:clamp(2.5rem,5vw,4.4rem);line-height:1; }.hero-card { border-color:rgba(242,173,39,.45);background:rgba(4,31,21,.32); }
.button { background:var(--scrl-green);color:var(--white);box-shadow:0 8px 18px rgba(13,54,38,.22);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; }.button:hover { background:var(--scrl-orange);color:#1b160d;transform:translateY(-2px);box-shadow:0 11px 22px rgba(173,67,23,.28); }.button-secondary { border-color:rgba(255,255,255,.55); }.button-secondary:hover { background:var(--scrl-orange);border-color:var(--scrl-orange);color:#1b160d; }.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible { outline:3px solid var(--scrl-gold);outline-offset:3px; }
.stats article,.game-card,.panel,.table-card,.results-list article { box-shadow:0 8px 22px rgba(13,54,38,.05); }.game-card { border-top:4px solid var(--scrl-green-light); }.team-badge,.status { background:#e8f1e9;color:var(--scrl-green); }.pill { background:#fff0e1;color:#9f3d16; }.table-card h3 { border-bottom:4px solid var(--scrl-orange); }.score-banner,.form-intro,.admin-top,.success-page { background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));border:1px solid rgba(255,255,255,.12); }
.league-choices { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }.league-choices > .league-choice { display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 16px;border:1px solid var(--scrl-green);border-radius:14px;background:var(--scrl-green);color:var(--white);font-weight:900;box-shadow:0 6px 16px rgba(13,54,38,.14);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease; }.league-choices > .league-choice:nth-child(even) { border-color:var(--scrl-orange);background:var(--scrl-orange);color:#1b160d;box-shadow:0 6px 16px rgba(173,67,23,.16); }.league-choices > .league-choice:hover { transform:translateY(-2px);border-color:var(--scrl-orange);background:var(--scrl-orange);color:#1b160d;box-shadow:0 9px 20px rgba(173,67,23,.25); }.league-choices > .league-choice:nth-child(even):hover { border-color:var(--scrl-green);background:var(--scrl-green);color:var(--white);box-shadow:0 9px 20px rgba(13,54,38,.24); }.league-choices > .league-choice.active { outline:3px solid var(--scrl-gold);outline-offset:2px; }.league-choices > .league-choice.active:hover { background:var(--scrl-green);border-color:var(--scrl-green);color:var(--white);box-shadow:0 9px 20px rgba(13,54,38,.22); }
.bylaws-page,.teams-page,.schedule-page { max-width:1100px;margin:46px auto 0; }.schedule-intro { padding:34px;border-radius:28px;background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));color:var(--white); }.schedule-intro h1 { margin:10px 0;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.04em; }.schedule-intro p { margin:0;color:rgba(255,255,255,.78);font-size:1.08rem; }.schedule-groups { display:grid;grid-template-columns:1fr 1fr;gap:16px; }.schedule-group { overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 8px 22px rgba(13,54,38,.06); }.schedule-group h3 { margin:0;padding:16px 20px;background:var(--scrl-green);color:var(--white);border-bottom:4px solid var(--scrl-orange); }.schedule-group table { font-size:.9rem; }.schedule-group th,.schedule-group td { padding:10px 12px; }.home-links { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.home-link { display:block;padding:22px;color:var(--ink);transition:transform .18s ease,border-color .18s ease; }.home-link:hover { transform:translateY(-2px);border-color:var(--scrl-orange); }.home-link h3 { margin:12px 0 7px;color:var(--scrl-green);font-size:1.4rem; }.home-link p { margin:0;color:var(--muted);line-height:1.5; }.standing-card-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.standing-card { overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 6px 18px rgba(13,54,38,.05); }.standing-card summary { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;cursor:pointer;list-style:none;color:var(--scrl-green); }.standing-card summary::-webkit-details-marker { display:none; }.standing-card summary strong,.standing-card summary small { display:block; }.standing-card summary small { margin-top:3px;color:var(--muted);font-weight:700; }.standing-chevron { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f1e9;font-size:1.3rem;font-weight:700; }.standing-card[open] .standing-chevron { background:var(--scrl-orange);color:#1b160d;transform:rotate(45deg); }.standing-card-body { padding:0 14px 14px;border-top:1px solid var(--line); }.standing-card-body table { width:100%;font-size:.86rem; }.standing-card-body th,.standing-card-body td { padding:9px 7px; }
.bylaws-intro,.teams-intro { max-width:none; }.bylaws-intro,.teams-intro { padding:34px;border-radius:28px;background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));color:var(--white); }.bylaws-intro h1,.teams-intro h1 { margin:10px 0;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.04em; }.bylaws-intro p,.teams-intro p { margin:0;color:rgba(255,255,255,.78);font-size:1.08rem; }.bylaws-placeholder { margin-top:18px;padding:54px 28px;text-align:center; }.bylaws-placeholder h2 { margin:16px 0 8px;color:var(--scrl-green); }.bylaws-placeholder p { max-width:520px;margin:0 auto;color:var(--muted);line-height:1.6; }.bylaws-icon { display:grid;place-items:center;width:70px;height:82px;margin:0 auto;border-radius:12px;background:var(--scrl-orange);color:#1b160d;font-size:.84rem;font-weight:950;letter-spacing:.1em;box-shadow:0 8px 18px rgba(173,67,23,.2); }.bylaws-pdf-wrap { height:min(75vh,900px);margin:18px 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--white);box-shadow:0 10px 26px rgba(13,54,38,.08); }.bylaws-pdf { width:100%;height:100%;border:0; }
.team-directory-layout { display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start; }.team-selector { padding:12px; }.team-selector h3 { margin:8px 8px 12px;color:var(--scrl-green); }.team-selector-option { display:flex;justify-content:space-between;gap:10px;padding:13px 12px;border-top:1px solid var(--line);color:var(--scrl-green);font-weight:850; }.team-selector-option:first-of-type { border-top:0; }.team-selector-option small { color:var(--muted);font-weight:750; }.team-selector-option:hover,.team-selector-option.active { background:#fff0e1;color:#9f3d16; }.team-selector-option.active { box-shadow:inset 4px 0 var(--scrl-orange); }.team-profile { padding:28px; }.team-profile-header { padding-bottom:20px;border-bottom:1px solid var(--line); }.team-profile-header h2 { margin:10px 0 0;color:var(--scrl-green);font-size:2rem; }.team-info-grid { display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px; }.team-info-grid h3,.roster-section h3 { margin:0 0 12px;color:var(--scrl-green); }.team-info-grid table { width:100%; }.team-info-grid th { width:86px;color:var(--muted);text-transform:none;font-size:.82rem; }.team-info-grid th,.team-info-grid td { padding:10px 8px; }.team-info-grid td a { color:var(--scrl-orange-dark);font-weight:750; }.roster-section { margin-top:28px;padding-top:24px;border-top:1px solid var(--line); }.roster-section ul { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none; }.roster-section li { padding:10px 12px;border-radius:10px;background:#e8f1e9;color:var(--scrl-green);font-weight:750; }
.team-management-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch; }.team-management-grid > .panel { min-height:270px; }.manage-team-picker { display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:16px; }.team-move-actions { display:flex;align-items:center;gap:10px; }.button-clear { display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--scrl-green);border-radius:12px;color:var(--scrl-green);font-weight:850; }.button-clear:hover { background:var(--scrl-orange);border-color:var(--scrl-orange);color:#1b160d; }.manage-team-picker label { flex:1;display:grid;gap:7px;font-weight:800; }.champions-page { max-width:1180px;margin:46px auto 0; }.champions-intro { padding:34px;border-radius:28px;background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));color:var(--white); }.champions-intro h1 { margin:10px 0;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.04em; }.champions-intro p { margin:0;color:rgba(255,255,255,.78);font-size:1.08rem; }.champion-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }.champion-card { overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 8px 22px rgba(13,54,38,.08); }.champion-header-image,.champion-header-placeholder { display:block;width:100%;height:150px;object-fit:cover; }.champion-header-placeholder { display:grid;place-items:center;background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));color:rgba(255,255,255,.24);font-size:4rem;font-weight:950;font-style:italic;letter-spacing:-.12em; }.champion-content { padding:20px; }.champion-content h2 { min-height:3rem;margin:12px 0 16px;color:var(--scrl-green);font-size:1.45rem;line-height:1.08; }.champion-content dl { display:grid;gap:10px;margin:0; }.champion-content dl div { display:flex;justify-content:space-between;gap:14px;padding-top:10px;border-top:1px solid var(--line); }.champion-content dt { color:var(--muted);font-weight:750; }.champion-content dd { margin:0;color:var(--scrl-green);font-weight:900;text-align:right; }.manage-champion-picker { display:flex;align-items:end;gap:16px; }.manage-champion-picker label { flex:1;display:grid;gap:7px;font-weight:800; }.selected-champion-form { max-width:640px;margin-top:16px; }.champion-admin-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.champion-admin-form { display:grid;gap:10px;align-content:start; }.champion-admin-form label { display:grid;gap:5px;font-weight:800; }.champion-admin-form label span { font-size:.82rem; }.team-editor { align-items:flex-start;flex-direction:column; }.team-move-grid { grid-template-columns:repeat(3,minmax(110px,1fr)) auto; }.team-move-grid .wide { grid-column:auto; }
.tier-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.tier-card { overflow:hidden;background:var(--white);border:1px solid var(--line);border-top:5px solid var(--scrl-orange);border-radius:22px;box-shadow:0 8px 22px rgba(13,54,38,.06); }.tier-card header { padding:20px 20px 14px;background:linear-gradient(135deg,#0a301f,var(--scrl-green-light));color:var(--white); }.tier-card h3 { margin:8px 0 0;font-size:1.5rem; }.tier-section { padding:16px 20px;border-top:1px solid var(--line); }.tier-section h4 { margin:0 0 10px;color:var(--scrl-green);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase; }.compact-game { display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line); }.compact-game:first-of-type { border-top:0; }.compact-game strong { color:var(--scrl-orange-dark); }.compact-game small,.muted-copy { color:var(--muted);margin:0; }.latest-results p { margin:8px 0;line-height:1.4; }
@media (max-width:1000px) { .league-choices { grid-template-columns:repeat(2,1fr); }.champion-grid,.champion-admin-grid { grid-template-columns:repeat(2,1fr); }.tier-grid { grid-template-columns:1fr; }.tier-card { display:grid;grid-template-columns:repeat(3,1fr); }.tier-card header { grid-column:1/-1; }.tier-section + .tier-section { border-left:1px solid var(--line); } }
@media (max-width:820px) { .team-management-grid { grid-template-columns:1fr; }.manage-team-picker { flex-direction:column;align-items:stretch; }.team-directory-layout,.team-info-grid { grid-template-columns:1fr; }.team-selector { display:grid;grid-template-columns:repeat(2,1fr); }.team-selector h3 { grid-column:1/-1; }.team-selector-option { border-top:1px solid var(--line); }.roster-section ul { grid-template-columns:repeat(2,1fr); }.team-move-grid { grid-template-columns:1fr 1fr; }.team-move-grid .button { grid-column:1/-1; }.tier-card { grid-template-columns:1fr; }.tier-section + .tier-section { border-left:0; } }
@media (max-width:600px) { .brand-logo { width:48px;height:48px; }.site-header { border-bottom-width:2px; }.hero::after { right:-10px;bottom:-22px;font-size:8.5rem; }.league-choices,.team-selector,.team-move-grid,.roster-section ul,.champion-grid,.champion-admin-grid { grid-template-columns:1fr; }.team-profile { padding:20px; } }

/* Group each league's Gold, Silver, and Bronze standings together. */
.standing-groups { display:grid;gap:24px; }
.standing-group { padding:20px;border:1px solid var(--line);border-radius:22px;background:#f8fbf8; }
.standing-group-heading { display:flex;align-items:center;gap:12px;margin:0 0 16px; }
.standing-group-heading h3 { margin:0;color:var(--scrl-green);font-size:1.25rem; }
.standing-tier-heading { padding:14px 16px;border-bottom:4px solid var(--scrl-orange);background:var(--scrl-green);color:var(--white); }
.standing-tier-heading h4 { margin:0;font-size:1rem; }
.standing-card-body { overflow-x:auto; }
@media (max-width:600px) { .standing-card-grid { grid-template-columns:1fr; } .standing-group { padding:14px; } .standing-group-heading { align-items:flex-start;flex-direction:column;gap:7px; } }


/* User-selectable dark theme. */
.theme-toggle { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--scrl-green);font:inherit;font-size:.8rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.theme-toggle:hover { transform:translateY(-2px);border-color:var(--scrl-orange);background:#fff0e1;color:#9f3d16; }

html[data-theme="dark"] { color-scheme:dark; --ink:#f4f4f5; --muted:#adb0b7; --line:#3f4148; --cream:#1c1d21; --forest:#202126; --forest-2:#303238; --success:#7bd5a5; --danger:#ff9a9a; --shadow:0 18px 45px rgba(0,0,0,.38); --scrl-cream:#1c1d21; --scrl-green:#202126; --scrl-green-light:#303238; }
html[data-theme="dark"] body { background:linear-gradient(180deg,#292b31,#1c1d21 420px),var(--scrl-cream); }
html[data-theme="dark"] .site-header { background:rgba(28,29,33,.94); }
html[data-theme="dark"] .brand strong,html[data-theme="dark"] nav > a:not(.button),html[data-theme="dark"] .section h2,html[data-theme="dark"] .standing-group-heading h3,html[data-theme="dark"] .bylaws-placeholder h2,html[data-theme="dark"] .team-selector h3,html[data-theme="dark"] .team-profile-header h2,html[data-theme="dark"] .team-info-grid h3,html[data-theme="dark"] .roster-section h3,html[data-theme="dark"] .champion-content h2,html[data-theme="dark"] .champion-content dd { color:#eff8f1; }
html[data-theme="dark"] .panel,html[data-theme="dark"] .game-card,html[data-theme="dark"] .table-card,html[data-theme="dark"] .results-list article,html[data-theme="dark"] .schedule-group,html[data-theme="dark"] .standing-card,html[data-theme="dark"] .champion-card,html[data-theme="dark"] .tier-card { background:#1a2a23; }
html[data-theme="dark"] .standing-group { background:#14221c; }
html[data-theme="dark"] .standing-tier-heading,html[data-theme="dark"] .schedule-group h3,html[data-theme="dark"] .table-card h3 { background:#0b2b1e; }
html[data-theme="dark"] .team-badge,html[data-theme="dark"] .status,html[data-theme="dark"] .roster-section li { background:#294638;color:#e9f6ec; }
html[data-theme="dark"] .pill { background:#4a2b18;color:#ffd0a8; }
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea { background:#111c18;color:#f1f6f2;border-color:#486056; }
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder { color:#95a79d; }
html[data-theme="dark"] .theme-toggle { background:#20342b;color:#f1f6f2;border-color:#496157; }
html[data-theme="dark"] .theme-toggle:hover { background:#5a3118;color:#ffe0bb;border-color:var(--scrl-orange); }
html[data-theme="dark"] .team-selector-option:hover,html[data-theme="dark"] .team-selector-option.active { background:#4a2b18;color:#ffd0a8; }
html[data-theme="dark"] .bylaws-pdf-wrap { background:#1a2a23; }
html[data-theme="dark"] .button-clear { color:#f1f6f2;border-color:#739184; }
html[data-theme="dark"] .button-clear:hover { color:#1b160d; }
html[data-theme="dark"] footer { color:#b8c8be; }
@media (max-width:760px) { .theme-toggle-text { display:none; }.theme-toggle { width:38px;padding:0; } }

/* Standings names open the matching public team profile. */
.standing-team-link { color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease; }
.standing-team-link:hover { color:var(--scrl-orange);text-decoration-color:currentColor; }
.standing-team-link:focus-visible { outline:3px solid var(--scrl-gold);outline-offset:3px;border-radius:3px; }

/* Administrator access list and revocation controls. */
.admin-access { padding:20px; }
.admin-list-heading,.admin-account { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.admin-list-heading { margin-bottom:10px; }
.admin-list-heading h3 { margin:0;color:var(--scrl-green); }
.admin-account { padding:14px 0;border-top:1px solid var(--line); }
.admin-account strong,.admin-account small { display:block; }
.admin-account small { margin-top:3px;color:var(--muted); }
.admin-current { color:var(--muted);font-size:.84rem;font-weight:800; }
@media (max-width:600px) { .admin-account { align-items:flex-start;flex-direction:column;gap:9px; } }

/* Header badge uses a dedicated, tightly framed logo asset. */
.brand-logo { object-fit:contain;transform:none;clip-path:circle(50%); }
.brand { overflow:visible; }


/* Cohesive charcoal dark mode: neutral surfaces, reserved brand accents. */
html[data-theme="dark"] { --ink:#f5f6f7; --muted:#b7bbc3; --line:#3b3e46; --white:#24262c; }
html[data-theme="dark"] body { background:linear-gradient(180deg,#26282e 0,#1b1c21 340px),#1b1c21; }
html[data-theme="dark"] .site-header { background:rgba(27,28,33,.96); }
html[data-theme="dark"] .hero { background:radial-gradient(circle at 88% 14%,rgba(232,114,34,.24),transparent 26%),linear-gradient(135deg,#0d3626,#174a35); }
html[data-theme="dark"] .hero::after { color:rgba(255,255,255,.045); }
html[data-theme="dark"] .panel,html[data-theme="dark"] .game-card,html[data-theme="dark"] .table-card,html[data-theme="dark"] .results-list article,html[data-theme="dark"] .schedule-group,html[data-theme="dark"] .standing-card,html[data-theme="dark"] .champion-card,html[data-theme="dark"] .tier-card,html[data-theme="dark"] .team-selector,html[data-theme="dark"] .team-profile { background:#24262c; }
html[data-theme="dark"] .standing-group { background:#202227; }
html[data-theme="dark"] .standing-tier-heading,html[data-theme="dark"] .schedule-group h3,html[data-theme="dark"] .table-card h3 { background:#202227; }
html[data-theme="dark"] .team-selector-option { color:#eef0f2; }
html[data-theme="dark"] .team-selector-option small { color:#c1c5cc; }
html[data-theme="dark"] .team-selector-option:hover,html[data-theme="dark"] .team-selector-option.active { background:#56341f;color:#fff5ec;box-shadow:inset 4px 0 var(--scrl-orange); }
html[data-theme="dark"] .team-selector-option:hover small,html[data-theme="dark"] .team-selector-option.active small { color:#ffd5af; }
html[data-theme="dark"] .team-badge,html[data-theme="dark"] .status,html[data-theme="dark"] .roster-section li { background:#30333a;color:#f1f3f4; }
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea { background:#1c1e23;color:#f5f6f7;border-color:#4b4e57; }
html[data-theme="dark"] .theme-toggle { background:#30333a;color:#f5f6f7;border-color:#50535c; }
html[data-theme="dark"] .score-banner,html[data-theme="dark"] .form-intro,html[data-theme="dark"] .admin-top,html[data-theme="dark"] .success-page { background:linear-gradient(135deg,#0f402c,#1d3028); }
html[data-theme="dark"] .brand strong,html[data-theme="dark"] nav > a:not(.button),html[data-theme="dark"] .section h2,html[data-theme="dark"] .standing-group-heading h3,html[data-theme="dark"] .bylaws-placeholder h2,html[data-theme="dark"] .team-selector h3,html[data-theme="dark"] .team-profile-header h2,html[data-theme="dark"] .team-info-grid h3,html[data-theme="dark"] .roster-section h3,html[data-theme="dark"] .champion-content h2,html[data-theme="dark"] .champion-content dd { color:#f5f6f7; }
html[data-theme="dark"] footer { color:#c2c5cb; }

/* Keep text inside green hero surfaces high-contrast in dark mode. */
html[data-theme="dark"] .hero h1,html[data-theme="dark"] .hero p,html[data-theme="dark"] .hero strong { color:#fff; }
html[data-theme="dark"] .teams-intro h1,html[data-theme="dark"] .teams-intro p,html[data-theme="dark"] .bylaws-intro h1,html[data-theme="dark"] .bylaws-intro p,html[data-theme="dark"] .schedule-intro h1,html[data-theme="dark"] .schedule-intro p,html[data-theme="dark"] .champions-intro h1,html[data-theme="dark"] .champions-intro p { color:#fff; }

/* Preserve clear primary actions in charcoal dark mode. */
html[data-theme="dark"] .button { background:#176b45;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.28); }
html[data-theme="dark"] .button:hover { background:var(--scrl-orange);color:#1b160d; }
html[data-theme="dark"] nav .button { background:#176b45;color:#fff; }


/* Dark-mode typography audit: readable white text, mint green only for hierarchy. */
html[data-theme="dark"] { --ink:#f5f6f7; --muted:#c3c7ce; }
html[data-theme="dark"] main,html[data-theme="dark"] .panel,html[data-theme="dark"] .game-card,html[data-theme="dark"] .table-card,html[data-theme="dark"] .results-list article,html[data-theme="dark"] .schedule-group,html[data-theme="dark"] .standing-card,html[data-theme="dark"] .champion-card,html[data-theme="dark"] .tier-card { color:#f5f6f7; }
html[data-theme="dark"] p,html[data-theme="dark"] small,html[data-theme="dark"] td,html[data-theme="dark"] .muted-copy,html[data-theme="dark"] .game-location,html[data-theme="dark"] .admin-account small,html[data-theme="dark"] .admin-current { color:#c3c7ce; }
html[data-theme="dark"] th,html[data-theme="dark"] .team-info-grid th,html[data-theme="dark"] .champion-content dt { color:#b5e1c5; }
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] strong,html[data-theme="dark"] label,html[data-theme="dark"] .team-selector-option,html[data-theme="dark"] .champion-content dd { color:#f5f6f7; }
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .tier-section h4,html[data-theme="dark"] .compact-game strong,html[data-theme="dark"] .team-info-grid td a { color:#9bdfb6; }
html[data-theme="dark"] .text-button:not(.danger),html[data-theme="dark"] footer a { color:#9bdfb6; }
html[data-theme="dark"] .text-button.danger { color:#ffabab; }
html[data-theme="dark"] .standing-team-link { color:#f5f6f7; }
html[data-theme="dark"] .standing-team-link:hover { color:#9bdfb6; }
html[data-theme="dark"] .pill { color:#ffe0c2; }

.schedule-import-panel { display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:16px; }.schedule-import-panel h3 { margin:0 0 6px;color:var(--scrl-green); }.schedule-import-panel p { margin:0; }.schedule-import-panel form { grid-column:1/-1;display:flex;align-items:end;gap:16px; }.schedule-import-panel label { flex:1;display:grid;gap:7px;font-weight:800; }.schedule-import-panel input[type="file"] { padding:8px; }
@media (max-width:820px) { .schedule-import-panel { grid-template-columns:1fr; }.schedule-import-panel form { grid-column:auto;flex-direction:column;align-items:stretch; }.schedule-import-panel .button { justify-content:center; } }

.schedule-team-filter { display:flex;align-items:end;gap:14px;margin-top:18px; }.schedule-team-filter label { flex:1;display:grid;gap:7px;font-weight:800; }.schedule-filter-result { margin:14px 0 0;color:var(--muted); }.schedule-filter-result strong { color:var(--scrl-green); }
html[data-theme="dark"] .schedule-filter-result strong { color:#9bdfb6; }
@media (max-width:600px) { .schedule-team-filter { flex-direction:column;align-items:stretch; }.schedule-team-filter .button,.schedule-team-filter .button-clear { width:100%; } }

@media (max-width:820px) {
  .schedule-groups { grid-template-columns:minmax(0,1fr) !important; gap:18px; }
  .schedule-group { width:100%; min-width:0; }
  .schedule-group h3 { padding:18px 20px; font-size:1.1rem; }
  .schedule-group table { font-size:.96rem; }
  .schedule-group th,.schedule-group td { padding:12px 13px; }
}

@media (max-width:600px) {
  html[data-theme="dark"] .league-choices > .league-choice,
  html[data-theme="dark"] .league-choices > .league-choice:nth-child(even),
  html[data-theme="dark"] .league-choices > .league-choice.active {
    border-color:#176b45;
    background:#176b45;
    color:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.28);
  }
  html[data-theme="dark"] .league-choices > .league-choice:hover,
  html[data-theme="dark"] .league-choices > .league-choice:nth-child(even):hover,
  html[data-theme="dark"] .league-choices > .league-choice.active:hover,
  html[data-theme="dark"] .league-choices > .league-choice:focus-visible {
    border-color:var(--scrl-orange);
    background:var(--scrl-orange);
    color:#1b160d;
  }
}

/* Eight-card recognition layout: 2 cards per league group on desktop. */
.champion-grid { grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px;margin:0 auto; }
@media (max-width:600px) { .champion-grid { grid-template-columns:1fr;max-width:none; } }

/* Visitor message gate */
.message-gate { position:fixed; inset:0; z-index:2147483647; display:grid; place-items:center; padding:24px; background:rgba(8,18,13,.42); backdrop-filter:blur(4px); }
.message-gate[aria-hidden="true"] { display:none; }
.message-gate-card { width:min(100%,560px); display:grid; grid-template-columns:92px 1fr; gap:20px; align-items:center; padding:28px; border:1px solid rgba(255,255,255,.38); border-radius:28px; color:#fff; background:linear-gradient(135deg,rgba(8,48,31,.92),rgba(25,33,37,.86)); box-shadow:0 24px 70px rgba(0,0,0,.35); }
.message-gate-logo { width:92px; height:92px; border-radius:50%; object-fit:contain; background:#fff; padding:4px; }
.message-gate-card .eyebrow { color:#a9ebc1; }
.message-gate-card h2 { margin:6px 0 10px; color:#fff; font-size:clamp(1.75rem,4vw,2.35rem); line-height:1.02; }
.message-gate-card p { margin:0; color:rgba(255,255,255,.88); line-height:1.55; }
.message-gate-enter { grid-column:1/-1; justify-self:end; min-width:120px; }
.gate-enable { display:flex !important; align-items:center; gap:10px; font-weight:800; }
.gate-enable input { width:18px; height:18px; }
@media (max-width:600px) { .message-gate { padding:16px; } .message-gate-card { grid-template-columns:68px 1fr; gap:16px; padding:22px; border-radius:22px; } .message-gate-logo { width:68px; height:68px; } .message-gate-enter { justify-self:stretch; width:100%; } }
/* Force the visitor gate above every SCRL layer and relative to the visual viewport. */
html:has(.message-gate-open), body.message-gate-open { overflow:hidden; }
body > .message-gate {
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100vh !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  z-index:2147483647 !important;
}
body > .message-gate[aria-hidden="true"] { display:none !important; }
