/* 線上碼表頁專用樣式；共用元件沿用 site.css */
.sw-stage { background: #fff; border-radius: 12px; padding: 4px 0; }
.sw-stage:fullscreen { display: flex; flex-direction: column; justify-content: center; padding: 24px; overflow: auto; }
.sw-stage:fullscreen .sw-disp { font-size: min(20vw, 30vh); }
.sw-exit { display: none; margin: 8px auto 0; min-height: 48px; }
.sw-stage:fullscreen .sw-exit { display: block; }
.sw-disp { display: block; text-align: center; font-variant-numeric: tabular-nums; font-size: clamp(3rem, 16vw, 6rem); font-weight: 800; line-height: 1.2; color: var(--brand-dark); margin: 8px 0; overflow-wrap: anywhere; }
.sw-ctl { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.sw-ctl .btn { flex: 1 1 100px; min-height: 52px; font-size: 1.1rem; }
.sw-lapwrap { margin: 8px 0; }
.sw-lapwrap[hidden] { display: none; }
.sw-laphead, .sw-laps li { display: grid; grid-template-columns: 4.5em 1fr 1fr; gap: 8px; padding: 6px 2px; font-variant-numeric: tabular-nums; font-size: 1rem; }
.sw-laphead { font-weight: 700; border-bottom: 2px solid var(--line); color: var(--muted); }
.sw-laps { list-style: none; padding: 0; margin: 0; max-height: 280px; overflow: auto; }
.sw-laps li { border-bottom: 1px solid var(--line); }
.sw-laps li > * { min-width: 0; }
