.fx-timer{display:grid;gap:var(--fh-space-4);padding:clamp(var(--fh-space-4),3vw,var(--fh-space-6));border:1px solid var(--fh-border);border-radius:var(--fh-radius-lg);background:var(--fh-field);box-shadow:var(--fh-shadow-md)}.fx-timer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--fh-space-3);flex-wrap:wrap}.fx-timer-title{margin:0;font-size:var(--fh-text-lg);letter-spacing:-.01em}.fx-timer-form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--fh-space-3)}.fx-timer-field{display:grid;gap:var(--fh-space-1);flex:1 1 220px;min-width:0}.fx-timer-field--short{flex:0 1 140px}.fx-timer-field>span,.fx-timer-presets-label{margin:0;font-size:var(--fh-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-muted)}.fx-timer-field input,.fx-timer-field select{width:100%;padding:var(--fh-space-2) var(--fh-space-3);border:1px solid var(--fh-border);border-radius:var(--fh-radius-md);background:var(--fh-surface);color:var(--fh-text)}.fx-timer-primary,.fx-timer-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--fh-space-2);min-height:44px;padding:var(--fh-space-2) var(--fh-space-4);border-radius:var(--fh-radius-pill);font-weight:700;transition:transform var(--fh-duration-fast) var(--fh-ease),background var(--fh-duration-fast) var(--fh-ease)}.fx-timer-primary{border:1px solid transparent;background:var(--fh-accent);color:var(--fh-on-accent)}.fx-timer-primary:hover{transform:translateY(-1px)}.fx-timer-ghost{border:1px solid var(--fh-border);background:transparent;color:var(--fh-text)}.fx-timer-ghost:hover{border-color:var(--fh-accent);color:var(--fh-accent)}.fx-timer-ghost:disabled{opacity:.45;cursor:not-allowed}.fx-timer-error{margin:0;color:var(--fh-danger);font-size:var(--fh-text-sm);font-weight:600}.fx-timer-hint,.fx-timer-empty{margin:0;color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-timer-list{display:grid;gap:var(--fh-space-3);margin:0;padding:0;list-style:none}.fx-timer-row{display:grid;gap:var(--fh-space-2);padding:var(--fh-space-4);border:1px solid var(--fh-border);border-radius:var(--fh-radius-md);background:var(--fh-surface)}.fx-timer-row[data-status=finished]{border-color:var(--fh-success)}.fx-timer-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--fh-space-2)}.fx-timer-row-head h3{margin:0;font-size:var(--fh-text-md)}.fx-timer-status{color:var(--fh-muted);font-size:var(--fh-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fx-timer-clock{margin:0;font-family:var(--fh-font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,5vw,2.3rem);font-weight:700;letter-spacing:-.02em}.fx-timer-progress{position:relative;height:10px;overflow:hidden;border-radius:var(--fh-radius-pill);background:color-mix(in srgb,var(--fh-border) 55%,transparent)}.fx-timer-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--fh-accent),var(--fh-accent-2));transition:width var(--fh-duration-base) linear}.fx-timer-actions{display:flex;flex-wrap:wrap;gap:var(--fh-space-2)}.fx-timer-presets{display:grid;gap:var(--fh-space-2)}.fx-timer-chips{display:flex;flex-wrap:wrap;gap:var(--fh-space-2)}.fx-timer-chip{padding:var(--fh-space-1) var(--fh-space-3);border:1px solid var(--fh-border);border-radius:var(--fh-radius-pill);background:var(--fh-surface);color:var(--fh-text);font-size:var(--fh-text-sm);font-weight:600}.fx-timer-chip:hover,.fx-timer-chip[data-active=true]{border-color:var(--fh-accent);color:var(--fh-accent)}.fx-timer-settings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fh-space-4);padding-top:var(--fh-space-2);border-top:1px solid var(--fh-border)}.fx-timer-check{display:inline-flex;align-items:center;gap:var(--fh-space-2);color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-timer-check input{width:18px;height:18px;accent-color:var(--fh-accent)}.fx-timer-volume{display:inline-flex;align-items:center;gap:var(--fh-space-2);color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-timer-volume input{accent-color:var(--fh-accent)}.fx-timer-toggles{display:flex;flex-wrap:wrap;gap:var(--fh-space-4)}.fx-single{justify-items:center;text-align:center}.fx-single>*{width:100%}.fx-single-clock{display:grid;justify-items:center;gap:var(--fh-space-1);padding:var(--fh-space-4) 0 var(--fh-space-2)}.fx-single-value{font-family:var(--fh-font-mono);font-variant-numeric:tabular-nums;font-size:clamp(3rem,14vw,6rem);font-weight:700;line-height:1;letter-spacing:-.045em}.fx-stopwatch-value{font-size:clamp(2.4rem,11vw,5rem)}.fx-single-status{color:var(--fh-muted);font-size:var(--fh-text-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.fx-single-stage{margin:0;color:var(--fh-accent);font-weight:700}.fx-single[data-stage=warning] .fx-single-value{color:#b45309}.fx-single[data-stage=final] .fx-single-value{color:var(--fh-danger)}.fx-single[data-stage=done] .fx-single-value{opacity:.55}html[data-mode=dark] .fx-single[data-stage=warning] .fx-single-value{color:#fbbf24}.fx-single-actions{justify-content:center}.fx-single-custom{justify-content:center;align-items:end}.fx-single-custom .fx-timer-field{flex:0 1 140px}.fx-single-finished{margin:0;color:var(--fh-success);font-weight:700}.fx-interval-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--fh-space-3);margin:0;color:var(--fh-muted);font-size:var(--fh-text-sm);font-weight:600}.fx-interval-form,.fx-alarm-form{justify-content:center}.fx-alarm-next{margin:0;font-size:var(--fh-text-lg);font-weight:700;color:var(--fh-accent)}.fx-alarm-ringing{display:grid;justify-items:center;gap:var(--fh-space-2);padding:var(--fh-space-5);border:2px solid var(--fh-danger);border-radius:var(--fh-radius-lg);background:color-mix(in srgb,var(--fh-danger) 10%,var(--fh-field));animation:fx-alarm-pulse 1.6s var(--fh-ease) infinite}.fx-alarm-ringing-title{margin:0;font-size:var(--fh-text-xl);font-weight:800;color:var(--fh-danger)}.fx-alarm-ringing-name{margin:0;font-weight:600}.fx-laps{display:grid;gap:var(--fh-space-2);text-align:left}.fx-lap-list{display:grid;gap:var(--fh-space-1);margin:0;padding:0;list-style:none}.fx-lap-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--fh-space-3);padding:var(--fh-space-2) var(--fh-space-3);border-radius:var(--fh-radius-sm);background:var(--fh-surface);font-variant-numeric:tabular-nums}.fx-lap-name{font-weight:600}.fx-lap-split{color:var(--fh-muted)}.fx-lap-total{font-family:var(--fh-font-mono)}.fx-single:fullscreen{align-content:center;padding:clamp(var(--fh-space-6),6vw,var(--fh-space-8));border:0;border-radius:0;background:var(--fh-field)}.fx-single:fullscreen .fx-single-value{font-size:clamp(4rem,18vw,12rem)}.fx-timer:fullscreen{border:0;border-radius:0}@keyframes fx-alarm-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--fh-danger) 35%,transparent)}50%{box-shadow:0 0 0 12px transparent}}@media(prefers-reduced-motion:reduce){.fx-alarm-ringing{animation:none}.fx-timer-progress>span,.fx-timer-primary,.fx-timer-ghost{transition:none}}@media(max-width:640px){.fx-lap-row{grid-template-columns:1fr auto}.fx-lap-split{grid-column:1 / -1;grid-row:2}}.fx-pomodoro{--fx-phase: var(--fh-accent-2);--fx-phase-soft: transparent;display:grid;gap:var(--fh-space-4);justify-items:center;padding:clamp(var(--fh-space-4),3vw,var(--fh-space-6));border:1px solid var(--fh-border);border-radius:var(--fh-radius-lg);background:var(--fh-field);background:color-mix(in srgb,var(--fx-phase) 6%,var(--fh-field));box-shadow:var(--fh-shadow-md);transition:background var(--fh-duration-slow) var(--fh-ease)}.fx-pomodoro[data-phase=focus]{--fx-phase: #0f766e;--fx-phase-soft: rgba(15, 118, 110, .1)}.fx-pomodoro[data-phase=short-break]{--fx-phase: #2563eb;--fx-phase-soft: rgba(37, 99, 235, .1)}.fx-pomodoro[data-phase=long-break]{--fx-phase: #6d28d9;--fx-phase-soft: rgba(109, 40, 217, .1)}html[data-mode=dark] .fx-pomodoro[data-phase=focus]{--fx-phase: #5eead4;--fx-phase-soft: rgba(94, 234, 212, .14)}html[data-mode=dark] .fx-pomodoro[data-phase=short-break]{--fx-phase: #93b4ff;--fx-phase-soft: rgba(147, 180, 255, .14)}html[data-mode=dark] .fx-pomodoro[data-phase=long-break]{--fx-phase: #c4b5fd;--fx-phase-soft: rgba(196, 181, 253, .14)}.fx-pomodoro-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--fh-space-3);width:100%}.fx-pomodoro-phase{margin:0;font-size:var(--fh-text-lg);font-weight:800;letter-spacing:-.01em;color:var(--fx-phase)}.fx-pomodoro-cycles{margin:0;color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-pomodoro-dial{position:relative;display:grid;place-items:center;width:min(66vw,300px);aspect-ratio:1}.fx-pomodoro-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.fx-pomodoro-ring__track,.fx-pomodoro-ring__value{fill:none;stroke-width:10}.fx-pomodoro-ring__track{stroke:var(--fh-border)}.fx-pomodoro-ring__value{stroke:var(--fx-phase);stroke-linecap:round;transition:stroke-dashoffset var(--fh-duration-slow) linear}.fx-pomodoro-clock{display:grid;justify-items:center;gap:var(--fh-space-1)}.fx-pomodoro-time{font-family:var(--fh-font-mono);font-size:clamp(2.6rem,9vw,4.2rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.fx-pomodoro-status{color:var(--fh-muted);font-size:var(--fh-text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.fx-pomodoro-duration{margin:0;color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-pomodoro-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--fh-space-2)}.fx-pomodoro-primary,.fx-pomodoro-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--fh-space-2) var(--fh-space-4);border-radius:var(--fh-radius-pill);font-weight:700;transition:transform var(--fh-duration-fast) var(--fh-ease),border-color var(--fh-duration-fast) var(--fh-ease)}.fx-pomodoro-primary{border:1px solid transparent;background:var(--fx-phase);color:var(--fh-on-accent)}.fx-pomodoro-primary:hover{transform:translateY(-1px)}.fx-pomodoro-ghost{border:1px solid var(--fh-border);background:transparent;color:var(--fh-text)}.fx-pomodoro-ghost:hover{border-color:var(--fx-phase);color:var(--fx-phase)}.fx-pomodoro-ghost:disabled{opacity:.45;cursor:not-allowed}.fx-pomodoro-ghost[aria-pressed=true]{border-color:var(--fx-phase);color:var(--fx-phase)}.fx-pomodoro-announce{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fx-pomodoro-notice{margin:0;padding:var(--fh-space-2) var(--fh-space-3);border-radius:var(--fh-radius-sm);background:var(--fx-phase-soft);color:var(--fh-text);font-size:var(--fh-text-sm);font-weight:600}.fx-pomodoro-settings{width:100%;padding:var(--fh-space-3) var(--fh-space-4);border:1px solid var(--fh-border);border-radius:var(--fh-radius-md);background:var(--fh-surface)}.fx-pomodoro-settings>summary{cursor:pointer;font-weight:700}.fx-pomodoro-hint,.fx-pomodoro-shortcuts{margin:var(--fh-space-2) 0 0;color:var(--fh-muted);font-size:var(--fh-text-sm)}.fx-pomodoro-form{display:grid;gap:var(--fh-space-3);margin-top:var(--fh-space-3)}.fx-pomodoro-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--fh-space-3)}.fx-pomodoro-field{display:grid;gap:var(--fh-space-1);font-size:var(--fh-text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fh-muted)}.fx-pomodoro-input{display:flex;align-items:center;gap:var(--fh-space-2);text-transform:none;letter-spacing:normal;font-weight:500}.fx-pomodoro-input input{width:5.5rem;padding:var(--fh-space-1) var(--fh-space-2);border:1px solid var(--fh-border);border-radius:var(--fh-radius-sm);background:var(--fh-field);color:var(--fh-text)}.fx-pomodoro-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--fh-space-2)}.fx-pomodoro-check{display:flex;align-items:center;gap:var(--fh-space-2);font-size:var(--fh-text-sm)}.fx-pomodoro-check--volume input{flex:1}.fx-pomodoro-settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fh-space-2)}.fx-pomodoro-import{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:var(--fh-space-2) var(--fh-space-4);border:1px dashed var(--fh-border);border-radius:var(--fh-radius-pill);color:var(--fh-text);font-size:var(--fh-text-sm);font-weight:700;cursor:pointer}.fx-pomodoro-import:focus-within{outline:3px solid var(--fh-accent);outline-offset:2px}.fx-pomodoro-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.fx-pomodoro-shortcuts{text-align:center}.fx-pomodoro:fullscreen{justify-content:center;padding:var(--fh-space-7);border:0;border-radius:0;background:var(--fh-field)}.fx-pomodoro:fullscreen .fx-pomodoro-time{font-size:clamp(4rem,16vw,9rem)}.fx-pomodoro-pip{display:grid;place-content:center;gap:.25rem;min-height:100vh;margin:0;background:var(--fh-field);color:var(--fh-text);font-family:var(--fh-font-sans);text-align:center}.fx-pomodoro-pip__phase,.fx-pomodoro-pip__status{margin:0;color:var(--fh-muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fx-pomodoro-pip__time{margin:0;font-family:var(--fh-font-mono);font-size:clamp(2.2rem,17vw,4rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}@media(prefers-reduced-motion:reduce){.fx-pomodoro,.fx-pomodoro-ring__value,.fx-pomodoro-primary{transition:none}}
