:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#171717;font-optical-sizing:auto;background:#f5f5f5;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{width:100%;min-width:320px;min-height:100%}body{width:100%;min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100%}.setup-screen{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#171717;background:#fff;justify-content:center;align-items:center;display:flex}.setup-content{width:100%;max-width:460px}.setup-header{justify-content:center;align-items:center;margin-bottom:28px;display:flex}.setup-logo{object-fit:contain;width:180px;max-width:60%;height:auto;display:block}.setup-form{flex-direction:column;gap:16px;display:flex}.setup-card{background:#f8f9f7;border:1px solid #e5e9e1;border-radius:16px;flex-direction:column;gap:20px;padding:24px;display:flex}.form-field{flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}.form-field input{color:#171717;width:100%;font:inherit;background:#fff;border:1px solid #dde2d9;border-radius:10px;padding:16px;font-size:20px}.form-field input:focus{outline-offset:1px;border-color:#93a384;outline:2px solid #93a384}.number-input-control{align-items:center;gap:12px;display:flex}.number-input-control input{text-align:center;font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:22px;font-weight:600}.number-input-button{color:#333;cursor:pointer;background:#f8f9f7;border:1px solid #e5e9e1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex}.number-input-button:active:not(:disabled){transform:scale(.94)}.number-input-button:disabled{opacity:.35;cursor:not-allowed}.toggle-field{cursor:pointer;border-top:1px solid #e5e9e1;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.toggle-description{flex-direction:column;gap:5px;display:flex}.toggle-description strong{font-size:14px;font-weight:700}.toggle-description small{color:#737373;font-size:12px;line-height:1.4}.toggle-input{appearance:none;cursor:pointer;background:#d4d4d4;border:0;border-radius:999px;flex-shrink:0;width:48px;height:28px;margin:0;padding:3px;transition:background-color .15s}.toggle-input:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;display:block}.toggle-input:checked{background:#93a384}.toggle-input:checked:before{transform:translate(20px)}.toggle-input:focus-visible{outline-offset:3px;outline:3px solid #93a384}.button{min-height:56px;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:14px 20px;font-size:16px;font-weight:700}.button:focus-visible{outline-offset:3px;outline:3px solid #737373}.button-primary{color:#fff;background:#93a384}.button-secondary{color:inherit;background:#ffffff24;border:1px solid}.start-button{width:100%;min-height:60px;margin-top:4px;font-size:18px}.setup-duration{color:#263322;text-align:center;background:#eef2ea;border:1px solid #93a384;border-radius:12px;margin:0;padding:16px;font-size:16px;font-weight:700}.timer-screen{box-sizing:border-box;width:100%;height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;transition:background-color .15s;display:flex;overflow:hidden}.timer-screen.exercise{color:#fff;background:#245b43}.timer-screen.rest{color:#fff;background:#b95440}.timer-screen.countdown{color:#fff;background:#285a8e}.timer-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.status-label{letter-spacing:1px;font-size:11px;font-weight:700}.timer-content{text-align:center;flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0 auto;display:flex}.timer-main{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0 2px;display:flex}.phase-label{letter-spacing:3px;margin:0 0 8px;font-size:clamp(20px,5vw,30px);font-weight:800}.timer-display{letter-spacing:-5px;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;margin:8px 0 20px;font-size:clamp(110px,min(34vw,32vh),320px);font-weight:800;line-height:1}.round-label{letter-spacing:1.5px;margin:20px 0 0;font-size:clamp(19px,4.5vw,28px);font-weight:800}.finished-title{margin:8px 0;font-size:clamp(36px,9vw,56px)}.total-duration{opacity:.9;flex-shrink:0;margin:0 0 20px;font-size:clamp(16px,4vw,20px);font-weight:700}.timer-controls{flex-direction:column;flex-shrink:0;gap:12px;width:100%;max-width:420px;margin:0 auto;display:flex}.timer-controls .button{justify-content:center;align-items:center;gap:10px;display:flex}.timer-controls .button-primary{color:#171717;background:#fff;min-height:68px;font-size:20px}.secondary-controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timer-controls .button-secondary{min-height:56px;color:inherit;background:0 0;border-color:currentColor;flex-direction:column;gap:4px;padding:8px;font-size:13px}.back-button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.back-button:focus-visible{outline-offset:3px;outline:3px solid}.progress-bar{background:#ffffff38;border-radius:999px;flex-shrink:0;width:100%;height:10px;overflow:hidden}.progress-bar-fill{border-radius:inherit;background:#fff;height:100%}.timer-screen.countdown .timer-display{font-size:clamp(150px,min(42vw,40vh),340px)}@media (width>=600px){.timer-screen{padding:32px 48px}.timer-controls{max-width:400px}}@media (height<=760px){.setup-screen{padding-top:12px;padding-bottom:12px}.setup-header{margin-bottom:14px}.setup-logo{width:clamp(100px,18vh,140px)}.setup-card{gap:12px;padding:16px}.form-field{gap:5px}.form-field input{padding:10px 12px;font-size:18px}.number-input-button{width:44px;height:44px}.toggle-field{padding-top:12px}.setup-duration{padding:10px;font-size:14px}.setup-form{gap:10px}.start-button{min-height:50px}}@media (height<=700px){.timer-screen{padding-top:10px;padding-bottom:10px}.phase-label{margin-bottom:0;font-size:clamp(16px,4vh,24px)}.timer-display{margin-bottom:16px}.round-label{margin-top:12px;font-size:clamp(16px,4vh,22px)}.total-duration{margin-bottom:8px;font-size:14px}.timer-controls{gap:8px}.timer-controls .button-primary{min-height:52px}.timer-controls .button-secondary{flex-direction:row;min-height:44px}}@keyframes screen-fade-in{0%{opacity:0}to{opacity:1}}.setup-screen,.timer-screen{animation:.2s ease-out screen-fade-in}@keyframes exercise-timer-enter{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.exercise-timer-enter{animation:.25s ease-out exercise-timer-enter}.button,.back-button{transition:transform .12s,opacity .12s}.button:active,.back-button:active{opacity:.85;transform:scale(.97)}@media (prefers-reduced-motion:reduce){.timer-screen,.toggle-input,.toggle-input:before,.button,.back-button,.number-input-button{transition:none}.button:active,.back-button:active,.number-input-button:active:not(:disabled){transform:none}.setup-screen,.timer-screen,.exercise-timer-enter{animation:none}}@media (orientation:landscape) and (height<=600px){.timer-screen{padding:8px 12px}.timer-content{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(180px,.28fr);align-items:center;column-gap:20px;max-width:none;display:grid}.timer-main{grid-area:1/1/3;justify-content:center}.phase-label{margin-bottom:4px;font-size:clamp(16px,4vh,24px)}.timer-display{letter-spacing:-4px;margin:8px 0 16px;font-size:clamp(100px,28vh,220px)}.timer-screen.countdown .timer-display{font-size:clamp(110px,32vh,230px)}.progress-bar{height:8px}.round-label{margin-top:10px;font-size:clamp(15px,3.5vh,21px)}.timer-sidebar{flex-direction:column;grid-area:1/2/3;justify-content:center;align-self:center;gap:24px;width:100%;display:flex}.total-duration{margin:0;font-size:clamp(13px,3vh,17px)}.timer-controls{gap:8px;margin:0}.timer-controls .button-primary{min-height:52px;font-size:18px}.secondary-controls{gap:8px}.timer-controls .button-secondary{flex-direction:row;min-height:46px;font-size:13px}}
