:root{color-scheme:dark;--bg:#101214;--panel:#181b1f;--raised:#20242a;--line:#30353c;--text:#f0f2f5;--muted:#a1a9b5;--lime:#c5ef75;--blue:#8dafff;--danger:#ffb6a8;--radius:20px;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button{border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:10px;padding:10px 16px;min-height:44px;font-size:14px;font-weight:600}a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-1.3px;font-weight:650}h2{font-size:21px;line-height:1.3;letter-spacing:-.5px}h3{font-size:18px}p{line-height:1.6}small{font-size:13px}.muted{color:var(--muted);font-size:14px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:1.7px;font-weight:650;margin-bottom:8px}.accent{color:var(--lime)}.primary{background:var(--lime);color:#18220c;border-color:var(--lime)}.primary:hover{background:#d4f59f}.secondary:hover{background:#2b313a}.text-link{color:var(--lime);font-size:14px;font-weight:600}.icon-button{padding:6px 12px;font-size:22px;line-height:1;min-width:44px}.full{width:100%}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:#141619;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.5;letter-spacing:1.8px;font-weight:700}.brand-mark{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;background:var(--lime);color:#17220e;border-radius:14px;font-size:22px;font-weight:750;letter-spacing:-2px}.sidebar nav{display:grid;gap:8px;margin-top:52px}.sidebar nav a{padding:13px 14px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px;border-radius:10px}.sidebar nav a span{font-size:22px;width:24px;text-align:center;line-height:1}.sidebar nav a.active{background:#262e21;color:var(--lime)}.sidebar-bottom{margin-top:auto;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:14px}.sidebar-bottom small{display:block;color:var(--muted);font-size:12px}.sidebar-bottom button{padding:5px;min-width:30px;border:0;background:transparent}.avatar{border:1px solid #515b42;background:#293023;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:var(--lime)}main{max-width:1560px;margin-left:218px;padding:36px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.head-actions{display:flex;align-items:center;gap:16px}.sync{font-size:12px;color:var(--muted);max-width:180px}.sync.error{color:var(--danger)}.view{display:grid;gap:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.notice{padding:16px 20px;display:flex;align-items:center;gap:15px;background:#262319;border:1px solid #514735;border-radius:14px;color:#eddbb3;font-size:14px}.notice p{font-size:14px;margin-top:3px}.notice a{margin-left:auto;white-space:nowrap;font-size:14px;text-decoration:underline;text-underline-offset:3px}.notice-symbol{width:28px;height:28px;border:1px solid #8d7950;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.danger{color:var(--danger);background:#2b1e1c;border-color:#644139}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.stat-top{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:14px}.stat-number{font-size:34px;line-height:1.2;letter-spacing:-1px;font-weight:650;font-variant-numeric:tabular-nums;margin:17px 0 10px}.stat-number small{font-size:16px;color:var(--muted);font-weight:400;letter-spacing:0}.stat-bottom{font-size:12px;color:var(--muted)}.stat-bottom.emphasis{color:var(--lime)}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px}.segmented{display:flex;padding:4px;background:#111315;border-radius:10px}.segmented button{padding:6px 12px;border:0;min-height:34px;font-size:12px;background:transparent;color:var(--muted)}.segmented button.selected{background:#30363d;color:var(--text)}.chart-legend{display:flex;gap:22px;margin:22px 0 6px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:7px}.line-key{display:block;width:16px;border-top:2px solid var(--lime)}.line-key.dashed{border-top:2px dashed #7a8594}#weight-chart{min-height:220px;display:grid;align-items:center}#weight-chart svg{width:100%;height:auto;overflow:visible}.chart-caption{margin-top:12px}.chart-empty{text-align:center;display:grid;gap:12px;justify-items:center;padding:28px 10px}.chart-empty strong{font-size:18px;font-weight:500}.chart-empty span{font-size:14px;color:var(--muted)}.chart-empty svg{max-width:280px;height:60px!important;opacity:.45}.goal-panel{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.goal-panel>.eyebrow{align-self:flex-start}.ring-wrap{position:relative;width:190px;height:190px;margin:10px auto}.ring-wrap svg{transform:rotate(-90deg);width:100%;height:100%}.ring-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center}.ring-label strong{font-size:37px;font-weight:600;letter-spacing:-1px}.ring-label small{color:var(--muted)}.goal-numbers{display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:18px;margin-bottom:18px}.goal-numbers span{display:grid;gap:3px;font-size:14px;color:var(--muted)}.goal-numbers b{font-size:20px;color:var(--text);font-weight:500}.week-controls{display:flex;gap:5px}.week-controls button{font-size:12px;padding:6px 10px}.week-controls .icon-button{font-size:20px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:22px}.day{display:grid;justify-items:center;gap:8px;background:#20242a;border:1px solid transparent;border-radius:12px;padding:12px 2px;color:var(--muted);min-width:0}.day.today{border-color:#707a5c}.day.done{background:#2a3621;color:var(--lime)}.day b{font-size:20px;color:var(--text);font-weight:500}.day small{font-size:12px}.day i{height:8px;width:8px;border-radius:50%;background:#414750}.day.done i{background:var(--lime)}.week-foot{margin-top:20px}.recommendation{background:linear-gradient(125deg,#252c20,#181d19);border-color:#3b4930;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.recommendation p:not(.eyebrow){font-size:14px;color:#bdc8b4}.recommendation a{margin-top:auto}.year-grid{display:grid;grid-template-columns:repeat(26,1fr);gap:7px;margin-top:24px}.year-cell{padding:0;min-height:24px;height:26px;border-radius:5px;background:#282d33;border:1px solid transparent;font-size:10px;color:#a1a9b5}.year-cell.done{background:#728d44;color:#101214}.year-cell.current{border-color:var(--lime)}.year-legend{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:12px;gap:12px}.year-legend i{width:8px;height:8px;display:inline-block;background:var(--lime);margin-right:6px}
label{display:grid;gap:7px;font-size:14px;color:#c8ced7}input,select,textarea{width:100%;min-width:0;background:#101316;color:var(--text);border:1px solid #3a414a;border-radius:9px;padding:11px 12px;min-height:46px;font-size:16px}input::placeholder,textarea::placeholder{color:#7e8998}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-label{display:flex;align-items:center;gap:12px}.inline-label select{width:auto;max-width:100%}.notes-label{margin-top:24px}.form-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.form-actions>.muted{margin-right:auto;max-width:330px}.pill{font-size:12px;color:var(--lime);border:1px solid #485a33;background:#242d1e;border-radius:30px;padding:5px 12px}.exercise-card{border-top:1px solid var(--line);padding:24px 0}.exercise-title{display:flex;align-items:center;gap:12px}.exercise-title input{max-width:470px}.exercise-number{font-size:14px;color:var(--lime);background:#293121;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.exercise-title .icon-button{margin-left:auto;border:0;background:transparent;color:var(--muted)}.exercise-note{font-size:14px;color:var(--muted);margin:10px 0 14px 44px}.set-row{display:grid;grid-template-columns:42px minmax(80px,1fr) minmax(80px,1fr) 44px;gap:10px;align-items:center;max-width:480px;margin:8px 0 8px 44px}.set-row>span{color:var(--muted);font-size:14px}.set-row .icon-button{font-size:18px}.set-header{color:var(--muted);font-size:12px;margin-bottom:4px}.set-header span{font-size:12px}.small-button{font-size:12px;padding:5px 12px;min-height:36px;margin-left:44px}.exercise-meta{display:flex;gap:12px;margin:12px 0 0 44px;max-width:620px}.exercise-meta label{flex:1}.history-item{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:12px}.history-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.history-top h3{font-size:16px}.history-date{font-size:12px;color:var(--muted);margin-bottom:5px}.history-values{display:flex;gap:22px;flex-wrap:wrap;margin-top:14px;font-size:14px}.history-values strong{font-weight:600;color:var(--lime)}.history-actions{display:flex;gap:6px}.history-actions button{font-size:12px;padding:7px 10px}.history-item details{margin-top:14px}.history-item summary{cursor:pointer;font-size:14px;color:var(--blue);padding:5px 0}.history-item li{font-size:14px;color:var(--muted);margin:8px 0}.empty{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.empty h3{color:var(--text);margin-bottom:8px}.program-card{padding:22px 0;border-bottom:1px solid var(--line)}.program-card:last-child{border:0}.program-card summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:16px}.program-card summary span{color:var(--lime);font-size:14px;text-align:right}.program-card p{margin-top:14px;color:var(--muted);font-size:14px}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.recommendation-grid p:last-child{font-size:14px;color:var(--muted);margin-top:10px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.settings-grid form{display:grid;gap:18px}.stack{display:grid;gap:24px;align-content:start}.stack .panel{display:grid;gap:16px}.file-label{margin-top:8px}.file-label input{font-size:14px}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:38px;padding-top:22px;font-size:12px;color:var(--muted)}dialog{color:var(--text);background:var(--panel);border:1px solid #48515d;border-radius:20px;padding:28px;width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog label{margin-top:12px}dialog .form-grid label{margin:0}dialog p{margin:16px 0}#measure-error{color:var(--danger);font-size:14px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#d1f494;color:#152009;border-radius:12px;padding:14px 22px;z-index:30;box-shadow:0 8px 40px #0008;max-width:calc(100% - 32px);font-size:14px}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);display:grid;gap:20px;padding:36px}.login-card h1{font-size:30px}#login-error{font-size:14px;color:var(--danger)}
@media(min-width:1600px){main{margin-right:auto}}@media(max-width:1200px){main{padding:28px 24px}.sidebar{width:188px;padding:28px 14px}main{margin-left:188px}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.panel{padding:22px}.stats{gap:12px}.stat{padding:20px 16px}.head-actions{gap:10px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel .section-head{align-items:flex-start;flex-direction:column}.stat-number{font-size:30px}}
@media(max-width:900px){.sidebar{width:76px;padding:24px 12px}.brand>span:last-child,.sidebar-bottom,.sidebar nav a{font-size:0}.sidebar nav a{padding:13px 10px}.sidebar nav a span{font-size:24px}.sidebar nav{margin-top:34px}.brand-mark{width:46px}main{margin-left:76px}.overview-grid{grid-template-columns:minmax(0,1fr)}.goal-panel{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start}.head-actions{flex-direction:column-reverse;align-items:flex-end}.settings-grid{grid-template-columns:1fr}.year-cell{height:22px;min-height:22px}.notice{flex-wrap:wrap}.notice a{margin-left:43px}.notice.danger a{margin-left:0}}
@media(max-width:600px){.sidebar{inset:auto 0 0;width:100%;height:70px;padding:0 4px;background:#141619f5;border-right:0;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.brand,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0}.sidebar nav a{display:flex;flex-direction:column;gap:4px;padding:8px 2px;font-size:10px;min-height:64px;border-radius:0}.sidebar nav a span{font-size:22px}.sidebar nav a.active{background:transparent;color:var(--lime)}main{margin-left:0;padding:22px 16px 92px}.page-head{flex-direction:column;gap:18px;margin-bottom:20px}.page-head h1{font-size:29px}.head-actions{width:100%;flex-direction:row-reverse;justify-content:space-between;align-items:center}.head-actions .primary{font-size:14px}.view{gap:18px}.panel{padding:19px;border-radius:16px}.stats{gap:10px}.stat{padding:17px}.stat-number{font-size:29px;margin-top:12px}.stat-top{font-size:12px}.notice{padding:14px}.notice-symbol{display:none}.notice a{margin-left:0}.overview-grid{gap:18px}.chart-legend{gap:14px;font-size:11px}.year-grid{grid-template-columns:repeat(13,1fr);gap:6px}.year-legend{font-size:10px}.year-legend span:nth-child(2){display:none}.week-days{gap:4px}.day{padding:10px 0}.day b{font-size:18px}.week-controls{gap:3px}.week-controls button{min-width:34px;padding:6px}.week-foot{gap:10px}.recommendation-grid{grid-template-columns:1fr}.form-grid{gap:12px}.exercise-note,.set-row,.exercise-meta{margin-left:0}.exercise-title{gap:8px}.exercise-title h3{font-size:16px}.exercise-number{width:26px;height:26px}.set-row{grid-template-columns:30px minmax(70px,1fr) minmax(70px,1fr) 36px;gap:7px}.set-row .icon-button{min-width:36px;padding:6px}.exercise-meta{flex-wrap:wrap}.exercise-meta label{min-width:120px}.small-button{margin-left:0}.history-item{padding:18px}.history-top{align-items:flex-start;flex-wrap:wrap}.history-values{gap:12px}.history-actions{margin-left:auto}.inline-label{width:100%;flex-wrap:wrap}.inline-label select{flex:1;min-width:160px}dialog{padding:22px}.form-actions>.muted{max-width:100%}.form-actions .primary{width:100%}footer{font-size:11px;flex-direction:column}.sync{font-size:11px;max-width:135px}#toast{bottom:86px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}.view{animation:appear .2s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media print{.sidebar,.head-actions,button,footer{display:none}main{margin:0;padding:0}.panel{break-inside:avoid}body{background:white;color:black}}
