:root{
  color-scheme:dark;
  --night:#17130f;
  --night-soft:#211912;
  --panel:#2a211a;
  --panel-strong:#403126;
  --ink:#f4ead9;
  --muted:#c9baa5;
  --muted-soft:#978774;
  --flame:#d64b24;
  --sunset:#e7a263;
  --ember:#ed672e;
  --success:#93bc9a;
  --danger:#df806e;
  --sky:#81979b;
  --line:rgba(239,220,190,.16);
  --line-strong:rgba(224,112,59,.4);
  --glass:rgba(37,29,22,.92);
  --rail:15rem;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--night)}
body{
  margin:0;
  min-width:320px;
  min-height:100vh;
  color:var(--ink);
  background:linear-gradient(180deg,#292a27 0,#29231e 17rem,#1e1915 33rem,var(--night) 100%);
}

button,select,textarea,input{font:inherit}
button,a,select,textarea,input{accent-color:var(--flame)}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{
  outline:3px solid var(--ember);
  outline-offset:3px;
}
button:disabled{cursor:not-allowed;opacity:.52}
[hidden],.hidden{display:none!important}

.fireground-sky{
  position:fixed;
  inset:0 0 auto;
  height:27rem;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:.48;
  background:linear-gradient(180deg,rgba(104,129,135,.46) 0,rgba(130,132,121,.22) 40%,rgba(185,117,73,.14) 68%,transparent 100%);
}
.fireground-sky:before{
  content:"";
  position:absolute;
  inset:auto 0 2.4rem;
  height:5.5rem;
  background:linear-gradient(176deg,transparent 0 49%,rgba(22,20,17,.48) 50% 100%);
}
.fireground-sky:after{
  content:"";
  position:absolute;
  inset:auto 0 1.8rem;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(237,103,46,.66) 52%,transparent);
}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;color:#111;padding:.75rem 1rem;border-radius:.5rem}
.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}

.side-rail{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--rail);
  z-index:10;
  display:flex;
  flex-direction:column;
  padding:1.25rem 1rem 1.4rem;
  border-right:1px solid var(--line);
  background:rgba(22,18,15,.96);
  backdrop-filter:blur(16px);
}
.brand-lockup{display:flex;align-items:center;gap:.75rem;padding:.1rem .5rem 1.3rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.brand-lockup img,.mobile-brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;box-shadow:0 .45rem 1.4rem rgba(0,0,0,.32)}
.brand-lockup span,.mobile-brand span{min-width:0}
.brand-lockup strong,.brand-lockup small,.mobile-brand strong,.mobile-brand small{display:block}
.brand-lockup strong{font-size:.66rem;letter-spacing:.13em;color:var(--sunset);white-space:nowrap}
.brand-lockup small{margin-top:.28rem;color:var(--muted);font-size:.61rem;letter-spacing:.2em}

