.jump-to-top { display:none; }
@media (max-width: 700px) {
  :root { --mobile-nav-height: 68px; }
  html, body, #app, .shell, #app-content { width:100%; max-width:100%; }
  body { overflow-x:hidden; }
  html { scroll-padding-top: 58px; scroll-padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 18px); }
  .shell { min-height: 100dvh; padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)); }
  .page { padding: 18px 12px calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 24px); }
  .page-title { margin-bottom: 16px; }
  .page h1 { font-size: 34px; }
  .panel { padding: 14px; }
  .section-head { gap:10px; align-items:flex-start; }
  .section-head h2 { font-size:20px; }
  .topbar { position:sticky; }
  .topbar-inner { min-height:50px; }
  .bottom-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); min-height:var(--mobile-nav-height); padding-bottom:env(safe-area-inset-bottom); background:rgba(7,17,31,.98); box-shadow:0 -8px 20px rgba(0,0,0,.2); }
  .bottom-nav a { min-width:0; min-height:60px; display:grid; place-content:center; gap:2px; padding:5px 2px; font-size:10px; line-height:1.05; }
  .bottom-nav a span { line-height:1; }
  .bottom-nav a.active { color:var(--ice); }
  .bottom-nav a.active span { color:var(--text); }
  #team-selection, #season-calendar, .performance-table { scroll-margin-top:64px; }
  .player-table-wrap { max-height: none; overflow: visible; }
  .player-table-head { display: none; }
  .player-athlete-row { min-width: 0; grid-template-columns: 16px minmax(0, 1fr) 40px 52px 66px; gap: 6px; padding: 11px 8px; }
  .player-athlete-row > span:nth-of-type(2),
  .player-athlete-row > span:nth-of-type(3),
  .player-athlete-row > span:nth-of-type(6),
  .player-athlete-row > span:nth-of-type(7),
  .player-athlete-row > span:nth-of-type(8),
  .player-athlete-row > span:nth-of-type(9) { display: none; }
  .player-athlete-name small { display: none; }
  .player-nation { justify-content:center; }
  .player-nation small { display:none; }
  .player-points { text-align:right; }
  .player-price { font-size:12px; }
  .player-athlete-row .row-action { min-width:0; padding:6px 7px!important; }
  .player-expand { grid-column: 1 / -1; padding: 12px 4px 2px; }
  .squad-table { overflow: visible; }
  .squad-table-head { display:none; }
  .squad-athlete-row { min-width:0; grid-template-columns:minmax(0,1fr) 58px 64px; gap:8px; }
  .squad-athlete-row > span:nth-of-type(2), .squad-athlete-row > span:nth-of-type(3), .squad-athlete-row > span:nth-of-type(4) { display:none; }
  .performance-table { overflow:visible; }
  .performance-mobile-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:0 0 10px; border-bottom:1px solid var(--line); }
  .performance-mobile-summary span { display:grid; gap:2px; min-width:0; }
  .performance-mobile-summary small { color:var(--muted); font-size:10px; text-transform:uppercase; }
  .performance-mobile-summary b { font-size:14px; font-variant-numeric:tabular-nums; }
  .performance-head { display:none; }
  .performance-row summary { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; padding:11px 2px; }
  .performance-row summary > span:first-child { grid-column:1 / -1; }
  .performance-row summary > span:nth-of-type(2) { display:none; }
  .performance-row summary > span:nth-of-type(3),
  .performance-row summary > span:nth-of-type(4),
  .performance-row summary > span:nth-of-type(5),
  .performance-row summary > span:nth-of-type(6) { display:flex; align-items:baseline; gap:4px; font-size:12px; }
  .performance-row summary > span:nth-of-type(3)::before { content:"WC"; color:var(--muted); font-size:10px; text-transform:uppercase; }
  .performance-row summary > span:nth-of-type(4)::before { content:"Game"; color:var(--muted); font-size:10px; text-transform:uppercase; }
  .performance-row summary > span:nth-of-type(5)::before { content:"Bonus"; color:var(--muted); font-size:10px; text-transform:uppercase; }
  .performance-row summary > span:nth-of-type(6)::before { content:"Counted"; color:var(--muted); font-size:10px; text-transform:uppercase; }
  .performance-row summary > span:nth-of-type(6) { justify-self:end; text-align:right; }
  .performance-races { padding:0 2px 8px; }
  .performance-races > div { display:grid; gap:3px; line-height:1.35; }
  .performance-total { padding:12px 2px; }
  .table-wrap { overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .standings-table-wrap { overflow:visible; }
  .standings-table-wrap .table,
  .standings-table-wrap .table tbody { display:block; width:100%; }
  .standings-table-wrap .table thead { display:none; }
  .standings-table-wrap .table tr { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:3px 8px; padding:11px 0; border-bottom:1px solid var(--line); }
  .standings-table-wrap .table td { min-width:0; border:0; padding:0; white-space:normal; }
  .standings-table-wrap .table td:nth-child(1) { grid-row:1 / span 2; align-self:center; color:var(--ice); font-weight:800; }
  .standings-table-wrap .table td:nth-child(2) { grid-column:2; }
  .standings-table-wrap .table td:nth-child(3) { grid-column:2; color:var(--muted); font-size:12px; }
  .standings-table-wrap .table td:nth-child(4),
  .standings-table-wrap .table td:nth-child(5),
  .standings-table-wrap .table td:nth-child(6) { grid-row:1; font-size:12px; text-align:right; }
  .standings-table-wrap .table td:nth-child(4) { grid-column:3; }
  .standings-table-wrap .table td:nth-child(5) { grid-column:3; grid-row:2; color:var(--muted); }
  .standings-table-wrap .table td:nth-child(6) { grid-column:1; grid-row:3; text-align:left; }
  .standings-team-link { display:inline-flex; margin-left:6px; color:var(--ice); font-size:11px; text-decoration:none; }
  .standings-controls { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:8px; }
  .mobile-hub-list { display:grid; border-top:1px solid var(--line); }
  .mobile-hub-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:11px 0; border-bottom:1px solid var(--line); text-decoration:none; }
  .mobile-hub-list a:hover { color:var(--ice); }
  .mobile-hub-list span { display:grid; gap:3px; min-width:0; }
  .mobile-hub-list small { color:var(--muted); line-height:1.25; }
  .mobile-hub-list b { font-size:24px; color:var(--ice); }
  .mobile-attention { position:absolute; top:4px; right:calc(50% - 18px); display:grid; place-items:center; min-width:14px; height:14px; padding:0 3px; border-radius:999px; background:var(--red); color:white; font-size:9px; line-height:1; }
  .bottom-nav a { position:relative; }
  .jump-to-top { display:block; position:fixed; right:14px; bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px); z-index:21; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:var(--snow); color:#07111f; font-size:20px; font-weight:850; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .16s ease,transform .16s ease; }
  .show-jump-to-top .jump-to-top { opacity:1; pointer-events:auto; transform:translateY(0); }
  .mobile-sort { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:11px; }
  .mobile-sort select { min-height:30px; max-width:106px; padding:4px 22px 4px 6px; font-size:11px; }
  .directory-controls { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px; }
  .season-points-toggle button { padding:6px 7px; font-size:11px; }
  .topbar-inner { padding:9px 12px; }
  .brand { font-size:13px; }
  .brand-mark { width:30px; height:30px; }
}

@media(min-width:701px) { .performance-mobile-summary { display:none; } }
.first-week-checklist { padding-bottom:0; }
.first-week-checklist .panel { margin-bottom:0; }
.setup-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.setup-checks a { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; padding:10px; border:1px solid var(--line); border-radius:6px; color:var(--text); text-decoration:none; font-size:13px; font-weight:800; }
.setup-checks a:hover { border-color:var(--ice); }
.setup-checks b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:rgba(143,213,255,.12); color:var(--ice); }
.setup-checks small { grid-column:2; color:var(--muted); font-size:11px; font-weight:400; line-height:1.3; }
.setup-checks .done b { background:rgba(57,217,138,.14); color:var(--green); }
@media(max-width:700px) { .setup-checks { grid-template-columns:1fr; gap:0; border-top:1px solid var(--line); } .setup-checks a { border-width:0 0 1px; border-radius:0; padding:10px 0; } .setup-checks a:last-child { border-bottom:0; } }
