.season-preview { padding:16px 12px 26px; max-width:460px; margin:0 auto; }
.season-preview h2 { margin:0 0 8px; font-size:22px; }
.season-preview label { display:block; margin:14px 0 5px; font-weight:600; }
.season-preview select { width:100%; min-height:44px; font:inherit; padding:8px; border:1px solid var(--line,#888); border-radius:8px; background:var(--card,#fff); color:var(--ink,#172d39); }
.season-preview .ar-navbtn { min-height:44px; margin:6px 4px 6px 0; }
.sp-notice { font-size:13px; line-height:1.5; opacity:.8; }
.sp-daynav { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:5px; font-size:13px; }
.sp-daynav button { flex:1; font-size:12px; padding:8px 6px; margin-right:0 !important; }
.sp-daynav button:disabled { opacity:.4; cursor:default; }
.sp-daynav b { white-space:nowrap; font-size:12px; }
.sp-saves { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:12px 0 4px; }
.sp-saves summary { display:list-item; min-height:44px; padding:12px 0; box-sizing:border-box; cursor:pointer; font-size:13px; font-weight:600; }
.sp-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding-top:8px; }
.sp-tools .ar-navbtn { display:flex; align-items:center; justify-content:center; margin:0; padding:8px; text-align:center; box-sizing:border-box; }
.sp-import { position:relative; overflow:hidden; font-weight:normal !important; font-size:13px; }
.sp-import input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.season-preview.sp-active { padding:0; }
.sp-playing { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:44px; border-bottom:1px solid var(--line); margin-bottom:6px; }
.sp-playing b,.sp-playing output { font-size:11px; white-space:nowrap; }
.sp-playing .ar-navbtn { margin:0; padding:8px; font-size:12px; }
.season-preview .sp-exit { background:transparent; border-color:transparent; color:var(--ink-2); font-size:12px; padding:8px; }
.season-preview #spGame .ar-game { margin-left:0; margin-right:0; }
/* Reserve the compact preview breadcrumb, retaining the native canvas ratio. */
.season-preview #spGame .ac-game { --ac-scene-width:min(100%,max(220px,calc(72dvh - 314px))); }
.season-preview #spGame .ac-direction-game { --ac-scene-width:min(100%,max(210px,calc(72dvh - 350px))); }
/* Blink's two-row controls recover space, while the preview breadcrumb still
   needs roughly 30px more height than ordinary practice. */
@media (min-width:360px) and (max-width:430px) {
  .season-preview #spGame .blink-chase-game { --ac-scene-width:min(100%,max(230px,calc(72dvh - 285px))); }
}
