.st-wrap { max-width: 560px; margin: 0 auto; text-align: center; }
.st-tabs { display: flex; gap: .5rem; justify-content: center; margin-bottom: 1.5rem; }
.st-tab { padding: .6rem 1.8rem; border: 1px solid #cbd5e1; background: #fff; border-radius: 999px; font-weight: 600; cursor: pointer; font-size: 1rem; }
.st-tab.active { background: #2563eb; border-color: #2563eb; color: #fff; }
.st-display { font-size: clamp(2.6rem, 9vw, 4.2rem); font-weight: 800; font-variant-numeric: tabular-nums; color: #0f172a; margin: 1rem 0 1.5rem; letter-spacing: .02em; }
.st-btns { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }
.st-btn { padding: .7rem 1.8rem; border-radius: 999px; font-weight: 700; font-size: 1rem; cursor: pointer; border: 1px solid #cbd5e1; background: #fff; }
.st-btn:hover:not(:disabled) { background: #f1f5f9; }
.st-btn:disabled { opacity: .4; cursor: not-allowed; }
.st-go { background: #2563eb; border-color: #2563eb; color: #fff; min-width: 120px; }
.st-go:hover { background: #1d4ed8; }
.st-laps { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .4rem; text-align: left; max-height: 260px; overflow-y: auto; }
.st-laps li { display: flex; justify-content: space-between; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: .55rem .9rem; font-variant-numeric: tabular-nums; }
.st-set { display: flex; gap: .8rem; justify-content: center; margin-bottom: 1.25rem; flex-wrap: wrap; }
.st-set label { display: grid; gap: .3rem; font-weight: 600; font-size: .9rem; }
.st-set input { width: 84px; padding: .6rem; font-size: 1.1rem; text-align: center; border: 1px solid #cbd5e1; border-radius: 8px; }
.st-done { font-size: 1.6rem; font-weight: 800; color: #16a34a; margin-top: 1.25rem; animation: stPulse 1s infinite; }
@keyframes stPulse { 50% { opacity: .5; } }
