.timer-launch,.timer-dialog{--accent:var(--timer);--accent-hover:var(--timer-hover);--accent-soft:var(--timer-soft);accent-color:var(--timer)}.timer-launch{border:1px solid var(--timer);border-radius:var(--radius);background:var(--timer-soft);justify-items:start;gap:.6rem;padding:1rem 1.25rem 1.25rem;display:grid}.timer-launch p{margin:0}.timer-launch-title{color:var(--timer);font-size:1.125rem;font-weight:700}.timer-launch button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;margin-top:.25rem;padding:.65rem 1.25rem;font-weight:600;display:inline-flex}@media (width<=44rem){.timer-launch button{justify-content:center;width:100%}}.timer-launch button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.timer-dialog .timer-actions button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;min-width:9rem;padding:.8rem 1.5rem;font-size:1.25rem;font-weight:600}.timer-dialog .timer-actions button:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.timer-dialog .timer-actions button.secondary{background:var(--surface);color:var(--accent)}.timer-dialog .timer-actions button.secondary:not(:disabled):hover{background:var(--accent-soft);border-color:var(--accent)}.timer-dialog button:disabled{opacity:.5;cursor:default}.timer-dialog{border-radius:var(--radius);background:var(--surface);width:min(38rem,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:var(--shadow);border:0;margin:min(12vh,6rem) auto auto;padding:1.25rem 2rem 2rem}.timer-dialog::backdrop{background:#1d24338c}@media (width<=40rem){.timer-dialog{width:100vw;height:100dvh;max-height:none;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));border-radius:0;margin:0}}.timer-head{justify-content:space-between;align-items:center;display:flex}.timer-head h2{margin:0;font-size:1.25rem}.timer-close{font:inherit;width:2.75rem;height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.75rem;line-height:1}.timer-close:hover{background:var(--accent-soft);color:var(--ink)}.timer-face{text-align:center;margin:.5rem 0 1rem}.timer-digits{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-size:clamp(5rem,24vw,10rem);font-weight:700;line-height:1.1}.timer-digits.is-count{color:var(--accent)}.phase-paused .timer-digits{color:var(--muted)}.phase-done .timer-digits{color:var(--error)}.timer-status{min-height:2.6rem;color:var(--accent);margin:0;font-size:1.75rem;font-weight:700}.phase-paused .timer-status{color:var(--muted)}.phase-done .timer-status{color:var(--error)}.timer-actions{justify-content:center;gap:.75rem;display:flex}.timer-settings{border-top:1px solid var(--line);gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.timer-settings[hidden]{display:none}.timer-settings .field{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid}.timer-settings legend{margin-bottom:.6rem;padding:0;font-weight:600}.timer-presets{flex-wrap:wrap;gap:.5rem;display:flex}.timer-presets .preset{font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--control-line);background:var(--surface);min-width:4rem;color:var(--ink);cursor:pointer;border-radius:8px;padding:.45rem .75rem;font-weight:600}.timer-presets .preset:hover{background:var(--accent-soft)}.timer-presets .preset[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.timer-fields{gap:1rem;display:flex}.timer-fields label{align-items:center;gap:.4rem;display:inline-flex}.timer-fields input{font:inherit;border:1px solid var(--control-line);background:var(--surface);width:4.5rem;color:inherit;border-radius:6px;padding:.4rem .5rem;font-size:max(16px,1rem)}.timer-fields input[aria-invalid=true]{border-color:var(--error)}.timer-settings .error{color:var(--error);margin:0}.timer-settings .choice{align-items:center;gap:.4rem;min-height:2rem;display:inline-flex}
