/* One site header; course context lives inside the course. */
.platform-shell{min-height:100vh;--body:var(--sans);font-family:var(--sans);line-height:1.6}
.platform-content :is(.course-directory,.course-overview,.lesson-page){overflow-wrap:anywhere}
.platform-header{display:flex;align-items:center;gap:40px;padding:15px max(24px,4vw);border-bottom:1px solid var(--border);background:var(--panel)}
.platform-brand{font:600 23px/1.3 var(--display);letter-spacing:-.035em;white-space:nowrap;color:var(--fg)}
.platform-brand span{margin-right:10px;color:var(--selected-ink)}
.platform-header nav{display:flex;gap:8px;align-items:center;margin-left:auto}
.platform-header nav a{font-size:15px;color:var(--sub);padding:10px 16px;border-radius:6px;text-decoration:none}
.platform-header nav a:hover{background:var(--raised);color:var(--fg)}
.platform-header nav a[aria-current=page]{background:var(--selected);color:var(--selected-ink);font-weight:600}
.platform-header .theme-toggle{margin-left:12px;padding:9px 12px;font-size:12px;min-height:40px}
.platform-header .theme-track{display:none}
@media(max-width:1100px){.platform-header{flex-wrap:wrap;gap:12px}.platform-header nav{order:3;flex-basis:100%;margin-left:0}.platform-header .theme-toggle{margin-left:auto}}
.platform-editor-link{font-size:12px;white-space:nowrap;color:var(--sub);border-left:1px solid var(--border);padding-left:20px;text-decoration:none}
.platform-editor-link[aria-current=page]{color:var(--selected-ink);font-weight:600}
.draft-preview-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:13px 4vw;background:var(--selected);color:var(--fg);font-size:13px}
.draft-preview-bar a{color:var(--selected-ink)}
.draft-preview-bar a:first-of-type{margin-left:auto}
.cms-platform .platform-content{max-width:none;padding:22px 24px 50px}
.cms-platform .platform-header{padding-top:12px;padding-bottom:12px}
@media(max-width:800px){.platform-editor-link{margin-left:auto;border:0;padding-left:0}.platform-header .theme-toggle{margin-left:0}.cms-platform .platform-content{padding:16px 12px 35px}.draft-preview-bar{gap:10px 14px}.draft-preview-bar span{width:100%}.draft-preview-bar a:first-of-type{margin-left:0}}
.platform-content{max-width:1480px;margin:0 auto;padding:38px max(24px,4vw) 64px;min-width:0}
.platform-content:has(.lesson-page.lp-lab-mode){max-width:1680px;padding-top:22px}
.platform-content>.playground{max-width:1400px;margin:auto}
.platform-content .activity-catalog{padding:0}
.platform-content .activity-catalog h1{font-size:36px;line-height:1.2;margin:12px 0}
.platform-content .activity-catalog .ac-label,.platform-content .activity-catalog .ac-intro-actions,.platform-content .activity-catalog .ac-footer{display:none}
.platform-content .activity-catalog .ac-intro>p{font-size:16px;margin-bottom:24px}
.platform-content .activity-catalog .ac-save-note{margin:20px 0;padding:12px 16px}
.platform-content .activity-catalog .ac-grid{gap:16px}
.platform-content .activity-catalog .ac-card{padding:22px;border-radius:10px}
.platform-content .activity-catalog .ac-card h2{font-size:24px;line-height:1.25}
.platform-content .activity-catalog .ac-card>p{font-size:15px}
.platform-content .activity-catalog .ac-filters{margin-top:22px}
.platform-content .playground .pg-tabs{margin-top:18px}
.platform-content .playground .pg-section-heading h2{font-size:29px}
.platform-content .playground .pg-section-heading>div>p{font-size:15px}
.platform-content .playground .pg-intro h1{font-size:36px}
.platform-content .playground .pg-intro p{font-size:16px}
.platform-content .playground .ag-free{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin:8px 0 18px;font-size:14px}
.platform-content .playground .ag-free p{font-size:14px;color:var(--sub);margin:0}
.platform-content .playground .pg-card,.platform-content .genetics-tools .gt-card{border-radius:10px}
.platform-content .lp-main .adaptive-reading .ar-intro-compact{display:none}
.platform-content .lp-main .adaptive-reading .ar-controls{margin-top:0;padding:18px}
.platform-content .lp-main .adaptive-reading .ar-note{font-size:12px}
.platform-content .lp-main .adaptive-reading .ar-article-head h3{font-size:27px}
.platform-content .lp-main .adaptive-reading .ar-article-head>h3{display:none}
.lesson-page:not([data-lp-resource="overview"]) .lp-header h1{font-size:30px}
.platform-content .course-directory .cd-kicker{display:none}
.platform-content .lp-main .adaptive-reading .ar-article-head .ar-kicker{display:none}
.platform-content .lp-main .adaptive-reading .ar-layout{grid-template-columns:minmax(0,1fr) 235px;gap:30px}
.platform-content .lp-main .adaptive-reading .ar-companion{grid-column:2}
.platform-content .lp-main .adaptive-reading .ar-article{grid-column:1}
.platform-content .lp-main .adaptive-reading .ar-article-head{padding-bottom:18px}
/* A lesson has a stable unit outline and a single content area. */
.lesson-page{font:16px/1.65 var(--sans);color:var(--fg)}
.lesson-page *{box-sizing:border-box}
.lp-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--sub);margin-bottom:24px}
.lp-breadcrumb a{color:var(--selected-ink);text-decoration:none}
.lp-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:40px;align-items:start}
.lp-outline{position:sticky;top:24px;min-width:0}
.lp-outline>details{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:18px}
.lp-outline summary{font-size:14px;font-weight:600;cursor:pointer}
.lp-outline summary span{display:block;font-size:12px;font-weight:400;color:var(--sub);margin:5px 0}
.lp-course-return{display:block;font-size:13px;color:var(--selected-ink);margin:20px 0 12px}
.lp-outline h2{font:500 17px/1.4 var(--display);margin:16px 0}
.lp-outline ol,.lp-outline ul{list-style:none;margin:0;padding:0}
.lp-outline ol>li+li{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}
.lp-lesson-link{display:flex;gap:8px;padding:9px 0;color:var(--sub);font-size:14px;text-decoration:none;line-height:1.5}
.lp-lesson-link>span{font-size:11px;min-width:26px;padding-top:3px}
.lp-lesson-link.is-current{font-weight:600;color:var(--fg)}
.lp-material-nav{margin-left:26px!important;border-left:1px solid var(--border);padding-left:11px!important}
.lp-material-nav a{display:block;text-decoration:none;color:var(--sub);font-size:12px;line-height:1.5;padding:8px;border-radius:5px;margin:2px 0}
.lp-material-nav a>span{display:block;font-size:10px;color:var(--sub);margin-bottom:3px}
.lp-material-nav a[aria-current=page]{background:var(--selected);color:var(--selected-ink);font-weight:500}
.lp-material-nav a:hover{background:var(--raised)}
.lp-main{min-width:0}
.lp-header{margin:0 0 28px}
.lp-header>p{font-size:13px;color:var(--sub);margin:0 0 9px}
.lp-header h1{font:500 clamp(29px,3.2vw,40px)/1.2 var(--display);letter-spacing:-.04em;margin:0}
.lp-resource-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:23px 0 0;padding-top:20px;border-top:1px solid var(--border)}
.lp-resource-heading>a{font-size:13px;color:var(--selected-ink)}
.lp-resource-heading>span{font-size:11px;color:var(--sub);margin-left:auto}
.lp-resource-heading h2{font:500 23px/1.3 var(--display);flex-basis:100%;margin:0}
.lp-goal{font-size:18px;color:var(--sub);max-width:800px;margin:0 0 30px}
.lp-goal>strong{display:block;font-size:13px;color:var(--fg);margin-bottom:8px;font-weight:600}
.lp-overview h2{font:500 24px var(--display);margin:0 0 18px}
.lp-resource-list{border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow:hidden}
.lp-resource-list>a{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--fg);padding:22px}
.lp-resource-list>a+a{border-top:1px solid var(--border)}
.lp-resource-list>a:hover{background:var(--raised)}
.lp-resource-list small{display:block;font-size:11px;color:var(--selected-ink);margin-bottom:5px}
.lp-resource-list strong{font-size:18px;font-weight:500}
.lp-resource-list p{font-size:14px;line-height:1.6;color:var(--sub);margin:6px 0 0}
.lp-resource-icon{font-size:24px;color:var(--selected-ink);width:30px;flex-shrink:0;text-align:center}
.lp-resource-list b{margin-left:auto;color:var(--selected-ink);font-size:21px;font-weight:400}
.lp-background,.lp-planned-materials{margin-top:24px;border-top:1px solid var(--border);padding-top:18px;color:var(--sub);font-size:14px}
.lp-background summary,.lp-planned-materials summary{cursor:pointer;color:var(--fg);font-size:14px}
.lp-background p{margin:14px 0 0}.lp-planned-materials li{margin:12px 0}
.lp-planned{border:1px dashed var(--border);padding:25px;border-radius:10px;font-size:16px;color:var(--sub)}
.lp-planned h2{color:var(--fg);font-size:23px}
.lp-adjacent,.lp-resource-footer{display:flex;justify-content:space-between;align-items:start;gap:30px;border-top:1px solid var(--border);padding-top:23px;margin-top:38px;font-size:13px}
.lp-adjacent a,.lp-resource-footer a{color:var(--selected-ink);max-width:48%;text-decoration:none}
.lp-adjacent a:last-child,.lp-resource-footer a:last-child{text-align:right}
.lp-video{display:block;width:100%;max-height:600px;background:#0d1424;border-radius:10px}
.lp-draft-note{font-size:13px;color:var(--sub);margin:15px 0}
.lp-lab-mode .lp-layout{display:block}
.lp-lab-mode .lp-outline{position:static;margin-bottom:20px}
.lp-lab-mode .lp-outline>details{padding:12px 16px}
.lp-lab-mode .lp-outline summary span{display:inline;margin-left:12px}
.lp-lab-mode .lp-outline:has(details[open]){max-width:600px}
.lp-lab-mode .lp-header{margin-bottom:22px}
.lp-lab-mode .lp-header h1{font-size:29px}
.lp-lab-mode .lp-resource-heading h2{display:none}
.lp-lab-mode .lp-resource-heading{margin-top:14px;padding-top:13px}
.lp-lab-mode .playground .pg-learning-layout{margin:0 auto}
.lp-lab-mode .playground[data-guided-phase=observe] .pg-learning-layout{max-width:none}
.lp-lab-mode .lp-resource-footer{margin-top:25px}
.platform-not-found h1,.lp-not-found h1{font-size:34px}
.platform-not-found a,.lp-not-found a{color:var(--selected-ink)}
/* Existing sample content is now part of its biology lesson. */
.science-sample{font:16px/1.7 var(--sans);color:var(--fg)}
.science-sample>p{color:var(--sub);margin-top:0}
.sample-sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:25px;padding:22px;border:1px solid var(--border);background:var(--panel);border-radius:10px}
.sample-simulation canvas{width:100%;height:330px;display:block;border-radius:7px;background:#101e27}
.sample-counts{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--sub);margin-top:14px}
.sample-settings label{display:block;font-size:14px;color:var(--fg);margin-bottom:25px}
.sample-settings output{display:block;font:12px var(--mono);color:var(--sub);margin:8px 0}
.sample-settings input{width:100%;accent-color:var(--accent);margin-top:7px;min-height:24px}
.sample-controls{display:flex;gap:8px;flex-wrap:wrap}
.science-sample button{font:500 14px var(--sans);padding:12px 16px;background:var(--raised);color:var(--fg);border:1px solid var(--border);border-radius:6px;min-height:44px;cursor:pointer}
.sample-controls button:first-child,.science-sample .sample-primary{background:var(--accent);color:var(--button-ink);border-color:var(--accent)}
.sample-note{font-size:12px;color:var(--sub);margin:18px 0}
.sample-practice fieldset{border:1px solid var(--border);border-radius:10px;padding:22px;margin:0 0 24px;background:var(--panel)}
.sample-practice legend{padding:0 8px;font-weight:500;font-size:17px}
.sample-practice label{display:flex;gap:12px;align-items:start;padding:10px 0;font-size:16px;cursor:pointer}
.sample-practice input{margin-top:6px;accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}
.sample-feedback{border-left:3px solid var(--accent);padding:15px 20px;background:var(--raised);margin:16px 0;border-radius:0 6px 6px 0;font-size:15px}
.sample-feedback p{color:var(--sub);margin-bottom:0}
.platform-shell :is(a,button,input,select,summary,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:1100px){.lp-layout{grid-template-columns:215px minmax(0,1fr);gap:26px}.platform-content .lp-main .adaptive-reading .ar-layout{grid-template-columns:1fr}.platform-content .lp-main .adaptive-reading .ar-article,.platform-content .lp-main .adaptive-reading .ar-companion{grid-column:1}.sample-sim-layout{grid-template-columns:1fr}.sample-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sample-controls{grid-column:1/-1}.sample-settings label{margin:0}}
@media(max-width:800px){.platform-header{flex-wrap:wrap;gap:12px;padding:17px 5%}.platform-brand{font-size:22px}.platform-header nav{order:3;flex-basis:100%;margin:0;gap:8px}.platform-header nav a{padding:7px 14px;font-size:14px}.platform-header .theme-toggle{margin-left:auto}.platform-content{padding:25px 5% 45px}.lp-layout{display:block}.lp-outline{position:static;margin-bottom:25px}.lp-outline>details{padding:13px 16px}.lp-header h1{font-size:31px}.lp-resource-list>a{padding:19px 16px;gap:13px}.lp-resource-list strong{font-size:17px}.lp-resource-list p{font-size:14px}.lp-breadcrumb{font-size:12px;gap:7px}.lp-lab-mode .lp-outline{margin-bottom:18px}.lp-resource-footer{gap:15px;font-size:12px}.sample-simulation canvas{height:270px}.sample-sim-layout{padding:16px}.sample-practice fieldset{padding:18px 15px}.sample-practice legend{font-size:16px}.platform-content .lp-main .adaptive-reading .ar-controls{padding:15px}.platform-content .activity-catalog h1{font-size:32px}}
@media(max-width:760px){
 .platform-content .adaptive-reading .ar-article{order:0}
 .platform-content .adaptive-reading .ar-companion{order:1}
 .platform-content .adaptive-reading:not([data-ar-selected="true"]) .ar-definition{display:none}
 .platform-content .adaptive-reading[data-ar-selected="true"] .ar-definition{position:fixed;z-index:60;left:5vw;right:5vw;bottom:18px;max-height:50vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 50px #0005;padding:22px}
 .platform-content .adaptive-reading .ar-companion .ar-glossary{margin-top:15px}
}
