:root{--parchment:#f1e3c4;--paper-shadow:#d9c69b;--ink:#1b1410;--oxblood:#7a1f1f;--brass:#b8862b;--bottle-green:#2f4a3a;--bg:var(--parchment);--card:#f8efda;--surface:var(--paper-shadow);--text:var(--ink);--muted:#55473a;--rule:var(--ink);--accent-text:var(--oxblood);--tap-target:48px;--gutter:16px;--radius:4px}@media (prefers-color-scheme:dark){:root{--bg:var(--ink);--card:#2b211a;--surface:#3a2d23;--text:var(--parchment);--muted:#cdbd9c;--rule:var(--paper-shadow);--accent-text:#e2b04f}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.4}main{max-width:480px;padding:var(--gutter);margin:0 auto}main.with-tabs{padding-bottom:88px}h1{margin:0 0 4px;font-size:1.5rem;line-height:1.2}h2{outline:none;margin:0 0 8px;font-size:1.25rem;line-height:1.25}h3{margin:0 0 4px;font-size:1.0625rem;line-height:1.25}p{margin:0 0 8px}a{color:var(--accent-text)}button,.button{min-height:var(--tap-target);min-width:var(--tap-target);border:2px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}button:disabled{opacity:.55}button.primary,.button.primary{border-color:var(--oxblood);background:var(--oxblood);color:var(--parchment)}button.danger{border-color:var(--oxblood);color:var(--accent-text);background:0 0}input[type=text]{width:100%;min-height:var(--tap-target);border:2px solid var(--rule);border-radius:var(--radius);background:var(--card);color:var(--text);font:inherit;text-align:center;padding:8px;font-size:1.25rem;font-weight:700}textarea{border:2px solid var(--rule);border-radius:var(--radius);background:var(--card);width:100%;min-height:96px;color:var(--text);font:inherit;margin-bottom:12px;padding:8px;display:block}details>summary{min-height:var(--tap-target);cursor:pointer;align-items:center;font-weight:700;display:flex}:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.tab-bar{z-index:10;padding-bottom:env(safe-area-inset-bottom);border-top:3px solid var(--rule);background:var(--bg);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar a{min-height:56px;color:var(--text);justify-content:center;align-items:center;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.tab-bar a[aria-current=page]{background:var(--oxblood);color:var(--parchment)}.update-prompt{right:0;bottom:calc(59px + env(safe-area-inset-bottom));z-index:9;padding:8px var(--gutter);border-top:2px solid var(--rule);background:var(--card);align-items:center;gap:8px;font-size:.9375rem;display:flex;position:fixed;left:0}.update-prompt span{flex:1}.update-prompt button{flex:none}.today-header{margin-bottom:var(--gutter)}.today-week{color:var(--accent-text);font-weight:700}.playbill{margin-bottom:var(--gutter);padding:var(--gutter);border:2px solid var(--rule);border-radius:var(--radius);background:var(--card)}.playbill .button,.playbill button{width:100%}.playbill-meta{font-weight:700}.playbill-done{color:var(--accent-text);font-weight:700}.picker{margin-bottom:var(--gutter);border:1px solid var(--rule);border-radius:var(--radius);padding:0 12px 4px}.picker button{text-align:left;width:100%;margin-bottom:8px}.backup-link a{min-height:var(--tap-target);align-items:center;font-weight:700;display:inline-flex}.notice{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:8px}.notice a{min-height:var(--tap-target);align-items:center;font-weight:700;display:inline-flex}.session{padding-bottom:112px}.back{min-height:var(--tap-target);align-items:center;font-weight:700;display:inline-flex}.session-progress{color:var(--accent-text);font-weight:700}.block-heading{border-bottom:3px double var(--rule);margin:16px 0 8px;padding-bottom:2px}.exercise{border:2px solid var(--rule);border-radius:var(--radius);background:var(--card);margin-bottom:12px;padding:12px}.exercise.warmup{color:var(--muted);background:0 0;border-style:dashed;border-width:1px}.exercise-meta{font-weight:700}.exercise-notes{color:var(--muted);font-size:.9375rem}.exercise-target,.exercise-last{color:var(--accent-text);font-size:.9375rem;font-weight:700}.exercise-note{font-size:.9375rem;font-style:italic}.exercise-actions{gap:8px;margin-top:8px;display:flex}.exercise-actions button{background:0 0;flex:1;padding:4px 8px;font-weight:400}.set-ticks{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.set-tick{background:0 0;flex-direction:column;min-height:64px;padding:4px;font-weight:400}.set-tick-number{font-size:.875rem}.set-tick-value{font-variant-numeric:tabular-nums;font-weight:700}.set-tick[aria-pressed=true]{border-color:var(--bottle-green);background:var(--bottle-green);color:var(--parchment)}.set-tick.skipped{color:var(--muted);border-style:dashed}.superset{border-left:6px double var(--accent-text);margin-bottom:12px;padding-left:10px}.superset-label{color:var(--accent-text);margin-bottom:4px;font-weight:700}.finish{width:100%;margin-top:8px}.history{margin:0 0 12px;padding:0;list-style:none}.history li{border-top:1px solid var(--surface);padding:8px 0}.history.exercise li:first-child{border-top:0}.history-date{color:var(--muted);font-size:.875rem;display:block}.history-sets{font-variant-numeric:tabular-nums;font-weight:700;display:block}.history-extra{font-size:.875rem;display:block}.schedule-week ul{margin:0;padding:0;list-style:none}.schedule-week li{padding:4px 0}.schedule-week.deload{border-color:var(--accent-text);border-width:3px}.schedule-week.deload h2{color:var(--accent-text)}.schedule-week[aria-current=true]{border-style:double;border-width:5px}.sets-table{border-collapse:collapse;background:var(--card);width:100%;margin-bottom:12px}.sets-table th,.sets-table td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:8px}.sets-table td{white-space:nowrap;font-weight:700}.sets-source{color:var(--muted);margin-top:2px;font-size:.875rem;font-weight:400;display:block}.section-action{width:100%;margin:8px 0}.file-button{cursor:pointer;position:relative}.file-button:focus-within{outline:3px solid var(--brass);outline-offset:2px}.status-ok{color:var(--accent-text);font-weight:700}.import-preview{border-top:1px solid var(--rule);margin-top:8px;padding-top:8px}.import-preview ul{margin:0 0 8px;padding-left:20px}.checkbox{min-height:var(--tap-target);align-items:center;gap:8px;margin-bottom:8px;display:flex}.checkbox input{flex:none;width:24px;height:24px}.rest-timer{z-index:10;padding:8px var(--gutter);padding-bottom:max(8px, env(safe-area-inset-bottom));background:var(--ink);color:var(--parchment);align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.rest-timer.over{background:var(--oxblood)}.rest-timer-text{flex:1;min-width:0}.rest-timer-count{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.1;display:block}.rest-timer-label{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;display:block;overflow:hidden}.rest-timer button{border-color:var(--parchment);color:var(--parchment);background:0 0;flex:none;padding:8px 10px}.sheet{border:0;border-top:3px solid var(--rule);background:var(--bg);width:100%;max-width:480px;max-height:92dvh;color:var(--text);margin:auto auto 0;padding:0;overflow-y:auto}.sheet::backdrop{background:#1b141099}.sheet-body{padding:var(--gutter)}.sheet-meta{color:var(--muted)}.field{margin-bottom:12px}.field-label{margin-bottom:4px;font-weight:700;display:block}.field-error{color:var(--accent-text);margin:4px 0 8px;font-weight:700}.stepper{grid-template-columns:76px 1fr 76px;gap:8px;display:grid}.stepper button{padding:8px 4px}.stamp-fields{grid-template-columns:3fr 2fr;gap:8px;margin-bottom:12px;display:grid}.rpe{border:0;margin:0 0 12px;padding:0}.rpe legend{margin-bottom:4px;padding:0;font-weight:700}.rpe-choices{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rpe-choices button{padding:4px}.rpe-choices button[aria-pressed=true]{border-color:var(--bottle-green);background:var(--bottle-green);color:var(--parchment)}.sheet-actions{gap:8px;display:grid}.sheet-actions-gap{margin-top:12px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
