/* FSG mobile navigation shell. See docs/game-design/FSG-MOBILE-NAVIGATION.md.
   Phones only (below 768px): site bar at the bottom, game header with mode tabs at the top,
   and neither while body.fsg-play is set. Wider screens keep each game's existing header. */
:root{--fsg-bar-h:56px;--fsg-ink:#17123b;--fsg-paper:#fff8e8;--fsg-card:#fffdf8;--fsg-orange:#ff6839;--fsg-muted:#5b5674;--fsg-yellow:#fff0a4;--fsg-lavender:#e8ddff;--fsg-mint:#dbffe9;--fsg-accent-yellow:#ffd64e;--fsg-accent-green:#69e4a1;--fsg-radius:14px;--fsg-border:2px;--fsg-shadow:3px 4px 0 var(--fsg-ink);--fsg-nav-clearance:0px;--fsg-bottom-clearance:calc(var(--fsg-bar-h) + env(safe-area-inset-bottom,0px))}
body.fsg-shell{--ink:var(--fsg-ink);--orange:var(--fsg-orange);--yellow:var(--fsg-accent-yellow);--green:var(--fsg-accent-green);font-family:system-ui,sans-serif}
.fsg-gh,.fsg-bb{display:none}
@media (max-width:767px){
  body.fsg-shell header.fsg-gh{display:block;height:auto;max-width:none;margin:0;padding:env(safe-area-inset-top,0px) 0 0;justify-content:initial;align-items:initial;position:sticky;top:0;z-index:30;background:rgba(255,248,232,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-top:env(safe-area-inset-top,0px);border-bottom:2px solid var(--fsg-ink);color:var(--fsg-ink)}
  .fsg-gh-row{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 10px 0 4px}
  .fsg-back{display:inline-flex;align-items:center;gap:2px;min-height:44px;min-width:44px;padding:0 8px 0 4px;color:var(--fsg-ink);text-decoration:none;font:800 14px/1 system-ui,sans-serif}
  .fsg-back svg{width:20px;height:20px;flex:none}
  .fsg-gh-title{margin:0 0 0 auto;min-width:0;font:900 17px/1.15 system-ui,sans-serif;letter-spacing:-.02em;text-align:right}
  .fsg-tabs{display:flex}
  .fsg-tab{position:relative;flex:1;min-width:0;height:var(--fsg-bar-h);display:flex;align-items:center;justify-content:center;padding:0 4px;border:0;background:none;color:var(--fsg-muted);font:800 13px/1 system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
  .fsg-tab[aria-current=page]{color:var(--fsg-ink);font-weight:900}
  .fsg-tab[aria-current=page]::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--fsg-orange)}
  .fsg-tab.fsg-soon{color:var(--fsg-muted)}
  .fsg-tab:disabled{cursor:default;opacity:.65}
  .fsg-tab:focus-visible,.fsg-bb a:focus-visible,.fsg-back:focus-visible{outline:3px solid var(--fsg-orange);outline-offset:-3px}
  .fsg-tab:active,.fsg-bb a:active{background:var(--fsg-yellow)}
  body.fsg-shell:not(.fsg-play){--fsg-nav-clearance:var(--fsg-bottom-clearance)}
  .fsg-tab-short{display:none}
  body.fsg-shell .fsg-bb{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--fsg-card);border-top:2px solid var(--fsg-ink);padding-bottom:env(safe-area-inset-bottom,0px)}
  .fsg-bb ul{display:flex;height:var(--fsg-bar-h);margin:0 auto;padding:0;max-width:560px;list-style:none}
  .fsg-bb li{flex:1;min-width:0}
  .fsg-bb a{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fsg-muted);text-decoration:none;font:800 11px/1 system-ui,sans-serif}
  .fsg-bb svg{width:22px;height:22px}
  .fsg-bb a[aria-current=page]{color:var(--fsg-ink);font-weight:900}
  .fsg-bb a[aria-current=page]::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--fsg-orange)}
  body.fsg-shell:not(.fsg-play) main{padding-bottom:calc(var(--fsg-bottom-clearance) + 16px)}
  body.fsg-shell:not(.fsg-play) #toast{bottom:calc(var(--fsg-bottom-clearance) + 12px)}
  body.fsg-shell.fsg-keyboard-open{--fsg-nav-clearance:0px}
  body.fsg-shell.fsg-keyboard-open .fsg-bb{display:none}
  body.fsg-shell.fsg-keyboard-open:not(.fsg-play) main{padding-bottom:16px}
  body.fsg-shell .nfl-topbar,body.fsg-shell>.topbar{display:none}
  body.fsg-shell.fsg-play .fsg-gh,body.fsg-shell.fsg-play .fsg-bb{display:none}
}
@media (max-width:359px){.fsg-tab-full{display:none}.fsg-tab-short{display:inline}.fsg-tab{font-size:12px}}
