/* Readiness Monitoring V1
   Subjective recovery is rendered as context, never as a red/green training clearance. */

/* Stable render slots: the dynamic core roots become display:contents so Readiness can
   participate in the existing screen order without MutationObserver/DOM injection races. */
section.screen[data-screen-panel="today"].active,
section.screen[data-screen-panel="capture"].active{display:flex!important;flex-direction:column}
#todayLive,#captureRoot{display:contents}
#todayLive>*{order:7}
#todayLive>.page-head{order:1}
#todayLive>.load-strip{order:2}
#readinessTodayRoot{order:3}
#todayLive>.workout-hero{order:4}
#todayLive>.three-grid{order:5}
#todayLive>.performance-strip{order:6}
#captureRoot>*{order:4}
#captureRoot>.page-head{order:1}
#readinessCaptureRoot{order:2}
#captureRoot>.capture-actions{order:3}
#captureRoot>.capture-existing{order:5}
.readiness-slot:empty{display:none}

.capture-action[data-capture-mode="state"]{display:none!important}

.readiness-today-card{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(260px,2fr) auto;gap:22px;align-items:center;margin-top:16px;padding:20px 22px}
.readiness-today-card.readiness-empty{grid-template-columns:minmax(260px,1fr) auto}
.readiness-score-block{min-width:0}
.readiness-score{display:flex;align-items:baseline;gap:4px;margin-top:4px}
.readiness-score strong{font-size:2.35rem;line-height:1;font-weight:720;letter-spacing:-.04em}
.readiness-score span{font-size:.9rem;color:var(--muted,#6b7280)}
.readiness-mini-track{height:5px;margin-top:11px;border-radius:999px;background:rgba(99,116,139,.14);overflow:hidden}
.readiness-mini-track i{display:block;height:100%;width:var(--readiness,0%);border-radius:inherit;background:var(--blue,#0b6bcb)}
.readiness-card-copy{min-width:0}
.readiness-card-copy h3{margin:3px 0 6px}
.readiness-card-copy p{margin:0;color:var(--muted,#667085);max-width:760px}
.readiness-card-copy small{display:block;margin-top:7px;color:var(--muted,#667085)}
.readiness-today-card .secondary-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.readiness-today-card .secondary-btn svg{width:16px;height:16px}

.readiness-capture-v1{display:grid;gap:14px;margin:16px 0 18px}
.readiness-capture-action{width:100%}
.readiness-editor{padding:22px}
.readiness-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}
.readiness-editor-head h2{margin:4px 0 6px}
.readiness-editor-head p{margin:0;color:var(--muted,#667085);max-width:760px}
.readiness-editor-head .quiet-btn{display:inline-grid;place-items:center;min-width:42px;min-height:42px;padding:0}
.readiness-editor-head .quiet-btn svg{width:18px;height:18px}
.readiness-form{display:grid;gap:20px}
.readiness-primary-input{padding:18px 20px;border:1px solid rgba(99,116,139,.18);border-radius:16px;background:rgba(248,250,252,.62)}
.readiness-live-value{display:flex;align-items:baseline;justify-content:center;gap:5px;margin-bottom:12px}
.readiness-live-value output{font-size:3.2rem;line-height:1;font-weight:760;letter-spacing:-.055em;color:var(--ink,#182230)}
.readiness-live-value span{color:var(--muted,#667085);font-weight:650}
.readiness-primary-input input[type="range"]{width:100%;accent-color:var(--blue,#0b6bcb);min-height:34px}
.readiness-anchors{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:6px;font-size:.78rem;color:var(--muted,#667085)}
.readiness-anchors span:nth-child(2){text-align:center}
.readiness-anchors span:last-child{text-align:right}
.readiness-anchors b{color:var(--ink,#182230)}

.readiness-context,.readiness-causes{border:0;padding:0;margin:0;min-width:0}
.readiness-context legend,.readiness-causes legend{font-weight:680;margin-bottom:10px}
.readiness-context legend+*,.readiness-causes legend+*{margin-top:0}
.readiness-context small{display:block;margin-top:8px;color:var(--muted,#667085)}
.readiness-context-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.readiness-context-options label,.readiness-tag-grid label{position:relative;cursor:pointer}
.readiness-context-options input,.readiness-tag-grid input{position:absolute;opacity:0;pointer-events:none}
.readiness-context-options span,.readiness-tag-grid span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid rgba(99,116,139,.22);border-radius:11px;background:var(--surface,#fff);font-size:.88rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.readiness-context-options input:checked+span,.readiness-tag-grid input:checked+span{border-color:var(--blue,#0b6bcb);box-shadow:0 0 0 2px rgba(11,107,203,.10);background:rgba(11,107,203,.045)}
.readiness-context-options input:focus-visible+span,.readiness-tag-grid input:focus-visible+span{outline:2px solid var(--blue,#0b6bcb);outline-offset:2px}

.readiness-details{border-top:1px solid rgba(99,116,139,.16);padding-top:16px}
.readiness-details summary{cursor:pointer;font-weight:680;list-style:none;display:flex;gap:7px;align-items:center}
.readiness-details summary::-webkit-details-marker{display:none}
.readiness-details summary::before{content:'›';font-size:1.2rem;transform:rotate(0deg);transition:transform .15s ease;color:var(--muted,#667085)}
.readiness-details[open] summary::before{transform:rotate(90deg)}
.readiness-details summary span,.readiness-causes legend span{font-size:.76rem;font-weight:500;color:var(--muted,#667085)}
.readiness-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.readiness-details-grid label,.readiness-comment{display:grid;gap:6px;font-size:.84rem;font-weight:620}
.readiness-details-grid label small{font-weight:450;line-height:1.35;color:var(--muted,#667085)}
.readiness-details-grid select,.readiness-details-grid input,.readiness-comment textarea{width:100%;min-height:43px;border:1px solid rgba(99,116,139,.25);border-radius:10px;background:var(--surface,#fff);padding:9px 11px;color:inherit;font:inherit}
.readiness-comment textarea{min-height:92px;resize:vertical}
.readiness-causes{margin-top:18px}
.readiness-tag-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.readiness-tag-grid span{font-size:.8rem;min-height:38px}
.readiness-comment{margin-top:16px}
.readiness-form-actions{display:flex;justify-content:flex-end;padding-top:2px}

.readiness-history{padding:18px 20px}
.readiness-history h3{margin:4px 0 10px}
.readiness-history>p{margin-bottom:0;color:var(--muted,#667085)}
.readiness-history-list{display:grid;gap:7px}
.readiness-history-list>div{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid rgba(99,116,139,.12)}
.readiness-history-list strong{font-variant-numeric:tabular-nums}
.readiness-history-list span{color:var(--muted,#667085);font-size:.84rem}
.readiness-history-note{font-size:.8rem;margin-top:10px!important}

@media (max-width:820px){
  .readiness-today-card{grid-template-columns:100px 1fr;gap:14px}
  .readiness-today-card>.secondary-btn{grid-column:1/-1;width:100%;justify-content:center}
  .readiness-today-card.readiness-empty{grid-template-columns:1fr}
  .readiness-today-card.readiness-empty>.secondary-btn{grid-column:auto}
  .readiness-tag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  .readiness-today-card{grid-template-columns:1fr;padding:17px;margin-top:12px}
  .readiness-score-block{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px}
  .readiness-score-block>.label{grid-column:1}
  .readiness-score{grid-column:2;grid-row:1/3;margin:0}
  .readiness-score strong{font-size:2rem}
  .readiness-mini-track{grid-column:1/-1}
  .readiness-today-card>.secondary-btn{grid-column:auto}
  .readiness-editor{padding:17px}
  .readiness-editor-head{gap:10px}
  .readiness-primary-input{padding:16px 14px}
  .readiness-live-value output{font-size:2.8rem}
  .readiness-anchors{font-size:.7rem;gap:5px}
  .readiness-context-options{grid-template-columns:1fr}
  .readiness-context-options span{justify-content:flex-start}
  .readiness-details-grid{grid-template-columns:1fr}
  .readiness-tag-grid{grid-template-columns:1fr 1fr}
  .readiness-tag-grid span{justify-content:flex-start}
  .readiness-form-actions .primary-btn{width:100%}
  .readiness-history-list>div{grid-template-columns:55px 1fr}
}
