/* Source: app.css */

:root{
  --bg:#080808;--panel:#111;--panel2:#151515;--line:#272727;--muted:#b5b5b5;--text:#f6f6f6;
  --gold:#d4a853;--gold2:#e4b75b;--danger:#ff726a;--safe:#62d28f;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{
  position:sticky;top:0;z-index:30;height:calc(74px + env(safe-area-inset-top));
  padding:calc(16px + env(safe-area-inset-top)) 18px 14px;
  background:#080808ee;backdrop-filter:blur(16px);border-bottom:1px solid #1b1b1b;
  display:grid;grid-template-columns:48px 1fr 48px;align-items:center
}
.brand{text-align:center;font-size:28px;font-weight:900;letter-spacing:2.5px;line-height:1}
.brand span{color:var(--gold)}
.brand.small{text-align:left;font-size:23px}
.icon-btn{width:44px;height:42px;border:0;background:transparent;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;padding:0}
.icon-btn span{display:block;width:23px;height:2px;border-radius:4px;background:var(--gold)}
.icon-btn span:nth-child(2){width:18px}.icon-btn span:nth-child(3){width:23px}
.header-spacer{width:44px}
.app-shell{max-width:720px;margin:0 auto;padding:26px 18px calc(100px + env(safe-area-inset-bottom))}
.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:850}
.page-kicker,.section-kicker,.detail-kicker{font-size:10px!important;line-height:1.4!important;letter-spacing:3px!important;text-transform:uppercase;color:var(--gold);font-weight:850!important}
.page-kicker{margin:0 0 6px}.section-kicker{margin:0 0 12px}
.page-title{font-size:28px;line-height:1.1;margin:6px 0 22px;font-weight:850}
.detail-page>.page-title,.detail-page .detail-page-title{font-size:28px!important;line-height:1.1!important;margin:6px 0 22px!important;font-weight:850!important;letter-spacing:0!important;text-transform:none!important}
.detail-page .detail-section-kicker{display:block;font-size:10px!important;line-height:1.4!important;letter-spacing:3px!important;text-transform:uppercase!important;color:var(--gold)!important;font-weight:850!important}
.detail-page .detail-card-title{font-size:19px;line-height:1.25;font-weight:850;color:var(--text);text-transform:none;letter-spacing:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}
.card.compact{padding:16px}
.card.hero{padding:22px 20px}
.hero-title{font-size:31px;font-weight:850;line-height:1.08;margin:7px 0 8px}
.muted{color:var(--muted);font-size:13px;line-height:1.5}
.small{font-size:11px;color:var(--muted)}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.row.top{align-items:flex-start}
.stack{display:grid;gap:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.primary,.secondary,.mini{
  border-radius:12px;padding:12px 15px;border:1px solid var(--line);font-weight:800
}
.primary{background:var(--gold);color:#090909;border-color:var(--gold)}
.secondary{background:#161616;color:#f5f5f5}
.primary:active,.secondary:active,.mini:active{transform:scale(.985)}
.full{width:100%}.danger{color:var(--danger);border-color:#63302d}
.kpi{font-size:35px;font-weight:900;line-height:1;margin:7px 0}
.kpi.gold{color:var(--gold)}
.bar{height:8px;border-radius:99px;background:#222;overflow:hidden;margin-top:12px}
.bar>span{display:block;height:100%;background:var(--gold);border-radius:99px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:26px 0 12px}
.section-head h2{margin:0;font-size:19px}
.link-btn{background:none;border:0;color:var(--gold);padding:5px 0;font-size:12px;font-weight:800}
.tag{display:inline-flex;align-items:center;border:1px solid #5a4828;color:var(--gold);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}
.metric-list{display:grid;gap:12px}.metric-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #202020;padding-top:12px}.metric-line:first-child{border:0;padding-top:0}
.metric-line strong{font-size:19px}
.empty{padding:26px 12px;text-align:center;color:#8b8b8b}
.drawer-backdrop{position:fixed;inset:0;background:#000b;opacity:0;pointer-events:none;transition:.2s;z-index:40}
.drawer-backdrop.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;right:0;top:0;bottom:0;width:min(86vw,360px);background:#0c0c0c;border-left:1px solid #262626;z-index:50;
  transform:translateX(102%);transition:.22s ease;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))
}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 18px}
.icon-close{width:38px;height:38px;border-radius:99px;background:#171717;border:1px solid #2a2a2a;color:#fff;font-size:25px;line-height:1}
.drawer-nav{display:grid;gap:4px;overflow-y:auto;min-height:0}
.drawer-nav button,.drawer-action{
  width:100%;border:0;background:transparent;color:#eee;text-align:left;padding:14px 13px;border-radius:11px;font-weight:750;font-size:14px
}
.drawer-nav button.active{background:#19160f;color:var(--gold)}
.drawer-sep{height:1px;background:#222;margin:10px 5px}
.drawer-bottom{margin-top:auto;border-top:1px solid #222;padding-top:10px;flex-shrink:0}
.drawer-action{color:#cfcfcf;font-size:13px}
.form-field{display:grid;gap:6px;margin:12px 0}
.form-field label{font-size:11px;color:#aaa}
input,select,textarea{width:100%;background:#0a0a0a;border:1px solid #313131;color:#fff;border-radius:10px;padding:12px;min-width:0}
textarea{min-height:78px;resize:vertical}
.plan-card-title{font-size:22px;font-weight:850;margin:4px 0}
.plan-list-section{margin-top:26px}.plan-list-section>.eyebrow{margin:0 0 12px}.plan-list-divider{height:1px;background:#312d27;margin:26px 0 0}.plan-catalog-section{margin-top:20px}.plan-list-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:14px}.plan-card-open{width:44px;height:44px;border:0;background:transparent;color:#d7ad56;font-size:34px;line-height:1;display:grid;place-items:center;border-radius:12px}.plan-card-open span{transform:translateY(-1px)}.plan-history{margin:26px 0 0;border-top:1px solid #2d2a25;padding-top:18px}.plan-history>summary{cursor:pointer;font-weight:800;color:#d7ad56;list-style:none}.plan-history>summary::-webkit-details-marker{display:none}.plan-history>summary:after{content:"⌄";float:right;color:#aaa}.plan-history[open]>summary:after{content:"⌃"}.plan-history>div{margin-top:14px}
.day-card{border-top:1px solid #252525;padding:16px 0}.day-card:first-child{border-top:0}
.exercise-item{padding:16px 0;border-top:1px solid #232323}.exercise-item:first-child{border-top:0}
.exercise-name{font-size:16px;font-weight:820}
.exercise-meta{font-size:12px;color:#aaa;margin-top:3px}
.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.mini{background:#151515;color:#eee;padding:8px 11px;font-size:12px}
.set-edit{display:grid;grid-template-columns:28px 1fr 1fr 38px;gap:7px;align-items:center;margin:7px 0}
.set-edit input{text-align:center;padding:9px 4px}
.library-card{padding:16px;border:1px solid #242424;border-radius:15px;background:#101010;margin-bottom:10px}
.muscle-chip{display:inline-block;margin:3px 4px 0 0;padding:5px 7px;border-radius:7px;background:#201b10;color:var(--gold);font-size:10px}
.session-overlay{position:fixed;inset:0;background:#000e;z-index:70;display:none;align-items:flex-end}
.session-overlay.open{display:flex}
.session-sheet{width:100%;max-width:720px;margin:0 auto;background:#0b0b0b;border:1px solid #252525;border-radius:22px 22px 0 0;max-height:95vh;overflow:auto;padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}
.session-head{position:sticky;top:0;z-index:4;background:#0b0b0bf4;backdrop-filter:blur(14px);display:flex;align-items:flex-start;justify-content:space-between;padding:5px 0 12px}
.session-title{font-size:25px;font-weight:900;margin-top:3px}
.session-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.session-metrics>div{background:#111;border:1px solid #252525;border-radius:12px;padding:10px 12px}
.session-metrics span{display:block;color:#888;text-transform:uppercase;font-size:9px;letter-spacing:2px}
.session-metrics strong{display:block;color:var(--gold);font-size:25px;margin-top:3px}
.rest-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}
.rest-actions button{background:#151515;border:1px solid #2a2a2a;color:#eee;border-radius:9px;padding:9px 4px;font-size:12px}
.session-ex{background:#101010;border:1px solid #242424;border-radius:15px;padding:15px;margin-bottom:10px}
.session-ex-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.session-ex-title{font-size:17px;font-weight:850}
.session-set{display:grid;grid-template-columns:32px 1fr 1fr 44px;gap:7px;align-items:center;margin:7px 0}
.session-set input{text-align:center;padding:10px 5px}
.done-btn{width:40px;height:40px;border-radius:10px;border:1px solid #343434;background:#161616;color:#888;font-weight:900}
.done-btn.done{background:var(--gold);color:#080808;border-color:var(--gold)}
.note-toggle{margin-top:8px}
.history-card{background:#101010;border:1px solid #252525;border-radius:15px;padding:16px;margin-bottom:10px}
.history-date{font-size:11px;color:#8f8f8f}.history-title{font-size:18px;font-weight:850;margin-top:3px}
.history-ex{padding-top:10px;margin-top:10px;border-top:1px solid #242424;font-size:12px;color:#bbb}
.heat-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.body-card{background:#0d0d0d;border:1px solid #242424;border-radius:16px;padding:10px;text-align:center}
.body-card svg{width:100%;height:auto;max-height:450px}
.body-outline{fill:#171717;stroke:#4a4a4a;stroke-width:1.2}
.muscle-shape{fill:#232323;stroke:#3c3c3c;stroke-width:.8;transition:.2s}
.muscle-shape.l1{fill:#55431d}.muscle-shape.l2{fill:#a47c30}.muscle-shape.l3{fill:#d4a853}.muscle-shape.l4{fill:#e08339}
.range-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}
.range-tabs button{border:1px solid #2b2b2b;background:#151515;color:#eee;border-radius:10px;padding:10px}
.range-tabs button.active{background:var(--gold);color:#080808;border-color:var(--gold);font-weight:800}
.muscle-rank{display:grid;gap:9px}.muscle-rank-row{display:grid;grid-template-columns:110px 1fr 38px;gap:8px;align-items:center;font-size:12px}
.muscle-rank-row .bar{margin:0;height:7px}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #242424}.settings-row:first-child{border-top:0}
.toggle{width:48px;height:28px;border-radius:99px;border:0;background:#333;position:relative}
.toggle:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}
.toggle.on{background:var(--gold)}.toggle.on:after{left:23px;background:#111}
@media(max-width:520px){
  .app-shell{padding-left:14px;padding-right:14px}.topbar{padding-left:14px;padding-right:14px}
  .heat-layout{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}
  .hero-title{font-size:28px}.card{padding:18px}
}

/* BodyPlan 2.0 product-shell refinements */
.drawer-nav button{
  position:relative;padding:15px 14px 15px 18px;font-size:15px;letter-spacing:.1px
}
.drawer-nav button.active::before{
  content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:99px;background:var(--gold)
}
.drawer-group summary{display:flex;align-items:center;justify-content:space-between;padding:15px 14px 15px 18px;border-radius:11px;color:#eee;font-size:15px;font-weight:750;letter-spacing:.1px;cursor:pointer;list-style:none}
.drawer-group summary::-webkit-details-marker{display:none}
.drawer-group summary::after{content:"›";font-size:22px;line-height:1;transform:rotate(0deg);transition:transform .15s}
.drawer-group[open] summary::after{transform:rotate(90deg)}
.drawer-group.active summary{color:var(--gold)}
.drawer-group summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.drawer-subnav{display:grid;gap:4px;padding:3px 0 5px 18px}
.library-heading{flex-wrap:wrap;gap:12px;margin-bottom:16px}
.library-heading .page-title{margin-bottom:0}
.library-heading button{flex-shrink:0;white-space:nowrap}
.drawer-bottom{padding:12px 4px 0}
.drawer-action{padding:13px 14px;color:#aaa}
.drawer-action:first-child{color:var(--gold)}
.dashboard-intro{margin-bottom:18px}
.dashboard-intro .page-title{margin-bottom:0}
.anatomy-card{background:#0b0b0b;border:1px solid var(--line);border-radius:18px;padding:12px;overflow:hidden}
.anatomy-wrap{position:relative;width:100%;max-width:520px;margin:0 auto;border-radius:14px;overflow:hidden;background:#060606}
.anatomy-wrap img{display:block;width:100%;height:auto}
.heat-zone{position:absolute;pointer-events:none;opacity:0;mix-blend-mode:screen;filter:blur(2px);background:rgba(212,168,83,.7);box-shadow:0 0 18px rgba(212,168,83,.4);transition:opacity .2s,background .2s}
.heat-zone.l1{opacity:.18;background:rgba(212,168,83,.75)}
.heat-zone.l2{opacity:.30;background:rgba(228,183,91,.9)}
.heat-zone.l3{opacity:.44;background:rgba(236,136,63,.95)}
.heat-zone.l4{opacity:.58;background:rgba(235,72,54,.98)}

.front .z-chest{left:35%;top:20%;width:30%;height:13%;border-radius:42% 42% 35% 35%}
.front .z-front-delts-l{left:29%;top:19%;width:9%;height:10%;border-radius:50%}
.front .z-front-delts-r{right:29%;top:19%;width:9%;height:10%;border-radius:50%}
.front .z-biceps-l{left:27%;top:28%;width:8%;height:15%;border-radius:50%}
.front .z-biceps-r{right:27%;top:28%;width:8%;height:15%;border-radius:50%}
.front .z-abs{left:43%;top:31%;width:14%;height:22%;border-radius:35%}
.front .z-quads-l{left:38%;top:53%;width:10%;height:21%;border-radius:45%}
.front .z-quads-r{right:38%;top:53%;width:10%;height:21%;border-radius:45%}
.front .z-calves-l{left:39%;top:76%;width:7%;height:14%;border-radius:50%}
.front .z-calves-r{right:39%;top:76%;width:7%;height:14%;border-radius:50%}
/* Back image coordinates */
.back .z-traps{left:39%;top:13%;width:22%;height:14%;border-radius:40%}
.back .z-rear-delts-l{left:28%;top:20%;width:10%;height:10%;border-radius:50%}
.back .z-rear-delts-r{right:28%;top:20%;width:10%;height:10%;border-radius:50%}
.back .z-upper-back{left:38%;top:22%;width:24%;height:18%;border-radius:38%}
.back .z-lats{left:32%;top:25%;width:36%;height:21%;border-radius:38%}
.back .z-triceps-l{left:24%;top:28%;width:8%;height:16%;border-radius:50%}
.back .z-triceps-r{right:24%;top:28%;width:8%;height:16%;border-radius:50%}
.back .z-glutes{left:35%;top:48%;width:30%;height:14%;border-radius:44%}
.back .z-hamstrings-l{left:36%;top:59%;width:11%;height:18%;border-radius:45%}
.back .z-hamstrings-r{right:36%;top:59%;width:11%;height:18%;border-radius:45%}
.back .z-calves-l{left:37%;top:77%;width:8%;height:13%;border-radius:50%}
.back .z-calves-r{right:37%;top:77%;width:8%;height:13%;border-radius:50%}
.heat-caption{font-size:11px;color:#888;line-height:1.5;margin-top:10px}
@media(max-width:520px){
  .topbar{grid-template-columns:44px 1fr 44px}
  .brand{font-size:26px}
  .app-shell{padding-top:22px}
  .card{border-radius:16px;padding:18px}
  .hero-title{font-size:29px}
}

/* --- BodyPlan 2.0 Beta 3: product UX refinements --- */
.brand-home{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#fff;
  padding:4px 6px;margin:0;cursor:pointer;font-family:inherit
}
.brand-home:active{opacity:.72;transform:scale(.985)}

/* Dashboard hero: premium, visual, but still lean */
.dashboard-intro{margin-bottom:14px}
.dashboard-intro .page-title{font-size:30px}
.workout-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 86% 18%,rgba(212,168,83,.19),transparent 32%),
    linear-gradient(145deg,#14110b 0%,#101010 58%,#0d0d0d 100%);
  border:1px solid rgba(212,168,83,.28);
  border-radius:22px;padding:22px 20px 20px;margin-bottom:14px
}
.workout-hero::after{
  content:"";position:absolute;width:170px;height:170px;border-radius:50%;
  right:-80px;top:-92px;border:1px solid rgba(212,168,83,.24);
  box-shadow:0 0 0 18px rgba(212,168,83,.035),0 0 0 38px rgba(212,168,83,.02);
  pointer-events:none
}
.workout-hero .hero-title{max-width:82%;font-size:32px}
.hero-meta{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 17px}
.hero-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);
  color:#c9c9c9;font-size:11px;font-weight:700
}
.hero-chip strong{color:#fff;font-weight:800}
.workout-hero .primary{min-width:170px}
.active-workout-card{
  position:relative;overflow:hidden;border-color:rgba(212,168,83,.45);
  background:linear-gradient(145deg,#17130b,#101010 70%)
}
.active-pulse{
  width:8px;height:8px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:7px;
  box-shadow:0 0 0 0 rgba(212,168,83,.45);animation:pulse 1.8s infinite
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(212,168,83,.35)}70%{box-shadow:0 0 0 8px rgba(212,168,83,0)}100%{box-shadow:0 0 0 0 rgba(212,168,83,0)}}
.active-session-meta{display:flex;gap:18px;margin:14px 0 2px}
.active-session-meta div{min-width:90px}
.active-session-meta span{display:block;color:#888;font-size:9px;letter-spacing:1.8px;text-transform:uppercase}
.active-session-meta strong{display:block;color:#fff;font-size:21px;margin-top:2px}

/* Keep the complete workout control surface visible. Only exercises scroll beneath it. */
.session-sheet{
  padding-top:0!important;
  overscroll-behavior:contain;
}
.session-sticky{
  position:sticky;top:0;z-index:12;
  background:linear-gradient(to bottom,#0b0b0b 88%,rgba(11,11,11,.92));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  margin:0 -16px 12px;padding:calc(14px + env(safe-area-inset-top)) 16px 12px;
  border-bottom:1px solid #232323;
  box-shadow:0 12px 24px rgba(0,0,0,.23)
}
.session-head{position:relative!important;top:auto!important;background:transparent!important;backdrop-filter:none!important;padding:0 0 9px!important}
.session-progress{height:3px;background:#202020;border-radius:99px;overflow:hidden;margin:0 0 10px}
.session-progress span{height:100%;width:0;display:block;background:var(--gold);border-radius:99px;transition:width .2s}
.session-metrics{margin-bottom:7px}
.session-metrics>div{padding:8px 11px;border-radius:10px}
.session-metrics strong{font-size:23px}
.rest-actions{margin-bottom:0}
.rest-actions button{padding:8px 4px}
.session-ex:first-child{margin-top:4px}
.set-head{
  display:grid;grid-template-columns:32px 1fr 1fr 44px;gap:7px;
  color:#777;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;text-align:center;
  padding:3px 0 2px
}
.last-performance{
  background:#0d0d0d;border:1px solid #222;border-radius:10px;padding:9px 10px;
  margin:8px 0 10px;color:#aaa;font-size:11px;line-height:1.45
}
.last-performance strong{color:#d7d7d7}
.session-ex .form-field textarea{min-height:62px}

/* Heatmap: stronger, properly shaped anatomical overlays */
.anatomy-wrap{isolation:isolate}
.anatomy-wrap img{position:relative;z-index:1}
.heat-zone{
  z-index:2;filter:none!important;mix-blend-mode:screen!important;
  box-shadow:0 0 14px rgba(255,170,35,.24);
}
.heat-zone.l1{opacity:.28;background:rgba(236,184,75,.70)}
.heat-zone.l2{opacity:.43;background:rgba(238,169,66,.78)}
.heat-zone.l3{opacity:.57;background:rgba(239,120,55,.86)}
.heat-zone.l4{opacity:.72;background:rgba(239,65,46,.94)}

/* Front — clipped closer to the actual muscle anatomy in the reference render */
.front .z-chest{
  left:34.4%;top:20.0%;width:31.7%;height:12.0%;
  clip-path:polygon(4% 28%,26% 5%,48% 13%,50% 90%,3% 83%,0 50%,50% 90%,52% 13%,75% 5%,96% 28%,100% 50%,97% 83%,50% 90%)
}
.front .z-front-delts-l{left:29.0%;top:19.0%;width:9.5%;height:9.5%;clip-path:ellipse(48% 48% at 50% 50%)}
.front .z-front-delts-r{right:29.0%;top:19.0%;width:9.5%;height:9.5%;clip-path:ellipse(48% 48% at 50% 50%)}
.front .z-biceps-l{left:27.3%;top:27.5%;width:8.0%;height:15.0%;clip-path:polygon(40% 0,80% 10%,100% 38%,77% 90%,42% 100%,12% 79%,0 36%,15% 10%)}
.front .z-biceps-r{right:27.3%;top:27.5%;width:8.0%;height:15.0%;clip-path:polygon(60% 0,20% 10%,0 38%,23% 90%,58% 100%,88% 79%,100% 36%,85% 10%)}
.front .z-abs{left:42.2%;top:30.7%;width:15.6%;height:20.4%;clip-path:polygon(18% 0,82% 0,96% 88%,73% 100%,27% 100%,4% 88%)}
.front .z-quads-l{left:36.7%;top:51.0%;width:11.5%;height:22.6%;clip-path:polygon(38% 0,80% 3%,100% 48%,73% 100%,27% 96%,0 47%,14% 8%)}
.front .z-quads-r{right:36.7%;top:51.0%;width:11.5%;height:22.6%;clip-path:polygon(62% 0,20% 3%,0 48%,27% 100%,73% 96%,100% 47%,86% 8%)}
.front .z-calves-l{left:37.5%;top:73.8%;width:8.4%;height:15.8%;clip-path:polygon(45% 0,85% 18%,100% 52%,65% 96%,28% 100%,0 53%,15% 15%)}
.front .z-calves-r{right:37.5%;top:73.8%;width:8.4%;height:15.8%;clip-path:polygon(55% 0,15% 18%,0 52%,35% 96%,72% 100%,100% 53%,85% 15%)}


.back .z-traps{left:34.6%;top:14.0%;width:30.8%;height:14.3%;clip-path:polygon(50% 0,86% 28%,100% 60%,71% 64%,54% 100%,46% 100%,29% 64%,0 60%,14% 28%)}
.back .z-rear-delts-l{left:28.7%;top:19.0%;width:11.5%;height:10.0%;clip-path:ellipse(48% 48% at 50% 50%)}
.back .z-rear-delts-r{right:28.7%;top:19.0%;width:11.5%;height:10.0%;clip-path:ellipse(48% 48% at 50% 50%)}
.back .z-upper-back{left:36.8%;top:21.4%;width:26.4%;height:16.8%;clip-path:polygon(8% 10%,50% 0,92% 10%,100% 60%,68% 100%,32% 100%,0 60%)}
.back .z-lats{left:31.8%;top:25.2%;width:36.4%;height:22.4%;clip-path:polygon(4% 0,38% 14%,50% 95%,62% 14%,96% 0,89% 70%,66% 100%,34% 100%,11% 70%)}
.back .z-triceps-l{left:23.8%;top:28.5%;width:8.8%;height:16.0%;clip-path:polygon(43% 0,82% 8%,100% 55%,65% 100%,27% 91%,0 49%,16% 10%)}
.back .z-triceps-r{right:23.8%;top:28.5%;width:8.8%;height:16.0%;clip-path:polygon(57% 0,18% 8%,0 55%,35% 100%,73% 91%,100% 49%,84% 10%)}
.back .z-glutes{left:34.0%;top:46.0%;width:32.0%;height:15.0%;clip-path:polygon(8% 5%,46% 0,50% 12%,54% 0,92% 5%,100% 42%,82% 95%,53% 100%,50% 88%,47% 100%,18% 95%,0 42%)}
.back .z-hamstrings-l{left:34.8%;top:57.6%;width:12.2%;height:19.8%;clip-path:polygon(26% 0,75% 3%,100% 55%,72% 100%,28% 96%,0 52%)}
.back .z-hamstrings-r{right:34.8%;top:57.6%;width:12.2%;height:19.8%;clip-path:polygon(74% 0,25% 3%,0 55%,28% 100%,72% 96%,100% 52%)}
.back .z-calves-l{left:35.4%;top:73.8%;width:9.3%;height:16.6%;clip-path:polygon(47% 0,88% 19%,100% 55%,66% 98%,25% 100%,0 56%,12% 18%)}
.back .z-calves-r{right:35.4%;top:73.8%;width:9.3%;height:16.6%;clip-path:polygon(53% 0,12% 19%,0 55%,34% 98%,75% 100%,100% 56%,88% 18%)}

.heat-legend-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.heat-legend-scale div{font-size:9px;color:#8b8b8b;text-align:center}
.heat-legend-scale i{display:block;height:5px;border-radius:99px;margin-bottom:5px}
.heat-legend-scale div:nth-child(1) i{background:#6f5a2e}
.heat-legend-scale div:nth-child(2) i{background:#c58b3d}
.heat-legend-scale div:nth-child(3) i{background:#df7039}
.heat-legend-scale div:nth-child(4) i{background:#e64232}
.score-help{
  margin-top:13px;padding:12px;border-radius:11px;background:#0d0d0d;border:1px solid #242424;
  color:#999;font-size:11px;line-height:1.55
}
.score-help strong{color:#d9d9d9}
.muscle-rank-row strong{min-width:46px;text-align:right}

/* Small-screen ergonomics */
@media(max-width:430px){
  .session-sticky{padding-left:14px;padding-right:14px;margin-left:-16px;margin-right:-16px}
  .session-title{font-size:22px}
  .session-metrics strong{font-size:21px}
  .workout-hero .hero-title{font-size:29px;max-width:88%}
  .active-session-meta{gap:10px}
}


.front .z-side-delts-l{left:27.6%;top:19.4%;width:8.2%;height:9.7%;clip-path:ellipse(48% 50% at 50% 50%)}
.front .z-side-delts-r{right:27.6%;top:19.4%;width:8.2%;height:9.7%;clip-path:ellipse(48% 50% at 50% 50%)}
.front .z-forearms-l{left:23.0%;top:36.5%;width:8.2%;height:17.5%;clip-path:polygon(38% 0,75% 2%,100% 78%,62% 100%,25% 94%,0 20%)}
.front .z-forearms-r{right:23.0%;top:36.5%;width:8.2%;height:17.5%;clip-path:polygon(62% 0,25% 2%,0 78%,38% 100%,75% 94%,100% 20%)}
.front .z-obliques-l{left:37.5%;top:32.5%;width:7.0%;height:18.0%;clip-path:polygon(40% 0,100% 12%,82% 100%,10% 88%,0 25%)}
.front .z-obliques-r{right:37.5%;top:32.5%;width:7.0%;height:18.0%;clip-path:polygon(60% 0,0 12%,18% 100%,90% 88%,100% 25%)}
.back .z-side-delts-l{left:27.8%;top:20.0%;width:9.2%;height:10.0%;clip-path:ellipse(48% 50% at 50% 50%)}
.back .z-side-delts-r{right:27.8%;top:20.0%;width:9.2%;height:10.0%;clip-path:ellipse(48% 50% at 50% 50%)}
.back .z-erectors{left:44.0%;top:27.0%;width:12.0%;height:22.5%;clip-path:polygon(25% 0,45% 2%,50% 100%,55% 2%,75% 0,100% 95%,65% 100%,50% 90%,35% 100%,0 95%)}

/* Beta 4: native-feeling plan actions */
.swipe-row{position:relative;overflow:hidden;border-radius:17px;margin-bottom:14px;touch-action:pan-y}
.swipe-row .card{margin:0}
.swipe-face{position:relative;z-index:1;background:#171717;transition:transform .18s ease;will-change:transform}
.swipe-actions{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:stretch;background:#b83c35}
.swipe-delete{width:92px;border:0;border-radius:0;background:#b83c35;color:white;font-weight:700;font-size:14px}
.archive-fold{margin-top:25px;border-top:1px solid #292929;padding-top:17px}
.archive-fold>summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between}
.archive-fold>summary::-webkit-details-marker{display:none}
.archive-fold>summary:after{content:"⌄";color:#d6aa58;font-size:24px;font-weight:400;margin-left:12px}
.archive-fold[open]>summary:after{transform:rotate(180deg)}
.archive-fold>summary span{margin-left:auto;color:#888;font-size:12px;font-weight:500}
.archive-content{padding-top:16px}
.archive-content .card{background:#141414}
/* Pixel-registered anatomy; no floating CSS muscle shapes. */
.anatomy-canvas-wrap{width:100%;aspect-ratio:3/4;overflow:hidden}
.heat-canvas{display:block;width:100%;height:auto;aspect-ratio:3/4}
.heat-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}
.heat-summary>div{border:1px solid #303030;border-radius:14px;padding:14px 16px;background:#171717}
.heat-summary strong{display:block;font-size:25px;line-height:1.2;color:#e0b65f}
.heat-summary span{display:block;font-size:11px;color:#999;margin-top:5px}
.muscle-simple{margin-bottom:16px}
.muscle-simple-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}
.muscle-simple-head strong{color:#d6aa58;font-size:12px}
.muscle-simple .bar{height:6px}
.muscle-load-heading{display:flex;align-items:center;gap:10px;padding-right:42px}.muscle-load-heading .muscle-load-title{margin:0}.muscle-load-card,.heat-anatomy-section{position:relative}.heat-method-info{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid #5b4827;border-radius:50%;background:#17130d;color:#dfb45c;font:800 16px/1 Georgia,serif;display:grid;place-items:center;z-index:2}.heat-anatomy-section{padding-top:0}.heat-anatomy-section>.heat-method-info{top:0;right:0}.heat-anatomy-section>h2,.heat-anatomy-section>.eyebrow,.heat-anatomy-section>p{padding-right:48px}.heat-method-backdrop{position:fixed;inset:0;z-index:1450;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center}.heat-method-sheet{width:min(720px,100%);background:#111;border:1px solid #343434;border-radius:26px 26px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.55)}.heat-method-sheet .picker-handle{width:44px;height:5px;border-radius:99px;background:#4a4a4a;margin:2px auto 18px}.heat-method-sheet h2{margin:7px 0 9px}.heat-method-sheet p{color:#aaa;line-height:1.65;margin:18px 0 0;font-size:13px}@media(min-width:720px){.heat-method-backdrop{align-items:center;padding:24px}.heat-method-sheet{border-radius:26px;padding-bottom:24px}}


/* Beta 5 — focused, accessible interaction system */
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
button:disabled{opacity:.4;cursor:not-allowed}
button,select{touch-action:manipulation}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.dashboard-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.dashboard-shortcuts button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:16px;border:1px solid #292929;border-radius:15px;background:#111;color:#f5f5f5;min-height:105px}
.dashboard-shortcuts button>span{color:var(--gold);font-size:21px;line-height:1}
.dashboard-shortcuts strong{font-size:14px}
.dashboard-shortcuts small{color:#888;font-size:11px;line-height:1.4}
.dashboard-shortcuts button:active{background:#1b1915}
.plan-empty{border:1px dashed #34302a;border-radius:17px;padding:22px 20px;margin-top:16px}
.plan-empty p{font-size:13px;color:#999;line-height:1.6;margin:12px 0 18px}
.plan-empty .secondary{font-size:12px}
.muscle-role-panel{border:1px solid #302b23;border-radius:14px;padding:16px;margin:18px 0;background:#141310}
.muscle-role-panel>.muted{margin:10px 0 18px}
.muscle-role-panel .form-field{margin-bottom:14px}
.muscle-role-panel .form-field:last-of-type{margin-bottom:0}
.role-weight-note{display:flex;flex-wrap:wrap;gap:8px;color:#a88b55;font-size:11px;margin:4px 0 18px;line-height:1.5}
.role-weight-note span{color:#555}
.subtle-details{border-top:1px solid #292929;margin-top:16px;padding-top:15px}
.subtle-details>summary{cursor:pointer;color:#c6a365;font-size:12px;font-weight:700;line-height:1.5}
.subtle-details>p{margin:12px 0}
.weight-input{width:76px!important;text-align:right}
.progress-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.progress-overview .card{padding:17px}
.progress-overview .kpi{font-size:29px}
.progress-overview .eyebrow{font-size:9px;letter-spacing:2px}
.body-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.body-stats>div{border:1px solid #292929;border-radius:13px;padding:15px;background:#151515}
.body-stats span{display:block;color:#999;font-size:12px;margin-bottom:9px}
.body-stats strong{font-size:23px;letter-spacing:-.5px}
.body-period{margin:18px 0 22px}
.body-chart-section{margin-top:22px;padding-top:20px;border-top:1px solid #292929}
.body-chart-section>.row strong{font-size:14px}
.body-chart{margin-top:15px}
.body-chart svg{width:100%;height:150px;display:block;overflow:visible}
.chart-range,.chart-dates{display:flex;justify-content:space-between;color:#777;font-size:10px}
.chart-range{padding:0 20px}
.chart-dates{margin-top:4px}
.chart-empty{min-height:130px;display:flex;align-items:center;justify-content:center;text-align:center;color:#777;font-size:12px;line-height:1.6;padding:20px;border:1px dashed #292929;border-radius:12px;margin-top:15px}
.measurement-list{margin-top:14px}
.measurement-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #252525}
.measurement-row:last-child{border-bottom:0}
.measurement-row strong{font-size:12px}
.measurement-row .muted{margin-top:5px}
.progress-note{padding:0 3px;margin:0 0 20px}
.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.76);display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.dialog-backdrop[hidden]{display:none!important}
.body-dialog{width:100%;max-width:480px;background:#171717;border:1px solid #383838;border-radius:22px;padding:22px;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 20px 70px #0009}
.body-dialog h2{font-size:23px;margin:7px 0 0}
.body-dialog form{margin-top:20px}
.body-dialog .form-field{margin-bottom:16px}
.body-dialog .primary{margin-top:10px}
@media(min-width:600px){.dialog-backdrop{align-items:center}.body-dialog{padding:28px}}
@media(max-width:390px){.body-stats strong{font-size:20px}.workout-hero .hero-title{max-width:100%}.workout-hero .actions{display:grid;grid-template-columns:1fr 1fr}.workout-hero .actions button{min-width:0;padding:12px 8px;font-size:12px}.muscle-role-panel{padding:13px}}

.measurement-actions{display:flex;gap:6px;flex-shrink:0}.measurement-actions .mini{font-size:11px;padding:9px 10px}

/* Beta 6: native-feeling exercise library selector */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.picker-open{overflow:hidden}
.picker-backdrop{position:fixed;inset:0;z-index:110;background:#000b;display:flex;align-items:flex-end;justify-content:center}
.picker-backdrop[hidden],.picker-create-form[hidden]{display:none!important}
.picker-sheet{position:relative;display:flex;flex-direction:column;width:100%;max-width:720px;height:min(92dvh,900px);background:#111;border:1px solid #34302a;border-bottom:0;border-radius:24px 24px 0 0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}
.picker-handle{width:36px;height:4px;border-radius:4px;background:#444;margin:10px auto 0;flex-shrink:0}
.picker-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 14px}
.picker-heading h2{font-size:23px;letter-spacing:-.5px;margin:8px 0 6px}
.picker-heading p{color:#999;font-size:12px;line-height:1.5;margin:0}
.picker-heading .icon-close{flex-shrink:0}
.picker-controls{padding:0 20px 12px;flex-shrink:0}
.picker-search-wrap{display:block}
.picker-search-wrap input{width:100%;min-height:48px;border-radius:12px;background:#1b1b1b}
.picker-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.picker-filters select{width:100%;min-width:0;font-size:12px;min-height:42px;padding:8px 28px 8px 10px;background:#1b1b1b;border-radius:10px;text-overflow:ellipsis}
.picker-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 16px;-webkit-overflow-scrolling:touch}
.picker-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:14px 10px;border:0;border-bottom:1px solid #292929;background:transparent;color:#f5f5f5;border-radius:0;min-height:70px}
.picker-item.selected{background:#211c12;border-radius:11px;border-bottom-color:#4d3b1f}
.picker-check{width:23px;height:23px;flex:0 0 23px;border:1.5px solid #555;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#111}
.picker-item.selected .picker-check{background:var(--gold);border-color:var(--gold)}
.picker-item-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.picker-item-copy strong{font-size:14px;line-height:1.4}
.picker-item-copy small{font-size:11px;color:#999;line-height:1.45}
.picker-empty{text-align:center;padding:36px 12px;color:#aaa}
.picker-empty strong{color:#eee;font-size:15px}
.picker-empty p{font-size:12px;line-height:1.6}
.picker-footer{border-top:1px solid #303030;background:#151515;padding:12px 20px 14px;flex-shrink:0}
.picker-create-link{border:0;background:transparent;color:var(--gold);font-size:12px;font-weight:700;padding:4px 0 13px}
.picker-footer-actions{display:flex;align-items:center;gap:10px}
.picker-footer-actions button{font-size:12px;min-height:44px;padding:11px 14px}
.picker-footer-actions .primary{margin-left:auto}
#pickerCount{font-size:11px;color:#999;white-space:nowrap}
.picker-create-form{position:absolute;inset:0;z-index:2;background:#151515;padding:24px 20px;overflow-y:auto}
.picker-create-form h3{margin:0;font-size:21px}
.picker-create-form .form-field{margin-top:18px}
.picker-create-form .primary{margin-top:12px}
@media(min-width:720px){.picker-backdrop{align-items:center;padding:24px}.picker-sheet{height:min(85dvh,820px);border-radius:24px;border-bottom:1px solid #34302a;padding-bottom:0}}
@media(max-width:360px){.picker-heading{padding:14px 15px}.picker-controls,.picker-results{padding-left:15px;padding-right:15px}.picker-footer{padding-left:15px;padding-right:15px}.picker-footer-actions{gap:6px}.picker-footer-actions button{padding:10px;font-size:11px}#pickerCount{font-size:10px}}

.plan-management-actions{display:flex;flex-wrap:wrap;gap:8px}
.plan-management-actions button{white-space:normal;min-height:44px}
.picker-existing{color:#b89554!important;font-size:10px!important}
#newPlanForm{margin-top:20px}
#newPlanForm .actions{justify-content:flex-end;margin-top:22px}
@media(max-width:390px){.plan-management-actions{display:grid;grid-template-columns:1fr 1fr}.plan-management-actions .primary{grid-column:1/-1}.plan-management-actions button{font-size:12px;padding:12px 10px}}

/* Beta 7 — final heatmap UX pass */
.heat-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 14px;padding:4px;border:1px solid #2b2b2b;border-radius:14px;background:#111}
.heat-view-tabs button{min-height:44px;border:0;border-radius:10px;background:transparent;color:#aaa;font-size:13px;font-weight:700}
.heat-view-tabs button.active{background:var(--gold);color:#090909}
.heat-layout{display:block}
.heat-layout .anatomy-card{margin-bottom:0}
.muscle-simple-head strong{display:flex;gap:7px;align-items:baseline}
.muscle-simple-head strong small{color:#858585;font-size:10px;font-weight:600}
.muscle-simple.low .bar span{background:#be9137}.muscle-simple.moderate .bar span{background:#ebb03e}.muscle-simple.high .bar span{background:#ff7e23}.muscle-simple.very-high .bar span{background:#ff372a}
.heat-legend-clear{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px}
.heat-legend-clear>div{display:flex;align-items:flex-start;gap:6px;min-width:0}
.heat-legend-clear i{flex:0 0 20px;margin-top:4px}
.heat-legend-clear span{font-size:9px;color:#aaa;line-height:1.2}
.heat-legend-clear small{display:block;margin-top:3px;color:#666;font-size:8px;white-space:nowrap}
@media(max-width:390px){.heat-legend-clear i{flex-basis:14px}.heat-legend-clear span{font-size:8px}.heat-legend-clear small{font-size:7px}}

/* Beta 8: clean transparent anatomy assets */
.anatomy-card.anatomy-clean{background:transparent;padding:8px;border-color:#282828}
.anatomy-clean .anatomy-wrap{background:transparent!important;border-radius:16px;overflow:hidden}
.anatomy-clean .heat-canvas{background:transparent}
@media(max-width:430px){.anatomy-card.anatomy-clean{padding:4px}}


/* Beta 10: Progress Intelligence and balanced dashboard */
.dashboard-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.dashboard-tile{min-width:0;min-height:142px;margin:0;padding:17px;background:#111;border:1px solid #292929;border-radius:16px;color:#f5f5f5;text-align:left;display:flex;flex-direction:column;align-items:flex-start}
.dashboard-tile.wide{grid-column:1/-1}.dashboard-tile-button{width:100%}
.dashboard-tile strong{font-size:17px;line-height:1.25;margin:12px 0 6px}
.dashboard-tile small{display:block;color:#8e8e8e;font-size:11px;line-height:1.45;margin-top:auto}
.dashboard-tile .bar{width:100%;margin:12px 0}.tile-kpi{font-size:31px;font-weight:900;line-height:1;margin:12px 0 7px}
.heatmap-cta-tile{justify-content:flex-start}.heatmap-cta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:auto 0}
.heatmap-cta strong{margin:0;font-size:16px}.heatmap-cta span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#d4a853;color:#080808;font-size:22px;font-weight:900;flex:0 0 44px}
.nutrition-dashboard-tile{min-height:158px}.nutrition-tile-context{display:flex;flex-direction:column;gap:5px;margin:17px 0 14px}.nutrition-tile-context strong{margin:0;font-size:22px}.nutrition-tile-context small{margin:0}.nutrition-tile-cta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.nutrition-tile-cta strong{margin:0;font-size:16px}.nutrition-tile-cta span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#080808;font-size:22px;font-weight:900;flex:0 0 44px}.nutrition-tile-remaining{display:flex;flex-direction:column;gap:7px;margin:18px 0}.nutrition-tile-remaining strong{margin:0;font-size:25px;line-height:1.1}.nutrition-tile-remaining small{margin:0}.nutrition-tile-link{display:flex;align-items:center;gap:7px;margin-top:auto;color:var(--gold);font-size:12px;font-weight:800}.nutrition-tile-link span{font-size:17px}
.dashboard-empty{text-align:center}.dashboard-empty .actions{justify-content:center}
.block-card h2{font-size:21px;margin:7px 0 0}.block-bar{margin-top:22px;height:10px}
.block-meta{margin-top:10px;color:#8e8e8e;font-size:11px}.block-meta strong{color:#d4a853}
.block-date-action{display:flex;justify-content:flex-start;margin-top:10px}
.block-setup{margin-top:18px;padding-top:14px;border-top:1px solid #292929}.block-setup p{color:#aaa;font-size:12px;line-height:1.55}
.progress-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.metric-card{min-width:0;min-height:138px;padding:16px;background:#111;border:1px solid #292929;border-radius:16px;display:flex;flex-direction:column}
.metric-card>span{color:#d4a853;font-size:10px;font-weight:850;letter-spacing:1.5px;text-transform:uppercase}
.metric-card>strong{font-size:27px;line-height:1.1;margin:12px 0 8px}.metric-card>small{color:#8d8d8d;font-size:10px;line-height:1.45;margin-top:auto}
.insight-card{border-color:#57441f;background:linear-gradient(145deg,#17130c,#111)}.insight-card p{margin:10px 0 0;font-size:14px;line-height:1.6}
.body-stats small{display:block;margin-top:7px;color:#d4a853;font-size:10px}
.measurement-hint{padding:22px 15px;margin:16px 0;border:1px dashed #303030;border-radius:13px;color:#858585;text-align:center;font-size:12px;line-height:1.55}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
@media(max-width:390px){.dashboard-tile{min-height:132px;padding:14px}.tile-kpi{font-size:27px}.progress-metrics{gap:8px}.metric-card{padding:14px}.metric-card>strong{font-size:24px}.nutrition-dashboard-tile{min-height:150px}.nutrition-tile-remaining strong{font-size:22px}}

/* Beta 11: nutrition guidance, weekly planning and Padel log */
.nutrition-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 20px;padding:4px;border:1px solid #2b2b2b;border-radius:14px;background:#111}
.nutrition-tabs button{min-height:44px;border:0;border-radius:10px;background:transparent;color:#999;font-size:12px;font-weight:750;padding:8px 4px}
.nutrition-tabs button.active{background:var(--gold);color:#080808}
.nutrition-summary{background:linear-gradient(145deg,#17130b,#101010);border-color:#57441f}
.nutrition-kcal{display:flex;align-items:baseline;gap:8px}.nutrition-kcal strong{font-size:32px}.nutrition-kcal span{color:#999;font-size:12px}
.nutrition-main-bar{height:9px;margin:12px 0 18px}
.nutrition-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.nutrition-metric{margin-top:14px}.nutrition-metric .row span{color:#aaa;font-size:11px}.nutrition-metric .row strong{font-size:11px}.nutrition-metric .bar{height:6px;margin:7px 0 0}
.nutrition-suggestion h2{font-size:22px;line-height:1.25;margin:9px 0}.meal-stats{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.meal-stats span{padding:6px 8px;border-radius:8px;background:#211c12;color:#dcb45f;font-size:11px}
.suggestion-context{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.suggestion-context small{color:#888;font-size:10px}.day-type-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #755b23;border-radius:999px;background:#211b0f;color:#e0b557;font-size:10px;font-weight:850;letter-spacing:.5px}.day-type-badge.padel{border-color:#315d78;background:#10202a;color:#79bce5}.day-type-badge.double{border-color:#73502c;background:#26180d;color:#efa75e}.day-type-badge.rest{border-color:#3e5943;background:#122016;color:#82c38d}
.current-suggestion-label{margin-bottom:11px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:1.7px;text-transform:uppercase}.recommendation-portion{display:flex;align-items:center;gap:8px;margin:10px 0 2px;color:#888;font-size:10px}.recommendation-portion strong{margin:0;padding:5px 8px;border-radius:8px;background:#1b1b1b;color:#e6e6e6;font-size:11px}
.suggestion-actions{display:grid;gap:8px;margin-top:15px}.suggestion-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.suggestion-actions button{width:100%;min-width:0;min-height:48px;padding:11px 9px;white-space:normal;line-height:1.25;text-align:center}.suggestion-actions>.primary{min-height:52px;font-size:14px}
.nutrition-manual-capture{display:block;width:100%;min-height:44px;margin:-2px 0 8px;padding:9px 12px;border:0;background:transparent;color:var(--gold);font-weight:800;text-align:center}
.nutrition-date-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:12px}.nutrition-date-nav div{display:flex;flex-direction:column;gap:3px}.nutrition-date-nav small{color:#888;font-size:10px}.recipe-preview{display:grid;gap:7px;margin:14px 0}.recipe-preview>div{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;color:#aaa;font-size:11px;line-height:1.45}.recipe-preview b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#2b2416;color:var(--gold);font-size:10px}
.quick-food-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-food-grid button{min-height:48px;white-space:normal;text-align:left}
.food-log-list{padding-top:6px;padding-bottom:6px}.food-log-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #292929}.food-log-row:last-child{border-bottom:0}.food-log-row>div{min-width:0}.food-log-row strong{display:block;font-size:13px}.food-log-row small{display:block;color:#8f8f8f;font-size:10px;line-height:1.5;margin-top:4px}.food-log-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.capture-form .capture-preview{padding:14px;margin:4px 0 16px;border:1px solid #40361f;border-radius:12px;background:#17140e}.capture-preview small{display:block;color:#888;line-height:1.45}
.estimate-panel{margin:4px 0 16px;padding:14px;border:1px solid #5c4722;border-radius:13px;background:#17130c}.estimate-heading{align-items:flex-start;margin-bottom:12px}.estimate-heading small{display:block;color:#8f8f8f;font-size:10px;line-height:1.45;margin-top:5px}.estimate-tag{padding:5px 8px;border-radius:999px;background:#2b2111;color:#dfb45a;font-size:9px;font-weight:850;text-transform:uppercase}.save-library-option{display:flex;align-items:flex-start;gap:10px;padding:11px 0 2px;color:#c9c9c9;font-size:11px;line-height:1.4}.save-library-option input{width:20px;height:20px;accent-color:var(--gold);flex:0 0 20px}
.planner-week-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin:-4px 0 12px}.planner-week-nav strong{font-size:12px}.planner-copy{margin:0 0 12px;line-height:1.55}.planner-day{padding:14px 0;border-top:1px solid #292929}.planner-day.today{margin:0 -8px;padding:14px 8px;background:#16130d;border-radius:12px;border-top-color:transparent}.planner-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.planner-day-head span{color:#8e8e8e;font-size:11px}.planner-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.plan-chip{min-height:44px;border:1px solid #353535;border-radius:10px;background:#171717;color:#aaa;font-size:11px;font-weight:750;padding:7px 3px}.plan-chip.active{border-color:#82672d;color:#d9ae55;background:#211c12}.plan-chip.completed{background:var(--gold);border-color:var(--gold);color:#080808}.planner-complete{margin-top:7px;min-height:40px}.planner-note p{margin:9px 0 0;line-height:1.5}
.planner-day-head span b{color:#cda54f;font-weight:750}.next-week-cta{margin:-2px 0 14px}.recovery-warning{display:flex;flex-direction:column;gap:5px;margin-top:14px;padding:12px;border:1px solid #654929;border-radius:11px;background:#21170e}.recovery-warning strong{color:#e5ad68;font-size:12px}.recovery-warning span{color:#a99177;font-size:10px;line-height:1.45}.planning-reminder{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;border-color:#604b23;background:linear-gradient(145deg,#1d180e,#111)}.planning-reminder strong{display:block;margin-top:7px}.planning-reminder p{margin:7px 0 0;line-height:1.45}
.meal-library-card{width:100%;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin-bottom:8px;padding:14px 15px;border:1px solid #292929;border-radius:14px;background:#111;color:#f5f5f5}.meal-library-card strong{display:block;font-size:14px;line-height:1.35}.meal-library-card small{display:block;color:#8f8f8f;font-size:10px;margin-top:6px}.meal-library-card>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#211c12;color:var(--gold);font-size:21px;flex:0 0 40px}
.meal-detail-hero{margin:14px 0 10px;padding:20px;border:1px solid #57441f;border-radius:18px;background:linear-gradient(145deg,#20190c,#101010)}.meal-detail-hero h1{font-size:27px;line-height:1.18;margin:8px 0 18px}.portion-control{display:flex;align-items:center;gap:12px}.portion-control button{width:44px;height:44px;border-radius:50%;border:1px solid #3a3833;background:#171717;color:#fff;font-size:21px}.portion-control strong{min-width:100px;text-align:center}
.nutrition-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.nutrition-detail-grid>div{min-width:0;padding:13px;border:1px solid #292929;border-radius:14px;background:#111}.nutrition-detail-grid span{display:block;color:#8f8f8f;font-size:10px}.nutrition-detail-grid strong{display:block;margin-top:5px;font-size:18px}
.nutrition-estimate{margin:0 2px 12px;color:#777;font-size:10px;line-height:1.5}
.ingredient-list{margin-top:10px}.ingredient-list>div,.ingredient-list>label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #292929;font-size:12px}.ingredient-list>div:last-child,.ingredient-list>label:last-child{border-bottom:0}.ingredient-list strong{white-space:nowrap}.ingredient-list.selectable input{width:21px;height:21px;accent-color:var(--gold);flex:0 0 21px}.ingredient-list.selectable span{flex:1}.ingredient-title small{display:block;color:#888;margin-top:5px}.ingredient-select-actions{display:flex;gap:10px}.selected-shop-btn{margin-top:14px}.recipe-card{padding-bottom:12px}.recipe-steps{display:grid;gap:12px;padding-left:23px;margin:14px 0 4px;color:#ddd;font-size:12px;line-height:1.55}.recipe-steps li::marker{color:var(--gold);font-weight:800}
.shopping-category{margin:18px 3px 8px;color:var(--gold);font-size:10px;font-weight:850;letter-spacing:1.6px;text-transform:uppercase}.shopping-list{padding-top:4px;padding-bottom:4px}.shopping-row{display:flex;align-items:center;gap:11px;min-height:50px;border-bottom:1px solid #292929;font-size:12px}.shopping-row:last-child{border-bottom:0}.shopping-row input{width:22px;height:22px;accent-color:var(--gold);flex:0 0 22px}.shopping-row span{flex:1}.shopping-row strong{white-space:nowrap}.shopping-row:has(input:checked) span{text-decoration:line-through;color:#666}
.shopping-row .icon-action{width:30px;height:34px;padding:0;border:0;background:transparent;color:#999;font-size:16px}.shopping-row .danger-text{color:#bd6969}.shopping-clear{margin-top:16px}.form-section-label{margin:20px 0 8px}.compact-copy{margin:0 0 10px;font-size:10px}.nutrition-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.ingredient-form-row{display:grid;grid-template-columns:1.7fr .8fr .75fr 1.2fr;gap:6px;margin-bottom:8px}.ingredient-form-row input,.ingredient-form-row select{min-width:0;padding:10px 8px;font-size:11px}
.shopping-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid #386044;border-radius:12px;background:#112017;color:#8bcb98;font-size:11px}.shopping-notice .link-btn{color:#a5d8af;white-space:nowrap}
.calendar-day .calendar-marks{position:absolute;left:50%;bottom:4px;display:flex;gap:3px;transform:translateX(-50%)}.calendar-day .calendar-marks i,.calendar-legend i{position:static;width:5px;height:5px;transform:none;border-radius:50%;display:inline-block}.calendar-day .gym,.calendar-legend .gym{background:#d4a853}.calendar-day .padel,.calendar-legend .padel{background:#4e9ad8}.calendar-day .planned-dot,.calendar-legend .planned-dot{background:transparent;border:1px solid #777}.calendar-day.planned{color:#aaa;border:1px dashed #393939}.calendar-legend{display:flex;justify-content:center;gap:14px;margin-top:12px;color:#888;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:5px}.padel-history{border-color:#244969}.padel-history .history-duration{color:#6cb4ee}
@media(max-width:390px){.nutrition-tabs button{font-size:11px}.planner-actions{gap:4px}.plan-chip{font-size:10px}.quick-food-grid{grid-template-columns:1fr}.nutrition-detail-grid{gap:6px}.nutrition-metric-grid{grid-template-columns:1fr}.ingredient-form-row{grid-template-columns:1.5fr .8fr .7fr}.ingredient-form-row select{grid-column:1/-1}.food-log-row{align-items:flex-start}.food-log-actions{flex-direction:column;align-items:flex-end}.planning-reminder{grid-template-columns:1fr}.planning-reminder button{width:100%}.planner-day-head{align-items:flex-start}.planner-day-head span{text-align:right;max-width:52%}.shopping-notice{align-items:flex-start}.selected-shop-btn{white-space:normal;line-height:1.3;padding-block:11px}}

/* Beta 9: calendar training log and effective-load heatmap */
.log-calendar-card{padding:14px}.log-month-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;margin-bottom:12px}.log-month-head strong{text-transform:capitalize}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays span{text-align:center;color:#777;font-size:10px;padding:4px 0}.calendar-day{position:relative;min-height:42px;padding:7px 2px;border:0;border-radius:10px;background:transparent;color:#aaa}.calendar-day.trained{background:#d4a85322;color:#e4b75b;font-weight:800}.calendar-day.selected{background:#d4a853;color:#090909}.calendar-day i{position:absolute;left:50%;bottom:5px;width:4px;height:4px;transform:translateX(-50%);border-radius:50%;background:currentColor}.calendar-empty{min-height:42px}.log-month-summary{text-align:center;color:#888;font-size:12px;margin-top:12px}.selected-log-head,.history-card-top,.history-metrics{display:flex;align-items:center;justify-content:space-between;gap:10px}.selected-log-head{margin:18px 2px 8px}.history-duration{color:#d4a853;white-space:nowrap}.history-metrics{justify-content:flex-start;flex-wrap:wrap;color:#888;font-size:11px;margin:8px 0}.history-metrics span:not(:last-child)::after{content:" ·";margin-left:6px}.heat-summary-three{grid-template-columns:repeat(3,1fr)}

/* Beta 12 — Personalization, Control & Trust */
.dashboard-intro.row{align-items:flex-start}.dashboard-intro .page-title{margin-bottom:0}.dashboard-config{margin:4px 0 16px;border-color:#4e4024}.dashboard-order-actions{display:flex;align-items:center;gap:6px}.dashboard-order-actions .mini{min-width:38px}.dashboard-order-actions button:disabled{opacity:.28;cursor:default}.dashboard-tile-button{cursor:pointer}.dashboard-tile-button::after{content:"›";position:absolute;right:14px;top:13px;color:#6f6f6f;font-size:20px}.dashboard-tile{position:relative}.session-order{display:flex;gap:5px;flex:0 0 auto}.session-order button{width:34px;height:34px;border:1px solid #303030;border-radius:9px;background:#171717;color:#ccc}.calendar-day .activity,.calendar-legend .activity{background:#64a6d9}.activity-history{border-color:#294b62}.role-weight-note{color:#777}.measurement-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:390px){.dashboard-intro.row{gap:8px}.dashboard-intro .link-btn{font-size:11px}.session-order{gap:3px}.session-order button{width:31px;height:31px}.dashboard-order-actions{gap:4px}}

/* Beta 12.1 — direct manipulation, activity planner, meal planning */
.sortable-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;min-height:66px;border-top:1px solid var(--line,#292929);touch-action:pan-y}.sortable-row:first-child{border-top:0}.drag-handle{width:42px;height:42px;border:0;background:transparent;color:#d8aa4b;font-size:22px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.sortable-row.dragging,.sortable-exercise.dragging,.session-ex.dragging{opacity:.78;transform:scale(1.015);box-shadow:0 14px 38px rgba(0,0,0,.38);z-index:20}.is-sorting{overscroll-behavior:none}.dashboard-hidden{margin-top:10px;opacity:.68}.drag-placeholder{width:42px}.sortable-exercise .row.top{display:grid;grid-template-columns:42px 1fr auto;align-items:center}.exercise-copy{min-width:0}.exercise-drag{margin-left:-8px}.session-ex-head{display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;gap:8px}.session-drag{margin-left:-8px}.activity-picker{border-color:rgba(220,170,72,.55);margin:18px 0}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.activity-choice{min-height:88px;border:1px solid #303030;border-radius:18px;background:#141414;color:#f4f4f4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:14px;gap:8px;text-align:left}.activity-choice span{font-size:26px;color:#dfae4e}.activity-choice strong{font-size:16px}.activity-library{margin-top:18px}.activity-library summary,.tomorrow-plan summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.activity-library summary::-webkit-details-marker,.tomorrow-plan summary::-webkit-details-marker{display:none}.activity-library summary>span:first-child,.tomorrow-plan summary>span:first-child{display:flex;flex-direction:column;gap:5px}.activity-mini-icon{color:#dfae4e;font-size:20px}.planned-activities{margin:12px 0}.planned-activity-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #282828}.planned-activity-row:last-child{border-bottom:0}.day-meal-plan{margin-top:18px}.planned-meal-list{margin-top:14px}.planned-meal-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #292929}.planned-meal-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.planned-meal-row span{font-size:12px;color:#d9aa4c;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.planned-meal-row strong{font-size:16px}.planned-meal-row small{color:#909090}.tomorrow-plan{margin:16px 0;border:1px solid #2a2a2a;border-radius:18px;padding:18px;background:#101010}.tomorrow-plan>.day-meal-plan{border:0;margin:14px -4px -4px;background:#0d0d0d}.progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:430px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planned-meal-row{grid-template-columns:1fr}.planned-meal-row .mini{justify-self:start}.progress-metrics{grid-template-columns:1fr 1fr}.metric-card{min-width:0}.metric-card strong{font-size:25px}}

/* Beta 12.1.1 — tactile sorting + persisted dashboard personalization */
.dashboard-ordered-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.dashboard-ordered-grid>.dashboard-span-2,.dashboard-ordered-grid>.workout-hero{grid-column:1/-1}.dashboard-ordered-grid>.nutrition-dashboard-tile{grid-column:1/-1}.dashboard-config-overlay{position:fixed;inset:0;z-index:900;background:rgba(5,7,8,.96);overflow:auto;-webkit-overflow-scrolling:touch;padding:max(22px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.dashboard-config-sheet{max-width:720px;margin:0 auto}.dashboard-config-head{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;margin-bottom:32px}.dashboard-config-head h2{margin:5px 0 0;font-size:30px}.config-close{width:44px;height:44px;border:0;background:transparent;color:#f5f5f5;font-size:40px;font-weight:200;line-height:1}.dashboard-sort-card{min-height:78px;margin:10px 0;padding:0 10px;border:1px solid #303235!important;border-radius:18px;background:linear-gradient(135deg,#202326,#17191b);transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.dashboard-sort-card .drag-handle{order:3;color:#eee}.dashboard-sort-card strong{order:2}.dashboard-sort-card .toggle{order:1}.dashboard-hidden .dashboard-sort-card{opacity:.5}.dashboard-save{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));width:100%;margin-top:24px;z-index:3}.sort-source{opacity:.12!important}.sort-placeholder{margin:10px 0;border:1px dashed rgba(216,170,75,.55);border-radius:18px;background:rgba(216,170,75,.08);transition:height .16s ease}.sort-ghost{position:fixed!important;z-index:1200!important;margin:0!important;pointer-events:none;opacity:.94!important;transform:scale(1.025) rotate(.2deg);box-shadow:0 22px 55px rgba(0,0,0,.55)!important;transition:none!important}.is-sorting{overflow:hidden;touch-action:none}.save-feedback{position:fixed;inset:0;z-index:1500;background:rgba(7,9,10,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;transition:opacity .2s ease;text-align:center;padding:24px}.save-feedback.show{opacity:1}.save-feedback-check{width:96px;height:96px;border:6px solid #1fe59a;border-radius:50%;display:grid;place-items:center;color:#1fe59a;font-size:54px}.save-feedback strong{text-transform:uppercase;letter-spacing:.16em;font-size:20px}.save-feedback span{color:#8d8d8d;font-size:16px}.sortable-row,.sortable-exercise,.session-ex{transition:transform .16s ease,opacity .16s ease}.drag-handle{touch-action:none;-webkit-touch-callout:none}
@media(max-width:430px){.dashboard-config-overlay{padding-inline:14px}.dashboard-config-head h2{font-size:27px}.dashboard-ordered-grid{gap:10px}}


/* Beta 12.1.2 — UX & Data Integrity */
.top-back{width:44px;height:44px;border:1px solid #2d2d2d;border-radius:14px;background:#121212;color:#f4f4f4;font-size:36px;font-weight:300;line-height:36px;display:grid;place-items:center;padding:0;touch-action:manipulation}.top-back[hidden]{display:none}.header-spacer{display:flex;align-items:center;justify-content:flex-start;min-width:44px}
.activity-sheet-backdrop{position:fixed;inset:0;z-index:1250;background:rgba(0,0,0,.66);display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top)}.activity-sheet{width:min(720px,100%);background:#111;border:1px solid #343434;border-radius:26px 26px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.5)}.activity-sheet .picker-handle{width:44px;height:5px;border-radius:99px;background:#4a4a4a;margin:2px auto 18px}.activity-sheet h2{margin:6px 0 2px;font-size:27px}.activity-field{padding:18px 0;border-top:1px solid #292929}.activity-field>span{display:block;color:#999;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.duration-picker{display:grid;grid-template-columns:56px 1fr 56px;gap:10px;align-items:center}.duration-picker button{height:50px;border:1px solid #333;border-radius:14px;background:#181818;color:#eee;font-size:24px}.duration-picker strong{text-align:center;font-size:22px}.intensity-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.intensity-picker button{min-height:54px;border:1px solid #333;border-radius:14px;background:#181818;color:#aaa;font-weight:700}.intensity-picker button.active{border-color:#d9aa4c;background:#d9aa4c;color:#090909}.session-drag{touch-action:none!important;-webkit-touch-callout:none}.session-ex.sort-source{opacity:.12}.session-ex.sort-ghost{border-radius:18px;background:#151515}

/* Beta 12.1.3 — nutrition flow & consistency */
.planned-meal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.planned-meal-row.is-eaten{background:linear-gradient(90deg,rgba(80,170,115,.08),transparent);margin-inline:-10px;padding-inline:10px;border-radius:12px}.planned-meal-row.is-eaten .planned-meal-copy>span,.planned-meal-row.is-eaten .planned-meal-copy>strong{color:#dfeee4}.meal-eaten-btn{white-space:nowrap}.nutrition-live-note{margin:16px 0 0;color:#7f837f;font-size:11px;line-height:1.45}.nutrition-week-overview{padding:4px 16px}.nutrition-week-day{width:100%;display:grid;grid-template-columns:1fr auto 18px;gap:12px;align-items:center;padding:15px 0;border:0;border-bottom:1px solid #292929;background:transparent;color:inherit;text-align:left}.nutrition-week-day:last-child{border-bottom:0}.nutrition-week-day>div{display:flex;flex-direction:column;gap:4px}.nutrition-week-day>div:nth-child(2){text-align:right}.nutrition-week-day small{color:#8f8f8f}.nutrition-week-day.today>div:first-child strong{color:var(--gold)}
@media(max-width:430px){.planned-meal-actions{justify-content:flex-start}.planned-meal-row{grid-template-columns:1fr}.nutrition-week-day{grid-template-columns:1fr auto 14px}.nutrition-week-day>div:nth-child(2) strong{font-size:12px}}

/* Beta 12.1.4 — reversible nutrition states */
.eaten-actions{justify-content:flex-end}.subtle-danger{border-color:#47302f!important;color:#caa09c!important;background:#151212!important}.confirm-sheet-backdrop{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.7);display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top)}.confirm-sheet{width:min(720px,100%);background:#111;border:1px solid #343434;border-radius:26px 26px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.55)}.confirm-sheet .picker-handle{width:44px;height:5px;border-radius:99px;background:#4a4a4a;margin:2px auto 18px}.confirm-sheet h2{margin:8px 0 10px;font-size:27px}.confirm-sheet p{margin:0;color:#aaa;line-height:1.55}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.danger-confirm{min-height:50px;border:1px solid #7b3834;border-radius:14px;background:#2a1514;color:#f2c5c1;font-weight:800}.food-log-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:430px){.eaten-actions{justify-content:flex-start}.confirm-sheet{padding-inline:18px}}

/* Beta 12.1.5 — dynamic muscle-load overview */
.muscle-load-card{overflow:hidden}
.muscle-load-title{font-size:21px;line-height:1.2;margin:8px 0 0}
.muscle-load-sub{margin:7px 0 8px}
.muscle-radar-wrap{max-width:390px;margin:4px auto 0;padding:4px 0 0}
.muscle-radar{display:block;width:100%;height:auto;overflow:visible}
.radar-grid polygon,.radar-grid line{fill:none;stroke:#343434;stroke-width:1}
.radar-grid polygon:nth-child(2){opacity:.82}.radar-grid polygon:nth-child(3){opacity:.65}.radar-grid polygon:nth-child(4){opacity:.48}
.radar-load{fill:rgba(214,170,88,.18);stroke:#d6aa58;stroke-width:2.5;stroke-linejoin:round;transform-origin:150px 142px;animation:radarIn .32s ease-out both}
.radar-dots circle{fill:#e0b65f;animation:radarFade .34s ease-out both}
.radar-labels{fill:#e8e8e8;font-size:11px;font-weight:750;letter-spacing:.1px}
@keyframes radarIn{from{opacity:.25;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes radarFade{from{opacity:0}to{opacity:1}}
.muscle-load-insights{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}
.muscle-load-insights>div{border:1px solid #2d2d2d;border-radius:13px;background:#151515;padding:13px 14px;min-width:0}
.muscle-load-insights span{display:block;color:#858585;font-size:9px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:7px}
.muscle-load-insights strong{display:block;font-size:12px;line-height:1.45;color:#f1f1f1}
@media(max-width:390px){.muscle-load-insights{grid-template-columns:1fr}.radar-labels{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.radar-load,.radar-dots circle{animation:none!important}}

/* Beta 12.2.1 — Consumer navigation & clarity */
.calendar-day.today:not(.selected){outline:2px solid #d4a853;outline-offset:-2px;color:#f0c566}.heat-period-nav{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;text-align:center;margin:10px 0 14px}.heat-period-nav strong{font-size:13px}.heat-period-nav button:disabled{opacity:.25}.muscle-load-card{margin-top:14px}.plan-summary-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.plan-summary-chips span{border:1px solid #343434;border-radius:999px;padding:8px 12px;color:#aaa;font-size:12px}.plan-progress-head{display:flex;justify-content:space-between;gap:10px;margin:20px 0 8px;font-size:12px}.plan-progress-head span{color:#777}.plan-next-card{margin-top:24px;border-color:#6d5320;display:flex;justify-content:space-between;align-items:center;gap:14px}.plan-next-card h2{margin:8px 0 4px}.plan-structure-head{align-items:end}.plan-read-card{width:100%;text-align:left;padding:18px;margin-bottom:10px}.plan-read-head{display:grid;grid-template-columns:48px 1fr 24px;gap:12px;align-items:center}.plan-day-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#2a210f;color:#d4a853;font-weight:900}.plan-read-head strong{display:block;font-size:20px}.plan-read-head small{display:block;color:#777;margin-top:4px}.plan-chevron{color:#777;font-size:18px}.plan-exercise-preview{margin:16px 0 0 60px;border-top:1px solid #292929}.plan-exercise-preview>div,.session-set-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #292929;color:#bbb}.plan-exercise-preview strong,.session-set-list strong{color:#888;white-space:nowrap}.session-detail-date{margin-top:-10px}.session-summary{margin-top:18px}.session-volume{display:flex;justify-content:space-between;align-items:center}.session-volume span{color:#888}.session-volume strong{font-size:20px}.session-detail-ex{padding:16px}.session-ex-title{display:flex;gap:12px;align-items:center}.session-ex-title span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2a210f;color:#d4a853;font-weight:800}.session-set-list{margin:10px 0 0 42px}
@media(max-width:560px){.plan-next-card{align-items:flex-start;flex-direction:column}.plan-next-card button{width:100%}.plan-progress-head{flex-direction:column;gap:3px}.plan-exercise-preview{margin-left:0}.session-set-list{margin-left:0}}
/* Beta 12.3 — Consumer System & Consistency */
.workout-hero{background:radial-gradient(circle at 92% 0,rgba(214,166,72,.18),transparent 34%),linear-gradient(145deg,#17150f,#101010 68%);border-color:#5d481d}.dashboard-tile-button::after{content:"›"}.heatmap-cta,.nutrition-tile-cta,.nutrition-tile-link{display:none!important}.mini-radar{height:112px;margin:-8px 0 -12px;overflow:hidden}.mini-radar .muscle-radar-wrap{max-width:145px;margin:0 auto}.mini-radar .radar-labels{display:none}.mini-radar .muscle-radar{height:145px}.tile-state{display:block;margin-top:26px;font-size:18px}.plan-read-head strong,.unit-detail-card strong{color:#f3f3f3!important}.unit-context{margin-top:-12px}.unit-detail-card{margin-top:22px}.unit-exercise-list{margin-left:0}.unit-plan-link{display:block;margin:18px auto;text-align:center}.rest-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#d4a853;font-weight:800;margin:12px 2px 8px}.activity-library-sheet{max-height:88vh;overflow:auto}.activity-search{margin:8px 0 18px}.activity-library-label{margin:18px 0 6px;color:#858585;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.activity-library-row{width:100%;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:10px;padding:14px 4px;border:0;border-bottom:1px solid #252525;background:transparent;color:#f3f3f3;text-align:left}.activity-library-row strong{font-size:16px}.activity-library-row>span:last-child{color:#666}.activity-sport-icon{width:36px;height:36px;border:1px solid #303030;border-radius:11px;display:grid;place-items:center;color:#e0ad4c;font-size:20px}.activity-library-row.own{margin-top:8px}.progress-hero{border-color:#4d3d1c}.progress-personal-grid{margin-top:14px}.progress-body-detail h2{margin:6px 0 0}.calendar-legend{font-size:9px;gap:10px}

/* Beta 12.3.2 — radar visual polish & heatmap information hierarchy */
.radar-load{fill:rgba(214,170,88,.28);stroke:#d6aa58;stroke-width:2.7}
.mini-radar{height:118px;margin:2px 0 4px;display:grid;place-items:center;overflow:hidden}
.mini-radar .muscle-radar-wrap{width:126px;max-width:126px;margin:0 auto;padding:0}
.mini-radar .muscle-radar{width:126px;height:123px}
.mini-radar .radar-grid polygon,.mini-radar .radar-grid line{stroke:#303030}
.mini-radar .radar-load{fill:rgba(214,170,88,.32);stroke-width:3}
.heatmap-cta-tile small{display:block;line-height:1.35;margin-top:2px}
.heatmap-cta-tile small strong{display:inline;color:#f1f1f1}
.muscle-load-primary{margin-top:16px}
.heat-anatomy-section{margin-top:26px}
.heat-anatomy-section>h2{margin:7px 0 4px;font-size:21px}
.heat-anatomy-section>p{margin:0 0 14px}


/* Beta 12.3.3 — UX consistency & navigation polish */
:root{--dashboard-tile-h:166px}
.dashboard-ordered-grid>.dashboard-tile{height:var(--dashboard-tile-h);min-height:var(--dashboard-tile-h);max-height:var(--dashboard-tile-h);box-sizing:border-box;overflow:hidden}
.dashboard-ordered-grid>.nutrition-dashboard-tile{min-height:var(--dashboard-tile-h);height:var(--dashboard-tile-h);max-height:var(--dashboard-tile-h)}
.dashboard-ordered-grid>.dashboard-span-2:not(.workout-hero){height:var(--dashboard-tile-h)}
.heatmap-cta-tile{align-items:stretch!important}
.heatmap-cta-tile>.eyebrow{align-self:flex-start}
.heatmap-cta-tile .mini-radar{height:88px;margin:-2px 0 -1px;width:100%;display:flex;align-items:center;justify-content:center;overflow:visible}
.heatmap-cta-tile .mini-radar .muscle-radar-wrap{width:108px;max-width:108px;margin:0 auto!important;padding:0;display:flex;justify-content:center}
.heatmap-cta-tile .mini-radar .muscle-radar{display:block;width:108px;height:105px;margin:0 auto}
.heatmap-cta-tile small{width:100%;margin-top:auto!important;text-align:left;white-space:normal}
.heatmap-cta-tile .radar-load{fill:rgba(214,170,88,.38);stroke:#e1b65d;stroke-width:3.2}
.heatmap-cta-tile .radar-grid polygon,.heatmap-cta-tile .radar-grid line{stroke:#393939;stroke-width:1.15}
.activity-sport-icon,.activity-mini-icon{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-emoji:text;font-style:normal}
.activity-sport-icon{font-size:19px;color:#e0ad4c;background:#151515}
.plan-edit-basics{margin-top:18px}.plan-edit-basics .form-field{margin-bottom:0}.plan-edit-basics details{margin-top:16px}
.plan-edit-section{margin-top:28px;align-items:end}.plan-edit-section h2{margin:5px 0 0}.plan-edit-units{display:grid;gap:10px}
.plan-edit-unit{width:100%;margin:0;display:grid;grid-template-columns:46px 1fr 24px;gap:12px;align-items:center;text-align:left;padding:16px 18px}
.plan-edit-unit>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:4px}.plan-edit-unit strong{font-size:18px;color:#f3f3f3}.plan-edit-unit small{font-size:12px;color:#858585}
.editor-context{margin-top:-10px;margin-bottom:18px}
@media(max-width:390px){:root{--dashboard-tile-h:158px}.heatmap-cta-tile .mini-radar{height:82px}.heatmap-cta-tile .mini-radar .muscle-radar{width:100px;height:98px}}

/* Beta 12.3.4 — Consumer consistency & journey audit */
.activity-icon{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;color:#d9aa4c;vertical-align:middle}
.activity-icon svg{display:block;width:100%;height:100%}
.activity-sport-icon{width:36px;height:36px;border:1px solid #303030;border-radius:11px;background:#151515;padding:7px;font-size:0}
.activity-mini-icon{width:28px;height:28px;padding:4px}
.activity-row-icon{width:30px;height:30px;padding:3px}
.activity-title-icon{width:30px;height:30px;margin-right:9px}
.activity-editor-title,.activity-history-title{display:flex;align-items:center;gap:8px}
.planned-activity-row{grid-template-columns:36px 1fr auto auto!important;align-items:center}
.tile-plan-name{display:block;color:#a5a5a5;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;padding-right:18px}
.progress-week-kpi{margin-top:2px!important}
.heat-period-tabs-four{grid-template-columns:repeat(4,1fr)!important}
.heat-period-tabs-four button{padding-left:6px!important;padding-right:6px!important;font-size:13px}
/* The dashboard radar is a compact signal, not a second full chart. Keep it calm and centered. */
.heatmap-cta-tile .mini-radar{height:76px;margin:3px 0 2px}
.heatmap-cta-tile .mini-radar .muscle-radar-wrap{width:92px;max-width:92px}
.heatmap-cta-tile .mini-radar .muscle-radar{width:92px;height:90px}
.heatmap-cta-tile .radar-load{fill:rgba(214,170,88,.30);stroke:#dfb257;stroke-width:2.6}
.heatmap-cta-tile .radar-dots circle{r:2.5px}
.session-sort-placeholder{margin:12px 0;background:rgba(216,170,75,.07)}
.session-sort-ghost{background:#151515!important;border:1px solid rgba(216,170,75,.55)!important;border-radius:18px!important;box-shadow:0 24px 60px rgba(0,0,0,.62)!important;opacity:.96!important;max-height:360px;overflow:hidden}
.session-sort-ghost input,.session-sort-ghost textarea,.session-sort-ghost button:not(.drag-handle){pointer-events:none}
@media(max-width:390px){.heatmap-cta-tile .mini-radar{height:72px}.heatmap-cta-tile .mini-radar .muscle-radar{width:88px;height:86px}.heat-period-tabs-four button{font-size:12px}}

/* Beta 12.3.5 — Pilot Polish & Block Lifecycle */
.next-block-tile{border-color:#66501f!important;background:radial-gradient(circle at 88% 0,rgba(214,170,88,.16),transparent 42%),linear-gradient(145deg,#17150f,#111)}
.next-block-card{margin-top:18px;border-color:#57451f;background:linear-gradient(145deg,#17150f,#101010)}
.next-block-card h2,.next-block-why h2{margin:7px 0 8px}.next-block-card p{color:#aaa;line-height:1.5}
.next-block-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.next-block-meta span,.plan-summary-chips span{border:1px solid #303030;background:#171717;border-radius:999px;padding:7px 10px;color:#c8c8c8;font-size:12px}
.next-block-why{margin:18px 0}.reason-row{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:10px 0;border-top:1px solid #272727}.reason-row:first-of-type{margin-top:8px}.reason-row span{color:#d6aa58;font-weight:900}.reason-row p{margin:0;color:#bbb;line-height:1.45}
.next-block-confirm{margin-top:18px}.scheduled-note{margin-top:18px;border-color:#3f513d}.scheduled-note strong{display:block;margin-bottom:6px}.scheduled-note p{margin:0}
.lifecycle-notice-backdrop{position:fixed;inset:0;z-index:1450;background:rgba(0,0,0,.7);display:flex;align-items:flex-end;justify-content:center}.lifecycle-notice{width:min(720px,100%);border-radius:26px 26px 0 0!important;margin:0!important;padding:10px 20px calc(22px + env(safe-area-inset-bottom))!important}.lifecycle-notice .picker-handle{width:44px;height:5px;border-radius:99px;background:#4a4a4a;margin:2px auto 18px}.lifecycle-notice h2{margin:7px 0 9px}.lifecycle-notice p{line-height:1.5}.lifecycle-notice .actions{margin-top:20px}
/* Shared consumer form hierarchy */
.body-dialog,.picker-sheet,.activity-sheet,.confirm-sheet{background:#111;border-color:#343434}.body-dialog h2,.picker-sheet h2,.activity-sheet h2,.confirm-sheet h2{letter-spacing:-.02em}.form-field label{font-size:12px;letter-spacing:.08em;color:#aaa}.form-field input,.form-field select,.form-field textarea{min-height:48px;border-radius:13px}
/* Calm mini radar: summary, not analytics */
.mini-radar{height:112px;margin:5px 0 3px}.mini-radar .muscle-radar-wrap{width:116px;max-width:116px}.mini-radar .muscle-radar{width:116px;height:112px}.mini-radar .radar-grid polygon:nth-child(3),.mini-radar .radar-grid polygon:nth-child(4){opacity:.28}.mini-radar .radar-grid line{opacity:.42}.mini-radar .radar-dots{display:none}
/* Beta 12.3.6 — Consumer Experience & Data Continuity */
.exercise-note-field small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4}
.completion-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(224,174,76,.14);border:1px solid rgba(224,174,76,.55);color:var(--gold);font-size:28px;font-weight:900;margin:8px 0 16px}
.workout-block-context{display:flex;flex-direction:column;gap:5px}.workout-block-context strong{font-size:19px}.workout-block-context small{color:var(--muted)}
.summary-actions{display:grid;gap:10px;margin-top:22px;padding-bottom:20px}
.history-card-button{width:100%;text-align:left;color:inherit;font:inherit}.history-open{font-size:28px;color:var(--gold);line-height:1}.history-card-button small{display:block;color:var(--muted);margin-top:5px}
.metric-card-button{appearance:none;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.metric-card-button>span:first-child{display:flex;justify-content:space-between;align-items:center;width:100%}.metric-chevron{font-size:25px;color:var(--gold);font-weight:500}
.detail-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.detail-kpis>div{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--card)}.detail-kpis span,.detail-kpis small{display:block;color:var(--muted)}.detail-kpis strong{display:block;font-size:27px;margin:7px 0}
.pr-detail{display:flex;align-items:center;justify-content:space-between;gap:14px}.pr-detail div{display:grid;gap:5px}.pr-detail small{color:var(--muted)}.pr-detail b{color:var(--gold);white-space:nowrap}.detail-big{display:block;font-size:44px;color:var(--gold);margin-bottom:8px}

/* Beta 12.3.7 — UX Refinement & Pilot Hardening */
.exercise-note-field{margin-bottom:0}.exercise-note-field textarea{margin-bottom:0}
.week-status-list{display:grid;gap:10px;margin:18px 0}.week-status-card{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:16px;border:1px solid #2b2b2b;border-radius:16px;background:#111;color:inherit;text-align:left}.week-status-card>div{min-width:0;display:flex;flex-direction:column;gap:4px}.week-status-card small{color:#8e8e8e;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.week-status-card strong{font-size:17px;line-height:1.25}.week-status-card div>span{color:#8e8e8e;font-size:12px}.week-status-card>b{color:var(--gold);font-size:25px}.status-check,.status-ring,.status-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.status-check{background:var(--gold);color:#080808;font-weight:900}.status-ring{border:1px solid #555}.status-dot{border:1px solid #7b622e}.status-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}.week-status-card.completed{border-color:#3a3323}.week-status-card.planned{background:#12110e}
.analytics-hero{margin-bottom:14px}.analytics-hero .detail-big{display:block}.analytics-bars{display:grid;gap:11px;margin-top:18px}.analytics-bar-row{display:grid;grid-template-columns:52px minmax(0,1fr) 62px;gap:10px;align-items:center;font-size:11px;color:#999}.analytics-bar-row>div{height:8px;background:#242424;border-radius:99px;overflow:hidden}.analytics-bar-row i{display:block;height:100%;min-width:2px;border-radius:99px;background:var(--gold)}.analytics-bar-row strong{text-align:right;color:#ddd;font-size:11px}.consistency-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.consistency-week{min-width:0;border:1px solid #303030;border-radius:13px;padding:11px 8px;display:flex;flex-direction:column;gap:5px}.consistency-week span{color:var(--gold);font-size:10px;font-weight:850}.consistency-week strong{font-size:18px}.consistency-week small{font-size:9px;color:#888;line-height:1.25}.consistency-week.complete{border-color:#5a4722;background:#15130e}.consistency-week.future{opacity:.48}.analytics-context{display:flex;flex-direction:column;gap:5px}.analytics-context>span{color:#999;font-size:11px}.analytics-context>strong{font-size:19px}.analytics-context>small{color:#858585;line-height:1.4}
/* Mobile-first responsive hardening */
html,body{max-width:100%;overflow-x:hidden}.app-shell,.session-sheet{width:100%;min-width:0}.card,.dashboard-tile,.metric-card,.history-card,.week-status-card{min-width:0;overflow-wrap:anywhere}button,input,select,textarea{max-width:100%}.session-sheet{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
@media(max-width:359px){.progress-metrics,.progress-personal-grid{grid-template-columns:1fr!important}.metric-card{min-height:118px}.session-metrics{gap:8px}.rest-actions{gap:6px}.rest-actions button{padding-inline:5px;font-size:12px}.session-ex{padding-inline:12px}.set-row{gap:6px}.consistency-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-kpis{grid-template-columns:1fr}.analytics-bar-row{grid-template-columns:46px minmax(0,1fr) 54px}.page-title{overflow-wrap:anywhere}}
@media(min-width:431px) and (max-width:599px){.app-shell{padding-left:22px;padding-right:22px}}
@media(min-width:600px){.app-shell{width:min(100%,760px);margin-inline:auto;padding-left:28px;padding-right:28px}.session-sheet{width:min(100%,760px);margin-inline:auto}.progress-metrics{gap:14px}.consistency-weeks{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:900px){.app-shell{width:min(100%,820px)}.session-sheet{width:min(100%,820px)}}
@media(orientation:landscape) and (max-height:520px){.session-sticky{position:relative}.session-sheet{padding-top:12px}.dashboard-config-sheet,.picker-sheet,.activity-sheet,.confirm-sheet{max-height:94dvh;overflow:auto}}

/* Beta 12.3.8 — Insight & Journey Polish */
.session-compact-summary{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 10px}.session-compact-summary span{border:1px solid #303030;background:#121212;border-radius:999px;padding:8px 11px;color:#999;font-size:12px}.session-compact-summary b{color:#eee;font-size:13px}.session-block-line{color:#999;font-size:12px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #242424}.completion-mark.compact{width:46px;height:46px;font-size:24px;margin-bottom:13px}.compact-section-head{margin-top:12px}.session-detail-exercises.compact{display:grid;gap:9px}.session-detail-ex.compact{padding:14px;margin:0}.session-set-chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0 42px}.session-set-chips span{padding:6px 9px;border-radius:10px;background:#181818;color:#d0d0d0;font-size:12px}.session-set-chips small{color:#777;margin-right:3px}.summary-actions.compact{margin-top:14px}.body-goal-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;border:1px solid #3b321f;background:#15130e;border-radius:17px;padding:14px;margin:14px 0 18px}.body-goal-strip>div{display:grid;gap:4px}.body-goal-strip span{color:#8e8e8e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.body-goal-strip strong{font-size:13px}.body-history-list{display:grid;gap:8px}.body-history-row{width:100%;display:grid;grid-template-columns:100px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:14px 16px;border:1px solid #2c2c2c;border-radius:15px;background:#111;color:inherit;text-align:left}.body-history-row time{font-weight:800}.body-history-row>div{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.body-history-row>div span{background:#181818;border-radius:9px;padding:6px 8px;color:#999;font-size:11px}.body-history-row>div b{color:#ddd}.analytics-insight{margin-top:14px;padding-top:13px;border-top:1px solid #2b2b2b;color:#aaa;font-size:12px;line-height:1.5}.analytics-insight b{color:#e3e3e3}
@media(max-width:390px){.body-goal-strip{grid-template-columns:1fr 1fr}.body-goal-strip>button{grid-column:1/-1}.body-history-row{grid-template-columns:86px minmax(0,1fr) 16px;padding-inline:12px}.session-set-chips{margin-left:0}.session-ex-title{align-items:flex-start}}

/* Beta 12.4.9 — performance progress detail */
.performance-list{display:grid;gap:0;margin-top:10px}.performance-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.performance-row:last-child{border-bottom:0}.performance-row>div:first-child{min-width:0}.performance-row strong{display:block}.performance-row small{display:block;color:var(--muted);margin-top:4px}.performance-result{text-align:right;flex:0 0 auto}.performance-result.improved>strong{color:var(--gold)}.performance-result.stable>strong{color:var(--text)}.performance-result.lower>strong{color:var(--muted)}
@media(max-width:390px){.performance-row{align-items:flex-start}.performance-result small{font-size:12px}}

/* Beta 12.4.9 — Local UX Validation */
.planner-quick-actions{margin:10px 0 14px}
.week-status-wrap{margin-bottom:10px}
.week-status-wrap .week-status-card{margin-bottom:0}
.week-exercise-preview{border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;padding:8px 14px 12px;background:rgba(255,255,255,.018)}
.week-exercise-preview>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.week-exercise-preview>div:last-of-type{border-bottom:0}.week-exercise-preview small{color:var(--muted)}
.pr-hero{text-align:center;padding:22px}.pr-hero strong{display:block;font-size:40px;line-height:1;color:var(--gold);margin-bottom:6px}.pr-hero span,.pr-hero small{display:block}
.pr-grid{display:grid;gap:10px}.pr-achievement{display:grid;grid-template-columns:auto 1fr auto;gap:10px 12px;align-items:center}.pr-achievement>b{font-size:18px;color:var(--gold)}.pr-achievement>span{grid-column:2/-1;color:var(--muted);font-size:12px}
.pr-badge{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(214,170,88,.13);border:1px solid rgba(214,170,88,.45);color:var(--gold);font-size:11px;font-weight:800}
.free-add-exercise{margin:0 0 12px}.free-duplicate-ex{margin-top:8px}
@media(max-width:359px){.pr-achievement{grid-template-columns:auto 1fr}.pr-achievement>b,.pr-achievement>span{grid-column:2}.week-exercise-preview>div{grid-template-columns:20px 1fr}.week-exercise-preview small{grid-column:2}}

/* Beta 12.4.9 — dashboard hierarchy + consumer-grade free-workout picker */
.dashboard-tile .tile-kpi{line-height:1.05;overflow-wrap:normal;word-break:normal}
@media(min-width:360px){.dashboard-tile .tile-kpi{font-size:clamp(29px,8vw,38px)}}

/* Beta 12.4.9 — navigation consistency + achievement UX + media-ready visual language */
.block-detail-hero strong{display:block;font-size:28px;margin-top:4px}.block-detail-hero .bar{margin:16px 0 10px}
.block-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.block-insight-grid .card{min-height:138px;text-align:left}.block-insight-grid strong{display:block;font-size:28px;margin:12px 0 8px}
.pr-hero-v3{display:flex;align-items:center;justify-content:space-between;padding:22px}.pr-hero-v3 strong{display:block;font-size:44px;line-height:1;color:var(--gold)}.pr-hero-v3 span,.pr-hero-v3 small{display:block}.pr-hero-mark{font-size:34px;color:var(--gold);opacity:.8}
.pr-highlight{margin-top:12px}.pr-highlight-main{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;margin-top:12px}.pr-highlight-main strong,.pr-highlight-main b,.pr-highlight-main small{display:block}.pr-highlight-main b{font-size:22px;color:var(--gold);margin:4px 0}
.exercise-media-placeholder{width:64px;height:64px;border-radius:14px;border:1px solid rgba(214,170,88,.28);background:radial-gradient(circle at 50% 35%,rgba(214,170,88,.16),rgba(214,170,88,.04));display:grid;place-items:center;color:var(--gold);font-weight:800}
.exercise-media-placeholder.small{width:46px;height:46px;border-radius:12px;font-size:11px}
.pr-compact-list{display:grid;gap:8px}.pr-compact-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.pr-copy{min-width:0}.pr-copy strong,.pr-copy small{display:block}.pr-copy small{margin-top:3px;color:var(--muted);font-size:12px}.pr-value{text-align:right}.pr-value b,.pr-value span{display:block}.pr-value b{color:var(--gold)}.pr-value span{font-size:11px;color:var(--gold);margin-top:3px}
@media(max-width:359px){.block-insight-grid{grid-template-columns:1fr}.pr-compact-row{grid-template-columns:40px 1fr}.pr-value{grid-column:2;text-align:left}.exercise-media-placeholder.small{width:40px;height:40px}}

/* Beta 12.4.9 — dashboard typography + training-block regression hotfix */
.tile-subline-nowrap{white-space:nowrap;font-size:clamp(11px,2.85vw,13px);letter-spacing:-.01em}
.progress-week-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1}
.progress-week-kpi>span{font-size:15px;font-weight:700;color:var(--muted);margin-bottom:5px}
.progress-week-kpi>b{font:inherit;color:inherit;white-space:nowrap}
.last-training-tile{justify-content:flex-start}
.last-training-tile>strong{margin-bottom:10px}
.last-training-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin:auto 0 9px}
.last-training-stats>span{font-size:18px;font-weight:800;color:var(--text);line-height:1.05}
.last-training-stats small{display:block;margin-top:4px;font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap}
.block-detail-hero .row{align-items:flex-start;gap:14px}.block-detail-hero .row>b{text-align:right;color:var(--gold);font-size:14px}
@media(max-width:359px){
 .tile-subline-nowrap{font-size:10.5px}
 .last-training-stats{gap:3px}
 .last-training-stats>span{font-size:16px}
 .progress-week-kpi>b{font-size:34px}
}

/* Beta 12.4.9 — semantic line wrapping in dashboard tiles */
.last-training-link{display:flex;align-items:center;gap:5px;flex-wrap:wrap;line-height:1.25}
.last-training-link>span{white-space:nowrap}
.last-training-action::before{content:"· ";color:var(--muted)}
@media(max-width:390px){
 .last-training-link{display:grid;grid-template-columns:1fr;gap:2px}
 .last-training-action::before{content:""}
}

/* Beta 12.4.9 — dashboard overflow hardening */
.tile-subline-two-lines{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  width:100%;
  min-width:0;
  line-height:1.22;
}
.tile-subline-two-lines>span{
  display:block;
  width:100%;
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:normal;
  word-break:normal;
}
.last-training-link{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  align-items:start;
}
.last-training-link>span{white-space:normal}
.last-training-action::before{content:none}

/* Beta 12.4.9 — drill-down navigation + CI color hotfix */
.block-insight-grid .dashboard-tile-button,
.block-insight-grid .dashboard-tile-button:link,
.block-insight-grid .dashboard-tile-button:visited,
.block-insight-grid .dashboard-tile-button:hover,
.block-insight-grid .dashboard-tile-button:active{
  color:var(--text);
  text-decoration:none;
}
.block-insight-grid .dashboard-tile-button strong{color:var(--text)}
.block-insight-grid .dashboard-tile-button small{color:var(--muted)}
.block-insight-grid .dashboard-tile-button .eyebrow{color:var(--gold)}

/* Beta 12.4.9 — root-cause fix: iOS button rendering + real header back stack */
.block-insight-grid button.dashboard-tile-button{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#111 !important;
  border:1px solid #292929 !important;
  color:#f6f6f6 !important;
  -webkit-text-fill-color:#f6f6f6 !important;
}
.block-insight-grid button.dashboard-tile-button *{
  -webkit-text-fill-color:currentColor !important;
}
.block-insight-grid button.dashboard-tile-button .eyebrow{
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold) !important;
}
.block-insight-grid button.dashboard-tile-button strong{
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
}
.block-insight-grid button.dashboard-tile-button small{
  color:var(--muted) !important;
  -webkit-text-fill-color:var(--muted) !important;
}

/* Beta 12.4.9 — pre-migration freeze */
.block-insight-grid button,.block-insight-grid button:focus,.block-insight-grid button:hover,.block-insight-grid button:active{
 -webkit-appearance:none!important;appearance:none!important;color:#f6f6f6!important;-webkit-text-fill-color:#f6f6f6!important;text-decoration:none!important
}
.block-insight-grid button .eyebrow{color:var(--gold)!important;-webkit-text-fill-color:var(--gold)!important}
.block-insight-grid button strong{color:var(--text)!important;-webkit-text-fill-color:var(--text)!important}
.block-insight-grid button small{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important}
.volume-period-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.volume-period-switch button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font-weight:700}
.volume-period-switch button.active{background:var(--gold);border-color:var(--gold);color:#0b0b0b}
.volume-hero strong,.volume-hero span,.volume-hero small{display:block}.volume-hero strong{font-size:34px;color:var(--gold)}.volume-hero span{margin-top:5px}.volume-hero small{margin-top:10px;color:var(--muted)}
.volume-bars{display:grid;gap:11px;margin-top:16px}.volume-bar-row{display:grid;grid-template-columns:52px minmax(0,1fr) 68px;gap:9px;align-items:center}.volume-bar-row>div{height:8px;background:#242424;border-radius:99px;overflow:hidden}.volume-bar-row i{display:block;height:100%;background:var(--gold);border-radius:99px}.volume-bar-row b{text-align:right;font-size:12px}

/* Each drill-down owns its chevron, including block insight cards. */
.dashboard-tile-button{position:relative}
.block-insight-grid .dashboard-tile-button .eyebrow{padding-right:18px}
.block-insight-grid .dashboard-tile-button::after{color:#6f6f6f;-webkit-text-fill-color:#6f6f6f;pointer-events:none}

/* One large chevron, rotated for the expanded state. */
.week-status-card{grid-template-columns:34px minmax(0,1fr) 22px}
.week-chevron{display:block;width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.week-status-card[aria-expanded="true"] .week-chevron{transform:rotate(180deg)}

/* 2.1: planning and progress use the existing black/gold design system. */
.nutrition-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.nutrition-tabs button{padding:13px 3px!important;font-size:12px!important;white-space:nowrap}
.nutrition-date-nav{margin:0 0 18px}.nutrition-date-nav strong{font-size:14px}
.nutrition-day-card h2{font-size:19px;margin:9px 0 16px}
.nutrition-plan-rows{display:grid;gap:12px}
.nutrition-plan-item{border-top:1px solid var(--line);padding:14px 0 4px;min-width:0}
.nutrition-plan-item:first-child{border-top:0;padding-top:0}
.nutrition-plan-item>small{display:block;color:var(--muted);font-size:12px;margin:6px 0 12px}
.plan-meal-name{display:block;width:100%;text-align:left;background:none;color:var(--text);border:0;padding:8px 0 0;font-size:17px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.plan-meal-name span{color:var(--gold)}
.nutrition-plan-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nutrition-plan-actions .mini{font-size:12px;padding:10px 12px}
.tomorrow-card{border-color:#4b3c22}.nutrition-recorded>strong{font-size:20px}
.plan-intro .actions{flex-wrap:wrap}.plan-intro .actions button{flex:1 1 140px}
.personal-meal-grid{margin-top:18px}.ingredient-list label small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.ingredient-list label strong{font-size:12px;white-space:nowrap}.ingredient-list label{align-items:start}
.meal-filters{display:flex;gap:7px;margin:14px 0}.meal-filters button{flex:1;padding:11px 5px;font-size:12px}
.meal-library-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:5px}
.meal-library-row .meal-library-card{min-width:0;margin:0 0 9px}.meal-library-card strong{overflow-wrap:anywhere}
.favorite-btn{background:none;border:0;color:var(--muted);font-size:26px;width:44px;height:44px}.favorite-btn.selected{color:var(--gold)}
.shopping-notice{font-size:13px;line-height:1.5}.shopping-notice .link-btn{display:block}
.volume-overview .detail-kpis{margin:0;border:0;background:none}.volume-overview .detail-kpis>div{padding:0 12px 15px 0;background:none;border:0}
.volume-overview .detail-kpis strong{font-size:35px}.volume-total{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:16px}
.volume-total span{font-size:12px;color:var(--muted)}.volume-total strong{font-size:25px;color:var(--gold)}
.volume-comparison{font-size:13px;color:var(--muted)}
.volume-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;margin-top:22px}
.volume-bucket{border:0;padding:0;background:none;color:var(--text);min-width:0;text-align:left}
.volume-columns .volume-bucket{display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center;font-size:10px}
.volume-columns .volume-bucket>span{order:2;font-size:10px;white-space:nowrap}.volume-columns .volume-bucket>b{font-size:9px;order:3;white-space:nowrap}
.volume-columns .volume-track{height:130px;width:100%;max-width:25px;display:flex;align-items:end;background:#202020;border-radius:6px;overflow:hidden}
.volume-track i{display:block;background:var(--gold);border-radius:6px}.volume-columns .volume-track i{width:100%}
.volume-range-bars{display:grid;gap:18px;margin-top:20px}.volume-range-bars .volume-bucket{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;font-size:12px}
.volume-range-bars .volume-track{grid-column:1 / -1;grid-row:2;height:10px;background:#222;border-radius:6px;overflow:hidden}
.volume-range-bars .volume-track i{height:100%}.volume-selected{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:13px}
.pr-compact-row{grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important}
.pr-compact-row .pr-value{grid-column:2;text-align:left;margin-top:4px}.pr-compact-row .pr-copy{min-width:0}
.pr-compact-row .pr-copy strong{overflow-wrap:anywhere}.pr-compact-row .pr-value span{margin-left:10px;font-size:11px}
button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:370px){.nutrition-tabs button{font-size:11px!important}.volume-columns{gap:3px}.volume-columns .volume-bucket>b{font-size:8px}}

.nutrition-section input,.nutrition-section select,.nutrition-section textarea{font-size:16px}
.nutrition-section .card{min-width:0}.nutrition-section .actions{flex-wrap:wrap}

/* 2.2: one visible day, compact meals and clear planned/consumed nutrients. */
.nutrition-title{margin-bottom:16px}.nutrition-day-selector{position:sticky;top:calc(74px + env(safe-area-inset-top));z-index:20;background:var(--bg);padding:8px 0 9px;margin-bottom:8px}
.nutrition-day-buttons{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:5px;padding:4px;background:#111;border:1px solid var(--line);border-radius:13px}
.nutrition-day-buttons button{border:0;border-radius:9px;padding:11px 3px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;min-height:42px}
.nutrition-day-buttons button.active{background:var(--gold);color:#080808}.nutrition-chosen-date{font-size:12px;color:var(--muted);margin:8px 2px 0}
.nutrition-macros{padding:15px;margin-bottom:12px}.nutrition-macros>.row>strong{font-size:13px}.macro-switch{display:flex;gap:3px;background:#070707;padding:3px;border-radius:9px}
.macro-switch button{border:0;border-radius:6px;padding:8px 7px;background:transparent;color:var(--muted);font-size:11px;font-weight:750;min-height:34px}.macro-switch button.active{background:var(--gold);color:#080808}
.macro-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:17px}.macro-summary-grid>div{min-width:0}.macro-summary-grid span{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere;min-height:24px}.macro-summary-grid strong{display:block;font-size:21px;line-height:1.1;font-weight:850}.macro-summary-grid strong small{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:4px}
.macro-note{font-size:11px;line-height:1.4;color:var(--muted);margin:12px 0 0}.macro-more{margin-top:13px;border-top:1px solid var(--line);padding-top:9px;font-size:12px;color:var(--muted)}.macro-more summary{cursor:pointer}.macro-more p{margin-bottom:0}
.nutrition-compact-day{padding:15px}.nutrition-compact-day h2{font-size:16px;margin:0}.nutrition-compact-day>.row{margin-bottom:7px}
.nutrition-compact-meals{display:grid}.nutrition-compact-meal{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center;padding:13px 0;border-top:1px solid var(--line);position:relative}.nutrition-compact-meal:first-child{border-top:0}.nutrition-compact-meal:last-child{padding-bottom:2px}
.nutrition-compact-copy{min-width:0}.nutrition-compact-copy>span{display:block;color:var(--gold);font-size:10px;font-weight:750;margin-bottom:5px}.nutrition-compact-copy>button{display:block;text-align:left;width:100%;border:0;background:none;padding:0;color:var(--text);font-size:14px;line-height:1.35;font-weight:750;overflow-wrap:anywhere}.nutrition-compact-copy>button b{color:var(--muted)}.nutrition-compact-copy>small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.nutrition-compact-copy>strong{font-size:14px}
.meal-row-menu{align-self:start;margin-top:15px}.meal-row-menu summary{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;list-style:none;font-size:22px;cursor:pointer}.meal-row-menu summary::-webkit-details-marker{display:none}.meal-row-menu>div{position:absolute;right:0;top:56px;min-width:170px;max-width:100%;padding:6px;border:1px solid #444;border-radius:12px;background:#191919;box-shadow:0 10px 30px #000a;z-index:22;display:grid;gap:3px}.meal-row-menu button,.meal-row-menu>div>span{background:none;color:var(--text);border:0;text-align:left;padding:11px;font-size:12px}.meal-row-menu button:hover{background:#252525;border-radius:7px}
.nutrition-profile-note{padding:13px;font-size:13px}.nutrition-profile-note .link-btn{display:block}.nutrition-plan-empty{padding:15px 0}.nutrition-plan-empty>strong{font-size:14px}
.nutrition-food-history{margin:18px 0}.nutrition-food-history>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:750;padding:12px 0}.nutrition-food-history>summary:before{content:'›';color:var(--gold);margin-right:8px}.nutrition-food-history>summary span{margin-left:auto;border:1px solid var(--line);border-radius:20px;padding:4px 9px;font-size:11px}.nutrition-food-history .food-log-list{margin-top:8px}
.nutrition-shop-link{margin-bottom:20px}.nutrition-capture-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:calc(100% - 36px);max-width:684px;z-index:24;padding:9px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#080808 12px)}.nutrition-capture-dock>button{min-height:48px;box-shadow:0 4px 18px #000b}
.nutrition-week-controls{display:flex;gap:7px;margin:15px 0 12px}.nutrition-week-controls button{flex:1;font-size:12px}.nutrition-week-strip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:8px 0 12px;position:sticky;top:calc(74px + env(safe-area-inset-top));z-index:20;background:var(--bg);margin-bottom:5px}
.nutrition-week-strip button{flex:1 0 42px;min-width:42px;min-height:55px;border:1px solid var(--line);border-radius:11px;background:#111;color:var(--muted);display:grid;gap:3px;place-content:center;padding:7px}.nutrition-week-strip button span{font-size:10px}.nutrition-week-strip button strong{font-size:17px}.nutrition-week-strip button.active{background:var(--gold);color:#080808;border-color:var(--gold)}
.nutrition-week-footer{display:grid;gap:10px}.nutrition-plan-options{padding:12px 0;color:var(--muted);font-size:12px}.nutrition-plan-options summary{cursor:pointer;font-weight:750}.nutrition-plan-options .actions{gap:8px}.nutrition-plan-options .actions button{font-size:12px}
.compact-week-day{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:8px;padding:14px;text-align:left;color:var(--text)}.compact-week-day>strong{font-size:13px;color:var(--gold)}.compact-week-day>span{grid-column:1;font-size:12px;line-height:1.6;color:#bbb;overflow-wrap:anywhere}.compact-week-day>b{grid-column:2;grid-row:1 / 3;align-self:center;color:var(--muted);font-size:24px}
@media(max-width:350px){.nutrition-macros{padding:12px}.macro-summary-grid{gap:4px}.macro-summary-grid span{font-size:9px}.macro-summary-grid strong{font-size:18px}.nutrition-day-buttons button{font-size:11px}}

/* Release 2.3.0: dashboard balance, separate muscle perspectives, shared save feedback */
.dashboard-ordered-grid>.dashboard-tile{height:auto;max-height:none;min-height:var(--dashboard-tile-h);overflow:visible;align-self:stretch}
.dashboard-ordered-grid>.nutrition-dashboard-tile{grid-column:1/-1;padding:17px;min-height:var(--dashboard-tile-h);height:auto;max-height:none}
.dashboard-macro-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:8px 0 0;font-size:13px;line-height:1.3}
.dashboard-macro-table th,.dashboard-macro-table td{padding:4px 0;overflow-wrap:anywhere}
.dashboard-macro-table th:first-child{width:42%;text-align:left;font-weight:500;color:#aaa}
.dashboard-macro-table thead th{font-size:11px;color:#999;font-weight:600;text-align:right}
.dashboard-macro-table thead th:first-child{color:transparent}
.dashboard-macro-table td{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:#eee}
.dashboard-macro-table td:last-child{color:var(--gold)}
.dashboard-macro-table td span{font-size:11px;font-weight:400;color:#999}
.dashboard-tile .dashboard-macro-note{font-size:10px;line-height:1.4;margin:7px 0 0}
.heat-period-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.heat-panel-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.heat-panel-tabs button{min-width:0;min-height:44px;padding:10px 6px;border:1px solid #333;border-radius:12px;background:#111;color:#aaa;font-size:13px;font-weight:700}
.heat-panel-tabs button.active{background:#2b2416;color:var(--gold);border-color:#745824}
.save-feedback{background:rgba(7,9,10,.94)}
.save-feedback small{max-width:420px;color:#aaa;font-size:12px;line-height:1.5}
.save-feedback-compact{inset:auto 16px max(18px,env(safe-area-inset-bottom));margin:auto;max-width:560px;border:1px solid #363636;border-radius:16px;display:grid;grid-template-columns:30px 1fr;gap:5px 10px;justify-content:start;text-align:left;padding:14px;pointer-events:none;box-shadow:0 8px 30px #0008}
.save-feedback-compact .save-feedback-check{grid-row:1/4;width:28px;height:28px;border-width:2px;font-size:18px}
.save-feedback-compact strong{font-size:11px;letter-spacing:.08em}
.save-feedback-compact span{font-size:13px;color:#ddd}
.save-feedback-compact small{font-size:10px}
.save-feedback-error .save-feedback-check{color:#ef9b80;border-color:#ef9b80}
.save-feedback-error span{max-width:420px;line-height:1.5}
@media(max-width:360px){.dashboard-macro-table{font-size:12px}.dashboard-macro-table th:first-child{width:40%}.dashboard-macro-table td span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.save-feedback{transition:none}}

:root{--dashboard-tile-h:204px}
@media(max-width:390px){:root{--dashboard-tile-h:204px}}

/* Release 2.4: short block check-in and explainable proposal */
.block-question{border:0;padding:0;margin:0 0 24px;min-width:0}
.block-question legend{font-size:17px;font-weight:700;margin-bottom:12px;line-height:1.4}
.block-answer-row,.block-duration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.block-answer-row button,.block-duration button{min-width:0;min-height:58px;background:#141414;color:#ccc;border:1px solid #343434;border-radius:13px;padding:10px 6px;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.block-answer-row button.selected,.block-duration button.selected{background:#302714;border-color:var(--gold);color:var(--gold)}
.block-duration{margin:16px 0}
.block-duration small{display:block;font-size:10px;font-weight:500;margin-top:6px}
.block-options{margin-bottom:18px}.block-options summary,.block-recommendation summary,.next-block-why summary{padding:12px 0;color:var(--gold);cursor:pointer;font-size:13px}
.block-options select{font-size:16px;width:100%;min-height:48px;background:#151515;color:#eee;border:1px solid #333;border-radius:10px;padding:10px}
.block-recommendation .secondary{margin-top:16px}.block-recommendation h2{margin:10px 0}
.block-recommendation p,.block-planning-entry p,.block-checkin-form p{line-height:1.5}
.block-planning-entry h2{font-size:21px;margin:10px 0}.block-answer-row button:focus-visible,.block-duration button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:360px){.block-answer-row{gap:6px}.block-answer-row button{font-size:12px}}

/* Release 2.4.1: centered, readable dashboard muscle profile */
.heatmap-cta-tile{gap:6px}
.heatmap-cta-tile .mini-radar{flex:1 0 120px;height:auto;min-height:120px;width:100%;margin:0;display:flex;align-items:center;justify-content:center;overflow:visible}
.heatmap-cta-tile .mini-radar .muscle-radar-wrap{width:auto;max-width:100%;padding:0;margin:0 auto!important;display:flex;justify-content:center}
.heatmap-cta-tile .mini-radar .muscle-radar{width:auto;height:120px;max-width:100%;display:block;margin:0}
/* 2.5.1: slightly brighter than the approved contrast preview. */
.heatmap-cta-tile .radar-grid polygon,.heatmap-cta-tile .radar-grid line{stroke:#fff;stroke-width:1;opacity:.62}
.heatmap-cta-tile .radar-grid polygon:nth-child(1){opacity:.82}
.heatmap-cta-tile .radar-grid polygon:nth-child(2){opacity:.62}
.heatmap-cta-tile .radar-grid polygon:nth-child(3){opacity:.47}
.heatmap-cta-tile .radar-grid polygon:nth-child(4){opacity:.4}
.heatmap-cta-tile .radar-grid line{opacity:.5}
.heatmap-cta-tile .radar-load{fill:rgba(214,170,88,.22);stroke:#dfb257;stroke-width:2.4;stroke-linejoin:round}
.heatmap-cta-tile .muscle-tile-caption{margin:0!important;line-height:1.35;text-align:left}
.heatmap-cta-tile .muscle-tile-caption strong{display:block;font-size:14px;overflow-wrap:anywhere}
.heatmap-cta-tile .muscle-tile-caption span{display:block;margin-top:3px;font-size:11px;color:#999}

/* Release 2.4.3: one shared height for every dashboard tile, including full-width cards. */
:root{--dashboard-tile-h:204px}
.dashboard-ordered-grid{grid-auto-rows:var(--dashboard-tile-h)}
.dashboard-ordered-grid>.dashboard-tile,
.dashboard-ordered-grid>.nutrition-dashboard-tile,
.dashboard-ordered-grid>.dashboard-span-2,
.dashboard-ordered-grid>.workout-hero,
.active-workout-card{
 height:var(--dashboard-tile-h);min-height:var(--dashboard-tile-h);max-height:var(--dashboard-tile-h);
 box-sizing:border-box;margin:0;overflow:hidden;min-width:0;padding:14px;align-self:stretch;
}
.active-workout-card{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.dashboard-ordered-grid>.workout-hero{display:flex;flex-direction:column;gap:6px}
.dashboard-ordered-grid>.workout-hero .hero-title,.active-workout-card .hero-title{
 max-width:100%;font-size:23px;line-height:1.12;margin:0;overflow-wrap:anywhere;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0;
}
.dashboard-ordered-grid>.workout-hero>.muted,.active-workout-card>.muted{font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.dashboard-ordered-grid>.workout-hero .hero-meta{margin:0;gap:7px;flex-shrink:0}
.dashboard-ordered-grid>.workout-hero .hero-chip{padding:4px 8px}
.dashboard-ordered-grid>.workout-hero .actions,.active-workout-card .actions{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex-shrink:0}
.active-workout-card .actions{grid-template-columns:1fr}
.dashboard-ordered-grid>.workout-hero .actions button,.active-workout-card .actions button{min-width:0;min-height:44px;padding:10px 6px;font-size:12px}
.dashboard-ordered-grid>.dashboard-tile>.eyebrow{flex-shrink:0;padding-right:12px}
.dashboard-ordered-grid>.last-training-tile>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;flex-shrink:0}
.dashboard-ordered-grid>.heatmap-cta-tile{padding:12px;gap:4px}
.heatmap-cta-tile .mini-radar{flex:1 1 0;min-height:0;height:auto}
.heatmap-cta-tile .mini-radar .muscle-radar-wrap{position:relative;width:100%;max-width:148px;height:140px;display:block}
.heatmap-cta-tile .mini-radar .muscle-radar{position:absolute;left:50%;top:21px;transform:translateX(-50%);width:88px;height:102px;max-height:none}
.heatmap-cta-tile .mini-radar-axis{position:absolute;font-size:11px;line-height:14px;font-weight:500;color:#dedede;white-space:nowrap}
.heatmap-cta-tile .mini-radar-axis-0{top:1px;left:50%;transform:translateX(-50%)}
.heatmap-cta-tile .mini-radar-axis-1{top:26px;right:0}
.heatmap-cta-tile .mini-radar-axis-2{top:104px;right:0}
.heatmap-cta-tile .mini-radar-axis-3{top:126px;left:50%;transform:translateX(-50%)}
.heatmap-cta-tile .mini-radar-axis-4{top:104px;left:0}
.heatmap-cta-tile .mini-radar-axis-5{top:26px;left:0}
.heatmap-cta-tile .muscle-tile-caption{flex-shrink:0;text-align:center;line-height:15px}
.heatmap-cta-tile .muscle-tile-caption span{margin:0;font-size:11px;line-height:15px;color:#aaa}
.heatmap-cta-tile .muscle-tile-caption strong{margin:0;line-height:1.25}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table{flex-shrink:0}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-note{margin-top:auto}
@media(max-width:359px){
 :root{--dashboard-tile-h:204px}
 .dashboard-ordered-grid{grid-template-columns:1fr}
 .dashboard-ordered-grid>.workout-hero .hero-title,.active-workout-card .hero-title{font-size:22px}
}

/* Fit headings, macros and workout details into the shared compact height. */
.dashboard-ordered-grid>.dashboard-tile>.eyebrow,
.dashboard-ordered-grid>.workout-hero>.eyebrow,
.active-workout-card>.eyebrow{font-size:10px;line-height:13px;letter-spacing:1.7px}
.dashboard-ordered-grid>.last-training-tile>strong{font-size:17px;line-height:1.2;margin:9px 0 0}
.dashboard-ordered-grid>.dashboard-tile .tile-plan-name{width:100%;font-size:13px;line-height:1.2;margin:7px 0 0}
.dashboard-ordered-grid>.dashboard-tile .tile-subline-two-lines{font-size:11px;line-height:1.4}
.dashboard-ordered-grid>.nutrition-dashboard-tile{gap:5px}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table{margin:2px 0 0;font-size:13px;line-height:1.25}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table th,
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table td{padding:3px 0}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-note{font-size:11px;line-height:1.3;margin-bottom:0}
.active-workout-card .active-session-meta{margin:0;flex-shrink:0}
.active-workout-card .active-session-meta span{font-size:11px;letter-spacing:1px}
.active-workout-card .active-session-meta strong{font-size:20px;line-height:1.1}
@media(max-width:359px){
 .dashboard-ordered-grid>.dashboard-tile>.eyebrow,.dashboard-ordered-grid>.workout-hero>.eyebrow,.active-workout-card>.eyebrow{letter-spacing:1px}
}

/* Release 2.5: compact five-day planning and shopping preparation. */
.nutrition-five-list{display:grid;gap:8px;margin:14px 0}
.nutrition-five-day{min-width:0;border:1px solid var(--line);border-radius:14px;background:#111}
.nutrition-five-day>summary{list-style:none;display:grid;grid-template-columns:76px minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:68px;padding:12px;cursor:pointer}
.nutrition-five-day>summary::-webkit-details-marker{display:none}
.nutrition-five-day>summary>strong{font-size:12px;line-height:1.4;color:var(--gold)}
.nutrition-five-day>summary>span{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;color:#ddd}
.nutrition-five-day>summary>b{color:#aaa;font-size:15px;font-weight:400}
.nutrition-five-day[open]>summary>b{transform:rotate(180deg)}
.nutrition-five-detail{padding:0 12px 12px}
.nutrition-five-detail .nutrition-macros{margin:0 0 12px;padding:12px}
.nutrition-five-detail .macro-summary-grid{gap:6px}
.nutrition-five-detail .macro-summary-grid strong{font-size:18px}
.shopping-range-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0 10px}
.shopping-range-chips button{font-size:12px;min-height:48px;padding:8px 5px;min-width:0}
.shopping-range-label{font-size:14px;font-weight:700;color:var(--gold)}
.shopping-plan-gap{padding:12px;border:1px solid #604b26;border-radius:12px;background:#211b12;color:#e6c78b;font-size:12px;line-height:1.5}
.shopping-custom-range{margin:12px 0}.shopping-custom-range>summary{color:var(--gold);font-size:12px;padding:10px 0;cursor:pointer}
.shopping-row{flex-wrap:wrap;padding:10px 0;gap:8px}
.shopping-row>span{min-width:100px;overflow-wrap:anywhere}
.shopping-row>span>small{display:block;font-size:11px;line-height:1.4;margin-top:4px;text-decoration:none}
.shopping-row:has(input:checked)>span{color:#aaa;text-decoration:none}
.shopping-have{min-height:36px;font-size:11px;background:#222;border:1px solid #393939;border-radius:8px;color:var(--gold);padding:6px 8px;margin-left:30px}
.shopping-row>strong{font-size:12px}

/* 2.6: consumer controls; dashboard dimensions intentionally remain 204px. */
.consumer-dialog{width:min(440px,calc(100% - 32px));max-height:85dvh;overflow:auto;color:var(--text);background:#111;border:1px solid #544329;border-radius:24px;padding:26px;box-shadow:0 24px 80px #0009}
.consumer-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
.consumer-dialog h2{font-size:23px;line-height:1.25;margin:12px 0}.consumer-dialog p{color:#bababa;line-height:1.55;font-size:15px;white-space:pre-line}
.consumer-dialog label{display:block;margin:18px 0 8px}.consumer-dialog input{width:100%}.consumer-dialog-actions{display:flex;gap:10px;margin-top:24px}.consumer-dialog-actions button{flex:1;min-height:44px}
button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nutrition-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-tabs button{font-size:14px!important;min-height:44px}
.nutrition-compact-meal{grid-template-columns:minmax(0,1fr) auto 36px}.meal-row-menu{grid-column:3}
.meal-eaten-direct{color:#111;background:var(--gold);border:0;border-radius:12px;min-height:44px;padding:8px 10px;font-size:13px;font-weight:750}.meal-eaten-state{color:#31d394;font-size:20px}
.nutrition-compact-copy>span{font-size:12px}.nutrition-compact-copy small{font-size:13px}.meal-row-menu summary{min-height:44px;min-width:36px}
.shopping-range-chips button{min-height:44px;font-size:13px}.shopping-range-chips .active{background:var(--gold);color:#111;border-color:var(--gold)}
.exercise-library-link{width:100%;color:var(--text);text-align:left;display:block}.exercise-library-link>div{display:flex;flex-direction:column;gap:7px}.exercise-library-link strong{font-size:17px}.exercise-library-link small{font-size:13px}
.pr-exercise-link{width:100%;color:var(--text);text-align:left}.exercise-detail-history{margin-top:20px}.exercise-detail-history button{width:100%;display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px 0;background:none;color:var(--text);border:0;border-top:1px solid var(--line);min-height:44px}.exercise-detail-history small{color:var(--muted);line-height:1.5}
#app .small,#app .muted,#app .nutrition-estimate{line-height:1.5}#app .mini{min-height:44px}.drag-handle{min-width:44px;min-height:44px}
@media(max-width:370px){.nutrition-compact-meal{gap:5px}.meal-eaten-direct{font-size:12px;padding:8px}.nutrition-compact-copy button{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
[hidden]{display:none!important}
.exercise-library-link>span{display:block}.exercise-library-link>.exercise-meta{margin-top:7px;line-height:1.4}.exercise-library-link>span:last-child{float:right;margin-top:-25px;color:var(--gold)}
.exercise-history{margin-top:16px}.exercise-history button{width:100%;background:none;color:var(--text);border:0;border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) 16px;text-align:left;gap:7px;line-height:1.45}.exercise-history button strong{grid-column:1;font-size:15px;overflow-wrap:anywhere}.exercise-history button span:last-child{grid-column:2;grid-row:1 / 3;color:var(--gold);align-self:center}
.meal-row-menu{margin-top:0;align-self:center}

/* 2.7: compact planning and branded personal nutrition basis. Tile heights remain 204px. */
.basis-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 20px}
.basis-modes label{display:flex;align-items:center;gap:8px;background:#171714;border:1px solid #40392a;border-radius:12px;padding:12px 10px;min-height:48px;font-size:13px;cursor:pointer;line-height:1.4}
.basis-modes label.active{background:#292314;border-color:var(--gold);color:#f0d28b}
.basis-modes input{accent-color:var(--gold);width:16px;height:16px;flex:0 0 16px;margin:0}
#nutritionBasisForm .form-field,#obNutritionForm .form-field{margin:12px 0}
#nutritionBasisForm label:not(.basis-modes label),#obNutritionForm label:not(.basis-modes label){display:block;font-size:13px;color:#bdbdb5;margin-bottom:7px}
#nutritionBasisForm input:not([type=radio]),#nutritionBasisForm select,#obNutritionForm input:not([type=radio]),#obNutritionForm select,.activity-range select{font-size:16px;width:100%;min-height:46px;background:#161613;color:#eee;border:1px solid #3c3a30;border-radius:11px;padding:11px;box-sizing:border-box}
#nutritionBasisError{color:#efbe90;font-size:14px;line-height:1.5}
.planning-reminder{border:1px solid #57482a;background:#19160f;border-radius:16px;padding:14px 16px;margin:0 0 16px;display:flex;align-items:center;gap:16px;justify-content:space-between}
.planning-reminder strong{font-size:15px}.planning-reminder p{font-size:12px;color:#bbb;line-height:1.5;margin:5px 0 0}.planning-reminder .actions{flex-shrink:0;margin:0}
.nutrition-basis-note,.nutrition-target-card{border:1px solid #373023;background:#14130f;border-radius:16px;padding:16px;margin:16px 0}
.nutrition-target-card .row{gap:8px}.nutrition-target-card .link-btn{min-height:44px;font-size:12px}.nutrition-target-card>.small{margin-top:2px}
.nutrition-target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.nutrition-target-grid small{display:block;color:#aaa;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.nutrition-target-grid strong{display:block;color:var(--gold);font-size:18px;margin-top:5px;line-height:1.3}.nutrition-target-grid strong span{font-size:11px}
.target-explanation>summary{font-size:12px;color:#cbbb95;padding:10px 0;cursor:pointer}.nutrition-fit-state{font-size:12px;color:#c7c6bd;line-height:1.5;margin:12px 0 0}
.activity-range{margin-top:16px}.planning-day{padding:14px 16px;margin:10px 0}.planning-day>summary,.nutrition-preview-day>summary{display:grid;grid-template-columns:1fr auto;gap:5px 10px;cursor:pointer;list-style:none;min-height:44px;align-items:center}.planning-day>summary::-webkit-details-marker,.nutrition-preview-day>summary::-webkit-details-marker{display:none}.planning-day>summary strong,.nutrition-preview-day>summary strong{font-size:15px}.planning-day>summary span,.nutrition-preview-day>summary span{grid-column:1;font-size:12px;line-height:1.5;color:#b9b6a9}.planning-day>summary b,.nutrition-preview-day>summary b{grid-column:2;grid-row:1/3;color:var(--gold)}
.planning-activity-line{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:8px;margin:14px 0}.planning-activity-line small{display:block;font-size:11px;color:#aaa;margin-top:4px}.planning-activity-line strong{font-size:14px}.planning-day .actions button{min-height:44px}
.planned-activity-row{grid-template-columns:24px minmax(0,1fr) auto auto 36px;gap:10px}.planned-activity-detail{display:block;color:#aaa;font-size:11px;line-height:1.5;margin-top:5px;font-weight:400}
.nutrition-preview-day{padding:16px;margin:12px 0}.nutrition-preview-day ul{padding-left:18px;font-size:13px;line-height:1.7}.nutrition-preview-day .nutrition-target-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-preview-day .nutrition-target-grid strong{font-size:14px}
@media(max-width:600px){.planning-reminder{display:block}.planning-reminder .actions{margin-top:10px}.planned-activity-row{grid-template-columns:24px minmax(0,1fr) 36px}.planned-activity-row>.mini{grid-row:2}.planned-activity-row>.mini:first-of-type{grid-column:2}.planned-activity-row>.mini:nth-of-type(2){grid-column:2;justify-self:end}.planned-activity-row>.icon-action{grid-column:3;grid-row:1}.planned-activity-row>.mini{font-size:10px;padding:8px}.basis-modes{grid-template-columns:1fr}.basis-modes label{min-height:44px}.nutrition-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dashboard-macro-table th:not(:first-child),.dashboard-macro-table td{white-space:nowrap}
@media(max-width:430px){.nutrition-dashboard-tile .dashboard-macro-table{font-size:11px!important}.nutrition-dashboard-tile .dashboard-macro-table th:first-child{font-size:11px}.nutrition-dashboard-tile .dashboard-macro-table td span{font-size:9px}.nutrition-dashboard-tile .dashboard-macro-table th,.nutrition-dashboard-tile .dashboard-macro-table td{padding-left:3px;padding-right:3px}}
@media(max-width:600px){.planned-activity-row>.mini:first-of-type{grid-column:1/3;justify-self:start}.planned-activity-row>.mini:nth-of-type(2){grid-column:2/4;justify-self:end}}
@media(max-width:600px){.planned-activity-row{grid-template-columns:24px minmax(0,1fr) auto 36px}.planned-activity-row>strong{grid-column:2/4}.planned-activity-row>.icon-action{grid-column:4;grid-row:1}.planned-activity-row>.mini:first-of-type{grid-column:2;grid-row:2;justify-self:start}.planned-activity-row>.mini:nth-of-type(2){grid-column:3/5;grid-row:2;justify-self:end}}

/* 2.8.0 — four primary destinations with matte gold navigation. */
.bottom-nav{position:fixed;z-index:45;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 32px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;background:var(--gold);color:#080808;padding:6px;border-radius:30px;border:1px solid #e4b75b;box-shadow:0 8px 26px #0008}
.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;border:0;border-radius:24px;padding:6px 2px;background:transparent;color:#080808;font-size:11px;font-weight:750;line-height:1.2;touch-action:manipulation}
.bottom-nav svg{width:24px;height:24px;flex-shrink:0}
.bottom-nav button.active,.bottom-nav button[aria-current="page"]{background:#101010;color:var(--gold)}
.bottom-nav button:focus-visible{outline:2px solid #080808;outline-offset:1px}.bottom-nav button.active:focus-visible{outline-color:#fff}
body .app-shell{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
.cloud-gated .bottom-nav,.onboarding-active .bottom-nav,.nav-focused .bottom-nav,body:has(.session-overlay.open) .bottom-nav,body:has(dialog[open]) .bottom-nav,body:has(.dialog-backdrop:not([hidden])) .bottom-nav,body:has(.picker-backdrop:not([hidden])) .bottom-nav,body:has(.activity-sheet-backdrop) .bottom-nav,body:has(.heat-method-backdrop) .bottom-nav,body:has(#app form:focus-within) .bottom-nav{display:none}
.hub-links{display:grid;gap:10px;margin:20px 0}.hub-link{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:80px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text)}.hub-link strong{display:block;font-size:17px}.hub-link small{display:block;font-size:13px;color:var(--muted);line-height:1.45;margin-top:5px}.hub-link>span:last-child{font-size:25px;color:var(--gold)}.profile-logout{margin-top:16px}.page-title:focus{outline:none}
@media(min-width:700px){.bottom-nav button{font-size:12px;min-height:62px}.bottom-nav{border-radius:34px}}
@media(max-width:350px){.bottom-nav{width:calc(100% - 20px);padding:5px;gap:1px}.bottom-nav button{font-size:10px}}

/* 2.9.0: neutral line drawings and accessible, data-driven gold load. */
.anatomy-vector .anatomy-wrap{padding:12px 10px;background:#101010}.anatomy-vector svg.body-diagram{display:block;width:100%;height:auto;max-height:min(540px,58svh);margin:0 auto}.anatomy-vector{background:#101010!important}.body-load-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin:18px 0 8px}.body-load-legend span{display:flex;align-items:center;gap:5px;font-size:11px;color:#c5c5c5}.body-load-legend i{display:block;width:13px;height:13px;border:1px solid #777;border-radius:3px}.body-load-note{text-align:center;line-height:1.5}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.appearance-options label{position:relative;display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #444;border-radius:14px;cursor:pointer;color:#ddd}.appearance-options label:has(input:checked){border-color:var(--gold);background:#2b2415;color:var(--gold)}.appearance-options input{accent-color:var(--gold);width:18px;height:18px}.appearance-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.appearance-preview>div{min-width:0;text-align:center}.appearance-preview span{font-size:12px;color:#aaa}.appearance-preview svg{display:block;width:100%;height:auto;max-height:340px;margin-top:10px}

/* 2.10: focused, user-paced block recap; never changes dashboard tile sizing. */
.recap-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #66512b;border-radius:16px;margin-bottom:20px;background:#19160f}.recap-offer span{min-width:0}.recap-offer small{display:block;color:#aaa;margin-top:5px}.recap-offer button{flex-shrink:0}.wrapped-shell{max-width:620px;margin:0 auto;padding:4px 0 20px}.wrapped-top{display:flex;align-items:center;justify-content:space-between;color:#aaa}.wrapped-top button{min-height:44px}.wrapped-segments{display:flex;gap:6px;margin:12px 0 20px}.wrapped-segments i{flex:1;height:4px;background:#444;border-radius:4px}.wrapped-segments i.active{background:var(--gold)}.wrapped-date{color:#aaa;font-size:12px;line-height:1.5}.wrapped-shell article{border:1px solid #333;border-radius:24px;background:#111;padding:28px 20px;min-height:380px;text-align:center;display:flex;flex-direction:column;justify-content:center}.wrapped-shell .page-title{font-size:clamp(26px,5vw,40px);margin:18px 0;overflow-wrap:anywhere}.wrapped-number{font-size:clamp(64px,15vw,100px);font-weight:800;line-height:1.1;color:var(--gold);margin:14px 0}.wrapped-number small{display:block;font-size:19px;line-height:1.6}.wrapped-caption{font-size:22px}.wrapped-accent{color:var(--gold);font-weight:700}.wrapped-controls{display:flex;gap:12px;margin-top:16px}.wrapped-controls button{flex:1;min-height:48px}.wrapped-controls button:disabled{opacity:.35}.wrapped-bodies{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wrapped-bodies svg{width:100%;height:auto;max-height:260px}.wrapped-shell article:focus{outline:2px solid var(--gold);outline-offset:4px}@media(prefers-reduced-motion:reduce){.wrapped-shell *{transition:none!important}}

.wrapped-color-key{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:14px;color:#bbb;font-size:11px}.wrapped-color-key i{width:11px;height:11px;border-radius:3px}.wrapped-color-key span{margin-left:5px}

.recap-section{margin:26px 0 12px}

/* 2.10.7: compact context, shared progress bars and crisp color swatches. */
.dashboard-tile .tile-context-label{color:#969696;font-size:12px;line-height:1.3;margin-top:8px}
.dashboard-tile .tile-context-label+.tile-kpi{margin-top:5px}
.dashboard-tile .progress-week-kpi+.bar{margin:9px 0;width:100%;flex-shrink:0}
.body-load-legend span{white-space:nowrap}
.body-load-legend i{box-sizing:border-box;width:14px;height:14px;flex:0 0 14px;border:0;border-radius:2px;box-shadow:none;opacity:1}
.body-load-legend span:first-child i{border:1px solid #999}

/* 2.11.0: readable details without changing the 204px dashboard grid. */
.library-explanation{font-size:13px;line-height:1.5;margin:0 0 16px}
.exercise-entry-kind{font-size:12px;color:var(--gold);margin-top:7px;padding-right:24px;line-height:1.4}
.exercise-library-link .exercise-meta{padding-right:22px}
.exercise-guide ol{padding-left:23px;display:grid;gap:12px;line-height:1.6;font-size:14px;color:#ededed}
.exercise-guide li::marker{color:var(--gold);font-weight:700}
.exercise-guide summary,.exact-ingredients summary{cursor:pointer;color:var(--gold);padding:12px 0;font-size:14px;line-height:1.4}
.exercise-guide p,.exact-ingredients li{font-size:14px;line-height:1.6}
.exact-ingredients ul{padding-left:20px;margin-top:4px}
.portion-summary-title{margin:18px 0 6px;font-size:19px}
.nutrition-section .small,.nutrition-section .nutrition-estimate,.nutrition-section .ingredient-title small,.nutrition-section .ingredient-list small,.capture-preview .small{font-size:13px;line-height:1.5;color:#b5b5b5}
.nutrition-section .nutrition-detail-grid span{font-size:13px;color:#b5b5b5}
.nutrition-section .recipe-steps{font-size:14px;line-height:1.6}
.nutrition-section .ingredient-list>label{font-size:14px;display:grid;grid-template-columns:21px minmax(0,1fr) auto;column-gap:10px}
.nutrition-section .ingredient-list strong{font-size:13px}
.quantity-explanation{margin:12px 0 0}
.form-field label{font-size:13px;color:#b5b5b5;line-height:1.4}
.form-field input,.form-field select,.form-field textarea{font-size:16px}
.capture-preview h2{font-size:19px;margin:0 0 6px}
#captureAmountLabel{font-size:14px;color:#b5b5b5;margin:6px 0 12px}
.capture-preview .nutrition-detail-grid{margin:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.portion-control button:disabled{opacity:.4;cursor:default}
@media(max-width:360px){.nutrition-section .ingredient-list>label{grid-template-columns:21px minmax(0,1fr)}.nutrition-section .ingredient-list strong{grid-column:2;justify-self:start}.ingredient-title{flex-wrap:wrap}.portion-control strong{font-size:14px}}

/* Side input group stays inside the existing session row. */
.session-input-group{grid-column:span 2;min-width:0}.session-side-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-side-inputs>span{grid-column:1/-1}.session-input-group input{min-width:0;width:100%;box-sizing:border-box}.session-input-group small{display:block}.session-input-group .link-btn{white-space:normal;text-align:left;font-size:12px}.session-input-group>small{font-size:11px;line-height:1.4}

/* 2.15.9: visual recipe library and curated profile recommendations. */
.meal-library-card{min-height:98px;padding:8px 10px 8px 8px;justify-content:flex-start;gap:12px}
.meal-library-thumb{width:80px;height:80px;flex:0 0 80px;display:block;object-fit:cover;border-radius:11px;background:#191919}
.meal-library-copy{min-width:0;flex:1}
.meal-library-card .meal-library-copy strong{font-size:14px;line-height:1.35}
.meal-library-card .meal-library-copy small{font-size:11px;line-height:1.35;margin-top:5px}
.meal-origin{display:block;width:max-content;margin-top:5px;padding:2px 7px;border:1px solid rgba(215,172,77,.45);border-radius:999px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.meal-filter-note{margin:2px 0 18px}
.meal-profile-empty{display:grid;gap:10px;margin:4px 0 18px;padding:18px}
.meal-profile-empty p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.meal-profile-empty button{justify-self:start}
@media(max-width:360px){.meal-library-thumb{width:70px;height:70px;flex-basis:70px}.meal-library-card{min-height:88px;gap:10px}.meal-library-card .meal-library-copy strong{font-size:13px}}

/* 3.0.44: viewport-wide fade behind the floating navigation, including safe area. */
.bottom-nav-backdrop{position:fixed;z-index:44;inset:auto 0 0;height:calc(112px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(8,8,8,.55) 25%,rgba(8,8,8,.93) 75%,#080808 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28%);mask-image:linear-gradient(to bottom,transparent,#000 28%)}
body .app-shell{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
@media(prefers-reduced-transparency:reduce){.bottom-nav-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(to bottom,transparent,#080808 30%)}}
.cloud-gated .bottom-nav-backdrop,.onboarding-active .bottom-nav-backdrop,.nav-focused .bottom-nav-backdrop,body:has(.session-overlay.open) .bottom-nav-backdrop,body:has(dialog[open]) .bottom-nav-backdrop,body:has(.dialog-backdrop:not([hidden])) .bottom-nav-backdrop,body:has(.picker-backdrop:not([hidden])) .bottom-nav-backdrop,body:has(.activity-sheet-backdrop) .bottom-nav-backdrop,body:has(.heat-method-backdrop) .bottom-nav-backdrop,body:has(#app form:focus-within) .bottom-nav-backdrop{display:none}

/* Planned calendar dates retain sport colors, including the selected date. */
.calendar-legend .planned-outline{width:10px;height:10px;background:transparent;border:1px dashed #888;border-radius:3px}
.calendar-day.selected .calendar-marks .gym{background:#d4a853;box-shadow:0 0 0 1px #111}
.calendar-day.selected .calendar-marks .activity{background:#64a6d9;box-shadow:0 0 0 1px #111}

.calendar-day .calendar-marks .rest,.calendar-legend .rest{background:#909090;border:0}
.calendar-day.selected .calendar-marks .rest{background:#909090;box-shadow:0 0 0 1px #111}
.calendar-legend{flex-wrap:wrap;row-gap:8px}

/* Compact branding shares the existing sticky workout controls. */
.session-brand{display:flex;justify-content:center;margin:0 44px 8px}
.session-brand img{display:block;width:100px;height:31px;object-fit:contain}
.picker-item .bp-ex-thumb{flex:0 0 64px;width:64px;height:64px}
.picker-item .picker-item-copy{flex:1}
.picker-item .picker-check{flex:0 0 24px;width:24px;height:24px;margin-left:auto}
@media(max-width:360px){.picker-item{gap:9px;padding:12px 0}.picker-item .bp-ex-thumb{flex-basis:54px;width:54px;height:54px}}


/* Coach preview: five equal navigation destinations, original black brand mark. */
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.bottom-nav .coach-nav-mark{display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0}
.bottom-nav button[data-tab="coach"].active,.bottom-nav button[data-tab="coach"][aria-current="page"]{background:#f4dfb1;color:#080808;box-shadow:inset 0 0 0 1px #08080835}
.coach-page{max-width:760px;margin:0 auto;padding:12px 0 24px}
.coach-intro{margin-bottom:24px}.coach-intro .page-title{margin:12px 0 8px}
.coach-intro p,.coach-welcome p,.coach-topics p,.coach-preview-note{color:var(--muted);line-height:1.6}
.coach-preview-label{display:inline-block;padding:5px 10px;border:1px solid var(--gold);border-radius:20px;color:var(--gold);font-size:12px}
.coach-welcome{padding:22px;border:1px solid #d4a85355;background:#19160f;border-radius:20px;margin-bottom:16px}
.coach-welcome h2{margin:0 0 10px;font-size:22px}.coach-welcome p{margin:0}
.coach-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.coach-topics article{background:var(--card,#171717);border:1px solid var(--line,#333);border-radius:18px;padding:18px;min-width:0}
.coach-topic-label{font-size:12px;color:var(--gold)}.coach-topics h2{font-size:17px;margin:10px 0 8px;line-height:1.35}.coach-topics p{font-size:14px;margin:0}.coach-preview-note{font-size:13px;margin:22px 4px 0}
@media(max-width:420px){.coach-topics{grid-template-columns:1fr}.coach-welcome{padding:18px}.coach-topics article{padding:16px}}

.coach-question{display:grid;gap:10px;margin:22px 0}.coach-question label{font-size:14px}.coach-question select,.coach-question textarea{width:100%;min-width:0;font:inherit}.coach-question textarea{resize:vertical;min-height:110px}.coach-question .coach-consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:13px;line-height:1.5}.coach-consent input{width:20px;height:20px;flex:0 0 20px}.coach-limits{font-size:12px;color:var(--muted);line-height:1.6;margin:2px 0}.coach-question button{min-height:44px}.coach-question button:disabled{opacity:.6}.coach-question #coachCounter{margin:0;font-size:12px}.coach-page #coachStatus{margin:12px 0;line-height:1.5}.coach-page #coachAnswer{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:18px}

.coach-hero{background:#282620;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;padding:20px;min-height:185px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}
.coach-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#161510 8%,transparent 80%),var(--portrait,linear-gradient(120deg,#514734,#201f1d)) right 28% / auto 140% no-repeat}
.coach-hero-male{--portrait:url("assets/coach/male.webp")}.coach-hero-female{--portrait:url("assets/coach/female.webp")}
.coach-hero h1{font-size:18px;line-height:1.05;margin:18px 0 0;color:white}.coach-hero img{display:block;width:120px;margin:4px 0 0 -5px}.coach-hero em{display:block;font-size:42px;letter-spacing:-.04em}
.coach-hello{margin:18px 0 3px;font-size:clamp(23px,5vw,32px);overflow-wrap:anywhere}.coach-prompt{margin:0;color:#d1ccc4}.coach-question{margin:16px 0 10px}
.coach-switch{display:flex;padding:3px;border:1px solid #514b40;border-radius:14px;background:#151513}.coach-switch label{flex:1;position:relative}.coach-switch input{position:absolute;opacity:0}.coach-switch span{display:grid;place-items:center;min-height:44px;border-radius:11px;cursor:pointer}.coach-switch input:checked+span{background:#d4aa56;color:#10100e;font-weight:700}.coach-switch input:focus-visible+span{outline:2px solid white}
.coach-compose{display:flex;align-items:center;gap:8px;border:1px solid #777266;border-radius:16px;background:#191917;padding:8px}.coach-compose textarea#coachQuestion{flex:1;min-height:54px;border:0;background:transparent;padding:8px;color:white;font:inherit}.coach-compose #coachSend{flex:none;width:44px;height:44px;padding:0;border-radius:50%;background:#dbb465;color:#12100b;font-size:23px}
.coach-consent input{accent-color:#d4aa56}.coach-info{font-size:14px;color:#c8c2b9}.coach-info summary{padding:12px 0;cursor:pointer}.coach-info p{line-height:1.6}

.coach-page{display:flex;flex-direction:column;box-sizing:border-box;height:calc(100dvh - 180px);padding:0 0 4px;overflow:auto}
.coach-page .coach-hero{flex:1 0 130px;min-height:130px;max-height:46vh}.coach-page .coach-hello{flex:none}
.coach-page #coachLog{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.coach-page .coach-question{flex:none;margin:5px 0}.coach-page .coach-info{flex:none}.coach-page #coachStatus:empty{display:none}
.coach-page.chatting .coach-hero,.coach-page.chatting .coach-hello,.coach-page.chatting .coach-prompt,.coach-page.chatting .coach-switch,.coach-page.keyboard .coach-info,body:has(.coach-page.keyboard) :is(.bottom-nav,.bottom-nav-backdrop){display:none}
.coach-chat-head:not([hidden]){display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #39342c}.coach-chat-head img{width:70px;vertical-align:middle}.coach-chat-head button{font-size:13px;padding:8px}
.coach-msg{width:fit-content;max-width:88%;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 14px;border-radius:15px;background:#252423;margin:10px 0}.coach-msg.outgoing{margin-left:auto;background:#544324}
.coach-page dialog{width:min(92vw,420px);border:1px solid #554d3d;color:#fff;background:#232221;border-radius:20px;padding:22px}.coach-page dialog::backdrop{background:#000a}.coach-page dialog button{width:100%;margin-top:8px}.coach-page dialog p{line-height:1.5}
.coach-page.keyboard:not(.chatting) .coach-hero{display:none}

/* The coach owns the space between the fixed header and navigation. */
html:has(.coach-page),body:has(.coach-page){overflow:hidden;overscroll-behavior:none}
body #app:has(>.coach-page){position:fixed;top:var(--bp-header-height);left:0;right:0;margin:0 auto;padding-top:8px;padding-bottom:0;min-height:0}
.coach-page:not(.chatting) #coachLog{display:none}
.coach-page:not(.chatting) .coach-hero{max-height:none;min-height:105px;flex:1 1 auto}
.coach-page:not(.chatting) .coach-hero::before{background-size:100% 100%,cover;background-position:center,center 32%}
.coach-page.chatting{overflow:hidden}.coach-page.chatting .coach-chat-head,.coach-page.chatting #coachStatus{flex:none}
.coach-page .coach-info[open]{max-height:25dvh;overflow:auto}
@media(max-height:550px){.coach-page:not(.chatting) .coach-hero{min-height:82px;padding:8px 14px}.coach-hero h1{margin:0}.coach-hero .coach-preview-label{display:none}.coach-hero em{font-size:26px}}


/* Source: cloud.css */
body.cloud-gated > :not(#cloudGate):not(#appBoot):not(script){display:none!important}
#cloudGate{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));display:grid;place-items:center;background:radial-gradient(ellipse at 50% 0%,#292313 0%,#080808 62%);overflow-x:hidden}
#cloudGate[hidden]{display:none}
.cloud-auth-card{width:100%;max-width:430px;padding:28px 24px;border:1px solid #343025;border-radius:22px;background:#111110;box-shadow:0 20px 70px #0005;box-sizing:border-box}
.cloud-auth-card .brand{text-align:center;margin-bottom:32px}
.cloud-auth-card h1{font-size:27px;line-height:1.2;margin:0 0 14px}
.cloud-auth-card p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.cloud-auth-card label{display:block;margin:18px 0 8px;font-size:14px;font-weight:600}
.cloud-auth-card input{width:100%;min-height:48px;font-size:16px;box-sizing:border-box;padding:12px;border:1px solid #424038;border-radius:10px;background:#090909;color:#f7f4eb}
.cloud-auth-card input:focus{outline:2px solid #caa547;outline-offset:2px}
.cloud-auth-card button{min-height:44px;white-space:normal}
.cloud-password-hint{display:block;font-size:12px;margin-top:8px}
#cloudAuthMessage{min-height:24px;color:#dfc579}
.cloud-auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:16px}
.cloud-auth-links .link-btn{font-size:14px}
.cloud-account h2{font-size:19px;margin:0 0 10px}
.cloud-account-email{overflow-wrap:anywhere;margin:0 0 8px;font-size:14px}
.cloud-account .actions{flex-wrap:wrap;gap:10px;margin-top:16px}
@media(max-width:360px){.cloud-auth-card{padding:24px 18px}.cloud-auth-card h1{font-size:24px}}

/* Cloud 1.1: account navigation and contextual connection notices. */
.cloud-notice{max-width:1080px;margin:16px auto 0;padding:12px 20px;background:#302512;border:1px solid #665020;border-radius:12px;color:#f3d995;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cloud-notice[hidden]{display:none}
.drawer-logout{min-height:48px;text-align:left;font-weight:600;color:#e8c16e}
.personal-data h2{font-size:19px;margin:0 0 10px}
.personal-data .actions{display:flex;flex-wrap:wrap;gap:12px}
.personal-data .actions button{min-height:44px;white-space:normal}
.data-import-note{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:0}
.body-goals-settings summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;min-height:48px}
.body-goals-settings summary::-webkit-details-marker{display:none}
.body-goals-settings summary strong{font-size:19px;display:block}
.body-goals-settings summary small{display:block;color:var(--muted);margin-top:6px;line-height:1.5}
.body-goals-settings summary:focus-visible{outline:2px solid #caa547;outline-offset:6px;border-radius:4px}
.body-goals-settings[open] .goals-chevron{transform:rotate(180deg)}
.body-goals-settings input{font-size:16px;min-height:44px;min-width:0;width:100%;box-sizing:border-box}
@media(max-width:600px){.cloud-notice{margin:12px 16px 0;padding:12px 14px}.personal-data .actions button{width:100%}}
.cloud-delete-entry{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.cloud-delete-dialog{width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;padding:24px;border:1px solid #44392b;border-radius:22px;background:#111110;color:#eee;box-shadow:0 20px 70px #0008}
.cloud-delete-dialog::backdrop{background:#000b}
.cloud-delete-dialog h2{font-size:26px;line-height:1.2;margin:12px 0}
.cloud-delete-dialog p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.cloud-delete-dialog label{display:block;font-size:14px;margin:20px 0 8px}
.cloud-delete-dialog input[type=password]{font-size:16px;min-height:48px}
.cloud-delete-dialog .cloud-delete-check{display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.cloud-delete-check input{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:var(--gold)}
.cloud-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.cloud-delete-dialog button{min-height:48px;white-space:normal}
.cloud-delete-dialog :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#cloudDeleteMessage{min-height:24px;color:#dfc579}
@media(max-width:360px){.cloud-delete-dialog{padding:20px}.cloud-delete-actions{grid-template-columns:1fr}}

/* Release 2.3.0: quiet loading screen */
.cloud-loading-message{text-align:center;margin:28px 0 8px}


/* Source: onboarding.css */
/* BodyPlan onboarding: typography, spacing and gold accents from the app shell. */
body.onboarding-active{background:#080808}
body.onboarding-active > header,body.onboarding-active > #app,body.onboarding-active > .drawer,body.onboarding-active > .drawer-backdrop,body.onboarding-active > .cloud-notice,body.onboarding-active > .session-overlay{display:none!important}
#onboardingRoot{min-height:100dvh;background:radial-gradient(ellipse at 80% 0%,#242012 0%,#0b0b09 35%,#080808 70%);padding:calc(18px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));box-sizing:border-box}
.ob-shell{max-width:640px;margin:0 auto}
.ob-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:38px}
.ob-header .brand{font-size:23px;letter-spacing:2px}
.ob-header button{font-size:13px;min-height:44px}
.ob-progress-meta{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#aaa;margin-bottom:12px}
.ob-progress{height:4px;border-radius:10px;background:#28251d;overflow:hidden;margin-bottom:36px}
.ob-progress span{display:block;height:100%;background:linear-gradient(90deg,#a57c25,#e6c66b);transition:width .2s ease}
.ob-content h1{font-size:clamp(29px,5.5vw,40px);line-height:1.14;letter-spacing:-.035em;margin:12px 0 14px;max-width:540px}
.ob-lead{color:#aaa;font-size:16px;line-height:1.55;margin:0 0 28px;max-width:510px}
.ob-options{display:grid;gap:12px}
.ob-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;width:100%;min-width:0;min-height:76px;padding:18px 20px;border:1px solid #34332b;border-radius:17px;background:#121210;color:#eee;cursor:pointer;transition:background .15s,border-color .15s}
.ob-choice strong{display:block;font-size:16px;line-height:1.35;font-weight:700}
.ob-choice small{display:block;font-size:13px;color:#a7a69e;line-height:1.45;margin-top:6px}
.ob-choice-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:1px solid #504b3c;border-radius:50%;color:transparent;font-size:15px}
.ob-choice.selected{background:#242013;border-color:#c7a34e;box-shadow:inset 0 0 0 1px #c7a34e33}
.ob-choice.selected .ob-choice-mark{background:#d2ac52;color:#17130b;border-color:#d2ac52}
.ob-choice.selected strong{color:#f1d388}
.ob-choice:focus-visible,.ob-footer button:focus-visible,.ob-details summary:focus-visible{outline:2px solid #e4c776;outline-offset:4px}
.ob-grid{grid-template-columns:1fr 1fr}
.ob-three{grid-template-columns:repeat(3,1fr)}
.ob-three .ob-choice{padding:16px 12px;flex-direction:column;justify-content:center;gap:10px;text-align:center}
.ob-subtitle{font-size:16px;line-height:1.4;margin:26px 0 14px;font-weight:650}
.ob-hint{color:#999;font-size:13px;line-height:1.55;margin:12px 0 18px}
.ob-frequency{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ob-frequency .ob-choice{flex-direction:column;justify-content:center;padding:15px 8px;gap:0;text-align:center;min-height:84px}
.ob-frequency .ob-choice strong{font-size:25px}.ob-frequency .ob-choice small{margin-top:3px;font-size:12px}.ob-frequency .ob-choice-mark{display:none}
.ob-details{border-top:1px solid #2b281f;margin-top:24px;padding-top:8px}
.ob-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:14px;color:#c9bc98;list-style:none}
.ob-details summary::-webkit-details-marker{display:none}.ob-details summary::after{content:'+';font-size:22px}.ob-details[open] summary::after{content:'−'}.ob-details .ob-options{margin-top:12px}
.ob-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid #29261d}
.ob-footer button{min-height:52px;min-width:110px;font-size:15px;border-radius:14px;padding:14px 20px;white-space:normal}
.ob-footer .primary{margin-left:auto}.ob-footer-note{color:#888;font-size:12px;line-height:1.5}.ob-footer button:disabled{opacity:.35;cursor:default}
.ob-result-intro{text-align:center;padding:0 0 20px}.ob-result-intro h1{margin-left:auto;margin-right:auto}.ob-result-intro p{color:#bbb;font-size:16px;line-height:1.5}
.ob-result-icon{width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#e9c66c;font-size:30px;border:1px solid #86702f;background:#282312;margin-bottom:20px}
.ob-result-card{padding:24px;background:#121210;border:1px solid #3c3420;border-radius:20px;margin-bottom:16px}.ob-result-card h2{font-size:22px;line-height:1.3;margin:12px 0}.ob-result-card h3{font-size:15px;margin:22px 0 10px}.ob-result-card p{font-size:14px;line-height:1.6;color:#aaa}.ob-result-card ul{padding:0;margin:0;list-style:none}.ob-result-card li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #2a281f;font-size:14px;line-height:1.45}.ob-result-card li:last-child{border:0}.ob-result-card li small{flex-shrink:0;color:#d6b966;font-size:12px}.ob-replace{margin-top:16px;min-height:48px;font-size:14px}
#obMessage{color:#dfc579;font-size:14px;line-height:1.5}
.profile-settings h2{font-size:19px;margin:0 0 10px}.profile-settings p{line-height:1.6}
.personal-meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.personal-meal-card{display:flex;flex-direction:column;text-align:left;gap:12px;color:#eee;margin:0;min-width:0}.personal-meal-card strong{font-size:19px;line-height:1.35}.personal-meal-card small{font-size:13px;color:#aaa;line-height:1.5}.personal-meal-link{font-size:13px;color:#d5b767;margin-top:auto}.personal-nutrition-note p{line-height:1.6}
@media(max-width:450px){#onboardingRoot{padding-left:18px;padding-right:18px}.ob-header{margin-bottom:26px}.ob-progress{margin-bottom:28px}.ob-choice{padding:16px 14px}.ob-grid .ob-choice{gap:8px;min-height:70px}.ob-grid .ob-choice strong{font-size:14px}.ob-choice-mark{width:20px;height:20px}.ob-three .ob-choice strong{font-size:14px}.ob-three .ob-choice{padding:14px 6px}.ob-frequency{gap:7px}.ob-footer{gap:10px}.ob-footer button{min-width:0;padding:14px 16px}.ob-result-card{padding:20px}.personal-meal-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ob-choice,.ob-progress span{transition:none}}

.ob-content h1:focus{outline:none}

.ob-plan-choice .ob-choice{min-height:132px;padding:22px;text-align:left}.ob-plan-choice .ob-choice strong{font-size:19px;line-height:1.3}.ob-plan-choice .ob-choice small{line-height:1.5;margin-top:10px}.ob-plan-choice .ob-choice.selected{border-color:var(--gold,#d2aa53);background:#211c12}

.ob-shell:has(.ob-plan-choice) .ob-footer{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.ob-shell:has(.ob-plan-choice) .ob-footer button{width:100%;min-width:0}


/* Source: release2120.css */
.public-entry{margin-bottom:20px}.public-entry p{color:#e4e4e4}.public-entry a{display:block;text-align:center;text-decoration:none}.public-entry nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}.public-entry nav a{font-size:13px;color:#d2ad5a}.first-steps h2,.guidance-card h2{font-size:22px;margin:8px 0}.first-steps details,.guidance-card details{margin:12px 0;color:#b5b5b5}.guidance-card article+article{border-top:1px solid #353535;margin-top:20px;padding-top:16px}.guidance-card h3{margin:14px 0 8px}.guidance-card p{line-height:1.55}.product-preview{max-width:600px;margin:auto;padding:32px 20px 48px}.preview-brand{display:block;text-align:center;color:white;font-size:28px;font-weight:800;letter-spacing:2px;text-decoration:none;margin-bottom:40px}.preview-brand span{color:#d2ad5a}.product-preview h1{font-size:36px;line-height:1.12}.product-preview p{line-height:1.65}.product-preview>a.full{display:block;text-align:center;text-decoration:none;padding:15px;margin:22px 0}.preview-sample [role=tablist]{display:flex;gap:6px;margin:16px 0}.preview-sample [role=tab]{flex:1;min-width:0;padding:10px 3px;font-size:13px;border-radius:12px;border:1px solid #444;background:#181818;color:#ccc}.preview-sample [aria-selected=true]{background:#d2ad5a;color:#080808}.preview-sample [role=tabpanel]{min-height:215px}.preview-bar{height:8px;background:#333;border-radius:6px;margin-top:24px}.preview-bar span{display:block;height:100%;border-radius:6px;background:#d2ad5a}.product-preview table{width:100%;border-collapse:collapse;font-size:13px}.product-preview th,.product-preview td{text-align:left;padding:8px 3px}.product-preview details{margin:18px 0}.product-preview summary{cursor:pointer;color:#e7e7e7}.product-preview small{color:#b5b5b5}.product-preview :focus-visible,.public-entry :focus-visible{outline:2px solid #f5de78;outline-offset:3px}.pause-entry{margin:16px 0}.pause-entry p{font-size:14px}.pause-entry button{min-height:44px}#pausePreview{padding:8px 0;margin-bottom:12px;line-height:1.6}#pausePreview details{border-top:1px solid #353535;padding-top:12px}#pausePreview p{font-size:14px}.calendar-day.pause-day{box-shadow:inset 0 -3px #b5b5b5}.calendar-day.pause-day .calendar-marks:empty:after{content:'Ⅱ';font-size:11px;color:#b5b5b5}.pause-day-note{border-color:#64563b}.pause-entry+p{margin-top:12px}
.paused-week .tile-kpi{font-size:clamp(24px,6vw,32px);line-height:1.2}


/* Source: release2140.css */
/* 2.14.0: approved visual review. Data calculations and the 204px height are retained. */
.bp-icon{display:inline-block;vertical-align:middle;width:20px;height:20px;flex:0 0 20px}
.dashboard-ordered-grid{gap:10px}
.dashboard-ordered-grid>.dashboard-tile{height:204px;min-height:204px;max-height:204px;padding:14px;gap:9px;overflow:hidden;justify-content:flex-start}
.dashboard-tile-button::after{display:none}
.dashboard-tile .eyebrow{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;font-size:10px;letter-spacing:1.1px;line-height:1.3;padding:0;min-height:20px;margin:0;flex-shrink:0}
.dashboard-tile .eyebrow .bp-icon{color:var(--gold);width:18px;height:18px;flex-basis:18px}
.dashboard-tile .tile-context-label{font-size:12px;color:#b8b8b8;margin:0;line-height:1.3}
.dashboard-tile .tile-kpi{font-size:clamp(28px,7vw,36px);line-height:1.05;margin:0}
.dashboard-tile .bar,.dashboard-tile .progress-week-kpi+.bar{height:6px;min-height:6px;margin:0;flex-shrink:0}
.dashboard-tile .tile-plan-name{font-size:14px;line-height:1.2;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.dashboard-tile .progress-week-kpi{display:flex;flex-direction:column;gap:4px;font-size:30px}
.dashboard-tile .progress-week-kpi>span{font-size:12px;color:#b8b8b8;font-weight:400;line-height:1.3;margin:0}
.dashboard-tile .progress-week-kpi>b{font-size:inherit;line-height:1.05;font-weight:800}
.dashboard-tile>small{font-size:12px;line-height:1.4;color:#b8b8b8;margin-top:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.last-training-tile>strong{font-size:15px;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0}
.last-training-tile .last-training-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0 0;flex-shrink:0}
.last-training-stats>span{font-size:21px;line-height:1.1;color:var(--text)}
.last-training-stats>span>small{font-size:11px;line-height:1.3;margin:5px 0 0;color:#b8b8b8}
.dashboard-ordered-grid>.nutrition-dashboard-tile{height:204px;min-height:204px;max-height:204px;gap:7px}
.nutrition-dashboard-tile .dashboard-macro-table{width:100%;font-size:12px!important;border-collapse:collapse;margin:0;flex-shrink:0}
.nutrition-dashboard-tile .dashboard-macro-table th,.nutrition-dashboard-tile .dashboard-macro-table td{line-height:1.2;padding:6px 0;border:0;border-bottom:1px solid #242424}
.nutrition-dashboard-tile .dashboard-macro-table thead th{font-size:12px!important;font-weight:400;color:#b8b8b8;padding:0 0 4px;border:0}
.nutrition-dashboard-tile .dashboard-macro-table th:first-child{font-size:12px;font-weight:400;color:#b8b8b8}
.nutrition-dashboard-tile .dashboard-macro-table td{font-size:13px;font-weight:700;text-align:right;white-space:nowrap}
.nutrition-dashboard-tile .dashboard-macro-table td span{font-size:11px;font-weight:400;color:inherit}
.nutrition-dashboard-tile .dashboard-macro-table td:last-child{color:var(--gold)}
.nutrition-dashboard-tile .dashboard-macro-note{font-size:11px;margin-top:auto;line-height:1.25}
.dashboard-ordered-grid>.workout-hero{min-height:0;height:auto;padding:18px;margin:0;background:#15130e;border-radius:18px}
.workout-hero .hero-title{font-size:clamp(23px,5vw,32px);line-height:1.2;margin:12px 0}
.workout-hero .hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0 18px}
.workout-hero .hero-chip{border:0;background:none;padding:0;font-size:13px;font-weight:400;color:#b8b8b8;display:flex;align-items:center;gap:7px}
.workout-hero .hero-chip .bp-icon{color:#eee}
.workout-hero .actions{margin:0;gap:8px}
.workout-hero .actions button{min-height:46px;flex:1;font-size:14px}
.heatmap-cta-tile .mini-radar{margin:0;flex:1;min-height:0}
.heatmap-cta-tile .mini-radar .muscle-radar-wrap{max-width:none}
.heatmap-cta-tile .muscle-tile-caption{margin-top:0;text-align:center;width:100%;font-size:12px}
.heatmap-cta-tile .tile-state{font-size:16px;line-height:1.3;margin:12px 0 0}
.dashboard-tile.paused-week .tile-kpi{font-size:28px}
.wrapped-shell{max-width:390px;padding:0;margin:0 auto}
.wrapped-story{border:1px solid #303030;border-radius:16px;padding:20px;background:#111}
.wrapped-top{gap:8px;min-height:32px;font-size:12px}
.wrapped-brand{font-size:22px;letter-spacing:1px;font-weight:800;color:#f5f5f5;margin-right:auto}
.wrapped-brand span{color:var(--gold)}
.wrapped-top button{min-width:44px;min-height:44px;padding:4px;font-size:24px}
.wrapped-segments{gap:5px;margin:18px 0 28px}
.wrapped-shell article{border:0;border-radius:0;background:none;padding:0;min-height:375px;display:block;text-align:center}
.wrapped-shell article .eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--gold)}
.wrapped-shell .page-title{font-family:Georgia,serif;font-weight:500;font-size:32px;line-height:1.08;letter-spacing:-.6px;white-space:pre-line;margin:14px 0 20px;overflow-wrap:normal}
.wrapped-illustration{display:flex;align-items:center;justify-content:center;height:120px;margin:12px auto 16px;color:var(--gold)}
.wrapped-illustration .bp-icon{width:130px;height:115px;flex:0 0 130px}
.wrapped-number{font-family:Georgia,serif;font-size:86px;font-weight:400;line-height:1;color:var(--gold);margin:10px 0}
.wrapped-caption{font-size:16px;margin:12px 0;line-height:1.4}
.wrapped-detail{font-size:13px;color:#b8b8b8;margin:14px 0;line-height:1.5}
.wrapped-exercise-name{font-weight:600}
.wrapped-before-after{display:flex;justify-content:center;align-items:center;gap:15px;font-size:18px;line-height:1.3}
.wrapped-before-after>span{min-width:0}
.wrapped-before-after small{display:block;font-size:12px;color:#b8b8b8;margin-top:7px}
.wrapped-before-after>b{color:var(--gold);font-weight:400}
.wrapped-delta{font:32px Georgia,serif;color:var(--gold);margin:20px 0 10px}
.wrapped-rhythm{font:60px Georgia,serif;line-height:1.1;margin:34px 0 14px;color:var(--gold);display:flex;justify-content:center;align-items:baseline;gap:12px}
.wrapped-rhythm small{font:24px Georgia,serif;color:#eee}
.wrapped-week-marks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-width:300px;margin:24px auto}
.wrapped-week-marks:has(span:nth-child(5)):not(:has(span:nth-child(7))){grid-template-columns:repeat(6,minmax(0,1fr))}
.wrapped-week-marks span{border:1px solid #444;border-radius:9px;padding:10px 2px;color:#999}
.wrapped-week-marks span.trained{border-color:#776035;color:var(--gold)}
.wrapped-week-marks b{font-size:18px;font-weight:400}
.wrapped-week-marks small{display:block;font-size:11px;color:#b8b8b8;margin-top:6px}
.wrapped-bodies{display:flex;justify-content:center;gap:8px;height:245px;margin:10px 0}
.wrapped-bodies svg{height:100%;width:46%;max-width:160px;max-height:none}
.wrapped-color-key{display:flex;justify-content:center;gap:6px;margin:18px 0 0}
.wrapped-color-key i{width:16px;height:5px;border:0;border-radius:1px}
.wrapped-method{font-size:12px;color:#b8b8b8;margin:12px 0}
.wrapped-method summary{min-height:44px;display:flex;justify-content:center;align-items:center;cursor:pointer}
.wrapped-method p{font-size:13px;line-height:1.5}
.wrapped-next-summary{border:1px solid #333;border-radius:12px;padding:14px;font-size:17px;line-height:1.5;margin:16px 0}
.wrapped-next-summary small{font-size:13px;color:#b8b8b8;display:block}
.wrapped-controls{display:flex;gap:12px;margin-top:24px}
.wrapped-controls button{min-height:46px;font-size:14px}
.wrapped-controls .secondary{flex:0 1 auto;background:none;border:0;color:#b8b8b8;padding:12px 4px}
.wrapped-controls .primary{flex:1;padding:14px 12px;border-radius:10px}
.wrapped-later{display:block;margin:12px auto 0;min-height:44px;font-size:13px}
.wrapped-date{text-align:center;font-size:12px;color:#b8b8b8;line-height:1.5;margin:12px 0}
body:has(.wrapped-shell) .topbar{display:none}
body:has(.wrapped-shell) .app-shell{padding-top:20px;padding-bottom:24px}
@media(max-width:360px){.dashboard-ordered-grid{gap:8px}.dashboard-ordered-grid>.dashboard-tile{padding:12px;gap:7px}.dashboard-tile .eyebrow{font-size:9px;letter-spacing:.9px}.dashboard-tile .eyebrow .bp-icon{width:16px;height:16px;flex-basis:16px}.dashboard-tile .tile-context-label{font-size:11px}.dashboard-tile .tile-kpi,.dashboard-tile .progress-week-kpi{font-size:28px}.last-training-tile>strong{font-size:14px}.last-training-stats>span{font-size:19px}.last-training-stats>span>small{font-size:10px}.dashboard-tile>small{font-size:11px}.wrapped-story{padding:16px}.wrapped-shell .page-title{font-size:29px}.wrapped-before-after{gap:10px;font-size:16px}.wrapped-controls button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.wrapped-shell *{animation:none!important;transition:none!important}}
/* Override earlier compact-layout selectors at the same specificity. */
.dashboard-ordered-grid>.dashboard-tile>.eyebrow{padding-right:0;letter-spacing:1.1px;line-height:1.3;font-size:10px}
.dashboard-ordered-grid>.last-training-tile>strong{margin:0;font-size:15px;-webkit-line-clamp:2;line-height:1.25}
.dashboard-ordered-grid>.dashboard-tile .tile-plan-name{margin:0;font-size:14px;line-height:1.2}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table{margin:0;font-size:12px!important}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table th,.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table td{padding:5px 0;line-height:1.2}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table thead th{padding:0 0 4px}
.dashboard-ordered-grid>.workout-hero .hero-chip{padding:0;border:0;background:none}
.dashboard-ordered-grid>.workout-hero .hero-meta{margin:10px 0;gap:14px}
.dashboard-ordered-grid>.workout-hero .actions button{font-size:14px}
@media(max-width:360px){.dashboard-ordered-grid>.dashboard-tile>.eyebrow{font-size:9px;letter-spacing:.9px}}
.heatmap-cta-tile .tile-state{font-size:14px;overflow-wrap:normal;word-break:normal}
.wrapped-shell article:focus{outline:none}
.wrapped-shell article:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.last-training-stats>span>small{font-size:10px;font-weight:400;letter-spacing:normal}
/* 2.14.1 shared tile affordance and viewport composition. */
:root{--bp-safe-top:env(safe-area-inset-top,0px);--bp-safe-bottom:env(safe-area-inset-bottom,0px)}
.topbar{padding-top:calc(12px + var(--bp-safe-top))}
.dashboard-ordered-grid>.dashboard-tile{position:relative}
.tile-nav-arrow{position:absolute;right:14px;bottom:14px;width:18px;height:18px;color:#a8a8a8;pointer-events:none}
.tile-nav-arrow svg{display:block;width:100%;height:100%}
.dashboard-ordered-grid>.dashboard-tile>small{padding-right:24px}
.heatmap-cta-tile .muscle-tile-caption{padding-right:0!important}
.nutrition-dashboard-tile .dashboard-macro-note{padding-right:24px}
body:has(.wrapped-shell){overflow:hidden}
body:has(.wrapped-shell) .app-shell{padding:0}
.wrapped-shell{position:fixed;inset:0;z-index:90;max-width:none;height:100vh;height:100dvh;background:var(--bg);padding:calc(16px + var(--bp-safe-top)) 16px calc(16px + var(--bp-safe-bottom));display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:10px}
.wrapped-story{width:min(390px,100%);height:100%;max-height:760px;min-height:0;align-self:center;display:flex;flex-direction:column;padding:20px}
.wrapped-top,.wrapped-segments,.wrapped-controls,.wrapped-later{flex-shrink:0}
.wrapped-segments{margin:16px 0 22px}
.wrapped-shell article{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;justify-content:safe center;padding:4px;scroll-padding:8px}
.wrapped-shell article>*{flex-shrink:0}
.wrapped-shell article .eyebrow{margin-top:0}
.wrapped-controls{margin-top:16px}
.wrapped-date{width:min(390px,100%);margin:0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.wrapped-later{margin:4px auto 0}
@media(max-height:760px){.wrapped-story{padding:16px}.wrapped-shell .page-title{font-size:29px;margin:12px 0 14px}.wrapped-illustration{height:96px;margin:8px auto 12px}.wrapped-illustration .bp-icon{width:108px;height:96px;flex-basis:108px}.wrapped-number{font-size:72px;margin:8px 0}.wrapped-bodies{height:210px}.wrapped-rhythm{margin:18px 0 10px;font-size:52px}.wrapped-week-marks{margin:16px auto}.wrapped-detail{margin:10px 0}.wrapped-segments{margin:12px 0 16px}}
@media(max-height:620px){.wrapped-shell{padding-top:calc(10px + var(--bp-safe-top));padding-bottom:calc(10px + var(--bp-safe-bottom));gap:6px}.wrapped-story{padding:12px}.wrapped-shell .page-title{font-size:25px}.wrapped-top{min-height:44px}.wrapped-segments{margin:8px 0 12px}.wrapped-controls{margin-top:10px}.wrapped-caption{margin:8px 0}.wrapped-bodies{height:175px}}
.wrapped-secondary-action{height:48px;flex-shrink:0;display:flex;justify-content:center;align-items:center}
.wrapped-secondary-action .wrapped-later{margin:0}
.wrapped-bodies{height:205px}
.wrapped-color-key{margin-top:12px}
.wrapped-method{margin:8px 0}
.wrapped-method summary{min-height:36px}
@media(max-height:620px){.wrapped-bodies{height:175px}}
.wrapped-controls{height:56px;min-height:56px;align-items:stretch}
.wrapped-controls button{height:56px;min-height:56px;line-height:18px;padding:8px 10px}


/* Source: section-heroes.css */
.section-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #393329;border-radius:20px;height:190px;min-height:190px;margin:0 0 22px;background:#1c1a17;display:flex;align-items:flex-end}.section-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 30%;z-index:-2}.section-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,14,12,.65),rgba(15,14,12,.4) 38%,rgba(0,0,0,.08) 72%);z-index:-1}.section-hero-copy{padding:22px;width:62%;box-sizing:border-box}.section-hero .page-title{font-size:28px;line-height:1.15;margin:0 0 8px;color:#fff;text-shadow:0 1px 8px #0006}.section-hero p{margin:0;color:#eee5d4;font-size:14px;line-height:1.5}.section-hero--training img{object-fit:cover;object-position:65% center}.section-hero--nutrition img{object-position:center}@media(min-width:701px){.section-hero{height:230px;min-height:230px}.section-hero-copy{width:55%;padding:26px}.section-hero .page-title{font-size:32px}}@media(max-width:380px){.section-hero-copy{padding:16px;width:64%}.section-hero .page-title{font-size:25px}.section-hero p{font-size:13px}}
.section-hero--meals img,.section-hero--shopping img{object-position:65% center}

.section-hero--nutrition .section-hero-copy{width:100%}.section-hero--nutrition .page-title{white-space:nowrap}.section-hero--nutrition p{white-space:normal}

/* Training entry tiles: presentation only, existing destinations remain intact. */
.training-hub-links{gap:12px}
body .training-hub-link{display:grid;grid-template-columns:82px minmax(0,1fr) 22px;gap:14px;min-height:114px;padding:14px;background:linear-gradient(110deg,#191815,#111 70%);border-color:#34312c}
body .training-hub-thumb{display:block;width:82px;height:82px;max-width:none;object-fit:cover;border-radius:13px}
body .training-hub-copy{min-width:0;color:var(--text)}
body .training-hub-copy strong{font-size:18px;line-height:1.2;letter-spacing:-.25px}
body .training-hub-copy small{font-size:12px;line-height:1.45;color:var(--muted);margin-top:7px}
body .training-hub-link>.bp-nav-icon{margin:0;justify-self:end}
@media(max-width:360px){body .training-hub-link{grid-template-columns:66px minmax(0,1fr) 22px;gap:10px;padding:12px;min-height:104px}body .training-hub-thumb{width:66px;height:66px}body .training-hub-copy strong{font-size:16px}}


/* Source: shell-polish.css */
/* Pinned header is independent of ancestor overflow on iOS. */
:root{--bp-header-height:calc(56px + env(safe-area-inset-top,0px))}
body>.topbar{position:fixed;inset:0 0 auto 0;height:var(--bp-header-height);min-height:var(--bp-header-height);box-sizing:border-box;z-index:30;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));grid-template-columns:44px minmax(0,1fr) 44px;background:rgba(8,8,8,.98);border-bottom:1px solid #28251e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.topbar .brand{font-size:24px;letter-spacing:2px}.topbar .top-back{height:44px;width:44px}.app-shell{margin-top:var(--bp-header-height)}
html{scroll-padding-top:calc(var(--bp-header-height) + 12px)}
.nutrition-day-selector{top:var(--bp-header-height)}
body:has(.wrapped-shell) .app-shell{margin-top:0}
.dashboard-ordered-grid>.workout-hero{background:radial-gradient(ellipse at 95% 0,rgba(214,166,72,.22),transparent 60%),linear-gradient(125deg,#211b10 0%,#17140e 48%,#101010 100%);border-color:#725725}
.dashboard-ordered-grid>.workout-hero::after{border-color:rgba(212,168,83,.2);box-shadow:0 0 0 18px rgba(212,168,83,.035),0 0 0 38px rgba(212,168,83,.015)}

/* Block periods: readable mobile dates; current is distinct from target achieved. */
.consistency-weeks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.consistency-week{padding:13px 11px;gap:7px}
.consistency-week span{font-size:13px}
.consistency-week strong{font-size:24px}
.consistency-week small{font-size:12px;color:#b7b7b7}
.consistency-week .week-dates{font-size:12px;color:#bdbdbd;line-height:1.45}
.consistency-week.future{opacity:1;background:#111}
.consistency-week.future strong{color:#999}
.consistency-week.current{border:2px solid var(--gold);padding:12px 10px;background:#211c11}
.consistency-week.current small{color:#e6bc6c}
.block-start-label,.block-week-range{color:#bdbdbd;font-size:13px;line-height:1.5}
.block-start-label{margin:6px 0 12px}
.block-week-range{display:block}
@media(min-width:700px){.consistency-weeks{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Approved dashboard footers: one compact text/arrow group at bottom right. */
.dashboard-ordered-grid>.dashboard-tile{padding-bottom:10px}
.dashboard-ordered-grid>.dashboard-tile>small.dashboard-tile-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin-top:auto!important;margin-bottom:0;padding:4px 0 0!important;text-align:right;overflow:visible;-webkit-line-clamp:unset;flex-shrink:0;font-size:12px;line-height:1.4;color:#aaa}
.dashboard-tile-footer .dashboard-footer-text{min-width:0;overflow-wrap:anywhere}
.dashboard-tile-footer .tile-nav-arrow{position:static;display:block;width:16px;height:16px;flex:0 0 16px;color:inherit}
@media(max-width:360px){.dashboard-ordered-grid>.dashboard-tile>small.dashboard-tile-footer{font-size:11px}}

/* 2.14.16: shared header/context/content/footer rhythm. */
.dashboard-ordered-grid{grid-auto-rows:auto}
.dashboard-ordered-grid>.balanced-tile{display:grid;height:auto;min-height:228px;max-height:none;grid-template-rows:20px minmax(30px,auto) minmax(112px,1fr) auto;gap:6px;padding:14px 12px 10px;overflow:visible}
.dashboard-ordered-grid>.balanced-tile>.eyebrow{padding:0;margin:0;align-self:center}
.balanced-tile .dashboard-tile-subline{display:flex;align-items:center;min-width:0;text-align:left}
.dashboard-ordered-grid>.balanced-tile .dashboard-subline-text{display:block;margin:0;font-size:12px;font-weight:400;line-height:1.3;color:#b8b8b8;overflow-wrap:anywhere;white-space:normal;padding:0;font-family:inherit;letter-spacing:normal;text-transform:none;-webkit-line-clamp:unset}
.balanced-tile .dashboard-tile-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding-bottom:8px}
.balanced-tile .dashboard-tile-content>.last-training-stats{margin:0}
.balanced-tile .dashboard-tile-content>.block-week-range{margin:0;font-size:11px;line-height:1.3}
.balanced-tile .dashboard-tile-content>.tile-state{margin:0;font-size:14px;line-height:1.3}
.dashboard-ordered-grid>.balanced-tile>small.dashboard-tile-footer{margin:0!important;align-self:end;min-height:20px;font-size:11px;padding:0!important}
.balanced-tile.heatmap-cta-tile .dashboard-tile-content{padding-bottom:14px}
@media(max-width:380px){.dashboard-ordered-grid>.balanced-tile{padding-left:10px;padding-right:10px}.balanced-tile>.eyebrow{font-size:9px;letter-spacing:.6px}}

/* 2.14.17: explicit full-width grid track; do not inherit flex-start packing. */
.dashboard-ordered-grid>.balanced-tile{grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;align-items:stretch;min-width:0;width:100%;container-type:inline-size}
.dashboard-ordered-grid>.balanced-tile>*{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.balanced-tile .dashboard-tile-subline,.balanced-tile .dashboard-tile-content{width:100%;min-width:0;max-width:100%}
.dashboard-ordered-grid>.balanced-tile>.eyebrow{height:auto;min-height:20px;overflow-wrap:anywhere;letter-spacing:.08em}
.dashboard-ordered-grid>.balanced-tile{grid-template-rows:minmax(20px,auto) minmax(30px,auto) minmax(112px,1fr) auto}
.balanced-tile .dashboard-tile-content .bar{width:100%}
.balanced-tile .last-training-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.balanced-tile .last-training-stats>span{min-width:0;overflow-wrap:anywhere}
.balanced-tile .tile-kpi{overflow-wrap:anywhere}
.balanced-tile .dashboard-footer-text{overflow-wrap:anywhere;white-space:normal}
.dashboard-ordered-grid>.nutrition-dashboard-tile{height:auto;max-height:none;min-height:204px;overflow:visible;align-items:stretch}
.dashboard-macro-table{table-layout:fixed}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table td{white-space:normal;overflow-wrap:anywhere}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table th{overflow-wrap:anywhere}
.dashboard-intro{flex-wrap:wrap}
.dashboard-intro>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:399px){.dashboard-ordered-grid{grid-template-columns:minmax(0,1fr)}}
@container (max-width:145px){.mini-radar-axis{font-size:11px}.dashboard-tile-content{overflow-wrap:anywhere}}
.dashboard-ordered-grid>.dashboard-tile.nutrition-dashboard-tile{height:auto;max-height:none;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-items:stretch;justify-content:stretch}
.dashboard-ordered-grid>.nutrition-dashboard-tile .dashboard-macro-table{width:100%;min-width:0;max-width:100%;table-layout:fixed}
.dashboard-ordered-grid>.nutrition-dashboard-tile>small.dashboard-tile-footer{min-width:0;max-width:100%;white-space:normal}

/* 2.14.20: one symmetric layout for the dashboard radar, independent of label lengths. */
.balanced-tile.heatmap-cta-tile .mini-radar{display:block;width:100%;height:auto;min-height:112px;margin:0;flex:none;overflow:visible}
.balanced-tile.heatmap-cta-tile .mini-radar .muscle-radar-wrap{display:grid;position:relative;inset:auto;transform:none;box-sizing:border-box;width:100%;max-width:260px;height:auto;min-height:112px;margin:0 auto!important;padding:0;grid-template-columns:minmax(4.8em,1fr) minmax(0,1fr) minmax(4.8em,1fr);grid-template-rows:auto minmax(74px,auto) auto;gap:4px;font-size:10px;align-items:center;justify-items:stretch}
.balanced-tile.heatmap-cta-tile .mini-radar .muscle-radar{display:block;position:static;inset:auto;transform:none;grid-column:2;grid-row:2;width:100%;max-width:100%;height:74px;max-height:none;margin:0;overflow:hidden;align-self:center;justify-self:center}
.balanced-tile.heatmap-cta-tile .mini-radar-axis{position:static;inset:auto;transform:none;min-width:0;max-width:100%;margin:0;padding:0;font-size:inherit;line-height:1.4;white-space:normal;overflow-wrap:anywhere;align-self:center}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-0{grid-column:1/4;grid-row:1;text-align:center}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-3{grid-column:1/4;grid-row:3;text-align:center}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-1{grid-column:3;grid-row:2;align-self:start;text-align:right}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-2{grid-column:3;grid-row:2;align-self:end;text-align:right}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-5{grid-column:1;grid-row:2;align-self:start;text-align:left}
.balanced-tile.heatmap-cta-tile .mini-radar-axis-4{grid-column:1;grid-row:2;align-self:end;text-align:left}

/* Shared block heading: pause action follows any active plan. */
.block-page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:22px}
.block-page-title{flex:1 1 240px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.block-page-title .page-title{margin-bottom:0}
.block-page-heading .block-pause-entry{display:contents}
.block-page-heading .block-pause-button{order:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;max-width:100%;min-height:44px;margin-left:auto;padding:10px 14px;border:1px solid #766039;border-radius:12px;font-size:13px;line-height:1.4}
.block-pause-button svg{flex:0 0 16px}
.block-pause-button span{min-width:0;overflow-wrap:anywhere}
.block-page-heading .block-pause-entry>p{order:2;flex:1 0 100%;min-width:0;margin:0;overflow-wrap:anywhere}

/* Compact personal records; intrinsic tracks reflow with available space and text size. */
.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(10rem,calc((100% - 10px)/2))),1fr));gap:10px;max-width:100%}
.record-grid .record-tile{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;width:100%;height:auto;margin:0;padding:15px 12px;background:#111;border:1px solid #303030;border-radius:15px;color:#f4f4f4;white-space:normal;overflow-wrap:anywhere;font-family:inherit}
.record-tile .record-title{display:block;font-size:.875rem;line-height:1.35;font-weight:700;min-height:3.85em;margin:0 0 16px}
.record-tile .record-result{margin-top:auto;margin-bottom:16px;min-width:0}
.record-result b{display:block;font-size:1.375rem;line-height:1.2;color:var(--gold);font-weight:700}
.record-result span{display:block;margin-top:5px;font-size:.75rem;line-height:1.4;color:var(--gold)}
.record-meta{display:flex;flex-direction:column;gap:8px;color:#b8b8b8;font-size:.75rem;line-height:1.45}
.record-meta time{color:#999;font-size:.6875rem}

/* 2.16.1: calm completed-session rows and dated personal-record charts. */
.session-history-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center}
.session-history-row>.bp-ex-thumb{display:inline-flex;align-self:center;width:64px;height:64px;border:1px solid #393939;border-radius:11px;background:#171717;color:inherit;font-weight:400;overflow:hidden;padding:0}
.session-history-row>.bp-ex-thumb img{width:100%;height:100%;object-fit:cover}
.session-history-copy{display:grid;gap:10px;min-width:0;align-content:center}
.session-history-copy>strong{min-width:0;overflow-wrap:anywhere}
.session-history-copy .session-set-chips{margin:0}
.record-intro{margin-top:-8px;margin-bottom:18px}
.record-period-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}
.record-period-switch button{min-width:0;min-height:48px;padding:10px 8px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:750;white-space:normal}
.record-period-switch button.active{background:var(--gold);border-color:var(--gold);color:#0b0b0b}
.record-period-switch button:disabled{opacity:.35}
.record-list{display:grid;gap:12px}
.record-list-label{margin:1px 0 2px}
.record-progress-card{display:block;width:100%;min-width:0;margin:0;padding:18px;border:1px solid #303030;border-radius:18px;background:#111;color:#f4f4f4;text-align:left;font-family:inherit;overflow:hidden}
.record-card-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}
.record-card-head>.bp-ex-thumb{width:56px;height:56px}
.record-card-head>.bp-ex-thumb img{object-fit:cover}
.record-heading{display:grid;gap:5px;min-width:0}
.record-heading strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.record-heading small{color:#aaa;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.record-current{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:18px}
.record-current b{color:var(--gold);font-size:29px;line-height:1.1}
.record-current .record-label{color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.record-current .record-change{color:var(--gold);font-size:13px;font-weight:800}
.record-meta-line{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:7px;color:#a8a8a8;font-size:12px;line-height:1.45}
.record-meta-line time{color:#f0f0f0;font-weight:700}
.record-trend{margin-top:17px}
.record-trend svg{display:block;width:100%;height:auto;overflow:visible}
.record-trend-grid{fill:none;stroke:#292929;stroke-width:1;vector-effect:non-scaling-stroke}
.record-trend-axis{stroke:#454545;stroke-width:1;vector-effect:non-scaling-stroke}
.record-trend polyline{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.record-trend circle{fill:#111;stroke:var(--gold);stroke-width:2;vector-effect:non-scaling-stroke}
.record-trend circle.latest{fill:var(--gold);stroke:#111;stroke-width:2.5}
.record-axis-label,.record-date-label,.record-axis-title{fill:#8f8f8f;font-size:9px}
.record-axis-title{font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.record-date-label.latest{fill:var(--gold);font-weight:800}
.record-method-note{margin:16px 2px 0;font-size:12px;line-height:1.5}
@media(max-width:430px){.record-progress-card{padding:15px}.record-card-head{grid-template-columns:52px minmax(0,1fr)}.record-card-head>.bp-ex-thumb{width:52px;height:52px}.record-current b{font-size:25px}.session-history-row{grid-template-columns:58px minmax(0,1fr);gap:12px}.session-history-row>.bp-ex-thumb{width:58px;height:58px}}
@media(max-width:350px){.record-period-switch button{font-size:11px}.session-history-row{grid-template-columns:52px minmax(0,1fr);gap:10px}.session-history-row>.bp-ex-thumb{width:52px;height:52px}.session-history-copy .session-set-chips{gap:6px}}

/* 2.16.2: compact record filters and BodyPlan-native training-pause calendar. */
.record-muscle-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 20px}
.record-muscle-filters button{min-height:36px;margin:0;padding:7px 13px;border:1px solid #333;border-radius:999px;background:#121212;color:#bdbdbd;font:inherit;font-size:12px;font-weight:750}
.record-muscle-filters button.active{border-color:#806226;background:#2d2415;color:var(--gold)}
.record-muscle-filters button:disabled{display:none}
.record-compact-list{overflow:hidden;border:1px solid #303030;border-radius:18px;background:#111}
.record-muscle-section+.record-muscle-section{border-top:1px solid #3a3326}
.record-muscle-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 8px;color:var(--gold);font-size:12px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.record-muscle-heading span{color:#888;font-size:10px;font-weight:650;letter-spacing:0;text-transform:none}
.record-compact-wrap{border-top:1px solid #272727}
.record-compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;width:100%;min-height:68px;margin:0;padding:11px 15px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left}
.record-compact-copy{display:grid;gap:4px;min-width:0}
.record-compact-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3}
.record-compact-copy small{color:#999;font-size:11px;line-height:1.35}
.record-compact-value{display:grid;gap:4px;text-align:right;white-space:nowrap}
.record-compact-value b{color:var(--gold);font-size:14px;line-height:1.3}
.record-compact-value time{color:#898989;font-size:11px}
.record-compact-chevron{color:var(--gold);font-size:22px;line-height:1;transition:transform .2s ease}
.record-compact-row[aria-expanded="true"] .record-compact-chevron{transform:rotate(90deg)}
.record-compact-detail{padding:14px 15px 12px;border-top:1px solid #272727;background:#0d0d0d}
.record-compact-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.record-compact-detail-head>span{display:grid;gap:4px;min-width:0}
.record-compact-detail-head b{font-size:12px;line-height:1.4}
.record-compact-detail-head small{color:#999;font-size:11px;line-height:1.4}
.record-detail-link{flex:0 0 auto;margin:0;padding:0;border:0;background:transparent;color:var(--gold);font:inherit;font-size:11px;font-weight:750}
.record-compact-detail .record-trend{margin-top:12px}

.pause-intro{margin-top:-4px;margin-bottom:20px;max-width:620px}
.pause-duration-label{margin:0 0 9px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.pause-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.pause-quick button{min-width:0;min-height:44px;padding:8px;border:1px solid #343434;border-radius:12px;background:#151515;color:#bdbdbd;font:inherit;font-size:12px;font-weight:750}
.pause-quick button.active{border-color:var(--gold);background:#2d2415;color:var(--gold)}
.pause-form{padding:18px}
.pause-form h2{margin-bottom:14px}
.pause-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pause-date-field{position:relative;display:grid;gap:5px;min-height:70px;margin:0;padding:11px 34px 11px 12px;border:1px solid #393939;border-radius:12px;background:#0b0b0b;color:var(--text);font:inherit;text-align:left}
.pause-date-field small{color:#8f8f8f;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pause-date-field strong{font-size:14px;line-height:1.3}
.pause-date-field>span{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:20px}
.pause-date-field:disabled{opacity:.65}
.pause-preview{margin-top:15px;padding-top:14px;border-top:1px solid #303030}
.pause-preview-duration{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.pause-preview-duration span{color:#999;font-size:12px}
.pause-preview-duration strong{color:var(--gold);font-size:18px}
.pause-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pause-impact-grid>div{display:grid;gap:4px;padding:11px;border-radius:11px;background:#181818}
.pause-impact-grid small{color:#888;font-size:10px}
.pause-impact-grid strong{font-size:13px;line-height:1.3}
.pause-impact-grid span{color:#999;font-size:10px}
.pause-planned{margin-top:10px;padding:12px;border-radius:11px;background:#181818;color:#aaa;font-size:12px}
.pause-planned summary{color:#aaa}
.pause-planned summary b{color:var(--text)}
.pause-planned p{margin:9px 0 0;line-height:1.4}
.pause-error{margin:14px 0 0;color:#ff9c9c;font-size:12px}
.pause-confirm{margin-top:16px}
.pause-existing{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.pause-existing>span{display:grid;gap:4px}
.pause-existing small{color:#999}
.pause-existing .actions{margin:0}
.pause-footnote{margin:12px 4px 0;text-align:center;font-size:12px}
.pause-calendar-backdrop{position:fixed;z-index:1200;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(0,0,0,.72)}
.pause-calendar-backdrop[hidden]{display:none}
.pause-calendar{width:min(100%,460px);padding:18px;border:1px solid #4a3d24;border-radius:22px;background:#111;color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.7)}
.pause-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px}
.pause-calendar-head strong{text-align:center;font-size:17px;text-transform:capitalize}
.pause-calendar-head button{width:42px;height:42px;margin:0;padding:0;border:1px solid #363636;border-radius:11px;background:#181818;color:var(--gold);font:inherit;font-size:24px}
.pause-calendar-range{margin:10px 0 13px;color:#aaa;font-size:12px;text-align:center}
.pause-calendar-range b{color:var(--gold)}
.pause-calendar-weekdays,.pause-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.pause-calendar-weekdays span{padding:5px 0;color:#777;font-size:10px;font-weight:750;text-align:center}
.pause-calendar-day{position:relative;min-width:0;min-height:40px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#ddd;font:inherit;font-size:13px}
.pause-calendar-day.muted{color:#555}
.pause-calendar-day.range{border-radius:0;background:#2d2415;color:var(--gold)}
.pause-calendar-day.start{border-radius:10px 0 0 10px;background:var(--gold);color:#0a0a0a;font-weight:850}
.pause-calendar-day.end{border-radius:0 10px 10px 0;background:var(--gold);color:#0a0a0a;font-weight:850}
.pause-calendar-day.start.end{border-radius:10px}
.pause-calendar-day.today:after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;transform:translateX(-50%);border-radius:50%;background:currentColor}
.pause-calendar-day:disabled{opacity:.25}
.pause-calendar-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:16px}
.pause-calendar-actions button{min-height:46px;margin:0;border-radius:12px;font-weight:800}
@media(max-width:430px){.record-compact-copy strong{font-size:13px}.record-compact-value b{font-size:13px}.pause-existing{align-items:flex-start;flex-direction:column}.pause-existing .actions{width:100%}.pause-existing .actions button{flex:1}}
@media(max-width:350px){.record-compact-row{grid-template-columns:minmax(0,1fr) 18px}.record-compact-value{grid-column:1/-1;grid-row:2;text-align:left}.record-compact-chevron{grid-column:2;grid-row:1}.pause-date-grid,.pause-impact-grid{grid-template-columns:1fr}.pause-quick button{font-size:11px}.pause-calendar{padding:13px}.pause-calendar-day{min-height:38px}}

/* 2.16.3: clearer set-rest controls and exercise thumbnails in weekly progress. */
.rest-actions button{border-color:#735a28;color:#f1f1f1}
.rest-actions button:hover,.rest-actions button:focus-visible{border-color:var(--gold);background:#1d1911;color:var(--gold)}
.week-exercise-preview>div{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;min-height:64px;padding:8px 0}
.week-exercise-preview .bp-ex-thumb{width:48px;height:48px;border-radius:10px}
.week-exercise-preview strong{min-width:0;font-size:14px;line-height:1.3}
.week-exercise-preview small{white-space:nowrap;text-align:right}
@media(max-width:359px){.week-exercise-preview>div{grid-template-columns:44px minmax(0,1fr)}.week-exercise-preview .bp-ex-thumb{width:44px;height:44px}.week-exercise-preview small{grid-column:2;text-align:left}}


/* Equal Wrapped navigation areas, including disabled and final actions. */
.wrapped-shell .wrapped-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:auto;min-height:56px;align-items:stretch}
.wrapped-shell .wrapped-controls>button{box-sizing:border-box;width:100%;min-width:0;height:auto;min-height:56px;margin:0;padding:12px 10px;border-radius:10px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.wrapped-shell .wrapped-controls>.secondary{border:1px solid #444;background:#161616;color:#b8b8b8}
.wrapped-shell .wrapped-controls>.primary{border:1px solid transparent}

/* Profile: shared responsive editing structure */
.profile-editor{display:grid;gap:16px;min-width:0}.profile-editor label{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}.profile-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}.profile-editor input,.profile-editor select{width:100%;min-width:0;max-width:100%;font-size:16px}.profile-editor fieldset{min-width:0;margin:0;padding:12px;border:1px solid #333;border-radius:14px;display:grid;gap:12px}.profile-editor legend{padding:0 6px}.profile-editor .profile-check{display:flex;align-items:flex-start;gap:12px}.profile-editor .profile-check input{width:20px;height:20px;flex:0 0 20px;margin:2px 0}.profile-error:empty{display:none}.profile-editor button{white-space:normal;overflow-wrap:anywhere}.profile-editor p{margin:0}

.profile-editor input[type="checkbox"]{accent-color:#d3aa50}

/* Scoped profile polish */
.help-intro{display:grid;gap:20px;padding:clamp(20px,4vw,32px);background:linear-gradient(130deg,rgba(211,170,80,.14),#111 75%);border-color:#594725}
.help-intro h2,.help-intro p{margin:0;overflow-wrap:anywhere}.help-intro p{line-height:1.55;color:#bbb}
.help-intro a.primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;min-height:48px;padding:14px 16px;margin-top:4px;text-decoration:none;white-space:normal;text-align:center;overflow-wrap:anywhere}
.account-data-actions .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.account-data-actions button{width:100%;min-width:0;min-height:48px;padding:14px 16px;border-radius:14px;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;margin:0 0 20px;background:#111;border:1px solid #333;border-radius:16px}.profile-tabs button{min-width:0;min-height:48px;padding:12px 8px;background:transparent;color:#aaa;border:0;border-radius:12px;white-space:normal}.profile-tabs button[aria-selected="true"]{background:#d3aa50;color:#080808}.profile-panel[hidden]{display:none!important}.profile-plan-check{margin-top:20px}

.session-set-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.session-set-controls button{width:100%;min-width:0;min-height:44px;white-space:normal;padding:12px 8px}.session-set-controls button:disabled{opacity:.4}

/* Current plan identity and its existing pause action share the progress card. */
.block-plan-identity{margin-bottom:22px;min-width:0}
.block-plan-identity small{color:var(--muted)}
.block-plan-identity h2{margin:5px 0 0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}
.block-detail-hero .block-pause-entry{display:block;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.block-detail-hero .block-pause-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;border:1px solid #766039;border-radius:12px;font-size:14px;line-height:1.4}
.block-detail-hero .block-pause-entry>p{margin:0 0 12px;overflow-wrap:anywhere}

/* Training library: compact, text-led cards, matching the approved mobile design. */
.training-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.training-page-head>div{min-width:0}.training-page-head .page-title{font-size:clamp(23px,6vw,30px);margin:8px 0 0}.training-page-head>.primary{flex:0 0 auto;width:auto!important;max-width:90px;padding:12px 16px}.training-page-head>div{flex:1}.training-page-head .page-title{overflow-wrap:normal;word-break:normal}.training-section-label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}.training-plan-card,.training-next{width:100%;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;padding:18px;background:#151515;border:1px solid #303030;border-radius:18px;color:var(--text);margin:0 0 10px;min-height:92px}.training-plan-card strong,.training-next strong{display:block;font-size:18px;line-height:1.3;overflow-wrap:anywhere}.training-plan-card small,.training-next small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:5px}.training-chevron{color:var(--gold);font-size:28px;justify-self:end}.active-plan strong{font-size:23px}.active-plan .bar{display:block;margin-top:13px;height:5px}.training-next{padding:14px 18px;min-height:72px;background:#101010}.training-next strong{font-size:15px}.training-next small{font-size:12px}.training-library{border-top:1px solid #302c24;padding-top:22px;margin-top:22px;scroll-margin-top:85px}.training-origin{display:grid;grid-template-columns:1fr 1.3fr 1fr;border:1px solid #343434;padding:4px;border-radius:14px;gap:3px}.training-origin button{min-width:0;min-height:44px;border:0;border-radius:10px;padding:8px 4px;font-size:13px;background:transparent;color:var(--text)}.training-origin button.selected,.training-frequency button.selected{background:var(--gold);color:#111}.training-filter-label{margin:16px 0 9px}.training-frequency{display:flex;gap:7px;overflow-x:auto;padding:0 0 7px;margin-bottom:8px}.training-frequency button{flex:1;min-width:38px;min-height:44px;padding:8px 5px;border:1px solid #343434;border-radius:13px;color:var(--text);background:#141414;font-size:13px}.training-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.training-badges>span{border:1px solid #393939;border-radius:20px;padding:3px 8px;font-size:11px;line-height:1.4;color:#c9c9c9;background:#222}.training-badges .recommended{color:var(--gold);background:#2c2415;border-color:#695325}.training-history{border:1px solid #333;border-radius:12px;padding:14px;margin-top:15px}.training-history>summary{cursor:pointer;min-height:28px}.training-history .training-plan-card{margin-top:12px}.training-create-choice{display:grid;gap:14px;margin:22px 0 8px}.training-create-choice button{display:block;text-align:left;border:1px solid var(--gold);padding:22px 18px;border-radius:16px;min-height:110px}.training-create-choice strong{display:block;font-size:18px}.training-create-choice span{display:block;margin-top:9px;line-height:1.5;font-size:14px;color:var(--muted)}#newPlanDialog .body-dialog{max-width:500px;width:100%}#newPlanDialog [hidden]{display:none!important}.training-preview-form label,.training-preview-form select,#newPlanForm label,#newPlanForm select{display:block;width:100%;min-width:0}.training-preview-form label,#newPlanForm label{margin:12px 0}.training-weekdays{display:flex;flex-wrap:wrap;gap:8px}.training-weekdays label{display:flex;align-items:center;gap:5px;min-height:44px;width:auto;font-size:13px}.training-weekdays input{width:18px;height:18px;min-height:0}.training-preview-form fieldset,.block-options fieldset{border:1px solid #383838;border-radius:12px;margin:16px 0;padding:12px}.training-audit{margin:16px 0;line-height:1.55}.training-audit summary{cursor:pointer;min-height:44px;align-content:center;color:var(--gold)}.training-audit p{font-size:13px;color:var(--muted)}.training-audit .training-error{color:#f2b5a7}.training-volume{margin:12px 0}.training-volume>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #303030;padding:6px 0;font-size:13px}.training-volume dd{margin:0;color:var(--gold)}.training-day-preview summary{cursor:pointer;line-height:1.5;min-height:44px}.training-preview-exercise{padding:12px 0;border-top:1px solid #303030}.training-preview-exercise strong,.training-preview-exercise small{display:block}.training-preview-exercise small{color:var(--muted);margin-top:5px}.training-adopt-actions{display:grid;gap:12px;margin:20px 0}.training-availability{font-style:italic}#newPlanDialog{align-items:flex-end;padding-bottom:max(16px,env(safe-area-inset-bottom))}#newPlanDialog .body-dialog{max-height:85dvh;overflow-y:auto;border-radius:24px 24px 16px 16px}.training-plan-card:focus-visible,.training-next:focus-visible,.training-frequency button:focus-visible,.training-origin button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:360px){.training-page-head .page-title{font-size:23px}.training-page-head>.primary{padding:12px}.training-frequency{gap:4px}.training-frequency button{min-width:34px}.training-plan-card{padding:15px}.training-origin button{font-size:12px}}

/* 3.0.74: plans expand in place; all units stay readable. */
.training-plan-shell{min-width:0;margin:0 0 12px;border:1px solid #303030;border-radius:18px;background:#151515;overflow:hidden;scroll-margin-top:85px}.training-plan-shell>.training-plan-card{border:0;border-radius:0;margin:0}.training-plan-shell.expanded>.training-plan-card{border-bottom:1px solid #303030}.training-inline-content{padding:0 18px 18px}.training-inline-day{padding:18px 0;border-bottom:1px solid #303030}.training-inline-day h3{font-size:16px;line-height:1.4;margin:0 0 12px;overflow-wrap:anywhere}.training-inline-exercise{display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:10px;align-items:center;min-height:76px;padding:8px 0}.training-inline-exercise>.bp-ex-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden}.training-exercise-copy{min-width:0}.training-exercise-copy strong{display:block;font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.training-exercise-copy small{display:block;font-size:12px;line-height:1.4;color:#b5b5b5;margin-top:5px}.training-swap-button{width:44px;height:44px;border:1px solid #665432;border-radius:12px;background:#18150f;color:#d4a853;display:grid;place-items:center;padding:10px}.training-swap-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.training-changed{display:inline-block;font-size:11px;line-height:1.4;color:#e1bb70;border:1px solid #665432;border-radius:7px;padding:3px 6px;margin:6px 0 0}.training-schedule,.training-options{border-bottom:1px solid #333;padding:8px 0}.training-schedule>summary,.training-options>summary{cursor:pointer;min-height:48px;align-content:center;font-size:14px;font-weight:600}.training-schedule-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid #444;border-radius:12px;padding:4px}.training-schedule-modes button{min-height:44px;border:0;border-radius:9px;color:#bbb;background:transparent;font-size:14px}.training-schedule-modes button.selected{color:#101010;background:#d4a853}.training-day-select{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,45%);align-items:center;gap:12px;margin:14px 0;font-size:13px;line-height:1.4}.training-day-select select,.training-day-select .bp-select{min-width:0;max-width:100%;width:100%;font-size:13px}.training-duration{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;font-size:14px;padding-top:16px}.training-inline-content .training-audit{margin:8px 0}.training-inline-content .training-adopt-actions{margin-bottom:0}.training-swap-dialog{box-sizing:border-box;width:min(100%,520px);max-width:100%;max-height:90dvh;margin:auto auto 0;padding:22px 20px max(22px,env(safe-area-inset-bottom));border:1px solid #444;border-radius:24px 24px 0 0;color:#f6f6f6;background:#171717;overflow-y:auto;overscroll-behavior:contain}.training-swap-dialog::backdrop{background:rgba(0,0,0,.72)}.training-swap-dialog header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.training-swap-dialog h2{margin:0;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.training-swap-close{flex:0 0 44px;min-height:44px;border:1px solid #555;border-radius:12px;color:#eee;background:#222;font-size:24px}.training-swap-current{display:flex;gap:12px;align-items:center;font-size:13px;color:#bbb;margin:20px 0}.training-swap-current .bp-ex-thumb{width:52px;height:52px;flex:none}.training-swap-choices{display:grid;gap:10px;margin:18px 0}.training-swap-choice{display:grid;grid-template-columns:58px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:12px;min-height:90px;background:#202020;border:1px solid #444;border-radius:14px;color:#eee;text-align:left;width:100%}.training-swap-choice.selected{border-color:#d4a853;background:#292318}.training-swap-choice .bp-ex-thumb{width:58px;height:58px;border-radius:9px;overflow:hidden}.training-swap-choice strong{display:block;line-height:1.4;font-size:14px;overflow-wrap:anywhere}.training-swap-choice small{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#bbb}.training-choice-check{color:#d4a853;font-size:20px}.training-swap-dialog>.primary{width:100%;min-height:48px}.training-plan-shell button:focus-visible{outline:2px solid #d4a853;outline-offset:-3px}@media(max-width:360px){.training-inline-content{padding:0 12px 14px}.training-inline-exercise{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.training-inline-exercise>.bp-ex-thumb{width:44px;height:44px}.training-swap-dialog{padding:18px 14px}.training-swap-choice{grid-template-columns:48px minmax(0,1fr) 20px;gap:8px;padding:10px}.training-swap-choice .bp-ex-thumb{width:48px;height:48px}}


/* Compact plan preview, including narrow mobile screens. */
.training-preview-form .training-options-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.training-options-grid>label{min-width:0;font-size:13px;line-height:1.4}
.training-options-grid select,.training-options-grid .bp-select{width:100%;min-width:0;max-width:100%}
.training-inline-content>.training-options{padding:16px 0;border-bottom:1px solid #333}
.training-options h3{font-size:15px;margin:0 0 14px}
.training-adoption-note{margin:20px 0 12px;line-height:1.5}

/* Deliberate next-block selection and personal plan management. */
.training-next-flow{max-width:680px;margin:0 auto}.training-next-flow>.eyebrow{margin-top:22px}.training-next-flow>.full{margin-top:14px}.training-next-flow>.training-frequency{margin:18px 0}.training-next-heading{padding:20px 20px 0}.training-next-heading h2{margin:16px 0 8px}.training-next-preview{margin-top:18px}.training-unit-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;border:0;border-radius:0;background:transparent;color:inherit;padding:16px 0;text-align:left;font-size:16px}.training-unit-toggle>span{color:var(--gold,#d4aa50);font-size:26px}.training-inline-exercises[hidden]{display:none}.training-own-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #333}.training-own-actions>button{flex:1;min-width:130px}.training-next-flow .training-frequency>button{min-height:48px}.training-next-flow .training-error{padding:12px}.training-next-flow .training-adopt-actions{display:grid;gap:12px}

.training-focus-bodies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #333;border-radius:18px;background:#121212;padding:14px;gap:12px}.training-focus-bodies figure{margin:0;min-width:0;text-align:center}.training-focus-bodies svg{display:block;width:100%;height:auto;max-height:360px}.training-focus-bodies [data-action]{cursor:pointer}.training-focus-bodies [data-action]:focus{outline:none;stroke:#fff;stroke-width:7}.training-focus-bodies figcaption{font-size:13px;color:#aaa}.training-focus-legend{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;margin:0}.training-focus-legend span:first-child{color:#D4AA50}.training-focus-legend span:last-child{color:#F0DCAE}.training-focus-selection>div{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border:1px solid #333;border-radius:12px;margin-top:10px}.training-focus-selection button{min-width:44px;min-height:44px;font-size:24px}.training-focus-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.training-focus-chips button{min-height:46px;padding:8px 5px;background:#141414;color:#ddd;border:1px solid #444;border-radius:12px;font-size:13px}.training-focus-chips button.selected{border-color:#D4AA50;color:#D4AA50;background:#2b2416}.training-focus-badge{display:inline-block;font-size:11px;color:#D4AA50;border:1px solid #79602d;border-radius:20px;padding:3px 7px;margin:4px 5px 0 0}.training-focus-entry{margin:18px 0 24px}.training-focus-page>.page-title{margin-top:10px}

.training-focus-order{display:flex;align-items:center;flex-shrink:0}.training-focus-selection>div>strong{min-width:0}.training-focus-legend span:nth-child(2){color:#F0DCAE}.training-focus-legend span:nth-child(3){color:#AD9568}

.training-next-flow>button.secondary[data-action="training-focus-open"]{border:1px solid var(--gold)}

/* Compact plan names retain their full text for accessibility and expanded views. */
.training-plan-card>span:first-child,.training-next>span:first-child,.plan-list-card>div{min-width:0}
.training-plan-card strong,.training-next small,.plan-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;hyphens:none}
.training-plan-shell.expanded .training-plan-card strong{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;overflow-wrap:anywhere}
.training-next-heading h2,.training-next-flow .card h2{overflow-wrap:anywhere;word-break:normal;hyphens:none}

.training-plan-card strong.plan-name-unbroken,.training-next small.plan-name-unbroken,.plan-card-title.plan-name-unbroken{display:block;white-space:nowrap;text-overflow:ellipsis}
.training-plan-shell.expanded .training-plan-card strong.plan-name-unbroken{white-space:normal;overflow-wrap:anywhere}
/* 3.0.96: photo library and dedicated plan detail */
.training-plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-auto-rows:1fr}
.training-photo-card{min-width:0;overflow:hidden;border:1px solid #38352e;border-radius:20px;background:#151515}
.training-photo-link{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:var(--text,#fff);text-align:left}
.training-photo-media{display:block;position:relative;width:100%;flex-shrink:0}
.training-photo-media>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#222}
.training-photo-copy{display:flex;flex:1;flex-direction:column;gap:7px;width:100%;min-width:0;padding:12px;box-sizing:border-box}
.training-photo-title{font-size:16px;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.training-photo-meta,.training-photo-origin{font-size:13px;line-height:1.4;color:#c4c4c4}
.training-photo-origin{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 16px);box-sizing:border-box;margin:0;padding:3px 8px;border:1px solid #47443e;border-radius:999px;background:#151515e8;color:#fff;font-size:11px;line-height:1.3}
.training-photo-recommendation{position:absolute;top:10px;left:10px;padding:5px 9px;border-radius:9px;background:var(--gold);color:#14110a;font-size:12px;font-weight:700;line-height:1.3;box-shadow:0 2px 10px #0005}
.training-photo-cta{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;border:1px solid var(--gold);border-radius:12px;color:var(--gold);font-size:14px;font-weight:700;text-align:center;padding:7px 3px}
.training-photo-link:hover .training-photo-cta{background:#d4aa5018}
.training-photo-link:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.training-detail{max-width:760px;margin:0 auto}
.training-detail-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:22px}
.training-detail-heading{padding:20px 0 0}
.training-detail-heading h1{overflow-wrap:anywhere}
.training-detail .training-inline-content{padding:0}
.training-detail .training-inline-day{border:1px solid #333;border-radius:18px;padding:14px;margin:12px 0}
.training-detail .training-unit-toggle{gap:12px;min-height:48px}
.training-detail .training-unit-toggle strong{font-size:18px;overflow-wrap:anywhere}
.training-detail .training-inline-exercise{grid-template-columns:48px minmax(0,1fr) 42px;gap:10px}
.training-detail .training-inline-exercise .training-swap-button{width:42px;min-width:42px;height:44px}
.training-detail .training-exercise-copy strong{font-size:16px}
.training-detail [hidden]{display:none!important}
@media(max-width:360px){.training-plan-list{gap:10px}.training-photo-copy{padding:10px}.training-photo-title{font-size:15px}.training-photo-meta,.training-photo-origin{font-size:12px}}
@media(min-width:700px){.training-photo-title{font-size:20px}.training-photo-meta,.training-photo-origin{font-size:15px}.training-photo-copy{padding:18px}.training-photo-cta{font-size:16px}}
@media(max-width:19rem){.training-plan-list{grid-template-columns:minmax(0,1fr)}}


/* Source: interface-controls.css */
/* Focused presentation corrections for test 0.17.0. Existing page structure remains. */
[hidden]{display:none!important}
.bp-chevron{width:22px;height:22px;flex:none;vertical-align:middle}.bp-arrow-inline{display:inline-flex;align-items:center;justify-content:center}.top-back{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.top-back svg{width:24px;height:24px;margin:0}
summary{position:relative;list-style:none;padding-right:32px!important}summary::-webkit-details-marker{display:none}summary:after{content:""!important;position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-65%) rotate(45deg);transition:transform .15s}details[open]>summary:after{transform:translateY(-20%) rotate(225deg)}summary>.bp-arrow-inline,summary>b,summary>span.bp-chevron{display:none}
button+.card,.actions+.card,button+section.card,.actions+section.card,button+.shopping-category,.exercise-edit-button{margin-top:16px}.exercise-edit-button{margin-bottom:16px}button.full+button.full{margin-top:12px}
.ob-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ob-four .ob-choice,.ob-weekdays .ob-choice{padding:12px 6px;min-height:48px;justify-content:center;text-align:center}.ob-four .ob-choice-mark,.ob-weekdays .ob-choice-mark{display:none}.ob-four strong{font-size:14px}.ob-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.ob-weekdays .ob-choice strong{font-size:14px}.ob-options .ob-choice{min-width:0}#obSkipNutrition,#obSkipBasis{margin-top:20px}
.bp-photo-hero,.dashboard-ordered-grid>.workout-hero.bp-photo-hero{background:linear-gradient(90deg,rgba(8,8,8,.94),rgba(8,8,8,.77) 50%,rgba(8,8,8,.12)),url('assets/images/bodyplan-test-hero.png') center right/cover no-repeat;border:1px solid #51432c;border-radius:20px;color:#fff;padding:22px;box-sizing:border-box;overflow:hidden;min-height:190px}.workout-hero.bp-photo-hero,.active-workout-card.bp-photo-hero{display:flex;flex-direction:column;justify-content:center;gap:8px;height:auto}.bp-photo-hero .hero-title{font-size:26px;line-height:1.15;margin:0}.bp-photo-hero .actions{margin-top:4px;gap:8px}.bp-photo-hero .muted,.bp-photo-hero .ob-hint{color:#eee}.active-workout-card .active-session-meta{margin:0;display:flex;gap:24px}.active-workout-card .active-session-meta>div{display:flex;gap:8px}.ob-result-intro.bp-photo-hero{text-align:left}.ob-result-intro.bp-photo-hero h1{max-width:70%}.ob-result-icon{margin-left:0!important}
.bp-session-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bp-session-actions button{margin:0!important;padding:14px 6px;font-size:14px;min-width:0}.set-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #494949;border-radius:9px;background:#1d1d1d;font-weight:600;box-sizing:border-box}.session-set .done-btn{width:42px;height:42px;border-radius:9px}.session-set{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 42px!important}
.bp-select{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font:inherit;min-height:48px;margin-top:6px;white-space:normal}.bp-select:after{content:' ';width:8px;height:8px;border-right:1.8px solid;border-bottom:1.8px solid;transform:rotate(45deg);margin:0 4px 4px 12px;flex:none}.bp-gender{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bp-gender [aria-pressed=true],.bp-body-tabs [aria-pressed=true]{border-color:var(--gold,#d5a64c);background:#302717;color:#f4d797}.bp-body-tabs{margin-bottom:18px}.profile-check:has(input:checked){border-color:#bd984c;background:#292317}.profile-check{border:1px solid #444;border-radius:10px;padding:12px;display:inline-flex;gap:10px;margin:5px 6px 5px 0}
.bp-picker{color:#f6f6f6;background:#171717;border:1px solid #615033;border-radius:20px;width:min(440px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px;box-sizing:border-box}.bp-picker::backdrop{background:#000b}.bp-picker h2{margin:0 0 22px;font-size:22px}.bp-picker-step{display:flex;align-items:center;gap:12px}.bp-picker-step>button{min-width:44px;min-height:48px}.bp-picker-value{text-align:center;font-size:26px;min-width:0;width:100%}.bp-picker input[type=range]{width:100%;accent-color:var(--gold,#d5a64c);margin:24px 0;min-height:44px}.bp-picker-options{display:grid;gap:10px;margin-bottom:16px}.bp-picker .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bp-picker [type=number]{appearance:textfield}.bp-picker input::-webkit-inner-spin-button{appearance:none}
.bp-ex-thumb{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;background:#171717;border:1px solid #393939;border-radius:10px;overflow:hidden;flex:none;padding:0}.bp-ex-thumb img{width:100%;height:100%;object-fit:contain}.bp-media-placeholder{font-size:8px;font-weight:800;letter-spacing:.3px;color:#eee}.bp-media-placeholder>span{color:var(--gold,#d5a64c)}.bp-ex-media{min-height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden}.bp-ex-media img,.bp-ex-media video{display:block;max-width:100%;max-height:360px;object-fit:contain}.bp-ex-media .bp-media-placeholder{font-size:24px}.exercise-library-link{position:relative;padding-left:86px!important;min-height:90px}.exercise-library-link>.bp-ex-thumb{position:absolute;left:16px;top:50%;transform:translateY(-50%)}.session-ex-head .bp-ex-thumb{float:left;margin-right:10px}.session-ex-head>div{min-width:0}.session-ex-title{overflow-wrap:anywhere}
@media(min-width:701px){.bp-photo-hero{min-height:230px}.workout-hero.bp-photo-hero,.active-workout-card.bp-photo-hero{min-height:230px}}
@media(max-width:480px){.ob-four{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-weekdays{grid-template-columns:repeat(12,minmax(0,1fr))}.ob-weekdays>button{grid-column:span 4}.ob-weekdays>button:nth-child(n+4){grid-column:span 3}.bp-photo-hero{padding:18px}.bp-photo-hero .actions button{font-size:13px;padding:10px 8px}.bp-photo-hero .hero-title{font-size:24px}.active-workout-card .active-session-meta{font-size:12px}.session-ex-head{gap:6px}.session-ex-head .bp-ex-thumb{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}summary:after{transition:none}}
.top-back[hidden]{display:none!important}
.ob-result-intro.bp-photo-hero h1{max-width:100%;text-align:left;margin:12px 0;font-size:28px}.ob-result-intro.bp-photo-hero{margin-bottom:18px}.bp-ex-thumb .bp-media-placeholder{font-size:6.5px;letter-spacing:0}
.bp-picker [type=range]{appearance:none;background:transparent}.bp-picker [type=range]::-webkit-slider-runnable-track{height:6px;background:#66532d;border-radius:4px}.bp-picker [type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;border-radius:50%;background:#d5a64c;border:3px solid #f1d99c;margin-top:-10px}.bp-picker [type=range]::-moz-range-track{height:6px;background:#66532d;border-radius:4px}.bp-picker [type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#d5a64c;border:3px solid #f1d99c}
.exercise-library-link .exercise-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bp-ex-thumb-open{position:relative;cursor:zoom-in}.bp-ex-thumb-open .bp-ex-thumb-icon{position:absolute;right:4px;bottom:4px;width:19px;height:19px;border-radius:6px;display:grid;place-items:center;background:rgba(0,0,0,.78);border:1px solid rgba(255,255,255,.38);color:#fff;font-size:15px;line-height:1;pointer-events:none}.exercise-media-dialog{z-index:220;align-items:center;padding:16px}.exercise-media-dialog-sheet{width:min(920px,100%);max-height:calc(100svh - 32px);overflow:auto;background:#101010;border:1px solid #343434;border-radius:20px;padding:18px;box-sizing:border-box}.exercise-media-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.exercise-media-dialog-head h2{margin:5px 0 0;font-size:22px}.exercise-media-dialog .bp-ex-media{margin:0;min-height:0;padding:0;border:0;background:#0d0d0d;aspect-ratio:1536/650}.exercise-media-dialog .exercise-media-static,.exercise-media-dialog .exercise-media-crop{display:block;width:100%;height:100%;overflow:hidden}.exercise-media-dialog .exercise-media-crop img{position:relative;max-width:none;max-height:none}.plan-exercise-row{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center}.plan-exercise-row-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.plan-exercise-row-copy>span{font-weight:700}.plan-exercise-row>strong{white-space:nowrap;color:#888}.session-plan-note{display:block;margin:12px 0 0;border-top:1px solid #292929;padding-top:10px}.session-plan-note>span{display:block;margin-bottom:7px;color:var(--gold);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.session-plan-note textarea{min-height:58px;margin:0;resize:vertical}@media(max-width:480px){.exercise-media-dialog{padding:8px}.exercise-media-dialog-sheet{padding:14px;border-radius:16px}.plan-exercise-row{grid-template-columns:48px minmax(0,1fr) auto}.plan-exercise-row .bp-ex-thumb{width:48px;height:48px}}
.bp-ex-thumb-open .bp-ex-thumb-icon{right:5px;bottom:5px;width:22px;height:22px;border:0;border-radius:0;background:transparent;font-size:0;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 3px #000)}.bp-ex-thumb-open .bp-ex-thumb-icon::before{content:"";position:absolute;width:9px;height:9px;border:2px solid #fff;border-radius:50%;left:3px;top:3px}.bp-ex-thumb-open .bp-ex-thumb-icon::after{content:"";position:absolute;width:8px;height:2px;border-radius:2px;background:#fff;transform:rotate(45deg);right:2px;bottom:4px}.session-plan-note{border-top:0;padding-top:0}.session-plan-note textarea{min-height:62px}
.plan-read-toggle{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}

.bp-training-picker h2:focus{outline:none}.bp-training-picker-actions{display:grid;gap:10px}.bp-training-picker-actions button{width:100%;min-height:48px}.bp-training-picker-actions .danger{color:#e1a09b;border:1px solid #8b4540;background:#211515}


/* Source: buttons0171.css */
/* 0.17.1 shared action sizing. Choice cards, calendars and navigation cards retain their semantics. */
:root{--bp-button-height:48px;--bp-button-font:16px;--bp-button-gap:12px}
body .bp-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:var(--bp-button-height)!important;height:auto;max-width:100%;min-width:0;font-size:var(--bp-button-font)!important;font-weight:650;line-height:24px!important;letter-spacing:normal;padding:11px 16px!important;border-width:1px;border-style:solid;text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
body .bp-action-wide{width:100%;margin-left:0;margin-right:0}
body .bp-action-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--bp-button-gap);align-items:stretch;width:100%}
body .bp-action-group>.bp-action{width:100%;margin:0!important}
body .ob-footer.bp-action-group{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
body .ob-footer.bp-action-group:has(.ob-footer-note){grid-template-columns:1fr 1fr}
body .bp-action+.card,body .bp-action+section,body .bp-action-group+.card{margin-top:16px}
body :is(.top-back,.icon-close,.icon-btn,.favorite-btn,.config-close){width:48px;height:48px;min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none}
body .top-back[hidden]{display:none!important}
body .header-spacer{width:48px}body>.topbar{grid-template-columns:48px minmax(0,1fr) 48px}
body .meal-library-row{grid-template-columns:minmax(0,1fr) 48px}
.bp-navigation-card{position:relative}.bp-card-arrow{display:inline-flex;align-items:center;justify-content:center;flex:none;float:right;margin-left:12px;color:var(--gold)}
.bp-navigation-card .bp-chevron,.tile-nav-arrow svg{width:22px!important;height:22px!important;stroke-width:1.8;flex:none}
body .bp-photo-hero,body .dashboard-ordered-grid>.workout-hero.bp-photo-hero{background-image:linear-gradient(90deg,rgba(8,8,8,.98) 0%,rgba(8,8,8,.95) 15%,rgba(8,8,8,.87) 30%,rgba(8,8,8,.72) 45%,rgba(8,8,8,.52) 60%,rgba(8,8,8,.32) 75%,rgba(8,8,8,.17) 90%,rgba(8,8,8,.10) 100%),url('assets/images/bodyplan-test-hero.png')}
@media(max-width:480px){body .bp-photo-hero .bp-action-group{grid-template-columns:1fr}.bp-photo-hero{overflow:visible}}
body .bp-action-group{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;min-width:0;max-width:100%}
body .planning-reminder{display:block}body .planning-reminder>.actions{margin-top:16px;flex-shrink:1}
@media(max-width:480px){body .bp-photo-hero .bp-action-group{grid-template-columns:1fr!important}}
body .dashboard-ordered-grid>.workout-hero.bp-photo-hero,body .active-workout-card.bp-photo-hero{height:auto!important;max-height:none;min-height:230px;overflow:hidden}
body .bp-photo-hero .bp-action-group{margin-top:12px}


/* Source: release0172.css */
/* BodyPlan Test 0.17.2 */
body .active-workout-card .bp-action-group{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px}
body .active-workout-card .bp-action{padding:11px 6px!important;overflow-wrap:normal;hyphens:none}
body .active-workout-card.bp-photo-hero{min-height:190px}
.session-side-block{border-top:1px solid #393329;margin-top:16px;padding-top:12px}
.session-side-block h3{font-size:16px;color:var(--gold);margin:0 0 12px}
.session-side-block .session-input-group{min-width:0}
.help-information{margin:20px 0;color:var(--muted);font-size:14px}
.help-information details{padding:12px 0;border-bottom:1px solid #393329}
.help-information summary{cursor:pointer}
.tour .tour-header{display:flex;justify-content:flex-start;gap:16px;align-items:center}
.tour .tour-close{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #393329;border-radius:12px;padding:0;flex:none}
.tour-secondary{display:block!important;padding:20px!important}
.tour-secondary h2{font-size:20px}
.tour-secondary p{margin-bottom:0}
@media(min-width:701px){body .active-workout-card.bp-photo-hero{min-height:230px}}

.session-side-block .session-side-inputs>span:first-child{display:none}
.session-ex .set-head{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 42px;gap:7px}
.session-ex .set-head>span{min-width:0;overflow-wrap:anywhere}
.session-ex-head>div{min-width:0}.session-ex-title{overflow-wrap:anywhere}


/* Source: release0173.css */
/* Shared plain navigation chevron — no circular badge. */
body .bp-navigation-card .bp-nav-icon,body .meal-library-card>span:not(.meal-recipe-mark),body .tile-nav-arrow{display:inline-flex!important;align-items:center;justify-content:center;width:22px!important;height:22px!important;min-width:22px;flex:0 0 22px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--gold)}
body .bp-navigation-card .bp-nav-icon svg,body .tile-nav-arrow svg{display:block;width:22px!important;height:22px!important;stroke-width:1.8}


/* Source: release2150.css */
/* 2.15.0 rc.2: equal tiles and compact interactive volume charts. */
.block-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:12px;margin:14px 0}
.block-insight-grid>.card.dashboard-tile-button{margin:0!important;width:100%;height:100%;min-width:0;min-height:170px;box-sizing:border-box;display:grid;grid-template-rows:32px 54px 1fr;align-content:start;align-items:start;padding:18px 16px 38px;position:relative}
.block-insight-grid .dashboard-tile-button .eyebrow{padding:0;font-size:10px;letter-spacing:.18em;overflow-wrap:anywhere}
.block-insight-grid .dashboard-tile-button strong{margin:0;font-size:clamp(20px,5.4vw,28px);line-height:1.25}
.block-insight-grid .dashboard-tile-button small{font-size:12px;line-height:1.45}
.block-insight-grid .dashboard-tile-button::after{display:block;content:'›';position:absolute;top:auto;bottom:12px;right:16px;color:var(--gold);-webkit-text-fill-color:var(--gold);font-size:25px}
.consistency-weeks{grid-auto-rows:1fr;align-items:stretch}
.consistency-week{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(36px,auto) auto 1fr;align-content:start}
.consistency-week>small:last-child{align-self:end}
.last-performance{white-space:nowrap;overflow-x:auto;font-size:11px;padding-bottom:4px}
.volume-month .volume-bucket>span{font-size:10px}
.volume-bucket.selected .volume-track{outline:2px solid var(--gold);outline-offset:3px}
.volume-line-chart{height:220px;position:relative;margin-top:20px}
.volume-line-chart svg{width:100%;height:100%;overflow:visible}
.volume-line-chart polyline{fill:none;stroke:var(--gold);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.volume-grid-line{fill:none;stroke:#333;stroke-width:1;vector-effect:non-scaling-stroke}
.volume-point{position:absolute;transform:translate(-50%,-50%);width:26px;height:44px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.volume-point span{width:8px;height:8px;border:2px solid var(--gold);background:#111;border-radius:50%}
.volume-point.selected span{background:var(--gold);box-shadow:0 0 0 4px #d4a85340}
.volume-point.partial span{border-style:dashed}
.volume-axis-top,.volume-axis-zero{position:absolute;left:0;font-size:9px;color:#aaa;pointer-events:none}
.volume-axis-top{top:0}.volume-axis-zero{top:84%}
.volume-line-labels{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#aaa}
.volume-line-labels span:last-child{text-align:right}

.block-insight-grid .dashboard-tile-button::after{display:none}
.block-insight-grid .dashboard-tile-button>.bp-card-arrow{position:absolute;bottom:12px;right:16px;margin:0}


/* Source: recipe-detail.css */
/* BodyPlan 2.15.7: standardized edge-to-edge recipe hero with a larger food focal point. */
.recipe-hero{position:relative;isolation:isolate;overflow:hidden;padding:0;background:#12110e;min-height:255px;display:flex;flex-direction:column;align-items:flex-start}
.recipe-hero .recipe-hero-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;object-fit:cover;object-position:center center;z-index:-2;transform:scale(1.1);transform-origin:62% center;mask-image:none;-webkit-mask-image:none}
.recipe-hero.has-recipe-image:after{content:"";position:absolute;inset:0 auto 0 0;width:56%;z-index:-1;background:linear-gradient(90deg,#12110e 0%,rgba(18,17,14,.99) 50%,rgba(18,17,14,.88) 68%,rgba(18,17,14,.48) 84%,transparent 100%);pointer-events:none}
.recipe-hero-copy{position:relative;width:46%;max-width:none;min-width:0;box-sizing:border-box;padding:20px 14px 8px 18px}
.recipe-hero:not(.has-recipe-image) .recipe-hero-copy{width:auto;max-width:none;padding-right:18px}
.recipe-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;white-space:nowrap}
.recipe-hero h1{display:block;width:100%;max-width:100%;font-size:21px;line-height:1.18;margin:10px 0 0;overflow-wrap:anywhere;word-break:normal;hyphens:none;text-wrap:pretty}
.recipe-hero h1.recipe-title-long{font-size:18px;line-height:1.16}
.recipe-hero h1.recipe-title-very-long{font-size:16px;line-height:1.15}
.recipe-hero .eyebrow{line-height:1.55;letter-spacing:1.7px}
.recipe-portions{position:relative;left:auto;bottom:auto;width:46%;margin-top:auto;padding:11px 14px 17px 18px;box-sizing:border-box}
.recipe-portions>span{display:block;font-size:12px;color:#d3cdc0;margin-bottom:8px}
.recipe-portions .portion-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;width:100%}
.recipe-portions .portion-control strong{font-size:14px;min-width:0;max-width:100%;line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.recipe-portions .portion-control button{flex:0 0 44px;min-width:44px;min-height:44px;padding:0}
.recipe-detail .portion-summary-title{margin:22px 0 12px}
.recipe-detail .nutrition-estimate{margin:10px 0 16px}
.recipe-detail .recipe-allergen-card{padding:12px 14px;margin:0 0 16px;background:#141414;border:1px solid #303030;border-radius:14px}
.recipe-detail .recipe-allergen-card h2{font-size:14px;line-height:1.3;margin:0 0 8px;color:#f2f2f2}
.recipe-detail .recipe-allergen-list{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:0;padding:0}
.recipe-detail .recipe-allergen-list li{font-size:12px;line-height:1.3;padding:4px 8px;border-radius:6px;background:#252525;color:#dedede;max-width:100%;overflow-wrap:anywhere}
.recipe-detail .recipe-allergen-hint,.recipe-detail .recipe-allergen-empty{font-size:11px;line-height:1.4;color:#aaa;margin:7px 0 0}
.recipe-detail .recipe-adaptation{font-size:12px;line-height:1.4;color:#bbb;margin:8px 0}
.recipe-detail .recipe-note{margin:16px 0 0;padding-top:14px;border-top:1px solid #2c2c2c;color:#bbb}
.recipe-detail .ingredient-title{gap:12px}
.recipe-detail .ingredient-title small{display:block;margin-top:6px}
.recipe-detail .selected-shop-btn{margin-top:18px}
.recipe-detail .recipe-capture-note{margin:16px 0 8px;text-align:center}
.recipe-detail .recipe-capture-actions{display:flex;flex-direction:column;gap:10px;margin-top:0}
.recipe-detail .recipe-capture-actions>button{width:100%;margin:0}
.nutrition-section .recipe-detail .ingredient-list>label{grid-template-columns:24px minmax(0,1fr) auto;column-gap:14px;align-items:center;min-height:58px;padding:12px 0}
.recipe-detail .ingredient-list>label>input[type=checkbox]{width:24px;height:24px;min-width:24px;margin:0;align-self:center}
.recipe-detail .ingredient-list>label>span{margin:0;line-height:1.45;align-self:center;overflow-wrap:anywhere}
.nutrition-section .recipe-detail .ingredient-list>label>strong{grid-column:3;align-self:center;justify-self:end;white-space:nowrap;line-height:1.45;margin:0}
@media(max-width:560px){
 .recipe-hero{min-height:250px}
 .recipe-hero.has-recipe-image:after{width:55%;background:linear-gradient(90deg,#12110e 0%,rgba(18,17,14,.99) 53%,rgba(18,17,14,.86) 70%,rgba(18,17,14,.42) 86%,transparent 100%)}
 .recipe-hero-copy{width:46%;padding:18px 12px 6px 16px}
 .recipe-hero h1{font-size:20px;text-wrap:initial}
 .recipe-hero h1.recipe-title-long{font-size:17px}.recipe-hero h1.recipe-title-very-long{font-size:15px}
 .recipe-hero .eyebrow{font-size:9px;letter-spacing:1.5px}
 .recipe-portions{width:46%;padding:10px 12px 16px 16px}
}
@media(max-width:360px){
 .recipe-hero-copy{padding-left:13px}.recipe-portions{padding-left:13px}.recipe-hero h1{font-size:18px}
 .recipe-portions .portion-control button{flex-basis:40px;min-width:40px;width:40px;height:40px;min-height:40px}
 .recipe-portions .portion-control{grid-template-columns:repeat(2,40px);justify-content:space-between;gap:6px}
 .recipe-portions .portion-control strong{min-width:0;font-size:13px;grid-column:1/-1;grid-row:1}
 .nutrition-section .recipe-detail .ingredient-list>label{column-gap:12px}
}
@media(prefers-reduced-motion:reduce){.recipe-hero *{transition:none}}
/* A single original photograph fills each card. Never add a photographic
   pseudo-element, mask, texture extension, halo or shadow around the plate. */
.recipe-hero .recipe-hero-image[data-photo-bounds],.home-meal>img[data-photo-bounds]{max-width:none;max-height:none;object-fit:cover;transform:none;-webkit-mask-image:none;mask-image:none;filter:none;box-shadow:none}

/* Entry types share layout but expose only applicable fields. */
.custom-meal-form [hidden]{display:none!important}
.entry-fields{border:0;padding:0;margin:20px 0;min-width:0}
.entry-fields legend{color:#d3ac52;font-weight:700;margin-bottom:12px}
.recipe-hero h1{overflow-wrap:normal;word-break:normal;hyphens:none}

.recipe-hero-copy{width:56%}.recipe-hero:not(.has-recipe-image) .recipe-hero-copy{width:100%}.recipe-portions{width:100%;max-width:280px}.recipe-portions .portion-control strong{overflow-wrap:normal}



/* Source: release2155.css */
/* BodyPlan Cloud 2.15.6: smoother dashboard hero and simplified shopping list. */

body .dashboard-ordered-grid>.workout-hero.bp-photo-hero,
body .active-workout-card.bp-photo-hero{
  background-image:
    linear-gradient(90deg,
      rgba(6,6,6,.82) 0%,
      rgba(6,6,6,.76) 14%,
      rgba(6,6,6,.66) 28%,
      rgba(6,6,6,.53) 42%,
      rgba(6,6,6,.39) 56%,
      rgba(6,6,6,.25) 70%,
      rgba(6,6,6,.12) 84%,
      rgba(6,6,6,0) 100%),
    url('assets/images/bodyplan-dashboard-hero-2155.png')!important;
  background-position:center right!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

body .dashboard-ordered-grid>.workout-hero.bp-photo-hero .eyebrow,
body .dashboard-ordered-grid>.workout-hero.bp-photo-hero .hero-title,
body .dashboard-ordered-grid>.workout-hero.bp-photo-hero .hero-meta,
body .active-workout-card.bp-photo-hero .eyebrow,
body .active-workout-card.bp-photo-hero .hero-title,
body .active-workout-card.bp-photo-hero .active-session-meta{
  text-shadow:0 2px 12px rgba(0,0,0,.92);
}

@media(max-width:480px){
  body .dashboard-ordered-grid>.workout-hero.bp-photo-hero,
  body .active-workout-card.bp-photo-hero{
    background-image:
      linear-gradient(90deg,
        rgba(6,6,6,.88) 0%,
        rgba(6,6,6,.80) 22%,
        rgba(6,6,6,.66) 42%,
        rgba(6,6,6,.46) 60%,
        rgba(6,6,6,.24) 78%,
        rgba(6,6,6,.08) 92%,
        rgba(6,6,6,0) 100%),
      url('assets/images/bodyplan-dashboard-hero-2155.png')!important;
  }
}


body .shopping-notice{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:16px 0;
  padding:14px;
  border:1px solid #51432c;
  border-left:3px solid #55b87a;
  border-radius:16px;
  background:linear-gradient(135deg,#171713,#111);
  color:#f2f2f2;
  font-size:13px;
  line-height:1.45;
}
body .shopping-notice .link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:0;
  padding:9px 14px;
  border:1px solid var(--gold);
  border-radius:12px;
  background:var(--gold);
  color:#080808;
  font-size:13px;
  font-weight:750;
  text-align:center;
  white-space:normal;
}

body .shopping-completed-toggle{margin:12px 0 18px}
body .shopping-list{padding-top:4px;padding-bottom:4px}
body .shopping-row{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 44px;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:8px 0;
}
body .shopping-row>input{grid-column:1;margin:0}
body .shopping-row>span{grid-column:2;min-width:0;margin:0;overflow-wrap:anywhere}
body .shopping-row>span.done{color:#777;text-decoration:line-through}
body .shopping-row>.danger-text{grid-column:3;justify-self:end}
body .shopping-row>strong,
body .shopping-row>.shopping-have,
body .shopping-row>[data-action^="editshop:"]{display:none!important}

@media(max-width:480px){
  body .shopping-notice{grid-template-columns:1fr}
  body .shopping-notice .link-btn{width:100%}
}


/* Source: exercise-library.css */
/* Shared recipe/exercise card proportions; scoped to the exercise library. */
.library-heading{flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.library-heading .page-title{font-size:clamp(23px,6vw,30px);margin-bottom:0}.library-heading>button{flex:none;font-size:12px;padding:10px 12px;min-height:44px}
body .exercise-library-link{display:grid;grid-template-columns:80px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:8px 10px 8px 8px!important;min-height:98px;margin:0 0 9px;border:1px solid #292929;border-radius:14px;background:#111;color:#f5f5f5;text-align:left}
body .exercise-library-link>.bp-ex-thumb{position:static;transform:none;width:80px;height:80px;border-radius:11px;display:flex;grid-column:1;grid-row:1;border:0;background:#191919}
body .exercise-library-link>.exercise-library-copy{display:flex;flex-direction:column;gap:4px;min-width:0;grid-column:2;grid-row:1}
body .exercise-library-link .exercise-name{font-size:14px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
body .exercise-library-link .exercise-meta{font-size:11px;line-height:1.35;padding:0;margin:0;color:#aaa;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .exercise-library-link .exercise-entry-kind{font-size:10px;line-height:1.3;color:#cba551}
body .exercise-library-link>.exercise-library-arrow{display:flex;align-items:center;justify-content:center;grid-column:3;grid-row:1;float:none;margin:0;color:var(--gold);width:22px;height:22px}
.exercise-library-arrow svg{width:20px;height:20px}
.exercise-detail .page-title{margin-bottom:10px}.exercise-detail-meta{font-size:13px;line-height:1.5;margin:0 0 16px}.exercise-detail .bp-ex-media{aspect-ratio:16/9;min-height:0;padding:12px;margin-bottom:18px}.exercise-detail .bp-ex-media img,.exercise-detail .bp-ex-media video{width:100%;height:100%;max-height:300px;object-fit:contain}.exercise-detail .card{margin-bottom:14px}
.exercise-cautions{margin-top:20px;padding-top:16px;border-top:1px solid #303030}.exercise-cautions h3{font-size:15px;color:var(--gold);margin:0 0 10px}.exercise-cautions ul{padding-left:20px;display:grid;gap:8px;margin:0;font-size:14px;line-height:1.6;color:#ededed}
.exercise-muscle-bodies{display:flex;justify-content:center;gap:24px;margin:16px auto}.exercise-muscle-bodies figure{margin:0;flex:0 1 110px;min-width:0;text-align:center}.exercise-muscle-bodies svg.body-diagram{display:block;width:100%;height:200px;max-height:none;max-width:none}.exercise-muscle-bodies figcaption{font-size:10px;color:#aaa;margin-top:5px}
.exercise-role-legend{display:grid;gap:10px}.exercise-role-row{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;min-height:54px;padding:6px 0;border-top:1px solid #303030;font-size:13px;line-height:1.5}.exercise-role-label{display:flex;align-items:center;justify-content:center;width:100%;height:42px;padding:0 10px;border:1px solid currentColor;border-radius:8px;font-size:12px;font-weight:800;line-height:1;letter-spacing:.02em;white-space:nowrap}.exercise-role-muscles{line-height:1.5;word-break:normal;overflow-wrap:normal}.exercise-role-primary .exercise-role-label{color:#E2B14F;background:#e2b14f1f}.exercise-role-secondary .exercise-role-label{color:#F07A3E;background:#f07a3e1f}.exercise-role-tertiary .exercise-role-label{color:#5FA8E8;background:#5fa8e81f}
.exercise-note-action{background:transparent;color:var(--gold);padding:10px 0;border:0;font-size:13px;min-height:44px;text-align:left}.exercise-note-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.exercise-note-heading h2{margin:0}.exercise-personal-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin-bottom:0}.exercise-note-editor textarea{min-height:100px}.exercise-note-editor .exercise-note-action{margin-top:6px}.exercise-detail-edit{display:flex;justify-content:flex-end;margin-bottom:10px}.exercise-detail .exercise-delete{margin-top:12px}
.exercise-media-crop{display:block;position:relative;overflow:hidden;width:100%;height:auto;flex:none;background:#171717}
.exercise-media-sequence{display:grid;grid-template-columns:repeat(3,1fr);aspect-ratio:1536/650;width:100%;overflow:hidden;background:#171717}
.exercise-media-sequence>.exercise-media-frame{position:relative;display:block;min-width:0;overflow:hidden;background:#171717}
.exercise-media-sequence>.exercise-media-frame>img{position:absolute!important;max-width:none!important;max-height:none!important;height:auto!important;object-fit:fill!important;margin:0!important;border:0!important}
body .exercise-media-crop>img{position:absolute!important;max-width:none!important;max-height:none!important;height:auto!important;object-fit:fill!important;margin:0!important;border:0!important}
body .bp-ex-thumb>.exercise-media-crop{width:100%;height:100%;aspect-ratio:1!important}
.exercise-motion-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#E7BB67;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #0008)}
.exercise-detail .bp-ex-media.has-exercise-media{display:block;aspect-ratio:1536/650;padding:0;overflow:hidden}.exercise-detail .exercise-media-static,.exercise-detail .exercise-media-sequence{width:100%;height:100%}.exercise-media-zoom{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;border-radius:inherit;overflow:hidden;cursor:zoom-in}.exercise-zoom-hint{position:absolute;bottom:6px;right:6px;color:#fff;background:#0009;border-radius:5px;font-size:18px;padding:1px 6px;line-height:1.3}
@media(max-width:360px){body .exercise-library-link{grid-template-columns:70px minmax(0,1fr) 20px;gap:10px;min-height:88px}body .exercise-library-link>.bp-ex-thumb{width:70px;height:70px}body .exercise-library-link .exercise-name{font-size:13px}.exercise-muscle-bodies{gap:18px}.exercise-role-row{grid-template-columns:92px minmax(0,1fr)}body .exercise-role-label{font-size:11px;padding-inline:6px}}

/* 2.15.14: standalone thumbnails and readable muscle roles on narrow screens. */
body .bp-ex-thumb>img.exercise-thumbnail-image{display:block;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;position:static!important;flex:none}
.exercise-media-static{width:100%;overflow:hidden}
body .exercise-role-row{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;padding:6px 0}

/* 2.16.4: deliberate custom-exercise creation and unmistakable own media. */
.exercise-detail .bp-ex-media.bp-own-exercise{display:block;aspect-ratio:16/9;padding:0;overflow:hidden}.exercise-detail .bp-ex-media.bp-own-exercise .bp-own-exercise-image{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%}.bp-ex-thumb .bp-own-exercise-image{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 50%!important}
.custom-exercise-form .muscle-role-panel{margin:18px 0}.custom-muscle-field{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:64px;margin-top:10px;padding:10px 14px;border:1px solid #39342a;border-radius:13px;background:#171613;color:#f4f4f4;text-align:left}.custom-muscle-field span{font-size:11px;color:#aaa}.custom-muscle-field strong{font-size:13px;color:#e4b75b;text-align:right}.custom-muscle-field i{font-size:24px;color:#e4b75b;font-style:normal}.custom-exercise-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.custom-exercise-actions>button{width:100%;min-width:0;height:50px;min-height:50px;padding:0 7px;white-space:nowrap;font-size:clamp(10px,3.2vw,13px);line-height:1.1}.custom-exercise-actions>.danger{border-color:#7b3834;background:#211313;color:#efaaa5}
.custom-muscle-backdrop{position:fixed;inset:0;z-index:1600;display:flex;align-items:flex-end;justify-content:center;background:#000b;padding-top:env(safe-area-inset-top)}.custom-muscle-picker{width:min(720px,100%);max-height:88vh;overflow:auto;padding:10px 20px calc(20px + env(safe-area-inset-bottom));border:1px solid #383838;border-radius:26px 26px 0 0;background:#111;box-shadow:0 -18px 60px #0009}.custom-muscle-picker .picker-handle{width:44px;height:5px;margin:2px auto 18px;border-radius:99px;background:#4a4a4a}.custom-muscle-picker h2{margin:6px 0 6px}.custom-muscle-picker>p{margin:0 0 14px}.custom-muscle-picker>input{margin-bottom:14px}.custom-muscle-groups{display:grid;gap:14px}.custom-muscle-group h3{margin:0 0 8px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#d4a853}.custom-muscle-group>div{display:flex;flex-wrap:wrap;gap:8px}.custom-muscle-choice{min-height:42px;padding:9px 12px;border:1px solid #3a3a3a;border-radius:11px;background:#171717;color:#ddd;font-size:12px}.custom-muscle-choice.selected{border-color:#d4a853;background:#312816;color:#f1c66d}.custom-muscle-choice[hidden],.custom-muscle-group[hidden]{display:none}
@media(max-width:360px){.custom-muscle-picker{padding-inline:14px}.custom-muscle-field{grid-template-columns:minmax(0,1fr) 18px}.custom-muscle-field strong{grid-column:1;text-align:left}.custom-muscle-field i{grid-column:2;grid-row:1/3}}

.exercise-detail .exercise-edit-button{margin-top:18px;min-height:50px}
body .custom-exercise-actions>button.bp-action{height:var(--bp-button-height,48px)!important;min-height:var(--bp-button-height,48px)!important;padding:0 6px!important;white-space:nowrap!important;overflow-wrap:normal;font-size:clamp(10px,3.2vw,13px)!important;line-height:1.1!important}



/* Source: dashboard-home.css */
/* Only the dashboard is restyled; shared detail screens keep their design. */
.home-dashboard{--home-hero-min:232px;display:grid;gap:22px;padding-bottom:12px}
.home-dashboard>*{min-width:0;margin:0}
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.home-intro>div{min-width:0}
.home-date{display:block;font-size:13px;line-height:1.5;font-weight:400;letter-spacing:normal;color:#aaa;text-transform:none}
.home-dashboard .home-intro .page-title{margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.2px;overflow-wrap:anywhere}
.home-greeting-name{color:#e2bc70}
.home-personalize{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;color:var(--gold);border:1px solid #4b4030;background:#17140f;border-radius:13px;min-height:44px;padding:8px 10px;font-size:12px}
.home-personalize>svg{width:20px;height:20px}.home-personalize>span:last-child{display:none}
.home-dashboard .home-training{min-height:var(--home-card-height,var(--home-hero-min));height:auto;max-height:none;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:20px 22px;border-radius:21px;overflow:hidden;isolation:isolate}
.home-dashboard .home-training.bp-photo-hero{background-image:linear-gradient(90deg,#070707d9,#07070712),linear-gradient(0deg,#07070770,transparent 65%),url('assets/images/dashboard/training-equipment-2172.webp');background-size:cover;background-position:65% center}
.home-dashboard .home-training:before,.home-dashboard .home-training:after{display:none}
.home-next-training>.home-training{margin:0}
.home-dashboard .home-training .eyebrow{font-size:11px;letter-spacing:.17em;line-height:1.4;margin:0 0 12px}
.home-dashboard .home-training .home-unit-label{font-size:11px;line-height:1.4;font-weight:400;letter-spacing:normal;text-transform:none;color:#e2bc70;margin:0 0 10px}
.home-dashboard .home-training .hero-title{font-size:29px;line-height:1.17;letter-spacing:-.025em;max-width:100%;margin:0 0 14px;overflow-wrap:anywhere}
.home-dashboard .home-training .hero-meta{display:flex;align-items:center;gap:clamp(8px,3vw,16px);flex-wrap:nowrap;width:100%;min-width:0;margin:0 0 16px;white-space:nowrap}
.home-dashboard .home-training .hero-chip{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;min-width:max-content;gap:7px;padding:0;border:0;background:none;font-size:clamp(12px,3.3vw,13px);font-weight:400;color:#ddd;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.home-dashboard .home-training .hero-chip svg{width:19px;height:19px;flex:0 0 19px}
body .home-dashboard .home-training .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;gap:9px;margin:auto 0 0;padding-top:12px}
body .home-dashboard .home-training .actions>button.bp-action{width:100%;padding-inline:7px!important;font-size:14px!important;white-space:nowrap;overflow-wrap:normal}
body .home-dashboard .home-training .actions>button[data-action^="viewday:"]{border-color:var(--gold,#d4a853)}
.home-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:40px;margin-bottom:11px}
.home-dashboard .home-section-head h2{font-size:19px;line-height:1.3;letter-spacing:-.025em;font-weight:750;margin:0;text-transform:none;color:#f4f4f4}
.home-link{min-height:40px;border:0;background:transparent;color:var(--gold);padding:5px 0;font-size:12px;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;text-align:right;flex-shrink:0}
.home-link .bp-arrow-inline{display:inline-flex}.home-link .bp-chevron{width:16px;height:16px}
.home-week{border:1px solid #303030;background:#141414;border-radius:18px;padding:18px}
.home-week-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.home-week-top .home-week-count{font-size:inherit;font-weight:400;color:#e2bc70;text-align:right}
.home-progress{height:6px;background:#2b2a27;border-radius:10px;margin:14px 0 11px;overflow:hidden}
.home-progress>span{display:block;height:100%;border-radius:10px;background:var(--gold)}
.home-week p{color:#aaa;font-size:13px;line-height:1.5;margin:8px 0 0}
.home-dashboard .home-meal{position:relative;isolation:isolate;display:flex;align-items:stretch;width:100%;min-height:var(--home-card-height,var(--home-hero-min));box-sizing:border-box;padding:0;overflow:hidden;background:#141414;border:1px solid #393329;border-radius:21px;text-align:left;color:#eee}
.home-meal>img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover}
.home-meal::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101010fc 0%,#101010eb 35%,#10101080 51%,#10101000 65%);pointer-events:none}
.home-meal-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;box-sizing:border-box;width:52%;min-width:0;padding:20px 12px 20px 20px}
.home-meal-copy>*{flex-shrink:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.home-meal-copy>strong{display:block;width:100%;max-width:100%;text-wrap:pretty;word-break:normal;hyphens:none}
.home-dashboard .home-meal[data-home-fitted]{height:var(--home-card-height);min-height:var(--home-card-height)}
.home-meal[data-home-fitted] .home-meal-copy{height:100%}
.home-meal-label{font-size:11px;line-height:1.4;color:#e2bc70}
.home-meal-copy>strong{font-size:19px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}
.home-meal-meta{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:12px;line-height:1.5;color:#ddd}.home-meal-meta>span{white-space:nowrap}.home-meal-meta .home-meal-amount{flex-basis:100%;white-space:normal}
.home-meal-open{display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid #77603a;border-radius:11px;background:#141414e6;color:#e2bc70;font-size:12px;font-weight:650;margin-top:auto}
.home-meal-open svg{width:16px;height:16px}
.home-dashboard .home-meal:not(:has(>img)) .home-meal-copy{width:100%;padding-right:20px}
.home-dashboard .home-meal-state{min-height:var(--home-card-height,var(--home-hero-min));box-sizing:border-box;border-radius:21px;display:flex;flex-direction:column;align-items:flex-start}
.home-meal-state .home-link{margin-top:auto}
.home-empty{padding:20px;background:#131313;border:1px solid #303030;border-radius:18px}
.home-empty>strong{font-size:18px}.home-empty p{font-size:14px;line-height:1.5;color:#aaa;margin:9px 0}
.home-development-row{width:100%;min-height:80px;padding:14px 0;border:0;border-bottom:1px solid #292929;border-radius:0;background:transparent;display:flex;align-items:center;gap:13px;text-align:left;color:#eee}
.home-development-row:last-of-type{border-bottom:0}
.home-development-icon{flex-shrink:0;width:38px;height:38px;border-radius:11px;background:#211c13;color:#d5aa54;display:grid;place-items:center}
.home-development-icon svg{width:20px;height:20px}
.home-development-copy{min-width:0;flex:1;display:grid;gap:5px}
.home-development-copy strong{font-size:15px;font-weight:650;line-height:1.4}.home-development-copy small{font-size:12px;color:#aaa;line-height:1.5;overflow-wrap:anywhere}
.home-chevron{flex-shrink:0;display:flex;color:var(--gold)}.home-chevron svg{width:22px;height:22px}
.home-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.home-detail-metrics>span{display:grid;gap:5px;padding:14px;background:#151515;border:1px solid #303030;border-radius:13px}.home-detail-metrics strong{font-size:24px;color:var(--gold)}.home-detail-metrics small{font-size:12px;color:#aaa}
.home-support:empty{display:none}.home-support>.card,.home-support>.planning-reminder{margin:0 0 14px}
.home-details-option{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:14px}.home-details-option input{width:20px;height:20px;accent-color:var(--gold)}
@media(min-width:700px){.home-dashboard{--home-hero-min:256px}.home-personalize>span:last-child{display:inline}.home-dashboard .home-training{padding:24px 28px}.home-dashboard .home-training .hero-title{font-size:34px}.home-meal-copy{padding:24px 16px 24px 28px;width:48%}.home-meal-copy>strong{font-size:24px}}
@media(max-width:360px){.home-dashboard{gap:19px}.home-dashboard .home-intro .page-title{font-size:17px}.home-dashboard .home-training{padding:18px 16px}.home-dashboard .home-training .hero-title{font-size:25px}body .home-dashboard .home-training .actions>button.bp-action{font-size:12px!important}.home-dashboard .home-section-head h2{font-size:17px}.home-link{font-size:11px}.home-meal-copy{padding:18px 10px 18px 16px;gap:6px}.home-week{padding:15px}.home-week-top{font-size:12px}.home-week-top .home-week-count{font-size:inherit;font-weight:400}}


/* 3.0.9: reuse the meal card in nutrition, with the established controls. */
.nutrition-section .home-nutrition{margin:22px 0}
.nutrition-section .home-meal{position:relative;isolation:isolate;display:flex;align-items:stretch;width:100%;min-height:255px;box-sizing:border-box;padding:0;overflow:hidden;background:#141414;border:1px solid #393329;border-radius:21px;text-align:left;color:#eee}
.nutrition-section .home-section-head{gap:12px}
.nutrition-section .home-section-head h2{min-width:0}
.nutrition-section .home-meal-state{padding:20px;border:1px solid var(--border,#393329);border-radius:18px}
.nutrition-alternatives{display:grid;gap:10px;margin-bottom:24px}
.nutrition-alternative{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left}
.nutrition-alternative>span:first-child{display:grid;gap:6px;min-width:0}
.nutrition-alternative strong{overflow-wrap:anywhere}
.nutrition-alternative small,.nutrition-goal-value{color:var(--muted,#aaa);font-size:12px}
.nutrition-section .nutrition-compact-copy>button{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;min-height:44px;text-align:left}
.nutrition-section .nutrition-compact-copy .bp-nav-icon{flex:0 0 20px}
.nutrition-section .nutrition-macros>.row{flex-wrap:wrap;gap:12px}
@media(max-width:600px){.nutrition-section .home-meal{min-height:250px}.nutrition-section .home-section-head h2{font-size:17px}}


.home-meal-copy>strong{overflow-wrap:anywhere}.home-meal-open{white-space:normal;text-align:left;flex-shrink:0}.home-meal:not(:has(>img)) .home-meal-copy{width:100%;padding-right:20px}
/* Full-screen editor shares the app header and never reveals content beneath. */
.dashboard-config-overlay{background:#080808;padding:calc(var(--bp-header-height) + 24px) 20px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.dashboard-config-header{position:fixed;inset:0 0 auto;z-index:4;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;height:var(--bp-header-height);padding:env(safe-area-inset-top,0px) 16px 0;background:#080808;border-bottom:1px solid #28251e}
.dashboard-config-header .loop-brand-logo{width:160px;justify-self:center}
.dashboard-config-header .config-close{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #303030;border-radius:12px;font-size:28px}
.dashboard-config-head{display:block;margin-bottom:20px}
.dashboard-config-head h2{font-size:28px;line-height:1.2}
.dashboard-config-sheet{max-height:none;overflow:visible}
.dashboard-sort-card{background:#111;border-color:#2d2d2d!important}
.home-details-option{display:flex;gap:12px;align-items:center;min-height:48px;font-size:14px;line-height:1.5}
.home-details-option input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--gold,#d4a853)}
body:has(.dashboard-config-overlay){overflow:hidden}
@media(max-width:360px){.dashboard-config-header .loop-brand-logo{width:140px}}

.home-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:4px 0 28px}
.home-week-day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:14px;color:#b3b3b1;font-size:13px}
.home-week-day-circle{display:flex;align-items:center;justify-content:center;width:100%;max-width:40px;aspect-ratio:1;border-radius:50%;background:#262624;color:#bcbcbc;font-size:16px}
.home-week-day-circle svg{width:20px;height:20px}
.home-week-day.is-done .home-week-day-circle{background:var(--gold);color:#111}
.home-week-top{font-weight:400;flex-wrap:wrap}
@media(max-width:360px){.home-week-days{gap:5px}.home-week-day-circle{font-size:14px}}

.home-week-day.is-planned .home-week-day-circle{border:1.5px dashed var(--gold);background:transparent;color:#dfbd7d}
.home-week-day.is-planned-past .home-week-day-circle{border:1.5px dashed #757575;background:transparent;color:#aaa}


/* Upcoming calendar-week planning belongs to the weekly overview. */
.home-week-planning{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.home-week .home-week-planning-label{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.home-week-plan-button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--gold);border-radius:14px;background:transparent;color:var(--text);text-align:left;font:inherit;font-weight:600;cursor:pointer}
.home-week-plan-button>svg{width:22px;height:22px;flex-shrink:0;color:var(--gold)}
.home-week-plan-button>span:not(.home-chevron){flex:1;min-width:0}
.home-week-plan-button .home-chevron{color:var(--gold)}
.home-week-plan-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}


/* Source: branding.css */
/* 41 Loop 3.0.0 – supplied artwork, preserved proportions and compact headers. */
.loop-brand-logo{display:block;width:160px;max-width:100%;height:auto;aspect-ratio:675/210;object-fit:contain}
.topbar .brand-home{display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;padding:0 6px;min-height:44px}
.topbar .brand-home .loop-brand-logo{width:160px;max-width:100%}
.cloud-auth-card{background:#080808}
.cloud-auth-card .brand{margin-bottom:24px}
.loop-brand-welcome{display:block;width:340px;max-width:100%;height:auto;aspect-ratio:2400/1290;object-fit:contain;margin-inline:auto}
.ob-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ob-header .brand{width:100%;text-align:center}
.ob-header>#obExit{justify-self:end}
.tour .preview-brand{display:block;min-width:0;flex-shrink:1}
.tour .preview-brand .loop-brand-logo{width:160px;max-width:100%}
.tour .tour-close{flex-shrink:0}
.bp-media-placeholder .loop-brand-fallback{display:block;width:56%;height:56%;object-fit:contain;max-width:64px;max-height:64px}
@media(max-width:360px){.topbar .brand-home .loop-brand-logo,.tour .preview-brand .loop-brand-logo{width:140px}}


/* Source: nutrition-overview.css */
/* 3.0.11 — nutrition overview, planning and library share one consumer journey. */
.nutrition-section{color:#f3f3f3;color-scheme:dark}
.nutrition-section button{color:inherit;-webkit-tap-highlight-color:transparent}
.nutrition-section button.link-btn,.nutrition-section button.home-link{color:var(--gold,#d4a853)}
.nutrition-section .nutrition-tabs button.active,.nutrition-section .meal-filters button.primary{color:#080808}
.nutrition-overview,.nutrition-week-page{display:grid;gap:20px;padding-bottom:28px}
.nutrition-overview>* ,.nutrition-week-page>*{min-width:0;margin:0}
.nutrition-period{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0;border:0;border-bottom:1px solid #2b2b2b;border-radius:0;background:transparent;margin-top:4px}
.nutrition-period>button{appearance:none;-webkit-appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:44px;padding:10px 8px;background:transparent;color:#a9a9a9;font-size:13px;font-weight:700}
.nutrition-period>button[aria-pressed=true]{background:transparent;border-bottom-color:var(--gold,#d4a853);color:var(--gold,#d4a853)}
.nutrition-date-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.nutrition-date-heading h1{font-size:24px;line-height:1.2;margin:0;letter-spacing:-.4px}
.nutrition-date-heading>span{font-size:12px;color:#a9a9a9}
.nutrition-overview .home-nutrition{margin:0}
.nutrition-overview .home-section-head{margin:0 0 12px;align-items:center}
.nutrition-overview .home-section-head h2{font-size:18px;line-height:1.3;margin:0}
.nutrition-overview .home-meal{border-radius:18px}
.nutrition-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.nutrition-section-heading h2{font-size:18px;line-height:1.3;margin:0}
.nutrition-section-heading .link-btn{font-size:12px;white-space:nowrap;min-height:44px}
.nutrition-balance{padding:20px;border:1px solid #2d2d2d;border-radius:18px;background:#111}
.nutrition-energy>span,.nutrition-stat>span{display:block;color:#aaa;font-size:12px;line-height:1.4}
.nutrition-energy>div{display:flex;align-items:baseline;gap:8px;margin:8px 0 12px;flex-wrap:wrap}
.nutrition-energy strong{font-size:34px;line-height:1.1;letter-spacing:-.7px}
.nutrition-energy>div>span{font-size:13px;color:#aaa}
.nutrition-energy>small{display:block;color:#aaa;font-size:12px;line-height:1.5;margin-top:10px}
.nutrition-balance progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;border:0;border-radius:9px;overflow:hidden;background:#292929;color:var(--gold,#d4a853)}
.nutrition-balance progress::-webkit-progress-bar{background:#292929;border-radius:9px}
.nutrition-balance progress::-webkit-progress-value{background:var(--gold,#d4a853);border-radius:9px}
.nutrition-balance progress::-moz-progress-bar{background:var(--gold,#d4a853);border-radius:9px}
.nutrition-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.nutrition-stat{min-width:0}
.nutrition-stat>strong{display:block;font-size:18px;line-height:1.4;margin:7px 0 10px}
.nutrition-stat strong small{font-size:11px;color:#aaa;font-weight:400}
.nutrition-balance-details{margin-top:20px;border-top:1px solid #2b2b2b;padding-top:6px}
.nutrition-balance-details>summary,.nutrition-records>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:12px;color:#aaa;list-style:none;cursor:pointer}
.nutrition-balance-details>summary::-webkit-details-marker,.nutrition-records>summary::-webkit-details-marker{display:none}
.nutrition-balance-details>summary::marker,.nutrition-records>summary::marker{content:''}
.nutrition-balance-details>summary::after,.nutrition-records>summary::after{content:'';width:8px;height:8px;flex:0 0 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px}
.nutrition-balance-details[open]>summary::after,.nutrition-records[open]>summary::after{transform:rotate(225deg)}
.nutrition-balance-details p{font-size:12px;color:#aaa;line-height:1.6;margin:10px 0}
.nutrition-log-separator{border-top:1px solid #2b2b2b;margin-top:24px;padding-top:20px}.nutrition-log-action{position:static!important;min-height:48px;margin:0!important}
.nutrition-day-plan{padding:0}
.nutrition-day-plan>p{font-size:13px;line-height:1.6;color:#aaa;margin:0 0 16px}
.nutrition-count{font-size:12px;color:#aaa}
.nutrition-section .nutrition-compact-meals{border:1px solid #2d2d2d;border-radius:18px;background:#111;overflow:visible;padding:0 16px}
.nutrition-section .nutrition-compact-meal{padding:16px 0}
.nutrition-section .nutrition-compact-meal:last-child{border-bottom:0}
.nutrition-section .nutrition-compact-copy button{color:#f3f3f3!important;font-size:15px}
.nutrition-plan-adjust{margin-top:12px;min-height:44px}
.nutrition-records{border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b;padding:4px 0}
.nutrition-records>summary{font-size:14px;font-weight:600;color:#eee}
.nutrition-records>summary>span:nth-child(2){margin-left:auto;color:#aaa;font-size:12px}
.nutrition-shopping-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px!important;text-align:left;border-radius:16px;background:#111;color:#f3f3f3!important;border:1px solid #2b2b2b}
.nutrition-shopping-entry>span:first-child{display:grid;gap:6px}
.nutrition-shopping-entry strong{font-size:15px}
.nutrition-shopping-entry small{color:#aaa;font-size:12px;line-height:1.5}
.nutrition-week-navigation{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}
.nutrition-week-navigation>span{font-size:13px;text-align:center;color:#ccc}
body .nutrition-week-navigation>button{width:44px!important;min-width:44px!important;height:44px;padding:0!important;display:grid;place-items:center}
.nutrition-week-navigation .bp-chevron{width:18px;height:18px}
.nutrition-week-intro{font-size:13px;line-height:1.6;color:#aaa}
.nutrition-week-days{display:grid;gap:10px}
.nutrition-week-entry{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:12px;padding:16px!important;width:100%;margin:0;text-align:left;background:#111;border:1px solid #2d2d2d;border-radius:15px;color:#f3f3f3!important;min-height:78px}
.nutrition-week-date{display:grid;gap:6px}
.nutrition-week-date strong{font-size:15px;color:#eee}
.nutrition-week-date small,.nutrition-week-state{font-size:12px;color:#aaa}
.nutrition-week-actions{display:grid;gap:12px}
.nutrition-week-actions p{margin:0 0 8px;font-size:12px;line-height:1.5;color:#aaa}
.nutrition-week-actions>.link-btn{text-align:center;min-height:44px;font-size:12px}
.nutrition-library>.row.top{align-items:center;margin:24px 0 16px}
.nutrition-library>.row.top h1{font-size:23px;margin:0}
.nutrition-library #mealSearch{margin:0 0 12px}
.nutrition-library .meal-filters{margin:0 0 24px;gap:8px}
.nutrition-library .meal-library-card,.nutrition-library .meal-library-card strong{color:#f3f3f3!important;-webkit-text-fill-color:currentColor}
.nutrition-library .meal-library-card small{color:#aaa}
.nutrition-setup{padding:20px}
.nutrition-setup h2{font-size:20px;margin:0 0 12px}
.nutrition-setup p{color:#aaa;font-size:13px;line-height:1.6;margin:0 0 18px}
@media(max-width:600px){.nutrition-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}}
@media(max-width:360px){.nutrition-balance{padding:16px}.nutrition-stat-grid{gap:9px}.nutrition-stat>span{font-size:10px}.nutrition-stat>strong{font-size:16px}.nutrition-stat strong small{display:block;margin-top:3px}.nutrition-week-navigation>span{font-size:12px}.nutrition-library>.row.top h1{font-size:21px}}
.nutrition-section .nutrition-tabs button:not(.active){color:#a9a9a9}
.nutrition-section .meal-filters button.primary{background:var(--gold,#d4a853)!important;border-color:var(--gold,#d4a853)!important;color:#080808!important}


/* Shared actions retain their established contrast; native controls never fall back to blue. */
.nutrition-section button.primary,.nutrition-section .meal-eaten-direct{color:#080808}
.nutrition-section .link-btn,.nutrition-section .home-link{display:inline-flex;align-items:center;gap:6px}
.nutrition-section .bp-arrow-inline{display:inline-flex;align-items:center;flex:0 0 auto}
.nutrition-date-heading{align-items:center;flex-wrap:wrap;gap:8px;margin-top:-10px}
.nutrition-date-heading .home-link{font-size:12px;min-height:44px}
.nutrition-section .nutrition-compact-meal{grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start;padding:18px 0}
.nutrition-compact-copy{grid-column:1;grid-row:1}
.nutrition-section .nutrition-compact-copy>button{min-height:44px;padding:0!important;line-height:1.4}
.nutrition-compact-copy>small{line-height:1.6}
.nutrition-section .meal-eaten-direct{grid-column:1;grid-row:2;justify-self:start;min-height:44px;padding:10px 14px;border:1px solid #77603a;background:#211d15;color:#e2bc70;border-radius:11px;font-size:12px;font-weight:650;line-height:1.4;text-align:center}
.nutrition-section .meal-eaten-state{grid-column:1;grid-row:2;color:#e2bc70;font-size:12px;line-height:1.5}
.nutrition-section .meal-row-menu{grid-column:2;grid-row:1;align-self:start;margin:0}
.nutrition-section .meal-row-menu>summary{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0!important;line-height:1;color:#ddd}
.nutrition-section .meal-row-menu>summary::after{display:none!important}
.nutrition-section .meal-row-menu>div{top:64px;min-width:190px;max-width:calc(100% - 8px)}
.nutrition-section .meal-row-menu button{min-height:44px}
.nutrition-section .meal-row-menu[open]{z-index:30}
.nutrition-section button:focus-visible,.home-meal:focus-visible{outline:2px solid #e2bc70;outline-offset:4px}
/* A radio choice is a horizontal row, independent of generic form-label grids. */
#foodPrefsForm .basis-modes{grid-template-columns:1fr;gap:8px;margin:0}
#foodPrefsForm .basis-modes label{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 14px}
#foodPrefsForm .basis-modes input[type=radio]{width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:0;accent-color:var(--gold,#d4a853)}
#foodPrefsForm h3{margin:8px 0 0;font-size:18px;line-height:1.4;scroll-margin-top:110px}
#foodPrefsForm h3:first-child{margin-top:0}
#foodPrefsForm .link-btn{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;text-align:left}
#pref-panel-food{padding:20px}
.profile-tabs[hidden],.profile-panel[hidden]{display:none!important}
@media(max-width:360px){.nutrition-section .nutrition-compact-meals{padding:0 14px}.nutrition-section .nutrition-compact-copy>button{font-size:14px}.nutrition-stat-grid{gap:8px}.nutrition-stat>span{overflow-wrap:anywhere}}

/* Nutrition uses the existing card, action, type and chevron system. */
body .nutrition-section .nutrition-suggestion-actions{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.nutrition-suggestion-actions>button{min-width:0;white-space:normal;min-height:48px}
.nutrition-proposals{border:1px solid #2d2d2d;border-radius:18px;background:#111;padding:0 16px}
.nutrition-proposal-row{display:grid;gap:8px;padding:18px 0;border-bottom:1px solid #2d2d2d;min-width:0}
.nutrition-proposal-row:last-child{border-bottom:0}
.nutrition-proposal-row>small{color:#aaa;font-size:12px;line-height:1.6}
.nutrition-section .nutrition-proposal-title{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#f3f3f3;background:none;border:0;padding:0;font-size:15px;font-weight:650;line-height:1.45;min-height:44px;min-width:0}
.nutrition-day-plan .nutrition-log-action{margin-top:0!important}
.nutrition-week-entry{grid-template-columns:88px minmax(0,1fr) 18px;align-items:start}
.nutrition-week-state{min-width:0;line-height:1.5}
.nutrition-week-state>small{display:block;color:#ddd;font-size:12px;font-weight:400;line-height:1.6;margin-top:6px;overflow-wrap:anywhere}
.nutrition-section .shopping-row>span>small{display:block;color:#aaa;font-size:12px;margin-top:5px}
.nutrition-section .personal-meal-card{color:#f3f3f3;text-align:left}
.nutrition-section .personal-meal-card>small{display:block;color:#aaa;margin-top:8px;line-height:1.5}
.nutrition-section .recipe-capture-actions{display:flex;flex-wrap:wrap;gap:10px}
.nutrition-section .recipe-capture-actions>button{white-space:normal;min-height:48px}
@media(max-width:360px){.nutrition-week-entry{grid-template-columns:70px minmax(0,1fr) 16px;gap:8px}.nutrition-proposals{padding:0 14px}}

.nutrition-section>.nutrition-day-plan{margin:24px 0}
.nutrition-recent{display:grid;gap:10px;margin:20px 0}
.nutrition-recent h2{font-size:18px;margin:0 0 4px}
.nutrition-recent button{width:100%;margin:0;font-size:14px}
.nutrition-proposals:empty{display:none}

/* One daily timeline; recorded meals are not repeated in a second list. */
.nutrition-section .nutrition-meal-title{display:block;font-size:15px;line-height:1.45;margin:8px 0;color:#f3f3f3;font-weight:650}
.nutrition-section .nutrition-compact-copy>.meal-recipe-link{display:inline-flex;min-height:44px;margin:4px 0 0;padding:0!important;color:var(--gold,#d4a853)!important;font-size:12px;font-weight:600;background:none;border:0;text-align:left}
.nutrition-section .meal-recipe-link::after{display:none}
.nutrition-return-today{justify-self:start;min-height:44px}
.nutrition-date-heading{margin-top:0}
.nutrition-section .meal-row-menu>div{z-index:60;overscroll-behavior:contain}
.help-information a.hub-link{text-decoration:none;color:inherit}


/* Match the dashboard outline for secondary nutrition actions. */
body .nutrition-section button.secondary{border-color:var(--gold,#d4a853)}


/* Daily proposals share the hero card and its full-width external action row. */
.nutrition-section .nutrition-proposals{display:grid;gap:24px;border:0;background:none;padding:0}
.nutrition-section .nutrition-proposal-row{display:block;padding:0;border:0}
.nutrition-overview .home-meal[data-home-fitted]{height:var(--home-card-height);min-height:var(--home-card-height)}

/* 3.0.39: recognisable meals and a focused, responsive capture form. */
.nutrition-section .nutrition-compact-meal{grid-template-columns:64px minmax(0,1fr) 44px;column-gap:12px;row-gap:10px}
.nutrition-meal-thumb{display:block;width:64px;height:64px;object-fit:cover;border-radius:12px;background:#202020;grid-column:1;grid-row:1}
.nutrition-section .nutrition-compact-copy{grid-column:2;grid-row:1;min-width:0}
.nutrition-section .nutrition-compact-copy>span{display:block;font-size:11px;line-height:1.5;color:#aaa}
.nutrition-section .nutrition-meal-title{margin:5px 0;font-size:14px;overflow-wrap:anywhere}
.nutrition-day-plan .meal-row-menu{grid-column:3;grid-row:1}
.nutrition-day-plan .meal-eaten-direct{grid-column:2 / 4;grid-row:2;max-width:100%}
.nutrition-section .capture-form{display:grid;gap:20px;padding:20px;margin-top:20px;min-width:0;border:1px solid #2d2d2d;border-radius:18px;background:#111}
.capture-form>*{min-width:0;margin:0}
.capture-meal-heading{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid #2d2d2d}
.capture-meal-heading>div{min-width:0}.capture-meal-heading span{display:block;font-size:12px;color:#aaa;margin-bottom:6px}
.capture-meal-heading strong{font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.capture-form .form-field{display:grid;gap:8px;min-width:0;margin:0}
.capture-form .form-field>label{display:block;margin:0;font-size:13px;line-height:1.4;color:#bbb}
.capture-form .form-field input,.capture-form .form-field .bp-select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;margin:0;border-radius:12px;font-size:16px;line-height:1.4}
.capture-form .bp-select{white-space:normal;text-align:left;overflow-wrap:anywhere;padding:12px 38px 12px 12px!important}
.capture-form input[type=date],.capture-form input[type=time]{display:block;-webkit-appearance:none;appearance:none}
.capture-form .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.capture-form .capture-preview{padding:16px;margin:0;border-color:#4c4028;border-radius:14px;background:#19160f}
.capture-form .capture-preview h2{font-size:16px;line-height:1.4;margin:0 0 8px}
.capture-form #captureAmountLabel{font-size:13px;margin:0 0 16px;color:#e2bc70}
.capture-form .nutrition-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.capture-form .nutrition-detail-grid>div{min-width:0;padding:12px;background:#111;border:1px solid #302b20;border-radius:10px}
.capture-form .nutrition-detail-grid>div:first-child{grid-column:1 / -1}
.capture-form .nutrition-detail-grid span{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.capture-form .nutrition-detail-grid strong{font-size:17px;line-height:1.4;margin-top:6px}
.capture-form .capture-preview>.small{margin:12px 0 0;font-size:12px}
.capture-estimate-details{border:1px solid #333;border-radius:12px;padding:0 14px}
.capture-estimate-details>summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:13px;line-height:1.5;color:#ccc}
.capture-form .estimate-panel{margin:0;padding:14px 0;border:0;background:none;display:grid;gap:16px}
.capture-form .estimate-heading{display:block}.capture-form .estimate-tag{display:none}
.capture-form .nutrition-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.capture-form>button[type=submit]{min-height:50px;position:static;margin:0}
@media(max-width:370px){.nutrition-section .nutrition-compact-meal{grid-template-columns:52px minmax(0,1fr) 44px;column-gap:8px}.nutrition-section .nutrition-meal-thumb{width:52px;height:52px;border-radius:10px}.nutrition-section .capture-form{padding:16px}.capture-form .grid2{grid-template-columns:1fr}}

.capture-choice>summary{cursor:pointer;color:var(--gold,#d4a853);font-size:13px;min-height:44px;padding:12px 0;line-height:1.5}
.capture-choice[open]>.form-field{margin-top:12px}
@media(max-width:600px){.capture-form .grid2{grid-template-columns:1fr}}

/* 3.0.40: paired meal actions, with the thumbnail centred beside the full entry. */
.nutrition-section .nutrition-meal-thumb{grid-row:1 / 3;align-self:center}
.nutrition-row-actions{grid-column:2 / 4;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;align-items:stretch}
.nutrition-section .nutrition-row-actions>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;grid-column:auto;grid-row:auto;justify-self:stretch;min-width:0;width:100%;min-height:44px;height:100%;margin:0;padding:9px 8px!important;border:1px solid #77603a;border-radius:11px;background:#141414e6;color:#e2bc70!important;font-size:12px;font-weight:650;line-height:1.4;white-space:normal;text-align:center;overflow-wrap:normal}
.nutrition-row-actions>button:only-child{grid-column:1 / -1;justify-self:start;width:auto;min-width:120px}

/* 3.0.43: shared recipe access and visible, stateful meal actions. */
.meal-recipe-mark{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:52px;color:var(--gold);font-size:12px;line-height:1.2;font-weight:650}
.meal-recipe-mark svg,.meal-icon-action svg,.meal-swap-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
body .home-meal .home-meal-open{padding:4px 8px!important;min-width:60px;min-height:60px;width:max-content;border:1px solid #8b703d!important;background:#111b;border-radius:10px}
.meal-library-card:has(.meal-recipe-mark){grid-template-columns:80px minmax(0,1fr) 54px}.meal-library-card>.meal-recipe-mark{align-self:center}
.nutrition-section .nutrition-compact-meals{display:grid;gap:14px;border:0;background:none;padding:0}
.nutrition-section .nutrition-compact-meal{display:grid;grid-template-columns:minmax(88px,32%) minmax(0,1fr);gap:14px;padding:16px;margin:0;border:1px solid #303030;border-radius:18px;background:#111;align-items:center}
.nutrition-section .nutrition-meal-thumb{grid-column:1;grid-row:1 / 2;align-self:center;width:100%;height:auto;aspect-ratio:1 / 1;min-height:0;max-height:none;object-fit:cover;border-radius:12px}
.nutrition-section .nutrition-compact-copy{grid-column:2;grid-row:1;align-self:center}
.nutrition-section .nutrition-meal-title{font-size:15px;line-height:1.4;margin:7px 0;overflow-wrap:anywhere}
.nutrition-section .nutrition-row-actions{grid-column:1 / -1;grid-row:2;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none;gap:6px;border-top:1px solid #303030;padding-top:12px}
.nutrition-section .nutrition-row-actions>button.meal-icon-action{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;grid-column:auto;width:100%;min-width:0;min-height:64px;padding:8px 2px!important;border:1px solid #8b703d;background:transparent;color:var(--gold)!important;font-size:11px;line-height:1.2;border-radius:10px;overflow-wrap:normal}
.nutrition-section .nutrition-row-actions>.meal-action-eaten{border-color:#8b703d!important}
.nutrition-section .nutrition-row-actions>.meal-action-eaten[aria-pressed=true]{background:var(--gold);border-color:var(--gold)!important;color:#080808!important}
.nutrition-section .nutrition-row-actions>.meal-action-remove{color:var(--gold)!important}
.meal-icon-action:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:370px){.nutrition-section .nutrition-compact-meal{padding:12px;gap:10px;grid-template-columns:88px minmax(0,1fr)}.nutrition-section .nutrition-meal-title{font-size:14px}.nutrition-section .nutrition-row-actions{gap:3px}.nutrition-section .nutrition-row-actions>button.meal-icon-action{font-size:10px}.meal-library-card>.meal-recipe-mark{min-width:44px;font-size:11px}}
body .home-meal .meal-recipe-mark svg{width:24px;height:24px}
body .meal-library-card>.meal-recipe-mark{display:flex;flex-direction:column;gap:5px;width:54px;height:auto;min-height:54px;flex:0 0 54px;background:#111b;border:1px solid #8b703d;border-radius:10px;padding:8px 2px;box-sizing:border-box;font-size:12px}
body .meal-library-card>.meal-recipe-mark>span{font-size:12px}
.nutrition-section .nutrition-row-actions>button.meal-icon-action>span{color:inherit!important}
.nutrition-section .nutrition-row-actions>.meal-action-eaten[aria-pressed=true]>span{color:#080808!important}

/* Consistent visual meal alternatives. Intrinsic text growth preserves accessibility. */
.nutrition-alternatives{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:12px}
body .nutrition-alternatives .meal-library-card{display:grid;grid-template-columns:80px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:116px;margin:0;padding:14px;text-align:left;width:100%;box-sizing:border-box}
.nutrition-alternatives .meal-library-copy{min-width:0}
.nutrition-alternatives .meal-library-copy strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere;color:#f3f3f3}
.nutrition-alternatives .meal-library-copy small{display:block;margin-top:8px;color:#aaa}
.nutrition-alternatives .meal-swap-icon svg{width:24px;height:24px;color:var(--gold)}
.nutrition-external-option{margin-top:24px}
@media(max-width:370px){body .nutrition-alternatives .meal-library-card{grid-template-columns:72px minmax(0,1fr) 24px;gap:10px;padding:12px}.nutrition-alternatives .meal-library-thumb{width:72px;height:72px}.nutrition-alternatives .meal-library-copy strong{font-size:14px}}

/* Library cards open the recipe; the compact chevron leaves room for names and favorites. */
.meal-library-card:has(>.meal-library-chevron){grid-template-columns:80px minmax(0,1fr) 22px}
body .meal-library-card>.meal-library-chevron{display:inline-flex!important;align-items:center;justify-content:center;width:22px!important;height:36px!important;min-width:22px;flex:0 0 22px!important;border:0!important;background:transparent!important;padding:0!important;color:var(--gold)!important;font-size:31px;line-height:1}

/* All nutrition overview meal states share the compact card, including next meal and drafts. */
.nutrition-section .nutrition-proposals{display:block}
.nutrition-overview .home-nutrition>.nutrition-compact-meals{margin-top:14px}
.nutrition-section .nutrition-row-actions>.meal-action-accept{color:var(--gold)!important}

/* Compact entry to refill an empty meal slot or log another meal. */
.nutrition-empty-slot{margin-top:12px;padding:15px 16px;border:1px solid #35312b;border-radius:16px;background:#111;display:grid;gap:12px}
.nutrition-empty-slot strong{font-size:15px}.nutrition-empty-slot>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nutrition-empty-slot button{min-width:0;min-height:44px;padding:8px!important;font-size:13px;border-color:#a9853e!important}
.meal-add-choices{display:grid;gap:12px;margin-top:20px}
.meal-add-choices button{min-height:90px;text-align:left;padding:18px;display:grid;gap:6px;border:1px solid #4b3b20;border-radius:16px;background:#111}
.meal-add-choices strong{font-size:17px;color:#eee}.meal-add-choices span{font-size:13px;color:#aaa}
.capture-form .capture-choice,.capture-form .capture-optional{border-top:1px solid #333;padding-top:12px;margin:12px 0}
.capture-form .capture-choice>summary,.capture-form .capture-optional>summary{cursor:pointer;color:#d4a853;min-height:36px;font-weight:600}
.capture-form .capture-optional>.form-field{margin-top:12px}


.manual-meal-icon{display:flex;align-items:center;justify-content:center;background:rgba(211,169,78,.08);color:var(--gold,#d3a94e)}
.manual-meal-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Recipe library: independent, wrapping filter groups. */
.meal-filter-group{border:0;padding:0;margin:16px 0 0;min-width:0}
.meal-filter-group legend{font-weight:700;font-size:.9rem;margin-bottom:6px;padding:0}
.meal-filter-group .meal-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.meal-filter-group button{flex:0 0 auto;min-height:40px;white-space:nowrap;padding:9px 12px}
.meal-result-count{margin:12px 0;color:var(--muted)}

/* Focused recipe filters: keep discovery light, edit choices on a separate screen. */
.meal-library-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0}
.meal-library-heading .page-title{font-size:clamp(19px,5vw,26px);margin:0;min-width:0}
.meal-library-tools{display:flex;gap:8px;align-items:center;flex-shrink:0}
.meal-library-tools button{min-height:44px;margin:0}
.meal-filter-open{position:relative;width:44px;padding:10px;display:grid;place-items:center}
.meal-filter-open svg{width:22px;height:22px}
.meal-filter-open.is-active:after{content:'';position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold);border:2px solid #080808}
.meal-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-size:13px;color:#c5c5c5;background:transparent;border:0;border-bottom:1px solid #303030;border-radius:0;padding:10px 0;min-height:44px}
body:has(.meal-filter-screen) .topbar,body:has(.meal-filter-screen) .bottom-nav,body:has(.meal-filter-screen) .bottom-nav-backdrop{display:none}
body:has(.meal-filter-screen) .app-shell{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:calc(108px + env(safe-area-inset-bottom))}
.meal-filter-screen{max-width:540px;margin:0 auto}
.recipe-filter-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px}
.recipe-filter-close{width:44px;height:44px;padding:0;font-size:28px;line-height:1}
.recipe-filter-top .link-btn{color:var(--gold);min-height:44px}
.meal-filter-screen .page-title{margin-bottom:8px}
.meal-filter-screen .meal-filter-group{margin:28px 0 0;padding:0 0 24px;border-bottom:1px solid #292929}
.meal-filter-screen .meal-filter-group legend{font-size:18px;margin-bottom:14px}
.recipe-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.meal-filter-screen .recipe-filter-options button{white-space:normal;min-height:54px;padding:12px 8px;font-size:14px;border-radius:12px;overflow-wrap:anywhere}
.recipe-filter-options button.secondary{border-color:#424242;background:#111}
.recipe-filter-options .recipe-profile-time{grid-column:1/-1;text-align:left;padding:15px!important}
.recipe-profile-time small{display:block;font-weight:400;margin-top:5px;color:inherit;opacity:.75}
.recipe-filter-footer{position:fixed;z-index:50;bottom:0;left:0;right:0;padding:16px max(20px,calc((100vw - 540px)/2)) calc(16px + env(safe-area-inset-bottom));background:#080808;border-top:1px solid #222}
.recipe-filter-footer button{width:100%;min-height:52px}
@media(max-width:350px){.meal-library-heading{gap:6px}.meal-library-tools{gap:6px}.meal-library-tools .mini{padding:10px}.meal-library-heading .page-title{font-size:18px}.recipe-filter-options{gap:8px}}
body .meal-library-tools .meal-filter-open{width:44px;flex:0 0 44px}
body .meal-library-tools .mini{width:auto;white-space:nowrap}
body .nutrition-section .recipe-filter-options button.secondary{border-color:#424242}
.recipe-filter-options .recipe-profile-time{display:block}
.recipe-filter-options button{overflow-wrap:normal!important}


/* Source: help-topics.css */
.help-topic{padding:0;overflow:hidden;margin-bottom:12px}.help-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 18px;cursor:pointer;list-style:none}.help-topic>summary::-webkit-details-marker{display:none}.help-topic>summary>span{min-width:0}.help-topic>summary strong{display:block;font-size:1.1rem}.help-topic>summary small{display:block;margin-top:7px;color:var(--muted,#aaa);font-size:.9rem;line-height:1.4}.help-topic>summary>svg{width:24px;height:24px;flex:none;fill:none;stroke:#d3aa50;stroke-width:2;transition:transform .18s}.help-topic[open]>summary>svg{transform:rotate(180deg)}.help-topic[open]>summary{border-bottom:1px solid #333}.help-topic-content{padding:4px 18px 20px}.help-topic-content p{line-height:1.55}.help-topic-content h3{margin-top:24px;font-size:1rem}.help-topic>summary:focus-visible{outline:2px solid #d3aa50;outline-offset:-4px}.referral-share{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.referral-share>a{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;color:#d3aa50;text-decoration:none}.referral-share svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}[data-referral-panel] label{display:block;margin:14px 0}[data-referral-panel] input{display:block;width:100%;min-width:0;margin-top:7px;font-size:.85rem}[data-copy-referral]{width:100%}@media(prefers-reduced-motion:reduce){.help-topic>summary>svg{transition:none}}
.help-topic>summary::after,.help-topic>summary::before{content:none!important;display:none!important}


/* Source: brand-text.css */
/* Trim the original symbol's transparent margin to match surrounding cap height. */
span.loop-inline-mark {
  display: inline-block;
  box-sizing: content-box;
  width: .82em;
  height: .76em;
  padding: 0;
  overflow: hidden;
  vertical-align: baseline;
  text-indent: -999em;
  white-space: nowrap;
  background: currentColor;
  -webkit-mask: url("assets/brand/41loop-symbol-black.svg") center / 121% auto no-repeat;
  mask: url("assets/brand/41loop-symbol-black.svg") center / 121% auto no-repeat;
}
