/* A single visual language for the introduction and learning module. */
.circuit-hero,.learning-universe.digital-learning{--scene-bg:#0d0c09;--scene-text:#fff0c4;--scene-muted:#c8bda3;--scene-gold:#e9c46e;background:var(--scene-bg)!important;color:var(--scene-text);position:relative;isolation:isolate;overflow:hidden}
.circuit-hero{padding:36px 40px 32px;min-height:650px}
.scene-haze{position:absolute;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 68% 32%,#d9ad4221,transparent 42%),radial-gradient(ellipse at 14% 85%,#b87a1917,transparent 42%),repeating-linear-gradient(115deg,#ffffff01 0 1px,transparent 1px 5px)}
.scene-board{position:absolute;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);z-index:-1;pointer-events:none;will-change:transform}
.scene-route{stroke:#b48735;stroke-width:1.1;opacity:.48;vector-effect:non-scaling-stroke}
.scene-etched{stroke:#9d792e;stroke-width:.65;opacity:.14}
.scene-symbols{font:44px Consolas,monospace;color:#c39945;opacity:.5}
.signal-trail{stroke:#f3cf79;stroke-width:2.2;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
.signal-head{fill:#fff7d3;filter:drop-shadow(0 0 3px #ffe7a0) drop-shadow(0 0 7px #d8a442)}
.signal-node{fill:#100e09;stroke:#c59a49;stroke-width:1.2;vector-effect:non-scaling-stroke}
.signal-node-light{fill:#fff1b5;filter:drop-shadow(0 0 6px #e4b74d);opacity:0}
.scene-content{width:min(1140px,100%);margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:22px 50px;align-items:center;position:relative}
.scene-copy{align-self:stretch;padding:60px 0 90px;position:relative;min-width:0}
.scene-copy::before{content:"";position:absolute;inset:-40px -55px 20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#0d0c09 25%,#0d0c09d9 52%,transparent 73%)}
.scene-eyebrow{font-size:11px;letter-spacing:.3em;color:#efd18b;font-weight:500;padding-bottom:24px;margin-bottom:40px;position:relative}
.scene-eyebrow::after{content:"";position:absolute;bottom:0;left:0;width:80%;height:1px;background:linear-gradient(90deg,#f0d17d,transparent)}
.scene-copy h1{font-size:clamp(52px,5.3vw,85px);line-height:1.04;letter-spacing:-.055em;color:#fff0c4;white-space:nowrap;font-weight:750}
.scene-copy h1 em{display:block;font-family:Georgia,serif;font-size:.65em;line-height:1.25;letter-spacing:-.045em;font-weight:400;color:#edc56c;margin-top:10px}
.scene-motto{font-size:clamp(18px,1.8vw,27px);line-height:1.5;color:#f6eacf;margin-top:38px;white-space:nowrap;letter-spacing:-.025em}
.scene-context{font-size:12px;color:#c8bda3;line-height:1.7;margin-top:18px;max-width:300px}
.scene-teacher{margin:0;min-width:0}
.scene-arch{position:relative;border-radius:250px 250px 24px 24px;padding:2px;background:linear-gradient(128deg,#765319,#fce5a0 26%,#a97929 53%,#fce5a0 83%,#987125);box-shadow:0 0 48px #d7ad3420}
.scene-arch::after{content:"";position:absolute;width:38%;height:2px;top:4%;right:10%;background:linear-gradient(90deg,transparent,#fff1b3,transparent);filter:blur(3px);transform:rotate(24deg);pointer-events:none}
.scene-arch img{display:block;width:100%;height:clamp(360px,calc(100svh - 320px),590px);object-fit:cover;object-position:50% 24%;border:6px solid #161209;border-radius:inherit}
.scene-teacher figcaption{margin-top:20px;padding:16px 4px 0;border-top:1px solid #c2984977;line-height:1.3}
.scene-teacher figcaption>span{display:block;font-size:clamp(25px,2.5vw,38px);letter-spacing:-.035em;white-space:nowrap}
.scene-teacher figcaption small{display:block;font-size:11px;color:#c8bda3;line-height:1.5;margin-top:8px}
.scene-conversion{grid-column:1/-1;text-align:center}
.scene-actions{display:flex;justify-content:center;gap:14px}
.scene-actions .button{min-width:245px;font-size:13px;min-height:52px}
.scene-actions .button-outline{color:#ecd18c;border-color:#ad8543;background-color:#0d0c0977}
.scene-format{font-size:11px;letter-spacing:.025em;color:#d9c8a2;margin-top:15px}.scene-format span{padding:0 12px;color:#b38b42}
.scene-motion{position:absolute;bottom:12px;right:28px;background:transparent!important;animation:none!important;box-shadow:none!important;border:0;border-bottom:1px solid #98763e;color:#c8bda3;font-size:10px;padding:5px 0;z-index:2}.scene-motion[hidden]{display:none}
.scene-route.is-highlighted{opacity:1;stroke:#ffe1a0}
/* No brown strip between the two connected scenes. */
:root[data-theme=dark] .confidence-band{background:#0d0c09;border:0;color:#fff0c4}
:root[data-theme=dark] .confidence-band p{color:#ebcf8c}
:root[data-theme=dark] .confidence-band span{color:#c8bda3}
:root[data-theme=dark] .confidence-band>.wrap{border-top:1px solid #b98a302b;border-bottom:1px solid #b98a302b}
.learning-universe.digital-learning{border:0;padding:90px 0;background:radial-gradient(ellipse at 78% 48%,#ba8c2710,transparent 45%),#0d0c09!important}
.digital-learning .universe-grid{width:min(1240px,calc(100% - 80px));grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.digital-learning .universe-copy h2{font-size:clamp(36px,3.3vw,53px);color:#fff0c4}.digital-learning .universe-copy h2 em{color:#edc56c}
.digital-learning .eyebrow{color:#d1a653}.digital-learning .universe-intro,.digital-learning .universe-description p{color:#c8bda3}.digital-learning .universe-description h3{color:#f7e6bb}.digital-learning .universe-description{border-color:#b88d37;min-height:150px}.digital-learning .text-link{color:#eacc89}
.chip-scene{position:relative;width:100%;aspect-ratio:600/480;isolation:isolate}
.chip-board{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.chip-core{position:absolute;left:35%;top:35%;width:30%;height:30%;border:1px solid #dbb660;border-radius:15px;background:linear-gradient(145deg,#201b11,#100e09);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 40px #b8822420,inset 0 0 0 7px #0e0c08,inset 0 0 0 8px #866631;outline:1px solid #7f602b;outline-offset:7px}
.chip-core strong{font:clamp(18px,2vw,29px) Georgia,serif;color:#f1d386;white-space:nowrap}.chip-core small{font-size:7px;letter-spacing:.22em;color:#bf9c58;margin-top:12px}
.chip-topic{position:absolute;transform:translate(-50%,-50%);min-height:46px;padding:10px 18px;border:1px solid #947035;border-radius:9px;background:#171309!important;background-image:none!important;color:#ddc28a;font-size:12px;animation:none!important;transition:border-color .3s,box-shadow .3s,scale .3s;z-index:2}
.chip-topic:hover,.chip-topic:focus-visible{scale:1.04;border-color:#f8d783;box-shadow:0 0 25px #dfb64c30}
.chip-topic[aria-pressed=true]{border-color:#e4bc60;color:#fff1bc;box-shadow:inset 0 0 18px #a77a1615,0 0 18px #c3972e20}
.chip-topic.is-signaled{border-color:#ffe8a5;box-shadow:0 0 25px #e0b65055,inset 0 0 12px #e0b65022}
.chip-understanding{left:23%;top:16%}.chip-practice{left:16%;top:77%}.chip-confidence{left:81%;top:69%}
.chip-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;color:#bdaf92;font-size:10px;min-height:38px;align-items:center}
.chip-controls button{animation:none!important;background:transparent!important;color:#e8c77c;border:0;border-bottom:1px solid #a57b35;padding:6px;font-size:11px}
.digital-learning .orbit-nojs{color:#c8bda3}
/* Existing demo descriptions also need contrast in dark mode. */
:root[data-theme=dark] .task-explanation{background:#211b12;color:#f7e8bd;border-color:#806331}
@media(min-width:1800px){.scene-content{width:min(1320px,calc(100% - 220px));gap:24px 70px}.scene-copy{padding-top:85px}.scene-copy h1{font-size:98px}.scene-arch img{height:min(630px,calc(100svh - 340px))}.scene-eyebrow{font-size:13px}.scene-motto{font-size:30px}}
@media(max-width:1100px){.scene-content{gap:22px 30px}.scene-copy h1{font-size:58px}.scene-motto{font-size:20px}.scene-copy{padding-top:42px}.scene-eyebrow{font-size:9px;letter-spacing:.2em}.digital-learning .universe-grid{gap:30px}.chip-topic{padding:8px 12px;font-size:10px}}
@media(max-width:600px){
 .circuit-hero{padding:28px 18px 42px;min-height:0}.scene-content{grid-template-columns:1.12fr 1fr;gap:18px 10px}.scene-copy{padding:22px 0 90px}.scene-copy::before{inset:-10px -10px 60px}
 .scene-eyebrow{font-size:6px;letter-spacing:.13em;white-space:nowrap;padding-bottom:13px;margin-bottom:20px}.scene-copy h1{font-size:clamp(26px,7.4vw,42px);letter-spacing:-.065em}.scene-copy h1 em{font-size:.64em;margin-top:8px;letter-spacing:-.06em}.scene-motto{font-size:clamp(8px,2.4vw,14px);margin-top:24px;letter-spacing:-.04em}.scene-context{display:none}
 .scene-arch{padding:1px;border-radius:130px 130px 16px 16px}.scene-arch img{height:clamp(250px,70vw,390px);border-width:3px}.scene-teacher figcaption{margin-top:12px;padding:10px 0 0}.scene-teacher figcaption>span{font-size:clamp(13px,3.75vw,21px);letter-spacing:-.05em}.scene-teacher figcaption small{font-size:7px;margin-top:6px;line-height:1.5}
 .scene-actions{flex-direction:column;gap:8px}.scene-actions .button{min-width:0;width:100%;font-size:13px;min-height:49px}.scene-actions .button-outline{border:0;min-height:38px;text-decoration:underline;text-underline-offset:5px;box-shadow:none}.scene-format{font-size:10px;margin-top:12px}.scene-motion{right:18px;bottom:6px;font-size:9px}
 .scene-symbols{font-size:55px}.scene-board{opacity:.75}.signal-head{filter:drop-shadow(0 0 4px #e2b554)}
 .learning-universe.digital-learning{padding:55px 0}.digital-learning .universe-grid{width:calc(100% - 36px);grid-template-columns:1fr;gap:24px}.digital-learning .universe-copy h2{font-size:36px}.digital-learning .universe-description{min-height:155px}.chip-scene{max-width:470px;margin:auto}.chip-topic{font-size:10px;padding:8px 11px;min-height:42px}.chip-core strong{font-size:18px}.chip-core small{font-size:5px}.chip-controls{font-size:9px}.digital-learning .scene-motion{position:static}
}
@media(prefers-reduced-motion:reduce){.scene-board{transform:none!important}.chip-topic{transition:none}.signal-head,.signal-trail,.signal-node-light{display:none}}
:root[data-theme=dark] .task-film{background:#211b12;border-color:#806331;color:#f7e8bd}
:root[data-theme=dark] .task-film p{color:#c8bda3}
:root[data-theme=dark] .task-film :is(h3,summary){color:#f4d690}
.digital-learning>.learning-traces{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.5}
.chip-topic::after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;pointer-events:none}
.chip-topic.is-signaled::after{border-color:#ffdc89;box-shadow:0 0 9px #e4b64a66}
.scene-motion:disabled{opacity:.7;cursor:default}
