:root{color-scheme:dark;--bg: #000;--fg: #fff;--fg-soft: rgba(255, 255, 255, .7);--fg-muted: rgba(255, 255, 255, .45);--fg-faint: rgba(255, 255, 255, .25);--line: rgba(255, 255, 255, .12);--line-soft: rgba(255, 255, 255, .06);--accent: #fff;--danger: #ff6b6b;--up: #9ad97a;--down: #ff8a8a;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--pad-x: max(16px, env(safe-area-inset-left));--pad-y: max(16px, env(safe-area-inset-top));--pad-bottom: max(16px, env(safe-area-inset-bottom));--tap: 44px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:14px;line-height:1.4;overscroll-behavior-y:none;min-height:100dvh}body{padding-bottom:calc(var(--pad-bottom) + 64px)}#app{min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:0;-webkit-appearance:none;appearance:none}button{cursor:pointer;user-select:none}a{color:inherit}::selection{background:#fff3}.brand{font-size:13px;letter-spacing:.18em;text-transform:lowercase;color:var(--fg)}.muted{color:var(--fg-muted)}.small{font-size:12px}.center{text-align:center}.pad{padding:24px 0}.pad-top{padding-top:12px}.up{color:var(--up)}.down{color:var(--down)}.screen{padding:var(--pad-y) var(--pad-x) 16px;max-width:520px;margin:0 auto}.screen-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.screen-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 16px;font-weight:400}.link-back{border:none;padding:4px 0;font-size:12px;color:var(--fg-muted);letter-spacing:.1em}.login{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--pad-x);gap:32px;text-align:center}.login .brand{font-size:16px;letter-spacing:.22em}.login-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.passphrase{text-align:center;padding:16px;font-size:16px;letter-spacing:.08em;border:1px solid var(--line)}.passphrase:focus{outline:none;border-color:var(--fg-soft)}.login-foot{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.err{color:var(--danger);font-size:12px;letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 18px;border:1px solid var(--line);font-size:13px;letter-spacing:.14em;text-transform:lowercase;color:var(--fg)}.btn:disabled{opacity:.4}.btn:active{background:#ffffff0f}.btn-primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.btn-block{width:100%}.btn-ghost{display:block;width:100%;text-align:left;padding:14px 0;border:none;border-top:1px solid var(--line-soft);color:var(--fg-muted);font-size:12px;letter-spacing:.14em;text-transform:lowercase}.link-danger{border:none;padding:8px 0;color:var(--danger);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.brand-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px}.brand-row .date{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.card{border:1px solid var(--line);padding:16px;margin-bottom:12px}.card-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:10px}.big-num{font-size:40px;font-weight:400;letter-spacing:-.01em;line-height:1}.big-num .unit{font-size:14px;color:var(--fg-muted);letter-spacing:.06em}.big-text{font-size:22px;letter-spacing:0;text-transform:lowercase}.meta{margin-top:8px;font-size:12px;color:var(--fg-soft);letter-spacing:.06em}.quick-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}.day-selector{display:flex;gap:6px;overflow-x:auto;margin-bottom:16px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.day-selector::-webkit-scrollbar{display:none}.day-tab{flex:0 0 auto;border:1px solid var(--line);padding:8px 14px;font-size:12px;letter-spacing:.1em;color:var(--fg-muted);white-space:nowrap}.day-tab-active{color:var(--fg);border-color:var(--fg)}.exercises{display:flex;flex-direction:column;gap:16px}.exercise{border:1px solid var(--line);padding:14px}.exercise-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.exercise-name{margin:0;font-size:15px;font-weight:400}.exercise-scheme{font-size:11px;color:var(--fg-muted);letter-spacing:.08em}.sets{display:flex;flex-direction:column;gap:6px}.set-head,.set-row{display:grid;grid-template-columns:28px 1fr 1fr 1fr 28px;gap:6px;align-items:center}.set-head{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);padding-bottom:4px}.set-idx{font-size:12px;color:var(--fg-muted);text-align:center}.set-x{border:none;color:var(--fg-faint);font-size:18px;line-height:1;height:32px}.set-x:active{color:var(--danger)}.band-select{height:var(--tap);padding:0 22px 0 8px;border:1px solid var(--line);font-size:12px;background:var(--bg);background-image:linear-gradient(45deg,transparent 50%,var(--fg-muted) 50%),linear-gradient(135deg,var(--fg-muted) 50%,transparent 50%);background-position:calc(100% - 12px) center,calc(100% - 8px) center;background-size:4px 4px;background-repeat:no-repeat}.add-set{border:1px dashed var(--line);padding:10px 0;font-size:11px;color:var(--fg-muted);letter-spacing:.14em;text-transform:lowercase;margin-top:6px}.summary-fields{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1 / -1}.field-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}.notes{border:1px solid var(--line);padding:10px;font:inherit;resize:none;background:transparent;color:var(--fg)}.notes:focus{outline:none;border-color:var(--fg-soft)}.sticky-footer{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 60%,transparent);padding:16px 0 var(--pad-bottom);margin:24px -4px 0}.single-input{margin:32px 0;display:flex;justify-content:center}.single-input .numfield{font-size:36px;padding:24px 32px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.numfield{display:flex;align-items:baseline;justify-content:center;gap:4px;min-height:var(--tap);padding:8px 12px;border:1px solid var(--line);font-size:16px;color:var(--fg);text-align:center;white-space:nowrap}.numfield:active{background:#ffffff0a}.numfield-compact{font-size:14px;padding:6px 4px}.numfield-value{font-variant-numeric:tabular-nums}.numfield-placeholder{color:var(--fg-faint)}.numfield-unit{font-size:11px;color:var(--fg-muted)}.keypad-wrap{position:fixed;inset:0;background:#00000080;z-index:50;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(2px)}.keypad{width:100%;max-width:520px;background:var(--bg);border-top:1px solid var(--line);padding:12px 12px calc(12px + var(--pad-bottom))}.keypad-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding:0 6px}.keypad-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);flex:1}.keypad-value{font-size:22px;font-variant-numeric:tabular-nums}.keypad-done{border:1px solid var(--line);padding:6px 12px;font-size:11px;letter-spacing:.14em;text-transform:lowercase}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.keypad-key{height:56px;border:1px solid var(--line);font-size:22px;background:#ffffff05}.keypad-key:active{background:#ffffff1a}.navbar{position:fixed;left:0;right:0;bottom:0;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;gap:4px;background:#000000eb;border-top:1px solid var(--line);backdrop-filter:blur(8px);z-index:30}.nav-tab{flex:1;border:none;padding:10px 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint)}.nav-tab-active{color:var(--fg)}.weeks{display:flex;flex-direction:column;gap:8px}.week-head,.workout-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;border:1px solid var(--line);font-size:13px;letter-spacing:.04em;text-align:left}.workout-head{font-size:12px;padding:10px 12px}.week-body,.workout-body{padding:10px 12px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.workout{margin:6px 0}.hist-ex{padding:8px 0;border-bottom:1px solid var(--line-soft)}.hist-ex:last-child{border-bottom:none}.hist-ex-name{font-size:13px}.hist-sets{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:4px;font-size:12px;color:var(--fg-soft)}.hist-set{font-variant-numeric:tabular-nums}.hist-notes{margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--fg-muted)}.range-tabs{display:flex;gap:4px;margin-bottom:16px}.range-tab{flex:1;border:1px solid var(--line);padding:8px 0;font-size:11px;letter-spacing:.14em;color:var(--fg-muted)}.range-tab-active{color:var(--fg);border-color:var(--fg)}.chart-wrap{position:relative}.exercise-picker{width:100%;padding:10px 28px 10px 12px;margin-bottom:12px;border:1px solid var(--line);font-size:12px;background:var(--bg);background-image:linear-gradient(45deg,transparent 50%,var(--fg-muted) 50%),linear-gradient(135deg,var(--fg-muted) 50%,transparent 50%);background-position:calc(100% - 16px) center,calc(100% - 12px) center;background-size:4px 4px;background-repeat:no-repeat}.plan-note{font-size:11px;letter-spacing:.08em;margin-bottom:16px}.goal-list,.exercise-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.exercise-list li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--line-soft)}.exercise-list li:last-child{border-bottom:none}.ex-name{color:var(--fg)}.ex-scheme{font-size:11px;letter-spacing:.08em}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px}.kv dt{color:var(--fg-muted);font-size:11px;letter-spacing:.1em;text-transform:lowercase}.kv dd{margin:0}.kv-block{grid-template-columns:1fr}.kv-block dt{margin-top:6px}.settings .btn{margin-bottom:8px}.settings code{font-family:var(--font-mono);background:#ffffff0d;padding:1px 4px}.toast{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:8px 16px;font-size:12px;letter-spacing:.1em;z-index:60}.boot{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;color:var(--fg-faint);font-size:22px;letter-spacing:.22em}
