:root{color-scheme:dark;--bg: #050505;--ink: #f5f5f5;--muted: #b8b8b8;--field: #0c0c0c;--accent: #dedede;--line: #666666;--surface: #111111;--error: #ffb4a9}*{box-sizing:border-box}body{margin:0;background:#000;color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{min-height:44px;padding:10px 16px;border:0;border-radius:12px;color:var(--ink);background:#414141;cursor:pointer;font-weight:600}button:hover{background:#515151}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{color:#080808;background:var(--accent)}button.primary:hover{background:#fff}button.quiet{background:transparent;color:var(--muted)}button.quiet:hover{background:#393939}button.danger{color:var(--error)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#080808}input,textarea{caret-color:var(--accent)}a{color:var(--accent);text-underline-offset:4px}.shell{max-width:560px;margin:auto;min-height:100vh;background:var(--bg);padding-bottom:100px}header{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 6px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-size:25px;font-weight:700;letter-spacing:-.035em}.brand img{display:block}.icon-button{padding:10px;width:44px;height:44px;background:transparent;border-radius:50%;display:grid;place-items:center}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.demo{margin:9px 22px 0;color:var(--accent);font-size:12px}.persistence{margin:4px 22px 0;color:var(--muted);font-size:12px;min-height:18px}main{padding:24px 22px 20px}h1{font-size:29px;line-height:1.12;letter-spacing:-.03em;margin:0;font-weight:650}h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:0 0 4px}h3{font-size:17px;margin:0}p{margin:7px 0 14px}small,.muted{color:var(--muted);font-size:13px}.heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}.heading>div{min-width:0}.heading p{margin:6px 0 0}.heading button{font-size:13px;padding:10px 13px}.instrument{display:flex;align-items:center;gap:24px;padding:20px 0 25px;border-bottom:1px solid #4b4b4b;margin-bottom:26px}.dial{height:112px;width:112px;flex:0 0 112px;border-radius:50%;padding:7px;background:conic-gradient(from 45deg,#f7f7f7,#838383 12%,#353535 22%,#e9e9e9 37%,#7d7d7d 48%,#fbfbfb 64%,#7d7d7d 82%,#dedede);box-shadow:0 6px 13px #10101066;position:relative}.dial-face{height:100%;width:100%;border-radius:50%;background:radial-gradient(at 45% 25%,#474747,#191919 78%);display:flex;align-items:center;justify-content:center;flex-direction:column}.dial span{font-size:25px;letter-spacing:-.025em;font-weight:650;font-variant-numeric:tabular-nums}.dial small{font-size:11px}.timer-actions{display:flex;gap:6px}.timer-actions button{min-width:44px;padding:7px 10px;font-size:13px}.instrument p{margin:0 0 9px}.session-status{font-size:13px;color:var(--muted);margin-top:9px}.exercise{margin:0 0 30px}.exercise-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.exercise-head p{margin:3px 0;font-size:13px;color:var(--muted)}.exercise-number{font-size:13px;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#474747;color:var(--ink)}.exercise-title{flex:1}.set-grid{display:grid;grid-template-columns:26px minmax(66px,1.1fr) minmax(54px,1fr) minmax(54px,1fr) 44px;gap:8px;align-items:center}.table-labels{font-size:11px;color:var(--muted);margin-bottom:8px}.table-labels>span{text-align:center}.set-row{padding:5px 0}.set-row .index{font-size:13px;color:var(--muted);text-align:center}.previous{text-align:center;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.previous a{color:var(--muted);text-decoration:underline}.set-row input{width:100%;height:46px;background:var(--field);border:1px solid var(--line);border-radius:9px;text-align:center;font-size:18px;color:var(--ink);padding:3px;font-variant-numeric:tabular-nums;min-width:0}input::placeholder,textarea::placeholder{color:#b5b5b5;opacity:1}.check{height:44px;width:44px;border-radius:50%;padding:0;background:#424242;color:#d8d8d8;display:grid;place-items:center}.check svg{width:19px}.set-row.done .check{background:var(--accent);color:#080808}.add-set{width:100%;margin-top:9px;min-height:44px;border-radius:9px;background:#373737;color:var(--muted);font-size:13px}.note{display:block;font-size:13px;color:var(--muted);margin-bottom:24px}.note textarea{margin-top:8px;resize:vertical;min-height:72px;width:100%;padding:12px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--field)}.wide{width:100%}.list-item{padding:20px 0;border-bottom:1px solid #4b4b4b}.list-item:first-child{padding-top:0}.list-item p{color:var(--muted);font-size:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.metal{background:linear-gradient(165deg,#f4f4f4,#aaa 35%,#e5e5e5 54%,#9d9d9d);color:#050505;box-shadow:0 3px 7px #12121255}.metal:hover{background:#e3e3e3}.tag{font-size:12px;display:inline-block;color:var(--accent);margin-bottom:8px}.notice{background:#24120f;padding:16px;border-radius:12px;color:var(--error);margin-bottom:20px}.notice p{font-size:14px;color:inherit}.notice button{margin:4px 4px 0 0}.notice strong{font-size:16px}#conflict{margin:15px 22px}.error{color:var(--error);font-size:13px;margin:8px 0 0}.form label{display:block;margin:15px 0;color:var(--muted);font-size:13px}.form input,.search{width:100%;min-height:48px;padding:10px 12px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;margin-top:7px}.search{margin:0 0 20px}.empty{padding:36px 0}.empty h2{margin-bottom:10px}.history-chart{margin:22px 0 8px;display:flex;align-items:end;gap:14px;height:130px;padding-top:15px}.bar{flex:1;display:flex;flex-direction:column;justify-content:end;height:100%;text-align:center;font-size:12px;color:var(--muted)}.bar b{display:block;background:#c2c2c2;border-radius:6px 6px 0 0;min-height:12px;margin:6px 0;color:#080808;padding-top:8px}.detail-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #4b4b4b}.detail-row span{color:var(--muted)}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,560px);display:flex;background:#1b1b1b;border-top:1px solid #4b4b4b;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:10}nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;padding:5px 0;min-height:58px;color:var(--muted);background:transparent;border-radius:10px;font-size:10px;font-weight:500}nav button svg{width:21px;height:21px}nav button[aria-current=page]{color:var(--accent);background:#151515}nav button:hover{background:#383838}.toast{position:fixed;bottom:92px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);width:max-content;background:#eee;color:#080808;padding:12px 18px;border-radius:12px;box-shadow:0 5px 18px #0005;z-index:20;font-size:14px}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:var(--accent);color:#080808;padding:12px}.skip:focus{top:10px}[hidden]{display:none!important}.restriction-toggle{display:flex;gap:12px;align-items:center;min-height:48px}.restriction-toggle input{width:22px;height:22px;accent-color:var(--accent)}.history-detail{margin-top:24px}button,nav button{transition:background .16s ease-out}.chart-link{display:block;width:100%;background:transparent;text-align:left;padding:0;font-weight:400}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}@media(max-width:350px){header{padding:14px 16px 6px}.demo,.persistence{margin-left:16px;margin-right:16px}main{padding:22px 16px}.heading{gap:8px}h1{font-size:25px}.instrument{gap:16px}.dial{width:100px;height:100px;flex-basis:100px}.set-grid{gap:5px;grid-template-columns:20px minmax(62px,1.1fr) minmax(50px,1fr) minmax(50px,1fr) 44px}.exercise-head{gap:9px}h2{font-size:18px}.previous{font-size:12px}}@media(min-width:900px){body{padding:48px 32px}.shell{max-width:1120px;border-radius:20px;min-height:820px;padding:0 32px 32px 220px;position:relative}header{padding:26px 0 8px}.demo,.persistence{margin-left:0;margin-right:0}main{padding:32px 0;max-width:700px}.brand{font-size:29px}.heading h1{font-size:34px}.instrument{gap:26px}.dial{width:140px;height:140px;flex-basis:140px}.dial span{font-size:32px}nav{position:absolute;top:140px;left:22px;bottom:auto;transform:none;width:168px;flex-direction:column;border:0;padding:0;background:none;gap:8px}nav button{flex-direction:row;justify-content:flex-start;gap:12px;padding:13px 18px;font-size:14px;min-height:54px}.exercise{max-width:700px}.set-grid{grid-template-columns:40px 1.3fr 1fr 1fr 44px;gap:18px}.table-labels{font-size:13px}.previous{font-size:16px}.list-item{padding:24px 0}.toast{bottom:30px}#conflict{margin:15px 0}.demo{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.previous a{min-height:44px;display:grid;place-items:center}.previous a:focus-visible{outline-offset:1px}.exercise-number{background:linear-gradient(145deg,#f0f0f0,#949494 48%,#cecece);color:#050505}.set-row:not(.done) .check{background:var(--field);border:1px solid #979797}.set-row.done .check{box-shadow:0 2px 4px #12121266}.restriction-link{display:flex;align-items:center;gap:5px;background:transparent;font-size:11px;padding:4px 0}.restriction-link svg{width:20px;height:20px}.restriction-link:hover{background:transparent;color:var(--accent)}@media(max-width:899px){nav button[data-view=restrictions]{display:none}}.instrument{position:relative;isolation:isolate;padding:27px 15px 30px;gap:16px;border:0;margin:0 0 24px;min-height:204px;align-items:center;background:url(/chronometer.svg) center top/100% 196px no-repeat;filter:drop-shadow(0 10px 12px #10101066)}.instrument .dial{width:128px;height:128px;flex:0 0 128px;padding:12px;background:conic-gradient(from -35deg,#fff,#ddd 35deg,#696969 63deg,#fbfbfb 94deg,#fff 109deg,#7d7d7d 150deg,#eaeaea 190deg,#fff 233deg,#a7a7a7 275deg,#3b3b3b 301deg,#e3e3e3 334deg,#fff);box-shadow:0 5px 9px #10101077,inset 0 0 0 1px #f0f0f0}.instrument .dial-face{background:radial-gradient(at 40% 22%,#454545,#171717 82%);box-shadow:inset 0 2px 5px #0d0d0daa}.instrument .dial span{font-size:28px}.instrument>div:last-child{padding:1px 2px 0 0;min-width:0;flex:1}.instrument strong{font-size:14px}.instrument .timer-actions{gap:0;flex-wrap:wrap}.instrument .timer-actions button{font-size:11px;padding:7px 8px;min-height:44px}.instrument #pause{font-size:12px;padding:4px 8px;min-height:44px}.instrument .session-status{font-size:11px;margin-top:2px;color:#dadada}.instrument #rest-skip,.instrument .dial small{color:#dadada}.heading #finish{color:#202020;background:linear-gradient(156deg,#fff,#d4d4d4 26%,#9a9a9a 47%,#f0f0f0 64%,#e8e8e8 76%,#b4b4b4);border-radius:18px 12px 20px;box-shadow:0 5px 9px #1010105c,inset 0 1px 1px #fff;font-size:13px}.heading #finish:hover{background:linear-gradient(156deg,#fff,#dcdcdc 28%,#b1b1b1 48%,#fff 66%,#cecece)}.brand img{width:49px;height:49px}.exercise{padding-top:6px}.exercise-head{margin-bottom:13px}.exercise-number{box-shadow:0 3px 5px #10101077,inset 0 1px 1px #fff}@media(max-width:350px){.instrument{padding:26px 10px 28px;gap:12px;background-size:100% 180px;min-height:185px}.instrument .dial{width:108px;height:108px;flex-basis:108px;padding:10px}.instrument .dial span{font-size:25px}.instrument strong{font-size:12px}.instrument .timer-actions button{font-size:10px;padding:7px 6px}.instrument .session-status{font-size:10px}.instrument #pause{font-size:11px}.brand{font-size:24px}.brand img{width:45px;height:45px}.restriction-link{font-size:10px}.heading{margin-bottom:16px}}@media(min-width:900px){.instrument{max-width:470px;min-height:245px;background-size:100% 240px;padding:36px 20px 38px;gap:26px;margin-bottom:32px}.instrument .dial{width:154px;height:154px;flex-basis:154px;padding:15px}.instrument .dial span{font-size:34px}.instrument strong{font-size:17px}.instrument .timer-actions button,.instrument .session-status{font-size:13px}.instrument #pause{font-size:14px}}.instrument{min-height:236px;padding:22px 15px 60px}.instrument>div:last-child{padding:0 4px 0 10px}.instrument .session-status{position:absolute;left:18px;bottom:14px;margin:0;color:var(--muted);font-size:12px}.instrument #pause{position:absolute;right:12px;bottom:0;font-size:13px}.instrument strong{font-size:13px}.instrument p{margin-bottom:6px}@media(max-width:350px){.instrument{min-height:218px;padding:20px 10px 58px}.instrument>div:last-child{padding-left:10px}.instrument strong{font-size:12px}.instrument .session-status{font-size:11px;left:10px}.instrument #pause{font-size:12px;right:6px}}@media(min-width:900px){.instrument{min-height:282px;padding:36px 20px 70px}.instrument strong{font-size:16px}.instrument .session-status{font-size:13px;left:20px}.instrument #pause{font-size:14px;right:24px}}.instrument{display:grid;grid-template-columns:46% 54%;gap:0;padding-left:0;padding-right:0}.instrument .dial{justify-self:center}.instrument>div:last-child{padding:0 12px 0 30px;max-width:100%}.instrument .timer-actions{gap:0}@media(max-width:350px){.instrument{padding-left:0;padding-right:0}.instrument>div:last-child{padding-left:22px;padding-right:10px}}@media(min-width:900px){.instrument{padding-left:0;padding-right:0}.instrument>div:last-child{padding-left:30px;padding-right:22px}}#rest-skip svg{display:none}@media(max-width:350px){.instrument>div:last-child{padding-right:24px}.instrument strong{font-size:11px;line-height:1.25;display:block}.instrument .timer-actions{flex-wrap:nowrap}.instrument #rest-skip{width:44px;padding:10px}.instrument #rest-skip span{display:none}.instrument #rest-skip svg{display:block;width:18px;height:18px}}@media(max-width:899px){.instrument #rest-skip{width:44px;padding:10px}.instrument #rest-skip span{display:none}.instrument #rest-skip svg{display:block;width:18px;height:18px}}@media(min-width:351px)and (max-width:899px){.instrument>div:last-child{padding-right:24px}.instrument strong{font-size:12px;line-height:1.3;display:block}}.login{padding:32px 0}.session-fieldset{border:0;padding:0;margin:0;min-width:0}.comparison{padding:12px 0}.comparison>h3{margin-top:22px}.comparison p{font-size:14px}.instrument .timer-actions button:not(#rest-add):not(#rest-skip){position:absolute;left:12px;bottom:0;font-size:12px;background:transparent;color:var(--muted)}.instrument .session-pause{font-size:12px}.instrument .timer-actions{flex-wrap:nowrap;gap:0}.instrument .timer-actions #rest-skip{color:#dadada;background:transparent}.instrument .timer-actions #rest-add{font-size:11px;padding:7px 8px}.instrument>div:last-child{padding-right:24px}.instrument strong{font-size:12px;line-height:1.3}.instrument .dial small{font-size:11px}.exercise-title{min-width:0;overflow-wrap:anywhere}.instrument{margin-top:22px}.set-row input{opacity:1}@media(max-width:350px){.instrument strong{font-size:11px}.instrument .timer-actions #rest-add{font-size:10px;padding:7px 6px}.instrument .session-pause{font-size:10px}.instrument .timer-actions button:not(#rest-add):not(#rest-skip){font-size:10px}}.login>.brand{margin:0 22px}.settings{padding:0 22px 28px}.settings summary,details summary{min-height:44px;cursor:pointer;padding:10px 0}.save-times{line-height:1.7;margin-top:20px}.notice{margin:16px 22px}.notice pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;background:var(--field);color:var(--ink);padding:12px;font-size:12px}.form textarea,.form select,.exercise-detail select,.history-detail select,.date-filter input{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);font:inherit;font-size:16px}.form input,.form textarea,.search,.note textarea{font-size:16px}.form textarea{min-height:88px}.plan-editor{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.plan-editor label{margin:6px 0}.plan-editor button{margin-bottom:0}.date-filter{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.set-detail-link{font-size:12px;min-height:44px;padding:8px 0;text-align:left}.set-detail{padding:12px 0}.plan-source{margin:18px 0 26px}.exercise-detail{margin-bottom:18px}.exercise-head>.quiet{padding:8px;flex:0 0 auto;font-size:12px}.instrument .timer-actions{gap:4px;flex-wrap:wrap}.instrument .timer-actions button{font-size:12px}.instrument .session-pause{position:absolute;right:12px;bottom:0;font-size:13px}.instrument .timer-status{position:absolute;left:16px;bottom:14px;color:var(--muted);font-size:12px}.heading .finish-action{color:#202020;background:linear-gradient(156deg,#fff,#d4d4d4 26%,#9a9a9a 47%,#f0f0f0 64%,#e8e8e8 76%,#b4b4b4);border-radius:18px 12px 20px;box-shadow:0 5px 9px #1010105c,inset 0 1px 1px #fff}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}select{max-width:100%}button{overflow-wrap:normal}.set-row input:disabled{opacity:1;color:var(--muted)}.history-detail .detail-row{flex-wrap:wrap}.history-detail .detail-row>a{min-height:44px;display:flex;align-items:center}.equipment-panel{margin-bottom:24px}.equipment-panel>summary{font-size:16px;color:var(--muted)}.series{border-top:1px solid var(--line);padding-top:18px;margin-top:26px}.series h3{font-size:16px;overflow-wrap:anywhere}.shell{padding-bottom:calc(110px + env(safe-area-inset-bottom))}@media(max-width:350px){.notice{margin:14px 16px}.settings{padding:0 16px 28px}.instrument>div:last-child{padding-left:22px;padding-right:16px}.instrument .timer-actions button{font-size:10px;padding:7px 6px}.plan-editor,.date-filter{grid-template-columns:1fr}.exercise-head{gap:6px}.exercise-head>.quiet{font-size:11px;padding:6px}.heading>button{flex:0 0 auto}}@media(min-width:900px){.notice{margin:16px 0}.settings{padding:0;max-width:700px}.shell{padding-bottom:32px}.instrument .session-pause{right:24px}.instrument .timer-status{left:20px}}.plan-source{margin:0 0 16px;font-size:13px;color:var(--muted)}.rest-secondary{margin:18px 0}.instrument{margin-bottom:10px}@media(max-width:899px){.instrument{min-height:214px;padding-bottom:48px}.instrument .session-pause{bottom:0}}:root{--bg: #050505;--ink: #f5f5f5;--muted: #b8b8b8;--field: #0c0c0c;--accent: #dedede;--line: #666666;--surface: #111111;--error: #ffb4a9}body{background:#000}.shell{background:var(--bg)}button{background:#181818;border-radius:8px}button:hover{background:#262626}button.primary,.heading #finish,.heading .finish-action{background:#eee;color:#080808;border-radius:8px;box-shadow:none}button.primary:hover,.heading #finish:hover,.heading .finish-action:hover{background:#fff}button.quiet:hover{background:#151515}.metal,.instrument .timer-actions #rest-add{background:#e2e2e2;color:#080808;box-shadow:none;border-radius:7px}.metal:hover,.instrument .timer-actions #rest-add:hover{background:#fff}.instrument{filter:drop-shadow(0 12px 12px #00000080)}.instrument .dial-face{background:radial-gradient(at 40% 22%,#242424,#050505 82%);box-shadow:inset 0 2px 5px #000a}.instrument .dial{background:conic-gradient(from -35deg,#fff,#dedede 35deg,#646464 63deg,#fafafa 94deg,#fff 109deg,#7d7d7d 150deg,#ededed 190deg,#fff 233deg,#a8a8a8 275deg,#383838 301deg,#e3e3e3 334deg,#fff);box-shadow:0 5px 9px #0007,inset 0 0 0 1px #eee}.exercise-number{background:#101010;color:#dedede;border:1px solid #777777;box-shadow:none}.set-row.done input{background:#141414;border-color:#b8b8b8}.set-row.done .check{background:#eee;color:#080808;box-shadow:none}.set-row:not(.done) .check{background:#0c0c0c;border-color:#888;color:#dedede}.add-set{background:#141414;color:#dedede;border:1px solid #444444}nav{background:#050505;border-color:#333}nav button[aria-current=page]{color:#fff;background:#151515;box-shadow:inset 0 -2px #dedede}nav button:hover{background:#1b1b1b}.demo,.tag{color:#b8b8b8}a{color:#dedede}.history-chart .bar b{background:#c2c2c2;color:#080808;border-radius:2px 2px 0 0}.notice{background:#24120f;color:#ffb4a9;border-radius:8px}.toast,.skip{background:#eee;color:#080808;border-radius:8px}::selection{background:#dedede;color:#080808}:focus-visible{outline:3px solid #dedede;outline-offset:3px}input,textarea{caret-color:#dedede}*{scrollbar-color:#666666 #050505}.instrument .dial{padding:8px}@media(max-width:350px){.instrument .dial{padding:7px}}@media(min-width:900px){.instrument .dial{padding:10px}}
