:root{--ui-dark:#0a0a0a;--ui-dark2:#1a1a1a;--ui-dark3:#333333;--accent:#3b82f6;--violet:#8b5cf6;--amber:#fbbf24;--ok:#22c55e;--bad:#ef4444;--text-light:#f0f0f0;--text-dim:#888888;--mono:'SF Mono','Cascadia Mono','Consolas',ui-monospace,monospace;--rainbow:linear-gradient(90deg,#7AC143,#F7941E,#ED1C45,#EC008C,#92278F,#2E3192,#00AEEF)}
*{box-sizing:border-box}body{margin:0;background:var(--ui-dark);color:var(--text-light);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background-image:radial-gradient(900px 480px at 50% -8%,rgba(59,130,246,.1),transparent 70%),radial-gradient(700px 420px at 90% 110%,rgba(139,92,246,.08),transparent 70%)}
button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{background:#20232b;color:#e1e4ec;border:1px solid #3b404b;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:650}button:hover{background:#303847;border-color:#7493bd}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true],button.selected{background:#223a58;border-color:#6ba5ef;color:#e4f1ff}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,#viewport:focus-visible{outline:3px solid #83b9ff;outline-offset:3px}a{color:#9fc7fb}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:5px 0 8px}h2{font-size:18px}h3{font-size:18px}p+p{margin-top:10px}[hidden]{display:none!important}
#topbar{min-height:64px;padding:12px 28px;display:flex;align-items:center;gap:22px;position:relative;flex-wrap:wrap}#topbar:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--rainbow)}.back{font-size:12px;text-decoration:none;color:#c0c8d6}.brand{width:100px;height:28px}.program,.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#9ba9bc}.program{font-size:9px}main{max-width:1680px;margin:auto;padding:28px}.intro-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.subtitle{color:#a9b2c2}.lab-progress{min-width:185px;font:11px var(--mono);color:#c0cad8}progress{display:block;width:100%;height:5px;border:0;margin-top:12px;background:#303440;border-radius:10px}progress::-webkit-progress-bar{background:#303440;border-radius:10px}progress::-webkit-progress-value{background:var(--rainbow);border-radius:10px}progress::-moz-progress-bar{background:#00aeef}
#scene-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}#scene-tabs button{padding:11px 16px;display:flex;align-items:center;gap:9px}#scene-tabs .scene-number{font:10px var(--mono);color:#b1bed1}#scene-tabs .scene-done{color:#90e4b2}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:18px;align-items:start}.model-panel,.learning-panel{border:1px solid #303641;border-radius:14px;overflow:hidden;background:#15191f}.model-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;gap:12px}.model-heading h2{margin-top:2px}.pill{font-size:10px;white-space:nowrap;border:1px solid #475161;padding:5px 9px;border-radius:999px;color:#bdc9dc}
#viewport{height:clamp(430px,58vh,720px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#293342,#151b25);touch-action:none}#viewport canvas{width:100%;height:100%;display:block}#markers{position:absolute;inset:0;pointer-events:none;z-index:2}.marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;border-radius:999px;padding:3px;display:flex;gap:5px;align-items:center;border:1px solid #aab7c7;background:#161f2de8;color:#ecf3ff;white-space:nowrap;font-size:10px;box-shadow:0 2px 8px #0009;min-height:27px}.marker .number{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#dce8f6;color:#111d2e;font:700 10px var(--mono)}.marker .marker-name{padding-right:7px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.marker.selected{z-index:4!important;background:#234c72;border-color:#9ed7ff;outline:2px solid #77b5f455}.marker.correct .number{background:#a2e4be}.marker.incorrect .number{background:#ffbaaa}.view-note{position:absolute;left:16px;bottom:14px;font:9px var(--mono);letter-spacing:1.6px;color:#aebcd0;pointer-events:none;z-index:1}.view-note span{display:block;font:10px/1.6 system-ui;letter-spacing:0;color:#91a1b8}#scene-status{position:absolute;inset:40% 0 auto;text-align:center;color:#bbc9de}#model-error{position:absolute;z-index:5;inset:15%;background:#1b2330;padding:24px;border:1px solid #6b819f;border-radius:12px}#model-error p{margin:12px 0}#flight-pad{position:absolute;z-index:3;bottom:14px;right:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#flight-pad button{padding:7px;font-size:10px;background:#182638dc;touch-action:none;user-select:none}.view-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 8px}.button-group{display:flex;gap:5px;flex-wrap:wrap}.button-group button{font-size:11px;padding:7px 9px}.toggle{margin-left:auto;color:#b8c5d5;font-size:11px;display:flex;gap:5px;align-items:center}.toggle input{accent-color:#6fafff}.navigation-help{padding:4px 16px 14px;color:#9daec5;font-size:11px}.space-note{border-top:1px solid #303641;padding:18px 20px;font-size:13px;color:#d2dae6}.space-note p+p{font-size:12px;color:#9facc1}
.learning-panel{background:#171b23;padding:18px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;background:#10141b;padding:4px;border-radius:10px;gap:4px;margin-bottom:20px}.mode-tabs button{border-color:transparent;background:none}.mode-tabs button[aria-pressed=true]{background:#2e394b;border-color:#53667e}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-title span{font:10px var(--mono);color:#a6b6ca}.muted{color:#aab7ca;font-size:12px;margin:9px 0 15px}.small{font-size:11px;margin:15px 0 0}#part-detail{border:1px solid #3a475c;border-left:3px solid #80b7ee;border-radius:10px;padding:16px;background:#1e2735;margin-top:14px}#part-detail h3{margin:5px 0 10px}#part-description{font-size:13px;color:#dae2ef}.look{font-size:12px;color:#aebfd8;border-top:1px solid #3a475c;padding-top:12px;margin-top:14px!important}#focus-part{margin-top:14px}.tour-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:14px 0}.tour-controls button{font-size:11px;padding:8px}#tour-position{font:10px var(--mono);color:#bac7d9}#parts-list{display:flex;flex-direction:column;gap:5px;max-height:340px;overflow:auto;padding:3px}.part-row{text-align:left;display:flex;gap:10px;align-items:center;background:#181f29;font-size:12px;min-height:39px;border-color:#303b4c}.part-row .part-index{color:#adbad0;font:10px var(--mono);min-width:18px}.part-row .visited{margin-left:auto;color:#90e4b2;font-size:11px}.quiz-target{padding:13px;border:1px solid #5f7da5;background:#21314a;border-radius:10px}.quiz-target h3{font-size:15px;margin:4px 0 10px}.target-actions{display:flex;gap:6px}#quiz-targets{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:14px 0}#quiz-targets button{padding:7px 2px;position:relative;font:12px var(--mono)}#quiz-targets .assigned{box-shadow:inset 0 -3px #90b8ea}#quiz-targets .correct{background:#163c30;border-color:#69b794}#quiz-targets .incorrect{border-color:#e49684;box-shadow:inset 0 -3px #e49684}.bank-title{font-size:13px;margin:14px 0 8px}.bank-title span{display:block;color:#98aac3;font-size:10px;font-weight:400}#word-bank{display:flex;gap:6px;flex-wrap:wrap;max-height:300px;overflow:auto;padding:3px}#word-bank button{font-size:11px;padding:7px 9px;background:#202937}#word-bank .used{border-style:dashed;color:#aab8cd}#word-bank .current{border-color:#80b8ff;background:#2a4363;color:#fff}.primary{background:#2763a9;border-color:#729ed7;width:100%;padding:11px;margin-top:9px}.quiz-footer{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.quiz-footer button{font-size:11px}#quiz-feedback{font-size:12px;margin-top:12px;color:#d8e6fa}#quiz-feedback.success{color:#9fe4b9}.about{margin:24px 0;color:#a2b0c6;font-size:12px;max-width:1050px}.about summary{cursor:pointer;color:#cad5e6}.about p{margin-top:12px}footer{margin:24px auto 32px;text-align:center;font:10px var(--mono);color:#93a0b5}footer:before{content:'';display:block;width:120px;height:2px;background:var(--rainbow);margin:0 auto 14px}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 390px}}@media(max-width:1100px){main{padding:20px}.workspace{grid-template-columns:minmax(0,1fr) 325px}.pill{display:none}.view-controls{gap:8px}.program{display:none}.marker .marker-name{max-width:120px}}@media(max-width:820px){.workspace{grid-template-columns:1fr}.learning-panel{padding:18px}#parts-list{max-height:270px}#viewport{height:490px}#word-bank{max-height:none}.intro-row{align-items:flex-start}.lab-progress{min-width:140px;max-width:150px}h1{font-size:28px}#topbar{gap:12px;padding:12px 18px}#quiz-targets{grid-template-columns:repeat(10,1fr)}}@media(max-width:520px){main{padding:18px 12px}.intro-row{display:block;margin-bottom:18px}.lab-progress{max-width:none;margin-top:16px;font-size:10px}h1{font-size:27px}.subtitle{font-size:12px}#scene-tabs{gap:6px}#scene-tabs button{font-size:11px;padding:8px 9px}#viewport{height:420px}.model-heading{padding:13px 14px}.model-heading h2{font-size:16px}.space-note{padding:16px}.view-note{left:10px;bottom:10px;font-size:8px}.view-note span{max-width:140px;font-size:9px}#flight-pad{right:8px;bottom:8px}#flight-pad button{font-size:9px;padding:6px}.marker .marker-name{max-width:106px}#quiz-targets{grid-template-columns:repeat(7,1fr)}#model-error{inset:10%;padding:18px}.toggle{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-tabs button{padding:8px 5px;font-size:11px}.layout-prompt{margin:14px 0 8px;font-size:16px;color:#d8e8ff}.layout-tools{margin-bottom:12px}.layout-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.layout-options label{font-size:11px;color:#b7c7df}.layout-options select{display:block;margin-top:4px;width:100%;min-width:0;padding:8px 4px;border:1px solid #4a5d77;border-radius:6px;background:#172131;color:#e1ecfb;font:11px system-ui}.plan-heading{display:flex;justify-content:space-between;font-size:11px;margin:14px 0 7px;color:#bacde6}#layout-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:6px;border:1px solid #596b82;border-radius:8px;background:#0f1723}.layout-cell{min-width:0;aspect-ratio:1;padding:0;border:1px solid #39495e;border-radius:3px;background:#1b293c;color:#93a7c3;font-size:17px}.layout-cell.stage-cell{background:#947047;border-color:#d8af77;color:#fff3dc;font-size:10px}.layout-cell.audience-cell{background:#315c8c;border-color:#83bcf5;color:#eaf4ff;font-size:23px}.layout-cell:disabled{opacity:1}#layout-preview{margin-top:12px}#layout-feedback{margin-top:14px;font-size:12px;color:#d3e3f7}#layout-feedback.success{color:#9fe4b9}select:focus-visible{outline:3px solid #83b9ff;outline-offset:2px}
.space-note summary{cursor:pointer;color:#bbcce4;font-size:12px}.space-note p:first-of-type{margin-top:10px}
/* Keep the 3D room and scrollable activity beside each other on small Chromebooks. */
@media(min-width:821px) and (max-height:850px){
  #topbar{min-height:48px;padding:8px 18px}main{padding:14px 18px}.intro-row{margin-bottom:12px;gap:14px}.intro-row h1{font-size:25px;margin:3px 0 5px}.subtitle{font-size:12px}.intro-row .eyebrow{font-size:9px}#scene-tabs{gap:6px;margin-bottom:12px}#scene-tabs button{padding:7px 10px;font-size:11px}.workspace{gap:12px;grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;height:calc(100dvh - 207px);min-height:340px}.model-panel{display:flex;flex-direction:column;min-width:0;height:100%}.model-heading{padding:10px 14px;flex:none}.model-heading h2{font-size:16px}#viewport{height:auto;min-height:170px;flex:1}.view-controls{flex:none;padding:9px 12px 4px;gap:6px}.view-controls .button-group button{padding:6px 8px}.navigation-help{flex:none;padding:4px 12px 9px;font-size:10px}.space-note{flex:none;padding:8px 14px;max-height:100px;overflow:auto}.learning-panel{height:100%;overflow-y:auto;padding:12px;scrollbar-gutter:stable;overscroll-behavior-y:contain}.learning-panel .mode-tabs{position:sticky;top:-12px;z-index:6;background:#10141b;margin-bottom:13px;box-shadow:0 5px 10px #171b23}.learning-panel .section-title h2{font-size:16px}#parts-list{max-height:none}.layout-prompt{font-size:14px;margin-top:10px}.layout-options{gap:6px}.layout-tools{margin-bottom:8px}.about{margin:14px 0}footer{margin:16px auto}
}
@media(min-width:821px) and (max-height:700px){
  main{padding:10px 14px}.intro-row{margin-bottom:10px}.intro-row .eyebrow,.subtitle{display:none}.intro-row h1{font-size:24px;margin:0}.lab-progress{font-size:10px}progress{margin-top:6px}#scene-tabs{margin-bottom:10px}.workspace{height:calc(100dvh - 151px);grid-template-columns:minmax(0,1fr) 318px}.model-heading{padding:8px 12px}.pill{display:none}.program{display:none}
}
/* Classroom guide: goal strip, header tools, mode line, assessment status, fix-it list. */
.top-tools{margin-left:auto;display:flex;align-items:center;gap:8px}
.words-btn{padding:6px 11px;border-radius:999px}
.goal-slot{margin-top:10px;max-width:640px}
.assessment-status{display:block;margin-top:8px;font:11px/1.45 var(--mono);color:#c0cad8}
.assessment-status.passed{color:#9fe4b9}
.mode-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 16px;font-size:11px;color:#aab7ca}
.quiz-misses{margin:8px 0 0;padding-left:18px;font-size:12px;color:#ffd7a8}
.quiz-misses li+li{margin-top:3px}
@media(max-width:520px){.top-tools{margin-left:0}.lab-progress{min-width:0}}
@media(min-width:821px) and (max-height:850px){#layout-check{scroll-margin-bottom:12px}.subtitle{display:none}.goal-slot{margin-top:4px}.goal-slot .sdscpa-goal-strip{padding:4px 10px;font-size:12px}.assessment-status{margin-top:5px;font-size:10px}.mode-line{margin:-6px 0 10px}}
@media(min-width:821px) and (max-height:700px){.workspace{height:calc(100dvh - 181px)}.goal-slot .sdscpa-goal-strip{padding:3px 9px;font-size:11.5px}}
