/* RC177: scoped, touch-friendly lesson experiments; consistent in three themes. */
.sk177-lab{--sk177-card:#eaf2fb;--sk177-ink:#102b47;--sk177-border:#a9c3de;--sk177-muted:#375a7d;background:var(--sk177-card);color:var(--sk177-ink);border:1px solid var(--sk177-border);border-radius:18px;padding:clamp(14px,2.5vw,26px);margin:22px 0;max-width:100%;box-sizing:border-box;overflow:hidden}
.sk177-lab *{box-sizing:border-box}
.sk177-lab header span{font-size:.72rem;letter-spacing:.08em;font-weight:800;color:var(--sk177-muted)}
.sk177-lab header h3{color:var(--sk177-ink);font-size:clamp(1.14rem,2vw,1.45rem);line-height:1.32;margin:8px 0}
.sk177-lab header p{color:var(--sk177-muted);line-height:1.65;margin:0 0 16px}
.sk177-lab-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);gap:18px;align-items:start}
.sk177-lab-stage{border-radius:14px;min-width:0;overflow:hidden;background:#10233d;border:1px solid #355575}
.sk177-lab-stage svg{display:block;width:100%;height:auto;aspect-ratio:540/250;max-width:100%;color:#eef5ff}
.sk177-lab-controls{min-width:0;display:flex;flex-direction:column;gap:12px}
.sk177-lab-controls label{font-weight:800;font-size:.95rem;color:var(--sk177-ink)}
.sk177-lab-controls input[type=range]{width:100%;max-width:100%;min-height:44px;cursor:pointer;accent-color:#2872c6}
.sk177-lab-controls output{display:block;min-height:70px;border-radius:12px;border:1px solid var(--sk177-border);padding:12px;background:rgba(34,106,177,.08);color:var(--sk177-ink);line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.sk177-lab-note{color:var(--sk177-muted);font-size:.88rem;line-height:1.6;margin:0}
html.lessonsky-dark .sk177-lab,body.lessonsky-dark .sk177-lab,html[data-lessonsky-effective-mode=dark] .sk177-lab{--sk177-card:#192f4d;--sk177-ink:#f0f6ff;--sk177-border:#456889;--sk177-muted:#c0d9f1}
html.lessonsky-dim .sk177-lab,body.lessonsky-dim .sk177-lab,html[data-lessonsky-effective-mode=dim] .sk177-lab{--sk177-card:#243a52;--sk177-ink:#f0f7ff;--sk177-border:#627a91;--sk177-muted:#d0e3f3}
@media(max-width:720px){.sk177-lab-grid{grid-template-columns:minmax(0,1fr)}.sk177-lab{padding:14px;border-radius:14px}.sk177-lab-controls output{min-height:0}}
@media(prefers-reduced-motion:reduce){.sk177-lab *{transition:none!important;animation:none!important}}
