/*
 * Final classroom-delivery QA layer.
 *
 * These rules intentionally stay page-specific. The deck contains covers,
 * dense swimlanes, interaction pages and sparse concept pages; one global
 * font floor cannot serve all four without creating collisions.
 */

@media screen and (min-width: 1100px) {
  /* A chapter cover must read as one composition and keep every tag above the
     projection control bar. The asymmetric padding moves the whole lock-up up
     without changing the established Beijing-course cover language. */
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover {
    justify-content: center !important;
    padding: clamp(48px, 4.6vh, 72px) clamp(80px, 6vw, 124px) clamp(108px, 11vh, 138px) !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover .num {
    font-size: clamp(116px, 8.6vw, 168px) !important;
    line-height: .92 !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover .label {
    font-size: clamp(19px, 1.12vw, 24px) !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover h2 {
    max-width: 1420px !important;
    margin: 10px 0 16px !important;
    font-size: clamp(62px, 4.2vw, 84px) !important;
    line-height: 1.06 !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover p {
    max-width: 1380px !important;
    font-size: clamp(24px, 1.55vw, 31px) !important;
    line-height: 1.38 !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover .deliverables {
    margin-top: clamp(22px, 2.6vh, 34px) !important;
  }
  #fsSlideContent :is(#m1-s1,#m2-s1,#m3-s1,#m4-s1,#m5-s1,#m7-s1,#m7-s1) .section-cover .deliverable-tag {
    padding: 12px 20px !important;
    font-size: clamp(19px, 1.12vw, 24px) !important;
  }

  /* Opening deliverables: six outcomes remain visible, but the three acts no
     longer sit on top of the evidence axis and acceptance line. */
  #fsSlideContent #m0-s4 {
    overflow: hidden !important;
  }
  #fsSlideContent #m0-s4 .slide-header {
    padding: 10px 0 8px !important;
  }
  #fsSlideContent #m0-s4 .slide-body {
    min-height: 0 !important;
    padding-top: 10px !important;
  }
  #fsSlideContent #m0-s4 .m0-deliverable-stack {
    display: grid !important;
    height: calc(100% - 2px) !important;
    min-height: 0 !important;
    grid-template-rows: 42px minmax(0,1fr) 28px 44px !important;
    gap: 6px !important;
  }
  #fsSlideContent #m0-s4 .m0-outcome-thesis {
    min-height: 48px !important;
    grid-template-columns: 210px minmax(0,1fr) 190px !important;
  }
  #fsSlideContent #m0-s4 .m0-outcome-thesis :is(span,b) {
    font-size: 13px !important;
  }
  #fsSlideContent #m0-s4 .m0-outcome-thesis strong {
    font-size: 18px !important;
  }
  #fsSlideContent #m0-s4 .opening-outcome-journey {
    min-height: 0 !important;
    gap: 9px !important;
    padding: 8px 10px 5px !important;
  }
  #fsSlideContent #m0-s4 .opening-phase {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 9px !important;
  }
  #fsSlideContent #m0-s4 .opening-phase-head {
    padding-bottom: 8px !important;
  }
  #fsSlideContent #m0-s4 .opening-phase-head span {
    font-size: 12px !important;
  }
  #fsSlideContent #m0-s4 .opening-phase-head strong {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }
  #fsSlideContent #m0-s4 .opening-phase-grid {
    min-height: 0 !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-template-rows: minmax(0,1fr) !important;
    grid-auto-rows: minmax(0,1fr) !important;
    gap: 6px !important;
  }
  #fsSlideContent #m0-s4 .opening-outcome-item,
  #fsSlideContent #m0-s4 .opening-phase.assets .opening-outcome-item,
  #fsSlideContent #m0-s4 .opening-phase.organization .opening-outcome-item {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 9px 8px 7px 43px !important;
  }
  #fsSlideContent #m0-s4 .opening-outcome-item b {
    left: 11px !important;
    top: 9px !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 12px !important;
    line-height: 25px !important;
  }
  #fsSlideContent #m0-s4 .opening-outcome-item strong {
    font-size: 14px !important;
    line-height: 1.16 !important;
  }
  #fsSlideContent #m0-s4 .opening-outcome-item span {
    display: none !important;
  }
  #fsSlideContent #m0-s4 .m0-evidence-axis {
    grid-template-columns: 180px 92px 16px 92px 16px 92px 16px 92px !important;
    gap: 4px !important;
    min-height: 28px !important;
    font-size: 11px !important;
  }
  #fsSlideContent #m0-s4 .m0-evidence-axis :is(b,strong) {
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  #fsSlideContent #m0-s4 .opening-acceptance-band {
    min-height: 44px !important;
    padding: 6px 12px !important;
  }
  #fsSlideContent #m0-s4 .opening-acceptance-band strong {
    font-size: 14px !important;
  }
  #fsSlideContent #m0-s4 .opening-acceptance-band :is(span,b) {
    font-size: 12px !important;
    line-height: 1.24 !important;
  }

  /* Three M3 pages have an additional bottom teaching strip. Their content is
     intentionally scaled page-by-page so the example remains visible without
     lowering typography across the whole module. */
  #fsSlideContent #m3-s4 .slide-body {
    transform: scale(.88) !important;
    width: 113.636% !important;
    margin-left: -6.818% !important;
  }
  #fsSlideContent #m3-s9 .slide-body {
    transform: scale(.91) !important;
    width: 109.89% !important;
    margin-left: -4.945% !important;
  }
  #fsSlideContent #m3-s12 .slide-body {
    transform: scale(.89) !important;
    width: 112.36% !important;
    margin-left: -6.18% !important;
  }

  /* Dense M3 pages need a compact vertical rhythm, not another global font
     reduction. This exposes the teaching example/insight strip above the bar. */
  #fsSlideContent :is(#m3-s2,#m3-s4,#m3-s5,#m3-s6,#m3-s7,#m3-s8,#m3-s9,#m3-s11,#m3-s12) .slide-header {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  #fsSlideContent :is(#m3-s2,#m3-s4,#m3-s5,#m3-s6,#m3-s7,#m3-s8,#m3-s9,#m3-s11,#m3-s12) .slide-body {
    padding-top: 10px !important;
    transform: scale(.94) !important;
    transform-origin: top center !important;
    width: 106.383% !important;
    margin-left: -3.1915% !important;
  }
  #fsSlideContent #m3-s4 .slide-body {
    transform: scale(.84) !important;
    width: 119.048% !important;
    margin-left: -9.524% !important;
  }
  #fsSlideContent #m3-s9 .slide-body {
    transform: scale(.88) !important;
    width: 113.636% !important;
    margin-left: -6.818% !important;
  }
  #fsSlideContent #m3-s12 .slide-body {
    transform: scale(.86) !important;
    width: 116.279% !important;
    margin-left: -8.1395% !important;
  }

  /* Contract interaction: six skinny columns made ordinary words vertical and
     turned a landscape slide into a tall poster. Two rows preserve the process
     sequence while giving each business node a real reading width. */
  #fsSlideContent #m4-s13 {
    overflow: hidden !important;
  }
  #fsSlideContent #m4-s13 .slide-header {
    padding: 8px 0 !important;
  }
  #fsSlideContent #m4-s13 .slide-body {
    padding-top: 10px !important;
  }
  #fsSlideContent #m4-s13 .interaction-layout {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: minmax(260px,.27fr) minmax(0,.73fr) !important;
    grid-template-rows: minmax(0,1fr) auto !important;
    gap: 12px 16px !important;
  }
  #fsSlideContent #m4-s13 .interaction-brief {
    padding: 18px !important;
    gap: 8px !important;
  }
  #fsSlideContent #m4-s13 .interaction-brief h3 {
    font-size: 25px !important;
  }
  #fsSlideContent #m4-s13 .interaction-brief :is(p,.prompt-stack b) {
    font-size: 16px !important;
    line-height: 1.36 !important;
  }
  #fsSlideContent #m4-s13 .interaction-brief small {
    font-size: 13px !important;
  }
  #fsSlideContent #m4-s13 .process-swimlane {
    grid-template-rows: 38px minmax(0,1fr) 58px !important;
    gap: 8px !important;
  }
  #fsSlideContent #m4-s13 .lane-labels span {
    padding: 8px !important;
    font-size: 13px !important;
  }
  #fsSlideContent #m4-s13 .contract-steps {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  #fsSlideContent #m4-s13 .contract-steps > i {
    display: none !important;
  }
  #fsSlideContent #m4-s13 .contract-steps article {
    min-height: 128px !important;
    padding: 10px !important;
    gap: 3px !important;
  }
  #fsSlideContent #m4-s13 .contract-steps :is(small,span,b,em) {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  #fsSlideContent #m4-s13 .contract-steps strong {
    font-size: 17px !important;
    line-height: 1.22 !important;
  }
  #fsSlideContent #m4-s13 .contract-steps :is(b,em) {
    margin-top: 3px !important;
    padding: 5px !important;
  }
  #fsSlideContent #m4-s13 .agent-orchestrator {
    grid-template-columns: 150px 135px minmax(0,1fr) !important;
    padding: 9px 12px !important;
  }
  #fsSlideContent #m4-s13 .agent-orchestrator span {
    font-size: 10px !important;
  }
  #fsSlideContent #m4-s13 .agent-orchestrator strong {
    font-size: 16px !important;
  }
  #fsSlideContent #m4-s13 .agent-orchestrator b {
    font-size: 13px !important;
  }
  #fsSlideContent #m4-s13 .interaction-verdict {
    padding: 10px 14px !important;
  }
  #fsSlideContent #m4-s13 .interaction-verdict :is(b,span) {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  /* Four-pit page: keep the decisive blue conclusion line visible. */
  #fsSlideContent #m4-s2 .slide-body {
    padding-top: 10px !important;
    transform: scale(.96) !important;
    transform-origin: top center !important;
    width: 104.167% !important;
    margin-left: -2.0835% !important;
  }

  /* The complete future process remains a genuine swimlane. Descriptive copy
     is shortened in projection mode; role, activity, Skill, system and human
     gates remain visible and large enough to teach from. */
  #fsSlideContent #m5-s8 {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  #fsSlideContent #m5-s8 .slide-header {
    flex: 0 0 auto !important;
    padding: 8px 0 !important;
  }
  #fsSlideContent #m5-s8 .slide-body {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-top: 8px !important;
  }
  #fsSlideContent #m5-s8 .m5-future-process-map {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: 40px repeat(6,minmax(0,1fr)) 54px !important;
  }
  #fsSlideContent #m5-s8 .m5-future-head,
  #fsSlideContent #m5-s8 .m5-future-row {
    grid-template-columns: 142px repeat(8,minmax(0,1fr)) !important;
  }
  #fsSlideContent #m5-s8 .m5-future-head > * {
    min-height: 40px !important;
    padding: 4px !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row {
    min-height: 0 !important;
    background-size: calc((100% - 142px)/8) 100% !important;
    background-position: 142px 0 !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row > b {
    min-height: 0 !important;
    padding: 5px 8px !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row > b small {
    font-size: 10px !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row article {
    margin: 3px !important;
    padding: 5px !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row article em {
    margin: -5px -5px 3px !important;
    padding: 3px !important;
    font-size: 10px !important;
    line-height: 1.08 !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row article strong {
    font-size: 13px !important;
    line-height: 1.16 !important;
  }
  #fsSlideContent #m5-s8 .m5-future-row article span {
    display: none !important;
  }
  #fsSlideContent #m5-s8 .m5-future-assets {
    grid-template-columns: 95px repeat(3,minmax(0,1fr)) !important;
  }
  #fsSlideContent #m5-s8 .m5-future-assets > * {
    padding: 5px 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  /* Cainiao benchmark was previously reported as folded/covered. Keep its
     five rows inside the available teaching canvas. */
  #fsSlideContent #m7-s5 {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  #fsSlideContent #m7-s5 .slide-header {
    flex: 0 0 auto !important;
    padding: 8px 0 !important;
  }
  #fsSlideContent #m7-s5 .slide-body {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-top: 8px !important;
  }
  #fsSlideContent #m7-s5 .m7-benchmark-case {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    align-content: center !important;
    grid-template-rows: 50px 150px 34px 40px 36px !important;
  }
  #fsSlideContent #m7-s5 .m7-case-dual {
    min-height: 0 !important;
    padding: 12px 16px 9px !important;
  }
  #fsSlideContent #m7-s5 .m7-case-dual section {
    grid-template-rows: auto auto minmax(0,1fr) !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 9px 11px !important;
  }
  #fsSlideContent #m7-s5 .m7-case-dual span {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
  }
  #fsSlideContent #m7-s5 .m7-case-dual strong {
    display: none !important;
  }
  #fsSlideContent #m7-s5 .m7-case-dual :is(small,b) {
    font-size: 14px !important;
    line-height: 1.18 !important;
  }
  #fsSlideContent #m7-s5 :is(.m7-case-loop,.m7-case-takeaway) {
    min-height: 0 !important;
    margin-bottom: 7px !important;
  }
  #fsSlideContent #m7-s5 .m7-case-links {
    min-height: 0 !important;
  }

  /* Keep the historical content-scale transforms, but do not widen the body
     beyond the projector canvas. Widening forced the fullscreen fitter to
     shrink the entire slide and still left a horizontal scroll range. */
  #fsSlideContent :is(#m3-s2,#m3-s4,#m3-s5,#m3-s6,#m3-s7,#m3-s8,#m3-s9,#m3-s11,#m3-s12,#m4-s2) .slide-body {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Projector-readable auxiliary labels. These are page-local because raising
   them globally previously caused card collisions on dense workshop pages. */
@media screen and (min-width: 1100px) {
  #fsSlideContent #m1-s3 .m1-loop-legend b,
  #fsSlideContent #m1-s3 .m1-loop-return {
    font-size: 14px !important;
  }
  #fsSlideContent #m1-s3 .m1-system-guard {
    font-size: 15px !important;
  }
  #fsSlideContent #m4-s3 .m4-scene-portfolio article em,
  #fsSlideContent :is(#m5-s3,#m5-s4,#m5-s5) .m5-current-flow em,
  #fsSlideContent #m5-s7 .m5-selection-result em,
  #fsSlideContent #m5-s9 .m5-example-process em,
  #fsSlideContent #m4-s10 em,
  #fsSlideContent #m7-s3 .m7-case-brand em {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}
