/* Shared v3 shell, using the existing lab tokens. No other course is restyled. */
.sl3-shell { padding:20px 0 32px; }
.sl3-shell [hidden] { display:none !important; }
.sl3-heading { padding:15px 0 24px; }
.sl3-heading h1 { max-width:800px; }
.sl3-shell .sl3-heading .sl-lead { margin-bottom:0; }
.sl3-shell #sl3-core > .sl-header { display:none; }
.sl3-shell #sl3-core { padding-top:0; }
.sl3-map { border:1px solid var(--sl-border); border-radius:13px; background:var(--sl-surface); margin-bottom:15px; }
.sl3-map summary { padding:16px 20px; cursor:pointer; font-weight:650; font-size:.9rem; }
.sl3-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; padding:0 12px 12px; }
.sl3-topic-grid article { padding:16px; min-width:0; }
.sl3-topic-grid h3 { font-size:.89rem; margin-bottom:9px; }
.sl3-topic-grid .sl-eyebrow { font-size:.63rem; }
.sl3-topic-grid button { display:block; padding:6px 0; min-height:36px; background:transparent; color:var(--sl-accent); border:0; text-align:left; font-size:.8rem; font-weight:550; }
.sl3-topic-grid button:hover { text-decoration:underline; text-underline-offset:3px; }
.sl3-topic-grid article > a { display:inline-block; margin-top:8px; font-size:.72rem; color:var(--sl-muted); }
.sl3-shell .sl3-policy { font-size:.77rem; line-height:1.75; border-left:3px solid var(--sl-accent); padding:10px 15px; color:var(--sl-muted); margin:15px 0 22px; background:var(--sl-accent-soft); }
.sl3-groups { display:flex; gap:8px; padding-bottom:18px; }
.sl3-groups button { display:flex; align-items:center; justify-content:space-between; gap:18px; flex:1; min-height:58px; border:1px solid var(--sl-border); background:var(--sl-surface); color:var(--sl-muted); border-radius:11px; padding:13px 18px; font-size:.95rem; font-weight:650; }
.sl3-groups button span { font-size:.74rem; font-weight:500; opacity:.8; }
.sl3-groups button[aria-pressed="true"] { background:var(--sl-ink); color:var(--sl-surface); border-color:var(--sl-ink); }
.sl3-picker { max-width:440px; margin:5px 0 26px; }
.sl3-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.sl3-section-heading h2 { font-size:1.6rem; margin-bottom:10px; }
.sl3-section-heading > div:first-child { max-width:760px; }
.sl3-actions { display:flex; gap:18px; flex-shrink:0; }
.sl3-actions button { font-size:.78rem!important; }
.sl3-result { min-width:0; }
.sl3-critical { stroke:var(--sl-ink); stroke-width:2; stroke-dasharray:6 5; opacity:.8; }
.sl3-bar { fill:var(--sl-accent); opacity:.25; }
.sl3-selected-bar { fill:var(--sl-accent); opacity:.9; }
.sl3-shell textarea { resize:vertical; }
.sl3-shell #sl3-status { font-size:.8rem; color:var(--sl-accent); padding:14px 0; }
.sl3-result .sl2-work-step:first-of-type { border-top:1px solid var(--sl-border); padding-top:20px; }
.sl3-result .sl2-interval { min-height:100px; }
.sl3-fund-link { display:block; margin-top:9px; font-size:.85rem; }
@media(max-width:1000px){ .sl3-section-heading { flex-direction:column; gap:8px; } .sl3-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px){
 .sl3-heading { padding:4px 0 20px; }
 .sl3-groups button { font-size:.8rem; padding:12px; gap:7px; flex-direction:column; align-items:flex-start; }
 .sl3-section-heading h2 { font-size:1.35rem; }
 .sl3-topic-grid { padding:0 3px 8px; }
 .sl3-topic-grid article { padding:12px; }
 .sl3-topic-grid h3 { font-size:.82rem; }
 .sl3-topic-grid button { font-size:.76rem; min-height:42px; }
 .sl3-shell .sl3-policy { font-size:.72rem; }
}
@media(max-width:380px){ .sl3-topic-grid { grid-template-columns:1fr; } }
@media print { .sl3-groups,.sl3-map,.sl3-actions,.sl3-picker,#sl3-status,#sl3-clipboard { display:none!important; } .sl3-result { break-inside:auto; } }
/* New workbenches sit beside, not inside, the original .sl2-lab component. */
.sl3-shell pre.sl-formula { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; max-width:100%; margin:11px 0; }
@media(max-width:380px){ .sl3-result .sl2-metric strong { font-size:.84rem; } }
