/* Shared final material tokens: light first, never overwrite a saved preference. */
:root,html[data-theme="light"] {
  color-scheme:light;
  --bg:#f7f6f2; --b2-warm:#f7f6f2; --bg2:#ffffff; --bg3:#eaece8;
  --surface:#ffffff; --b2-panel:#ffffff; --surface2:#edf1ef;
  --surface-soft:#edf1ef; --surface-elevated:#ffffff; --soft:#edf1ef;
  --text:#20282c; --text2:#56636a; --text3:#647178;
  --border:#d5ddda; --border-strong:#9daba7;
  --panel:var(--surface); --ink:var(--text); --ink2:var(--text2); --ink3:var(--text3); --line:var(--border);
  --action:#ba4038; --action-ink:#ffffff; --info:#086f79;
  --brand:var(--action); --brand-gradient:var(--action); --accent:var(--action);
  --b2-ink-soft:var(--text2); --b2-line:var(--border); --b21-ink:var(--text);
  --cyan-deep:var(--info); --b2-cyan-deep:var(--info);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --bg:#1a1d22; --b2-warm:#1a1d22; --bg2:#242930; --bg3:#353d46;
  --surface:#282e36; --b2-panel:#282e36; --surface2:#353d46;
  --surface-soft:#353d46; --surface-elevated:#303842; --soft:#353d46;
  --text:#f5f6f8; --text2:#c5cdd5; --text3:#aab6c1;
  --border:#47525e; --border-strong:#7f909e;
  --action:#ff9286; --action-ink:#291a19; --info:#7cdbdc;
}
body { background-image:none; }
.btn-primary,.btn.btn-primary,.auth-page-b2 .btn,.nav-cta,.launch-button {
  background:var(--action); color:var(--action-ink)!important; box-shadow:none;
}
.btn-primary:hover,.auth-page-b2 .btn:hover { filter:brightness(.96); }
.auth-page-b2 { --b2-warm:var(--bg); --b2-panel:var(--surface); --surface2:var(--soft); }
.auth-page-b2 .auth { color:var(--text); }
:focus-visible { outline:3px solid var(--info); outline-offset:4px; }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.dashboard-period-row { display:flex; justify-content:flex-end; padding:0 28px 8px; }
.pose-toolbar { display:flex; justify-content:flex-end; margin:0 28px 10px; }

/* Mobile secondary panels: the fixed top bar already owns the page title. */
@media (max-width:768px) {
  #panel-chat.active { padding:8px 16px 18px; }
  #panel-chat .chat-header { display:none !important; }
  #panel-chat .coach-context-bar { margin:0 0 12px; min-height:auto; padding:10px 12px; }
  #panel-chat .mobile-context-nav {
    grid-auto-flow:column;
    grid-auto-columns:minmax(154px, 58vw);
    grid-template-columns:none;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  #panel-chat .mobile-context-nav::-webkit-scrollbar { display:none; }
  #panel-chat .mobile-context-link { scroll-snap-align:start; }
  #panel-chat .chat-body { min-height:300px; margin-top:0; }

  #panel-insights .panel-v2-intro {
    min-height:168px;
    padding:20px;
    border-radius:22px;
  }
  #panel-insights .panel-v2-intro h2 {
    max-width:12ch;
    margin-top:6px;
    font-size:30px;
    line-height:1.12;
    letter-spacing:-.02em;
  }
  #panel-insights .panel-v2-intro > p:last-of-type {
    max-width:27ch;
    margin-top:8px;
    font-size:14px;
    line-height:1.55;
  }
  #panel-insights .b21-insight-mark {
    width:108px;
    right:14px;
    bottom:10px;
    opacity:.28;
  }
  #panel-insights .mobile-context-nav { margin-top:10px; }
  #panel-insights .evidence-notice { margin-top:0; }

  #panel-plan > .panel-header,
  #panel-history > .panel-header,
  #panel-exercises > .panel-header { display:none; }

  #panel-dashboard > .panel-header,
  #panel-pose > .panel-header { display:none; }

  #panel-exercise-library > .panel-header {
    min-height:0;
    padding:0 0 12px;
    border-bottom:0;
  }
  #panel-exercise-library > .panel-header h2 { display:none; }

  #panel-dashboard .dashboard-period-row {
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    margin:0 0 14px;
    padding:0;
  }
  #panel-dashboard .dashboard-period-row .period-selector {
    position:static;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    gap:6px;
    padding:4px;
  }
  #panel-dashboard .dashboard-period-row .period-btn { min-width:0; min-height:44px; }
  #panel-dashboard .dash-grid { padding-top:0; }
  #panel-dashboard .stat-card { min-width:0; }
  #panel-dashboard .stat-card-info { min-width:0; }
  #panel-dashboard .stat-card-label { overflow-wrap:anywhere; }

  #panel-pose .pose-toolbar {
    position:relative;
    z-index:2;
    display:flex;
    justify-content:flex-start;
    width:100%;
    margin:0 0 10px;
    order:1;
  }
  #pose-speech-btn {
    display:inline-flex;
    min-width:44px;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 12px;
  }
  #pose-speech-btn .icon-svg { width:20px; height:20px; }
  #panel-pose .pose-exercise-selector {
    position:relative;
    z-index:3;
    order:2;
    min-height:52px;
    align-items:center;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    margin:0 0 10px;
    padding:4px 0;
    background:var(--bg);
  }
  #panel-pose .pose-exercise-selector::-webkit-scrollbar { display:none; }
  #panel-pose .ex-btn {
    display:inline-flex;
    flex:0 0 auto;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    line-height:1.2;
    white-space:nowrap;
  }
  #panel-pose .pose-container { order:4; overflow:visible !important; padding:10px 10px 12px; }
  #panel-pose .pose-video-wrap { aspect-ratio:4/3; }
  #panel-pose .pose-video-wrap video,
  #panel-pose .pose-video-wrap canvas { width:100%; height:100%; object-fit:contain; }
  #panel-pose .pose-indicators { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #panel-pose .pi-row { min-width:0; }
  #panel-pose .pose-actions {
    position:relative;
    z-index:3;
    order:3;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin:0 0 12px !important;
    padding:10px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
  }
  #panel-pose .pose-actions .btn { min-height:48px; }
  #panel-pose .pose-actions + p { order:5; margin:10px 4px 0 !important; line-height:1.6; }
  #panel-dashboard.active,
  #panel-pose.active,
  #panel-plan.active,
  #panel-history.active,
  #panel-exercises.active,
  #panel-exercise-library.active {
    padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px));
  }

  #panel-exercise-library > .panel-header { justify-content:flex-start; }
  #panel-exercise-library > .panel-header > span { font-size:12px !important; }
}

@media (max-width:380px) {
  #panel-insights .panel-v2-intro { min-height:156px; padding:18px; }
  #panel-insights .panel-v2-intro h2 { font-size:27px; }
  #panel-dashboard .stat-card { padding:11px; }
  #panel-dashboard .stat-card-icon { width:46px; height:46px; }
}
