/* RC178: three-theme grade-scoped lesson route and sixteen touch-friendly STEM labs. */
.sk178-route,.sk178-lab,.sk178-guide-advance,.sk178-result-actions{box-sizing:border-box}
.sk178-route{--sk178-bg:#f0f6ff;--sk178-ink:#173450;--sk178-muted:#486682;--sk178-edge:#adcae6;--sk178-accent:#196cc2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 22px}
.sk178-route-item{display:flex;align-items:center;gap:12px;min-width:0;min-height:92px;border:1px solid var(--sk178-edge);background:var(--sk178-bg);color:var(--sk178-ink);border-radius:15px;padding:13px;text-decoration:none!important;overflow-wrap:anywhere;box-sizing:border-box}
.sk178-route-item:is(a):hover,.sk178-route-item:is(a):focus-visible{border-color:var(--sk178-accent);outline-offset:2px;box-shadow:0 0 0 2px color-mix(in srgb,var(--sk178-accent) 22%,transparent)}
.sk178-route-current{outline:2px solid var(--sk178-accent);outline-offset:-2px}
.sk178-route-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.sk178-route-copy strong{color:var(--sk178-ink);font-weight:800;font-size:.94rem}
.sk178-route-copy small{font-size:.79rem;line-height:1.45;color:var(--sk178-muted)}
.sk178-route-number{font-size:.8rem;font-weight:900;color:var(--sk178-accent);background:color-mix(in srgb,var(--sk178-accent) 13%,transparent);padding:8px;border-radius:9px}
.sk178-route-unavailable{opacity:.64}
.sk178-guide-advance{margin:15px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.sk178-guide-advance small{color:var(--sk178-muted,#4b637a);font-size:.82rem}
.sk178-route-cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;background:#126bb3!important;color:white!important;border:1px solid #377fb9;border-radius:11px;padding:11px 16px;min-height:44px;text-decoration:none!important;font-weight:800;line-height:1.35}
.sk178-route-cta:hover,.sk178-route-cta:focus-visible{background:#08538d!important;outline:2px solid #7ab6ef;outline-offset:2px}
.sk178-result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.sk178-cta-secondary{background:#e7f1fc!important;color:#155184!important}
.sk178-lab{--sk178-card:#edf5fd;--sk178-ink:#183750;--sk178-muted:#355a7c;--sk178-edge:#adcae3;background:var(--sk178-card);color:var(--sk178-ink);border:1px solid var(--sk178-edge);border-radius:18px;padding:clamp(14px,2.5vw,26px);margin:20px 0;max-width:100%;overflow:hidden}
.sk178-lab *{box-sizing:border-box}
.sk178-lab header span{font-size:.74rem;letter-spacing:.075em;font-weight:900;color:var(--sk178-muted)}
.sk178-lab header h3{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.32;color:var(--sk178-ink);margin:7px 0}
.sk178-lab header p{font-size:.93rem;line-height:1.55;color:var(--sk178-muted);margin:0 0 16px}
.sk178-lab-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);gap:16px;align-items:start}
.sk178-lab-stage{min-width:0;overflow:hidden;border-radius:14px;background:#10233d;border:1px solid #3a5e81}
.sk178-lab-stage svg{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:540/260}
.sk178-lab-controls{display:flex;flex-direction:column;gap:11px;min-width:0}
.sk178-lab-controls label{font-weight:800;color:var(--sk178-ink)}
.sk178-lab-controls input[type=range]{width:100%;min-height:44px;accent-color:#2078c4;touch-action:pan-x;cursor:pointer}
.sk178-lab-controls output{display:block;padding:12px;border:1px solid var(--sk178-edge);border-radius:12px;line-height:1.55;font-weight:650;min-height:72px;color:var(--sk178-ink);background:rgba(35,116,196,.085);overflow-wrap:anywhere}
.sk178-lab-note{font-size:.85rem;line-height:1.6;color:var(--sk178-muted);margin:0}
html.lessonsky-dark .sk178-route,body.lessonsky-dark .sk178-route,html[data-lessonsky-effective-mode=dark] .sk178-route,html.lessonsky-dark .sk178-lab,body.lessonsky-dark .sk178-lab,html[data-lessonsky-effective-mode=dark] .sk178-lab{--sk178-bg:#193451;--sk178-card:#192f4b;--sk178-ink:#eef6ff;--sk178-muted:#c8daec;--sk178-edge:#476884;--sk178-accent:#90c6f4}
html.lessonsky-dim .sk178-route,body.lessonsky-dim .sk178-route,html[data-lessonsky-effective-mode=dim] .sk178-route,html.lessonsky-dim .sk178-lab,body.lessonsky-dim .sk178-lab,html[data-lessonsky-effective-mode=dim] .sk178-lab{--sk178-bg:#253e58;--sk178-card:#263c53;--sk178-ink:#edf5ff;--sk178-muted:#d0e1ed;--sk178-edge:#6b849a;--sk178-accent:#acd4f4}
@media(max-width:850px){.sk178-route{grid-template-columns:1fr}.sk178-route-item{min-height:65px}.sk178-lab-grid{grid-template-columns:1fr}}
@media(max-width:420px){.sk178-lab{border-radius:14px;padding:12px}.sk178-route-item{padding:11px}.sk178-route-copy strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.sk178-lab *,.sk178-route *{animation:none!important;transition:none!important}}
