/* OYEE's physical learning theatre: warm materials, space and direct manipulation. */
.world-theatre{position:relative;border:1px solid #b3ab98;background:#e8e1d1;overflow:hidden;isolation:isolate;min-width:0}.world-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 23px;font:10px/1.5 var(--mono);letter-spacing:.12em;color:#343931;border-bottom:1px solid #b3ab98;background:#eee7d8}.world-render-label{white-space:nowrap}.world-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.world-viewport{position:relative;min-height:640px;overflow:hidden;background:#e8e1d1}.world-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;opacity:0}.world-canvas:active{cursor:grabbing}.world-theatre[data-render=ready] .world-canvas{opacity:1}.world-theatre[data-render=ready] .world-poster{display:none}.world-poster{padding:50px 10%;color:var(--red);text-align:center}.world-poster p{font:italic 28px var(--serif)}.world-coordinate{position:absolute;top:24px;left:24px;font:9px/1.9 var(--mono);letter-spacing:.14em;color:#44483d;pointer-events:none;background:#eee7d8d9;padding:7px}.world-object-title{position:absolute;bottom:110px;left:25px;right:25px;display:flex;align-items:baseline;gap:15px;pointer-events:none}.world-object-number{font:12px var(--mono);color:var(--red);border-top:1px solid;padding-top:7px}.world-object-name{font:italic clamp(24px,2.6vw,42px)/1.05 var(--serif);color:#30342d;text-shadow:0 1px #f3efe5;background:#eee7d8d9;padding:6px 10px}.world-camera{position:absolute;bottom:42px;left:24px;right:24px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.world-camera button{min-width:40px;height:40px;background:#f6f0e2;color:#30342d;border:1px solid #a9a18d;font:20px/1 var(--sans);padding:8px;position:static}.world-camera button:hover{background:#30342d;color:#fff}.world-camera .world-motion{width:auto;min-width:65px;font:11px var(--mono);padding:8px 12px;position:static;inset:auto;transform:none;background:#f6f0e2;color:#30342d;border:1px solid #a9a18d;min-height:40px}.world-gesture{position:absolute;bottom:10px;left:15px;right:15px;margin:0;text-align:center;font:9px/1.5 var(--mono);color:#484b42;pointer-events:none}.world-dock{background:#f2eddf;border-left:1px solid #b3ab98;padding:32px;display:flex;flex-direction:column;justify-content:center;min-width:0}.world-dock>.eyebrow{font-size:9px;margin-bottom:20px}.world-dock h3{font-size:clamp(28px,2.9vw,43px);letter-spacing:-.055em;margin-bottom:25px}.world-controls{display:flex;flex-direction:column;gap:10px}.world-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.world-choice{background:#f8f4e9;border:1px solid #a9a18d;padding:12px;text-align:left;font-size:13px;line-height:1.55;min-height:46px;color:var(--ink)}.world-choice[aria-pressed=true]{background:#30372d;color:#fff;border-color:#30372d}.world-choice:hover{border-color:var(--red)}.world-slider{position:relative;margin:15px 0}.world-slider label{font:12px/1.5 var(--mono);display:block;margin-bottom:12px;padding-right:45px}.world-slider input[type=range]{margin:0}.world-slider output{position:absolute;top:0;right:0;color:var(--red);font:12px var(--mono)}.world-select label{font:12px/1.5 var(--mono);display:block;margin-bottom:10px}.world-select select{width:100%;font-size:14px;background:#f8f4e9}.world-controls .button{margin-top:15px}.world-case{font:16px/1.65 var(--serif);margin:10px 0}.world-source{margin-top:10px;font-size:14px;border-block:1px solid #b3ab98;padding-block:12px}.world-source summary{cursor:pointer;min-height:36px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.world-source p{font:16px/1.7 var(--serif);margin:12px 0}.world-readout{white-space:pre-line;font:14px/1.75 var(--sans);padding:19px 0;border-top:1px solid #b3ab98;margin-top:23px;min-height:65px;color:#343931;overflow-wrap:anywhere}.world-note{font:11px/1.7 var(--sans);color:#5b5b50;margin:0}.world-fallback-note{padding:20px;font-size:14px;background:var(--yellow);margin:0}.world-home{border:0;box-shadow:10px 12px 0 #22291f08}.world-home .world-layout{grid-template-columns:1fr}.world-home .world-viewport{min-height:550px}.world-home .world-dock{padding:25px;border-left:0;border-top:1px solid #b3ab98}.world-home .world-dock>.eyebrow,.world-home .world-dock h3{display:none}.world-home .world-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.world-home .world-choices{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:0}.world-home .world-slider{margin:0}.world-home .world-controls .button{grid-column:1/-1;margin:0}.world-home .world-readout{margin-top:15px;padding:12px 0;min-height:50px}.world-home .world-note{font-size:10px}.world-home .world-choice{font-size:11px;padding:10px 8px;text-align:center}.home-hero{grid-template-columns:.83fr 1.3fr;gap:4%;padding-top:40px;align-items:center}.hero-copy h1{font-size:clamp(3.7rem,6.1vw,6.5rem)}.hero-copy .lede{font-size:17px;line-height:1.7}.world-home .world-topline{font-size:9px}.course-shell{grid-template-columns:210px minmax(0,1fr)}.course-map{padding:30px 14px}.course-unit{padding:35px 3%}.world-course{margin:25px 0 32px}.world-course .world-viewport{min-height:670px}.world-course .world-dock{padding:27px}.unit-reading{padding:20px 24px;background:#eee9dc;border:1px solid var(--line);margin:30px 0;max-width:none}.unit-reading summary{cursor:pointer;font:18px/1.6 var(--serif);color:var(--red);min-height:36px}.unit-reading[open] summary{margin-bottom:20px}.unit-reading p{max-width:80ch}.unit-mission{margin-top:25px}.course-unit:has(.world-theatre[data-render=ready]) .anatomy-art{display:none}.course-unit:has(.world-theatre[data-render=ready]) .sample-visual{display:none}.course-unit:has(.world-theatre[data-render=ready]) .fairness-lab{grid-template-columns:1fr}.world-course[data-module="3"] .world-readout{max-height:230px;overflow:auto}.world-course[data-module="6"] .world-choices{grid-template-columns:repeat(3,1fr)}.world-theatre[data-render=fallback] .world-gesture{display:none}.world-theatre[data-render=fallback] .world-viewport{min-height:340px}.world-theatre[data-render=fallback] .world-object-title{bottom:25px}.world-theatre[data-render=fallback] .world-coordinate{display:none}
@media(min-width:1600px){.world-home .world-viewport{min-height:630px}}
@media(max-width:1200px){.world-layout{grid-template-columns:1fr}.world-course .world-viewport{min-height:560px}.world-dock{border-left:0;border-top:1px solid #b3ab98}.world-course .world-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.world-course .world-controls>.world-choices,.world-course .world-controls>.world-case,.world-course .world-controls>.world-source{grid-column:1/-1}.world-course .world-readout{margin-top:18px}.world-home .world-viewport{min-height:470px}.world-object-name{font-size:31px}.world-home .world-dock{padding:20px}.home-hero{gap:3%}.world-home .world-select label{font-size:10px}.world-home .world-slider label{font-size:10px}}
@media(max-width:800px){.course-shell{display:block}.world-course .world-viewport{min-height:540px}.world-home .world-viewport{min-height:410px}.home-hero{grid-template-columns:.85fr 1.15fr;align-items:start}.hero-copy h1{font-size:7.8vw}.world-home .world-controls{display:flex}.world-home .world-choices{display:grid;grid-template-columns:1fr 1fr}.world-home .world-object-name{font-size:27px}.world-home .world-topline{font-size:8px;padding:13px}.world-home .world-render-label{display:none}.world-home .world-camera{left:10px;right:10px;gap:4px}.world-home .world-camera button{min-width:34px;width:34px;font-size:17px}.world-home .world-camera .world-motion{width:auto;min-width:55px;font-size:10px}.world-gesture{font-size:8px}}
@media(max-width:580px){.home-hero{display:flex;padding-top:30px;gap:30px}.hero-copy h1{font-size:clamp(3.6rem,13.8vw,5.2rem)}.world-home{width:100%}.world-home .world-viewport{min-height:430px}.world-home .world-controls{display:grid;grid-template-columns:1fr}.world-home .world-choices{grid-template-columns:repeat(4,1fr)}.world-home .world-choice{font-size:10px;padding:10px 4px}.world-home .world-dock{padding:18px}.world-home .world-select label,.world-home .world-slider label{font-size:12px}.world-home .world-slider{margin:12px 0}.world-home .world-topline{font-size:9px}.world-theatre{margin-inline:-3px}.world-course .world-viewport{min-height:440px}.world-course .world-dock{padding:23px 18px}.world-course .world-controls{display:flex}.world-topline{padding:14px 15px;font-size:8px;gap:10px}.world-render-label{font-size:8px}.world-coordinate{top:15px;left:15px;font-size:8px}.world-object-title{left:15px;right:15px;gap:10px}.world-object-name{font-size:28px;max-width:90%}.world-object-number{font-size:10px}.world-camera{left:12px;right:12px;gap:5px}.world-camera button{min-width:36px;width:36px}.world-camera .world-motion{width:auto;min-width:60px}.world-choice{font-size:14px}.world-readout{font-size:14px}.world-select select{font-size:16px}.world-dock h3{font-size:34px}.unit-reading{padding:18px}.unit-reading summary{font-size:18px}.world-note{font-size:11px}.world-course[data-module="6"] .world-choices{grid-template-columns:1fr 1fr}.course-unit{padding-inline:5%}}
@media(forced-colors:active){.world-choice[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-4px}.world-object-name{color:CanvasText;background:Canvas}.world-coordinate{color:CanvasText;background:Canvas}}
@media print{.world-theatre{display:none}.unit-reading{display:block}.unit-reading:not([open])>p{display:block}.course-unit .anatomy-art{display:none}}
.world-pins{position:absolute;inset:0;pointer-events:none}.world-pin{position:absolute;top:0;left:0;pointer-events:auto;min-width:36px;height:36px;border:1px solid #5b5b50;background:#f8f4e9;color:#30342d;font:11px var(--mono);border-radius:50%;padding:7px;box-shadow:0 3px 10px #24241f18}.world-pin[aria-pressed=true]{background:#b73521;color:#fff;border-color:#b73521}.world-pin span{position:absolute;top:4px;left:42px;background:#f8f4e9;color:#30342d;padding:5px 8px;border:1px solid #a9a18d;white-space:nowrap;font:10px var(--mono);opacity:0;pointer-events:none}.world-pin:hover span,.world-pin:focus-visible span{opacity:1}.world-theatre:not([data-render=ready]) .world-pins{display:none}.world-gesture{background:#eee7d8ed;padding:4px 8px;left:20px;right:20px}.world-theatre[data-module="6"] .world-pin{min-width:30px;height:30px;font-size:10px}.world-pin:focus-visible{outline:3px solid #254fb0;outline-offset:3px}

/* Readable examples lead the course; the spatial metaphor is optional. */
.lesson-visual{min-width:0;background:#eee7d8}.lesson-board{padding:28px;min-width:0}.lesson-kicker{font:11px/1.5 var(--mono);letter-spacing:.09em;color:#92341e}.lesson-board>h3{font:clamp(27px,3vw,40px)/1.15 var(--serif);margin:12px 0 25px;max-width:24ch}.lesson-cards{display:grid;gap:12px;counter-reset:cards}.lesson-card{background:#fffaf0;border:1px solid #aaa28e;border-radius:3px;padding:18px 20px;box-shadow:3px 4px 0 #3439310a;min-width:0;animation:lesson-arrive .22s ease-out}.lesson-card h4{font:600 12px/1.5 var(--sans);text-transform:none;letter-spacing:.02em;color:#565349;margin:0 0 9px}.lesson-card p{font:18px/1.55 var(--sans);margin:0;white-space:pre-line;overflow-wrap:anywhere}.lesson-card.is-current{border-left:5px solid #a43c24;background:#fff6d9}.lesson-paper{background:#fffaf0;border-top:4px solid #7d8b91}.lesson-paper p{font-family:var(--serif);font-size:20px}.lesson-token{display:inline-block;background:#e4eaf0;border:1px solid #8e9eab;border-radius:4px;padding:3px 8px;margin:3px;font:15px/1.5 var(--mono)}.lesson-takeaway{font:14px/1.7 var(--sans);border-top:1px solid #aaa28e;padding-top:18px;margin-top:23px;color:#393d33}.lesson-optional{border-top:1px solid #aaa28e}.lesson-optional>summary{padding:18px 28px;font:13px/1.6 var(--sans);cursor:pointer;min-height:48px;color:#393d33}.lesson-card meter{display:block;width:100%;height:24px;accent-color:#345e83;margin-top:9px}.lesson-people{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin-top:15px}.lesson-people span{display:grid;place-items:center;min-height:30px;border:1px solid currentColor;border-radius:5px;font:600 12px var(--sans)}.person-a{background:#dae6f0;color:#254d6f}.person-b{background:#f5d7c0;color:#823218}.lesson-card ul{padding-left:22px;font:15px/1.7 var(--sans)}.world-course:has(.lesson-board) .world-dock{justify-content:flex-start}.world-course:has(.lesson-board) .world-dock h3{font-size:28px}.world-course:has(.lesson-board) .world-note{font-size:12px}.world-course .lesson-optional .world-viewport{min-height:440px}@keyframes lesson-arrive{from{transform:translateY(5px)}to{transform:none}}@media(max-width:580px){.lesson-board{padding:22px 16px}.lesson-card{padding:16px}.lesson-card p{font-size:16px}.lesson-people{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-optional>summary{padding:16px}.lesson-board>h3{font-size:29px}}@media(prefers-reduced-motion:reduce){.lesson-card{animation:none}}html[data-calm=true] .lesson-card{animation:none}@media(forced-colors:active){.lesson-card.is-current{border-left:5px solid Highlight}.lesson-people span{border:2px solid CanvasText}}
.world-course[data-module="0"]:not(:has(.lesson-optional[open])) .world-controls>.world-slider{display:none}.world-course[data-module="5"] .lesson-cards{grid-template-columns:1fr 1fr}.world-course[data-module="5"] .lesson-card:first-child,.world-course[data-module="5"] .lesson-card:last-child{grid-column:1/-1}.world-course[data-module="5"] .lesson-card.is-current p{font:clamp(38px,5vw,62px)/1.15 var(--serif)}@media(max-width:580px){.world-course[data-module="5"] .lesson-cards{grid-template-columns:1fr}}
