.timer-stage{display:flex;flex-direction:column;align-items:center;gap:var(--s-6);padding-top:var(--s-3)}.timer-card{position:relative;width:min(560px,80vw);aspect-ratio:1 / 1;display:grid;place-items:center;background:var(--md-sys-color-surface-container);border-radius:50%;box-shadow:var(--md-sys-elevation-level2)}.timer-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.timer-display{position:relative;font-family:Roboto Flex Variable,Roboto Flex,Roboto,sans-serif;font-weight:400;font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 144,"wdth" 100,"GRAD" 0;font-size:clamp(96px,18vw,200px);line-height:.9;letter-spacing:-.04em;color:var(--md-sys-color-on-surface);-webkit-user-select:none;user-select:none;z-index:2}.timer-display.warning{color:var(--md-sys-color-error);animation:timer-pulse 1s var(--md-sys-motion-easing-linear) infinite;font-variation-settings:"opsz" 144,"wdth" 100,"GRAD" 100}.timer-display.done{color:var(--md-sys-color-primary);animation:timer-done var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-emphasized)}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes timer-done{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}.timer-label{position:absolute;top:15%;font-family:Roboto Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);z-index:2}.timer-state{position:absolute;bottom:16%;font-family:Roboto Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);z-index:2;display:inline-flex;align-items:center;gap:var(--s-2)}.timer-state .dot{width:8px;height:8px;border-radius:50%;background:var(--md-sys-color-primary)}.timer-state.idle .dot{background:var(--md-sys-color-outline)}.timer-state.paused .dot{background:var(--md-sys-color-tertiary)}.timer-state.running .dot{background:var(--md-sys-color-primary);animation:blink 1.4s infinite}.timer-state.warning .dot{background:var(--md-sys-color-error);animation:blink .5s infinite}.timer-state.done .dot{background:var(--md-sys-color-primary)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.timer-presets{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;max-width:720px}.timer-custom{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:center}.timer-custom md-outlined-text-field{width:72px}.timer-controls{display:flex;gap:var(--s-3);flex-wrap:wrap;justify-content:center;align-items:center}.timer-keys{font-family:Roboto Mono,ui-monospace,monospace;font-size:11px;color:var(--md-sys-color-on-surface-variant);display:flex;gap:var(--s-5);flex-wrap:wrap;justify-content:center}.timer-keys kbd{font-family:Roboto Mono,ui-monospace,monospace;font-size:10px;padding:2px 6px;border-radius:var(--md-sys-shape-corner-extra-small);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);margin-right:var(--s-1)}:fullscreen .topbar,:fullscreen .timer-presets,:fullscreen .timer-custom,:fullscreen .timer-keys{display:none}:fullscreen .timer-stage{padding-top:0;min-height:100vh;justify-content:center}:fullscreen .timer-card{width:min(85vh,85vw)}:fullscreen .timer-display{font-size:clamp(160px,28vw,360px)}
