/* Mobile structure mirrors current App scores/header/tabs, not desktop marketing. */
.app-header,.mobile-only{display:none}
#app-sheet{max-width:420px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--card);color:var(--ink)}
#app-sheet::backdrop{background:#16171a66}
#app-sheet h2{font-size:20px;margin:20px 0 12px}
#app-sheet p{font-size:15px;color:var(--muted)}
#app-sheet a,#app-sheet button{display:flex;width:100%;justify-content:center;margin-top:12px}
.sheet-handle{width:32px;height:4px;margin:auto;background:var(--line);border-radius:4px}
@media(max-width:650px){
  body{padding-bottom:90px}
  .desktop-only{display:none!important}
  .tabs .mobile-only{display:inline}
  .mobile-events{display:block;margin-top:32px}
  .app-header .app-back{display:none;grid-column:1;grid-row:1}
  .app-filter{grid-column:1;grid-row:1}
  .app-search{grid-column:2;grid-row:1}
  #app-page-title{grid-column:3;grid-row:1}
  .app-about{grid-column:4;grid-row:1}
  .app-header button:last-child{grid-column:5;grid-row:1}
  body:not([data-page=scores]) .app-header .app-back{display:grid}
  body>header{display:none}
  .notice{font-size:10px;line-height:16px;padding:2px 8px;background:var(--paper);color:var(--muted)}
  .app-header{display:grid;grid-template-columns:48px 48px 1fr 48px 48px;align-items:center;height:48px;background:var(--card);color:var(--ink)}
  .app-header strong{text-align:center;font-size:15px;font-weight:800;white-space:nowrap}
  .app-header button,.app-header a{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:0;min-height:48px;color:var(--muted)}
  .app-header svg{width:21px;height:21px}
  .app-header button[aria-expanded=true],.app-header button[aria-pressed=true]{color:var(--gold-ink);background:var(--soft)}
  body:not([data-page=scores]) .app-header .app-filter,body:not([data-page=scores]) .app-header .app-search,body:not([data-page=scores]) .app-header button:last-child{visibility:hidden}
  .shell{max-width:none;padding:0}
  .intro{display:none}
  .layout,.detail-grid{display:block}
  .right{display:none}
  .layout>.panel,.narrow{border:0;border-radius:0;background:var(--paper);max-width:none}
  .side{display:none}
  .mobile-filter-open .side{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--line)}
  .side h2,.side small{display:none}
  .side button{min-height:48px;margin:0;padding:8px;text-align:center;font-size:13px;border:1px solid var(--line);border-radius:12px}
  .side button.active{box-shadow:none;background:var(--soft);border-color:var(--gold)}
  .toolbar{height:48px;padding:0 4px;gap:0;background:var(--card)}
  .toolbar button{display:block;min-width:0;min-height:48px;height:48px;padding:0;font-size:15px;line-height:1;color:var(--muted);font-weight:400}
  .toolbar button.active{font-weight:800;color:var(--ink)}
  .toolbar button.active:after{height:3px;bottom:6px}
  .search-wrap{display:none;background:var(--card);padding:8px 16px}
  .mobile-search-open .search-wrap{display:block}
  .search{font-size:13px;min-height:48px;border-radius:12px}
  .tools,.row-end{display:none}
  .league{display:none}
  .match{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 44px 16px;grid-template-rows:24px auto;gap:0 8px;min-height:92px;padding:8px 16px;background:var(--paper);border-bottom:1px solid var(--line)}
  .row-league{display:block;grid-column:1/3;grid-row:1;font-size:12px;font-weight:600;color:var(--gold-ink);line-height:20px}
  .row-star{display:block;grid-column:1;grid-row:2;align-self:center;text-align:center;font-size:21px;color:var(--muted)}
  .match .time{position:absolute;top:8px;right:22%;font-size:12px;font-weight:600;line-height:20px;white-space:nowrap}
  .time small{display:none}
  .time.live{background:#b5413520;border-radius:20px;padding:0 8px}
  .time.live:before{background:#bd8179;vertical-align:2px}
  .teams{grid-column:2;grid-row:2;font-size:15px;gap:2px;font-weight:600;padding:2px 0}
  .teams>span{line-height:24px}
  .badge{width:22px;height:22px;min-width:22px;margin-right:8px;font-size:10px}
  .score{grid-column:3;grid-row:2;font-size:20px;line-height:24px;gap:2px;font-weight:800;text-align:center}
  .row-chevron{display:block;grid-column:4;grid-row:2;align-self:center;color:var(--muted);font-size:24px;font-weight:400}
  .dates{height:56px;padding:4px 8px;gap:4px;background:var(--card)}
  .date{min-height:48px;border-radius:12px;font-size:13px;padding:4px}
  .date span{font-size:11px}
  .date.active{background:var(--gold);color:var(--ink);box-shadow:none}
  .date.active span{color:var(--gold-ink)}
  .mobile-nav{display:flex;position:fixed;z-index:20;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:6px 8px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 22px #18211f15;min-height:66px}
  .mobile-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;font-size:11px;font-weight:600;color:var(--muted);padding:0}
  .mobile-nav a>span{display:grid;place-items:center;width:46px;height:30px;border-radius:12px}
  .mobile-nav svg{width:24px;height:24px}
  .mobile-nav a.active{color:var(--gold-ink);background:transparent}
  .mobile-nav a.active>span{background:var(--soft)}
  .detail-grid>.stack>.panel{border:0;border-radius:0;background:var(--paper)}
  .detail-grid>.stack>*+*{margin:0}
  .scoreboard{position:relative;overflow:hidden;border:0;border-radius:0;padding:28px 16px 20px;background:linear-gradient(135deg,#071d24,#143f3d 60%,#321e24);color:#fffefa}
  #detail-league{color:var(--gold);font-size:12px;font-weight:600}
  .versus{grid-template-columns:1fr 110px 1fr;gap:8px;margin:28px 0;font-size:17px}
  .crest{width:40px;height:40px;font-size:17px;background:var(--card);color:var(--gold-ink);margin-bottom:12px}
  .big-score{font-size:32px;line-height:1.2}
  .big-score small{color:var(--gold);font-size:12px;line-height:1.5;margin-top:16px}
  .scoreboard>.small{color:#c1cdca;font-size:11px}
  .tabs{height:48px;padding:0;gap:0;background:var(--paper);border-bottom:1px solid var(--line)}
  .tabs button{position:relative;min-height:48px;border-radius:0;font-size:15px;padding:0}
  .tabs button.active{background:transparent;color:var(--ink);font-weight:800}
  .tabs button.active:after{content:"";position:absolute;bottom:6px;left:calc(50% - 9px);width:18px;height:3px;background:var(--gold);border-radius:3px}
  .tabcontent{padding:24px 16px}
  .stat{gap:12px;margin:24px 0}
  .detail-grid>.download-card{margin:12px 16px 0;padding:16px}
  #news{padding:16px}
  .editorial{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
  .story h2{font-size:20px;margin:12px 0;line-height:1.5}
  .story p{font-size:15px}
  .notice-state{font-size:13px}
  .article{padding:24px 16px;max-width:none}
  .article h1{font-size:20px;line-height:1.5}
  .article p{font-size:15px;line-height:1.9}
  .article .poster{padding:24px;gap:24px;margin:24px 0}
  .poster strong{font-size:28px}
  .poster>div{font-size:15px}
  #download{padding:16px}
  .download-hero{display:block;padding:20px 16px;border-radius:14px}
  .download-hero>div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center}
  .download-hero .monogram{width:64px;height:64px;border-radius:16px}
  .download-hero h1{font-size:20px;line-height:1.5;margin:16px 0 12px}
  .download-hero p{font-size:13px;max-width:30ch;margin-bottom:12px}
  .download-hero .small{font-size:12px}
  .download-hero .notice-state{padding-top:12px;font-size:12px;width:100%;max-width:none}
  .devices{display:none}
  .download-options{display:flex;flex-direction:column;gap:12px;margin-top:12px}
  .download-options article{padding:16px;border-radius:14px}
  .download-options h2{font-size:17px;margin:8px 0 12px}
  .download-options p{font-size:13px}
  .download-options a,.download-options button{min-height:48px;width:100%;border-radius:14px;font-size:15px}
  .blank{padding:40px 16px}
  .blank button{border-radius:999px;background:linear-gradient(145deg,#26282e,#16171a);color:var(--gold)}
  #app-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;border-radius:20px 20px 0 0;padding:24px 16px max(24px,env(safe-area-inset-bottom))}
}
