/* TRAINQON Obsidian / matte gold. Functional colours retain textual status. */
:root{--bg:#f3f0e9;--card:#fffdfa;--ink:#101419;--muted:#535b63;--line:#d3cec4;--blue:#68512c;--green:#35644f;--red:#a72c32;--orange:#855319;--shadow:none;color-scheme:light;font-size:16px}
body{font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.55;background:var(--bg)}
body :where(p,small,label,span,button,input,select,textarea,li,dt,dd,strong,b,em){font-size:max(1em,14px)}
body :where(p,label,button,input,select,textarea){font-size:1rem;line-height:1.55}
body small,.eyebrow,.saved{font-size:.875rem;line-height:1.5}
body :where(h1,h2,h3){line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}
body h2{font-size:1.5rem}body h3{font-size:1.125rem}
body :where(section,article,div,details,summary,button,label,span){min-width:0;overflow-wrap:anywhere}
body button,body summary{min-height:48px;white-space:normal;touch-action:manipulation}
body button{border-radius:6px;padding:11px 14px;font-family:inherit;font-weight:600;font-size:1rem;line-height:1.45}
body :focus-visible{outline:3px solid #8b6b34;outline-offset:3px}
main{max-width:760px;padding:18px}
.card,.workout-card{border-radius:12px;box-shadow:none;border:1px solid var(--line);padding:20px}
.topbar{background:#101419;border-bottom:2px solid #b89a65;box-shadow:none;color:#f3f0e9}
.topbar h1{font-size:1.625rem!important;white-space:normal!important;letter-spacing:-.02em}
.topbar .user-promise strong,.topbar .coach-greeting-message{font-size:1rem!important;line-height:1.55;white-space:normal!important;max-width:100%!important;width:auto;color:#bfc2c5}
.topbar .user-promise{max-width:100%!important}
.brand-lockup-image{width:min(300px,100%)}
.round{background:#242a31;color:#f3f0e9;min-width:48px;min-height:48px;border-radius:8px;box-shadow:none}
.top-feedback{color:#a0d0b5;font-size:.875rem}
.card{background:#fffdfa}
.primary{background:#b89a65;color:#101419;border-radius:6px;font-size:1rem}
button:disabled{opacity:1;color:#535b63!important;background:#ddd8ce!important}
.design-readiness{background:#fffdfa;border:1px solid var(--line);padding:18px;border-radius:12px;gap:14px}
.design-readiness-title{grid-column:1/-1;margin:0;font-size:1.125rem}
.design-readiness .metric{padding:0;background:transparent;color:#101419;border-radius:0}
.design-readiness .metric span,.design-readiness .metric small{color:#535b63;font-size:.875rem}
.design-readiness .metric strong{font-size:1.625rem;color:#101419}
.design-fold>summary{font-size:1rem;font-weight:650;display:list-item;padding:8px 0;color:inherit}
.design-fold>summary>.saved,.design-fold>summary>.aftereffect-status,.design-fold>summary>.learning-proof-stage{display:block;margin:8px 0 0 18px;width:fit-content;max-width:100%}
.design-fold-content{padding-top:12px}
.design-fold-content>.section-head{display:none}
.design-fold-content>.learning-proof-head .eyebrow{display:none}
.design-fold-content>.coach-reactions{margin-top:10px}
.design-redundant{display:none!important}
.aftereffect-card.green,.aftereffect-card.yellow,.aftereffect-card.red,.checkin{background:#fffdfa;box-shadow:none}
.aftereffect-card{border-left-width:3px}
.aftereffect-status{font-size:.875rem}.aftereffect-status b{white-space:normal}
.aftereffect-card.green .aftereffect-status{color:#35644f}.aftereffect-card.yellow .aftereffect-status{color:#855319}.aftereffect-card.red .aftereffect-status{color:#a72c32}
#dailyCheckin .update-hint,#dailyCheckin label,#dailyCheckin select,#dailyCheckin textarea{font-size:1rem}
#dailyCheckin label:not(.compact):not(.committed-session),#dailyCheckin .context-grid label,#dailyCheckin .committed-session{background:#f3f0e9;border-color:var(--line);border-radius:6px}
#recommendation,.performance-card{background:#101419!important;color:#f3f0e9;border-color:#101419;box-shadow:none}
#recommendation{--muted:#bfc2c5;--line:#555d66;--blue:#d2b887}
#recommendation .eyebrow,.performance-card .eyebrow{color:#d2b887;font-size:.875rem}
#recommendation .workout-top{border-bottom:1px solid #b89a65;padding-bottom:16px}
#recommendation h2{font-size:1.75rem}
#recommendation .prescription{background:#242a31;color:#f3f0e9;font-size:1rem;line-height:1.65;border-radius:6px;white-space:pre-line}
#recommendation :where(.today-reason,.workout-meta,.workout-summary p,.workout-summary span,.workout-summary small,.coach-dialogue p,.why,.learning-proof p,.learning-proof span){color:#bfc2c5;font-size:1rem}
#recommendation :where(.workout-summary strong,.learning-proof strong){color:#f3f0e9}
#recommendation .workout-summary,#recommendation .learning-proof,#recommendation .learning-proof-flow article{background:#242a31;border-color:#555d66;box-shadow:none;border-radius:6px}
#recommendation .workout-summary{margin:14px 0;padding:14px}
#recommendation .zone-chip,#recommendation .target-stimulus span{background:#242a31;color:#f3f0e9;border:1px solid #555d66;border-radius:6px}
#recommendation .zone-chip span{color:#bfc2c5;font-size:.875rem}
#recommendation .pill{background:#242a31;color:#d2b887}
#recommendation .signal{font-size:.875rem;white-space:normal}
#recommendation.green .signal{color:#a0d0b5}#recommendation.amber .signal{color:#f1cb82}#recommendation.red .signal{color:#ffb9b9}
#recommendation .workout-actions{display:grid;grid-template-columns:1fr;gap:10px}
#recommendation .light-button{background:#b89a65;color:#101419;border:0;border-radius:6px}
#recommendation .light-button.strong{background:#242a31;color:#f3f0e9;border:1px solid #7c8590}
#recommendation .print-workout-button{width:48px;height:48px;background:#242a31;color:#f3f0e9;border:1px solid #7c8590}
#recommendation .coach-dialogue{border-color:#555d66;padding-top:8px;margin-top:12px}
#recommendation .design-fold>summary{color:#f3f0e9}
#recommendation .coach-reactions{display:grid;grid-template-columns:1fr;gap:8px}
#recommendation .coach-reactions button,#recommendation .design-pain,#recommendation .learning-proof-control button{background:#242a31;color:#f3f0e9;border:1px solid #7c8590;border-radius:6px;font-size:1rem}
#recommendation .design-pain{width:100%;margin:12px 0 0}
#recommendation .coach-dialogue :where(input,select,textarea){background:#fffdfa;color:#101419;font-size:1rem}
#recommendation .coach-dialogue :where(.spontaneous-assessment,.shorter-time-panel,.swap-workout-panel,.spontaneous-training-panel){background:#242a31;color:#f3f0e9;border-color:#7c8590}
#recommendation .coach-dialogue :where(small,label){color:#f3f0e9;font-size:1rem}
#recommendation :focus-visible{outline-color:#d2b887}
.performance-card .performance-meta,.performance-card .performance-note,.performance-card .performance-focus,.performance-card .goal-countdown{color:#bfc2c5;font-size:1rem}
.performance-card .performance-score strong{color:#d2b887}
.performance-card .performance-meta strong{color:#f3f0e9}
.performance-parts,.performance-parts.sport-focused{grid-template-columns:1fr;gap:8px}
.performance-parts article{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#242a31;border-radius:6px;text-align:left;padding:12px}
.performance-parts article span,.performance-parts article small{color:#bfc2c5;font-size:.875rem}
.performance-parts article strong{color:#f3f0e9;flex-shrink:0;font-size:1.375rem}
.performance-bar{background:#39414b}.performance-bar i{background:#b89a65}
.goal-edit-button{background:#b89a65;color:#101419;border:0}
.goal-countdown{background:#242a31;border-color:#555d66}
.learning-passport,.season-goals-card{background:#fffdfa;box-shadow:none}
.learning-passport :where(p,span,small),.season-goals-card :where(p,span,small){font-size:1rem}
.learning-passport .section-head{flex-wrap:wrap}.learning-passport-toggle{font-size:.875rem}
.supplement-toggle em{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;white-space:normal!important;font-size:1rem}
.supplement-toggle small,.supplement-toggle i{font-size:.875rem}.supplement-toggle strong{font-size:1.125rem}
.integration-head,.section-head,.weekly-analysis-head{flex-wrap:wrap}
.integration-head h2{font-size:1.25rem}
.card :where(.integration-intro,.integration-message,.source-description,.later-rating-hint,.imported-training-notice,.aftereffect-caveat){font-size:1rem;color:#535b63}
.integration-message.error,.login-error{color:#a72c32!important}
nav{height:auto;min-height:72px;background:#fffdfa;backdrop-filter:none;gap:16px;z-index:30}
nav button{font-size:1rem;min-width:76px}nav button.active{color:#68512c;border-top:3px solid #b89a65}
#openFeedbackAdmin,#closeFeedbackAdmin,#refreshFeedbackAdmin{background:#eae3d7;color:#101419;border:1px solid #d3cec4;font-size:1rem}
#feedbackAdminPanel :where(input,select,textarea){font-size:1rem;max-width:100%}
@media(max-width:520px){
 main{padding:14px}.card,.workout-card{padding:18px}.topbar{margin:12px 14px;border-radius:12px;padding:20px}
 .context-grid,.unrecorded-fields,.spontaneous-training-grid,.workout-summary,.learning-proof-flow,.weekly-analysis-grid{grid-template-columns:1fr!important}
 .performance-parts.sport-focused{grid-template-columns:1fr}
 .performance-meta{flex-wrap:wrap}.performance-top{flex-wrap:wrap}.performance-score{min-width:0}
 .sessions{grid-template-columns:1fr}.session{flex-wrap:wrap}.session-main{min-width:0}
 .workout-meta{flex-wrap:wrap}.workout-top,.workout-top-actions{flex-wrap:wrap}
 .topbar .user-promise strong{white-space:normal!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Light inner surfaces: retain the dark brand frame without nested dark panels. */
#recommendation #workoutSummary{display:none!important}
#recommendation .prescription{background:#f5f2eb;color:#192027;border-left:3px solid #b89a65}
#recommendation .workout-summary{background:#e5e5e1;color:#192027;border-color:#bdc1bf}
#recommendation .workout-summary :is(strong,p,span,small,summary){color:#192027}
#recommendation #learningProof{background:#e3ece4;color:#263f32;border-color:#b7c9bb}
#recommendation #learningProof :is(p,span,strong,small,summary){color:#263f32}
#recommendation #learningProof .learning-proof-flow article{background:#edf3ed;border-color:#b7c9bb}
#recommendation #learningProof .learning-proof-stage{background:#ccddcf;color:#2c513b}
#recommendation #learningProof .learning-proof-control button{background:#f5f8f4;color:#263f32;border-color:#698574}
#recommendation #learningProof .learning-proof-control button.active{background:#ccddcf;color:#263f32}
#recommendation .light-button.strong{background:#f5f2eb;color:#192027;border-color:#f5f2eb}
/* Print is a separate, ink-saving output, even when background printing is enabled. */
#weeklyReviewNotice{background:#e3ece4;border:1px solid #bbcdbf;border-left:3px solid #b69b65;padding:16px 20px;color:#192b24}
#weeklyReviewNotice strong{font-size:17px}
#weeklyReviewNotice p{font-size:14px;line-height:1.5;margin:6px 0;color:#354b40}
#weeklyReviewNotice button{background:transparent;color:#203e30;border:0;padding:10px 0;min-height:44px;text-align:left;font-size:16px;text-decoration:underline;white-space:normal}
#weeklyReviewNotice button:focus-visible{outline:2px solid #203e30;outline-offset:3px}
#weeklyReviewMessage:empty{display:none}
@media print{
 #weeklyReviewNotice{display:none!important}
 @page{size:A4 portrait;margin:14mm}
 body{background:#fff!important;color:#111!important;padding:0!important}
 body[class*="print-"] .topbar,body[class*="print-"] nav,body[class*="print-"] main>section,body[class*="print-"] #app>*{display:none!important}
 body[class*="print-"] main,body[class*="print-"] #app{display:block!important;max-width:none;margin:0;padding:0}
 body.print-workout #app>#recommendation,body.print-week #app>#weeklyOverview,body.print-weekly-plan #app>#weeklyPlanOverview,body.print-weekly-analysis #app>#weeklyAnalysis{display:block!important;background:#fff!important;color:#111!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
 body[class*="print-"] #app :where(*){background:transparent!important;background-image:none!important;color:#111!important;box-shadow:none!important;text-shadow:none!important;border-color:#aaa!important;print-color-adjust:economy!important;-webkit-print-color-adjust:economy!important}
 body[class*="print-"] #app :where(button,input,select,textarea,.workout-actions,.coach-dialogue,.design-pain,.learning-proof-control){display:none!important}
 body.print-workout #learningProof,body.print-workout #recommendationReasonFold>summary{display:none!important}
 body.print-workout #recommendation .prescription{white-space:pre-line;font-size:12pt!important;padding:10pt 0;border:0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;break-inside:auto}
 body.print-workout #recommendation h2{font-size:20pt!important}
 body[class*="print-"] #app p,body[class*="print-"] #app span,body[class*="print-"] #app small{font-size:10pt!important}
 body[class*="print-"] #app h2,body[class*="print-"] #app h3{break-after:avoid}
 body[class*="print-"] #app .zone-chip,body[class*="print-"] #app .session{break-inside:avoid}
 body.print-weekly-plan #weeklyPlanDetails,body.print-weekly-analysis #weeklyAnalysisDetails{display:block!important}
}
