.hero-architecture>#learning-architecture{width:1110px;height:530px}.hero-network>#collaboration-map{width:1110px;height:500px}.three-diagram{position:relative;isolation:isolate;overflow:visible}.three-diagram>canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.three-diagram.is-orbiting>canvas{cursor:grabbing}.spatial-labels{position:absolute;inset:0;pointer-events:none}.spatial-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;text-align:center;text-shadow:0 1px 5px #05121acc;pointer-events:none;color:#c2dde6}.spatial-label.inspect-node{pointer-events:auto;cursor:pointer}.diagram-terminal{width:132px;height:72px;border-radius:5px;background:none}.diagram-terminal>.icon{position:absolute;top:0;left:50%;transform:translateX(-50%);width:29px;height:29px;color:#70e6d1}.diagram-terminal>.terminal-name{position:absolute;top:58px;left:50%;transform:translateX(-50%);font-size:16px;font-weight:400;line-height:1.3;white-space:nowrap;color:#bed9e3}.diagram-terminal.is-blue>.icon,.role-node.is-blue>.icon{color:#7fbaff}.diagram-terminal:focus-visible,.role-node:focus-visible{outline:1px solid #6ac5ba66;outline-offset:5px;filter:none}.diagram-terminal.is-inspected>.terminal-name,.diagram-terminal:hover>.terminal-name,.role-node.is-inspected>.role-name,.role-node:hover>.role-name{color:#d8fff2}.layer-heading h2{font-weight:400;letter-spacing:.01em;line-height:1.25;color:#c1e1e5}.layer-heading p{font-size:13px;line-height:1.7;letter-spacing:.02em;color:#7499ac;margin-top:9px}.sample-heading h2{font-size:22px}.task-heading h2{font-size:42px;line-height:1.1;letter-spacing:1px;color:#d4fff2}.task-heading p{font-size:13px;line-height:1.5;margin-top:5px;color:#7eacb9}.evidence-heading h2{font-size:21px;color:#b4d9e0}.feedback-label{writing-mode:vertical-rl;letter-spacing:.08em;font-size:12px;line-height:1.4;color:#668da1}
.role-node{width:265px;height:152px;border-radius:8px}.role-node>.icon{position:absolute;width:45px;height:45px;top:26px;left:50%;transform:translateX(-50%);color:#67dec9}.role-name{position:absolute;top:119px;left:50%;transform:translateX(-50%);font-size:27px;color:#d1e8ee;line-height:1.2;font-weight:400}.role-sub{position:absolute;top:157px;left:50%;transform:translateX(-50%);font-size:14px;color:#7da3b4;line-height:1.4}.hub-label{font-size:18px;letter-spacing:2px;color:#9ddbd3}.hub-number{font:300 91px/1 var(--number);letter-spacing:-3px;color:#d4fff1;text-shadow:0 2px 16px #132b3270}.hub-unit{font-size:16px;line-height:1;color:#8db9c5}
.diagram-view-tools{position:absolute;right:5px;bottom:0;display:flex;align-items:center;gap:4px;color:#5a8091;font-size:10px;opacity:.62;transition:opacity .2s}.diagram-view-tools>span{margin-right:4px;letter-spacing:.05em}.diagram-view-tools>button{display:grid;place-items:center;width:23px;height:23px;border-radius:5px;font:300 18px var(--number);color:#7299a7}.diagram-view-tools>button:hover,.diagram-view-tools>button:focus-visible{color:#c3ffed;background:#73c5c512}.diagram-view-tools .icon{width:12px;height:12px;color:currentColor}.three-diagram:hover .diagram-view-tools,.three-diagram:focus-within .diagram-view-tools{opacity:1}.diagram-notice{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);color:#9cb3bb;font-size:12px;white-space:nowrap}.diagram-notice[hidden]{display:none}.three-diagram[data-status="unavailable"] .diagram-view-tools{display:none}@media(prefers-reduced-motion:reduce){.diagram-view-tools{transition:none}}

/* Learning architecture: stable labels above deep, emissive diamond surfaces. */
.learning-terminal { width:110px; height:58px; border-radius:6px; background:transparent; }
.learning-terminal>.icon { position:absolute; top:3px; left:50%; transform:translateX(-50%); width:25px; height:25px; color:#95eee0; filter:drop-shadow(0 0 5px #42d7b52b); }
.learning-terminal>.terminal-name { position:absolute; top:39px; left:50%; transform:translateX(-50%); font-size:15px; font-weight:400; line-height:1.3; color:#c4e4e5; white-space:nowrap; }
.learning-terminal.tasks>.icon { color:#9af5dc; }
.learning-terminal.evidence>.icon { width:23px; height:23px; color:#90c7d4; }
.learning-terminal.evidence>.terminal-name { font-size:14px; color:#a9cdd7; }
.learning-terminal:focus-visible { outline:1px solid #8ce3cf77; outline-offset:2px; }
.learning-terminal:hover>.terminal-name,.learning-terminal.is-inspected>.terminal-name { color:#e5fff4; }
.learning-heading { width:190px; text-align:left; white-space:normal; }
.learning-heading>small { display:block; font:400 9px var(--number); letter-spacing:1.5px; color:#5e9ca7; margin-bottom:7px; }
.learning-heading>h2 { font-size:19px; line-height:1.2; letter-spacing:.03em; font-weight:400; color:#bfdfdf; white-space:nowrap; }
.learning-heading>p { font-size:11px; color:#7da3ac; line-height:1.8; margin-top:8px; max-width:195px; }
.learning-heading.engine-heading>h2 { font-size:23px; letter-spacing:.01em; color:#d0fae8; }
.learning-heading.engine-heading { width:210px; }
.learning-heading.engine-heading>small { color:#6bb8b0; margin-bottom:5px; }
.learning-heading.engine-heading>p { max-width:200px; }
.learning-heading.output-heading>h2 { color:#badce2; }
.learning-heading.output-heading>small { margin-bottom:6px; color:#658f9e; }
.learning-core-caption { color:#bcfff0; font:300 19px var(--number); letter-spacing:1px; text-shadow:0 0 12px #63e6cd70; }
.learning-core-caption>sup { font-size:11px; vertical-align:super; margin-left:2px; color:#c6b689; }
.learning-feedback { text-align:left; writing-mode:vertical-rl; line-height:1.5; font-size:11px; letter-spacing:.1em; color:#72a4b5; }
.learning-feedback>small { font-size:9px; color:#537e94; letter-spacing:.1em; margin-right:4px; }
.learning-hologram .diagram-view-tools { right:7px; bottom:4px; }
.diagram-view-tools>.diagram-motion { width:auto; min-width:78px; display:flex; align-items:center; gap:6px; margin-right:13px; font-size:10px; padding:0 6px; }
.diagram-view-tools>.diagram-motion .icon { width:11px; height:11px; }

/* Functional glyphs live in the WebGL scene; DOM holds stable, accessible captions only. */
.learning-frosted .learning-terminal{width:112px;height:90px;background:none}
.learning-frosted .learning-terminal>.terminal-name{top:76px;font-size:14px;letter-spacing:.03em;text-shadow:0 1px 3px #031018,0 0 7px #031018}
.learning-frosted .learning-terminal.evidence>.terminal-name{font-size:13px}
.learning-frosted .learning-terminal:focus-visible{outline:1px solid #98dfcd55;outline-offset:0}

/* Learning device: optical main board, light task membrane, machined evidence chassis. */
.hero-architecture.device-architecture{top:226px}
.hero-architecture>#learning-architecture.learning-device{height:555px}
.learning-device .learning-terminal{width:116px;height:27px;border-radius:3px}
.learning-device .learning-terminal>.terminal-name{position:static;display:block;transform:none;font-size:14px;line-height:27px;letter-spacing:.025em;color:#c6e9e4;text-shadow:0 2px 5px #03131b,0 0 3px #03131b}
.learning-device .learning-terminal.evidence>.terminal-name{font-size:13px;color:#afd2dc}
.learning-device .module-hit-area{position:absolute;left:50%;top:-38px;transform:translateX(-50%);width:70px;height:33px;pointer-events:auto}
.learning-device .evidence .module-hit-area{top:-46px}
.learning-device .learning-heading{width:190px}
.learning-device .learning-heading.engine-heading{width:210px}
.learning-device .learning-heading>small{font-size:9px;letter-spacing:1.4px}
.learning-device .learning-heading>h2{font-size:19px;color:#bfe5df}
.learning-device .learning-heading.engine-heading>h2{font-size:23px;color:#c9f8e6}
.learning-device .learning-core-caption{font-size:17px;color:#fff2d6;letter-spacing:1px;text-shadow:0 0 12px #eeb55b55}
.learning-device .learning-core-caption>sup{color:#ffd698}
.learning-device .diagram-view-tools{bottom:2px}
