/* Waiting and measurement surfaces, within the established coaching studio. */
#step-working .work-journal-section { margin-top: 30px; border-top: 1px solid var(--rule); padding-top: 22px; }
#step-working .work-journal-section h3 { margin: 0 0 16px; font: 600 18px/1.4 var(--f-ui); }
#work-journal { list-style: none; margin: 0; padding: 0; max-height: 260px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--ink-3) transparent; }
#work-journal li { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 16px; padding: 11px 0; color: var(--ink-2); font: 400 14px/1.5 var(--f-ui); }
#work-journal time { font-variant-numeric: tabular-nums; color: var(--ink-3); }
#work-journal li:last-child { color: var(--ink); }
#step-working.work-studio .step-subs { display: block; margin-top: 8px; }
#step-working.work-studio .step-subs .step-sub { display: none; }
#step-working.work-studio .row.active .step-sub[data-st=active] { display: block; font: 400 12px/1.5 var(--f-ui); color: var(--ink-2); }
#step-working .coach-block { border-top: 1px solid var(--rule); padding-top: 18px; }
#step-working #coach-parts .row:not(.active):not(.done) { display: none; }
#step-working #coach-parts .row { min-height: 44px; }
#sec-break { --an-data: var(--tint); --an-back: var(--ink-2); --an-pause: var(--sand); --an-down: var(--tint); }
#sec-break .panel { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; min-width: 0; }
#sec-break .break-grid { gap: 36px 48px; }
#sec-break .panel-head { padding: 0 0 18px; border: 0; }
#sec-break .panel-label { font: 600 18px/1.4 var(--f-ui); color: var(--ink); letter-spacing: -.015em; text-transform: none; }
#sec-break .panel-label svg { display: none; }
#radar { max-width: 490px; margin-inline: auto; }
#sec-break .radar-panel #radar > svg { max-width: none; height: auto; width: 100%; display: block; overflow: visible; }
#radar .radar-ring { fill: none; stroke: var(--rule); stroke-width: .8; }
#radar .radar-spoke { stroke: var(--rule); stroke-width: .8; }
#radar .radar-base { fill: var(--fill-3); stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 4 5; }
#radar .radar-data { fill: var(--tint-wash); stroke: var(--an-data); stroke-width: 2; stroke-linejoin: round; }
#radar .radar-dot { fill: var(--an-data); stroke: var(--paper); stroke-width: 2; r: 4; }
#radar .radar-name { font: 400 13px var(--f-ui); fill: var(--ink-2); }
#radar .radar-val { font: 600 17px var(--f-ui); fill: var(--ink); font-variant-numeric: tabular-nums; }
#radar .chart-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin: 6px 0 18px; font: 400 12px/1.5 var(--f-ui); color: var(--ink-2); }
.an-explanation { border-top: 1px solid var(--rule); margin-top: 18px; }
.an-explanation > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 12px 0; color: var(--ink-2); font: 500 14px/1.5 var(--f-ui); cursor: pointer; list-style: none; }
.an-explanation > summary::-webkit-details-marker { display: none; }
.an-explanation > summary::after { content: ''; width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); margin-inline-end: 5px; flex: none; }
.an-explanation[open] > summary::after { transform: rotate(225deg); }
.an-explanation > summary:focus-visible { outline: 2px solid var(--tint); outline-offset: 3px; }
.an-explanation p { max-width: 65ch; color: var(--ink-2); font: 400 14px/1.7 var(--f-ui); margin: 0 0 16px; }
.an-score-bars { padding: 6px 0 18px; }
.an-score-bars > div { display: grid; grid-template-columns: 100px minmax(40px,1fr) 30px; align-items: center; gap: 12px; min-height: 38px; font: 400 13px/1.4 var(--f-ui); }
.an-score-track { position: relative; height: 5px; background: var(--fill-3); }
.an-score-track i { display: block; height: 100%; background: var(--an-data); }
.an-score-track b { position: absolute; height: 13px; width: 1px; background: var(--ink-2); top: -4px; }
.an-score-bars strong { font-weight: 500; text-align: end; font-variant-numeric: tabular-nums; }
#sec-break #miss-read { padding-top: 14px; }
#sec-break .miss-top { align-items: center; gap: 26px; min-height: 205px; }
#sec-break .miss-glyph { width: 146px; height: 176px; flex: none; }
#sec-break .miss-shape { font: 500 clamp(24px,3vw,34px)/1.25 var(--f-ui); letter-spacing: -.025em; margin: 0 0 10px; }
#sec-break .miss-conf { font: 400 13px/1.4 var(--f-ui); color: var(--ink-2); padding: 0; background: transparent; }
#sec-break .miss-why { font: 400 15px/1.7 var(--f-ui); }
#sec-break .miss-agree { font-size: 12px; }
#sec-break .tempo-panel { padding-top: 26px; border-top: 1px solid var(--rule); }
.an-tempo-heading { display: flex; align-items: baseline; gap: 20px; margin: 8px 0 26px; }
#tempo .tempo-figure { font: 500 46px/1 var(--f-ui); letter-spacing: -.035em; margin: 0; font-variant-numeric: tabular-nums; }
#tempo .tempo-figure small { font: 400 24px/1 var(--f-ui); color: var(--ink-2); letter-spacing: 0; margin-left: 4px; }
#tempo .tempo-verdict { font: 400 14px/1.6 var(--f-ui); color: var(--ink-2); margin: 0; }
.an-timing { display: flex; height: 34px; width: 100%; overflow: hidden; border-radius: 4px; gap: 0; }
.an-timing > span { flex-shrink: 0; }
.an-back { background: var(--an-back); }
.an-pause { background: var(--an-pause); }
.an-down { background: var(--an-down); }
.an-timing-values { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 18px; margin: 18px 0 24px; }
.an-timing-values dt { display: flex; align-items: center; gap: 7px; font: 400 13px/1.5 var(--f-ui); color: var(--ink-2); }
.an-timing-values dt i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; flex: none; }
.an-timing-values dd { margin: 8px 0 0; font: 500 22px/1.2 var(--f-ui); font-variant-numeric: tabular-nums; }
#tempo .tempo-actions { display: block; border: 0; margin-top: 0; padding-top: 0; }
#tempo .tempo-guide { display: inline-block; min-height: 44px; line-height: 1.5; padding-block: 12px; }
#readings-panel { grid-column: 1 / -1; border-top: 1px solid var(--rule) !important; padding-top: 28px !important; }
#readings { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin: 0; }
#readings .an-reading, .an-other-readings .an-reading { display: block; border: 0; padding: 0; }
.an-reading dt { font: 500 14px/1.5 var(--f-ui); color: var(--ink-2); white-space: normal; text-transform: none; letter-spacing: 0; }
.an-reading dd { margin: 0; font: 500 17px/1.5 var(--f-ui); color: var(--ink); font-variant-numeric: tabular-nums; }
.an-reading svg { display: block; width: 100%; height: 104px; margin: 14px 0; fill: var(--tint); }
.an-reading svg text { fill: var(--ink-2); font: 400 11px var(--f-ui); }
.an-reading .an-guide { fill: none; stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 3 4; }
.an-reading .an-measured { fill: none; stroke: var(--tint); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.an-other-readings { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 10px 0 24px; }
.an-other-readings dd { margin-top: 10px; font-size: 16px; }
.an-coverage { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 4px; margin: 18px 0; }
.an-coverage i { height: 12px; background: var(--fill-3); border-radius: 2px; }
.an-coverage i.is-seen { background: var(--tint); }
@media(min-width:1000px) { #step-working .work-journal-section { max-width: calc(100% - 354px); } }
@media(max-width:699px) {
  #sec-break .break-grid { display: block; }
  #sec-break .panel { margin-bottom: 32px; }
  #sec-break .panel-label { font-size: 17px; }
  #sec-break .miss-top { min-height: 130px; gap: 20px; }
  #sec-break .miss-glyph { width: 96px; height: 124px; }
  #sec-break .miss-shape { font-size: 27px; }
  #sec-break #miss-read { padding-top: 0; }
  #sec-break .panel-head { padding-bottom: 10px; }
  #radar { max-width: 420px; }
  #readings { grid-template-columns: 1fr; gap: 22px; }
  #readings .an-reading { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); align-items: center; gap: 20px; border-top: 1px solid var(--rule); padding-top: 16px; }
  .an-reading svg { height: 80px; margin: 0 0 6px; }
  .an-reading dd { font-size: 15px; }
  .an-other-readings { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .an-other-readings dd { font-size: 14px; }
  .an-timing-values { gap: 10px; }
  .an-timing-values dd { font-size: 20px; }
  .an-timing-values dt { font-size: 12px; }
  .an-tempo-heading { gap: 16px; margin-bottom: 22px; }
  #tempo .tempo-figure { font-size: 40px; }
  #work-journal li { grid-template-columns: 40px minmax(0,1fr); gap: 10px; font-size: 13px; }
}
@media(prefers-reduced-motion:no-preference) { #work-journal li:last-child { animation: an-arrive 320ms cubic-bezier(.16,1,.3,1); } @keyframes an-arrive { from { opacity: .55; transform: translateY(5px); } to { opacity: 1; transform: none; } } }
@media print { .an-explanation > :not(summary) { display: block !important; } #readings { display: block; } .an-reading { break-inside: avoid; } }

/* The event journal leads, so actual progress is visible before the sheet. */
#step-working .studio-work-layout > .work-journal-section { margin: 0 0 24px; padding: 0; border: 0; max-width: none; }
#step-working .contact-strip { max-height: 260px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--ink-3) transparent; }
#work-journal:focus-visible { outline: 2px solid var(--tint); outline-offset: 4px; }
@media(min-width:1000px) {
  #step-working .studio-work-layout { row-gap: 20px; }
  #step-working .studio-work-layout > .work-journal-section { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  #step-working .studio-work-layout > .contact { grid-column: 1; grid-row: 2; }
  #step-working .studio-work-layout > .working-grid { grid-column: 2; grid-row: 1 / span 2; }
}
@media(max-width:699px) { #step-working .contact-strip { max-height: 205px; } #work-journal { max-height: 210px; } }

/* Practice is a sequence of sessions; the map records real completion. */
#plan { border: 0; border-radius: 0; background: transparent; padding: 0; overflow: visible; }
#plan .practice-map { padding: 0 0 24px; border-bottom: 1px solid var(--rule); margin-bottom: 32px; }
#plan .practice-map-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 18px; }
#plan .practice-map-heading p { margin: 0; font: 500 18px/1.4 var(--f-ui); }
#plan .practice-progress { color: var(--ink-2); font: 400 13px/1.5 var(--f-ui); font-variant-numeric: tabular-nums; }
#plan .practice-weeks { display: flex; gap: 24px; flex-wrap: wrap; }
#plan .practice-week { flex: 1 1 130px; display: grid; gap: 10px; min-height: 88px; border: 0; border-radius: 0; padding: 10px 0; background: transparent; text-align: start; color: var(--ink); cursor: pointer; font: 500 15px/1.4 var(--f-ui); }
#plan .practice-week small { color: var(--ink-2); font: 400 12px/1.4 var(--f-ui); }
#plan .practice-week-track { display: flex; gap: 5px; }
#plan .practice-week-track i { height: 6px; flex: 1; border: 1px solid var(--field-line); border-radius: 2px; background: transparent; }
#plan .practice-week-track i.is-done { background: var(--tint); border-color: var(--tint); }
#plan .practice-week:hover { color: var(--tint-text); }
#plan .plan-wk { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 24px; margin: 0 0 32px; scroll-margin-top: 160px; }
#plan .plan-week { display: block; padding: 20px 0; margin: 0; font: 600 20px/1.4 var(--f-ui); color: var(--ink); }
#plan .plan-grid { min-width: 0; }
#plan .plan-card { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 20px; padding: 12px 0; }
#plan .plan-tick { position: static; margin: 14px 0 0; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--field-line); display: grid; place-items: center; background: transparent; color: transparent; }
#plan .plan-tick::after { display: none; }
#plan .is-done .plan-tick { background: var(--tint); border-color: var(--tint); color: var(--paper); }
#plan .is-done .plan-title { text-decoration: none; color: var(--ink-2); }
#plan .plan-session { min-width: 0; }
#plan .plan-session > summary { display: flex; align-items: center; gap: 18px; min-height: 76px; padding: 12px 0; cursor: pointer; list-style: none; }
#plan .plan-session > summary::-webkit-details-marker { display: none; }
#plan .plan-session-label { display: grid; gap: 8px; flex: 1; min-width: 0; }
#plan .plan-when { font: 400 12px/1.4 var(--f-ui); color: var(--ink-2); width: auto; padding: 0; letter-spacing: 0; }
#plan .plan-title { font: 500 22px/1.4 var(--f-ui); color: var(--ink); margin: 0; text-wrap: pretty; }
#plan .plan-duration { display: flex; align-items: baseline; gap: 5px; font: 500 22px/1.2 var(--f-ui); font-variant-numeric: tabular-nums; flex: none; }
#plan .plan-duration small { color: var(--ink-2); font: 400 12px/1.4 var(--f-ui); }
#plan .plan-chevron { width: 8px; height: 8px; margin: 0 5px; border: solid var(--ink-2); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); flex: none; }
#plan .plan-session[open] .plan-chevron { transform: rotate(225deg); }
#plan .plan-session-body { padding: 14px 0 22px; }
#plan .plan-prescription { display: flex; flex-wrap: wrap; gap: 20px 40px; padding-bottom: 22px; }
#plan .plan-prescription p { margin: 0; display: grid; gap: 6px; flex: 1 1 160px; }
#plan .plan-prescription span { color: var(--ink-2); font: 400 12px/1.5 var(--f-ui); }
#plan .plan-prescription strong { font: 500 16px/1.5 var(--f-ui); }
#plan .plan-drill { margin: 0 0 22px; max-width: 65ch; font: 400 16px/1.8 var(--f-ui); color: var(--ink); }
#plan .plan-success { display: flex; align-items: start; gap: 12px; padding: 18px 0 0; border-top: 1px solid var(--rule); }
#plan .plan-success > svg { width: 20px; height: 20px; stroke: var(--tint-text); fill: none; stroke-width: 1.7; flex: none; }
#plan .plan-success p { margin: 0; font: 500 13px/1.5 var(--f-ui); color: var(--ink-2); }
#plan .plan-success .plan-check { margin-top: 5px; font: 400 15px/1.7 var(--f-ui); color: var(--ink); }
#plan :is(button,summary):focus-visible { outline: 2px solid var(--tint); outline-offset: 4px; }
#plan .plan-video { max-width: 100%; }
#plan .plan-video span { white-space: normal; }

/* One full-size position with an adjacent measurement register. */
#key-figures:has(.key-study) { display: block; }
.key-study-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--field-line); margin-bottom: 24px; }
.key-study-nav button { position: relative; display: grid; justify-items: start; gap: 6px; min-height: 78px; padding: 14px 18px; background: transparent; color: var(--ink-2); border: 0; font: 500 16px/1.5 var(--f-ui); cursor: pointer; }
.key-study-nav button small { font: 400 12px/1.4 var(--f-ui); font-variant-numeric: tabular-nums; }
.key-study-nav button[aria-pressed=true] { color: var(--ink); background: var(--fill-4); }
.key-study-nav button[aria-pressed=true]::after { content: ''; height: 2px; background: var(--sand); position: absolute; inset: auto 18px -1px; }
.key-study-nav button:hover { background: var(--fill-3); }
.key-study-nav button:focus-visible { outline: 2px solid var(--tint); outline-offset: -3px; }
#key-figures .key-study-frames .ov-fig { display: grid; grid-template-columns: minmax(0,560px) minmax(250px,1fr); align-items: start; gap: 36px; margin: 0; }
#key-figures .key-study-frames > .ov-fig[hidden] { display: none; }
#key-figures .key-study-frames .ov-stage { border-radius: 12px; max-width: 100%; width: 100%; }
#key-figures .key-study-frames .ov-img { width: 100%; height: auto; display: block; }
#key-figures .key-study-frames figcaption { padding: 12px 0 0; min-width: 0; }
#key-figures .key-study-frames .ov-label { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 20px; font: 500 26px/1.3 var(--f-ui); }
#key-figures .ov-n { margin: 0; font: 400 14px/1.4 var(--f-ui); color: var(--ink-2); }
#key-figures .key-study-frames .sw-values { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; font: 400 14px/1.6 var(--f-ui); }
#key-figures .key-study-frames .sw-values li { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 6px 16px; padding: 18px 0; border-top: 1px solid var(--rule); }
#key-figures .sw-values li:has(.v-none) { display: none; }
#key-figures .sw-values .sw-mk { display: none; }
#key-figures .sw-values .sw-k { color: var(--ink-2); font: 400 14px/1.6 var(--f-ui); }
#key-figures .sw-values :is(.v,.v-est) { color: var(--ink); font: 500 24px/1.3 var(--f-ui); font-variant-numeric: tabular-nums; text-align: end; }
#key-figures .sw-values .sw-tol { grid-column: 2; text-align: end; font: 400 12px/1.4 var(--f-ui); color: var(--ink-2); }
#key-figures .sw-values-rd li { display: block !important; }
#key-figures .sw-values-rd .sw-k { display: block; margin-bottom: 7px; }
#key-figures .sw-values-rd .v { display: block; text-align: start; font-size: 18px; line-height: 1.5; }
#key-figures .key-study-more { margin-top: 26px; }
#key-figures .key-study-more > summary { font-size: 15px; }
#key-figures .key-study-more .hp-fig { max-width: 650px; margin-inline: auto; }
#key-figures .kt { margin: 0; }
#key-figures .kt-scroll { max-width: 100%; overflow: auto; }

/* A missing measurement has a recovery path, never a fabricated gauge. */
#tempo .tempo-unavailable { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 30px; padding: 12px 0 24px; }
.tempo-unavailable-icon { background: var(--fill-4); border-radius: 14px; width: 104px; height: 104px; display: grid; place-items: center; }
.tempo-unavailable-icon svg { width: 72px; height: 72px; fill: none; stroke: var(--ink-2); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
#tempo .tempo-empty-title { margin: 0 0 10px; color: var(--ink); font: 500 24px/1.4 var(--f-ui); }
#tempo .tempo-empty-lede { color: var(--ink-2); font: 400 15px/1.7 var(--f-ui); margin: 0; max-width: 60ch; }
.tempo-recovery { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 18px 0 24px; }
.tempo-recovery > span { display: inline-flex; align-items: center; gap: 7px; font: 400 14px/1.5 var(--f-ui); color: var(--ink-2); }
.tempo-recovery svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
#tempo .tempo-evidence { margin-top: 0; }
#tempo .tempo-evidence .tempo-guide { display: inline-block; padding-block: 12px; }
#miss-read .miss-explanation-body { padding: 8px 0 20px; }
#miss-read .miss-why { max-width: 58ch; margin: 0 0 22px; font: 400 16px/1.9 var(--f-ui); color: var(--ink); }
#miss-read .miss-agree { max-width: 60ch; padding: 14px 0 0; border: 0; border-top: 1px solid var(--rule); background: transparent; margin: 0; font: 400 13px/1.7 var(--f-ui); color: var(--ink-2); }
@media (max-width:700px) {
  #plan .practice-map-heading { align-items: start; }
  #plan .practice-map-heading p { font-size: 16px; }
  #plan .practice-progress { font-size: 12px; flex: none; }
  #plan .practice-weeks { gap: 12px; }
  #plan .practice-week { flex-basis: 110px; }
  #plan .plan-wk { display: block; margin-bottom: 28px; }
  #plan .plan-week { padding: 0 0 16px; font-size: 18px; }
  #plan .plan-card { gap: 12px; grid-template-columns: 44px minmax(0,1fr); }
  #plan .plan-tick { width: 44px; height: 44px; border-radius: 8px; }
  #plan .plan-session > summary { gap: 10px; }
  #plan .plan-title { font-size: 18px; }
  #plan .plan-duration { font-size: 18px; display: grid; gap: 2px; text-align: end; }
  #plan .plan-when { font-size: 11px; }
  #plan .plan-prescription { display: grid; gap: 16px; }
  #plan .plan-drill { font-size: 15px; }
  .key-study-nav { margin-bottom: 16px; }
  .key-study-nav button { padding: 12px 4px; min-height: 70px; justify-items: center; font-size: 14px; }
  .key-study-nav button small { font-size: 11px; }
  .key-study-nav button[aria-pressed=true]::after { inset-inline: 4px; }
  #key-figures .key-study-frames .ov-fig { display: block; }
  #key-figures .key-study-frames .ov-stage { width: min(100%,440px); margin-inline: auto; }
  #key-figures .key-study-frames figcaption { padding-top: 24px; }
  #key-figures .key-study-frames .ov-label { font-size: 22px; }
  #key-figures .sw-values-rd .v { font-size: 17px; }
  #tempo .tempo-unavailable { grid-template-columns: 52px minmax(0,1fr); gap: 16px; }
  .tempo-unavailable-icon { width: 52px; height: 64px; border-radius: 8px; }
  .tempo-unavailable-icon svg { width: 48px; height: 48px; }
  #tempo .tempo-empty-title { font-size: 20px; }
  #tempo .tempo-unavailable .btn { width: 100%; }
  .tempo-recovery { gap: 12px; }
  #miss-read .miss-why { font-size: 15px; line-height: 1.9; }
}
@media print {
  #key-figures .key-study-frames > [hidden] { display: block !important; }
  .key-study-nav, .practice-weeks { display: none !important; }
  #key-figures .key-study-frames { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  #key-figures .key-study-frames .ov-fig { display: block; }
  #plan .plan-wk { display: block; }
  #plan .plan-session > .plan-session-body { display: block !important; }
}
