:root{--bg:#f1f2f8;--surface:#fff;--surface-active:#e3e5f2;--ink:#1a1a2e;--muted:#5d6078;--faint:#8a8da3;--line:#d6d8e6;--shadow:0 1px 3px #1a1a2e14;--start:linear-gradient(135deg, #22c55e, #16a34a);--focus:#16a34a;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1a2e;--surface:#2a2a4a;--surface-active:#3a3a5a;--ink:#fff;--muted:#8a8aa0;--faint:#5c5c78;--line:#34345a;--shadow:none;--focus:#22c55e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a1a2e;--surface:#2a2a4a;--surface-active:#3a3a5a;--ink:#fff;--muted:#8a8aa0;--faint:#5c5c78;--line:#34345a;--shadow:none;--focus:#22c55e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);touch-action:manipulation;transition:background-color .2s,color .2s}a{color:inherit;text-underline-offset:3px}button{font:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.screen{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.setup-screen{justify-content:flex-start;gap:20px;padding-top:40px;padding-bottom:40px}.crumbs{letter-spacing:1px;color:var(--muted);margin-bottom:-12px;font-size:.8rem}.title{text-align:center;margin-bottom:5px;font-size:1.5rem;font-weight:700}.input-group{flex-direction:column;align-items:center;gap:5px;width:100%;max-width:280px;display:flex}.input-label{text-transform:uppercase;letter-spacing:2px;color:var(--muted);text-align:center;font-size:.9rem}.drag-input{background:var(--surface);width:100%;box-shadow:var(--shadow);cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:12px;transition:transform .1s,background .2s;display:flex}.drag-input:active{background:var(--surface-active);transform:scale(1.02)}.drag-input .value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.drag-hint{color:var(--faint);text-align:center;margin-top:5px;font-size:.75rem}.total{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.start-btn{background:var(--start);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;max-width:280px;margin-top:5px;padding:18px;font-size:1.4rem;font-weight:700;transition:transform .1s,opacity .2s}.start-btn:active{opacity:.9;transform:scale(.98)}.start-btn:disabled{opacity:.7;cursor:progress}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;transition:transform .1s,background .2s;display:grid;position:absolute;top:16px;right:16px}.theme-toggle:active{transform:scale(.95)}.timer-screen{color:#fff;transition:background-color .3s}.prepare-phase{background:linear-gradient(#d97706 0%,#b45309 100%)}.active-phase{background:linear-gradient(#166534 0%,#14532d 100%)}.rest-phase{background:linear-gradient(#1e40af 0%,#1e3a8a 100%)}.done-phase{background:linear-gradient(#4b5563 0%,#1f2937 100%)}.interval-indicator{opacity:.9;margin-bottom:10px;font-size:1.2rem}.phase-label{text-transform:uppercase;letter-spacing:4px;margin-bottom:20px;font-size:2rem;font-weight:700}.countdown{font-variant-numeric:tabular-nums;text-shadow:0 4px 20px #0000004d;font-size:min(8rem,36vw);font-weight:700;line-height:1}@media (height>=700px){.countdown{font-size:min(10rem,36vw)}}@media (height>=800px){.countdown{font-size:min(12rem,36vw)}}@media (width<=380px){.control-btn{padding:16px 28px}}.controls{gap:20px;margin-top:50px;display:flex}.control-btn{color:#fff;cursor:pointer;border:none;border-radius:12px;padding:18px 40px;font-size:1.2rem;font-weight:600;transition:transform .1s,opacity .2s}.control-btn:active{transform:scale(.95)}.control-btn:disabled{opacity:.5}.pause-btn{background:#fff3}.stop-btn{background:#ef4444cc}.timer-screen :focus-visible{outline-color:#fff}.paused .countdown{animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.paused .countdown{opacity:.6;animation:none}}
