/* Scope every rule to the lesson's interactive driver. No global shell changes. */
.driver-explorer{--de-lime:#c9ff20;--de-ink:#1b2937;--de-line:#e0e6ec;min-width:0;width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid var(--de-line);border-radius:18px;background:linear-gradient(145deg,#f8fafc,#fff);color:var(--de-ink)}
.driver-explorer button{font-family:inherit;font-size:12px;font-weight:650;line-height:1.2;color:#354657;border:1px solid #d6dfe7;border-radius:8px;background:#fff;padding:8px 10px;min-height:34px;cursor:pointer}
.driver-explorer button:hover{border-color:#9eb327;background:#fbffe9}
.driver-explorer button[aria-pressed=true]{color:#253400;background:#e8f9a6;border-color:#adc744}
.driver-explorer button:focus-visible{outline:3px solid #586f00;outline-offset:2px}
.driver-explorer [hidden]{display:none!important}
.de-topline{display:flex;justify-content:space-between;align-items:center;gap:8px}
.de-view-controls,.de-group-controls{display:flex;flex-wrap:wrap;gap:5px}
.de-stage{position:relative;min-width:0}
.de-svg{display:block;width:100%;height:250px;min-width:0;overflow:visible}
[data-explorer-mode=intro] .de-svg{height:310px}
[data-explorer-focus=true] .de-svg{height:225px}
.de-axis{stroke:#b3bfc8;stroke-dasharray:5 6;stroke-width:.9;vector-effect:non-scaling-stroke}
.de-face{cursor:pointer;stroke-linejoin:round}
.de-face.is-selected{fill:color-mix(in srgb,var(--de-base) 52%,var(--de-lime));stroke:#405700;stroke-width:1.5;filter:drop-shadow(0 0 3px #c9ff20)}
.de-face.is-hovered{fill:color-mix(in srgb,var(--de-base) 40%,var(--de-lime))}
.de-face.is-dimmed{opacity:.11}
.de-fit-label{margin:0 0 8px!important;font-size:11px!important;line-height:1.35!important;color:#627286}
.de-info{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 9px;padding:9px 12px;background:#fff;border:1px solid #e3e9ef;border-left:3px solid var(--de-lime);border-radius:9px;min-height:63px;box-sizing:border-box}
.de-info strong{font-size:15px;line-height:1.25}
.de-info p{grid-column:1/-1;margin:2px 0 0!important;font-size:13px!important;line-height:1.4!important;color:#425268}
.de-group-chip{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#56697d}
.de-group-controls{margin-top:8px}
.de-group-explainer{width:100%;margin:0 0 4px!important;color:#526174;font-size:12px!important;line-height:1.35!important}
.de-turn-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;color:#526174;font-size:11px;font-weight:750}.de-turn-controls>span{margin-right:auto}.de-turn-slider{display:flex;align-items:center;gap:4px}.de-turn-slider input{width:88px;accent-color:#7a9d00}
.de-part-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:6px}
.driver-explorer .de-part-button{padding:7px 6px;text-align:left;min-width:0;font-size:11.5px;overflow-wrap:anywhere;line-height:1.3}
.de-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#8997a4}
.de-dot--moving{background:#ab752c}.de-dot--fixed{background:#688897}.de-dot--flexing{background:#886080}
.de-gap-study{margin-top:8px;padding:10px;border:1px solid var(--de-line);border-radius:10px;background:#fff}
.de-gap-study strong{display:block;font-size:12px}.de-gap-study svg{display:block;max-width:310px;width:100%;margin:5px auto}.de-gap-study text{font:10px system-ui;fill:#405065}.de-gap-study small{display:block;font-size:10px;line-height:1.35;color:#617185}
@media(min-width:1600px){.de-svg{height:290px}[data-explorer-mode=intro] .de-svg{height:360px}}
@media(max-width:760px){.driver-explorer{padding:10px}.de-svg{height:210px}[data-explorer-mode=intro] .de-svg{height:250px}.de-part-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.driver-explorer .de-part-button{font-size:10.5px;min-height:38px;padding:6px 4px}.de-info p{font-size:12px!important}.de-fit-label{font-size:10px!important}.de-topline button,.de-group-controls button{font-size:11px;min-height:34px}.de-info strong{font-size:14px}}
@media(max-width:420px){.de-svg{height:180px}[data-explorer-mode=intro] .de-svg{height:220px}.de-info{min-height:74px}.de-part-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-explorer .de-part-button{font-size:11.5px;min-height:36px}.driver-explorer{padding:9px}.de-group-controls{gap:4px}.de-group-controls button{padding:7px 8px}.de-turn-controls>span{width:100%}}
@media(prefers-reduced-motion:reduce){.driver-explorer *{transition:none!important;animation:none!important}}

.driver-explorer .de-mobile-picker { display:none; }
@media(max-width:540px){
 .driver-explorer .de-part-buttons { display:none; }
 .driver-explorer .de-mobile-picker { display:flex; gap:8px; align-items:center; margin-top:8px; color:#425466; font-size:12px; font-weight:700; }
 .driver-explorer .de-mobile-picker select { min-width:0; flex:1; min-height:36px; border:1px solid #cbd6df; border-radius:7px; padding:5px; background:#fff; color:#21323d; font:inherit; }
 .driver-explorer .de-mobile-picker select:focus-visible { outline:3px solid #a6ce24; outline-offset:2px; }
}