.primary-nav{display:grid;gap:.18rem;margin:1.15rem 0}
.nav-item{
  display:grid;
  grid-template-columns:2rem 1fr;
  align-items:center;
  gap:.6rem;
  min-height:2.7rem;
  padding:.53rem .75rem;
  color:var(--muted);
  background:transparent;
  border:1px solid transparent;
  border-radius:.8rem;
  text-align:left;
  cursor:pointer;
}
.nav-item:hover{color:var(--ink);border-color:var(--line)}
.nav-item.active{color:#fff;background:rgba(214,75,36,.14);border-color:rgba(231,162,99,.32)}
.nav-index{color:var(--sunset);font:600 .65rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.nav-item.active .nav-index{color:var(--ember)}

.rail-note{margin-top:auto;padding:.9rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(231,162,99,.045)}
.rail-note span{display:block;color:var(--ember);font-size:.61rem;letter-spacing:.15em}
.rail-note strong{display:block;margin:.6rem 0 .45rem;font:500 1.18rem/1.2 Georgia,serif}
.rail-note p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}
.rail-footer{display:grid;gap:.28rem;padding:1.1rem .5rem 0;color:var(--muted);font-size:.68rem;letter-spacing:.05em}
.rail-footer strong{color:var(--ink)}

.workspace{grid-column:2;min-width:0}
.topbar{
  position:sticky;
  top:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:4.7rem;
  padding:0 clamp(1.1rem,3vw,3rem);
  border-bottom:1px solid var(--line);
  background:rgba(24,20,16,.9);
  backdrop-filter:blur(18px);
}
.route-label{margin:0;color:var(--muted-soft);font-size:.67rem;letter-spacing:.14em}
.route-label span{color:var(--sunset)}
.route-label strong{color:var(--ink)}
.topbar-status{display:flex;align-items:center;gap:.65rem;color:var(--muted);font-size:.68rem;letter-spacing:.12em}
.status-dot{width:.56rem;height:.56rem;border-radius:50%;background:var(--muted-soft)}
.status-dot.loading{color:var(--ember);background:var(--ember);animation:pulse 1.45s ease-in-out infinite}
.status-dot.ready{color:var(--success);background:var(--success)}
.status-dot.pending{color:var(--ember);background:var(--ember)}
.status-dot.unavailable{color:var(--danger);background:var(--danger)}
.mobile-brand{display:none;align-items:center;gap:.6rem}
.mobile-brand img{width:36px;height:36px}
.mobile-brand strong{font-size:.75rem;color:var(--sunset);letter-spacing:.15em}
.mobile-brand small{font-size:.55rem;color:var(--muted);letter-spacing:.14em}

main{width:min(100%,98rem);margin:0 auto;padding:clamp(1.5rem,4vw,4rem) clamp(1.1rem,3vw,3rem) 5rem}
.view{animation:view-in .36s ease both}
.view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.view-heading>div:first-child{max-width:58rem}
.view-heading h1{margin:.45rem 0 .8rem;font:500 clamp(3rem,6vw,6.3rem)/.94 Georgia,serif;letter-spacing:-.055em}
.compact-heading h1,.program-heading h1{font-size:clamp(2.9rem,5vw,5.3rem)}
.kicker,.eyebrow{margin:0;color:var(--sunset);font-size:.68rem;font-weight:650;letter-spacing:.18em}
.eyebrow{color:var(--ember);letter-spacing:.15em}
.lead{max-width:48rem;margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.7}

.gate-seal{
  flex:0 0 8.5rem;
  aspect-ratio:1;
  display:grid;
  place-content:center;
  justify-items:center;
  border:1px solid rgba(255,189,115,.36);
  border-radius:50%;
  background:rgba(37,29,22,.86);
  box-shadow:0 1.1rem 3rem rgba(0,0,0,.22);
}
.gate-seal span{font:500 3.5rem/1 Georgia,serif}
.gate-seal small{margin-top:.35rem;color:var(--sunset);font-size:.6rem;letter-spacing:.18em}

.truth-banner{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(214,75,36,.07)}
.truth-banner:before{content:"";width:.55rem;height:.55rem;flex:0 0 auto;border-radius:50%;background:var(--ember)}
.truth-banner strong{font-size:.86rem}
.truth-banner span{color:var(--muted);font-size:.82rem;line-height:1.45}
.truth-banner.verified{border-color:rgba(139,224,187,.34);background:rgba(139,224,187,.05)}
.truth-banner.verified:before{background:var(--success)}
.truth-banner.unavailable{border-color:rgba(255,158,170,.34);background:rgba(255,158,170,.045)}
.truth-banner.unavailable:before{background:var(--danger)}

.panel{border:1px solid var(--line);border-radius:1.2rem;background:rgba(42,33,26,.94);box-shadow:0 1.6rem 5rem rgba(0,0,0,.22)}
.home-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(17.5rem,.65fr);gap:1.2rem;align-items:start}
.next-session{min-height:34rem;padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column}
.panel-topline{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.data-state,.week-marker,.completion-chip,.rail-heading>span{display:inline-flex;align-items:center;margin-top:.5rem;padding:.34rem .56rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.59rem;letter-spacing:.12em}
.week-marker{margin-top:0;color:var(--sunset)}
.next-session h2,.access-card h2,.rail-heading h2,.workout-copy h2,.progress-overview h2,.checkin-card h2,.support-primary h2,.support-item h2,.billing-card h2{font:500 1.75rem/1.12 Georgia,serif}
.next-session h2{max-width:50rem;margin:clamp(2.6rem,6vw,5rem) 0 1rem;font-size:clamp(2.4rem,4.5vw,4.7rem);letter-spacing:-.04em}
.next-session>p{max-width:47rem;margin:0;color:var(--muted);font-size:1rem;line-height:1.68}
.session-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:auto 0 1.7rem;padding-top:2.5rem}
.session-facts div{padding:.85rem 1rem;border-top:1px solid var(--line);border-right:1px solid var(--line)}
.session-facts div:first-child{padding-left:0}.session-facts div:last-child{border-right:0}
dt{color:var(--sunset);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
dd{margin:.45rem 0 0;color:var(--ink);font-size:.87rem;line-height:1.45}
.session-progress progress,.progress-overview progress{display:block;width:100%;height:.52rem;border:0;border-radius:999px;overflow:hidden;background:#160c08}
progress::-webkit-progress-bar{background:#160c08;border-radius:999px}
progress::-webkit-progress-value{background:linear-gradient(90deg,var(--flame),var(--sunset),var(--ember));border-radius:999px}
progress::-moz-progress-bar{background:linear-gradient(90deg,var(--flame),var(--sunset),var(--ember));border-radius:999px}
.session-progress>div{display:flex;justify-content:space-between;gap:1rem;margin-top:.65rem;color:var(--muted);font-size:.75rem}
.session-progress strong{color:var(--ink)}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.primary-button,.quiet-button{
  min-height:2.9rem;
  border-radius:.75rem;
  padding:.8rem 1.05rem;
  color:var(--ink);
  cursor:pointer;
}
.primary-button{border:1px solid transparent;background:linear-gradient(135deg,#a62f18,#c5411f);box-shadow:0 .8rem 2.5rem rgba(179,51,25,.31);font-weight:650}
.quiet-button{border:1px solid var(--line-strong);background:rgba(232,92,42,.1);box-shadow:none}
.primary-button:not(:disabled):hover,.quiet-button:not(:disabled):hover{filter:brightness(1.1);border-color:var(--sunset)}
.link-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;text-decoration:none}
.full-button{width:100%}

.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.metric-card{min-height:8.5rem;padding:1.25rem;border-top:1px solid var(--line-strong);background:rgba(231,162,99,.045)}
.metric-card span{display:block;color:var(--muted);font-size:.6rem;letter-spacing:.14em}
.metric-card strong{display:block;margin:.8rem 0 .4rem;font:500 2rem/1 Georgia,serif}
.metric-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}
.access-card{grid-column:1/-1;padding:1.4rem}
.access-card h2{margin:.65rem 0 .55rem}
.access-card>p:not(.eyebrow,.offer-id){margin:.45rem 0;color:var(--muted);font-size:.82rem;line-height:1.55}
.offer-mini{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.2rem 0 .65rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.offer-mini span{font-size:.61rem;letter-spacing:.12em;color:var(--sunset)}
.offer-mini strong{font:500 1.75rem/1 Georgia,serif}
.offer-id{overflow-wrap:anywhere;color:var(--muted-soft)!important;font:500 .64rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.cohort-note{color:var(--sunset)!important;font-size:.72rem!important;letter-spacing:.03em}
.access-card .link-button{width:100%;margin-top:.8rem}
.access-card>small{display:block;margin-top:.75rem;color:var(--muted-soft);line-height:1.45}
.access-card.granted{border-color:rgba(147,188,154,.35);background:rgba(35,48,37,.92)}
.access-card.pending{border-color:rgba(255,177,94,.4)}
.ember-console{min-width:0;margin-top:1.2rem;padding:clamp(1.1rem,2.5vw,1.75rem);border-color:rgba(231,162,99,.32);background:linear-gradient(145deg,rgba(51,39,29,.98),rgba(31,25,20,.98))}
.ember-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ember-heading>span{padding:.34rem .52rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--sunset);font-size:.57rem;letter-spacing:.1em}
.ember-heading h2{margin:.55rem 0 0;font:500 clamp(1.65rem,3vw,2.2rem)/1.12 Georgia,serif}
.ember-intro{max-width:58rem;margin:.8rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.6}
.ember-truth{margin:1rem 0;padding:.8rem 1rem;border-left:2px solid var(--sunset);background:rgba(231,162,99,.06);color:var(--muted);font-size:.74rem;line-height:1.55}
.ember-history{display:grid;gap:1rem;max-height:31rem;min-height:8rem;overflow-y:auto;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(18,14,11,.48);scrollbar-color:var(--line-strong) transparent}
.ember-empty{align-self:center;padding:1.5rem;text-align:center;color:var(--muted-soft);font-size:.78rem;line-height:1.6}
.ember-turn{display:grid;gap:.65rem;min-width:0}
.ember-bubble{max-width:min(46rem,92%);padding:.8rem 1rem;border-radius:.9rem;font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.ember-bubble p{margin:.28rem 0 0;white-space:pre-wrap}
.ember-bubble strong{font-size:.6rem;letter-spacing:.12em;color:var(--sunset)}
.ember-question{justify-self:end;border:1px solid rgba(231,162,99,.3);border-bottom-right-radius:.22rem;background:rgba(214,75,36,.14)}
.ember-response{justify-self:start;border:1px solid rgba(147,188,154,.25);border-bottom-left-radius:.22rem;background:rgba(46,57,46,.62)}
.ember-followup{display:inline-block;margin-top:.6rem;color:var(--muted-soft);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}
.ember-citations{display:grid;gap:.38rem;margin:.75rem 0 0;padding:.7rem 0 0;border-top:1px solid var(--line)}
.ember-citations>span{color:var(--muted-soft);font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}
.ember-citations a,.ember-citations small{display:block;max-width:100%;font-size:.68rem;line-height:1.45;overflow-wrap:anywhere}
.ember-citations a{width:max-content;color:var(--sunset);text-underline-offset:.18em}
.ember-citations small{color:var(--muted)}
.route-notice{max-width:min(46rem,96%);padding:.8rem 1rem;border:1px solid;border-radius:.7rem;font-size:.75rem;line-height:1.55}
.route-notice strong{display:block;margin-bottom:.28rem;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.route-notice.coach{border-color:rgba(231,162,99,.48);background:rgba(231,162,99,.09);color:#f1d8bc}
.route-notice.professional{border-color:rgba(129,151,155,.62);background:rgba(129,151,155,.12);color:#d7e2e3}
.route-notice.emergency{border-width:2px;border-color:var(--danger);background:rgba(223,128,110,.15);color:#ffe3dd}
.ember-form{display:grid;gap:.65rem;margin-top:1rem}
.ember-form label{font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sunset)}
.ember-form textarea{width:100%;min-width:0;resize:vertical;padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:.75rem;background:#1a1410;color:var(--ink);line-height:1.55}
.ember-form textarea::placeholder{color:var(--muted-soft)}
.ember-compose-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ember-compose-row>span{color:var(--muted-soft);font:600 .66rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.ember-result{min-height:1.15rem;margin:0;color:var(--muted);font-size:.73rem;line-height:1.5}
.ember-console.ready{border-color:rgba(147,188,154,.4)}
.ember-console.ready .ember-heading>span{border-color:rgba(147,188,154,.4);color:var(--success)}
.ember-console.unavailable{border-color:rgba(223,128,110,.32)}
.ember-console[aria-busy="true"] .ember-history{opacity:.72}
.safety-route{margin:0;padding:.8rem 1rem;border:1px solid var(--danger);border-radius:.7rem;background:rgba(223,128,110,.13);color:#ffe3dd;font-size:.75rem;line-height:1.55}

.program-contract{flex:0 0 15rem;padding:1.1rem 1.2rem;border-left:1px solid var(--ember);background:rgba(255,177,94,.04)}
.program-contract span,.program-contract strong,.program-contract small{display:block}
.program-contract span{color:var(--ember);font-size:.6rem;letter-spacing:.15em}
.program-contract strong{margin:.55rem 0;font-size:.76rem;letter-spacing:.08em}
.program-contract small{color:var(--muted)}
.week-tabs-wrap{position:relative;margin-bottom:1.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(232,92,42,.06),transparent);overflow:hidden}
.week-tabs{display:grid;grid-template-columns:repeat(8,minmax(5.3rem,1fr));overflow-x:auto;scrollbar-width:thin}
.week-tabs button{min-height:4.4rem;padding:.7rem;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;text-align:center}
.week-tabs button:last-child{border-right:0}
.week-tabs button span,.week-tabs button small{display:block}
.week-tabs button span{font:500 1.35rem/1 Georgia,serif;color:var(--ink)}
.week-tabs button small{margin-top:.38rem;font-size:.56rem;letter-spacing:.11em}
.week-tabs button[aria-selected="true"]{background:rgba(232,92,42,.14);box-shadow:inset 0 -2px 0 var(--sunset)}
.week-tabs button[aria-selected="true"] small{color:var(--sunset)}
.week-tabs button.returned span:after{content:"";display:inline-block;width:.34rem;height:.34rem;margin-left:.35rem;border-radius:50%;background:var(--success);vertical-align:top}

.program-grid{display:grid;grid-template-columns:minmax(15rem,.58fr) minmax(0,1.42fr);gap:1.2rem;align-items:start}
.workout-rail{padding:1.2rem;position:sticky;top:5.9rem}
.rail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.35rem .25rem 1rem;border-bottom:1px solid var(--line)}
.rail-heading h2{margin:.45rem 0 0}
.rail-heading>span{margin:0;color:var(--ember)}
.workout-list{display:grid;gap:.45rem;margin-top:.8rem}
.workout-row{width:100%;display:grid;grid-template-columns:2.2rem 1fr;gap:.7rem;align-items:center;padding:.85rem .75rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:var(--muted);text-align:left;cursor:pointer}
.workout-row:hover{border-color:var(--line);color:var(--ink)}
.workout-row.selected{border-color:var(--line-strong);background:rgba(232,92,42,.13);color:var(--ink)}
.workout-row>span{font:600 .63rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--sunset)}
.workout-row strong,.workout-row small{display:block}
.workout-row strong{font-size:.81rem;line-height:1.35}
.workout-row small{margin-top:.28rem;color:var(--muted-soft);font-size:.67rem}
.workout-row.complete>span{color:var(--success)}
.loading-row,.empty-inline{padding:1rem;color:var(--muted);font-size:.8rem;line-height:1.55}

.workout-detail{overflow:hidden}
.player-shell{position:relative;display:grid;place-items:center;min-height:24rem;background:linear-gradient(180deg,#252420,#181512);border-bottom:1px solid var(--line)}
.player-shell video{display:block;width:100%;max-height:34rem;background:#0e0806}
.player-placeholder{max-width:30rem;padding:2.4rem;text-align:center}
.player-placeholder img{display:block;width:7rem;height:7rem;margin:0 auto 1.2rem;border-radius:50%;object-fit:cover;opacity:.72;filter:saturate(.72);box-shadow:0 1rem 3rem rgba(0,0,0,.3)}
.player-placeholder .data-state{margin:0 auto .8rem}
.player-placeholder strong{display:block;font:500 1.65rem/1.18 Georgia,serif}
.player-placeholder p{margin:.7rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.55}
.workout-copy{padding:clamp(1.3rem,3vw,2rem)}
.workout-copy h2{margin:.55rem 0 0;font-size:clamp(1.7rem,3vw,2.55rem)}
.workout-copy>p:not(.local-note){color:var(--muted);line-height:1.65}
.completion-chip{margin-top:0;white-space:nowrap;color:var(--ember)}
.completion-chip.complete{border-color:rgba(139,224,187,.36);color:var(--success);background:rgba(139,224,187,.06)}
.exercise-list{display:grid;gap:.6rem;margin-top:1.5rem}
.exercise-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.9rem;border-top:1px solid var(--line);background:rgba(232,92,42,.025)}
.exercise-row>span{font:600 .65rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ember)}
.exercise-row strong,.exercise-row small{display:block}
.exercise-row small{margin-top:.3rem;color:var(--muted);line-height:1.4}
.exercise-row button{min-height:2.2rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:.55rem;background:transparent;color:var(--muted);font-size:.67rem;cursor:pointer}
.exercise-row button:hover,.exercise-row button[aria-pressed="true"]{color:var(--ink);border-color:var(--sunset);background:rgba(232,92,42,.12)}
.local-note{margin:.85rem 0 0;color:var(--muted-soft);font-size:.72rem;line-height:1.5}

.log-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}
.log-metrics .metric-card{min-height:9.2rem;border:1px solid var(--line);border-top:2px solid var(--line-strong);border-radius:1rem}
.activity-panel{padding:clamp(1.3rem,3vw,2rem)}
.activity-heading{align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.activity-heading h2,.week-progress h2,.checkin-guide h2,.learn-card h2{margin:.5rem 0 0;font:500 1.75rem/1.15 Georgia,serif}
.activity-log{display:grid}
.activity-entry{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.activity-entry:last-child{border-bottom:0}
.activity-source{display:grid;place-items:center;align-self:start;min-height:1.85rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:650 .56rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em}
.activity-source.api{border-color:rgba(147,188,154,.4);color:var(--success);background:rgba(147,188,154,.07)}
.activity-source.local{border-color:rgba(231,162,99,.36);color:var(--sunset);background:rgba(231,162,99,.06)}
.activity-source.checkin{border-color:rgba(129,151,155,.46);color:#b9ced1;background:rgba(129,151,155,.08)}
.activity-entry strong{display:block;font-size:.91rem;line-height:1.35}
.activity-entry p{margin:.35rem 0;color:var(--muted);font-size:.81rem;line-height:1.5}
.activity-entry small{color:var(--muted-soft);font-size:.59rem;letter-spacing:.08em}
.activity-entry blockquote{margin:.7rem 0 0;padding:.75rem .9rem;border-left:2px solid var(--sky);background:rgba(129,151,155,.06);color:var(--muted);font-size:.78rem;line-height:1.5}

.progress-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(22rem,1.2fr);gap:1.2rem;align-items:start}
.progress-overview,.week-progress,.checkin-card,.checkin-guide,.support-primary{padding:clamp(1.35rem,3vw,2rem)}
.progress-overview h2{margin:.55rem 0 0;font-size:clamp(1.7rem,3vw,2.6rem)}
.progress-percent{font:500 clamp(2.4rem,5vw,4.2rem)/1 Georgia,serif;color:var(--sunset)}
.progress-overview progress{margin:2.5rem 0 1.6rem;height:.7rem}
.progress-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.progress-facts div{padding:1rem;border-right:1px solid var(--line)}
.progress-facts div:last-child{border-right:0}
.progress-facts span,.progress-facts strong{display:block}
.progress-facts span{color:var(--muted);font-size:.65rem}
.progress-facts strong{margin-top:.5rem;font:500 1.35rem/1 Georgia,serif}
.week-progress-list{display:grid;margin-top:1.3rem;border-top:1px solid var(--line)}
.week-progress-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) minmax(6rem,10rem);gap:.8rem;align-items:center;padding:.88rem 0;border-bottom:1px solid var(--line)}
.week-progress-row>span{color:var(--ember);font:650 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.week-progress-row strong,.week-progress-row small{display:block}
.week-progress-row strong{font-size:.82rem}
.week-progress-row small{margin-top:.28rem;color:var(--muted);font-size:.68rem;line-height:1.35}
.week-progress-row progress{width:100%;height:.42rem;border:0;border-radius:999px;overflow:hidden;background:#17130f}
.week-progress-row progress.empty{opacity:.42}
.checkin-grid{display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(24rem,1.28fr);gap:1.2rem;align-items:start}
.checkin-guide{position:sticky;top:5.9rem}
.checkin-guide>p:not(.eyebrow){color:var(--muted);font-size:.84rem;line-height:1.62}
.practice-list{display:grid;gap:0;margin:1.4rem 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.practice-list li{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.practice-list li>span{color:var(--ember);font:650 .62rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.practice-list strong,.practice-list small{display:block}
.practice-list strong{font-size:.82rem}.practice-list small{margin-top:.28rem;color:var(--muted);line-height:1.35}
.checkin-card{display:grid;gap:.8rem}
.checkin-card h2{margin:.5rem 0 .65rem;font-size:2rem}
.checkin-card>div>p:last-child{margin:0 0 .6rem;color:var(--muted);font-size:.84rem;line-height:1.55}
.checkin-card label,.checkin-card legend{color:var(--sunset);font-size:.74rem;letter-spacing:.06em}
.checkin-card label>span{color:var(--muted-soft)}
select,textarea,input[type="date"],input[type="number"]{width:100%;border:1px solid rgba(231,162,99,.3);border-radius:.7rem;background:#211711;color:var(--ink);padding:.8rem .9rem}
select{min-height:3rem}textarea{resize:vertical;min-height:6rem;line-height:1.5}
select:disabled,input:disabled{opacity:.56;cursor:not-allowed}
.checkin-card fieldset{min-width:0;margin:.2rem 0;padding:0;border:0}
.checkin-card legend{margin-bottom:.65rem}
.effort-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.effort-options label{position:relative;cursor:pointer}
.effort-options input{position:absolute;opacity:0;pointer-events:none}
.effort-options span{display:grid;place-items:center;min-height:2.8rem;border:1px solid var(--line);border-radius:.65rem;color:var(--muted);background:rgba(232,92,42,.04)}
.effort-options input:checked+span{border-color:var(--sunset);color:var(--ink);background:rgba(232,92,42,.16)}
.effort-options input:focus-visible+span{outline:3px solid var(--ember);outline-offset:3px}
.complete-toggle{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 0;line-height:1.45;cursor:pointer}
.complete-toggle input{margin-top:.15rem}
.complete-toggle span{color:var(--muted)!important}
.form-result{min-height:1.25rem;margin:0;color:var(--success);font-size:.78rem;line-height:1.5}

.accountability-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem;align-items:start}
.accountability-summary,.missing-records,.evidence-form,.accountability-feed{padding:clamp(1.3rem,3vw,1.8rem)}
.accountability-summary h2,.missing-records h2,.evidence-form h2,.accountability-feed h2{margin:.5rem 0 0;font:500 1.7rem/1.15 Georgia,serif}
.accountability-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.accountability-facts div{padding:.9rem .75rem;border-right:1px solid var(--line)}
.accountability-facts div:first-child{padding-left:0}.accountability-facts div:last-child{padding-right:0;border-right:0}
.accountability-facts span,.accountability-facts strong{display:block}
.accountability-facts span{color:var(--muted);font-size:.62rem}.accountability-facts strong{margin-top:.45rem;font:500 1.45rem/1 Georgia,serif}
.coverage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.coverage-chip{min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;background:rgba(231,162,99,.035)}
.coverage-chip strong,.coverage-chip small{display:block}.coverage-chip strong{font-size:.72rem}.coverage-chip small{margin-top:.35rem;color:var(--muted-soft);font-size:.61rem;line-height:1.4}
.missing-record-list,.accountability-learning-list,.accountability-review-list{display:grid;margin-top:1rem;border-top:1px solid var(--line)}
.accountability-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.accountability-row>span{align-self:start;padding:.34rem .4rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--sunset);font:650 .53rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center}
.accountability-row strong{display:block;font-size:.82rem;line-height:1.35}
.accountability-row p{margin:.32rem 0;color:var(--muted);font-size:.75rem;line-height:1.5}
.accountability-row small{color:var(--muted-soft);font-size:.56rem;line-height:1.45;letter-spacing:.07em}
.evidence-form{display:grid;gap:.9rem}
.evidence-form>div:first-child>p:last-child{margin:.65rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.evidence-form label{display:grid;gap:.45rem;color:var(--sunset);font-size:.7rem;letter-spacing:.05em}
.date-fields,.count-fields{display:grid;gap:.7rem}.date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.count-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.accountability-feed{display:grid;gap:1.7rem}
.accountability-feed>section+section{padding-top:1.4rem;border-top:1px solid var(--line)}
.exercise-library-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:3rem 0 1.2rem;padding-top:2rem;border-top:1px solid var(--line-strong)}
.exercise-library-heading h2{margin:.5rem 0 0;font:500 clamp(2.2rem,4vw,3.8rem)/1 Georgia,serif}
.exercise-library-heading>p{max-width:34rem;margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}

.learn-status{display:grid;grid-template-columns:minmax(12rem,.3fr) 1fr;gap:1.3rem;align-items:center;margin-bottom:1.2rem;padding:1rem 1.2rem;border:1px solid var(--line);border-left:3px solid var(--sunset);border-radius:.8rem;background:rgba(231,162,99,.04)}
.learn-status span{color:var(--sunset);font-size:.65rem;font-weight:700;letter-spacing:.12em}
.learn-status p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.learn-status.ready{border-left-color:var(--success)}.learn-status.ready span{color:var(--success)}
.learn-status.unavailable{border-left-color:var(--danger)}.learn-status.unavailable span{color:var(--danger)}
.learn-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.learning-empty{grid-column:1/-1;padding:1.4rem;color:var(--muted);font-size:.84rem;line-height:1.55}
.learn-card{display:flex;min-width:0;min-height:24rem;flex-direction:column;padding:1.25rem}
.learn-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.learn-card-top>span{color:var(--ember);font:650 .64rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.learn-card-top small{max-width:75%;color:var(--muted-soft);font-size:.58rem;line-height:1.35;text-align:right;letter-spacing:.07em}
.learn-card h2{margin:1.2rem 0 .65rem;font-size:1.55rem}
.learn-card>p{margin:.35rem 0;color:var(--muted);font-size:.79rem;line-height:1.55}
.learn-prescription{color:var(--ink)!important;font-weight:600}
.learn-equipment{font-size:.72rem!important}
.media-availability{width:max-content;max-width:100%;margin:1rem 0 .8rem;padding:.38rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.57rem;letter-spacing:.1em}
.media-availability.available{border-color:rgba(147,188,154,.38);color:var(--success)}
.media-availability.pending{border-color:rgba(231,162,99,.38);color:var(--sunset)}
.media-availability.unavailable{color:var(--muted-soft)}
.learn-card .quiet-button{width:100%;margin-top:auto}
.learn-boundary{margin-top:1.1rem}

.support-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:1.2rem;align-items:start}
.support-primary h2{margin:.65rem 0;font-size:clamp(2rem,3vw,3rem)}
.support-primary>p:not(.eyebrow,.local-note){color:var(--muted);line-height:1.65}
.support-stack{display:grid;gap:1.2rem}
.billing-card{padding:clamp(1.25rem,3vw,1.8rem)}
.billing-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.billing-heading .data-state{margin-top:0;flex:0 0 auto}
.billing-card h2{margin:.55rem 0 .7rem;font-size:clamp(1.55rem,2.5vw,2.2rem)}
.billing-card>p:not(.eyebrow,.local-note,.form-result){margin:0;color:var(--muted);font-size:.84rem;line-height:1.6}
.billing-actions{display:grid;gap:.65rem;margin:1.35rem 0 1rem}
.billing-actions>*{width:100%}
.billing-card.ready{border-color:rgba(139,224,187,.34)}
.billing-card.pending{border-color:rgba(231,162,99,.3)}
.boundary-box{display:grid;gap:.45rem;margin:1.5rem 0;padding:1.1rem;border-left:3px solid var(--ember);background:rgba(255,177,94,.055)}
.boundary-box strong{font:500 1.15rem/1.3 Georgia,serif}
.boundary-box span{color:var(--muted);font-size:.8rem;line-height:1.5}
.support-list{display:grid;border-top:1px solid var(--line)}
.support-item{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;padding:1.25rem .5rem;border-bottom:1px solid var(--line)}
.support-item>span{color:var(--ember);font:600 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.support-item h2{margin:0;font-size:1.22rem}
.support-item p{margin:.45rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.terms-strip{display:grid;grid-template-columns:12rem 1fr;gap:1.5rem;margin-top:1.2rem;padding:1.3rem 1.5rem;border:1px solid var(--line);border-radius:1rem;background:rgba(232,92,42,.045)}
.terms-strip span{color:var(--sunset);font-size:.64rem;letter-spacing:.15em}
.terms-strip p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}

.mobile-nav{display:none}
.toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;max-width:24rem;padding:.9rem 1rem;border:1px solid rgba(139,224,187,.42);border-radius:.8rem;background:rgba(11,25,22,.96);color:var(--ink);box-shadow:0 1.5rem 5rem rgba(0,0,0,.45);font-size:.8rem;line-height:1.45}

@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes view-in{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:1180px){
  :root{--rail:13.5rem}
  .home-grid{grid-template-columns:1fr}
  .home-aside{grid-template-columns:1fr 1fr 1.5fr}
  .access-card{grid-column:auto}
  .program-grid{grid-template-columns:17rem minmax(0,1fr)}
  .player-shell{min-height:21rem}
  .learn-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:940px){
  .view-heading{align-items:flex-start}
  .program-grid,.progress-grid,.checkin-grid,.accountability-grid,.support-grid{grid-template-columns:1fr}
  .workout-rail{position:static}
  .checkin-guide{position:static}
  .workout-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-aside{grid-template-columns:1fr 1fr}
  .access-card{grid-column:1/-1}
}

@media(max-width:760px){
  :root{--rail:0rem}
  body{padding-bottom:5.35rem}
  .app-shell{display:block}
  .side-rail{display:none}
  .workspace{min-width:0}
  .topbar{min-height:4.2rem;padding:.55rem 1rem}
  .mobile-brand{display:flex}
  .route-label{display:none}
  .topbar-status{max-width:11rem;text-align:right;font-size:.59rem;line-height:1.35}
  main{padding:2rem 1rem 2.5rem}
  .view-heading{display:block;margin-bottom:1.5rem}
  .view-heading h1{font-size:3.2rem}
  .gate-seal{display:none}
  .program-contract{margin-top:1.5rem}
  .truth-banner{display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem}
  .truth-banner:before{grid-row:1/3}
  .home-aside{grid-template-columns:1fr 1fr}
  .ember-heading{align-items:flex-start}
  .ember-history{max-height:27rem;padding:.75rem}
  .ember-bubble,.route-notice{max-width:100%}
  .next-session{min-height:0}
  .next-session h2{margin:2.5rem 0 1rem;font-size:2.7rem}
  .session-facts{margin:2rem 0 1.4rem;padding-top:0}
  .week-tabs-wrap{margin-left:-1rem;margin-right:-1rem}
  .week-tabs{display:flex;padding:0 1rem}
  .week-tabs button{flex:0 0 5.6rem}
  .workout-list{grid-template-columns:1fr}
  .player-shell{min-height:19rem}
  .progress-grid,.support-grid{gap:1rem}
  .log-metrics{grid-template-columns:1fr}
  .log-metrics .metric-card{min-height:0}
  .learn-list{grid-template-columns:1fr}
  .learn-card{min-height:22rem}
  .learn-status{grid-template-columns:1fr;gap:.45rem}
  .exercise-library-heading{display:block}.exercise-library-heading>p{margin-top:.8rem}
  .mobile-nav{
    position:fixed;
    inset:auto 0 0;
    z-index:30;
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    min-height:4.6rem;
    padding:.4rem max(.4rem,env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));
    border-top:1px solid var(--line-strong);
    background:rgba(22,18,15,.97);
    backdrop-filter:blur(20px);
  }
  .mobile-nav button{display:grid;min-width:0;place-items:center;align-content:center;gap:.3rem;padding:.2rem .08rem;border:0;border-radius:.55rem;background:transparent;color:var(--muted);font-size:.55rem;cursor:pointer}
  .mobile-nav button span{font:600 .5rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--sunset)}
  .mobile-nav button.active{color:var(--ink);background:rgba(232,92,42,.13)}
  .mobile-nav button.active span{color:var(--ember)}
  .toast{right:.75rem;bottom:5.35rem;left:.75rem;max-width:none}
}

@media(max-width:540px){
  .view-heading h1{font-size:2.85rem}
  .home-aside{grid-template-columns:1fr 1fr}
  .access-card{grid-column:1/-1}
  .session-facts{grid-template-columns:1fr}
  .session-facts div{padding:.75rem 0;border-right:0}
  .panel-topline{display:block}
  .week-marker,.completion-chip{margin-top:.8rem}
  .player-shell{min-height:17.5rem}
  .player-placeholder{padding:1.5rem}
  .player-placeholder img{width:5.5rem;height:5.5rem}
  .exercise-row{grid-template-columns:2rem 1fr}
  .exercise-row button{grid-column:2;width:max-content}
  .button-row{display:grid}
  .button-row>*{width:100%}
  .progress-facts{grid-template-columns:1fr}
  .progress-facts div{border-right:0;border-bottom:1px solid var(--line)}
  .progress-facts div:last-child{border-bottom:0}
  .effort-options{grid-template-columns:repeat(2,1fr)}
  .accountability-facts{grid-template-columns:repeat(2,1fr)}
  .accountability-facts div:nth-child(2){border-right:0}.accountability-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .date-fields,.count-fields{grid-template-columns:1fr}
  .coverage-list{grid-template-columns:1fr}
  .terms-strip{grid-template-columns:1fr;gap:.7rem}
  .week-progress-row{grid-template-columns:2rem minmax(0,1fr)}
  .week-progress-row progress{grid-column:2}
  .ember-heading{display:grid}
  .ember-heading>span{width:max-content}
  .ember-compose-row{align-items:stretch;flex-direction:column}
  .ember-compose-row .primary-button{width:100%}
}

@media(max-width:380px){
  main{padding-right:.75rem;padding-left:.75rem}
  .topbar{padding-right:.75rem;padding-left:.75rem}
  .home-aside{grid-template-columns:1fr}
  .access-card{grid-column:auto}
  .view-heading h1{font-size:2.55rem}
  .ember-console{padding:1rem}
  .mobile-nav button{font-size:.5rem}
}

@media(max-height:520px) and (orientation:landscape){
  body{padding-bottom:4.7rem}
  main{padding-top:1.2rem}
  .mobile-nav{min-height:4rem}
  .ember-history{max-height:16rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .status-dot.loading,.view{animation:none}
}
