:root{font-family:'DM Sans',system-ui,sans-serif;color:#e8eeef;background:#0d141b;font-synthesis:none;--ink:#e8eeef;--muted:#a4b4be;--line:#283843;--accent:#79dfd1;--panel:#14202a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#172631;color:var(--ink);padding:.62rem .85rem;border-radius:8px;font-size:.875rem;min-height:40px}@media (hover:hover) and (pointer:fine){button:hover{background:#233844}}button.active,button[aria-pressed=true]{border-color:var(--accent);background:#25483f;color:#bcfff3}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #8ff8e7;outline-offset:3px}button:disabled{cursor:default;opacity:.5}a{color:#90e8da}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',system-ui,sans-serif;font-weight:600}h1{font-size:1.45rem;line-height:1.35;margin-bottom:1.7rem}h2{font-size:1.3rem;line-height:1.4}h3{font-size:1rem;line-height:1.4}p{font-size:1rem;line-height:1.65}small,.meta{font-size:.8125rem;color:var(--muted);line-height:1.55}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--accent);margin-bottom:.65rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--line);background:#101a22}.brand{display:flex;gap:.8rem;align-items:center}.brand-mark{font-family:'Manrope';display:grid;place-items:center;width:42px;height:42px;border:1px solid #518f87;border-radius:12px;color:var(--accent);font-weight:700}.brand strong{font-size:.8rem;letter-spacing:.12em;display:block}.brand span:not(.brand-mark){display:block;color:var(--muted);font-size:.875rem;margin-top:.25rem}.mode-switch{display:flex;gap:.3rem;background:#0c151c;padding:4px;border-radius:10px}.mode-switch button{border:0;min-width:86px}.quiet{background:transparent}.workspace{display:grid;grid-template-columns:220px minmax(330px,1fr) 335px;min-height:calc(100vh - 87px);max-width:1920px;margin:auto}.guide{padding:2rem 1.2rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.guide nav{display:flex;flex-direction:column;gap:.45rem}.topic{display:flex;text-align:left;gap:.7rem;align-items:center;border-color:transparent;background:transparent;border-radius:9px;padding:.8rem .65rem;line-height:1.45}.topic .number{color:#728c99;font-size:.75rem;min-width:1.25rem}.topic.active .number{color:var(--accent)}.guide-foot{font-size:.8125rem;color:var(--muted);margin:auto 0 0;padding-top:2rem;line-height:1.65}.viewer-panel{display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at 50% 45%,#1c303b 0%,#101a23 66%)}.stage-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:1.8rem 1.6rem .3rem;gap:1rem}.stage-heading h2{margin:0}.tag{color:var(--muted);font-size:.8125rem;white-space:nowrap;padding:.35rem .65rem;border:1px solid var(--line);border-radius:20px}#stage{position:relative;width:100%;height:clamp(380px,58vh,700px);min-height:360px}#stage canvas{width:100%;height:100%;display:block;touch-action:none}#loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#101a23}#loading[hidden]{display:none}#loading span{font-size:.875rem;color:var(--muted)}.loader{width:30px;height:30px;border:2px solid #2b4b54;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#canvas-label{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:90%;background:#102b31e8;border:1px solid #73c8b9;border-radius:8px;padding:.55rem .8rem;font-size:.875rem;text-align:center;pointer-events:none}.orientation{position:absolute;inset:50% 1.5rem auto;display:flex;justify-content:space-between;pointer-events:none;color:#8aa2af;font-size:.75rem}.camera-bar{display:flex;gap:.4rem;justify-content:center;padding:.5rem 1rem;flex-wrap:wrap}.camera-bar button{font-size:.8125rem;padding:.55rem .7rem}.layer-bar{padding:1.1rem 2rem .6rem;max-width:580px;width:100%;margin:0 auto}.layer-bar label{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.layer-bar output{color:var(--accent);text-align:right}.layer-bar input{width:100%;margin:1rem 0 .4rem;accent-color:var(--accent)}.layer-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.viewer-footer{display:flex;justify-content:center;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1rem 1.2rem 1.3rem;color:var(--muted);font-size:.75rem}.viewer-footer label{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;color:#c0d0d8;min-height:32px}.viewer-footer input{accent-color:var(--accent)}.study-panel{padding:2rem 1.5rem;background:#14202a;border-left:1px solid var(--line);min-width:0}.study-panel .lead{color:#c8d4dc}.study-panel .section{margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--line)}.study-panel .section p{font-size:.9375rem;color:#bbcdd7}.structure-list{display:flex;flex-direction:column;gap:.45rem}.structure-button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:43px}.structure-button .hint{font-size:.75rem;color:var(--muted)}.structure-button.selected{border-color:#79dfd1;background:#25483f}.primary{background:var(--accent);color:#0d2424;border-color:var(--accent);font-weight:600}@media (hover:hover) and (pointer:fine){.primary:hover{background:#a2f1e6}}.full{width:100%}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.note{color:#b9cbd7;background:#1a2c39;border-left:2px solid #5e91b3;padding:.85rem 1rem;font-size:.875rem;line-height:1.6;margin:1rem 0}.answer{border-left:2px solid var(--accent);padding:.8rem 1rem;background:#1b3535;font-size:.9375rem;line-height:1.6}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.8125rem;margin-bottom:1.2rem}.concept-panel{border-top:1px solid var(--line);padding:1.5rem 2rem;background:#111d26}.concept-panel h2{font-size:1.1rem}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.concept-cell{padding:1rem;border:1px solid var(--line);border-radius:10px}.concept-cell p{font-size:.9375rem}.layer-stack{display:flex;flex-direction:column;gap:.45rem}.layer-item{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .85rem;background:#223641;border-radius:5px;font-size:.875rem}.layer-item.muscle{background:#6b3d45}.layer-item.fascia{background:#35494e}.layer-item.highlight{background:#286256}.layer-item small{color:#d2dddf}.diagram-label{font-size:.8125rem;color:var(--muted);margin-bottom:.8rem}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:660px}.region-grid>div{min-height:70px;background:#203540;display:grid;place-items:center;text-align:center;font-size:.875rem;padding:.8rem}.correction{padding:.85rem 1rem;border-left:2px solid #d4ab65;background:#312c24;font-size:.875rem;line-height:1.6;color:#ecd8b6}dialog{color:var(--ink);background:#14202a;border:1px solid #47606f;border-radius:16px;max-width:760px;width:calc(100% - 2rem);padding:1.6rem;max-height:85vh}dialog::backdrop{background:#071017bb}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}dialog p,dialog li{font-size:.9375rem;line-height:1.65}dialog h3{margin-top:1.6rem}dialog ul{padding-left:1.2rem}.badge{font-size:.75rem;color:var(--muted);border:1px solid var(--line);padding:.2rem .45rem;border-radius:5px}.selection-card h3{margin-bottom:.5rem;color:var(--accent)}.selection-card p{font-size:.9375rem}.question-prompt{font-size:1.1rem;line-height:1.55}.empty-message{font-size:.875rem;color:var(--muted)}@media(min-width:1500px){.workspace{grid-template-columns:240px minmax(440px,1fr) 390px}.study-panel{padding:2rem}#stage{height:62vh}}@media(max-width:1120px){.workspace{grid-template-columns:180px minmax(290px,1fr) 290px}.guide{padding:1.5rem .8rem}.study-panel{padding:1.5rem 1rem}.topbar{padding:1rem}.stage-heading{padding:1.5rem 1rem .5rem}.guide h1{font-size:1.25rem}.layer-bar{padding-left:1.2rem;padding-right:1.2rem}}@media(max-width:900px){.workspace{grid-template-columns:minmax(320px,1fr) 300px}.guide{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);padding:1rem}.guide>.eyebrow,.guide h1,.guide-foot{display:none}.guide nav{flex-direction:row;flex-wrap:wrap;gap:.2rem}.topic{padding:.5rem .65rem}.topic .number{display:none}#stage{height:480px}.topbar .quiet{font-size:.8125rem}}@media(max-width:650px){.topbar{flex-wrap:wrap;gap:.75rem}.brand{flex:1 1 70%}.topbar>.quiet{order:2}.mode-switch{order:3}.workspace{display:flex;flex-direction:column}.guide{order:0}.topic{font-size:.8125rem}.viewer-panel{order:1}.study-panel{order:2;border-left:0;border-top:1px solid var(--line);padding:1.5rem}#stage{height:430px}.concept-grid{grid-template-columns:1fr}.concept-panel{padding:1.5rem}.stage-heading{padding:1.3rem 1.2rem .4rem}.camera-bar{gap:.3rem}.camera-bar button{padding:.5rem .6rem}.viewer-footer>span{flex-basis:100%;text-align:center}.region-grid>div{padding:.65rem .35rem;font-size:.8125rem}.tag{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.loader{animation:none}}
[hidden]{display:none!important}
.walk-progress{display:flex;justify-content:space-between;gap:.5rem;font-size:.8125rem;color:var(--muted)}
.walk-meter{display:block;width:100%;height:5px;margin:.7rem 0 1.4rem;accent-color:var(--accent);border:0;border-radius:8px;overflow:hidden;background:#293e48}
.walk-meter::-webkit-progress-bar{background:#293e48}.walk-meter::-webkit-progress-value{background:var(--accent)}
.walk-intro{font-size:.875rem;color:var(--muted);line-height:1.55}
.walk-facts{padding-left:1.2rem;margin:0}.walk-facts li{font-size:.9375rem;line-height:1.65;margin:.8rem 0;color:#ccdbe0}
.walk-selection{border-left:2px solid var(--accent);padding:.8rem;margin:1rem 0;background:#1b3535}.walk-selection h3{color:var(--accent);margin-bottom:.5rem}.walk-selection p{font-size:.875rem}
.walk-coverage{margin-top:1rem}.walk-coverage p{font-size:.8125rem;color:var(--muted);margin:.65rem 0}
.walk-navigation{display:flex;justify-content:space-between;gap:.5rem;margin:1.5rem 0 .7rem}
.dissection-controls{margin:1rem 1.2rem 0;padding:1rem;background:#101c25d9;border:1px solid #334750;border-radius:12px}
.peel-heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;font-size:.875rem}
.peel-heading output{color:var(--accent);margin-left:.3rem}
.side-control{display:flex;gap:.5rem;align-items:center;color:var(--muted)}
.side-control select{background:#1a2a34;color:var(--ink);border:1px solid #435960;border-radius:6px;padding:.4rem;min-height:36px;max-width:100%}
#layer{width:100%;accent-color:var(--accent);margin:1rem 0 .5rem;cursor:pointer}
.layer-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}
.layer-steps button{font-size:.875rem;line-height:1.3;padding:.45rem .3rem;background:transparent;border-color:transparent}
.layer-steps button.active{background:#25483f;border-color:#579e92}
.tissue-controls{display:flex;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.6rem;border-top:1px solid var(--line);padding-top:.6rem}
.tissue-controls label{display:flex;align-items:center;gap:.35rem;font-size:.875rem;min-height:30px;cursor:pointer}
.tissue-controls input{accent-color:var(--accent);width:16px;height:16px}
.view-status{font-size:.875rem;line-height:1.5;text-align:center;color:var(--muted);padding:.3rem 1.2rem;margin:0}
.coverage-note{font-size:.875rem;line-height:1.55;color:#d1dce0;padding:.8rem;background:#1b303a;border-left:2px solid #5c8e9c;margin:1rem 0 0}
.viewer-footer{padding:.65rem 1rem .9rem;font-size:.8125rem}
#stage{height:clamp(370px,49vh,650px);min-height:370px;flex:1 0 370px}
.workspace{height:auto;min-height:calc(100vh - 87px)}
.camera-bar button{font-size:.875rem;min-width:46px}
@media(min-width:901px){.workspace{grid-template-columns:200px minmax(360px,1fr) 315px;min-height:810px;height:calc(100vh - 87px)}.guide,.study-panel{max-height:max(810px,calc(100vh - 87px))}.study-panel{padding:1.5rem 1.1rem}.viewer-panel{min-height:810px}}
@media(min-width:1500px){.workspace{grid-template-columns:220px minmax(440px,1fr) 370px}}
@media(max-width:900px){.guide nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.topic{white-space:nowrap;flex-shrink:0}.guide{padding:.6rem .8rem}.stage-heading{padding-top:1rem}.tag{font-size:.75rem}.dissection-controls{margin:.8rem .8rem 0;padding:.8rem}.peel-heading{align-items:flex-start}.layer-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tissue-controls{gap:.3rem .7rem}#stage{height:470px;flex:0 0 470px;min-height:0}.viewer-panel{min-height:0}}
@media(max-width:650px){.workspace{min-width:0}.mode-switch{order:initial}.topbar{padding:.8rem}.brand{flex:1 1 65%}.topbar>.quiet{font-size:.8rem}.stage-heading{align-items:center}.stage-heading h2{font-size:1.2rem}.layer-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.layer-steps button{font-size:.8125rem}#stage{height:420px;flex-basis:420px}.view-status{font-size:.8125rem}.concept-grid{gap:1rem}.layer-item{flex-wrap:wrap}}
summary{cursor:pointer;font-size:.875rem;line-height:1.5;color:#c7d9e2}
@media(min-width:901px){.guide,.study-panel{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#38525f transparent}}
/* Keep the specimen visible alongside its layer controls on laptop-sized panes. */
@media(max-width:900px){.dissection-controls{padding:.65rem;margin:.5rem .8rem 0}.layer-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.layer-steps button{font-size:.8125rem;padding:.3rem .2rem}#layer{margin:.6rem 0 .3rem;height:12px}.tissue-controls{margin-top:.4rem;padding-top:.35rem}.tissue-controls label{font-size:.8125rem;min-height:28px}.stage-heading{padding-top:.8rem}.stage-heading .eyebrow{margin-bottom:.3rem}#stage{height:370px;flex-basis:370px}}
@media(max-width:650px){#stage{height:380px;flex-basis:380px}.peel-heading{font-size:.8125rem}.tissue-controls{gap:.3rem .6rem}}
.quiz-sets{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}.quiz-sets button{flex:1;font-size:.875rem;padding:.55rem .4rem}.clinical-entry{margin:.6rem 0}.answer-sources{margin-top:.8rem}.answer-sources p{margin:.5rem 0;font-size:.875rem}
/* Original course figures stay beside the 3D model, at their own aspect ratio. */
.topbar-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.picture-heading{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;margin-bottom:.5rem}.picture-heading h2{margin-bottom:.5rem}.picture-heading button{font-size:.8rem}
.picture-picker{display:grid;grid-template-columns:45px minmax(0,1fr);gap:.65rem;align-items:center;margin:.65rem 0;font-size:.8125rem;color:var(--muted)}
.picture-picker select{min-width:0;width:100%;padding:.65rem .5rem;border:1px solid #435960;border-radius:7px;background:#1a2a34;color:var(--ink);font-size:.875rem}
.picture-navigation{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.7rem 0 1rem}.picture-navigation button{font-size:.8125rem;padding:.4rem .7rem}
.picture-title{margin-bottom:.35rem}.figure-image-button{display:block;width:100%;padding:0;overflow:hidden;background:#fff;border-color:#a8b8bd;border-radius:9px}@media (hover:hover) and (pointer:fine){.figure-image-button:hover{background:#fff}}.figure-image-button img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#fff;padding:8px}.figure-image-button span{display:block;padding:.4rem;font-size:.75rem;background:#243842;color:#d0e7eb}
.figure-caption{font-size:.875rem!important;line-height:1.55;margin: .8rem 0;color:#c4d2da}.figure-legend{margin:1rem 0}.figure-legend h3{font-size:.875rem;margin-bottom:.4rem}.figure-legend ul{padding-left:1.2rem;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;font-size:.8125rem;line-height:1.5;color:#c2d4dd}
.study-panel .figure-links{margin-top:1rem;padding-top:.9rem}.mapping-note{border-left:2px solid var(--accent);padding:.65rem .8rem;background:#1b3535;font-size:.875rem!important;margin:.65rem 0}.figure-details{margin:1rem 0}.figure-details p{font-size:.875rem;margin:.6rem 0}.figure-credit{font-size:.7rem;line-height:1.5;color:var(--muted);margin:1rem 0 0}.empty-picture{margin-top:2rem}.empty-picture p{font-size:.9375rem}
#figure-dialog{max-width:1000px}#figure-enlarged>img{display:block;background:white;padding:12px;max-width:100%;width:auto;height:auto;max-height:65vh;object-fit:contain;margin:0 auto 1rem}#figure-enlarged .figure-legend{max-width:680px}
@media(min-width:651px){.workspace.figures-open{grid-template-columns:minmax(310px,1fr) minmax(300px,.95fr)}.figures-open>.guide{display:none}.figures-open>.study-panel{padding:1.2rem;overflow-y:auto;max-height:max(810px,calc(100vh - 87px))}.figures-open>.viewer-panel{min-height:810px}.figures-open #stage{flex:1 0 370px}}
@media(min-width:1200px){.workspace.figures-open{grid-template-columns:minmax(400px,1fr) 500px}.figure-image-button img{max-height:480px}}
@media(max-width:650px){.topbar-actions{width:100%;justify-content:space-between}.topbar-actions button{font-size:.8125rem}.figure-legend ul{grid-template-columns:1fr}.figure-image-button img{max-height:480px}.figures-open .study-panel{padding:1.1rem}.picture-heading button{max-width:110px}.picture-picker{grid-template-columns:43px minmax(0,1fr)}}
@media(min-width:651px){.figure-image-button img{max-height:320px}.picture-navigation{margin:.5rem 0 .7rem}.picture-heading{margin-bottom:0}.picture-heading .eyebrow{margin-bottom:.35rem}.figure-caption{font-size:.8125rem!important}.figures-open .structure-button{min-height:39px;padding:.5rem .7rem}}
#figure-enlarged>img{width:100%;height:65vh;max-height:65vh}
/* Five-lab navigation and exam preparation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{min-width:0}.lab-picker select{display:block;max-width:270px;margin-top:.3rem;background:#101a22;border:1px solid #3b5261;border-radius:6px;color:#d5e3e9;padding:.35rem .5rem;font-size:.85rem;min-height:36px}.mode-switch button{min-width:70px}.topbar{flex-wrap:wrap;gap:.65rem}.topbar-actions button{font-size:.8125rem;padding:.55rem .7rem}
.region-controls{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;padding:.8rem 1.3rem;border-bottom:1px solid var(--line);font-size:.8125rem}.region-controls label{display:flex;gap:.4rem;align-items:center;min-height:32px}.region-controls input{accent-color:var(--accent)}.region-controls button{font-size:.8125rem}
#quiz-pin{position:absolute;width:10px;height:10px;border:2px solid white;background:#d24437;border-radius:50%;z-index:4;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 1px #4b1c15}
#quiz-pin:before{content:"";position:absolute;width:26px;height:2px;background:#fff;left:4px;top:3px;transform:rotate(-55deg);transform-origin:left center;box-shadow:0 1px 1px #18232c}
#quiz-pin span{position:absolute;left:16px;bottom:21px;display:grid;place-items:center;width:26px;height:27px;border-radius:6px;background:#f2f5f5;color:#17262c;border:1px solid #223b47;font-weight:700;font-size:15px}
.quiz-filters{display:grid;grid-template-columns:1fr;gap:.35rem;margin:.6rem 0 1.1rem;font-size:.8rem;color:var(--muted)}.quiz-filters select{width:100%;background:#182b36;border:1px solid #45606c;color:var(--ink);border-radius:7px;min-height:39px;padding:.5rem;margin-bottom:.35rem}
.question-kind{color:var(--accent);font-size:.8125rem;margin-bottom:.7rem}.answer-label{display:block;font-size:.875rem;margin:1rem 0 .45rem}#station-answer{width:100%;resize:vertical;background:#0f1d26;border:1px solid #49616e;border-radius:8px;padding:.8rem;color:var(--ink);font:inherit;font-size:1rem;line-height:1.5}#station-answer:read-only{color:#b6c7d0}.answer-explanation{margin:1rem 0}.answer-explanation p{font-size:.9rem;line-height:1.6}.self-mark{display:flex;gap:.5rem}.self-mark button{flex:1}.sample-prompt{border-left:2px solid #5e938d;padding-left:.75rem;font-size:.9rem;color:#d3e6ea}.answer p:last-child{margin-bottom:0}
.prep-panel{max-width:1320px;margin:0 auto;padding:2.5rem 2rem 4rem}.prep-header{max-width:850px}.prep-header h1{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:1rem}.prep-header p{color:#c0d0da}.prep-section{margin-top:2rem;padding-top:1.7rem;border-top:1px solid var(--line)}.prep-section>p{max-width:1000px;color:#b9cbd4}.prep-section h2{margin-bottom:1rem}.prep-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.prep-types article h3{color:var(--accent);margin-bottom:.65rem}.prep-types p{font-size:.9375rem}.study-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;margin-bottom:1.5rem}.study-sequence article>span{display:block;font-size:1.6rem;color:#6b9b98;margin-bottom:.8rem}.study-sequence p{font-size:.9rem;color:#c0d1d7}.prep-labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem}.prep-lab{border:1px solid var(--line);padding:1.3rem;border-radius:12px;background:#121f28}.prep-lab>h3{color:var(--accent)}.prep-lab details{border-top:1px solid var(--line);padding:.8rem 0}.prep-lab details summary{font-size:.95rem}.prep-lab details p{font-size:.875rem;line-height:1.6;margin:.7rem 0}.prep-lab>button{margin-top:.8rem}.concept-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.concept-cell .layer-item{line-height:1.55}
@media(max-width:900px){.topbar{align-items:center}.topbar .brand{flex:1}.lab-picker select{max-width:250px}.topbar-actions{margin-left:auto}.prep-types{grid-template-columns:repeat(2,minmax(0,1fr))}.study-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-panel{padding:1.6rem 1.2rem}.prep-labs{gap:1rem}.region-controls{padding:.6rem .8rem}}
@media(max-width:650px){.brand{flex:1 1 100%}.lab-picker select{max-width:100%;width:100%}.brand>div{min-width:0;flex:1}.mode-switch{width:100%;justify-content:space-between}.mode-switch button{flex:1}.topbar-actions{margin:0}.prep-labs,.prep-types,.study-sequence{grid-template-columns:1fr}.study-sequence{gap:.5rem}.study-sequence article{padding:.6rem 0;border-top:1px solid var(--line)}.prep-panel{padding:1.3rem 1rem}.prep-lab{padding:1rem}.quiz-filters select{font-size:1rem}.region-controls{font-size:.8rem}.layer-stack{overflow-wrap:anywhere}}
@media(min-width:651px){.workspace.quiz-active{grid-template-columns:minmax(350px,1fr) minmax(320px,.65fr)}.quiz-active>.guide{display:none}}
@media(max-width:650px){.quiz-active>.guide{display:none}}
/* Fit the model and camera controls within a typical laptop viewport. */
#pin-status{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:max-content;max-width:90%;padding:.55rem .8rem;border-radius:8px;background:#142630e8;color:#cbdce4;font-size:.8125rem;text-align:center;pointer-events:none}
textarea:focus-visible{outline:2px solid #8ff8e7;outline-offset:3px}
@media(min-width:901px){
  .workspace{height:calc(100dvh - 94px);min-height:620px}
  .viewer-panel,.figures-open>.viewer-panel{min-height:620px}
  .guide,.study-panel,.figures-open>.study-panel{max-height:max(620px,calc(100dvh - 94px))}
  #stage,.figures-open #stage{height:auto;min-height:250px;flex:1 1 250px}
  .stage-heading{padding:1.1rem 1.2rem .3rem}
  .dissection-controls{padding:.65rem;margin:.6rem 1rem 0}
  #layer{margin:.55rem 0 .3rem}
  .tissue-controls{margin-top:.4rem;padding-top:.4rem;gap:.3rem .7rem}
  .tissue-controls label{min-height:26px;font-size:.8125rem}
  .layer-steps button{font-size:.8125rem;padding:.35rem .25rem}
  .viewer-footer{padding:.4rem 1rem .7rem}
}
/* Course landing page: active courses and clearly labelled future sections. */
.brand strong #course-name{display:block;color:#97b3bb;font-family:'DM Sans',system-ui,sans-serif;font-size:.65rem;letter-spacing:.1em;font-weight:500;margin-top:.2rem}
.home-panel{max-width:1320px;margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 2rem 2rem}
.home-hero{max-width:820px;margin-bottom:2.8rem}.home-hero h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:1rem}.home-hero p{color:#b3c9d1;font-size:1.05rem}
.course-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.course-card{--course-color:#79dfd1;position:relative;border:1px solid #31524f;border-radius:18px;padding:1.7rem;background:linear-gradient(135deg,#19312f,#132027 65%);overflow:hidden}
.course-card.coral{--course-color:#f0a59c;border-color:#5d423f;background:linear-gradient(135deg,#35292b,#18212a 65%)}
.course-card.blue{--course-color:#a2c3df;background:linear-gradient(135deg,#1b2935,#131e26)}.course-card.lavender{--course-color:#c9b5df;background:linear-gradient(135deg,#282535,#151e27)}
.course-card.pending{border-color:#2b3b47;padding:1.4rem 1.7rem}
.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.course-card svg{width:50px;height:50px;fill:none;stroke:var(--course-color);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.course-badge{font-size:.75rem;letter-spacing:.02em;border:1px solid #47616a;border-radius:20px;padding:.4rem .65rem;color:#c0d0d8}
.course-card h2{font-size:1.75rem;letter-spacing:-.02em;margin-bottom:.3rem;color:var(--course-color)}.course-subtitle{font-size:.95rem;margin-bottom:.8rem;color:#dee7e9}.course-description{font-size:.9375rem;line-height:1.6;max-width:460px;color:#b2c4cc;margin-bottom:1.1rem}.course-count{font-size:.8125rem;color:#a5bfc6;margin:1rem 0}
.course-open{background:var(--course-color);border-color:var(--course-color);color:#12282b;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.95rem;font-weight:600;padding:.8rem 1rem;border-radius:9px}@media (hover:hover) and (pointer:fine){.course-open:hover{background:#e1efeb;border-color:#e1efeb}}.course-open:disabled{opacity:.45;cursor:wait}
.course-pending{font-size:.8rem;color:#8fa7b4;margin:0}.pending .course-card-top{margin-bottom:.6rem}.pending svg{width:35px;height:35px}.pending h2{font-size:1.35rem}.pending .course-description{margin-bottom:.65rem}
.home-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.home-footer p{font-size:.8rem;color:#90aab6;line-height:1.5;margin-bottom:.4rem}
@media(max-width:750px){.home-panel{padding:2rem 1.1rem}.home-hero{margin-bottom:1.7rem}.course-cards{grid-template-columns:1fr}.course-card,.course-card.pending{padding:1.4rem}.home-footer{gap:.3rem}.topbar-actions{gap:.35rem}}
@media(min-width:901px){.topbar{padding:.8rem 1.2rem}.topbar-actions button{padding:.5rem .6rem}.lab-picker select{max-width:270px}.home-panel{padding-top:2.5rem}.home-hero{margin-bottom:2rem}.course-card{padding:1.3rem 1.5rem}.course-card-top{margin-bottom:.8rem}.course-card.pending{padding:1.1rem 1.5rem}}
/* Keep course navigation intact when the Codex side panel narrows the preview. */
.topbar>.brand{flex-shrink:0}.brand-mark{flex-shrink:0}
@media(min-width:901px){.workspace{height:calc(100dvh - var(--header-height,94px))}.guide,.study-panel,.figures-open>.study-panel{max-height:max(620px,calc(100dvh - var(--header-height,94px)))}}
@media(min-width:651px) and (max-width:1200px){.topbar{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:center}.topbar>.brand{grid-column:1}.topbar>.mode-switch{grid-column:2}.topbar>.topbar-actions{grid-column:1/-1;justify-content:flex-end}.lab-picker select{max-width:290px}}
@media(min-width:651px) and (max-width:900px){
 .workspace{height:calc(100dvh - var(--header-height,150px));min-height:640px;grid-template-rows:auto minmax(0,1fr)}
 .workspace.quiz-active,.workspace.figures-open{grid-template-rows:minmax(0,1fr)}
 .viewer-panel,.figures-open>.viewer-panel{min-height:0}
 #stage,.figures-open #stage{height:auto;flex:1 1 250px;min-height:250px}
 .study-panel,.figures-open>.study-panel{max-height:100%;overflow-y:auto;scrollbar-width:thin}
 .viewer-footer{padding:.4rem .8rem}.view-status{font-size:.8rem}.camera-bar{padding:.4rem .7rem}
}

@media(min-width:651px) and (max-width:760px){.topbar>.mode-switch{grid-column:1/-1;justify-content:center}.mode-switch button{flex:1}.topbar>.topbar-actions{justify-content:flex-start}}
@media(max-width:650px){.mode-switch button{min-width:0;padding:.6rem .45rem;font-size:.8125rem}}

.atlas-note{margin:0;padding:8px 16px;color:var(--muted,#b6c5c8);font-size:11px;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}
