/* Shared visual vocabulary with Should I Work Out Today, scoped to the executor. */
@font-face{font-family:Anton;src:url('/assets/fonts/anton-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f1efe8;--ink:#11110f;--muted:#65645d;--line:#c9c7be;--acid:#eaff38;--surface:#e8e6dd;--card:#17251e;--card-ink:#f1f3e9;--card-muted:#c0cab8;color:var(--ink);background:var(--paper);font-family:Inter,Arial,Helvetica,sans-serif}
:root.dark{--paper:#0c0d0b;--ink:#f0eee7;--muted:#aaa99e;--line:#41423b;--surface:#1b1d17;--card:#18251e;--card-ink:#f0eee7;--card-muted:#c0cab8}
body{background:var(--paper);color:var(--ink);transition:background .2s,color .2s}main{max-width:650px;padding-top:calc(24px + env(safe-area-inset-top))}header{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:32px}.brand{font-weight:900}.logo{background:var(--acid);color:#11110f;border-radius:6px}.dot{color:var(--muted)}
h1{font-family:Anton,'Arial Narrow',sans-serif;font-size:clamp(32px,7vw,44px);font-weight:400;letter-spacing:-.02em;text-transform:uppercase;line-height:1.12}.eyebrow{font-weight:800;letter-spacing:.15em;color:var(--muted)}.session h2{font-weight:800}.small-tag,.text-button,.progress-label,.list-heading span,.item-text small,footer,#focus-bar:not([hidden]){color:var(--muted)}
.icon-button,.secondary{border-color:var(--line);color:var(--ink);border-radius:2px}.icon-button{font-size:23px}.primary{background:var(--acid);color:#11110f;border:1px solid var(--acid);border-radius:2px;font-weight:800}.secondary{font-weight:800}.primary,.secondary{letter-spacing:.025em}.primary:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #829c28;outline-offset:3px}
#days{gap:6px}#days button{border-color:var(--line);border-radius:2px;color:var(--muted);font-size:10px}#days button strong{color:var(--ink);font-size:17px}#days button[aria-pressed=true]{background:var(--acid);color:#30351a;border-color:var(--acid)}#days button[aria-pressed=true] strong{color:#11110f}.track{background:var(--line);border-radius:0}#bar{background:#829c28}.dark #bar{background:var(--acid)}
#exercise{background:var(--card);color:var(--card-ink);border:1px solid #344737;border-radius:8px}#exercise h3{font-weight:800;letter-spacing:-.035em}.card-note,.card-top,.card-bottom,.metric span,.set-progress{color:var(--card-muted)}.pill{color:var(--acid);border-radius:2px}.metric strong,.timer strong{font-weight:800;font-variant-numeric:tabular-nums}.card-link{color:var(--acid)}.set-dots i.checked{background:var(--acid)}
li{border-color:var(--line)}.number{border-color:var(--line);border-radius:2px;color:var(--muted)}.current .number{color:var(--ink);border-color:var(--ink)}.done .number{background:var(--acid);color:#11110f;border-color:var(--acid)}.item-text strong{font-weight:700}.row-arrow{color:var(--muted)}
dialog,dialog.workout-menu{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:4px}dialog.workout-menu{border-radius:0}dialog p,.connection-note,.connection-note p,.validity-panel p,.rest-status,.workout-menu nav small{color:var(--muted)}dialog h2{font-weight:800}dialog::backdrop{background:#0009}.workout-menu nav a{border-color:var(--line)}.workout-menu nav a:hover{color:var(--ink)}
input,textarea,select,#renew-months,#import-validity,#manual-validity,.rest-setting select{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:12px}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:#829c28;width:auto}.manual-row{border-color:var(--line);border-radius:4px;background:var(--surface)}.entry-modes button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.connection-note,.validity-panel{border-color:var(--line);border-radius:4px}.validity-panel.expired{background:#fff0cf;border-color:#a57828;color:#553b0c}.validity-panel.expired p{color:#694d1b}.dark .validity-panel.expired{background:#302719;color:#f7d594;border-color:#957638}.dark .validity-panel.expired p{color:#e6c994}.rest-active{background:var(--surface);border-radius:4px}.timer-dot.running{background:#829c28;box-shadow:0 0 0 5px var(--surface)}#import-error,#manual-error{color:#b13625}.dark #import-error,.dark #manual-error{color:#ffac9c}
.theme-setting{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}.theme-setting>span{font-size:10px;font-weight:800;letter-spacing:.14em}.theme-buttons{display:flex;margin-top:12px}.theme-buttons button{min-height:44px;flex:1;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.1em}.theme-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.workout-menu[open]{display:flex;flex-direction:column;overflow-y:auto}.workout-menu .theme-setting{flex:0 0 auto;margin-top:auto}
.preferences-setting{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.preferences-setting>span{font-size:10px;font-weight:800;letter-spacing:.14em}.preference-row{display:flex;align-items:center;gap:10px;margin-top:14px;min-height:44px}.preference-row label{flex:1;margin:0;font-size:13px;font-weight:650}.preference-row input{appearance:none;width:38px;height:22px;margin:0;border:1px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer;position:relative}.preference-row input::after{content:"";position:absolute;width:16px;height:16px;top:2px;left:2px;border-radius:50%;background:var(--muted);transition:transform .18s,background .18s}.preference-row input:checked{background:var(--ink);border-color:var(--ink)}.preference-row input:checked::after{transform:translateX(16px);background:var(--paper)}.preference-row .text-button{padding:6px;min-height:36px}.preference-status{min-height:0;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.preference-link{display:grid;grid-template-columns:1fr auto;gap:5px 12px;width:100%;margin-top:12px;padding:14px 0;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;cursor:pointer}.preference-link span{font-size:13px;font-weight:650}.preference-link small{grid-column:1;font-size:11px;color:var(--muted)}.preference-link b{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:13px;font-weight:400}
.session-actions{display:flex;align-items:center;gap:4px}.history-page{max-width:650px}.history-page>h1{margin:0 0 10px}.history-legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:0 0 30px}.history-legend span{width:10px;height:10px;display:inline-block}.legend-trained{background:var(--acid)}.legend-skipped{background:#bd705e;margin-left:12px}.calendar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-head h2{font-size:18px;margin:0}.calendar-head .icon-button{width:40px;height:40px;font-size:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:22px}.calendar-weekday{font-size:10px;color:var(--muted);text-align:center}.calendar-day{aspect-ratio:1;background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:700}.calendar-day.trained{background:var(--acid);border-color:var(--acid);color:#11110f}.calendar-day.skipped{background:#bd705e;border-color:#bd705e;color:#fff}.history-details{margin-top:24px;border:1px solid var(--line);padding:20px}.history-details h2{margin:4px 0 12px;font-size:21px}.history-kicker{font-size:10px;letter-spacing:.12em;color:var(--muted);margin:0}.history-reason{font-size:16px;line-height:1.55}.history-metrics{color:var(--muted)}.history-metrics strong{color:var(--ink);font-size:24px}.history-details ol{margin-top:18px}.history-details li{display:flex;justify-content:space-between;gap:12px;padding:10px 0}.history-details li span{color:var(--muted);font-size:12px}
.workout-options{display:grid;gap:8px;margin-top:20px}.workout-option{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:baseline;width:100%;padding:15px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font:inherit;text-align:left}.workout-option>span{grid-row:1 / span 2;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.workout-option strong{font-size:14px;line-height:1.2}.workout-option small{font-size:11px;color:var(--muted)}.workout-option[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--acid)}.workout-option:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.session{flex-wrap:wrap;gap:8px}.session-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;touch-action:manipulation;transition:background-color .15s,border-color .15s,color .15s}.text-button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper)}.text-button:active:not(:disabled){transform:translateY(1px)}.session-actions{gap:7px}.session-actions #choose-workout{border-color:var(--ink);font-weight:800}.card-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:9px 12px;border:1px solid #667662;border-radius:2px;background:transparent;color:var(--card-ink);font-size:12px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;touch-action:manipulation;transition:background-color .15s,border-color .15s,color .15s}.card-link:hover{background:var(--card-ink);border-color:var(--card-ink);color:var(--card)}.card-link:active{transform:translateY(1px)}.dark .card-link{border-color:#687662}
@media(prefers-reduced-motion:reduce){body{transition:none}}
#manual-form input,#manual-form select{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:2px}.manual-row legend{color:var(--muted)}.remove-exercise{color:#a43a2e}.dark .remove-exercise{color:#ffac9c}

.workout-brand-icon{display:block;border-radius:6px;flex-shrink:0}#notifications-open{position:relative;display:grid;place-items:center}#notification-dot{position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#d44c32}#notifications-dialog{max-height:90dvh;overflow:auto}#notifications-dialog .validity-panel{display:block}#notifications-dialog .validity-panel strong{line-height:1.5;display:block}.header-actions{gap:7px}@media(max-width:380px){.brand{font-size:19px}.header-actions{gap:5px}}
.workout-menu nav{margin-top:28px}.workout-menu nav a{padding:18px 0}.workout-menu nav strong{font-size:17px;line-height:1.25}.workout-menu nav strong span{display:inline-block;font-size:13px;line-height:1;vertical-align:1px;margin-left:3px}.workout-menu nav small{margin-top:6px;font-size:12px;line-height:1.45}
.notification-choice{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.notification-choice>strong{font-size:13px}.notification-choice p{margin:6px 0 10px;font-size:12px}.notification-choice .secondary{min-height:44px;width:100%}.notification-choice .text-button{padding-left:0}.notification-choice [role=status]{min-height:0;margin:6px 0 0;font-size:11px}
.history-back{min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;text-decoration:none}
.workout-menu nav a{border-bottom:0}
/* Lucide inline icon alignment and consistent button centering. */
.ui-icon{display:block;flex:0 0 auto;vertical-align:middle}
.ui-icon-inline{display:inline-block;vertical-align:middle}
.icon-button{display:inline-grid;place-items:center;padding:0;line-height:0;font-size:inherit}
.icon-button .ui-icon{width:20px;height:20px}
.training-active header,.training-active #days,.training-active .session-actions #choose-workout{display:none}
.training-active main{padding-top:max(18px,env(safe-area-inset-top))}
.training-active .session{margin-top:10px}
.primary,.secondary,.card-link,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2}
#mark-set,#train{width:100%;text-align:center}
.workout-menu nav strong .ui-icon{display:inline-block;vertical-align:middle;margin-left:4px}
.preference-link>.ui-icon{grid-column:2;grid-row:1 / span 2;align-self:center}
