.sw-stage{text-align:center;padding:30px 18px 20px}
.sw-digits{font-size:clamp(60px,18.5vw,124px);font-weight:700;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}
.sw-digits small{font-size:.62em;font-weight:600;color:var(--muted)}
.sw-digits.long{font-size:clamp(44px,13.5vw,100px)}
.sw-lapnow{margin-top:8px;color:var(--muted);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;min-height:26px}
.sw-ctrl{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;margin:18px auto 0;max-width:520px}
.sw-ctrl .btn{padding:0 10px}
.sw-stage.is-running .sw-digits small{color:var(--brand)}
.sw-keys{margin:14px 0 0}
.sw-keys kbd{font:12px var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}
@media (hover:none){.sw-keys{display:none}}
.sw-laphead .label{display:flex;align-items:center;gap:8px}
#sw-wrap{max-height:420px;overflow-y:auto}
.sw-table td,.sw-table th{font-size:15px}
.sw-table td:first-child{color:var(--muted)}
.sw-table tr.best td{color:var(--good);font-weight:700}
.sw-table tr.worst td{color:var(--bad);font-weight:700}
.sw-table .badge{margin-left:6px;vertical-align:1px}
.sw-stage:fullscreen{width:100vw;height:100vh;border-radius:0;border:0;align-content:center}
.sw-stage:fullscreen .sw-digits{font-size:min(19vw,40vh)}
.sw-stage:fullscreen .sw-digits.long{font-size:min(14vw,34vh)}
.sw-stage:fullscreen .sw-lapnow{font-size:clamp(18px,3vw,32px)}
.sw-stage:fullscreen .sw-ctrl{width:min(560px,90vw)}
.sw-ctrl .sw-stop{background:var(--bad);border-color:var(--bad)}
.sw-ctrl .sw-stop:hover{background:var(--bad);filter:brightness(1.08)}
.sw-ctrl .btn{min-width:0;white-space:normal;line-height:1.15;padding:0 6px;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:480px){.sw-ctrl .btn{font-size:15px}}
