/* Shared private-league home and footer. Keep type crisp on a quiet warm canvas. */
.private-league-hub { padding:40px 0 66px; color:#181c20; }
.private-league-hub-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:36px; }
.private-league-eyebrow { display:block; margin-bottom:12px; color:#565a57; font-size:12px; font-weight:800; letter-spacing:.14em; }
.private-league-hub h1 { margin:0; font:900 clamp(42px,5.8vw,76px)/.95 var(--font-display); letter-spacing:-.02em; }
.private-league-hub h1>span { color:#d84418; }
.private-league-hub-heading p { margin:18px 0 0; max-width:570px; color:#4a504d; font-size:16px; line-height:1.65; }
.private-league-hub-heading nav { display:flex; gap:10px; flex-wrap:wrap; flex:none; }
.private-league-hub :is(a,button) { box-sizing:border-box; min-height:44px; border-radius:0; font-family:inherit; font-size:14px; font-weight:800; line-height:1.4; }
.private-league-hub :is(a,button):focus-visible { outline:3px solid #275aab; outline-offset:4px; }
.private-league-hub-heading nav a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 18px; background:#1a2224; color:#fff; text-decoration:none; border:1px solid #1a2224; }
.private-league-hub-heading nav a:last-child { background:transparent; color:#1a2224; border-color:#858c84; }
.private-league-hub-heading nav a:hover { background:#e7ff50; color:#1a2224; border-color:#738d22; }
.private-league-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 0 16px; border-bottom:1px solid #b8bcb3; margin-bottom:24px; }
.private-league-toolbar>div { display:flex; gap:6px; }
.private-league-toolbar button { display:flex; align-items:center; gap:10px; padding:9px 14px; border:1px solid transparent; background:transparent; color:#505a52; cursor:pointer; }
.private-league-toolbar button[aria-pressed=true] { border-color:#202b25; color:#182019; background:#edf1e5; }
.private-league-toolbar button>span { padding:1px 7px; background:#dae2cf; color:#273823; font-size:12px; }
.private-league-toolbar>span { color:#555e55; font-size:13px; }
.private-league-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.private-league-card { --league-accent:#dff34e; min-width:0; background:#111a1d; color:#f4f7f6; border:1px solid #35464d; border-top:4px solid var(--league-accent); }
.private-league-card.strandstack { --league-accent:#77c4fb; }
.private-league-card>header { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:20px 24px 0; }
.private-league-game { color:var(--league-accent); font:800 20px var(--font-display); letter-spacing:.03em; }
.private-league-state { display:flex; align-items:center; gap:7px; color:#c1cdd1; font-size:13px; }
.private-league-state i { width:6px; height:6px; background:#adbbc0; }
.private-league-state[data-status=ready] { color:#e7ff50; }
.private-league-state[data-status=ready] i { background:#e7ff50; }
.private-league-card-main { padding:27px 24px 28px; }
.private-league-sport { font-size:12px; color:#b6c6cc; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.private-league-sport>span { padding:0 8px; color:#788e98; }
.private-league-card h2 { margin:8px 0 12px; font:800 clamp(30px,3vw,42px)/1.1 var(--font-display); overflow-wrap:anywhere; }
.private-league-card h2>a { color:#f4f7f6; text-decoration:none; font:inherit; }
.private-league-card h2>a:hover { color:var(--league-accent); }
.private-league-card-main p { margin:0; font-size:14px; color:#c1cdd1; }
.private-league-card>footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; border-top:1px solid #35464d; background:#182428; }
.private-league-card .private-league-open { display:flex; align-items:center; gap:22px; color:var(--league-accent); text-decoration:none; }
.private-league-open>span { font-size:24px; }
.private-league-card>footer>div { display:flex; gap:8px; }
.private-league-card button { padding:9px 12px; background:transparent; color:#d1dadd; border:1px solid #647c86; cursor:pointer; }
.private-league-card button:hover { background:#2d4047; color:#fff; }
.private-league-hub button:disabled { opacity:.7; cursor:wait; }
.private-league-feedback { padding:16px; margin:16px 0; border-left:3px solid #49692c; background:#edf1e4; color:#293821; font-size:15px; }
.private-league-feedback[role=alert] { border-color:#a8422d; background:#fae9e2; color:#782d1d; }
.private-league-feedback button { margin-left:14px; padding:8px 14px; }
.private-league-archive-note { color:#465047; font-size:15px; line-height:1.6; }
.private-league-empty { padding:42px 24px; background:#efeee8; border:1px dashed #959e8e; text-align:center; }
.private-league-empty>span { font-size:40px; color:#546c2d; }
.private-league-empty h2 { font:800 32px var(--font-display); }
.private-league-empty p { font-size:16px; color:#4c554b; }
.private-league-delete { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding:24px; border:1px solid #a34a37; background:#faece5; }
.private-league-delete h2 { margin:0; font:800 28px var(--font-display); }
.private-league-delete p { max-width:670px; margin-bottom:0; font-size:15px; line-height:1.6; }
.private-league-delete>div:last-child { display:flex; gap:10px; flex:none; }
.private-league-delete button { padding:12px 16px; background:transparent; color:#712c1d; border:1px solid #a34a37; cursor:pointer; }
.private-league-delete button:last-child { background:#873923; color:#fff; }
/* One deliberate footer, with readable links and a firm baseline. */
body .play-shell>.play-footer.compete-editorial-footer { display:grid; grid-template-columns:auto minmax(200px,1fr); gap:22px 40px; align-items:start; margin-top:12px; padding:30px 0 28px; border-top:2px solid #252d28; color:#4a514a; }
body .compete-editorial-footer .wordmark { margin:0; align-self:start; font-size:22px; }
body .compete-editorial-footer>p { order:0; margin:0; max-width:600px; font-size:14px; line-height:1.65; letter-spacing:.03em; color:#454e45; }
body .compete-editorial-footer>nav { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px 28px; margin:0; padding-top:16px; border-top:1px solid #c7cbc2; }
body .compete-editorial-footer>nav a { min-height:44px; display:flex; align-items:center; font-size:13px; line-height:1.45; letter-spacing:.025em; color:#384239; text-decoration:none; }
body .compete-editorial-footer>nav a:hover { color:#a73816; text-decoration:underline; text-underline-offset:5px; }
body .compete-editorial-footer>nav a:focus-visible { outline:2px solid #275aab; outline-offset:4px; }
body .compete-editorial-footer>span:last-child { font-size:12px; color:#535f53; }
@media(max-width:1000px) {
  .private-league-hub-heading { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media(max-width:700px) {
  .private-league-hub { padding:28px 0 40px; }
  .private-league-cards { grid-template-columns:minmax(0,1fr); }
  .private-league-toolbar { align-items:flex-start; flex-wrap:wrap; }
  .private-league-toolbar>span { display:none; }
  .private-league-card>header { padding:20px 18px 0; }
  .private-league-card-main { padding:24px 18px; }
  .private-league-card>footer { padding:14px 18px; }
  .private-league-hub-heading nav { width:100%; }
  .private-league-hub-heading nav a { flex:1; gap:12px; }
  .private-league-delete { align-items:flex-start; flex-direction:column; }
  .private-league-delete>div:last-child { flex-wrap:wrap; }
  body .play-shell>.play-footer.compete-editorial-footer { grid-template-columns:minmax(0,1fr); gap:18px; }
  body .compete-editorial-footer>nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 18px; }
}
/* The same surface and type rules continue through every Compete destination. */
body .play-shell .compete-subnav .compete-subnav-link { font-size:14px; letter-spacing:.035em; border-radius:0; }
body .play-shell .compete-subnav .compete-subnav-link.is-utility { border-radius:0; }
body .play-shell .play-header.global-header nav a { color:#bdc6d3; }
body .play-shell .play-header.global-header nav a.active { color:#fff; }
body :is(.compete-landing-shell,.compete-experience-shell,.compete-commissioner-shell) :is(.play-wrap>section,.play-signin,.play-hero,.strand-line-hero,.strand-line-builder,.line-lock-visual,.strand-line-final,.strand-line-byes,.strand-line-trades,.line-sunday-control,.line-pool-picker button,.line-mode-picker button,.line-pool-rule,.line-builder-controls,.line-team,.line-balance-note,.college-field-note,.compete-choice-card,.compete-comparison>div,.private-game-choice-grid>article,.commissioner-hero,.commissioner-authority article,.commissioner-preflight,.commissioner-controls article,.commissioner-troubleshooting article,.deck-create,.deck-join,.deck-invitation,.deck-lobby,.deck-draft,.deck-roster,.deck-room,.stack-score-playground,.ownership-pitch,.public-compete-demo,.public-compete-faq,.compete-player-faq,.line-tiebreak-board,.line-scoring-playground,.stack-player-guide) { border-radius:0; }
body .compete-experience-shell .play-wrap>section { box-shadow:none; }
body :is(.compete-landing-shell,.compete-experience-shell,.compete-commissioner-shell) :is(.strand-line-copy>p,.play-hero p,.commissioner-hero p,.commissioner-runbook p,.commissioner-authority p,.commissioner-controls p,.commissioner-troubleshooting p,.strand-line-builder>header p,.line-sunday-control>header p,.strand-line-rules>header p,.compete-player-faq p,.stack-player-guide p,.public-compete-faq p) { font-size:16px; line-height:1.65; }
body .compete-experience-shell :is(.line-mode-picker button>small,.line-pool-picker button>small,.line-pool-rule p,.line-builder-readout small,.line-builder-controls label>span,.line-builder-controls legend,.deck-create label>span,.deck-join label>span,.deck-lobby p,.deck-lobby small,.stack-player-guide small,.scoring-explainer small) { font-size:14px; line-height:1.55; }
body .compete-experience-shell :is(.line-mode-picker button>strong,.line-pool-picker button>strong,.line-pool-rule b) { font-size:14px; line-height:1.45; }
body .compete-experience-shell :is(.line-lock-visual>header span,.line-lock-visual>header strong,.line-lock-visual>footer small,.line-lock-visual>footer strong,.line-team small,.line-score-lab>header,.line-score-lab>small) { font-size:14px; line-height:1.4; }
body .compete-experience-shell :is(.line-lock-visual,.line-score-lab,.deck-lobby,.deck-draft,.deck-roster,.deck-room) small { color:#b7c6d0; }
body .compete-experience-shell :is(.signin-actions a,.strand-line-copy>div a,.line-builder-controls button,.deck-create button,.deck-join button,.deck-lobby button,.deck-invitation button) { min-height:44px; border-radius:0; font-size:14px; }
body .compete-experience-shell :is(.line-mode-picker button,.line-pool-picker button) { gap:8px; }
body .compete-commissioner-shell :is(.commissioner-hero>div>span,.commissioner-runbook>header>span,.commissioner-authority small,.commissioner-controls small,.commissioner-preflight small,.commissioner-troubleshooting small) { font-size:14px; line-height:1.5; }
.strand-line-shell .line-room-navigation .line-manage-link { display:flex; align-items:center; min-height:44px; color:#cad9b7; font-size:14px; text-underline-offset:4px; }
@media(max-width:600px) {
  body .compete-experience-shell :is(.line-pool-rule,.line-mode-picker,.line-pool-picker) { grid-template-columns:minmax(0,1fr); }
  body .compete-experience-shell .line-lock-visual>header { gap:10px; flex-wrap:wrap; padding:12px; }
}
body .strand-stack-shell .room-actions .room-manage-link { display:flex; align-items:center; min-height:44px; padding:10px 12px; border:1px solid #607781; color:#d9e5c4; font-size:14px; text-underline-offset:4px; }
body .strand-stack-shell .room-actions .line-name-editor { display:grid; gap:8px; min-width:0; max-width:100%; }
body .strand-stack-shell .room-actions .line-name-editor label { color:#c1d0d7; font-size:14px; }
body .strand-stack-shell .room-actions .line-name-editor input { min-height:44px; width:100%; max-width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #6c8290; background:#101921; color:#fff; font-size:16px; border-radius:0; }
body .strand-stack-shell .room-actions .line-name-editor>div { display:flex; gap:8px; }
body .play-shell .private-league-hub-heading p { color:#4a504d; font-size:16px; }
body .play-shell .private-league-card-main p { color:#c1cdd1; font-size:14px; }
body .play-shell :is(.private-league-archive-note,.private-league-empty p,.private-league-delete p) { color:#465047; font-size:15px; }
body .play-shell .private-league-feedback { color:#293821; font-size:15px; }

/* Format-specific guides remain available before and after joining. */
.compete-landing-shell .compete-help-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.compete-landing-shell .compete-help-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid rgba(167,191,204,.2);border-radius:14px;background:rgba(19,33,42,.65);color:#d6e2e8;font-size:14px;font-weight:650;line-height:1.4;text-decoration:none}
.compete-landing-shell .compete-help-links a:hover{border-color:rgba(195,249,61,.55);color:#e2ff9a}
.compete-landing-shell .compete-help-links a:focus-visible{outline:2px solid #c3f93d;outline-offset:3px}
