:root{--bg:#0b0d12;--surface:#161a24;--surface-2:#1f2432;--border:#2a3040;--text:#f2f4f8;--muted:#8b93a7;--accent:#f4b942;--accent-text:#1a1503;--danger:#e63946;--round-bg:#0f7a3d;--rest-bg:#b3202e;--warmup-bg:#b97b0e;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn{border-radius:var(--radius);border:0;padding:.7rem 1.2rem;font-weight:600}.btn--ghost{background:var(--surface-2);border:1px solid var(--border)}.btn--start{background:var(--accent);color:var(--accent-text);letter-spacing:.08em;border-radius:999px;padding:1rem 2.5rem;font-size:1.4rem;font-weight:800;box-shadow:0 6px 24px #f4b94259}.btn--start:active{transform:scale(.97)}.settings{max-width:640px;padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 9rem);flex-direction:column;gap:1rem;margin:0 auto;display:flex}.settings__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{align-items:center;gap:.65rem;margin:0;display:flex}.logo__mark{filter:drop-shadow(0 2px 8px #e6394659);flex:none;width:2.7rem;height:2.7rem}.logo__text{flex-direction:column;gap:.35rem;display:flex}.logo__tagline{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-style:italic;font-weight:600;transform:skew(-4deg)}.logo__word{letter-spacing:.01em;border-bottom:3px solid var(--danger);padding-bottom:.15rem;font-size:1.65rem;font-style:italic;font-weight:900;line-height:1;transform:skew(-4deg)}.logo__word em{font-style:inherit;color:var(--accent);margin-left:.16em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.card__title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}.card__summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}.card__summary::-webkit-details-marker{display:none}.card__summary:after{content:"▸";font-size:1rem;transition:transform .15s}.card--collapsible[open] .card__summary:after{transform:rotate(90deg)}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;font-size:.9rem;font-weight:600}.chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip--user{border-color:var(--accent);align-items:center;gap:.4rem;padding-right:.5rem;display:inline-flex}.chip__apply{color:inherit;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.chip__delete{color:inherit;opacity:.6;background:0 0;border:0;padding:.1rem .2rem;font-size:.8rem}.chip--save{color:var(--muted);border-style:dashed}.block{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.25rem;padding:.6rem .75rem;display:flex}.block__header{justify-content:space-between;align-items:center;display:flex}.block__title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.8rem;font-weight:700}.block__remove{color:var(--muted);background:0 0;border:0;padding:.2rem .4rem;font-size:1rem}.field,.toggle{justify-content:space-between;align-items:center;gap:.75rem;min-height:2.6rem;display:flex}.field__label{color:var(--text)}.field__controls{align-items:center;gap:.25rem;display:flex}.field__btn{border:1px solid var(--border);background:var(--surface-2);border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.3rem;line-height:1}.field__btn:disabled{opacity:.35;cursor:default}.field__value{text-align:center;font-variant-numeric:tabular-nums;min-width:4.2rem;color:var(--text);-webkit-text-decoration:underline dashed var(--border);text-decoration:underline dashed var(--border);text-underline-offset:4px;background:0 0;border:0;padding:.3rem 0;font-size:1.05rem;font-weight:700}.field__value:disabled{cursor:default;text-decoration:none}.toggle{cursor:pointer}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle__track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;width:2.9rem;height:1.7rem;transition:background .15s;position:relative}.toggle__track:after{content:"";background:var(--muted);border-radius:50%;width:1.3rem;height:1.3rem;transition:transform .15s,background .15s;position:absolute;top:.15rem;left:.15rem}.toggle input:checked+.toggle__track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle__track:after{background:var(--accent-text);transform:translate(1.2rem)}.sound-row{flex-direction:column;gap:.35rem;display:flex}.sound-row__label{color:var(--muted);font-size:.9rem}.sound-row__controls{align-items:center;gap:.5rem;display:flex}.sound-row__select{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;flex:40%;padding:.5rem}.sound-row__volume{accent-color:var(--accent);flex:30%;min-width:0}.sound-row__play{border:1px solid var(--border);background:var(--surface-2);border-radius:50%;flex:none;width:2.4rem;height:2.4rem}.sound-row__play:disabled{opacity:.35}.user-sounds{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.user-sounds__error{color:var(--danger);margin:0;font-size:.9rem}.user-sounds__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.user-sounds__list li{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;padding:.4rem .7rem;display:flex}.user-sounds__delete{color:var(--muted);background:0 0;border:0;font-size:1rem}.settings__hint{color:var(--muted);margin:-.35rem 0 0;font-size:.8rem;line-height:1.45}.settings__ios-hint{color:var(--muted);text-align:center;margin:0;font-size:.85rem}.settings__footer{color:var(--muted);justify-content:center;gap:.5rem;padding-top:.5rem;font-size:.85rem;display:flex}.settings__footer a{color:var(--accent);font-weight:600;text-decoration:none}.settings__footer a:hover{text-decoration:underline}.settings__start-bar{padding:.75rem 1rem calc(env(safe-area-inset-bottom) + .9rem);background:linear-gradient(to top, var(--bg) 65%, transparent);flex-direction:column;align-items:center;gap:.4rem;display:flex;position:fixed;bottom:0;left:0;right:0}.settings__summary{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem}.timer{height:100dvh;padding:calc(env(safe-area-inset-top) + .5rem) 1rem calc(env(safe-area-inset-bottom) + 1rem);-webkit-user-select:none;user-select:none;flex-direction:column;transition:background .4s;display:flex;position:relative}.timer--warmup{background:var(--warmup-bg)}.timer--round{background:var(--round-bg)}.timer--rest{background:var(--rest-bg)}.timer--finished{background:var(--bg)}.timer--paused{filter:saturate(.35)brightness(.8)}@keyframes warn-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.45)}}.timer--warning{background:#b3700e;animation:.9s ease-in-out infinite warn-pulse}.timer__progress{background:#0000004d;height:6px;position:absolute;top:0;left:0;right:0}.timer__progress-fill{background:#ffffffd9;height:100%;transition:width .25s linear}.timer__dots{flex-wrap:wrap;justify-content:center;gap:.45rem;padding-top:.6rem;display:flex}.timer__dot{background:#0000004d;border-radius:50%;width:.6rem;height:.6rem}.timer__dot--done{background:#ffffffe6}@keyframes dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.45)}}.timer__dot--current{background:#ffffff8c;animation:1.2s ease-in-out infinite dot-pulse}.timer__pause-icon{opacity:.95;font-size:clamp(2.5rem,12vmin,5rem);line-height:1}.timer__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.timer__phase{letter-spacing:.14em;text-shadow:0 2px 8px #00000059;font-size:clamp(1.1rem,4.5vw,2rem);font-weight:800}.timer__icon-btn{color:#fff;background:#00000040;border:0;border-radius:50%;width:2.8rem;height:2.8rem;font-size:1.2rem}.timer__main{background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.timer__time{font-variant-numeric:tabular-nums;text-shadow:0 4px 20px #0006;font-size:clamp(5rem,30vmin,40vh);font-weight:900;line-height:1}.timer__cycle{letter-spacing:.1em;font-variant-numeric:tabular-nums;background:#0000004d;border-radius:999px;padding:.25rem 1rem;font-size:clamp(1.2rem,6vw,2.4rem);font-weight:800}.timer__cycle--work{color:#ffd75e}.timer__cycle--ease{color:#9fd8ff}.timer__hint{color:#ffffffbf;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}.timer__controls{justify-content:center;gap:.75rem;display:flex}.timer__controls .btn{color:#fff;background:#00000040;border:0;min-width:6rem}.timer__finished{text-align:center;flex-direction:column;gap:1.5rem;margin:auto;padding:1rem;display:flex}@keyframes finish-pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes finish-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.timer__finished h1{margin:0;font-size:clamp(1.8rem,8vw,3rem);animation:.55s cubic-bezier(.34,1.56,.64,1) both finish-pop}.timer__finished .timer__stats,.timer__finished .timer__finished-actions{animation:.45s ease-out .25s both finish-rise}.timer__stats{justify-content:center;gap:2.5rem;margin:0;display:flex}.timer__stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}.timer__stats dd{font-variant-numeric:tabular-nums;color:var(--accent);margin:.25rem 0 0;font-size:3rem;font-weight:800}.timer__finished-actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.timer__credit{color:var(--muted);margin:.5rem 0 0;font-size:.85rem;animation:.45s ease-out .5s both finish-rise}.timer__credit a{color:var(--accent);font-weight:600;text-decoration:none}.timer__credit a:hover{text-decoration:underline}@media (orientation:landscape) and (height<=500px){.timer{padding-top:calc(env(safe-area-inset-top) + .25rem)}.timer__time{font-size:clamp(4rem,55vmin,60vh)}.timer__dots{padding-top:.2rem}.timer__hint{display:none}}
