/* Material scaffold adapted from skeleton_teaching_tabs; Frame overview/detail pattern.
   Existing page chrome remains owned by that page. This component uses two functional colors. */
.cis-lab{--lab-blue:#1a73e8;--lab-ink:#202124;--lab-muted:#5f6368;--lab-line:#dadce0;--lab-warn:#b3261e;background:#fff;color:var(--lab-ink);margin:24px auto;padding:24px;max-width:1100px;border:1px solid #e8eaed;border-radius:12px;font:16px/1.65 'Roboto','Noto Sans TC',-apple-system,sans-serif;box-sizing:border-box}
.cis-lab *{box-sizing:border-box}.cis-lab h2{font-size:24px;line-height:1.4;margin:0 0 8px;font-weight:500}.cis-lab h3{font-size:18px;margin:0 0 8px}.cis-lab p{font-size:16px;line-height:1.7;margin:8px 0}.cis-lab .lab-kicker{font-size:12px;letter-spacing:.08em;color:var(--lab-muted);margin-bottom:8px}.cis-lab .lab-intro{color:var(--lab-muted);max-width:65ch}.cis-lab .lab-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:24px;margin-top:20px;align-items:start}.cis-lab .lab-overview{background:#f8f9fa;border-radius:8px;padding:12px;min-width:0}.cis-lab svg{display:block;width:100%;height:auto;overflow:visible;background:transparent!important;border:0!important;border-radius:0!important}.cis-lab svg text{font:18px 'Roboto','Noto Sans TC',sans-serif;fill:#202124}.cis-lab svg .minor{font-size:15px;fill:#5f6368}.cis-lab svg .blue{fill:#1a73e8}.cis-lab svg .warning{fill:#b3261e}.cis-lab svg .wire{stroke:#5f6368;stroke-width:2.5;fill:none}.cis-lab svg .signal{stroke:#1a73e8;stroke-width:3;fill:none}.cis-lab svg .guide{stroke:#dadce0;stroke-width:1;fill:none}.cis-lab svg .axis{stroke:#5f6368;stroke-width:1.5;fill:none}.cis-lab .lab-controls{display:grid;gap:16px;margin:16px 0}.cis-lab label{display:block;font-size:15px;color:#202124}.cis-lab label>span{display:flex;justify-content:space-between;gap:12px}.cis-lab input[type=range]{width:100%;height:26px;accent-color:#1a73e8;margin:8px 0 0;appearance:auto;background:transparent;outline:revert}.cis-lab input[type=range]::-webkit-slider-thumb{appearance:auto;background:#1a73e8}.cis-lab input[type=checkbox]{accent-color:#1a73e8}.cis-lab output{font-variant-numeric:tabular-nums;font-weight:600;color:#185abc;white-space:nowrap}.cis-lab button{font:inherit;font-size:14px;line-height:1.5;cursor:pointer;min-height:42px;padding:8px 12px;background:white;color:#185abc;border:1px solid #dadce0;border-radius:6px;box-shadow:none}.cis-lab button:focus-visible,.cis-lab input:focus-visible,.cis-lab select:focus-visible{outline:3px solid #1a73e8;outline-offset:3px}.cis-lab .lab-actions{display:flex;gap:8px;flex-wrap:wrap}.cis-lab .lab-actions button[aria-pressed=true]{background:#e8f0fe;color:#174ea6;border-color:#1a73e8}.cis-lab .lab-result{border-top:1px solid #dadce0;padding-top:14px;margin-top:16px}.cis-lab .lab-result strong{font-size:19px;font-weight:600}.cis-lab .lab-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.cis-lab .lab-metrics>div{padding:8px 0;border-bottom:1px solid #e8eaed}.cis-lab .lab-metrics small{display:block;color:#5f6368;font-size:13px}.cis-lab .lab-metrics b{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}.cis-lab .lab-note{color:#5f6368;font-size:14px!important}.cis-lab .lab-warning{color:#b3261e}.cis-lab details{border-top:1px solid #dadce0;margin-top:18px;padding-top:12px;box-shadow:none!important;background:transparent!important}.cis-lab summary{font-size:14px;cursor:pointer;color:#185abc}.cis-lab details p,.cis-lab details li{font-size:14px}.cis-lab .lab-legend{font-size:13px;color:#5f6368}.cis-lab a{color:#185abc;text-decoration:none}.cis-lab a:hover{text-decoration:underline}.cis-lab .lab-step{font-size:16px;font-weight:600}.cis-lab .lab-route{display:flex;gap:8px;overflow:auto;border-bottom:1px solid #dadce0;margin-top:12px;padding-bottom:2px}.cis-lab .lab-route button{border:0;border-radius:0;white-space:nowrap;color:#5f6368;border-bottom:2px solid transparent}.cis-lab .lab-route button[aria-pressed=true]{color:#185abc;border-bottom-color:#1a73e8;background:transparent}.cis-lab select{font:inherit;padding:8px;border:1px solid #dadce0;border-radius:6px;background:#fff;max-width:100%}.cis-lab .lab-detail{min-width:0}.cis-lab [hidden]{display:none!important}@media(max-width:700px){.cis-lab{padding:16px;margin:16px 0}.cis-lab h2{font-size:21px}.cis-lab .lab-grid{grid-template-columns:1fr;gap:16px}.cis-lab .lab-overview{padding:4px}.cis-lab .lab-metrics b{font-size:19px}.cis-lab svg text{font-size:19px}.cis-lab svg .minor{font-size:17px}.cis-lab .lab-grid .lab-controls{margin-top:4px}}@media(prefers-reduced-motion:reduce){.cis-lab *{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:700px){.cis-lab{border:0;border-radius:0;padding:12px 0}.cis-lab .lab-overview{padding:4px 0}.cis-lab svg text{font-size:24px}.cis-lab svg .minor{font-size:21px}.cis-lab .lab-metrics b{overflow-wrap:anywhere}.cis-lab .lab-kicker{letter-spacing:0}.cis-lab .lab-route{flex-wrap:wrap;overflow:visible}.cis-lab .lab-route button{white-space:normal;text-align:left}}

.cis-lab{text-align:left;scroll-margin-top:140px}.cis-lab .lab-route{flex-wrap:wrap;overflow:visible}.cis-lab .lab-route button{white-space:normal;text-align:left}
