:root{color-scheme:light;--ink:#202025;--muted:#66666f;--accent:#6550d9;--accent-deep:#5140b9;--glass:rgba(255,255,255,.76);--line:rgba(0,0,0,.07);--shadow:0 8px 28px rgba(25,25,32,.065);--radius:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;font-size:16px;line-height:1.5;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;background:#fff;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}button:hover{background:rgba(0,0,0,.035)}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}::selection{background:#e3defa;color:#272135}input,textarea{caret-color:var(--accent)}svg{width:22px;height:22px;flex-shrink:0}a{color:var(--accent);text-underline-offset:3px}h1,h2,p{margin:0}h1{font-size:36px;line-height:1.15;font-weight:750;letter-spacing:-.035em;text-wrap:balance}h2{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.02em}small{font-size:13px}strong{font-weight:650}.muted{color:var(--muted);margin-top:10px}.hint{color:var(--muted);font-size:13px;line-height:1.6;margin-top:14px}.optional{font-size:12px;font-weight:400;color:var(--muted)}.center{text-align:center}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(0);-webkit-backdrop-filter:blur(22px) saturate(0);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(75,75,85,.08)}.shell{max-width:1080px;padding:0 28px 140px;margin:auto}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;letter-spacing:-.035em;color:var(--ink);font-weight:750;text-decoration:none;display:inline-flex;align-items:center;gap:9px}.brand svg{width:25px;height:25px}.save-status{display:flex;gap:6px;align-items:center;font-size:12px;color:#5b6260}.save-status svg{width:18px;height:18px}.save-status.unsaved{color:#8b5223}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:14px 0 26px}.date-line{display:flex;gap:2px;align-items:center;color:var(--muted);margin:10px 0 0 -12px}.icon-btn{width:44px;padding:10px;border-radius:50%;flex-shrink:0}.date-picker,.month-picker{position:relative;cursor:pointer;display:block;font-weight:500;min-height:44px;align-content:center}.date-picker input,.month-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.workout-tabs,.mode-tabs{padding:5px;display:flex;gap:5px;max-width:560px;background:rgba(246,246,248,.65);box-shadow:inset 0 1px 0 #fff,0 3px 13px rgba(0,0,0,.04)}.workout-tabs button,.mode-tabs button{flex:1;padding:10px 9px;border-radius:15px;font-size:14px;white-space:nowrap;font-weight:550}.workout-tabs .selected,.mode-tabs .selected{background:rgba(255,255,255,.95);color:var(--accent-deep);box-shadow:0 3px 12px rgba(0,0,0,.07),inset 0 0 0 1px #fff}.workout-context{display:flex;justify-content:space-between;gap:20px;margin:22px 0 18px;font-size:14px;color:var(--muted)}.workout-context span{white-space:nowrap}.progress-line{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:7px}progress{width:100%;height:5px;border:0;display:block;border-radius:10px;overflow:hidden;background:#eee;margin-bottom:32px}progress::-webkit-progress-bar{background:#eee}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent)}.training-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:40px}.exercise-index{align-self:start;position:sticky;top:22px}.exercise-index h2{font-size:15px;margin:6px 0 15px}.exercise-index button{display:flex;text-align:left;width:100%;justify-content:flex-start;padding:12px;gap:12px;border-radius:13px;margin-bottom:4px;font-size:13px}.exercise-index button>span:first-child{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.exercise-index button>span:nth-child(2){flex:1}.exercise-index small{font-size:11px;color:var(--muted)}.exercise-index button.selected{background:#f3f2f5;font-weight:650}.exercise{margin-bottom:10px;scroll-margin-top:24px}.exercise-heading{display:flex;justify-content:flex-start;width:100%;gap:14px;text-align:left;padding:17px 0;border-radius:12px}.exercise-heading>span:nth-child(2){flex:1;min-width:0}.exercise-heading strong{font-size:18px;line-height:1.3;display:block;letter-spacing:-.02em}.exercise-heading small{display:block;color:var(--muted);margin-top:4px}.exercise-number{width:22px;color:#8a8a92;font-size:12px;font-variant-numeric:tabular-nums}.exercise-count{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.exercise-count svg{width:17px}.expanded .exercise-heading strong{font-size:25px}.expanded .exercise-number{display:none}.exercise-body{padding-bottom:22px}.exercise-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:8px}.technique{font-size:12px;color:var(--muted);margin:12px 0 20px}.technique summary,details summary{cursor:pointer;min-height:32px;align-content:center}.technique p{margin-top:8px}.set-row{width:100%;display:flex;gap:14px;justify-content:flex-start;padding:16px;margin:10px 0;min-height:80px;text-align:left}.set-row:hover{background:#f8f8fa}.set-row.logged{background:rgba(245,245,247,.7)}.set-bullet{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#efeff2;color:#777780;font-size:13px;flex-shrink:0}.logged .set-bullet{color:var(--accent);background:#eeebfc}.set-bullet svg{width:18px}.set-copy{flex:1;min-width:0}.set-copy strong{display:block;font-size:15px}.set-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:3px;overflow-wrap:anywhere}.set-value{text-align:right;flex-shrink:0}.set-value strong{display:block;font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.set-value small{color:var(--muted);font-size:11px}.set-value>svg{width:19px;color:var(--muted)}.next-exercise{display:flex;justify-content:flex-end}.text-btn{font-size:13px;font-weight:600;color:var(--accent-deep);padding:8px;border-radius:10px}.text-btn svg{width:18px}.session-footer{padding:24px;margin-top:30px}.session-footer h2{margin-bottom:18px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.primary{padding:13px 22px;min-height:50px;border-radius:14px;background:var(--accent);color:white;font-weight:650;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 5px 12px rgba(50,40,100,.1)}.primary:hover{background:var(--accent-deep)}.secondary{background:#efeff2;padding:12px 20px;border-radius:14px;font-size:14px;font-weight:600}.secondary:hover{background:#e5e5e9}.full{width:100%}.ghost{padding:10px 15px;border-radius:12px}.danger{color:#b53a3a}.dock{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;z-index:10;gap:5px;padding:6px;width:330px;background:rgba(250,250,250,.82);box-shadow:0 10px 35px rgba(15,15,20,.12),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.9);border-radius:26px}.dock-item{flex:1;flex-direction:column;border-radius:20px;padding:9px 5px;gap:5px;font-size:11px;color:#65656e;min-height:58px}.dock-item.selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 12px rgba(0,0,0,.065);font-weight:650}.dock-item svg{width:22px;height:22px}label{display:block;font-size:14px;font-weight:600}input,select,textarea{color:var(--ink);border:1px solid rgba(50,50,60,.11);border-radius:12px;background:rgba(255,255,255,.85);padding:12px;min-height:48px;width:100%;font-size:16px;font-variant-numeric:tabular-nums;max-width:100%}input::placeholder,textarea::placeholder{color:#76767f;opacity:1}label>input,label>select{margin-top:8px}textarea{resize:vertical;line-height:1.5}select{padding-right:28px}.bodyweight-row{display:grid;grid-template-columns:1fr 100px;gap:12px;margin-top:20px}.editor-shell{max-width:500px;padding:16px 24px 40px;margin:auto}.editor-top{display:flex;align-items:center;gap:6px;margin-left:-10px;margin-bottom:20px;font-size:13px;color:var(--muted)}.editor-shell h1{font-size:32px}.editor-shell h2{margin:28px 0 12px}.editor-card{margin:25px 0;padding:20px}.weight-button{position:relative;text-align:left;width:100%;flex-wrap:wrap;justify-content:space-between;padding:16px 0 20px;margin-bottom:14px;border-radius:10px}.weight-button strong{font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.weight-button small{width:100%;color:var(--muted);font-size:12px;font-weight:400}.weight-button>svg{color:var(--accent)}.reps-row{display:flex;gap:14px;margin:24px 0}.reps-row label{flex:1}.reps-row input{font-size:24px;font-weight:650}.mode-tabs{margin-top:26px}.component{display:grid;grid-template-columns:64px minmax(65px,1fr) 74px 34px;gap:8px;padding:12px;margin:12px 0;align-items:center}.component input,.component select{padding:10px 8px;border:0;min-width:0}.component .part-value{font-size:23px;font-weight:650}.component .quantity{display:flex;align-items:center}.component .quantity input{width:48px;padding:10px 4px;font-size:16px;background:transparent}.quantity span{color:var(--muted)}.component .icon-btn{width:34px;padding:6px}.weight-input{display:flex;gap:12px;padding:14px;align-items:center}.weight-input input{font-size:28px;font-weight:650;border:0;min-width:0}.weight-input select{width:88px;flex-shrink:0;border:0}.display-unit{display:flex;align-items:center;gap:12px;margin-top:22px;color:var(--muted);font-size:13px}.display-unit select{width:100px;margin:0}.combined{margin:30px 0;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:14px}.combined strong{font-size:42px;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.2}.combined span:last-child{font-size:22px;font-weight:550}.calendar{max-width:640px;margin:0 auto;padding:22px}.month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.month-picker{font-size:21px;font-weight:650;letter-spacing:-.02em}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-name{text-align:center;color:var(--muted);font-size:12px;padding:10px 0}.day{height:54px;min-width:0;flex-direction:column;gap:2px;border-radius:15px;font-size:16px;font-variant-numeric:tabular-nums}.day i{width:4px;height:4px;background:var(--accent);border-radius:50%}.day.today{font-weight:750}.day.selected{background:var(--accent);color:#fff}.day.selected i{background:#fff}.day:disabled{opacity:.3}.month-summary{display:flex;justify-content:space-between;max-width:640px;margin:24px auto;font-size:13px;color:var(--muted)}.history-list{max-width:640px;margin:auto}.history-item{width:100%;display:flex;gap:20px;padding:20px;text-align:left;justify-content:flex-start;margin-bottom:14px}.history-item>span:nth-child(2){flex:1}.history-item strong,.history-item small{display:block}.history-item small{color:var(--muted);margin-top:4px;font-size:12px}.history-date{width:40px;text-align:center}.history-date strong{font-size:24px;line-height:1}.history-date small{text-transform:uppercase;font-size:10px}.history-item>svg{width:18px}.empty{max-width:430px;margin:50px auto;text-align:center}.empty>div>svg{width:36px;height:36px;color:#92929a}.empty h2{margin:18px 0 10px}.empty p{color:var(--muted);font-size:14px;margin-bottom:22px}.settings-section{max-width:640px;margin:20px auto;padding:26px}.settings-section h2{margin-bottom:18px}.settings-section>label{margin:18px 0}.settings-section p{font-size:14px;line-height:1.7}.settings-section details{font-size:14px;margin-top:18px}.settings-link{width:100%;justify-content:flex-start;padding:16px 0;color:var(--accent-deep);font-size:14px;border-radius:12px}.account{display:flex;justify-content:space-between;align-items:center;padding:10px 0;box-shadow:none;gap:12px}.account>span{display:flex;align-items:center;gap:10px;font-size:13px;overflow-wrap:anywhere;min-width:0}.account svg{width:18px}.notice{padding:18px 20px;background:#f5f5f7;border-radius:14px;margin:20px 0;font-size:14px}.notice p{margin-top:8px}.notice.error{background:#fff3ef;color:#963b27}.auth{max-width:470px;margin:0 auto;padding:60px 24px}.auth-panel{padding:32px;margin-top:40px}.auth h1{font-size:30px;margin:14px 0}.auth-panel label{margin:20px 0}.auth-panel .primary{margin-top:24px}.auth-icon{width:46px;height:46px;display:grid;place-items:center;background:#f2f2f5;border-radius:14px;color:var(--accent)}.auth-foot{color:var(--muted);text-align:center;font-size:12px;margin-top:24px}.auth code{font-size:12px;overflow-wrap:anywhere}.loading-shell{padding:50px 24px;max-width:500px;margin:auto}.loading-shell strong{font-size:24px}.loading-shell p{color:var(--muted);margin-top:12px}#toast{position:fixed;z-index:50;bottom:112px;left:50%;transform:translate(-50%,8px);padding:14px 20px;background:#303036;color:white;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.14);max-width:min(500px,90vw);font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.skeleton{padding:30px 0}.skeleton div{height:80px;border-radius:20px;background:#f5f5f6;margin:16px 0;animation:breathe 1.2s ease-in-out infinite alternate}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes breathe{to{opacity:.5}}@media(max-width:760px){.shell{max-width:520px;padding:0 20px 130px}.topbar{height:76px}.page-heading{margin:8px 0 22px}.training-layout{display:block}.exercise-index{display:none}.workout-context{flex-direction:column;gap:5px;font-size:13px;margin:20px 0}.workout-context span{font-size:12px}.expanded .exercise-heading strong{font-size:24px}.calendar{padding:16px 10px}.calendar-grid{gap:3px}.day{height:45px;font-size:15px}.month-picker{font-size:19px}.settings-section{padding:22px 20px}.session-footer{padding:20px}.account{padding:8px 0;flex-wrap:wrap}.set-row{padding:14px;gap:10px}.set-value strong{font-size:18px}.workout-tabs button{padding:9px 5px;font-size:13px}.exercise-meta{font-size:11px}.date-line{font-size:14px}.dock{width:min(330px,calc(100% - 36px))}.auth{padding-top:36px}.auth-panel{padding:25px 22px}.editor-shell{padding:12px 20px 35px}.component{padding:10px;gap:5px;grid-template-columns:53px minmax(55px,1fr) 70px 30px}.component .quantity input{width:39px}.component .icon-btn{width:30px}.component .part-value{font-size:22px}.mode-tabs button{font-size:13px;padding:10px 7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@supports not (backdrop-filter:blur(1px)){.glass{background:#fafafa}}@media print{.dock,.topbar button{display:none}.shell{padding:0}.glass{box-shadow:none}.exercise-body{display:block}.exercise-index{display:none}}
