.tm-stage{text-align:center;padding:26px 18px 22px}
.tm-status{font-weight:700;color:var(--muted);font-size:15px;min-height:24px}
.tm-digits{font-size:clamp(72px,22vw,132px);font-weight:700;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:8px 0 16px;color:var(--text);white-space:nowrap}
.tm-digits.long{font-size:clamp(54px,16vw,112px)}
.tm-bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;max-width:520px;margin:0 auto}
.tm-bar i{display:block;height:100%;width:0;min-width:0;background:var(--brand);border-radius:inherit;transition:width .3s linear}
.tm-end{min-height:22px;margin-top:10px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.tm-ctrl{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin:16px auto 0;max-width:520px}
.tm-ctrl .btn{padding:0 10px}
.tm-stage.is-running .tm-status{color:var(--brand)}
.tm-stage.is-done .tm-status{color:var(--bad)}
.tm-stage.is-done .tm-digits{color:var(--bad);animation:tm-blink 1s steps(2,start) infinite}
.tm-stage.is-done .tm-bar i{background:var(--bad)}
@keyframes tm-blink{50%{opacity:.3}}
.tm-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tm-presets .chip{min-height:42px;padding:6px 4px;font-size:15px;font-weight:600}
@media (min-width:600px){.tm-presets{grid-template-columns:repeat(7,minmax(0,1fr))}}
.tm-hms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tm-hms .input{text-align:center;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.tm-opts .grow{flex-basis:200px}
.tm-keys kbd{font:12px var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}
@media (hover:none){.tm-keys{display:none}}
.tm-stage:fullscreen{width:100vw;height:100vh;border-radius:0;border:0;align-content:center}
.tm-stage:fullscreen .tm-digits{font-size:min(25vw,46vh)}
.tm-stage:fullscreen .tm-digits.long{font-size:min(18vw,40vh)}
.tm-stage:fullscreen .tm-status{font-size:clamp(16px,2.6vw,28px)}
.tm-stage:fullscreen .tm-bar{width:70vw;max-width:none}
.tm-stage:fullscreen .tm-ctrl{width:min(560px,90vw)}
.tm-ctrl .btn{min-width:0;white-space:normal;line-height:1.15;padding:0 6px;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:480px){.tm-ctrl{grid-template-columns:1.2fr 1fr 1fr}.tm-ctrl .btn{font-size:15px}}
