    .food-search-row{display:flex;gap:8px;margin:12px 0;min-width:0;max-width:100%}
    .food-search-row input{flex:1;min-width:0;min-height:44px;border:1px solid var(--faint);border-radius:var(--r-sm);padding:0 12px;background:var(--surface);color:var(--ink)}
#foodQuery::placeholder{color:var(--action-tertiary-ink);opacity:1}
    .food-results{display:flex;flex-direction:column;gap:8px;margin:12px 0}
    .food-result{text-align:left;background:var(--surface);border:1px solid var(--faint);border-radius:var(--r-md);padding:12px;cursor:pointer;width:100%}
    .food-result strong{display:block;font-size:14px}
    .food-result span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
    .food-result:active{transform:scale(.99)}
    /* When a food is staged, the results visibly step back so the tray is the focus. */
    .food-results.dimmed{opacity:.45;filter:saturate(.7)}
    /* Staged "tray": the tapped food, held for review before Add. Accent-bordered, tokens only. */
    .food-staged{margin:12px 0}
    .staged-card{background:var(--neutral-soft);border:2px solid var(--selection-border);border-radius:var(--r-md);padding:12px 14px}
    .staged-head{display:flex;align-items:center;justify-content:space-between}
    .staged-kicker{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--accent)}
    .staged-clear{width:32px;height:32px;min-height:32px;border:none;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}
    .staged-clear:active{transform:scale(.92)}
    .staged-name{font-size:16px;font-weight:800;color:var(--ink);margin-top:2px}
    .staged-macros{font-size:12px;color:var(--muted);margin-top:3px}
    .staged-qty{display:flex;align-items:center;gap:10px;margin-top:12px}
    .staged-qty>span:first-child{font-size:12px;font-weight:700;color:var(--muted);margin-right:auto}
    .staged-qval{width:64px;min-width:64px;height:44px;padding:0 8px;border:1px solid var(--faint);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:15px;font-weight:800;text-align:center}
    .staged-qval::placeholder{color:var(--action-tertiary-ink);opacity:1}
    .staged-qval:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
    .staged-qty .fi-step{flex:0 0 44px;width:44px;min-width:44px;height:44px}
    @media (prefers-reduced-motion:reduce){.food-result:active,.staged-clear:active{transform:none}}
    .food-hint{color:var(--muted);font-size:13px;padding:8px 0}
    .food-sub{font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.4px}
    .food-scan{margin:8px 0}
    .food-scan video{width:100%;border-radius:var(--r-md);background:#000;max-height:240px;object-fit:cover}
    .mult-input{width:70px;margin-left:8px}
    .food-shortcut-group{min-width:0;max-width:100%}
    .food-shortcut-rail{display:flex;gap:8px;width:100%;min-width:0;max-width:100%;height:150px;padding:2px 16px 4px 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scroll-padding-inline:0 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .food-shortcut-rail::-webkit-scrollbar{display:none}
    .food-shortcut-slot{flex:0 0 124px;width:124px;height:144px;min-width:0;scroll-snap-align:start}
    .food-shortcut-slot[hidden]{display:none}
    .food-shortcut-card{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;overflow:hidden;border:1px solid var(--action-secondary-border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink);box-shadow:var(--elev-3)}
    .food-shortcut-card-hit{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-width:0;min-height:100px;padding:15px 14px 13px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow:hidden}
    .food-shortcut-card-name{display:-webkit-box;min-width:0;height:40px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--ink);font-size:15px;font-weight:800;line-height:20px;overflow-wrap:anywhere}
    .food-shortcut-card-meta{display:block;min-width:0;margin-top:12px;overflow:hidden;color:var(--muted);font-size:11px;font-weight:600;line-height:16px;white-space:nowrap;text-overflow:clip}
    .food-shortcut-card-star{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:100%;height:44px;min-height:44px;padding:0;border:0;border-top:1px solid var(--faint);background:transparent;color:var(--muted);cursor:pointer}
    .food-shortcut-card-star .icon{display:block;width:20px;height:20px;fill:none}
    .food-shortcut-card-star[aria-pressed="true"]{color:var(--neutral-fill)}
    .food-shortcut-card-star[aria-pressed="true"] .icon{fill:currentColor}
    .food-shortcut-card-hit:focus-visible,.food-shortcut-card-star:focus-visible{position:relative;z-index:1;outline:2px solid var(--ink);outline-offset:-3px}
    .food-shortcut-more{display:block;flex:0 0 84px;width:84px;min-width:44px;min-height:44px;height:144px;padding:12px 8px;scroll-snap-align:start;border:1px solid var(--faint);border-radius:var(--r-lg);background:var(--neutral-soft);color:var(--ink);font:inherit;font-size:12px;font-weight:800;line-height:1.25;text-align:center;white-space:normal;cursor:pointer}
    @media (prefers-reduced-motion:reduce){.food-shortcut-rail{scroll-behavior:auto}}
    .manual-toggle{display:block;width:100%;min-height:44px;text-align:center;background:transparent;border:1px solid var(--action-secondary-border);border-radius:var(--r-md);padding:12px;font-weight:800;color:var(--muted);font-size:13px;margin-top:12px}
    .danger-wide{display:block;width:100%;text-align:center;background:var(--surface);border:1.5px solid var(--red);border-radius:var(--r-md);padding:12px;font-weight:800;color:var(--muted);font-size:14px;margin-top:4px}
    /* simplified Food */
    .cal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .cal-unit{margin-top:5px;color:var(--muted);font-size:13px;font-weight:700}
    .cal-meta{display:flex;gap:18px;text-align:right;padding-top:4px}
    .cal-meta strong{display:block;font-size:18px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
    .cal-meta span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
    .cal-bar{height:8px;background:#26272d;border-radius:var(--r-pill);margin:16px 0 2px;overflow:hidden}
    .cal-bar i{display:block;height:100%;border-radius:var(--r-pill);transition:width .3s ease}
    .macro-strip{display:flex;gap:16px;margin-top:14px}
    .macro{flex:1}
    .macro-v{font-weight:800;font-size:16px;color:#f3f4f6}
    .macro-v span{font-size:11px}
    .macro-l{font-size:11px;color:#9aa0aa;text-transform:uppercase;letter-spacing:.4px;margin-top:1px}
    .macro-bar{height:6px;background:#26272d;border-radius:var(--r-pill);margin-top:6px;overflow:hidden}
    .macro-bar i{display:block;height:100%;border-radius:var(--r-pill)}
    .meal-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;padding:14px 0;border-top:1px solid #202126;cursor:pointer;text-align:left}
    .build-stamp{border-top:1px solid var(--faint);padding:12px 14px 8px;color:var(--muted);font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
    .build-stamp [data-settings-outbox-count]{display:block;min-width:0;width:100%;text-align:right;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
    .build-stamp [data-identity-rollout-status]{display:block;min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
    .sync-blocked-state{margin:12px 0 2px;padding:12px 14px;border:1px solid var(--negative);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:700;line-height:1.4}
    .outbox-export-primary{margin-top:0;min-height:56px}
    .outbox-archive-facts{display:grid;gap:5px;margin-top:12px;padding:12px 14px;border:1px solid var(--faint);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-size:13px;line-height:1.4}
    .outbox-archive-facts>span,.outbox-diagnostic-label,.outbox-diagnostic-hash>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
    .outbox-archive-facts code,.outbox-diagnostic-hash code{display:block;max-width:100%;color:var(--ink);font-family:var(--font-num);font-size:10px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}
    .outbox-diagnostic-empty{margin-top:12px;padding:12px 14px;border:1px solid var(--faint);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted);font-size:13px;line-height:1.45}
    .outbox-diagnostic-list{display:grid;gap:12px;margin-top:16px}
    .outbox-diagnostic-entry{min-width:0;padding:14px;border:1px solid var(--action-secondary-border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink)}
    .outbox-diagnostic-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--faint)}
    .outbox-diagnostic-head strong{font-size:15px}
    .outbox-diagnostic-head span{color:var(--muted);font-family:var(--font-num);font-size:11px;white-space:nowrap}
    .outbox-diagnostic-facts{display:grid;gap:8px;margin:12px 0}
    .outbox-diagnostic-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px}
    .outbox-diagnostic-facts dt{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
    .outbox-diagnostic-facts dd{min-width:0;margin:0;color:var(--ink);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
    .outbox-diagnostic-changes{margin:7px 0 12px;padding-left:18px;color:var(--ink);font-size:13px;line-height:1.45}
    .outbox-diagnostic-changes li+li{margin-top:4px}
    .outbox-diagnostic-hash{display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--faint)}
    .outbox-recovery-proof{display:grid;gap:6px;margin-top:12px;padding:14px;border:1px solid var(--action-secondary-border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink);font-size:13px;line-height:1.45}
    .outbox-recovery-proof>strong{font-size:15px}
    .outbox-recovery-proof>span{color:var(--muted)}
    .outbox-recovery-proof.ready{border-color:var(--accent)}
    .outbox-recovery-proof.blocked{border-color:var(--danger)}
    .outbox-dead-letter-reason{display:grid;gap:4px;margin:10px 0;padding:10px 12px;border:1px solid var(--danger);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4}
    .outbox-dead-letter-reason>strong{color:var(--danger)}
    .identity-snapshot-control{border-top:1px solid var(--faint);padding:12px 0 2px;display:grid;gap:6px;color:var(--muted);font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
    .identity-snapshot-button{min-height:44px;width:100%;border:1px solid var(--faint);border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;font-weight:700;letter-spacing:.01em;cursor:pointer}
    .identity-snapshot-button:disabled{color:var(--muted);cursor:default}
    .identity-snapshot-status,.identity-snapshot-label,.identity-snapshot-value{display:block}
    .identity-snapshot-label{margin-top:2px;color:var(--ink);font-weight:700}
    .identity-snapshot-value{user-select:text;word-break:break-all}
    .meals-card{padding-inline:var(--pad-card)}
    .meal-block{padding:14px 0;border-top:1px solid #202126}
    .meal-block:first-child{border-top:none}
    .meal-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
    .food-item{display:flex;align-items:center;gap:6px}
    .fi-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;background:transparent;border:none;padding:8px 0;text-align:left;cursor:pointer}
    .fi-name{font-size:14px;color:var(--ink,#eef1f4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .fi-macros{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .fi-serv{color:#6c7280;font-size:12px;font-weight:400}
    .fi-macros{font-size:12px;color:#8b9099}
    .fi-qty{flex:none;display:flex;align-items:center;gap:8px}
    .fi-step{width:38px;height:38px;border-radius:var(--r-sm);background:#1b1d22;border:1px solid #2a2d34;color:#cbd3df;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
    .fi-step:active{background:#22252c}
    .fi-qn{min-width:14px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px;color:#dde3ec}
    .fi-qtytag{color:#9aa3b2;font-size:12px;font-weight:700}
    .food-daynav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:8px 10px;background:var(--surface);border:1px solid var(--faint);border-radius:var(--r-md)}
    .fdn-arrow{width:38px;height:38px;flex-shrink:0;border-radius:var(--r-pill);border:1px solid var(--faint);background:none;color:var(--ink);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
    .fdn-arrow:disabled{opacity:.32}
    .fdn-label{flex:1;text-align:center;font-weight:800;font-size:15px;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px}
    .fdn-today{background:none;border:none;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;padding:0}
    .past-food{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--faint);padding:11px 2px;cursor:pointer}
    .past-food:first-of-type{border-top:none}
    .past-food .fi-main{flex:1;padding:0}
    .pf-add{flex-shrink:0;font-size:12px;font-weight:800;color:var(--accent);border:1px solid var(--faint);border-radius:var(--r-pill);padding:5px 11px}
    .fi-del{flex:none;width:38px;height:38px;border-radius:var(--r-sm);background:#1b1d22;border:1px solid #2a2d34;color:#9aa3b2;font-size:15px;line-height:1;cursor:pointer}
    .fi-del:active{background:color-mix(in srgb,var(--negative) 10%,var(--surface));border-color:var(--negative);color:var(--negative)}
    .fi-add{margin-top:6px;background:transparent;border:none;color:var(--cta,#cbd3df);font-size:13px;font-weight:600;padding:4px 0;cursor:pointer}
    .recap-list{display:flex;flex-direction:column;gap:2px;margin-top:4px}
    .recap-line{display:flex;align-items:center;gap:9px;padding:11px 2px;border-top:1px solid #202126;font-size:14px;line-height:1.4}
    .recap-line:first-child{border-top:none}
    .recap-line strong{font-weight:700}
    .terms-gate{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
    .terms-gate p{font-size:13.5px;line-height:1.5;color:#c4ccd6;margin:0 0 10px}
    .terms-gate .terms-fine{color:#8b9099;font-size:12.5px}
    .legal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 18px 40px}
    .legal-body h3{font-size:15px;margin:18px 0 6px;color:#eef1f4}
    .legal-body p{font-size:13.5px;line-height:1.55;color:#c4ccd6;margin:0 0 10px}
    .legal-updated{color:#8b9099;font-size:12.5px}
    .legal-fine{color:#8b9099;font-size:12.5px;margin-top:16px}
    .bjj-card .cc-tag{color:var(--muted)}
    .cardio-card .cc-tag{color:var(--muted)}
    .start-card .cc-tag{color:var(--log)}
    .wrap-card .cc-tag{color:var(--muted)}
    .wrap-card .cc-sub{margin-top:3px}
    .cc-tag-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
    .cc-tag-left{display:flex;align-items:center;gap:8px;min-width:0}
    .cc-when{font-size:10px;font-weight:600;letter-spacing:.2px;color:#8b9099;font-variant-numeric:tabular-nums;flex:none}
    .chat-time{font-size:10px;color:#8b9099;font-variant-numeric:tabular-nums;margin-top:2px;padding:0 2px}
    .cc-tag-row .cc-tag{margin-bottom:0}
    .cc-karma{flex:none;font-size:10px;font-weight:800;letter-spacing:.3px;color:var(--positive);background:color-mix(in srgb,var(--positive) 13%,transparent);border-radius:var(--r-pill);padding:2px 8px}
    .kb-howto{display:inline-block;margin:8px 2px 0;color:var(--cta,#cbd3df);font-size:12.5px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;padding:0}
    .karma-table{display:flex;flex-direction:column;gap:0;margin:2px 0 4px}
    .karma-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 2px;border-top:1px solid #202126}
    .karma-row:first-child{border-top:none}
    .karma-row .kr-label{font-size:14px;color:#e9ebef;font-weight:600}
    .karma-row .kr-label span{display:block;font-size:12px;color:#8b9099;font-weight:400;margin-top:2px;line-height:1.4}
    .karma-row .kr-pts{flex:none;font-variant-numeric:tabular-nums;font-weight:800;font-size:14px;color:var(--positive)}
    .karma-row .kr-pts.neg{color:var(--negative)}
    .karma-row.kbk-total{border-top-width:2px;border-top-color:#2c2d33;margin-top:2px}
    .karma-row.kbk-total .kr-label{font-weight:800}
    .k-points{flex:none;font-variant-numeric:tabular-nums;font-weight:800;font-size:15px;color:var(--positive)}
    .k-points.neg{color:var(--negative)}
    .k-crown{font-size:13px}
    .k-roast{color:var(--muted);font-weight:600}
    .kb-rank{flex:none;width:18px;text-align:center;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800;color:#6c7280}
    .kb-row.is-you{margin:0 -8px;padding-left:8px;padding-right:8px;background:rgba(255,255,255,0.035);border-radius:var(--r-md)}
    .kb-hint{color:#6c7280;font-size:12px;line-height:1.45;margin:8px 2px 0}
    .meal-row:first-child{border-top:none}
    .meal-info{display:flex;flex-direction:column;gap:2px}
    .add-link{color:var(--accent);font-weight:800;font-size:14px;white-space:nowrap}
    .chev{color:#6b6f78;font-size:20px;font-weight:700}
    .water-row{display:grid;gap:10px;background:#16161a;border:1px solid #26272d;border-radius:var(--r-md);padding:12px 16px;margin-top:4px}
    .water-summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;padding:0;text-align:left}
    .water-summary .row-title{font-size:14px}
    .water-hint{color:var(--action-tertiary-ink);font-size:12px;font-weight:750;white-space:nowrap}
    .water-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .water-adjust{min-height:44px;border:1px solid var(--action-secondary-border);border-radius:var(--r-md);background:var(--action-secondary-bg);color:var(--action-secondary-ink);font-size:13px;font-weight:800}
    /* simplified Training */
    .program-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .link-btn{background:transparent;border:none;color:var(--accent);font-weight:800;font-size:14px;cursor:pointer;padding:6px}
    .train-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;row-gap:4px;padding:0 0 16px}
    .train-prog>div:first-child{display:contents}
    .tp-actions{grid-column:2;grid-row:1;display:flex;gap:4px;flex-shrink:0}
    .tp-name{grid-column:1;grid-row:1;min-width:0;font-weight:800;font-size:17px;color:#f3f4f6}
    .tp-sub{grid-column:1/-1;grid-row:2;min-width:0;font-size:13px;color:#9aa0aa}
    .schedule-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px;border:1px solid var(--faint);border-radius:var(--r-md);background:var(--surface)}
    .schedule-next{min-width:0;display:flex;flex-direction:column;gap:2px}
    .schedule-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
    .schedule-text{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .schedule-last{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .streak-chip{display:inline-block;margin:0 0 12px;padding:8px 12px;border:1px solid var(--faint);border-radius:var(--r-pill);background:var(--surface);font-size:13px;font-weight:800;color:var(--ink)}
    .k-streak{font-size:12px;font-weight:800;color:var(--muted)}
    .sched-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:4px}
    .sched-day{min-width:0;border:1.5px solid var(--faint);background:var(--surface);border-radius:var(--r-pill);padding:10px 0;font-size:13px;font-weight:800;color:var(--muted);cursor:pointer}
    .sched-day.active{border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
    .sched-preview{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:10px 12px;border:1px solid var(--faint);border-radius:var(--r-md);background:var(--surface)}
    .sched-preview span{font-size:13px;color:var(--muted)}
    .sched-preview strong{color:var(--ink)}
    .sched-toggle{margin-top:16px;display:inline-block}
    .sched-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
    .sched-note{font-size:12.5px;line-height:1.35;color:var(--muted);margin-top:8px}
    .day-pills{display:flex;gap:8px;overflow-x:auto;margin:0 0 12px;padding:0 28px 4px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
    .day-pills::-webkit-scrollbar{display:none}
    .day-pill{flex:0 0 auto;border:1.5px solid #26272d;background:#16161a;border-radius:var(--r-pill);padding:8px 14px;font-weight:700;font-size:13px;color:#aab0b8;cursor:pointer}
    .day-pill.active{border-color:var(--accent);color:var(--accent);background:#1f1f24}
    .list-label{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#8a8f98;margin:20px 2px 4px}
    .train-list{display:flex;flex-direction:column}
    .ex-row{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;padding:16px 0;border-bottom:1px solid #202126;cursor:pointer;text-align:left}
    .prog-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #202126}
    .prog-row .ex-row{flex:1;border-bottom:none}
    .ex-row-info{flex:1;display:flex;flex-direction:column;gap:3px}
    .ex-row-name{font-weight:700;font-size:16px;color:#f3f4f6}
    .ex-row-meta{font-size:13px;color:#8a8f98;font-variant-numeric:tabular-nums}
    .ex-row.skipped{opacity:.45}
    .ex-done{color:var(--log);font-weight:800;font-size:15px}
    .empty-line{padding:18px 2px;color:#8a8f98;font-size:14px}
    /* A7 (2026-07-04 devibe): designed empty-state pattern — bold one-liner + muted sub-line + optional single action, centered, generous padding, typography only (no emoji/illustration). Tokenized so both editions inherit. */
    .empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 20px}
    .empty-state .es-title{font-size:var(--type-item);font-weight:800;line-height:var(--lh-head);color:var(--ink)}
    .empty-state .es-sub{font-size:var(--type-meta);font-weight:500;line-height:var(--lh-body);color:var(--muted);max-width:34ch}
    .empty-state .es-action{margin-top:12px;background:var(--cta);color:var(--cta-ink);border:none;border-radius:var(--r-md);padding:10px 18px;font-size:var(--type-meta);font-weight:800;cursor:pointer}
    .empty-state .es-action:active{transform:scale(.97);opacity:.9}
    .ghost-wide{display:block;width:100%;background:#1c1c21;border:none;border-radius:var(--r-md);padding:16px;font-weight:800;color:var(--accent);font-size:16px;margin-top:16px;cursor:pointer}
    .it-presets{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
    .it-preset{flex:1 1 auto;min-width:0;border:1.5px solid var(--faint);background:var(--surface);border-radius:var(--r-pill);padding:9px 14px;font-size:13px;font-weight:800;color:var(--ink);cursor:pointer}
    .it-stage{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 12px;margin:6px 0 14px;border-radius:var(--r-lg);background:#15161b;border:1px solid var(--faint)}
    .it-stage.phase-work,.it-stage.phase-rest{background:var(--neutral-soft);border-color:var(--faint)}
    .it-stage.phase-prep{background:#15161b}
    .it-stage.phase-done{background:color-mix(in srgb,var(--positive) 12%,var(--surface));border-color:var(--positive)}
    .it-stage.paused{opacity:.7}
    .it-phase{font-size:14px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .it-stage.phase-work .it-phase,.it-stage.phase-rest .it-phase{color:var(--muted)}
    .it-big{font-size:72px;font-weight:900;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
    .it-round{font-size:15px;font-weight:800;color:var(--ink)}
    .it-elapsed{font-size:12px;color:var(--muted)}
    .it-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
    .train-foot{display:flex;justify-content:center;margin-top:12px}
    .workout-start-stack{display:flex;flex-direction:column;gap:8px;margin:0 0 4px}
    .blank-workout-link{display:block;width:fit-content;margin:14px auto 0;font-size:14px;padding:6px 10px}
    .preview-day{display:flex;gap:10px;padding:8px 0;border-top:1px solid #202126}
    .preview-day:first-child{border-top:none}
    .preview-day .pd-l{font-weight:800;font-size:13px;color:#f3f4f6;width:54px;flex-shrink:0}
    .preview-day .pd-r{font-size:13px;color:#9aa0aa}
    .picker-list{display:flex;flex-direction:column}
    .pchoice{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;padding:12px 0;border-top:1px solid #202126;cursor:pointer;text-align:left}
    .pchoice:first-child{border-top:none}
    .radio{width:20px;height:20px;border-radius:50%;border:2px solid #6b6f78;flex-shrink:0}
    .radio.on{border-color:var(--selection-accent);background:radial-gradient(var(--selection-accent) 45%,#16161a 50%)}
    .preview-card{background:#16161a;border:1px solid #26272d;border-radius:var(--r-md);padding:10px 14px;margin-bottom:12px}
    /* workout session logger */
    .wk-screen{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:#0a0a0c}
    .wk-head{position:sticky;top:0;z-index:5;background:#16161a;border-bottom:1px solid #26272d;display:flex;align-items:center;gap:10px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}
    .wk-x{background:var(--faint);border:none;font-size:22px;line-height:1;color:var(--ink);width:36px;height:36px;flex-shrink:0;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;cursor:pointer}
    .wk-ttl{font-weight:800;font-size:17px;color:#f3f4f6;flex:1}
    .wk-tmr{font-variant-numeric:tabular-nums;font-weight:800;color:var(--accent);background:#1f1f24;padding:4px 10px;border-radius:var(--r-sm);font-size:15px}
    .wk-fin{background:var(--cta);color:var(--cta-ink);border:none;border-radius:var(--r-md);font-weight:800;font-size:13px;padding:8px 14px;box-shadow:0 3px 0 #c7cad0}
    .wk-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px;padding-bottom:140px}
    .ex-card{background:#16161a;border:1px solid #26272d;border-radius:var(--r-lg);padding:14px;margin-bottom:14px}
    .ex-card.skipped{opacity:.55}
    .ex-top{display:flex;align-items:center;justify-content:space-between}
    .ex-name{font-weight:800;font-size:16px;color:#f3f4f6}
    .ex-menu{background:none;border:none;color:#7b8088;font-size:20px;padding:0 6px}
    .ex-hint{font-size:12px;color:#9aa0aa;margin:2px 0 10px}
    .ex-next{display:block;font-size:12px;color:var(--accent);font-weight:800;margin-top:2px}
    .set-grid-h,.set-grid{display:grid;grid-template-columns:30px 1fr 62px 54px 42px;gap:8px;align-items:center}
    .set-grid-h{padding:0 2px 6px;font-size:10px;font-weight:800;letter-spacing:.5px;color:#9aa0aa;text-transform:uppercase}
    .set-grid-h span:nth-child(n+3){text-align:center}
    .set-grid{padding:6px 2px;border-radius:var(--r-md);margin-bottom:4px}
    .set-grid.done{background:color-mix(in srgb,var(--positive) 10%,transparent)}
    .sg-n{width:26px;height:26px;border-radius:var(--r-sm);background:#202126;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#aab0b8}
    .set-grid.done .sg-n{background:var(--log);color:#06140b}
    .sg-prev{font-size:12px;color:#8a8f98;font-variant-numeric:tabular-nums}
    .sg-in{width:100%;height:38px;border:1.5px solid #26272d;border-radius:var(--r-sm);text-align:center;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;background:#16161a;color:#f3f4f6}
    .set-grid.done .sg-in{border-color:transparent;background:transparent}
    .sg-chk{width:44px;height:44px;border-radius:var(--r-sm);border:1.5px solid #26272d;background:#16161a;color:#6b6f78;font-size:18px;font-weight:800}
    .sg-chk.on{background:var(--log);border-color:var(--log);color:#06140b}
    .sg-add{display:block;width:100%;margin-top:6px;background:#1c1c21;border:none;border-radius:var(--r-md);padding:10px;font-weight:800;font-size:13px;color:var(--accent)}
    .wk-addex{display:block;width:100%;background:#16161a;border:1.5px solid #26272d;border-radius:var(--r-md);padding:13px;font-weight:800;color:#f3f4f6}
    .wk-summon{display:block;width:100%;margin-bottom:12px;background:color-mix(in srgb,var(--positive) 10%,transparent);border:1.5px solid var(--positive);border-radius:var(--r-md);padding:13px;font-weight:800;color:var(--positive)}
    .wk-summon.sent{background:#16161a;border-color:#26272d;color:#8b9099}
    .rest-pill{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;width:min(calc(100% - 28px),392px);background:#202024;color:#ffffff;border-radius:var(--r-md);display:flex;align-items:center;justify-content:space-between;padding:12px 16px;box-shadow:var(--elev-3);z-index:6}
    .rest-pill[hidden]{display:none}
    .rp-l{font-size:12px;opacity:.8}.rp-t{font-variant-numeric:tabular-nums;font-weight:800;font-size:18px}
    .rp-skip{background:rgba(255,255,255,.16);border:none;color:#ffffff;border-radius:var(--r-sm);padding:6px 12px;font-weight:800;font-size:12px}
    .wk-foot{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,430px);background:#16161a;border-top:1px solid #26272d;padding:12px 14px;padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:5}
    .wk-foot-fin{width:100%;background:var(--cta);color:var(--cta-ink);border:none;border-radius:var(--r-md);font-weight:800;font-size:16px;padding:14px;box-shadow:0 4px 0 #c7cad0}
    .wk-foot-discard{width:100%;background:transparent;color:var(--muted);border:none;font-weight:700;font-size:14px;padding:10px 14px 2px}
    .wk-foot-discard:active{color:var(--red)}
    .ex-sug{color:var(--accent);font-weight:800}
    /* records on lift sheet */
    .rec-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--neutral-soft);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px;flex-wrap:wrap}
    .rec-card span{font-size:12px;color:#9aa0aa;font-weight:700}
    .rec-card strong{font-size:16px;color:var(--positive);font-weight:800}
    .rec-last{font-size:13px;color:#9aa0aa;margin-bottom:10px}
    /* full-screen overlays (history + program editor) */
    .ovl-screen{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:#0a0a0c}
    .ovl-head{position:sticky;top:0;z-index:5;background:#16161a;border-bottom:1px solid #26272d;display:flex;align-items:center;gap:10px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}
    .ovl-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px;padding-bottom:48px}
    .rec-pill{background:var(--neutral-soft);color:var(--positive);font-weight:800;font-size:13px;border-radius:var(--r-pill);padding:5px 11px;white-space:nowrap}
    .hist-card{background:#16161a;border:1px solid #26272d;border-radius:var(--r-md);padding:14px;margin-bottom:12px}
    .hist-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
    .hist-right{display:flex;align-items:baseline;gap:12px}
    .hist-del{background:transparent;color:var(--muted);border:none;font-size:13px;font-weight:700;padding:2px 0}
    .hist-del:active{color:var(--red)}
    .hist-day{font-weight:800;font-size:16px;color:#f3f4f6}
    .hist-date{font-size:12px;color:#8a8f98}
    .hist-sub{font-size:13px;color:#9aa0aa;margin-top:2px}
    .hist-lifts{margin-top:10px;display:flex;flex-direction:column;gap:6px}
    .hist-lift{display:flex;justify-content:space-between;gap:12px;font-size:13px}
    .hist-lift span:first-child{color:#f3f4f6;font-weight:600}
    .hist-lift span:last-child{color:#8a8f98;font-variant-numeric:tabular-nums;text-align:right}
    /* crew (Phase 0 mock) */
    .crew-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #202126;cursor:pointer}
    .crew-row:first-child{border-top:none}
    .crew-chev{color:#5c606b;font-size:20px;line-height:1;margin-left:2px}
    .crew-when{flex:none;color:#6c7280;font-size:12px;white-space:nowrap}
    .ex-lib-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 14px 0}
    .ex-search{width:100%;height:42px;border:1px solid var(--faint);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:0 14px;font-size:15px}
    .ex-chip-row{display:flex;gap:8px;overflow-x:auto;padding:12px 0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .ex-chip-row::-webkit-scrollbar{display:none}
    .ex-chip{flex:none;background:transparent;border:1px solid var(--faint);color:var(--muted);border-radius:var(--r-pill);font-size:13px;font-weight:700;padding:6px 13px;white-space:nowrap;cursor:pointer}
    .ex-chip.on{border-color:var(--selection-accent);color:var(--selection-accent)}
    .ex-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px}
    .swap-list{flex:none;max-height:42vh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:4px}
    .chat-gif{flex:none;background:#1c1c21;border:1px solid #2a2d34;color:var(--accent);font-weight:800;font-size:12px;border-radius:var(--r-md);padding:0 11px;cursor:pointer}
    .gif-grid{column-count:2;column-gap:6px;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;margin-top:8px}
    .gif-cell{display:block;width:100%;margin:0 0 6px;padding:0;border:none;background:#0f0f12;border-radius:var(--r-md);overflow:hidden;cursor:pointer;break-inside:avoid;-webkit-column-break-inside:avoid}
    .gif-cell img{width:100%;height:auto;display:block}
    .gif-attrib{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;letter-spacing:.06em;text-transform:uppercase}
    .chat-gifwrap{display:inline-flex;flex-direction:column;gap:4px;max-width:220px}
    .chat-gif-img{width:100%;border-radius:var(--r-md);display:block}
    .spotify-embed{border:none;border-radius:var(--r-md);display:block;width:100%}
    .spotify-open{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:44px;background:var(--action-secondary-bg);color:var(--action-secondary-ink);border:1px solid var(--action-secondary-border);font-weight:800;font-size:15px;border-radius:var(--r-md);padding:12px 13px;margin-top:10px;text-decoration:none}
    .spotify-open:active{background:var(--neutral-soft)}
    .spotify-brand{color:#1db954}
    .spotify-hint{font-size:11.5px;color:var(--muted);text-align:center;margin-top:7px}
    .crew-ava.live{box-shadow:none;outline:2px solid var(--positive);outline-offset:2px}
    .crew-sub.live{color:var(--log);font-weight:800}
    .live-pill{font-size:10px;font-weight:900;letter-spacing:.08em;color:#0a0a0c;background:var(--log);border-radius:var(--r-pill);padding:3px 8px;white-space:nowrap}
    .ex-lib-row{display:flex;align-items:center;gap:11px;width:100%;background:transparent;border:none;border-top:1px solid var(--faint);padding:13px 2px;text-align:left;cursor:pointer}
    .ex-lib-row:first-child{border-top:none}
    .ex-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--neutral-fill)!important}
    .ex-lib-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
    .ex-lib-name{font-size:15px;color:var(--ink)}
    .ex-lib-meta{font-size:12px;color:var(--muted)}
    .logged-note{text-align:center;color:var(--log);font-weight:700;font-size:14px;margin:14px 0 8px}
    .react-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
    .react-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-md);background:#15171c;border:1px solid #25282f;font-size:14px;line-height:1.5}
    .react-chip.on{border-color:#9aa3b2;background:#20242c}
    .react-chip .rc-n{font-size:12px;color:#9aa3b2;font-variant-numeric:tabular-nums}
    .react-chip.on .rc-n{color:#e7ecf3}
    .crew-ava{flex-shrink:0;width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#0a0a0c;letter-spacing:.3px}
    .crew-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
    .crew-name{font-weight:760;font-size:16px;color:#f3f4f6}
    .crew-sub{font-size:13px;color:#9aa0aa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .crew-pill{flex-shrink:0;border:1px solid;border-radius:var(--r-pill);font-weight:800;font-size:11px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}
    .chat-preview{cursor:pointer}
    .cp-head{display:flex;align-items:center;justify-content:space-between}
    .cp-ttl{font-weight:800;font-size:15px;color:#f3f4f6}
    .cp-meta{font-size:12px;color:#8a8f98}
    .cp-last{margin-top:6px;font-size:14px;color:#9aa0aa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .crew-wk{padding:12px 0;border-top:1px solid #202126}
    .crew-wk:first-child{border-top:none}
    .crew-wk-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
    .crew-wk-count{font-size:13px;color:#8a8f98;font-variant-numeric:tabular-nums}
    /* crew chat */
    .chat-screen{position:fixed;left:50%;transform:translateX(-50%);top:0;bottom:0;width:min(100%,430px);background:var(--bg);display:flex;flex-direction:column;z-index:6;overflow:hidden;overscroll-behavior:contain}
    .chat-head{display:flex;align-items:center;gap:8px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #202126}
    .chat-head-mid{flex:1;display:flex;flex-direction:column;align-items:center}
    .chat-ttl{font-weight:800;font-size:16px;color:#f3f4f6}
    .chat-sub{font-size:11px;color:#8a8f98;letter-spacing:.4px}
    .chat-strip{padding:8px 14px;font-size:12px;color:#9aa0aa;background:#121216;border-bottom:1px solid #202126;text-align:center}
    .chat-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 14px;display:flex;flex-direction:column;gap:12px}
    .member-detail{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 14px 28px}
    .member-cards{display:flex;flex-direction:column;gap:12px;padding-bottom:6px}
    .chat-sys{align-self:center;font-size:12px;color:#8a8f98}
    .chat-msg{display:flex;flex-direction:column;gap:3px;max-width:80%;align-self:flex-start}
    .chat-msg.mine{align-self:flex-end;align-items:flex-end}
    .chat-who{font-size:11px;color:#8a8f98;padding:0 4px}
    .chat-bubble{background:#1f1f24;color:#f3f4f6;border-radius:var(--r-md);padding:9px 13px;font-size:15px;line-height:1.3}
    .chat-msg.mine .chat-bubble{background:var(--cta);color:var(--cta-ink);font-weight:600}
    .chat-msg.pending{opacity:.55}
    .chat-card{align-self:flex-start;max-width:88%;background:#16161a;border:1px solid #26272d;border-radius:var(--r-md);padding:12px 14px}
    .chat-card.clickable{cursor:pointer}
    .chat-card.clickable:active{transform:translateY(1px)}
    .cc-tag{font-size:10px;font-weight:800;letter-spacing:.6px;color:#8a8f98;margin-bottom:4px}
    .pr-card .cc-tag{color:var(--log)}
    .cc-ttl{font-weight:760;font-size:15px;color:#f3f4f6}
    .cc-sub{font-size:13px;color:#9aa0aa;margin-top:2px}
    .cw-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 14px}
    .cw-stat{background:#1f1f24;border:1px solid #2a2b31;border-radius:var(--r-md);padding:9px 8px}
    .cw-stat strong{display:block;font-size:18px;color:#f3f4f6;font-variant-numeric:tabular-nums}
    .cw-stat span{display:block;margin-top:2px;font-size:11px;color:#8a8f98;text-transform:uppercase;letter-spacing:.3px}
    .cw-lift{border-top:1px solid #26272d;padding:10px 0}
    .cw-lift:first-child{border-top:none}
    .cw-lift-name{display:block;font-size:15px;font-weight:760;color:#f3f4f6}
    .cw-sets{display:block;margin-top:4px;font-size:13px;color:#9aa0aa;line-height:1.35}
    .chat-nudges{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;align-items:flex-start;padding:8px 14px;border-top:1px solid #202126}
    .nudge-chip{flex:0 0 auto;max-width:min(80vw,300px);background:#1f1f24;color:#cdd1d6;border:1px solid #2a2b31;border-radius:var(--r-lg);font-size:13px;font-weight:600;padding:7px 13px;white-space:normal;text-align:left;line-height:1.3}
    .chat-composer{display:flex;gap:8px;padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid #202126;background:#121216}
    .chat-composer input{flex:1;background:#1f1f24;border:1px solid #2a2b31;border-radius:var(--r-md);padding:11px 14px;color:#f3f4f6;font-size:15px}
    .chat-send{flex-shrink:0;background:var(--cta);color:var(--cta-ink);border:none;border-radius:var(--r-md);font-weight:800;font-size:15px;padding:0 18px}
    /* crew auth/setup gate */
    .crew-gate{display:flex;flex-direction:column;gap:12px;padding:8px 2px 24px;max-width:360px}
    .cg-title{font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;color:#f3f4f6;margin-top:8px}
    .cg-sub{font-size:15px;color:#9aa0aa;line-height:1.45}
    .cg-input{background:#1f1f24;border:1px solid #2a2b31;border-radius:var(--r-md);padding:13px 14px;color:#f3f4f6;font-size:16px;width:100%}
    .cg-err{font-size:14px;color:var(--red);font-weight:600}
    .cg-or{text-align:center;color:#8a8f98;font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin:2px 0}
    .crew-gate .link-btn{align-self:flex-start;margin-top:4px}
    .status-set{display:flex;flex-wrap:wrap;gap:8px}
    .status-chip{background:#1f1f24;border:1px solid #2a2b31;color:#cdd1d6;border-radius:var(--r-pill);font-size:13px;font-weight:700;padding:8px 14px}
    .status-chip.on{background:transparent}
    .crew-panel{padding:10px 16px}
    .crew-share-row{display:flex;gap:10px}
    .crew-share-row .secondary-wide{flex:1;margin:0}
    .invite-card .invite-code{font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:700;letter-spacing:3px;color:var(--cta);margin:8px 0 6px}
    /* program editor */
    .pe-hint{font-size:13px;color:#9aa0aa;line-height:1.4;margin:-2px 2px 14px}
    .pe-day{background:#16161a;border:1px solid #26272d;border-radius:var(--r-md);padding:12px;margin-bottom:14px}
    .pe-day-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
    .pe-day-name{flex:1;border:1px solid #26272d;border-radius:var(--r-sm);padding:9px 11px;font-weight:800;font-size:15px;color:#f3f4f6}
    .pe-row-actions{display:flex;gap:6px;flex-shrink:0}
    .mini-btn{min-width:32px;height:32px;border:1px solid #26272d;background:#16161a;border-radius:var(--r-sm);font-weight:800;font-size:13px;color:#aab0b8;padding:0 8px;cursor:pointer}
    .mini-btn:disabled{opacity:.35}
    .mini-btn.danger{color:var(--negative);border-color:var(--negative)}
    .pe-lift{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #202126}
    .pe-lift-info{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px}
    .pe-lift-name{font-weight:700;font-size:15px;color:#f3f4f6}
    .pe-lift-meta{font-size:12px;color:#8a8f98;font-variant-numeric:tabular-nums}
    .pe-moveto{flex-basis:100%;border:1px solid #26272d;border-radius:var(--r-sm);padding:8px 10px;font-size:13px;color:#aab0b8;background:#16161a;margin-top:2px}
    /* weekly calorie planner */
    .week-card{padding:16px}
    .field-hint{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.35}
    .bank-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--faint)}
    .bank-big{font-size:30px;font-weight:840;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
    .bank-big.neg{color:var(--negative)}
    .bank-sub{font-size:13px;color:var(--ink);font-weight:700;line-height:1.3}
    .bank-sub span{color:var(--muted);font-weight:500;font-size:12px}
    .week-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:108px}
    .wk-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
    .wk-bar-wrap{position:relative;width:100%;flex:1;display:flex;align-items:flex-end;background:#1f2024;border-radius:var(--r-sm);overflow:hidden}
    .wk-bar{width:100%;background:var(--data);border-radius:var(--r-sm) var(--r-sm) 0 0;min-height:0;transition:height .3s ease}
    .wk-bar.over{background:var(--negative)}
    .wk-bar.today{box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
    .wk-tgt{position:absolute;left:0;right:0;height:0;border-top:1px solid #2a2b30;z-index:2}
    .wk-dow{font-size:11px;font-weight:800;color:#6b6f78}
    .wk-dow.on{color:var(--ink)}
    .week-foot{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--faint)}
    .week-foot strong{display:block;font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
    .week-foot span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
    /* weekly calorie planner (editable per-day allocation) */
    .food-subtabs{grid-template-columns:repeat(2,1fr);margin-bottom:16px}
    /* Carbon-style planner: per-day macro bars + slider + locks */
    .cp-card{padding:14px 12px}
    .cp-cols{display:flex;align-items:flex-end;justify-content:space-between;gap:5px}
    .cp-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:1px solid transparent;border-radius:var(--r-md);padding:6px 2px;cursor:pointer;min-width:0}
    .cp-col.sel{border-color:var(--selection-accent);background:rgba(255,255,255,.04)}
    .cp-dow{font-size:11px;font-weight:800;color:var(--muted)}
    .cp-dow.on{color:var(--log)}
    .cp-kcal{font-size:10.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
    .cp-track{width:100%;height:128px;background:#1f2024;border-radius:var(--r-sm);display:flex;align-items:flex-end;overflow:hidden}
    .cp-fill{width:100%;display:flex;flex-direction:column;min-height:3px}
    .cp-seg{width:100%}
    .cp-prot,.cp-carb,.cp-fat{background:var(--data)}
    .cp-locks{display:flex;justify-content:space-between;gap:5px;margin-top:8px}
    .cp-lock{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);padding:3px;cursor:pointer}
    .cp-lock .icon{width:17px;height:17px}
    .cp-lock.on{color:var(--selection-accent)}
    .cp-sel-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--faint)}
    .cp-sel-label{font-weight:700;font-size:15px;color:var(--ink)}
    .cp-sel-amt{display:flex;align-items:center;gap:6px}
    .cp-slider{width:100%;margin-top:14px;accent-color:var(--selection-accent)}
    /* Workout landing: calm "next workout" hero + compact other-training */
    .workout-hero{padding:22px 20px;margin-top:4px}
    .wh-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
    .wh-kicker{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
    .wh-day{font-size:26px;font-weight:840;color:var(--ink);line-height:1.05}
    .wh-sub{font-size:13px;color:var(--muted);margin-top:5px}
    .other-train-row{display:grid;gap:8px}
    .ovl-head .wk-x{color:var(--ink)} /* clearer back arrow on overlay headers */
    .hist-tabs{grid-template-columns:repeat(2,1fr);margin:0 0 16px}
    .plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
    .plan-budget{font-size:26px;font-weight:840;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
    .plan-budget-sub{font-size:12px;color:var(--muted);margin-top:4px}
    .plan-hint{font-size:13px;color:var(--muted);margin:0 0 12px;line-height:1.4}
    .plan-list{padding:2px 16px}
    .plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #202126}
    .plan-row:last-child{border-bottom:none}
    .plan-day{font-weight:700;font-size:15px;color:var(--ink)}
    .plan-today{font-size:11px;font-weight:800;color:var(--log);text-transform:uppercase;letter-spacing:.4px;margin-left:6px}
    .plan-amt{display:flex;align-items:center;gap:6px}
    .plan-input{width:84px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;background:#1f2024;border:1px solid var(--faint);border-radius:var(--r-md);color:var(--ink);padding:9px 10px;font-size:15px}
    .plan-unit{font-size:12px;color:var(--muted)}
    /* weight trend chart */
    .chart-card{padding:16px}
    .chart-empty{padding:18px}
    .chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
    .chart-now{font-size:26px;font-weight:840;color:var(--ink);font-variant-numeric:tabular-nums}
    .chart-delta{font-size:13px;font-weight:700}
    .chart-delta.down{color:var(--log)}
    .chart-delta.up{color:var(--ink)}
    .wt-chart{width:100%;height:120px;display:block}
    .chart-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
    /* weekly check-in */
    .ci-grid{display:flex;gap:10px;margin-bottom:4px}
    .ci-cell{flex:1;background:#1f2024;border:1px solid var(--faint);border-radius:var(--r-md);padding:12px 14px;text-align:center}
    .ci-cell span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
    .ci-cell strong{font-size:18px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
    .lh-spark{margin:6px 0 4px}
    .mini-spark{width:100%;height:40px;display:block}
    .lh-spark-l{font-size:11px;color:var(--muted);text-align:center;margin-top:2px}
    .lh-list{display:flex;flex-direction:column}
    .lh-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--faint)}
    .lh-row:first-child{border-top:none}
    .lh-date{font-size:12px;color:var(--muted);width:96px;flex-shrink:0}
    .lh-sets{flex:1;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
    .lh-e1{font-size:13px;font-weight:800;color:var(--log);font-variant-numeric:tabular-nums}

    /* Batch 10B: decorative category color collapses to one neutral channel. */
    .macro-bar i,.cal-bar i,.bar>i,.wk-bar{background:var(--data)!important}
    .m-chip{color:var(--neutral-fill)!important;background:var(--neutral-soft)!important}
    .m-dot{background:var(--neutral-fill)!important}
    .bubble.blue,.bubble.amber,.bubble.violet,.bubble.coral{
      color:var(--neutral-fill);background:var(--neutral-soft)
    }
    .coach-note,.rp-target,.rec-card,.rec-pill{
      color:var(--ink);background:var(--neutral-soft);border-color:var(--faint)
    }
    .coach-note strong,.rp-target,.rp-target .ex-sug{color:var(--ink)}
    .rec-card strong,.rec-pill{color:var(--positive)}
    .bjj-card .cc-tag,.cardio-card .cc-tag,.start-card .cc-tag,.wrap-card .cc-tag,.k-roast,.k-streak{
      color:var(--muted)
    }
    .it-stage.phase-work,.it-stage.phase-rest,.it-stage.phase-prep{
      color:var(--ink);background:var(--neutral-soft);border-color:var(--faint)
    }
    .it-stage.phase-work .it-phase,.it-stage.phase-rest .it-phase{color:var(--muted)}
    .it-stage.phase-done{background:color-mix(in srgb,var(--positive) 12%,var(--surface));border-color:var(--positive)}
    .it-stage.phase-done .it-phase{color:var(--positive)}
    .wk-tmr,.rest-pill{color:var(--ink);background:var(--neutral-soft);border-color:var(--faint)}
    .crew-ava.live{box-shadow:none;outline:2px solid var(--positive);outline-offset:2px}
    .crew-sub.live{color:var(--muted)}
    .live-pill{color:var(--ink);background:var(--neutral-soft);border:1px solid var(--faint)}
    .status-chip.on{color:var(--selection-ink);border-color:var(--selection-border);background:var(--selection-bg)}
    .k-points,.pr-card .cc-tag,.logged-note,.ex-done{color:var(--positive)}
    .k-points.neg,.danger-wide,.mini-btn.danger,.wk-foot-discard{color:var(--negative)}
    .staged-card{background:var(--neutral-soft);border-color:var(--selection-border)}
    .calorie-value,.bank-big,.wk-dow.on,.chart-delta.up{color:var(--ink)}
    .bank-big.neg{color:var(--negative)}
    .wk-bar.over{background:var(--negative)!important}
    .signal-badge{color:var(--muted);background:var(--neutral-soft)}
    .log-affordance{color:var(--action-tertiary-ink)}
    .toggle-row input[type="checkbox"]:checked{
      background:var(--selection-border);border-color:var(--selection-border)
    }
    .quick-chip.active,.sched-day.active,.day-pill.active{
      color:var(--selection-ink);background:var(--selection-bg);border-color:var(--selection-border)
    }
    body.theme-girlpower .macro-bar i,body.theme-girlpower .cal-bar i,body.theme-girlpower .bar>i,body.theme-girlpower .wk-bar{background:var(--neutral-fill)!important}
    body.theme-girlpower .m-chip{color:var(--neutral-fill)!important;background:var(--neutral-soft)!important}
    body.theme-girlpower .m-dot{background:var(--neutral-fill)!important}
    body.theme-girlpower .bubble.blue,body.theme-girlpower .bubble.amber,body.theme-girlpower .bubble.violet,body.theme-girlpower .bubble.coral{
      color:var(--neutral-fill);background:var(--neutral-soft)
    }
    body.theme-girlpower .bjj-card .cc-tag,body.theme-girlpower .cardio-card .cc-tag,body.theme-girlpower .start-card .cc-tag,body.theme-girlpower .wrap-card .cc-tag,body.theme-girlpower .k-roast,body.theme-girlpower .k-streak{
      color:var(--muted)
    }
    body.theme-girlpower .it-stage.phase-work,body.theme-girlpower .it-stage.phase-rest,body.theme-girlpower .it-stage.phase-prep{
      color:var(--ink);background:var(--neutral-soft);border-color:var(--faint)
    }
    body.theme-girlpower .it-stage.phase-work .it-phase,body.theme-girlpower .it-stage.phase-rest .it-phase{color:var(--muted)}
    body.theme-girlpower .crew-sub.live{color:var(--muted)}
    body.theme-girlpower .live-pill{color:var(--ink);background:var(--neutral-soft);border-color:var(--faint)}
    body.theme-girlpower .quick-chip.green,body.theme-girlpower .quick-chip.blue,
    body.theme-girlpower .quick-chip.amber,body.theme-girlpower .quick-chip.violet,
    body.theme-girlpower .sched-day.active,body.theme-girlpower .day-pill.active{
      color:var(--ink);background:var(--selection-bg);border-color:var(--selection-border)
    }

    /* Batch 10B: neutral leaderboard status icons replace interface emoji. */
    .k-crown,.k-streak{
      display:inline-flex;align-items:center;vertical-align:-2px;color:var(--muted)
    }
    .k-crown .icon{width:13px;height:13px;stroke-width:1.8}
    .k-streak .icon{width:12px;height:12px;margin-right:2px;stroke-width:1.8}
    .k-streak-help{vertical-align:-1px;margin:0 1px}
    .k-streak-help .icon{margin-right:0}
