/* Dedicated timer interface using the BuildWise/CalcWise design tokens. */
.timer-widget{margin:26px 0 32px}.timer-tool-mark{color:var(--brand);display:flex}.timer-stage{padding:28px 24px 18px;background:var(--surface);text-align:center}.timer-indicators{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.85rem;font-weight:600;min-height:28px}.timer-progress{height:5px;border-radius:4px;overflow:hidden;background:var(--surface-3);margin:12px 0 22px}.timer-progress span{display:block;background:var(--brand);height:100%;transition:width .1s linear}.timer-readout{font-family:var(--mono);font-size:clamp(2.6rem,7vw,5rem);font-weight:750;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap;margin:16px 0 8px;color:var(--text)}.timer-status{color:var(--muted);font-size:.9rem;min-height:26px;margin:0 0 22px}.timer-buttons{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.timer-buttons .btn{min-width:105px}.timer-utilities{display:flex;justify-content:center;align-items:center;gap:8px 23px;flex-wrap:wrap;margin-top:17px}.sound-pick{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:.85rem;min-height:44px}.sound-pick input{accent-color:var(--brand);width:17px;height:17px}.timer-utilities .btn-link{font-size:.8rem}.timer-settings{border-top:1px solid var(--border);background:var(--surface-2);padding:18px 24px}.timer-settings fieldset{border:0;padding:0;margin:0;min-width:0}.timer-settings legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:14px}.timer-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.timer-fields .field{margin:0}.timer-fields label{font-size:.8rem}.timer-fields .input-wrap input{width:100%}.timer-fields input[aria-invalid=true]{outline:2px solid #dc2626;outline-offset:-2px}.timer-fields input:disabled{opacity:.6;cursor:not-allowed}.preset-area{padding:17px 24px;border-top:1px solid var(--border);background:var(--surface)}.preset-area>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:10px}.timer-presets{display:flex;flex-wrap:wrap;gap:8px}.preset{font:inherit;font-size:.8rem;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text-2);padding:9px 12px;cursor:pointer;min-height:40px}.preset:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.timer-footnote{border-top:1px solid var(--border);padding:14px 24px;background:var(--surface-2)}.timer-footnote p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.8}.sequence-summary{font-size:.8rem;color:var(--muted);margin:0;padding:14px 24px;border-top:1px solid var(--border)}.laps-area{padding:8px 24px 18px}.laps-area .table-wrap{margin:10px 0 0;max-height:330px}.laps-area p{text-align:center;padding:16px}.laps-area td{font-variant-numeric:tabular-nums;font-family:var(--mono)}.btn:disabled,.preset:disabled{opacity:.45;cursor:not-allowed;transform:none}.timer-stage.is-done{background:var(--brand-soft);box-shadow:inset 0 0 0 3px var(--brand)}.timer-stage.is-done .timer-status{color:var(--brand);font-weight:750}.watch-readout{font-size:clamp(2rem,5.8vw,4rem)}#timer-feedback{min-height:0}.timer-stage:is(:fullscreen,.is-expanded){background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:6vw;overflow:auto}.timer-stage:is(:fullscreen,.is-expanded) .timer-readout{font-size:clamp(3rem,14vw,14rem)}.timer-stage:is(:fullscreen,.is-expanded) .watch-readout{font-size:clamp(2.6rem,10vw,10rem)}.timer-stage:is(:fullscreen,.is-expanded) .timer-status{font-size:1.2rem}.timer-stage:is(:fullscreen,.is-expanded) .timer-indicators{font-size:1.1rem}.timer-stage:is(:fullscreen,.is-expanded) .timer-progress{min-height:7px}.timer-stage:is(:fullscreen,.is-expanded) .timer-buttons .btn{min-height:55px;font-size:1.1rem}.timer-stage:is(:fullscreen,.is-expanded) .timer-utilities{margin-top:30px}.timer-stage:is(:fullscreen,.is-expanded) #timer-feedback{color:var(--muted)}
@media(max-width:500px){.timer-stage{padding:20px 15px 14px}.timer-readout{font-size:clamp(2rem,10.8vw,3.2rem)}.watch-readout{font-size:clamp(1.6rem,8.2vw,2.7rem)}.timer-fields{gap:8px}.timer-settings{padding:17px 15px}.timer-fields label{font-size:.72rem;min-height:36px}.timer-fields input{padding:8px}.timer-buttons{gap:8px}.timer-buttons .btn{min-width:0;font-size:.85rem;padding:0 13px}.timer-utilities{gap:4px 13px}.timer-footnote{padding:12px 15px}.timer-presets{gap:7px}.preset{font-size:.75rem;padding:8px 10px}.preset-area{padding:15px}.timer-stage:is(:fullscreen,.is-expanded) .timer-readout{font-size:12vw}.timer-stage:is(:fullscreen,.is-expanded) .watch-readout{font-size:9vw}.timer-stage:is(:fullscreen,.is-expanded) .timer-buttons .btn{font-size:.85rem;padding:0 10px}.timer-stage:is(:fullscreen,.is-expanded) .timer-indicators{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.timer-progress span{transition:none}}

.timer-stage.is-expanded{position:fixed;inset:0;z-index:1000;max-height:100dvh}
