@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#242521;background:#f4f1ea;font-synthesis:none;--ink: #242521;--muted: #77786f;--green: #485f4c;--line: #dedbd2}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,#e9eee5 0,transparent 34%),#f4f1ea}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.centered{min-height:100vh;display:grid;place-items:center}.loader{width:28px;height:28px;border:2px solid #d7d5cd;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{margin:0 0 5px;color:#788176;font-size:10px;font-weight:700;letter-spacing:.16em}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,390px);padding:32px 28px;background:#ffffffbf;border:1px solid rgba(255,255,255,.85);border-radius:24px;box-shadow:0 18px 60px #363c3017}.brand-mark{width:43px;height:43px;display:grid;place-items:center;margin-bottom:28px;border-radius:13px;color:#fff;background:var(--green)}.login-card h1{margin:0;font:700 29px/1.15 Manrope,sans-serif;letter-spacing:-.035em}.login-copy{margin:14px 0 25px;color:var(--muted);font-size:14px;line-height:1.5}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:6px;font-size:12px;font-weight:600}.login-form input{width:100%;height:45px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none}.login-form input:focus{border-color:#6e816e;box-shadow:0 0 0 3px #485f4c1a}.primary-button,.save-button{border:0;color:#fff;background:var(--green);font-weight:700;cursor:pointer}.primary-button{height:47px;margin-top:3px;border-radius:12px}.form-error,.status-message.error{color:#a2453d}.form-error{margin:0;font-size:12px}.app-shell{width:min(100%,620px);min-height:100vh;margin:auto;padding:22px 14px calc(26px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 3px}.app-header h1{margin:0;font:700 27px/1 Manrope,sans-serif;letter-spacing:-.04em}.header-actions{display:flex;gap:6px}.icon-button,.timer-button{position:relative;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #dad8cf;border-radius:12px;color:#686a63;background:#ffffffa6;cursor:pointer}.icon-button{width:40px}.timer-button{width:40px;gap:6px;padding:0;transition:width .2s ease,background-color .2s ease,border-color .2s ease}.timer-button.active{width:82px;padding:0 10px}.timer-countdown{min-width:36px;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;letter-spacing:.02em}.timer-button.active{color:var(--green);border-color:#adbaac;background:#edf2eb}.timer-button.finished{color:#9e6030;border-color:#dec4a8;background:#fff3e5;animation:pulse 1.2s ease-in-out 3}.timer-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;opacity:0;background:#6c966f}.timer-button.active .timer-dot,.timer-button.finished .timer-dot{opacity:1}.timer-button.active .timer-dot{animation:blink 1.8s infinite}@keyframes blink{50%{opacity:.25}}@keyframes pulse{50%{transform:scale(1.05)}}.exercise-list{display:grid;gap:8px}.exercise-card{padding:13px 14px 12px;border:1px solid rgba(217,214,204,.86);border-radius:15px;background:#ffffffc2;box-shadow:0 4px 14px #2c312909}.exercise-heading{display:flex;justify-content:space-between;gap:8px}.exercise-card h2{margin:0;font:700 15px/1.25 Manrope,sans-serif;letter-spacing:-.02em}.exercise-meta{margin:2px 0 0;color:var(--muted);font-size:11px}.range-badge{align-self:flex-start;white-space:nowrap;color:#527056;font-size:9px;font-weight:700}.weight-row,.today-row{display:flex;align-items:center;justify-content:space-between}.weight-row{margin-top:9px}.weight-row>label,.today-row>span,.previous,.unilateral-previous{color:var(--muted);font-size:11px}.weight-input{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.weight-input input{width:70px;height:31px;padding:0 7px;border:1px solid var(--line);border-radius:8px;text-align:right;background:#fbfbf8}.previous{margin:7px 0;text-align:left;white-space:nowrap}.previous strong,.unilateral-previous strong{color:#54564f;font-weight:600}.rep-inputs{display:flex;gap:6px}.rep-inputs input,.side-row input{width:42px;height:34px;padding:0 3px;border:1px solid var(--line);border-radius:8px;text-align:center;background:#fff;outline:none}.weight-input input,.rep-inputs input,.side-row input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.weight-input input::-webkit-inner-spin-button,.weight-input input::-webkit-outer-spin-button,.rep-inputs input::-webkit-inner-spin-button,.rep-inputs input::-webkit-outer-spin-button,.side-row input::-webkit-inner-spin-button,.side-row input::-webkit-outer-spin-button{margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.rep-inputs input:focus,.side-row input:focus,.weight-input input:focus{border-color:#6e816e;outline:2px solid rgba(72,95,76,.09)}.unilateral-previous{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;margin:8px 0 7px}.unilateral-previous p{margin:0;text-align:center}.side-grid{display:grid;grid-template-columns:38px 1fr 1fr;gap:4px 7px;align-items:center}.side-label{color:#92938c;text-align:center;font-size:9px}.side-row{display:contents}.side-row>span{color:var(--muted);text-align:center;font-size:11px}.side-row input{width:100%}.myorep-card{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:opacity .2s}.myorep-card.is-done{background:#eff3ed}.done-control{display:flex;align-items:center;gap:8px;color:#5d6259;font-size:11px;font-weight:600;cursor:pointer}.done-control input{width:19px;height:19px;accent-color:var(--green)}.status-message{margin:10px 3px -2px;font-size:12px;text-align:center}.status-message.success{color:#4b6c50}.save-button{width:100%;height:48px;margin-top:12px;border-radius:13px;text-transform:uppercase;letter-spacing:.07em;font-size:11px;box-shadow:0 7px 20px #485f4c2b}button:disabled{opacity:.55;cursor:default}@media(min-width:520px){.app-shell{padding-top:32px}.exercise-list{gap:10px}.exercise-card{padding:15px 16px}}@media(max-width:370px){.app-shell{padding-inline:10px}.exercise-card{padding-inline:11px}.previous{font-size:10px}.rep-inputs{gap:4px}.rep-inputs input{width:38px}}
