/* One educational plate, scoped to the existing Luma Clean design. */
.laser-lesson.section { padding-block:40px }
.laser-lesson .section-head { margin-bottom:24px; gap:24px; align-items:start }
.laser-lesson .section-head h2 { font-size:clamp(1.6rem,2.3vw,2rem) }
.laser-lesson .section-head p { font-size:1rem; line-height:1.5 }
.laser-lesson .section-head .material { margin-bottom:8px; font-size:.875rem }
.laser-plate { border:1px solid var(--line); background:#fafcfc }
.laser-plate-heading { display:flex; justify-content:space-between; gap:12px 28px; flex-wrap:wrap; padding:18px 24px; border-bottom:1px solid var(--line); font-size:.875rem; color:var(--muted) }
.laser-plate-heading span:first-child { color:var(--ink); font-weight:600 }
.laser-figure-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center }
.laser-cutaway { min-width:0; max-width:560px; width:100%; padding:16px 20px }
.laser-cutaway svg { display:block; width:100%; height:auto; overflow:hidden }
.laser-legend { display:flex; flex-wrap:wrap; gap:8px 20px; padding-top:12px; font-size:.8125rem; color:var(--ink) }
.laser-legend span { display:inline-flex; align-items:center; gap:8px }
.laser-legend i { width:13px; height:13px; display:inline-block; flex-shrink:0 }
.laser-key-beam { background:var(--deep); width:3px!important; margin-inline:5px }
.laser-key-rust { background:#aa5936 }
.laser-key-metal { background:repeating-linear-gradient(135deg,#dbe3e3 0px,#dbe3e3 3px,#9ab1b4 3px,#9ab1b4 4px) }
.laser-key-particle { background:#aa5936; width:5px!important; height:5px!important; border-radius:50%; margin-inline:4px }
.laser-cutaway figcaption, .laser-time figcaption { margin-top:12px; font-size:.8125rem; line-height:1.6; color:var(--muted) }
.laser-explanation { padding:16px 24px 16px 12px; font-size:1rem; line-height:1.5 }
.laser-explanation ol { list-style:none; padding:0; margin:0; counter-reset:laser-step }
.laser-explanation li { position:relative; counter-increment:laser-step; padding-left:32px; margin-bottom:8px }
.laser-explanation li::before { content:counter(laser-step,decimal-leading-zero); position:absolute; left:0; top:12px; font-size:.8125rem; line-height:1.5; color:var(--deep); font-variant-numeric:tabular-nums }
.laser-explanation summary { min-height:44px; align-content:center; font-weight:600; color:var(--ink); cursor:pointer }
.laser-explanation details[open] p { padding:4px 0 12px }
.laser-explanation h3 { font-size:1.125rem; line-height:1.4; margin-bottom:7px }
.laser-explanation p { color:var(--muted) }
.laser-explanation a { display:inline-flex; align-items:center; min-height:44px }
.laser-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; border-top:1px solid var(--line); padding:12px 20px }
.laser-controls .button { min-height:46px; padding:10px 18px; font-size:.9375rem }
.laser-scrub { flex:1; min-width:180px }
.laser-scrub label { display:block; font-size:.8125rem; color:var(--muted) }
.laser-scrub input { display:block; width:100%; margin:0; min-height:44px; accent-color:var(--deep); cursor:pointer }
.laser-status { flex-basis:100%; font-size:.8125rem; color:var(--muted); min-height:1.5em }
.laser-time { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); font-size:1rem; line-height:1.5 }
.laser-time-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:20px }
.laser-time-heading h3 { font-size:1.375rem; flex-basis:49% }
.laser-time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px }
.laser-time-grid > div { min-width:0 }
.laser-duty { padding-right:28px; border-right:1px solid var(--line) }
.laser-clock-figure { margin-top:16px }
.laser-clock-figure svg { display:block; width:min(100%,360px); height:auto }
.laser-time p.laser-small { font-size:.8125rem; color:var(--muted); margin-top:20px }
.laser-nanosecond .laser-big-number { font-size:1.75rem; font-weight:600; letter-spacing:-.025em; color:var(--deep); line-height:1.3; margin:8px 0 12px; font-variant-numeric:tabular-nums }
.laser-big-number span { display:block; font-size:.875rem; font-weight:400; color:var(--muted); letter-spacing:0; margin-top:6px }
.laser-scale-figure { margin-top:16px }
.laser-scale-figure svg { display:block; width:min(100%,360px); height:auto }
.laser-sources { border-top:1px solid var(--line); margin-top:28px; padding-top:12px; font-size:.875rem; color:var(--muted) }
.laser-sources summary { min-height:44px; display:list-item; align-content:center; color:var(--deep) }
.laser-sources p { max-width:90ch; margin-top:14px }
.local-editing .laser-controls { display:none }
@media (max-width:800px) {
  .laser-figure-layout { grid-template-columns:minmax(0,1fr) }
  .laser-cutaway { max-width:560px; width:100%; margin:auto }
  .laser-explanation { padding:12px 24px 24px }
  .laser-explanation ol { display:block }
  .laser-explanation li { padding-left:32px; margin:0 0 8px }
  .laser-explanation a { margin-top:8px }
  .laser-time-grid { gap:28px }
  .laser-duty { padding-right:24px }
}
@media (max-width:650px) {
  .laser-plate-heading { padding:14px 16px; gap:4px }
  .laser-cutaway { padding:20px 8px 14px }
  .laser-cutaway figcaption { margin-inline:8px }
  .laser-legend { margin-inline:8px; gap:8px 14px }
  .laser-explanation { padding:10px 16px 20px }
  .laser-explanation ol { display:block }
  .laser-explanation li { padding-left:32px; padding-top:0; margin-bottom:4px }
  .laser-explanation li:last-child { margin-bottom:0 }
  .laser-controls { padding:16px; gap:12px }
  .laser-controls .button { flex:1; white-space:normal }
  .laser-scrub { flex-basis:100%; order:2; min-width:0 }
  .laser-status { order:3 }
  .laser-time-heading { display:block }
  .laser-time-heading h3 { margin-top:12px }
  .laser-time-grid { grid-template-columns:minmax(0,1fr); gap:20px }
  .laser-duty { padding-right:0; padding-bottom:20px; border-right:0; border-bottom:1px solid var(--line) }
  .laser-lesson .section-head h2 { font-size:1.625rem }
}
@media (prefers-reduced-motion:reduce) {
  .laser-controls .button { transition:background-color 150ms ease,color 150ms ease }
}

/* Compact overview; full diagrams and explanations stay available on demand. */
.laser-lesson .laser-explanation summary { padding-block:12px }
.laser-lesson .laser-cutaway { max-width:460px; margin-inline:auto }
.fun-fact-details { border:0 }
.fun-fact-details>summary { font-size:1.125rem; padding-block:12px }
.laser-time .time-teaser { margin-top:12px; max-width:75ch }
.laser-time { margin-top:16px; padding-top:12px }
.laser-lesson .section-head .material { display:none }
