:root{--bg:#0b0d10;--panel:#14181d;--panel-2:#1c2128;--text:#f5f7fa;--muted:#8a96a3;--accent:#ff5c2a;--accent-2:#2acf6b;--danger:#ef4444;--border:#ffffff14}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}#app{min-height:100dvh}.screen{flex-direction:column;min-height:100dvh;display:none}.screen.active{display:flex}#picker{justify-content:center;align-items:center;gap:28px;padding:24px}#picker h1{text-align:center;letter-spacing:-.03em;margin:0;font-size:clamp(32px,6vw,72px)}.type-grid{flex-direction:column;gap:16px;width:100%;max-width:480px;display:flex}.type-btn{background:var(--panel);border:1px solid var(--border);text-align:left;border-radius:20px;flex-direction:column;gap:6px;padding:clamp(24px,3vw,36px);transition:transform 60ms,background .15s,border-color .15s;display:flex}.type-btn:hover{background:var(--panel-2);border-color:var(--accent)}.type-btn:active{transform:scale(.98)}.type-btn .type-label{letter-spacing:-.02em;font-size:clamp(22px,3.5vw,44px);font-weight:700}.type-btn .type-sub{color:var(--muted);font-size:clamp(13px,1.2vw,18px)}.picker-loading{justify-content:center;align-items:center;padding:40px;display:flex}.picker-loading-text{color:var(--muted);margin:0;font-size:clamp(16px,2vw,26px);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.picker-error{color:var(--danger);text-align:center;margin:0;font-size:clamp(14px,1.2vw,18px)}#runner{padding:0}.runner-top{border-bottom:1px solid var(--border);color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:clamp(13px,1vw,16px);display:flex}.runner-top .session-title{color:var(--text);font-weight:600}.runner-top .progress{font-variant-numeric:tabular-nums}.runner-top .exit-btn{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:14px}.runner-top .exit-btn:hover{color:var(--text);background:var(--panel)}.runner-main{text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:0;min-height:0;padding:28px 20px 24px;display:flex}.block-kind{letter-spacing:.01em;color:var(--accent);flex-shrink:0;font-size:clamp(20px,2.4vw,36px);font-weight:600}.block-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;width:100%;min-height:0;display:flex}.block-title{letter-spacing:-.02em;margin:0;font-size:clamp(32px,7vw,96px);font-weight:700;line-height:1.05}.block-sub{color:var(--muted);margin:0;font-size:clamp(16px,2vw,28px)}.block-body{color:var(--text);max-width:80ch;margin:0;font-size:clamp(15px,1.6vw,22px);line-height:1.4}.block-body.big{letter-spacing:-.01em;text-align:center;font-size:clamp(28px,5vw,64px);font-weight:600;line-height:1.15}.timer{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(72px,18vw,220px);font-weight:700;line-height:1}.timer.warn{color:var(--accent)}.timer.done{color:var(--accent-2)}.movements{flex-direction:column;gap:8px;width:100%;max-width:600px;margin:0;padding:0;list-style:none;display:flex}.movements li{background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:clamp(16px,1.8vw,24px)}.mv-stepper{align-items:center;gap:6px;display:inline-flex}.mv-stepper .mv-step{border:1px solid var(--border);background:var(--panel-2);width:clamp(32px,3.5vw,44px);height:clamp(32px,3.5vw,44px);color:var(--text);border-radius:8px;font-size:clamp(16px,2vw,22px);font-weight:700;line-height:1}.mv-stepper .mv-step:hover{border-color:var(--accent)}.mv-stepper .mv-value{text-align:center;font-variant-numeric:tabular-nums;min-width:clamp(70px,8vw,110px)}.mv-stepper .mv-num{font-weight:700}.mv-stepper .mv-unit{color:var(--muted);margin-left:4px}.movements li.ticked{opacity:.55}.movements li.ticked .mv-name{text-decoration:line-through}.mv-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.mv-row .mv-name{text-align:left;flex:1;font-weight:600}.mv-row .mv-meta{color:var(--muted)}.mv-tick{border:2px solid var(--border);width:clamp(36px,4vw,48px);height:clamp(36px,4vw,48px);color:var(--text);background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:clamp(18px,2vw,24px);font-weight:700;display:inline-flex}.mv-tick:hover{border-color:var(--accent)}.movements li.ticked .mv-tick{background:var(--accent-2);border-color:var(--accent-2);color:#0b0d10}.pencil{width:clamp(32px,3vw,40px);height:clamp(32px,3vw,40px);color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;font-size:clamp(14px,1.4vw,18px)}.pencil:hover{color:var(--text);border-color:var(--border);background:var(--panel-2)}.mv-edit-form{background:var(--panel-2);flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.mv-edit-form input{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:8px;flex:100px;padding:8px 10px;font-family:inherit;font-size:16px}.mv-edit-form input:focus{border-color:var(--accent);outline:none}.mv-edit-form input.mv-name-in{flex:100%;font-weight:600}.mv-edit-form .mv-save,.mv-edit-form .mv-cancel{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.mv-edit-form .mv-save{background:var(--accent);border-color:var(--accent);color:#fff}.time-stepper-row{flex-direction:column;align-items:center;gap:8px;display:flex}.time-stepper-row .ts-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.time-stepper{align-items:center;gap:8px;display:inline-flex}.time-stepper .stepper{width:clamp(200px,22vw,260px)}.time-stepper .stepper input{min-width:4ch;padding:8px 6px}.time-stepper .step-btn{width:clamp(44px,5vw,56px)}.time-stepper .ts-unit{color:var(--muted);margin-right:4px;font-size:clamp(13px,1.2vw,16px)}.block-title.editable{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:inline-flex}.title-input{background:var(--panel);border:1px solid var(--accent);color:var(--text);font-size:inherit;font-weight:inherit;text-align:center;border-radius:12px;min-width:200px;max-width:80vw;padding:6px 14px;font-family:inherit}.title-input:focus{outline:none}.target-grid{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.target{background:var(--panel);border-radius:14px;min-width:140px;padding:16px 24px}.target .label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px;font-size:clamp(11px,1vw,14px)}.target .value{font-variant-numeric:tabular-nums;font-size:clamp(28px,4vw,56px);font-weight:700}.ring-wrapper{aspect-ratio:1;width:clamp(260px,42vw,460px);position:relative}.ring{width:100%;height:100%;display:block}.ring-track{stroke:var(--panel-2);stroke-width:10px}.ring-fill{stroke:var(--accent-2);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .4s linear,stroke .2s}.ring-wrapper.hard .ring-fill{stroke:var(--accent)}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10%;display:flex;position:absolute;inset:0}.ring-label{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(20px,3vw,44px);font-weight:700;line-height:1}.ring-wrapper.hard .ring-label{color:var(--accent)}.ring-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(40px,7vw,88px);font-weight:700;line-height:1}.big-items{flex-direction:column;align-items:center;gap:16px;max-width:90vw;margin:0;padding:0;list-style:none;display:flex}.big-items li{letter-spacing:-.01em;text-align:center;font-size:clamp(28px,5vw,64px);font-weight:600;line-height:1.15}.stepper{align-items:stretch;gap:8px;display:flex}.stepper input{background:var(--panel);border:1px solid var(--border);min-width:0;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-radius:10px;flex:1;padding:8px 10px;font-family:inherit;font-size:clamp(24px,3vw,36px);font-weight:700}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus{border-color:var(--accent);outline:none}.step-btn{background:var(--panel);border:1px solid var(--border);width:clamp(48px,6vw,72px);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:10px;flex:none;font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1;transition:background .1s,transform 50ms}.step-btn:hover{background:var(--panel-2);border-color:var(--accent)}.step-btn:active{transform:scale(.94)}.log-row{flex-wrap:wrap;justify-content:center;gap:clamp(24px,6vw,64px);width:100%;max-width:720px;display:flex}.log-field{text-align:left;flex-direction:column;flex:180px;display:flex}.log-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px;font-size:12px}.log-field input{background:var(--panel);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:clamp(20px,2.5vw,32px);font-weight:600}.log-field input:focus{border-color:var(--accent);outline:none}.runner-foot{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:12px;padding:12px 16px 20px;display:flex}.up-next{color:var(--muted);align-items:center;gap:12px;min-height:24px;font-size:clamp(13px,1.2vw,18px);display:flex}.up-next .un-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.up-next .un-text{color:var(--text)}.foot-buttons{gap:12px;display:flex}.btn{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;flex:1;padding:18px 20px;font-size:clamp(16px,1.8vw,22px);font-weight:600;transition:transform 50ms,background .15s}.btn:hover{background:var(--panel-2)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);flex:2}.btn.primary:hover{filter:brightness(1.1);background:var(--accent)}.btn.ghost{background:0 0}#reset-btn{min-width:56px;color:var(--muted);flex:none;padding:18px 16px;font-size:clamp(20px,2vw,26px)}#reset-btn:hover{color:var(--text)}.btn.start{background:var(--accent-2);color:#0b0d10;border-color:var(--accent-2)}.btn.start:hover{filter:brightness(1.08);background:var(--accent-2)}@media (min-width:1400px){.runner-main{gap:28px;padding:40px}.runner-foot{padding:20px 32px 32px}.foot-buttons .btn{padding:24px 28px}}.prep-overlay{z-index:100;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0d10f5;flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex;position:fixed;inset:0}.prep-overlay[hidden]{display:none}.prep-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:clamp(28px,4vw,56px);font-weight:700}.prep-count{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--text);font-size:clamp(160px,30vw,360px);font-weight:700;line-height:1}.prep-actions{gap:16px;display:flex}.prep-overlay .btn{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:12px;flex:none;padding:14px 28px;font-size:clamp(14px,1.4vw,18px)}.prep-overlay .btn:hover{color:var(--text);border-color:var(--text)}.prep-overlay .btn.start{background:var(--accent-2);color:#0b0d10;border-color:var(--accent-2)}.prep-overlay .btn.start:hover{filter:brightness(1.08);background:var(--accent-2);color:#0b0d10}@supports (padding:max(0px)){.runner-foot{padding-bottom:max(20px, env(safe-area-inset-bottom))}}.login-screen{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;padding:24px;display:flex}.login-screen h1{letter-spacing:-.03em;margin:0;font-size:clamp(36px,6vw,72px)}.login-form{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.login-input{background:var(--panel);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:14px;width:100%;padding:16px 20px;font-family:inherit;font-size:clamp(18px,2vw,24px)}.login-input:focus{border-color:var(--accent);outline:none}.login-btn{flex:none;width:100%}.tweak-btn{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:clamp(13px,1vw,16px)}.tweak-btn:hover{color:var(--text);background:var(--panel)}.tweak-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0d10eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tweak-overlay[hidden]{display:none}.tweak-panel{background:var(--panel);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:16px;width:100%;max-width:560px;padding:clamp(24px,3vw,40px);display:flex}.tweak-title{letter-spacing:-.02em;margin:0;font-size:clamp(22px,3vw,36px);font-weight:700}.tweak-hint{color:var(--muted);margin:0;font-size:clamp(14px,1.3vw,18px)}.generate-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:clamp(15px,1.4vw,20px)}.generate-input:focus{border-color:var(--accent);outline:none}.generate-input::placeholder{color:var(--muted)}.tweak-actions{gap:12px;display:flex}
