:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#eee9dd;background:#0a121a;font-synthesis:none;--ink:#eee9dd;--muted:#b0b7b6;--line:#ffffff2c;--accent:#e1c69a;--panel:#14232b}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{min-height:44px}button:hover{color:var(--accent)}[hidden]{display:none!important}#app,#world,.scrim{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}.scrim{pointer-events:none;background:linear-gradient(0deg,#07121def 0%,#07121d45 24%,transparent 49%,transparent 85%,#06101a66 100%)}header{position:absolute;inset:28px 40px auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-align:left;font-size:18px;letter-spacing:.15em;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:.23em;font-weight:400;margin-top:5px;opacity:.62}.brand-symbol{font-size:38px;font-weight:300}.top-right{display:flex;gap:12px;align-items:center}.circle{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font-size:22px;backdrop-filter:blur(12px);background:#0a192126}.quiet{font-size:13px}.identity{position:absolute;right:43px;top:116px;text-align:right;font-size:10px;color:var(--muted);letter-spacing:.07em;display:grid;gap:5px;max-width:32vw;pointer-events:none}.identity #kind{font-size:11px;color:var(--accent)}.story{position:absolute;left:48px;bottom:52px;width:min(520px,53vw);pointer-events:none}.story>*{pointer-events:auto}.steps{display:flex;align-items:center;gap:12px;margin-bottom:8px}.steps button{padding:0;font-size:11px;letter-spacing:.1em;color:#a8b0b5;min-height:36px}.steps button[aria-current=true]{color:var(--accent)}.steps i{display:block;width:24px;height:1px;background:var(--line)}h1{font-size:clamp(30px,3.35vw,53px);line-height:1.27;font-weight:450;letter-spacing:.035em;margin:0 0 15px;white-space:pre-line}.story>p{font-size:15px;line-height:1.85;margin:0;max-width:440px;color:#c6ccc9}.gesture{position:absolute;top:24%;left:50%;transform:translateX(-50%);border:1px solid #ffffff15;border-radius:25px;padding:9px 17px;font-size:11px;letter-spacing:.03em;background:#07172240;pointer-events:none;color:#e3e3d9;backdrop-filter:blur(7px);transition:opacity .4s}.gesture.quiet-hint{opacity:0}.continue{position:absolute;right:48px;bottom:54px;display:flex;flex-direction:column;align-items:flex-end;gap:18px}.next{display:flex;align-items:center;gap:23px;font-size:14px;letter-spacing:.03em}.next b{border:1px solid #d4c5a070;border-radius:50%;font-size:28px;font-weight:300;width:62px;height:62px;display:grid;place-items:center;background:#d5c6a00a;transition:.2s}.next:hover b{background:#d5c6a022;transform:translate(2px,-2px)}.source{font-size:11px;color:#a2abae;border-bottom:1px solid #a2abae40;min-height:30px;padding:0 2px}#parameterBox{margin-top:19px;max-width:340px}#parameterBox label{display:flex;justify-content:space-between;font-size:11px;color:#c5cfc9;margin-bottom:6px}input[type=range]{width:100%;height:30px;accent-color:var(--accent);cursor:ew-resize;background:transparent}#riverAction{margin-top:14px}#riverStatus{font-size:11px;color:#c5cfc9;margin:8px 0 0}.primary,#failure button{background:var(--accent);color:#14232b;border-radius:24px;padding:9px 20px;min-height:44px;font-size:13px}.primary span{margin-left:15px}#connections{margin-top:14px;display:flex;gap:20px;flex-wrap:wrap}#connections button{font-size:12px;border-bottom:1px solid var(--line);text-align:left;padding:0}#loading{position:absolute;inset:0;display:grid;align-content:center;justify-content:center;background:#08151bdd;text-align:center;gap:15px;backdrop-filter:blur(12px)}#loading p{font-size:12px;letter-spacing:.15em}.loader{width:28px;height:28px;border:1px solid #aab7b64d;border-top-color:var(--accent);border-radius:50%;animation:spin 1.5s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}#failure{position:absolute;top:30%;left:50%;transform:translateX(-50%);width:min(440px,88%);padding:30px;background:#14232bf5;border:1px solid var(--line);border-radius:12px}#failure h2{font-size:23px}#failure p{font-size:14px;line-height:1.8}#failure button{margin:5px}#toast{position:absolute;bottom:25%;left:50%;transform:translateX(-50%);padding:12px 22px;background:#1b302df2;border:1px solid var(--line);font-size:13px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;max-width:80vw}#toast.visible{opacity:1}dialog{background:var(--panel);color:var(--ink);border:1px solid #74857a40;border-radius:16px;padding:46px;width:min(680px,calc(100vw - 36px));max-height:85dvh;box-shadow:0 35px 110px #0008}dialog::backdrop{background:#030b1390;backdrop-filter:blur(14px)}dialog h2{font-size:30px;font-weight:450;line-height:1.4;margin:0 0 24px}dialog h3{font-weight:500;font-size:17px;margin:22px 0 7px}dialog p{font-size:14px;line-height:1.9;color:#bec9c5}.eyebrow{font-size:10px!important;letter-spacing:.15em;color:var(--accent)!important;margin:0 0 12px}.close{position:absolute;right:17px;top:13px;font-size:27px;color:#9fafaf;width:44px}a{color:var(--accent);text-decoration:none;font-size:12px;line-height:2}.boundary{border-left:2px solid #a18b63;padding-left:16px;font-size:12px!important;color:#aab8b5!important;margin-top:25px}#sources{display:grid;gap:10px}#worlds{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}#worlds button{padding:18px 0;text-align:left;border-top:1px solid var(--line);display:grid;grid-template-columns:36px 1fr;gap:12px}#worlds b{font-size:13px;font-weight:500}#worlds small{display:block;font-size:11px;color:#8b9fa1;line-height:1.7;margin-top:5px}#worlds .world-number{font-size:10px;color:#8b9fa1;padding-top:3px;letter-spacing:.1em}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.tool-grid button,.file,#focusWorld{border:1px solid var(--line);border-radius:8px;padding:12px;text-align:left;font-size:13px}.tool-grid button:hover{background:#ffffff06}.setting{display:flex;gap:12px;padding:10px 0;font-size:13px}.setting input{accent-color:var(--accent)}.file{cursor:pointer}.file input{max-width:100%;font-size:10px;margin-top:8px}details{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}summary{font-size:13px;cursor:pointer}#bookmarks{display:grid}#bookmarks button{border-top:1px solid var(--line);text-align:left;padding:15px 0;font-size:13px}#bookmarks small{display:block;font-size:10px;color:var(--muted);margin-top:7px}#rest{text-align:center}#rest .primary{margin-top:15px}#knowledge article{border-top:1px solid var(--line)}body[data-theme=studio]{--ink:#f2e8dc}body[data-theme=studio] .scrim{background:linear-gradient(0deg,#1a1a19f0 0%,#1a1a1950 23%,transparent 47%,transparent 85%,#1a1a1938 100%)}body[data-theme=river] .scrim{background:linear-gradient(0deg,#14201bee 0%,#14201b80 23%,transparent 50%,#14201b30 100%)}@media(max-width:800px){header{inset:18px 22px auto}.brand{font-size:15px}.brand-symbol{font-size:31px}.identity{top:97px;right:24px;font-size:9px;max-width:50vw}.story{left:26px;bottom:30px;width:65vw}.story>p{font-size:13px;max-width:80vw}h1{font-size:31px;margin-bottom:11px}.continue{right:24px;bottom:29px;gap:13px}.next span{display:none}.next b{width:48px;height:48px;font-size:24px}.source{font-size:10px}.gesture{top:25%;font-size:10px;white-space:nowrap}.quiet span{display:none}.top-right{gap:8px}.circle{width:42px;height:42px}.steps{gap:8px;margin-bottom:5px}.steps i{width:18px}#parameterBox{margin-top:10px;max-width:240px}dialog{padding:34px 26px}dialog h2{font-size:25px}#worlds{gap:0 18px}}@media(max-width:540px){.story{width:73vw;bottom:25px}h1{font-size:28px}.story>p{font-size:12px;line-height:1.7}.identity{max-width:56vw;top:96px}.gesture{top:23%}#connections{gap:12px}#connections button{font-size:10px}.continue{right:17px}.source{max-width:60px}.top-right{gap:5px}#worlds{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr 1fr}dialog{max-height:90dvh}.brand{gap:6px;font-size:14px}.brand small{font-size:8px}.identity #kind{font-size:10px}}@media(max-height:580px) and (min-width:700px){header{top:12px}.identity{top:77px}.story{bottom:22px}.story h1{font-size:29px}.story>p{font-size:12px}.continue{bottom:22px}.gesture{top:24%}.steps{margin-bottom:0}#parameterBox{margin-top:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
body[data-theme=studio] header{color:#28332f}body[data-theme=studio] header button:hover{color:#745b31}body[data-theme=studio] header .circle{border-color:#28332f40;background:#ffffff30}body[data-theme=studio] .identity{color:#596057}body[data-theme=studio] .identity #kind{color:#6d5736}body[data-theme=studio] .gesture{color:#29382f;background:#fff8e35c;border-color:#453e3020}
/* Minimal chrome still provides readable, generous touch targets. */
.steps button{min-height:44px;font-size:12px}.source{min-height:44px;font-size:12px}.next{font-size:15px}.gesture{top:19%}.story>p{color:#dde2dd}.story .steps button{color:#d0d5cf}.story .steps button[aria-current=true]{color:#f4d499}@media(max-width:540px){.source{font-size:11px;max-width:70px}.steps button{font-size:12px}.gesture{top:23%}}
body[data-theme=studio] .scrim{background:linear-gradient(0deg,#d8d2c6f5 0%,#d8d2c699 27%,transparent 60%,transparent 90%,#b6b1a838 100%)}body[data-theme=studio] .story,body[data-theme=studio] .continue{color:#28372e}body[data-theme=studio] .story>p{color:#3c4b41}body[data-theme=studio] .steps button{color:#4d5c50}body[data-theme=studio] .steps button[aria-current=true]{color:#73562c}body[data-theme=studio] .steps i{background:#46554750}body[data-theme=studio] #parameterBox label{color:#3c4b41}body[data-theme=studio] .next b{border-color:#53605280;background:#e8e3d322}body[data-theme=studio] .source,body[data-theme=studio] #connections button{color:#3c4b41;border-color:#46554750}body[data-theme=studio] dialog{--ink:#eee9dd;color:var(--ink)}body[data-theme=studio] .story input[type=range]{accent-color:#7a673e}
body[data-theme=studio] .scrim{background:none}
#relatedInEvidence{border-top:1px solid var(--line);margin-top:26px;padding-top:16px;display:grid;gap:4px}#relatedInEvidence[hidden]{display:none}#relatedInEvidence p{font-size:11px;color:var(--muted);letter-spacing:.08em}#relatedInEvidence button{text-align:left;min-height:44px;border-bottom:1px solid var(--line);font-size:13px}
#back{display:flex;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--line);border-radius:24px;background:#0a1921df;backdrop-filter:blur(8px);white-space:nowrap}#back span{display:inline}body[data-theme=studio] #back{color:#28372e;background:#e8e3d3e8;border-color:#46554750}#evidence .close{width:auto;padding:0 8px;font-size:12px}
@media(max-width:540px){#back{font-size:11px}}
/* A continuous view of Earth, with one scale ruler and contextual comparisons. */
.space-door{display:block;padding:0;color:var(--accent);font-size:13px;margin-top:7px;text-align:left}.cosmos-labels{position:absolute;inset:0;pointer-events:none}.cosmos-labels button{position:absolute;transform:translateX(-50%);pointer-events:auto;font-size:11px;min-width:44px;min-height:44px;padding:5px 9px;text-shadow:0 1px 5px #000;background:#08131d85;border-radius:22px;color:#becad6}.cosmos-labels button.selected,.cosmos-labels [data-body=self],.cosmos-labels [data-body=milky-way]{color:#ffe1a5}.cosmos-labels button.locator:before{content:'';position:absolute;left:50%;top:-16px;transform:translateX(-50%);width:18px;height:18px;border:1px dashed #e6cf9b;border-radius:50%;pointer-events:none}#cosmosControls{margin-top:8px;max-width:370px}#cosmosControls label{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#bfccd2}#spaceLenses{display:flex;gap:20px}#spaceLenses button{font-size:12px;padding:0;color:#aebdc7}#spaceLenses button[aria-pressed=true]{color:var(--accent);border-bottom:1px solid var(--accent)}body[data-view=space] .story{bottom:28px}body[data-view=space] h1{font-size:clamp(25px,3vw,39px)}body[data-view=space] .story>p{font-size:13px;line-height:1.7}body[data-view=space] .gesture{top:19%}body[data-view=space] .identity{max-width:42vw}body[data-view=space] .scrim{background:linear-gradient(0deg,#06121cf5 0%,#06121c8c 27%,transparent 53%)}.planet-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0}.planet-choices button{border:1px solid var(--line);border-radius:8px;font-size:13px}@media(max-width:540px){body[data-view=space] .story{width:calc(100vw - 105px);bottom:16px}body[data-view=space] h1{font-size:24px}body[data-view=space] .story>p{font-size:11px}body[data-view=space] .identity{max-width:75vw;font-size:8px}.cosmos-labels button{font-size:10px;padding:4px}#cosmosControls label{font-size:9px;flex-direction:column;gap:3px}#spaceLenses{gap:18px}.space-door{font-size:12px}body[data-view=space] .gesture{top:19%}body[data-view=space] .continue{bottom:22px}}
.story #inquiryContext{font-size:10px;line-height:1.5;color:var(--accent);margin:0 0 7px}body[data-theme=studio] .story #inquiryContext{color:#73562c}
#mapWorld{position:fixed;inset:0;background:#092035}#mapWorld .maplibregl-ctrl-bottom-left{bottom:3px;max-width:100%;font-size:9px}#mapWorld .maplibregl-ctrl-attrib{font-size:9px;background:#10202be6;color:#dbe5e9;line-height:18px}#mapWorld .maplibregl-ctrl-attrib a{color:#dbe5e9;font-size:9px}#spaceContext{display:flex;gap:18px;flex-wrap:wrap}#spaceContext button{font-size:12px;color:var(--accent);padding:0}#orbitControls{display:flex;align-items:center;gap:18px}#orbitControls button{font-size:12px;padding:0;color:var(--accent)}#orbitDays{font-size:10px;color:#bccbd3}#skyControls{display:flex;gap:20px;align-items:center}#skyChoice{max-width:200px;color:#e7d4b1;background:#12232f;border:1px solid #ffffff30;border-radius:8px;font:inherit;font-size:12px;padding:10px}#skyExit{font-size:12px}body[data-view=space] .story{width:min(620px,65vw)}body[data-view=space] h1{font-size:clamp(24px,2.7vw,36px)}@media(max-width:540px){body[data-view=space] .story{width:calc(100vw - 102px)}#spaceContext{gap:4px}#spaceContext button{font-size:11px}#orbitControls{gap:10px;flex-wrap:wrap}#orbitDays{font-size:9px}#skyChoice{max-width:170px}body[data-view=space] h1{font-size:23px}}@media(max-height:700px) and (min-width:700px){body[data-view=space] h1{font-size:24px}body[data-view=space] .story>p{font-size:11px}body[data-view=space] .story{bottom:16px}#spaceContext button,#orbitControls button,#spaceLenses button{min-height:36px}}
body[data-map=true] .scrim{background:linear-gradient(0deg,#07131cf5 0%,#07131cc4 24%,transparent 54%,transparent 74%,#07131cbd 100%)}body[data-map=true] .identity{background:#0c1c27dc;padding:9px 13px;border-radius:8px}body[data-map=true] .gesture{background:#10202cdb}

#mapCredits{position:absolute;bottom:0;left:0;padding:2px 8px;background:#10202bf0;color:#dbe5e9;font-size:9px;line-height:18px}#mapCredits a{color:#dbe5e9;font-size:9px;line-height:18px}body[data-map=true] .cosmos-labels{visibility:hidden}

.map-loading{position:absolute;right:43px;top:177px;font-size:10px;color:#e4dfcd;background:#10202bdb;border-radius:12px;padding:5px 10px;pointer-events:none}@media(max-width:540px){.map-loading{right:20px;top:141px}}
/* P-09: one curiosity door, optional help and a reversible structure lens. */
#curiosityDoor{border:0;background:transparent;color:inherit;font-size:13px;padding:8px}#curiosity input,#curiosity textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #a69e8e;border-radius:12px;background:#faf7ee;color:#263940;padding:12px;margin:12px 0;font:inherit}#curiosity textarea{min-height:72px}#curiosity article{padding:16px 0;border-top:1px solid #cec6b8}#curiosity h4{margin:0}#curiosity article button{margin:8px 8px 0 0}.question-choices{display:flex;gap:8px;flex-wrap:wrap}#simpleHint,#observationCompare{font-size:13px;background:#f7ebd7;color:#253c43;border-radius:12px;padding:8px 14px;margin-top:10px}#simpleHint p,#observationCompare p{font-size:13px;margin:0}#simpleHint button,#observationCompare button{font-size:12px;padding:5px;margin-right:8px}#localProfiles{border:0;padding:12px 0}#localProfiles button[aria-pressed=true]{outline:2px solid #876933}#structureLens{position:absolute;z-index:4;top:155px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 36px));background:#eff0e8f5;color:#283e47;border-radius:20px;padding:12px 18px;box-sizing:border-box}#structureLens[data-mode=scan]{top:145px;background:#eff0e8e8;width:min(510px,calc(100% - 36px))}#structureLens svg{display:block;width:100%;max-height:240px}#structureLens nav,.structure-parts{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}#structureLens button{border:0;border-radius:14px;padding:9px 12px;background:transparent;color:inherit;font:inherit;font-size:13px;min-height:36px}#structureLens button[aria-pressed=true]{background:#dac59e}#structureLens p{font-size:12px;line-height:1.5;margin:6px 0 0}#structureLens[data-mode=scan] p{max-width:480px}#semanticStage{position:absolute;inset:155px 24px 310px;overflow:auto;color:#e9ebe4;max-width:960px;margin:auto;outline-offset:4px}#semanticStage svg{width:100%;max-height:270px}#semanticStage img{max-width:100%;max-height:220px;object-fit:contain}#semanticStage p{font-size:14px;line-height:1.6}#semanticStage .semantic-images{display:flex;gap:12px;justify-content:center}#semanticStage figure{margin:0;flex:1;min-width:0}#semanticStage figcaption{font-size:12px}#semanticStage button{background:#e5d4b1;color:#273d44;border:0;border-radius:15px;padding:10px 16px;margin:5px;font:inherit}body[data-semantic=true] .scrim{display:none}body[data-semantic=true] #world{background:#20363e}body[data-semantic=true] #structureLens{top:140px}body[data-semantic=true] #structureLens:not([data-mode=scan])~*{pointer-events:auto}
@media(max-height:760px){#structureLens{top:125px;width:430px;max-width:calc(100% - 28px)}#structureLens svg{max-height:150px}#structureLens[data-mode=scan]{top:115px}#semanticStage{top:130px;bottom:300px}}@media(max-width:600px){#structureLens{top:130px}#structureLens button{padding:7px;font-size:12px}#structureLens svg{max-height:155px}#structureLens[data-mode=scan]{top:122px}#structureLens[data-mode=scan] p{display:none}#semanticStage{inset:155px 15px 340px}#semanticStage svg{max-height:170px}.continue{gap:3px}}
body[data-structure=body] #world canvas,body[data-structure=relation] #world canvas{visibility:hidden}body[data-structure=body] #structureLens,body[data-structure=relation] #structureLens{background:#e9e8dd}#structureLens [data-flipper]{cursor:pointer}#returnChoice button{display:block;width:100%;margin-top:12px}body[data-semantic=true]{color:#e9ebe4}body[data-semantic=true] .identity,body[data-semantic=true] .story,body[data-semantic=true] .continue{color:#e9ebe4}
/* Fallback uses its own readable palette and a viewport measured above the story. */
body[data-semantic=true] #world{background:#e7e2d7}body[data-semantic=true] #semanticStage{color:#283e47}body[data-semantic=true] header,body[data-semantic=true] .continue button,body[data-semantic=true] .identity,body[data-semantic=true] .identity #kind,body[data-semantic=true] .story h1,body[data-semantic=true] .story>p,body[data-semantic=true] .story #parameterBox label,body[data-semantic=true] .story .steps button,body[data-semantic=true] #riverStatus{color:#283e47}body[data-semantic=true] .story .steps button[aria-current=true]{color:#735723}body[data-semantic=true] .gesture{display:none}body[data-semantic=true] #semanticStage a{color:#386777;text-decoration:underline}body[data-semantic=true] #semanticStage .semantic-images{max-height:240px}body[data-semantic=true] #semanticStage figure{text-align:center;overflow:hidden}body[data-semantic=true] #semanticStage img{width:100%;max-height:200px;object-fit:contain}body[data-semantic=true] #structureLens[data-mode=scan]{background:#d7d9cd}body[data-semantic=true] #semanticStage>p{font-size:12px;line-height:1.55}body[data-semantic=true][data-structure=body] #semanticStage,body[data-semantic=true][data-structure=relation] #semanticStage{visibility:hidden}
/* The GPU-free route uses natural document flow: no controls behind overlays. */
body[data-semantic=true] #app{position:relative;inset:auto;min-height:100dvh;display:flex;flex-direction:column;background:#e7e2d7;padding-bottom:24px}body[data-semantic=true] header{position:relative;inset:auto;order:0;margin:24px 32px}body[data-semantic=true] .identity{position:relative;inset:auto;order:1;margin:0 32px;max-width:none}body[data-semantic=true] #structureLens{position:relative;inset:auto;transform:none;order:2;margin:16px auto}body[data-semantic=true] #world{position:relative;inset:auto;order:3;width:100%;min-height:150px}body[data-semantic=true] #semanticStage{position:relative!important;inset:auto!important;margin:16px auto;padding:0 24px;max-width:900px;overflow:visible}body[data-semantic=true] .story,body[data-semantic=true][data-journey=true] .story{position:relative;inset:auto;order:4;width:calc(100% - 48px);max-width:900px;margin:20px auto 0}body[data-semantic=true] .story h1{font-size:28px}body[data-semantic=true] .continue,body[data-semantic=true][data-journey=true] .continue{position:relative;inset:auto;order:5;flex-direction:row;align-items:center;justify-content:flex-end;max-width:900px;width:calc(100% - 48px);margin:20px auto;gap:22px}body[data-semantic=true] .continue #curiosityDoor{color:#283e47}body[data-semantic=true] #parameterBox{max-width:500px}body[data-semantic=true] #semanticStage .semantic-images{max-height:none}body[data-semantic=true] #semanticStage img{max-height:340px}body[data-semantic=true] #semanticStage figure{background:#ddd9d0;border-radius:14px;padding:10px}body[data-semantic=true] .next span{display:inline}body[data-semantic=true][data-structure=body] #world,body[data-semantic=true][data-structure=relation] #world{display:none}body[data-semantic=true] #toast{position:fixed;bottom:18px;z-index:10}body[data-semantic=true] #loading{position:fixed;z-index:15}body[data-semantic=true] .quiet,body[data-semantic=true] .circle{background:#dadbd0;color:#283e47}body[data-semantic=true] #spaceDoor{color:#72561e}@media(max-width:600px){body[data-semantic=true] header{margin:18px}body[data-semantic=true] .continue{flex-wrap:wrap;gap:14px}body[data-semantic=true] #semanticStage{padding:0 18px}body[data-semantic=true] .story h1{font-size:24px}}
body[data-structure=body] #world,body[data-structure=relation] #world{background:#ddd9cd}#structureLens{overflow:auto}#structureLens button{min-height:48px}#structureLens [data-flipper]:focus{outline:3px solid #9a702e;outline-offset:4px}body[data-semantic=true] #semanticStage svg text{fill:#304954}

/* The semantic palette must also cover return and related-question controls. */
body[data-semantic=true] #back{background:#d7d9cd;color:#283e47}body[data-semantic=true] #connections button{color:#735723}

/* The child's inquiry leads the reading area; short choices record self-report. */
body .story #inquiryContext{font-size:clamp(16px,1.7vw,20px);line-height:1.4;font-weight:600;margin:0 0 12px;overflow-wrap:anywhere}#discoveryChoices{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}#discoveryChoices button{min-height:44px;border:1px solid currentColor;border-radius:20px;padding:8px 14px;font-size:13px;color:inherit}#discoveryChoices[hidden]{display:none}#followQuestion{display:block;background:#e5d4b1;color:#273d44;border-radius:16px;padding:12px 18px;margin:8px 0 16px}#followQuestion[hidden]{display:none}

.photo-observation-point{position:absolute;width:14px;height:14px;background:#42bfb8;border:2px solid #184e4a;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.photo-observation-point[hidden]{display:none}

body[data-semantic=true] #discoveryChoices{color:#283e47}#semanticStage figcaption{overflow-wrap:anywhere}body[data-journey=true] #journeyScope{width:auto;max-width:100%;overflow-wrap:anywhere}
