/* Two faces of one study platform. Geometry describes composition, not a live inference. */
#study-platform{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 58%;transition:transform 1.25s var(--ease)}
.study-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#human-face{transform:rotateY(0deg)}#ai-face{transform:rotateY(180deg);overflow:hidden}
body[data-side="ai"] #study-platform{transform:rotateY(-180deg)}
#turn-model{display:flex;align-items:center;gap:8px;color:var(--red)}
#turn-model svg{width:30px;height:22px;overflow:visible;flex:none}#turn-model path{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linejoin:round}
body[data-side="ai"] #scene-controls,body[data-side="ai"] .world-question,body[data-side="ai"] .question-tether,body[data-side="ai"] .guide-control,body[data-side="ai"] .scene-voice,body[data-side="ai"] .recipient-response,body[data-side="ai"] .return-note,body[data-side="ai"] .people-finder,body[data-side="ai"] .orientation,body[data-side="ai"] .lab-door,body[data-side="ai"] #choose-character{display:none!important}
#ai-world{position:absolute;width:2600px;height:1900px;transform-origin:0 0;transition:transform 1.5s var(--ease)}
#ai-world *{box-sizing:border-box}
.ai-ground{position:absolute;inset:0;width:2600px;height:1900px;overflow:visible}
.ai-ground path{fill:none;stroke:var(--line);stroke-width:1.6}
.ai-ground .ai-table-edge{fill:#d0d2c64a;stroke:#adb2a2}.ai-ground .ai-agent-floor{fill:#e6e5db99;stroke:#9da596}
.ai-ground .ai-company-boundary{stroke:#818c79;stroke-dasharray:8 12}
.ai-ground .ai-link{stroke:var(--red);stroke-width:2;stroke-dasharray:6 12}
.ai-model-object{position:absolute;left:1040px;top:770px;width:355px;height:245px;transition:transform 1.4s var(--ease)}



.model-response{font:27px/1.1 Hand,cursive;color:var(--red);display:block}
.model-location{display:none;position:absolute;top:320px;left:-20px;font-size:26px;white-space:nowrap}
.ai-agent-envelope{position:absolute;left:785px;top:590px;width:815px;height:630px}
.agent-wall{position:absolute;border:1.6px solid #818c79;background:#e9e7dc33}.agent-wall.one{left:0;top:180px;width:300px;height:340px;transform:skewY(-32deg);transform-origin:left bottom}.agent-wall.two{left:310px;top:350px;width:510px;height:170px;transform:skewY(18deg);transform-origin:right bottom}.agent-wall.three{left:310px;top:0;width:510px;height:350px;transform:skewY(18deg);border-bottom:0;background:#e9e7dc11}
.agent-label{position:absolute;left:300px;top:620px;font:35px/1.1 Hand,cursive;white-space:nowrap}
.ai-request{position:absolute;left:940px;top:1090px;width:150px;height:100px;padding:20px 13px;background:var(--red);color:var(--paper);font-size:24px;line-height:1.2;transform:rotate(-13deg);box-shadow:10px 18px 15px #292c2924;transition:transform .5s var(--ease)}
.ai-request i{position:absolute;right:0;top:0;width:20px;height:20px;background:#cc6b52;clip-path:polygon(0 0,100% 100%,0 100%)}
.ai-part{position:absolute;display:flex;flex-direction:column;gap:10px;max-width:300px;font-size:29px;line-height:1.2}
.ai-part strong{font-weight:450}.ai-part small{font:29px/1.1 Hand,cursive;color:var(--muted)}
.part-pin{width:7px;height:7px;border:1px solid var(--ink);border-radius:50%;margin-bottom:3px}
.ai-goal{left:1140px;top:465px}.ai-memory{left:660px;top:810px}.ai-tool{left:1640px;top:770px}.ai-receipt{left:1410px;top:1220px}
.ai-peer{position:absolute;width:350px;height:230px}.ai-peer-one{left:350px;top:765px;transform:rotate(5deg)}.ai-peer-two{left:1890px;top:1000px;transform:rotate(-7deg)}

.ai-peer>span{position:absolute;top:270px;left:40px;font:34px/1.1 Hand,cursive;white-space:nowrap}
.ai-shared-record{position:absolute;left:1020px;top:1480px;width:650px;font-size:33px;transform:rotate(-3deg);border-top:1px solid var(--red);padding-top:18px}.ai-shared-record span{color:var(--red)}.ai-shared-record small{display:block;font:31px/1.2 Hand,cursive;color:var(--muted);margin-top:9px}
.ai-organisation-label{position:absolute;left:1780px;top:480px;font:48px/1.2 Hand,cursive;transform:rotate(13deg)}.ai-organisation-label small{display:block;font:28px/1.3 Human,sans-serif;margin-top:15px}
.ai-device{position:absolute;left:770px;top:420px;width:800px;height:1250px;border:3px solid #818c79;border-radius:70px;background:#f0efe644;box-shadow:15px 24px 22px #292c2912;transform:rotate(-7deg)}
.ai-device:before{content:'';position:absolute;inset:65px 28px 90px;border:1px solid #9da596;border-radius:12px}.device-speaker{position:absolute;top:28px;left:300px;width:190px;height:5px;background:#818c79;border-radius:4px}.device-home{position:absolute;bottom:30px;left:310px;width:170px;height:5px;background:#818c79}.device-label{position:absolute;left:0;top:1320px;font:45px/1.1 Hand,cursive;white-space:nowrap}
.ai-peer,.ai-shared-record,.ai-device,.ai-organisation-label,.ai-company-boundary,.ai-peer-link,.ai-device-link{opacity:0;visibility:hidden;transition:opacity .5s}
#ai-world[data-level="model"] .ai-agent-envelope,#ai-world[data-level="model"] .ai-part,#ai-world[data-level="model"] .ai-agent-floor,#ai-world[data-level="model"] .ai-core-link{opacity:0;visibility:hidden}
#ai-world[data-level="model"] .ai-request{transform:translate(-150px,-100px) rotate(-13deg)}
#ai-world[data-level="collective"] .ai-peer,#ai-world[data-level="collective"] .ai-shared-record,#ai-world[data-level="collective"] .ai-peer-link,#ai-world[data-level="organisation"] .ai-peer,#ai-world[data-level="organisation"] .ai-shared-record,#ai-world[data-level="organisation"] .ai-peer-link,#ai-world[data-level="organisation"] .ai-organisation-label,#ai-world[data-level="organisation"] .ai-company-boundary{opacity:1;visibility:visible}
#ai-world[data-level="phone"] .ai-device,#ai-world[data-level="phone"] .ai-device-link{opacity:1;visibility:visible}
#ai-world[data-level="phone"] .ai-model-object{transform:translate(800px,20px)}
#ai-world[data-level="phone"] .model-location{display:block}
#ai-world[data-level="phone"] .ai-agent-envelope{opacity:0;visibility:hidden}
#ai-world[data-level="phone"] .ai-tool{left:1170px;top:1250px}#ai-world[data-level="phone"] .ai-goal{left:930px;top:640px}#ai-world[data-level="phone"] .ai-memory{left:900px;top:790px}#ai-world[data-level="phone"] .ai-receipt{left:930px;top:1380px}
#ai-world.no-tool .ai-tool{opacity:.3}#ai-world.standing .ai-goal .part-pin{background:var(--red);border-color:var(--red)}
#ai-world.tracing .ai-link{animation:request-route 1.6s linear 1}#ai-world.tracing .model-response{color:var(--ink)}
@keyframes request-route{to{stroke-dashoffset:-100}}
#ai-caption{position:absolute;left:3.5vw;top:140px;width:min(300px,28vw);z-index:15}
#ai-caption h1{font:400 35px/1.08 Hand,cursive;color:var(--red);margin:0 0 18px;text-wrap:balance}
#ai-caption>p{font-size:14px;line-height:1.6;margin:0 0 18px;max-width:40ch}
#ai-caption>button{font-size:12px;text-align:left;border-bottom:1px solid var(--line);padding:7px 0}
#ai-inspection{position:absolute;left:3.5vw;bottom:35px;z-index:15;width:min(530px,48vw)}
.ai-model-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:13px}
.ai-model-controls label{font-size:12px;display:flex;gap:7px;align-items:center;cursor:pointer}.ai-model-controls input{accent-color:var(--red);margin:0}
#ai-trace{padding:7px 0;border-bottom:1px solid var(--red);color:var(--red);font-size:13px}
#ai-observation{font-size:14px;line-height:1.5;margin:0 0 8px;max-width:55ch}
#ai-inspection>small{font-size:11px;line-height:1.5;color:var(--muted)}
#ai-legend{position:absolute;right:3.5vw;bottom:20px;font-size:11px;line-height:1.5;color:var(--muted);max-width:230px;text-align:right}
.ai-controls{position:fixed;left:0;right:0;bottom:0;z-index:30;height:150px;padding:40px 3.5vw 25px;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;background:var(--ground);border-top:1px solid var(--line)}
.ai-controls button{position:relative;text-align:left;padding:10px 0;align-self:start}.ai-controls span{font-size:18px;display:block}.ai-controls small{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:10px;max-width:15ch}.ai-controls button:nth-child(4){padding-left:20px;border-left:1px solid var(--line)}.ai-controls button[aria-current]{color:var(--red)}.ai-controls button[aria-current]:before{content:'';position:absolute;top:-5px;left:0;width:35px;height:1px;background:var(--red);transform:rotate(-5deg)}.ai-controls button:nth-child(4)[aria-current]:before{left:20px}
body.lab-open .ai-controls{display:none}
.character-figures.character-cast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:8px}
.character-cast button{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:11px;line-height:1.3;padding:7px 0}
.character-cast img{width:100%;height:120px;object-fit:contain;display:block;margin-bottom:9px}.character-cast span{min-height:30px}
@media(max-width:900px){#ai-caption{left:23px;top:130px;width:270px}#ai-inspection{left:23px;width:450px}#ai-legend{display:none}.ai-controls{gap:16px}.ai-controls span{font-size:16px}}
@media(max-width:600px){#turn-model{gap:5px;white-space:nowrap}#turn-model svg{width:25px}.entry-links{max-width:245px}.entry-links #turn-model{flex-basis:100%;justify-content:flex-end}.entry-links #choose-character{flex-basis:auto;max-width:220px}#ai-caption{top:105px;left:17px;width:calc(100% - 34px)}#ai-caption h1{font-size:29px;margin-bottom:10px;max-width:340px}#ai-caption>p{font-size:12px;line-height:1.45;margin-bottom:8px;max-width:340px}#ai-caption>button{font-size:11px;padding:5px 0}#ai-inspection{left:17px;bottom:13px;width:calc(100% - 34px)}.ai-model-controls{gap:10px 18px;margin-bottom:8px}.ai-model-controls label{font-size:11px}#ai-trace{font-size:12px;padding:5px 0}#ai-observation{font-size:12px;line-height:1.4;margin-bottom:4px}#ai-inspection>small{font-size:10px}.ai-controls{height:137px;padding:25px 17px 15px;gap:8px;grid-template-columns:.8fr .8fr .8fr 1.25fr .9fr}.ai-controls span{font-size:13px}.ai-controls small{font-size:11px;margin-top:9px}.ai-controls button:nth-child(4){padding-left:10px}.ai-controls button:nth-child(4)[aria-current]:before{left:10px}.character-cast img{height:100px}.character-figures.character-cast{gap:8px}}
@media(prefers-reduced-motion:reduce){#study-platform,#ai-world,.ai-model-object,.ai-request{transition:none}#ai-world.tracing .ai-link{animation:none}}
/* Keep explanation inspectable so the study object, rather than its caption, owns the view. */
#ai-context-more{font-size:12px;line-height:1.5;position:relative;width:100%}
#ai-context-more summary,#ai-trace-detail summary{cursor:pointer;width:max-content;text-decoration:underline;text-underline-offset:4px;padding:5px 0;color:var(--muted)}
#ai-context-more[open]{padding:12px 16px;background:var(--paper);box-shadow:6px 14px 22px #292c2923}
#ai-context-more>p{font-size:14px;line-height:1.6;margin:15px 0;max-width:40ch}
#ai-context-more>p.ai-authored-note{font-size:11px;color:var(--muted)}
#ai-context-more>button{font-size:12px;text-align:left;border-bottom:1px solid var(--line);padding:7px 0;color:var(--red)}
#ai-trace-detail{position:relative;font-size:12px;line-height:1.5;width:100%}
#ai-trace-detail[open]{padding:16px;background:var(--paper);box-shadow:6px 14px 22px #292c2923}
#ai-trace-detail>small{font-size:11px;color:var(--muted);line-height:1.5}
#ai-result-summary{font-size:14px;line-height:1.5;margin:0 0 3px;max-width:55ch;min-height:1.5em}
#ai-trace-detail>p{margin-top:10px}
#ai-context-more summary:focus-visible,#ai-trace-detail summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
#ai-controls button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.ai-model-controls label:has(input:disabled){color:var(--muted);cursor:default}
@media(max-width:600px){#ai-caption{top:100px}#ai-caption h1{font-size:29px;margin-bottom:8px}#ai-context-more{font-size:11px;width:100%}#ai-context-more[open]{width:min(330px,100%)}#ai-context-more>p{font-size:13px;line-height:1.5}#ai-inspection{bottom:12px}.ai-model-controls{gap:8px 15px;margin-bottom:5px}.ai-model-controls label{font-size:11px}#ai-trace{padding:5px 0;font-size:12px}#ai-result-summary{font-size:12px;line-height:1.4;min-height:1.4em}#ai-trace-detail{font-size:11px}#ai-trace-detail[open]{position:absolute;left:0;bottom:0;z-index:30;padding:18px}#ai-observation{font-size:13px;line-height:1.5}.ai-part strong{font-size:45px}.ai-part small{display:none}.agent-label{font-size:44px}.model-response{font-size:32px}.ai-controls{grid-template-columns:.85fr .85fr .85fr 1.3fr .9fr;gap:9px}.ai-controls span{font-size:12px}.character-cast img{height:115px}}
/* A fixed study window must not scroll when focus moves between its objects. */
#viewport,#ai-face{overflow:clip}
.ai-model-controls.model-only label{display:none}
#ai-trace-artifact{font-size:13px;line-height:1.55;max-height:35vh;overflow:auto;scrollbar-color:var(--muted) var(--paper);margin:18px 0 0}
#ai-trace-artifact dt{font-weight:500;margin-top:16px}#ai-trace-artifact dt:first-child{margin-top:0}#ai-trace-artifact dd{margin:5px 0 0;color:var(--muted)}
#ai-trace-detail[open]{max-height:65vh;overflow:auto;scrollbar-color:var(--muted) var(--paper)}
.turn-short{display:none}
@media(max-width:600px){.turn-long{display:none}.turn-short{display:inline}.entry-links #choose-character{order:1;flex-basis:100%;max-width:none}.entry-links #turn-model{order:2;flex-basis:auto;justify-content:flex-end}.entry-links [data-open="books"]{order:3}#character-picker{padding:18px}.character-heading h2{font-size:30px;margin-bottom:12px}#character-picker>p{font-size:12px;line-height:1.45;margin-bottom:12px}#character-picker .character-note{font-size:11px;line-height:1.4;margin:12px 0}.character-cast img{height:85px;margin-bottom:4px}.character-cast span{min-height:26px}.character-figures.character-cast{padding:8px 0 12px;border-top:0}.character-cast button{font-size:11px}.life-choices>button{padding:12px 0;min-height:54px}.life-choices strong{font-size:15px}.life-choices span{font-size:12px}.character-start{padding:10px 0;margin-top:0}}
.ai-controls .actual-lab-link{position:absolute;top:7px;left:3.5vw;padding:4px 0;color:var(--red);font-size:12px;border-bottom:1px solid var(--line)}
.ai-controls button[data-ai-level="organisation"]{padding-left:20px;border-left:1px solid var(--line)}
.ai-controls button:nth-child(4){padding-left:0;border-left:0}.ai-controls button[data-ai-level="organisation"][aria-current]:before{left:20px}.ai-controls button:nth-child(4)[aria-current]:before{left:0}
@media(max-width:600px){.ai-controls{padding-top:36px}.ai-controls .actual-lab-link{left:17px;top:6px;font-size:11px}.ai-controls button[data-ai-level="organisation"]{padding-left:8px}.ai-controls button[data-ai-level="organisation"][aria-current]:before{left:8px}}
/* The model is a graphite study, with interface labels outside the drawing. */
.ai-model-object{left:970px;top:685px;width:510px;height:345px}
.ai-model-object>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(12px 18px 12px #292c2914);user-select:none}
.model-caption{position:absolute;left:120px;top:350px;font:35px/1.1 Hand,cursive;white-space:nowrap}
.ai-model-object .model-response{position:absolute;left:120px;top:395px;font:27px/1.1 Hand,cursive;color:var(--red);white-space:nowrap}
.ai-model-object .model-location{top:465px;left:80px;font-size:25px}
@media(max-width:600px){.model-caption{font-size:40px;top:350px}.ai-model-object .model-response{font-size:32px}}
.peer-study{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ai-peer:before{content:'';position:absolute;inset:-30px -15px -15px;border:1.4px solid #9da596;transform:skewY(-12deg);background:#e9e7dc22}
#ai-legend{display:none}
#ai-screen-labels{position:absolute;inset:0;z-index:10;pointer-events:none}
#ai-screen-labels>span{position:absolute;display:block;font:13px/1.3 Human,Arial,sans-serif;text-align:center;color:var(--ink)}
#ai-screen-labels small{display:block;font:15px/1.15 Hand,cursive;color:var(--red);margin-top:4px}
#ai-screen-labels .unavailable{color:var(--muted);text-decoration:line-through}
@media(min-width:601px){#ai-screen-labels{display:none}}
@media(max-width:600px){.ai-model-object .model-caption,.ai-model-object .model-response,.ai-model-object .model-location,.ai-part strong,.agent-label,.ai-peer>span,.ai-shared-record,.device-label{visibility:hidden}}
