.sw-custom{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap;font-size:14px;font-weight:600}
.sw-custom input{width:84px;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--paper);font:700 16px var(--mono);text-align:right}
.sw-custom input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.sw-custom .secondary-button{min-height:40px;padding:6px 14px}
.sw-stage{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px;padding:28px 16px;border-radius:16px;background:var(--paper);text-align:center}
.sw-target{margin:0;font-weight:700;color:var(--accent)}
.sw-display{margin:0;font:800 clamp(56px,16vw,104px)/1 var(--mono);letter-spacing:-2px;font-variant-numeric:tabular-nums}
.sw-display.masked{color:var(--muted)}
.sw-toggle{width:min(100%,280px);min-height:64px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:22px;font-weight:800;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.sw-toggle.running{background:var(--ink);color:var(--surface)}
.sw-toggle:focus-visible{outline:4px solid var(--accent);outline-offset:4px}
.sw-hint{margin:0;font-size:13px;color:var(--muted)}
.sw-check{margin-top:4px;justify-content:center}
.sw-check small{padding-left:0;text-align:center}
.sw-best{margin:0;font-size:13px;color:var(--muted)}
.sw-best strong{font-family:var(--mono);color:var(--ink)}
.sw-rating{font-weight:700}
#result-title[data-sign="early"]::after{content:' ◀'}
#result-title[data-sign="late"]::after{content:' ▶'}
.sw-history{margin-top:18px}
.sw-history h3{font-size:14px;margin:0 0 8px}
.sw-history ol{margin:0;padding-left:20px;display:grid;gap:4px;font:13px var(--mono);color:var(--muted)}
.sw-history li:first-child{color:var(--ink);font-weight:700}
