:root { color-scheme: dark; font: 16px/1.5 system-ui, sans-serif; background: #090d18; color: #e5eaf3; }
/* Legacy examples remain mounted for saved-state continuity, not normal navigation. */
body:not([data-developer-tools="enabled"]) [data-developer-only] { display: none !important; }
#entity-space:focus { outline: none; }
#interaction-recovery-status { position: fixed; z-index: 1100; top: 76px; left: 20px; right: 20px; width: fit-content; max-width: calc(100vw - 40px); margin: 0; padding: 16px; border: 1px solid #9471b4; border-radius: 12px; background: #100e18; color: #f2eafa; }
/* Authored orb choreography borrows the actual Inspector boundary. It neither
   paints an extra Inspector solar system nor changes the retained Object tree. */
.experience-package-scene[data-spatial-scene="authored-objects"]:is([data-orb-phase="idle"], [data-orb-phase="unavailable"]) .experience-object-viewport { visibility: hidden; pointer-events: none; }
.experience-package-scene[data-spatial-scene="authored-objects"] :is(.experience-conductor, .experience-object-lines) { display: none; }
.experience-package-scene[data-spatial-scene="authored-objects"]:is([data-orb-phase="entering"], [data-orb-phase="returning"]) .experience-object-viewport { overflow: visible; pointer-events: none; }
.experience-package-scene[data-spatial-scene="authored-objects"] [data-orb-derived="false"] { opacity: 0; pointer-events: none; }
.experience-package-scene[data-spatial-scene="authored-objects"][data-orb-phase="active"] [data-orb-derived="false"] { opacity: 1; pointer-events: auto; transition: opacity 160ms ease, left 600ms ease, top 600ms ease, width 600ms ease, height 600ms ease, border-radius 600ms ease; }
.experience-package-scene[data-spatial-scene="authored-objects"][data-orb-phase="returning"] .experience-object > * { visibility: hidden; }
body:has(.experience-package-scene[data-spatial-scene="authored-objects"][data-view="experience"]:not([hidden])) :is(#entity-space .entity-space-toolbar, #entity-space .entity-space-status, #entity-space .entity-space-help, #entity-space .entity-space-inspector-shell, #entity-space-tools) { visibility: hidden; pointer-events: none; }
.experience-library { position: fixed; z-index: 820; top: 76px; left: 20px; width: min(620px, calc(100vw - 40px)); max-height: calc(100dvh - 110px); overflow: auto; padding: 20px; border: 1px solid #74618666; border-radius: 18px; background: #100e18f2; box-shadow: 0 20px 90px #0008; }
.experience-authoring-tray { width: min(460px, calc(100vw - 40px)); max-height: min(46dvh, max(44px, calc(var(--shell-navigation-top, 80dvh) - 76px))); padding: 14px; overscroll-behavior: contain; }
.experience-authoring-tray .experience-library-heading { align-items: flex-start; gap: 8px; }
.experience-authoring-tray h2 { font-size: 16px; }
.experience-authoring-tray :is(button, input, select, textarea) { max-width: 100%; }
.experience-authoring-tray :is(pre, p, label) { overflow-wrap: anywhere; }
.experience-authoring-tray pre { max-height: 200px; overflow: auto; font-size: 11px; }
.experience-library-heading { display: flex; justify-content: space-between; align-items: center; }
#experience-library-close { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.experience-library h2 { margin: 0; font-size: 20px; }
.experience-library p { font-size: 13px; color: #b7afc4; }
.experience-library textarea { display: block; width: 100%; border: 1px solid #746186; background: #07070c; color: white; border-radius: 10px; padding: 12px; font: inherit; }
#experience-library-list { padding: 0; list-style: none; }
#experience-library-list li { margin: 16px 0; border-top: 1px solid #ffffff20; padding: 12px 0; }
#experience-library-list h3 { font-size: 15px; margin: 5px 0; }
.experience-requirements-review, .experience-update-review { margin: 12px 0; padding: 12px; border: 1px solid #9471b44d; border-radius: 12px; background: #19132399; overflow-wrap: anywhere; }
.experience-requirements-review :is(h3, h4), .experience-update-review :is(h3, h4) { margin: 0 0 8px; }
.experience-requirements-review :is(ul, ol), .experience-update-review :is(ul, ol) { padding-left: 20px; }
.experience-requirements-review li, .experience-update-review li { margin: 8px 0; }
.experience-requirements-review label, .experience-update-review label { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0; }
.experience-requirements-review input[type="checkbox"], .experience-update-review input[type="checkbox"] { flex: 0 0 auto; margin-top: 6px; }
.experience-requirements-review :is(button, select), .experience-update-review :is(button, select) { min-height: 44px; max-width: 100%; white-space: normal; }
.experience-update-review pre { max-height: 220px; overflow: auto; padding: 8px; background: #09070d; font-size: 12px; }
.experience-package-scene { position: fixed; inset: 0; margin: 0; z-index: 100; background: transparent; pointer-events: none; }
.experience-run-heading { position: absolute; top: 70px; left: 20px; z-index: 3; margin: 0; max-width: min(400px, calc(100vw - 40px)); overflow: auto; pointer-events: auto; background: #110f19cc; border: 1px solid #8b729433; border-radius: 12px; padding: 10px 14px; }
/* Inspector owns its toolbar and details. The shell's Experiences control
   reopens the same retained run; its editing panel must not intercept Inspector. */
.experience-package-scene[data-view="inspector"] .experience-run-heading { display: none; }
/* Closed ordinary Experiences retain their run and DOM, not a second Inspector.
   Only declared owner-orb shells may remain visible during their real return. */
.experience-package-scene[data-view="inspector"]:not([data-spatial-scene="authored-objects"]) .experience-object-viewport { visibility: hidden; pointer-events: none; }
.experience-package-scene > [data-source-binding-status] { position: absolute; left: 20px; bottom: 16px; max-width: min(400px, calc(100vw - 245px)); max-height: min(220px, 44dvh); overflow: auto; pointer-events: auto; padding: 12px; margin: 0; border: 1px solid #9471b480; border-radius: 12px; background: #100e18fa; font-size: 13px; }
@media (max-width: 800px) { .experience-package-scene > [data-source-binding-status] { left: 10px; max-width: calc(100vw - 185px); } }
.experience-run-heading h2 { font-size: 16px; margin: 0; }
.experience-run-heading p { font-size: 11px; color: #a99fb7; margin: 4px 0; }
.experience-object-viewport { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #9b78ba66 transparent; }
.experience-object-viewport[data-scrollable="true"] { pointer-events: auto; }
.experience-package-scene:has(.experience-object-viewport[data-scrollable="true"]) .experience-run-status::before { content: 'Scroll canvas ↕ · '; color: #dec5f1; }
.experience-object-space { position: relative; width: 100%; height: 100%; }
/* Preserve the Inspector canvas and dots beneath the authored Experience. Its
   auxiliary controls are restored unchanged when returning to Inspector. */
body:has(.experience-package-scene[data-view="experience"]:not([data-spatial-scene]):not([hidden])) :is(#entity-space .entity-space-toolbar, #entity-space .entity-space-status, #entity-space .entity-space-help, #entity-space .entity-space-inspector-shell, #entity-space-tools) { visibility: hidden; pointer-events: none; }
.experience-package-scene[data-spatial-scene="day-sections"] .experience-object-viewport { display: none; }
.experience-object-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.experience-object-lines line { stroke: #b6a7d24d; stroke-width: 1; }
.experience-formation-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.experience-formation-boundary { position: absolute; inset: 1.5%; border: 2px solid #aa8dcc; pointer-events: none; border-radius: 0; transition: border-radius 600ms cubic-bezier(.2,.7,.2,1); }
[data-formation="ring"] .experience-formation-boundary { border-radius: 50%; }
.experience-package-scene[data-current="unavailable"] .experience-formation-boundary { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .experience-formation-boundary { transition: none; } }
.experience-formation-lines :is(path, line, circle, ellipse, rect, polyline) { fill: none; stroke: #c5a4e58c; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.experience-package-scene:not([data-view="experience"]) .experience-formation-lines,
.experience-package-scene:is([data-morphing="true"], [data-current="unavailable"]) .experience-formation-lines { visibility: hidden; }
.experience-conductor { position: absolute; left: 45%; top: 43%; width: 10%; height: 10%; border-radius: 50%; background: #945bc3; pointer-events: auto; font-size: 12px; transition: opacity 180ms; z-index: 2; }
.experience-object { position: absolute; z-index: 1; margin: 0; padding: 8px; overflow: hidden; min-width: 44px; min-height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #735099; background: #121019ee; pointer-events: auto; transition: left 600ms cubic-bezier(.2,.7,.2,1), top 600ms cubic-bezier(.2,.7,.2,1), width 600ms cubic-bezier(.2,.7,.2,1), height 600ms cubic-bezier(.2,.7,.2,1), border-radius 600ms cubic-bezier(.2,.7,.2,1), background-color 600ms; }
.experience-object[data-kind="outline"] { z-index: 0; border: 2px solid #aa8dcc; background: var(--experience-shape-fill, transparent); justify-content: flex-start; }
.experience-object[data-kind="outline"] > .experience-object-label { padding: 0 6px; background: #110f19; border-radius: 4px; }
.experience-object[data-kind="marker"] { background: var(--experience-shape-fill, #563e76); border: 2px solid #c8a3ed; }
.experience-object[data-kind="marker"] > .experience-object-label { font-size: clamp(12px, 1.5vw, 22px); font-weight: 600; color: #f8edff; }
.experience-object-decoration { display: none; }
.experience-dot-toggle { position: absolute; right: 0; top: 0; z-index: 3; width: 44px; min-height: 44px; margin: 0; padding: 4px; font-size: 10px; }
.experience-dot-toggle[hidden] { display: none; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="true"] { min-width: 44px; min-height: 44px; padding: 4px; overflow: hidden; align-items: center; justify-content: center; background: #784898; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="true"] :is(.experience-object-button, .experience-object-input, .experience-object-value, .experience-object-board, .experience-source-bind) { display: none; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="true"] > .experience-object-label { display: block; font-size: 10px; line-height: 1.15; text-align: center; pointer-events: none; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="true"] > .experience-dot-toggle { inset: 0; width: 100%; height: 100%; min-height: 44px; border: 0; border-radius: 50%; background: transparent; color: transparent; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="false"]:not([data-kind="outline"]) { min-width: 96px; min-height: 112px; padding-top: 44px; }
.experience-package-scene:is([data-morphing="true"], [data-current="unavailable"]) .experience-object-lines { visibility: hidden; }
.experience-object-label { font-size: 11px; color: #d2c2e5; }
/* Trusted content ports live inside their authored Object, including its morph. */
.experience-object:has(> .experience-native-content) { align-items: stretch; justify-content: flex-start; padding: 0; background: #101017; border-color: #ffffff12; }
.experience-object:has(> .experience-native-content) > .experience-object-label { display: none; }
.experience-native-content, .experience-native-content-shell, .experience-native-content-body { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; width: 100%; height: 100%; overflow: hidden; }
.experience-native-content-shell[hidden] { display: none; }
.experience-native-content > .experience-native-control-status:empty { display: none; }
.experience-native-content > .experience-native-control-status { padding: 16px; margin: 0; }
[data-view="experience"][data-appearance="dots"] .experience-object[data-dot="true"] > .experience-native-content { display: none; }
.experience-package-scene[data-native-content="true"][data-view="experience"] .experience-run-heading { top: auto; bottom: 12px; left: 18px; width: auto; max-width: min(400px, calc(100vw - 70px)); max-height: 70dvh; display: block; padding: 9px 14px; background: #181622f2; }
.experience-content-options { cursor: pointer; color: #bdb6cc; font-size: 12px; }
.experience-package-scene[data-native-content="true"] .experience-run-heading[open] > h2 { margin-top: 12px; }
.experience-package-scene[data-native-content="true"][data-view="experience"] .experience-object[data-kind="outline"] > .experience-object-label { display: none; }
.experience-object-value { font-size: clamp(18px, 2.5vw, 34px); font-variant-numeric: tabular-nums; }
.experience-package-scene[data-view="experience"] .experience-object[data-motion-target="true"] { transition: none; }
.experience-motion-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 8px; }
.experience-motion-controls[hidden] { display: none; }
.experience-motion-controls .experience-motion-scrub { min-width: 0; width: 100%; min-height: 44px; }
.experience-motion-controls .experience-motion-time { font: 12px ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.experience-motion-controls p { flex-basis: 100%; }
.experience-object-button { margin: 0; width: 100%; height: 100%; }
.experience-object:is([data-kind="button"], [data-kind="submit"], [data-kind="playback"]) { padding: 0; min-width: 46px; min-height: 46px; }
.experience-object-button { max-width: none; min-height: 44px; }
.experience-object[data-kind="conference"] .experience-conference-object { font-size: 14px; min-height: 0; }
.experience-conference-object:is(video) { display: block; width: 100%; height: 100%; object-fit: contain; background: transparent; }
.conference-control-icon { display: block; width: 22px; height: 22px; flex: 0 0 auto; pointer-events: none; }
.conference-control-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.conference-copy-id { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); z-index: 1; width: 44px; height: 44px; min-height: 44px; padding: 0; margin: 0; border: 1px solid #ffffff26; border-radius: 12px; background: #28364d; color: #f2f5ff; }
.experience-object[data-conference-object="session-id"] { padding-right: 54px; }
[data-view="inspector"] .conference-copy-id { visibility: hidden; }
.conference-icon-off { display: none; }
[aria-pressed="false"] .conference-icon-off { display: block; }
button:has(> .conference-control-icon) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.conference-safety { position: fixed; left: 18px; bottom: 18px; z-index: 1000; max-width: calc(100vw - 210px); padding: 5px 6px 5px 14px; border: 1px solid #ffffff1c; border-radius: 999px; background: #111722e6; color: #f2f5fa; display: flex; gap: 8px; align-items: center; box-shadow: 0 8px 30px #0003; backdrop-filter: blur(20px); font-size: 12px; }
.conference-safety > span { line-height: 1.3; }
.conference-safety button { width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; flex-shrink: 0; border: 0; border-radius: 50%; background: #ffffff12; }
.conference-safety button:last-child { color: #ff9aab; }
/* The immersive starter authors the same native ports over a full-frame media
   Object. These styles change paint, not geometry, identity or media lifetime. */
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-kind="conference"] { border: 0; padding: 0; background: transparent; color: #f7f9ff; box-shadow: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"] { z-index: 1; background: radial-gradient(ellipse at 55% 35%, #26384a, #121c29 55%, #090f18); }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"]::before { content: 'Ready to connect'; position: absolute; z-index: 1; top: 48%; left: 0; right: 0; text-align: center; font-size: clamp(22px, 3vw, 40px); letter-spacing: -.04em; font-weight: 500; color: #dce6ef; pointer-events: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"][data-conference-active="true"]::before { content: 'Waiting for participant'; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"][data-video-ready="true"]::before { content: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#070d18a6, transparent 24%, transparent 72%, #070d1877); pointer-events: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="remote-video"] > .experience-object-label { display: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is(video) { object-fit: cover; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="local-video"] { z-index: 3; background: #192230; border: 1px solid #ffffff38; box-shadow: 0 12px 50px #0006; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="local-video"]::before { content: 'Camera off'; position: absolute; inset: 0; display: grid; place-items: center; background: #192230; font-size: 13px; color: #bbc6d5; z-index: 1; pointer-events: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object="local-video"][data-video-ready="true"]::before { content: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="local-video"] { transform: scaleX(-1); }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-object="local-video"] > .experience-object-label { position: absolute; bottom: 10px; left: 10px; z-index: 2; color: white; background: #070d1899; padding: 3px 9px; border-radius: 999px; font-size: 11px; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-kind="conference"]:not([data-conference-object$="-video"]) { z-index: 5; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-kind="conference"]:has(> button.experience-conference-object) { overflow: visible; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-kind="conference"][data-selected="true"] { outline: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is(button) { position: relative; border: 1px solid #ffffff26; border-radius: 999px; background: #1d2839d9; color: #f9fbff; backdrop-filter: blur(18px); box-shadow: 0 5px 20px #0002; max-width: 60px; max-height: 60px; min-width: 44px; min-height: 44px; padding: 0; margin: 0; transition: background 120ms, transform 120ms; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is(button):not(:disabled):hover { background: #40516ce6; transform: translateY(-1px); }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is(button)[aria-expanded="true"] { background: #e8f0ff; color: #14243c; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is(button)[aria-pressed="false"] { background: #3c2634ed; color: #ffb4c3; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is([data-conference-role="call"], [data-conference-role="join"]) { background: #bcf2db; color: #102f26; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-conference-object:is([data-conference-role="end"], [data-conference-role="leave"]) { background: #e64d65; border-color: #ff7d91; color: white; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] button[data-unread="true"]::after { content: ''; width: 9px; height: 9px; position: absolute; top: 4px; right: 4px; border-radius: 50%; background: #7ccfff; box-shadow: 0 0 0 3px #1d2839; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] :is([data-panel-open="false"], [data-conference-hidden="true"]) { visibility: hidden; pointer-events: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-panel]:not([data-conference-panel=""]):not(:has(> button.experience-conference-object)) { background: #131f30ed; border: 1px solid #ffffff24; box-shadow: 0 12px 35px #0002; backdrop-filter: blur(24px); align-items: stretch; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-panel] > .experience-object-label { padding: 10px 14px 4px; color: #9caec6; font-size: 11px; letter-spacing: .04em; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] .experience-object[data-conference-object$="-input"] > .experience-object-label { display: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] input.experience-conference-object { margin: 0; padding: 12px 14px; width: 100%; max-width: none; height: 100%; border: 0; background: transparent; border-radius: inherit; color: #f2f5ff; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] input.experience-conference-object::placeholder { color: #a7b8ce; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] :is([data-conference-role="status"], [data-conference-role="session-id"], [data-conference-role="messages"]) { padding: 6px 14px 14px; font-size: 13px; line-height: 1.55; color: #cfdaeb; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="session-id"] { padding-right: 58px; user-select: text; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="messages"]:empty::before { content: 'Say hello. Messages appear here during your call.'; display: block; padding-top: 16px; color: #95a8c2; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="messages"] p { margin: 10px 0; padding: 10px 12px; border-radius: 14px 14px 14px 3px; background: #27364d; color: #f0f4fb; max-width: 92%; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="messages"] p[data-sender="self"] { margin-left: auto; border-radius: 14px 14px 3px 14px; background: #d9e6ff; color: #172841; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-object="reactions"] > .experience-object-label { display: none; }
.experience-package-scene[data-conference-appearance="immersive"][data-view="experience"] [data-conference-role="reactions"] { font-size: 42px; filter: drop-shadow(0 6px 12px #0005); }
@media (max-width: 700px) {
  .conference-safety { left: 10px; bottom: 10px; max-width: calc(100vw - 176px); gap: 4px; padding-left: 10px; font-size: 10px; }
  .conference-safety button { min-width: 36px; width: 36px; height: 44px; min-height: 44px; }
  .conference-safety .conference-control-icon { width: 18px; height: 18px; }
}
.experience-object[data-kind="conference"]:has(> button.experience-conference-object) { padding: 0; }
[data-view="experience"] .experience-object[data-kind="conference"]:has(> button.experience-conference-object) > .experience-object-label { display: none; }
.experience-object[data-kind="conference"]:has(> video) { align-items: stretch; }
.experience-object[data-kind="conference"] > video { flex: 1; }
.experience-object[data-conference-object$="-input"] { align-items: stretch; }
.experience-object[data-kind="conference"] .experience-object-button { min-height: 44px; }
.experience-object[data-conference-object="reactions"] .experience-conference-object { font-size: 30px; }
[data-view="inspector"] .experience-object[data-kind="conference"] .experience-conference-object { visibility: hidden; }
.experience-object-input { max-width: 100%; min-width: 0; }
/* The inner native control needs 44px after the Object's 8px padding and 1px
   border, plus 2px for fractional layout/native scroll rounding. Bounded internal scrolling exposes long labels/readouts separately;
   they must not shrink or clip the input/binding action out of reach. */
[data-view="experience"] .experience-object:is([data-kind="input"], [data-kind="source"]) { min-width: 64px; min-height: 64px; overflow: auto; overscroll-behavior: contain; scroll-padding: 2px; align-items: stretch; justify-content: flex-start; gap: 4px; }
[data-view="experience"] .experience-object:is([data-kind="input"], [data-kind="source"]) > * { flex-shrink: 0; }
[data-view="experience"] .experience-object :is(.experience-object-input, .experience-source-bind) { width: 100%; max-width: none; min-width: 44px; min-height: 44px; margin: 0; }
[data-view="experience"] .experience-object[data-kind="source"] .experience-object-value { min-height: 44px; overflow-wrap: anywhere; }
[data-view="experience"] .experience-object[data-kind="sourceAction"] { min-width: 64px; min-height: 112px; overflow: auto; overscroll-behavior: contain; align-items: stretch; justify-content: flex-start; gap: 4px; }
[data-view="experience"] .experience-object[data-kind="sourceAction"] > * { flex-shrink: 0; }
[data-view="experience"] .experience-object[data-kind="sourceAction"] :is(.experience-object-button, .experience-source-bind) { width: 100%; max-width: none; min-height: 44px; height: auto; margin: 0; }
.experience-object-board { display: grid; gap: 2px; width: 100%; height: 100%; }
.experience-board-cell { background: #172435; border-radius: 3px; }
.experience-board-cell[data-occupied="true"] { background: #3ee884; }
[data-view="experience"] :is(.experience-conductor, .experience-object-lines) { opacity: 0; pointer-events: none; }
[data-view="experience"] .experience-object:is([data-kind="button"], [data-kind="submit"], [data-kind="playback"]) > .experience-object-label { display: none; }
/* Only the finite, noninteractive flight may be smaller than a touch target.
   The surface measures settled authored boxes first and animates their padding
   and paint as well as their exterior. Normal control minima return on arrival.
   This rule also wins over expanded-dot and compound-control minimum sizes. */
.experience-package-scene[data-spatial-scene="authored-objects"][data-view]:is([data-orb-phase="entering"], [data-orb-phase="returning"]) .experience-object { box-sizing: border-box; min-width: 0; min-height: 0; padding: 0; overflow: hidden; outline: none; box-shadow: none; transition: none; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .experience-object, .experience-object-lines, .experience-conductor { transition: none; } }
@media (max-width: 700px) {
  .experience-library { max-height: calc(100dvh - 260px); }
  .experience-run-heading { width: calc(100vw - 40px); max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; padding: 8px 12px; }
  .experience-run-heading h2 { font-size: 14px; line-height: 1.25; }
  .experience-run-heading > p { grid-column: 1; margin: 1px 0; }
  .experience-run-heading > button:first-of-type { grid-column: 2; grid-row: 1 / span 2; min-height: 44px; margin: 0; }
  .experience-run-heading > .experience-run-status { grid-column: 1 / -1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .experience-run-heading > :is(.experience-edit-panel, .experience-clock-status, .experience-motion-controls) { grid-column: 1 / -1; }
  .experience-run-heading .experience-edit-panel { margin-top: 3px; padding-top: 0; }
}
* { box-sizing: border-box; }
body { margin: 0; }
header, main, footer { max-width: 1200px; margin: auto; padding: 1rem 1.5rem; }
header { display: flex; align-items: center; justify-content: space-between; }
a { color: #b5ccff; }
section { margin: 1rem 0; }
button, input, select, textarea { font: inherit; padding: .5rem .75rem; margin: .25rem; max-width: calc(100% - .5rem); border: 1px solid #576278; border-radius: .4rem; color: inherit; background: #141d30; }
button { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { opacity: .5; cursor: default; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #accfff; outline-offset: 3px; }
label { display: inline-block; max-width: 100%; }
fieldset { border: 1px solid #576278; min-inline-size: 0; }
main { overflow-wrap: anywhere; }
output, pre { overflow-wrap: anywhere; white-space: pre-wrap; }
footer { color: #a8b3c9; }
[hidden] { display: none !important; }
@media (max-width: 600px) { header { display: block; } button { min-height: 44px; } }

/* Finite ordinary spatial projection; no animations or inline author CSS. */
.interaction-spatial-svg { display: block; max-width: 100%; background: #080b1d; color: #e7eaff; border-radius: 12px; }
[data-interaction-role="spatial-editor"] { display: grid; gap: .75rem; min-width: 0; }
[data-interaction-role="spatial-scene"] { min-width: 0; width: 100%; }
[data-interaction-role="spatial-editor"] select { min-width: 0; max-width: 100%; }
[data-interaction-role="spatial-editor"] > * { min-width: 0; }
[data-interaction-role="spatial-editor"] select { max-width: calc(100% - .5rem); }
[data-interaction-role="spatial-viewport"] { display: flex; flex-wrap: wrap; gap: .25rem; }
[data-interaction-role="spatial-viewport"] button { min-height: 44px; }

/* Only selected authored geometry takes a direct-movement gesture. */
[data-spatial-view="experience"][data-morphing="false"] [data-occurrence-id][aria-pressed="true"] { cursor: grab; touch-action: none; }
[data-spatial-view="experience"][data-spatial-preview="true"] [data-occurrence-id][aria-pressed="true"] { cursor: grabbing; }

:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) { padding: .25rem 0 1rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="identity"] { font-size: .8rem; color: #a8b3c9; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="current-fact"],
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="current-state"] { display: block; font-size: 1.2rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) svg { display: block; width: 100%; background: #060b1c; border-radius: .75rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="space"] { height: min(58vh, 520px); min-height: 360px; border: 1px solid #394766;
  background: radial-gradient(ellipse at 45% 40%, #101b37, #050913 75%); }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-occurrence-id] { cursor: pointer; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-occurrence-id]:focus-visible { outline: 2px solid #c6d8ff; outline-offset: 4px; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="form"] { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem;
  padding: .75rem 0; border-top: 1px solid #394766; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="dx"], :is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="dy"] { width: 7rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="command"] { width: 20rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="window-status"] { color: #a8b3c9; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-object"] { padding: .75rem 0; border-top: 1px solid #394766; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-select"] { max-width: 100%; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-details"] { display: block; overflow-wrap: anywhere; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-form"] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-value"] { width: min(28rem, 70vw); }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="fact-edit-status"] { color: #a8b3c9; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) nav { display: flex; flex-wrap: wrap; gap: .25rem; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [aria-pressed="true"] { background: #294670; border-color: #c0d6ff; }
.interaction-foundations { margin: 2rem 0; }
.interaction-foundations > summary { cursor: pointer; padding: .75rem; }
@media (max-width: 600px) { header, main, footer { padding: .75rem 1rem; }
  :is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="space"] { height: 360px; }
  :is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="command"] { width: min(20rem, 70vw); } }

#bound-label-root [data-bound-role="offset"], #bound-label-root [data-bound-role="source-offset"] { width: 7rem; }
#bound-label-root [data-bound-role="title"] { width: min(20rem, 70vw); }

/* Trusted fixed system navigation stays above borrowed Experience surfaces. */
#interaction-system { position: fixed; top: .5rem; right: .5rem; z-index: 1000; }
#interaction-system-toggle { display: block; width: 76px; height: 76px; padding: 0; margin: 0 0 0 auto; border-radius: 50%; background: #090d18; }
#interaction-system-toggle svg { display: block; width: 100%; height: 100%; }
#interaction-system-menu { width: min(18rem, calc(100vw - 1rem)); padding: .5rem; border: 1px solid #735099; border-radius: .75rem; background: #141d30; box-shadow: 0 .5rem 2rem #0009; }
#interaction-system-menu button { display: block; width: calc(100% - .5rem); min-height: 44px; text-align: left; }
header { padding-right: 6rem; }
#interaction-home { min-height: 60vh; padding: 1rem; background: radial-gradient(ellipse at 50% 45%, #182342, #060b1c 75%); border-radius: 1rem; }
.interaction-home-orbit { display: flex; justify-content: center; flex-wrap: wrap; gap: 2rem; padding: 3rem .5rem; }
.interaction-home-orbit button { width: 140px; height: 140px; border-radius: 50%; border: 2px solid #889cce; background: #142447; box-shadow: 0 0 0 12px #39476633; }

/* Outer-space presentation extracted deliberately from onevar-platform@9182bd5:
   black Inspector canvas, thin white orbital boundaries, purple owner, blue
   entity dots and a bottom-right Sunburst. Runtime/data owners remain v2's. */
:root { background: #000; color: #f7f5fb; font-size: 14px; }
body { min-height: 100dvh; overflow: hidden; }
button, input, select, textarea { background: #09090c; border-color: #ffffff30; border-radius: 8px; font-size: 13px; }
button:hover:not(:disabled) { border-color: #ffffff90; background: #17121e; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline-color: #d3b4ff; }
a { color: #f7f5fb; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.space-header { display: flex; position: fixed; inset: 0 0 auto; z-index: 900; width: 100%; max-width: none; height: 56px; margin: 0; padding: 0 max(108px, calc(env(safe-area-inset-right) + 96px)) 0 24px; border-bottom: 1px solid #ffffff0d; gap: 20px; background: #050505; }
.space-logo { color: white; text-decoration: none; font-size: 21px; font-weight: 800; letter-spacing: -1.7px; }
.space-local-status { flex: 1; color: #8c8c93; font: 11px ui-monospace, monospace; }
.space-local-status i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #96e6c2; }
/* Keep mobile navigation scrollable without clipping its focus outline or shrinking controls. */
.space-modes { display: flex; gap: 3px; min-width: 0; overflow-x: auto; padding: 5px; }
.space-modes button { flex-shrink: 0; scroll-margin-inline: 5px; border-radius: 24px; padding: 8px 15px; margin: 0; background: transparent; font-weight: 600; }
.space-modes [aria-pressed="true"], .space-modes [aria-expanded="true"] { border-color: #735099; background: #73509920; }
.shell-controls-toggle { position: fixed; z-index: 950; left: max(0px, env(safe-area-inset-left)); top: 50dvh; transform: translateY(-50%); width: 44px; height: 52px; min-height: 44px; margin: 0; padding: 10px; border-left: 0; border-radius: 0 14px 14px 0; background: #100d1699; color: #ded2ea; }
.shell-controls-toggle svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
[data-shell-controls="hidden"] .shell-controls-toggle svg { transform: rotate(180deg); }
#shell-topbar { position: fixed; z-index: 940; top: max(12px, env(safe-area-inset-top)); left: max(12px, env(safe-area-inset-left)); right: max(108px, calc(env(safe-area-inset-right) + 96px)); display: flex; align-items: flex-start; gap: 8px; pointer-events: none; }
#shell-topbar[hidden], #shell-topbar [hidden], body:not([data-shell-controls="hidden"]) #shell-topbar { display: none; }
.shell-top-mode { position: relative; flex: 0 0 44px; pointer-events: auto; }
#shell-mode-toggle { display: grid; place-items: center; flex-shrink: 0; width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; max-height: 44px; aspect-ratio: 1; margin: 0; padding: 10px; border: 1px solid #ffffff30; border-radius: 50%; background: #100e18ed; color: #eee5f5; }
#shell-mode-toggle svg { width: 22px; height: 22px; fill: #100e18; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
#shell-mode-menu { position: absolute; top: 52px; left: 0; width: min(238px, calc(100vw - 24px)); display: grid; padding: 6px; border: 1px solid #ffffff30; border-radius: 16px; background: #100e18f5; box-shadow: 0 8px 28px #0009; }
#shell-mode-menu button { display: grid; gap: 3px; margin: 0; padding: 10px 12px; min-height: 44px; border: 0; border-radius: 10px; background: transparent; text-align: left; font: 500 14px/1.3 system-ui, sans-serif; }
#shell-mode-menu button[aria-checked="true"], #shell-mode-menu button:hover { background: #ffffff16; }
#shell-mode-menu small { font: 12px/1.3 system-ui, sans-serif; color: #c0aecf; }
#shell-recent-experiences { flex: 1; min-width: 0; height: 44px; display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; overflow: hidden; margin: 0; padding: 0; background: transparent; pointer-events: none; }
#shell-local-search-panel { flex: 0 1 420px; min-width: 0; display: grid; gap: 5px; pointer-events: auto; }
#shell-local-search { width: 100%; min-width: 0; height: 44px; min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid #ffffff30; border-radius: 22px; background: #100e18ed; color: #eee5f5; font: 16px/1.3 system-ui, sans-serif; }
#shell-local-search-status { width: fit-content; max-width: 100%; padding: 2px 8px; border-radius: 8px; background: #100e18ed; color: #c0aecf; font: 12px/1.4 system-ui, sans-serif; }
.recent-experience-pill { flex: 0 0 auto; min-width: 0; max-width: 160px; height: 44px; min-height: 44px; margin: 0; padding: 0 14px; border: 1px solid #ffffff30; border-radius: 999px; background: #100e18c9; color: #eee5f5; font: 500 13px/1.2 system-ui, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: auto; }
.recent-experience-pill:focus-visible { outline-offset: -3px; }
@media (max-width: 600px) { .recent-experience-pill { max-width: 70px; padding-inline: 10px; font-size: 12px; } }
/* Controls are temporary overlays. Concealing them must not unmount the stage,
   its retained Objects, data owner or running Experience. Sunburst stays above. */
body[data-shell-controls="hidden"] :is(.space-header, #interaction-system, #entity-space-tools, #interaction-home, .space-context, .shell-object-panel, .interaction-foundations, .entity-space-toolbar, .entity-space-status, .entity-space-help, .entity-space-inspector-shell, .experience-run-heading, .experience-library:not([data-version-review="true"]), #shell-cli:not([data-independent="true"]), #shell-input-settings, .experience-package-scene > [data-source-binding-status], footer) { display: none !important; }
/* Account is independent of presentation controls and remains reachable above
   the composer/backdrop. Reserve the same width in both top navigation rows. */
.space-account-toggle { position: fixed; z-index: 960; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); width: 84px; min-height: 44px; margin: 0; padding: 3px 8px; border-radius: 15px; background: #100e18ed; font-size: 12px; font-weight: 600; }
.space-account-toggle span { display: block; font-size: 9px; font-weight: 400; color: #c0aecf; }
.shell-account { position: fixed; z-index: 955; top: max(66px, calc(env(safe-area-inset-top) + 54px)); right: 16px; width: min(340px, calc(100vw - 32px)); max-height: max(44px, calc(var(--shell-navigation-top, calc(100dvh - 284px)) - 66px)); overflow: auto; overscroll-behavior: contain; margin: 0; padding: 16px; border: 1px solid #9471b480; border-radius: 16px; background: #100e18fa; box-shadow: 0 12px 64px #0009; overflow-wrap: anywhere; }
.shell-account-heading { display: flex; justify-content: space-between; align-items: center; }
.shell-account-heading h2 { margin: 0; font-size: 18px; }
.shell-account-heading button { min-width: 44px; min-height: 44px; }
.shell-account-note, #shell-account-status { font-size: 12px; color: #c0aecf; }
.shell-account [data-publication-role="heading"] { font-size: 16px; }
.shell-account label, .shell-account input, .shell-account select { min-width: 0; max-width: 100%; }
.shell-account input, .shell-account select { width: calc(100% - .5rem); }
.shell-account button { min-height: 44px; }
/* One auth consumer, two presentations: everyday account actions stay compact;
   the explicit developer switch exposes the original diagnostics in place. */
body:not([data-developer-tools="enabled"]) .shell-account [data-publication-presentation="compact"] :is([data-publication-role="heading"], legend) { display: none; }
body:not([data-developer-tools="enabled"]) [data-publication-presentation="compact"] [data-account-secondary="true"] { display: none !important; }
body:not([data-developer-tools="enabled"]) .shell-account [data-publication-role="account"] { border: 0; padding: 0; margin: 0; }
.shell-account [data-publication-presentation="compact"] :is([data-publication-role="session-policy"], [data-publication-role="account-status"]) { color: #c0aecf; font-size: 13px; margin: 10px 0; }
.shell-account [data-publication-role="account-status"]:empty { display: none; }
.shell-account [data-publication-role="invited-account"] { margin: 10px 0; font-size: 13px; }
.shell-account [data-publication-role="invited-account"] summary { min-height: 44px; display: list-item; align-content: center; cursor: pointer; }
.shell-account [data-publication-presentation="compact"] :is([data-publication-role="signin"], [data-publication-role="test-create"], [data-publication-role="signout"], [data-publication-role="test-retry"], [data-publication-role="enroll-retry"]) { margin: 4px 4px 4px 0; font-size: 14px; }
@media (max-height: 600px) { .shell-account { max-height: calc(100dvh - 85px); width: min(440px, calc(100vw - 280px)); left: 10px; right: auto; } }
@media (max-width: 600px) { .shell-account { top: 64px; right: 10px; left: auto; width: calc(100vw - 20px); max-height: max(44px, calc(var(--shell-navigation-top, calc(100dvh - 286px)) - 64px)); padding: 12px; }.space-account-toggle { padding-inline: 10px; } }
.space-workspace { max-width: none; min-height: 100dvh; padding: 0; margin: 0; position: relative; }
.space-context { display: flex; align-items: center; gap: 8px; height: 48px; padding: 6px 20px; color: #99949f; }
.space-context select { min-width: 155px; background: #000; border-radius: 20px; }
#shell-context-status { font: 11px ui-monospace, monospace; color: #85818b; }
#interaction-content { min-height: calc(100dvh - 56px); }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; min-height: calc(100dvh - 145px); margin: 0; padding: 0 24px 60px; gap: 24px; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="space-container"] { min-width: 0; align-self: stretch; display: grid; place-items: center; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="space"] { width: 100%; height: calc(100dvh - 190px); min-height: 360px; border: none; background: #000; border-radius: 0; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) svg { background: transparent; border-radius: 0; }
.shell-object-panel { max-height: min(calc(100dvh - 350px), var(--shell-object-clearance, 100dvh)); min-height: min(260px, var(--shell-object-clearance, 260px)); overflow: auto; padding: 0 12px 14px; scrollbar-width: thin; scrollbar-color: #73509955 transparent; border-left: 1px solid #ffffff18; }
.shell-object-panel > h2 { margin: 8px 0 10px; font-size: 16px; font-weight: 500; }
.shell-object-panel > p { font-size: 12px; color: #9a949f; margin: 8px 0; }
.shell-object-panel h3 { font-size: 13px; font-weight: 500; color: #d6c8e6; }
.shell-object-panel section { border-top: 1px solid #ffffff13; padding: 12px 0; margin: 10px 0; }
.shell-object-panel output { font: 12px/1.6 ui-monospace, monospace; }
.shell-object-panel label { font-size: 12px; color: #beb4c9; }
.shell-object-panel input, .shell-object-panel select { min-width: 0; max-width: 100%; }
.shell-object-panel [data-bound-role="identity"] { font: 10px/1.5 ui-monospace, monospace; }
.shell-object-panel [data-bound-role="form"] { display: flex; flex-wrap: wrap; }
.shell-object-panel [data-bound-role="current-state"], .shell-object-panel [data-bound-role="current-fact"] { font-size: 13px; color: #a9f5dc; }
.interaction-foundations { position: fixed; z-index: 700; bottom: 17px; left: 18px; margin: 0; width: min(420px, calc(100vw - 36px)); max-height: calc(100dvh - 125px); overflow: auto; border: 1px solid #ffffff25; border-radius: 14px; background: #070709f5; scrollbar-width: thin; }
.interaction-foundations > summary { padding: 10px 15px; font-size: 12px; color: #c8c0d1; }
.interaction-foundations[open] > :not(summary) { margin: 12px; }
.interaction-foundations[open] { box-shadow: 0 8px 40px #000b; }
.interaction-foundations h2 { font-size: 15px; font-weight: 500; }
.interaction-foundations p { font-size: 12px; color: #a29aa9; }
footer { position: fixed; bottom: 5px; left: 22px; padding: 0; font: 9px ui-monospace, monospace; color: #625a69; pointer-events: none; }

#interaction-home { position: relative; min-height: calc(100dvh - 56px); padding: 22px; margin: 0; background: #000; border-radius: 0; }
#interaction-home-title { font-size: 16px; font-weight: 400; margin: 0; }
#interaction-home-title:focus { outline: none; }
#interaction-home-status { margin: 6px 0 0; color: #817c89; font-size: 12px; }
.home-solar-system { position: relative; height: min(70vh, 700px); width: min(100%, 1050px); }
.home-orbits { width: 100%; height: 100%; overflow: visible; }
.home-orbits circle { fill: #ffffff02; stroke: #ffffff70; stroke-width: 1; }
.home-orbits path { stroke: #358bb44d; stroke-width: 1; fill: none; }
.home-sun { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-content: center; text-align: center; width: 100px; height: 100px; border-radius: 50%; border: 2px solid white; background: #735099; font-size: 23px; }
.home-sun span { display: block; font-size: 11px; color: #e0d2ee; }
.interaction-home-orbit { position: absolute; inset: 0; padding: 0; display: block; }
.interaction-home-orbit button { position: absolute; width: 82px; height: 82px; transform: translate(-50%, -50%); border: 1px solid #a9dcf7; background: #3386b4; box-shadow: none; font-size: 12px; }
.interaction-home-orbit button:disabled { opacity: .3; background: #113648; border-color: #376073; }
#interaction-home-point { left: 50%; top: 9%; }
#interaction-home-point-2 { left: 77%; top: 37%; }
#interaction-home-point-3 { left: 67%; top: 83%; }
#interaction-home-point-4 { left: 33%; top: 83%; }
#interaction-home-label { left: 23%; top: 37%; background: #a7328a; border-color: #e5afd6; }
.home-actions { width: min(360px, 100%); position: absolute; right: 30px; top: 90px; color: #9a909f; font-size: 12px; }
.home-actions fieldset { border-color: #ffffff1c; border-radius: 12px; margin-top: 20px; }
.home-actions fieldset button:disabled { display: none; }

#outer-sunburst { --sunburst-size: 205px; --sunburst-picker-height: min(calc(var(--sunburst-size) * 2), calc(100dvh - 100px)); position: fixed; z-index: 1000; bottom: 20px; right: 12px; width: var(--sunburst-size); height: calc(var(--sunburst-size) + 28px); margin: 0; background: transparent; transition: height 340ms cubic-bezier(.2,.7,.2,1); }
.outer-space-sunburst { position: relative; height: 100%; isolation: isolate; }
.outer-space-sunburst::before { content: ''; position: absolute; z-index: -1; inset: auto 0 0; height: var(--sunburst-size); border-radius: 50%; background: transparent; border: 1px solid transparent; box-sizing: border-box; pointer-events: none; transition: height 340ms cubic-bezier(.2,.7,.2,1), border-radius 340ms, background 240ms, border-color 240ms; }
.outer-space-sunburst-wheel-layer { position: absolute; inset: auto 0 0; opacity: 1; visibility: visible; transform-origin: center bottom; transition: opacity 180ms, transform 340ms cubic-bezier(.2,.7,.2,1), visibility 0s; }
[data-outer-sunburst-picker="open"] { height: calc(var(--sunburst-picker-height) + 52px) !important; }
[data-outer-sunburst-picker="open"] .outer-space-sunburst::before { height: var(--sunburst-picker-height); border-radius: 22px; background: rgb(0 0 0 / .7); border-color: #ffffff26; }
[data-outer-sunburst-picker="open"] .outer-space-sunburst-wheel-layer { opacity: 0; visibility: hidden; transform: translateY(-24px) scale(.88); transition: opacity 180ms, transform 340ms, visibility 0s 180ms; }
.outer-space-sunburst-picker { position: absolute; inset: auto 0 0; height: var(--sunburst-picker-height); color: #fff; visibility: hidden; opacity: 0; transform: translateY(24px) scaleY(.65); transform-origin: center bottom; pointer-events: none; transition: opacity 160ms, transform 340ms cubic-bezier(.2,.7,.2,1), visibility 0s 340ms; }
[data-outer-sunburst-picker="open"] .outer-space-sunburst-picker { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition: opacity 200ms 100ms, transform 340ms cubic-bezier(.2,.7,.2,1), visibility 0s; }
.outer-space-sunburst-picker-filters { position: absolute; inset: auto 0 calc(100% + 6px); height: 44px; display: flex; justify-content: center; gap: 22px; }
.outer-space-sunburst-picker-filter { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; color: #fff; font: 24px/1 system-ui, sans-serif; border: 0; border-radius: 50%; background: transparent; opacity: .6; cursor: pointer; }
.outer-space-sunburst-picker-filter[aria-pressed="true"] { opacity: 1; }
.outer-space-sunburst-picker-filter:hover { background: #ffffff12; }
.outer-space-sunburst-picker-filter:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.outer-space-sunburst-picker-list { height: 100%; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; touch-action: pan-y; border-radius: 22px; padding: 14px 0 22px; box-sizing: border-box; scrollbar-width: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.outer-space-sunburst-picker-list::-webkit-scrollbar { display: none; }
.outer-space-sunburst-picker-list[data-dragging="true"] { cursor: grabbing; }
.outer-space-sunburst-picker-group { margin: 0; padding: 0; }
.outer-space-sunburst-picker-topic { margin: 14px 13px 3px; font: 600 11px/1.4 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #ffffffa6; }
.outer-space-sunburst-picker-group:first-child .outer-space-sunburst-picker-topic { margin-top: 0; }
.outer-space-sunburst-picker-entry { width: 100%; display: flex; align-items: center; gap: 8px; min-height: 52px; margin: 0; padding: 10px 13px; border: 0; border-radius: 0; background: transparent; color: var(--experience-topic-color); text-align: left; font: 700 17px/1.35 system-ui, sans-serif; cursor: inherit; box-sizing: border-box; }
.outer-space-sunburst-picker-entry:hover { background: #ffffff0b; }
.outer-space-sunburst-picker-entry:focus-visible { outline: 1px solid #fff; outline-offset: -3px; }
.outer-space-sunburst-picker-symbol { flex: 0 0 14px; text-align: center; color: #fff; font-size: 17px; }
.outer-space-sunburst-picker-label { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; overflow-wrap: anywhere; min-width: 0; }
.outer-space-sunburst-picker-empty { padding: 24px 16px; margin: 0; font: 13px/1.5 system-ui, sans-serif; color: #d4cddc; text-align: center; }
.outer-space-sunburst-svg { display: block; width: 100%; overflow: visible; touch-action: none; user-select: none; -webkit-user-select: none; }
.outer-space-sunburst-grabber, .outer-space-sunburst-ray { cursor: grab; }
.outer-space-sunburst-center { cursor: pointer; }
/* SVG controls keep circular keyboard focus, never the browser's rectangular
   bounding-box outline during a pointer gesture. Native HTML focus is intact. */
.outer-space-sunburst :is(.outer-space-sunburst-grabber, .outer-space-sunburst-center, .outer-space-sunburst-ray):focus { outline: none; }
.outer-space-sunburst-grabber:focus-visible { stroke: #fff; stroke-width: 2px; vector-effect: non-scaling-stroke; }
.outer-space-sunburst-center:focus-visible .outer-space-sunburst-center-visual > circle { stroke: #fff; stroke-width: 10px; }
.outer-space-sunburst-ray:focus-visible > line { stroke: #fff; stroke-width: 3px; }
.outer-space-sunburst-rotor { transform-origin: 500px 500px; transition: transform 220ms cubic-bezier(.2,.7,.2,1); }
[data-outer-sunburst-spinning="true"] .outer-space-sunburst-rotor { transition: none; }
[data-outer-sunburst-spinning="true"] .outer-space-sunburst-svg { cursor: grabbing; }
.outer-space-sunburst-marker { transition: stroke-width 120ms, r 120ms; }
.outer-space-sunburst-ray[data-focused="true"] .outer-space-sunburst-marker { r: 12px; opacity: 1; }
.outer-space-sunburst-topic-label { text-align: center; font-size: 14px; font-weight: 500; line-height: 20px; min-height: 24px; padding-bottom: 4px; color: #f7f5fb; overflow-wrap: anywhere; pointer-events: none; text-shadow: 0 1px 5px #000; }
.outer-space-sunburst-ray[data-focused="true"] circle { stroke: white; stroke-width: 3px; }
[data-voice-active="true"] .outer-space-sunburst-center circle { stroke: #fff; stroke-width: 8px; }
.outer-space-sunburst-voice-option { cursor: pointer; outline: none; }
.outer-space-sunburst-voice-option-disc { fill: #15121e; stroke: #ffffff65; stroke-width: 5px; transition: fill 120ms, stroke 120ms; }
.outer-space-sunburst-voice-option-icon { pointer-events: none; }
.outer-space-sunburst-voice-option-label { fill: #fff; font: 500 45px system-ui, sans-serif; pointer-events: none; paint-order: stroke; stroke: #08080c; stroke-width: 7px; }
.outer-space-sunburst-voice-option:is(:hover, :focus-visible, [data-hovered="true"]) .outer-space-sunburst-voice-option-disc { fill: #30263d; stroke: #fff; stroke-width: 9px; }
.outer-space-sunburst-voice-option[data-active="true"] .outer-space-sunburst-voice-option-disc { fill: #735099; stroke: #fff; stroke-width: 8px; }
[data-outer-sunburst-sling="armed"] .outer-space-sunburst-center-visual circle { stroke: #fff; stroke-width: 12px; }
@media (prefers-reduced-motion: reduce) {
  .outer-space-sunburst-rotor, .outer-space-sunburst-marker { transition: none; }
  #outer-sunburst, .outer-space-sunburst::before, .outer-space-sunburst-wheel-layer, .outer-space-sunburst-picker { transition: none !important; }
}
#interaction-system { position: fixed; z-index: 1001; bottom: 17px; right: 218px; top: auto; }
#interaction-system-toggle { width: 34px; height: 34px; background: #050506; border-color: #ffffff25; }
#interaction-system-toggle svg { display: none; }
#interaction-system-toggle::after { content: '⋯'; font-size: 22px; }
#interaction-system-menu { position: absolute; right: 0; bottom: 42px; background: #08060cf5; border-color: #73509980; }
#shell-cli-backdrop { position: fixed; inset: 0; z-index: 890; background: #000; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 220ms ease, visibility 220ms; }
#shell-cli-backdrop[data-active="true"] { opacity: .65; visibility: visible; pointer-events: auto; touch-action: none; }
#shell-cli { position: fixed; z-index: 900; top: 64px; left: 20px; right: 235px; bottom: 12px; max-width: 900px; overflow: auto; overscroll-behavior: contain; overflow-anchor: none; padding: var(--cli-rest-space, 40dvh) 0 24px; margin: 0; background: transparent; border: 0; border-radius: 0; font: 14px/1.5 system-ui, sans-serif; box-shadow: none; pointer-events: none; scrollbar-width: none; }
#shell-cli::-webkit-scrollbar { display: none; }
#shell-cli :is(#shell-cli-form, #shell-cli-close, #shell-cli-history, #shell-platform-result, #shell-capture-status) { pointer-events: auto; }
#shell-cli-history { margin-top: 20px; opacity: 1; transform: translateY(0); transition: opacity 180ms ease, transform 220ms ease; }
#shell-cli[data-history-ready="false"] #shell-cli-history { opacity: 0; transform: translateY(24px); pointer-events: none; }
#shell-cli[data-input-drag="true"] #shell-cli-history { transition: none; }
#shell-cli[data-input-drag="true"] :is(.shell-cli-heading, #shell-cli-status, #shell-capture-status, #shell-platform-result) { visibility: hidden; pointer-events: none; }
#shell-cli[data-input-drag="true"] #shell-cli-form { overflow: hidden; pointer-events: none; }
#shell-cli[data-input-drag="true"] #shell-cli-form > * { opacity: 0; }
.shell-cli-heading { display: flex; justify-content: flex-end; align-items: center; height: 28px; }
.shell-cli-heading button { min-height: 28px; min-width: 32px; margin: 0; padding: 0; border: 0; background: transparent; color: #b7adbf; font-size: 20px; }
#shell-cli-form { display: flex; align-items: stretch; gap: 0; margin: 0; padding: 0; min-height: 52px; border: 1px solid #9471b4; border-radius: 14px; background: #0d0c13; }
#shell-cli-form input { flex: 1; min-width: 0; width: auto; margin: 0; padding: 11px 12px; background: transparent; border: 0; border-radius: 9px; font: inherit; }
#shell-cli-form button { flex: 0 0 auto; min-height: 50px; margin: 0; padding: 10px 24px; border: 0; border-radius: 0 12px 12px 0; background: #735099; color: #fff; font: 600 13px/1.5 system-ui, sans-serif; }
#shell-cli-form input:focus { outline: none; box-shadow: none; }
#shell-cli-form button:focus-visible { outline: 2px solid #c5a3e2; outline-offset: 1px; }
#shell-cli-status { color: #c0aecf; font-size: 12px; margin: 2px 8px 12px; }
#shell-cli-status[data-state="idle"], #shell-cli[data-history="true"] #shell-cli-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#shell-capture-status { margin: 4px 10px 12px; color: #d9c9e9; font-size: 13px; overflow-wrap: anywhere; }
#shell-input-settings { position: fixed; z-index: 950; top: 74px; right: 20px; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 150px); overflow: auto; overscroll-behavior: contain; margin: 0; padding: 20px; border: 1px solid #73509970; border-radius: 20px; background: #121019fa; box-shadow: 0 12px 50px #0009; color: #d4c9df; font: 13px/1.55 system-ui, sans-serif; }
.shell-input-settings-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.shell-input-settings-heading h2 { margin: 0; font-size: 19px; }
#shell-input-settings-close { min-height: 36px; margin: 0; padding: 4px 10px; background: transparent; border: 0; font-size: 22px; }
#shell-input-settings select { display: block; width: 100%; margin-top: 6px; }
#shell-cli-status[data-state="denied"], #shell-cli-status[data-state="unavailable"] { color: #ffaaa7; }
.shell-sentence-consent, .ordinary-voice-controls label { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; font: 12px/1.5 system-ui, sans-serif; color: #c9bfd5; }
.shell-sentence-consent input, .ordinary-voice-controls input { flex: 0 0 auto; margin: 3px 0 0; }
.shell-sentence-help, #shell-voice-status { margin: 7px 0 0; font: 12px/1.5 system-ui, sans-serif; color: #ada1be; }
.ordinary-voice-controls { margin-top: 10px; border-top: 1px solid #73509933; padding-top: 6px; }
.ordinary-voice-controls > button { min-height: 44px; margin: 4px 4px 4px 0; }
.ordinary-voice-controls details { font: 12px/1.5 system-ui, sans-serif; }
.ordinary-voice-controls summary { cursor: pointer; min-height: 36px; padding-block: 8px; }
#shell-voice-transcript { max-height: 92px; overflow: auto; overflow-wrap: anywhere; padding: 8px 10px; border-left: 2px solid #9471b4; background: #1b1428; font: 13px/1.6 system-ui, sans-serif; }
#shell-voice-transcript[data-final="false"] { color: #b7abc5; }
#shell-voice-transcript-label { color: #af98c4; }
#shell-voice-status[data-state="error"], #shell-voice-status[data-state="unavailable"] { color: #ffaaa7; }
#shell-voice-status[data-state="listening"] { color: #a9f5dc; }
#shell-voice-timing { margin-top: 12px; border-top: 1px solid #73509933; }
#shell-voice-timing-result { margin: 4px 0 8px; color: #c9bfd5; }
#shell-voice-timing-values { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 16px; margin: 0; font-size: 12px; }
#shell-voice-timing-values dt { color: #ada1be; }
#shell-voice-timing-values dd { margin: 0; overflow-wrap: anywhere; color: #e2d9ee; }
.ordinary-voice-controls button:focus-visible, .ordinary-voice-controls summary:focus-visible { outline: 2px solid #b798e3; outline-offset: 3px; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="point"] > rect { fill: #735099; stroke: white; }
:is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) :is([data-bound-role="property"], [data-bound-role="entity"]) > rect { fill: #3386b4; stroke: #ffffff80; }

@media (max-width: 800px) {
  .space-header { padding: 0 max(108px, calc(env(safe-area-inset-right) + 96px)) 0 12px; gap: 12px; }.space-local-status { display: none; }.space-modes { margin-left: auto; }.space-modes button { padding: 8px 10px; }
  :is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) { grid-template-columns: minmax(0, 1fr); padding: 0 12px 210px; gap: 4px; }
  :is(#bound-interaction-root, #bound-label-root, #bound-point-2-root, #bound-point-3-root, #bound-point-4-root) [data-bound-role="space"] { height: 50dvh; min-height: 280px; }
  .shell-object-panel { width: calc(100% - 10px); max-height: 36dvh; border-left: 0; border-top: 1px solid #ffffff20; padding: 12px; }
  #outer-sunburst { --sunburst-size: 155px; bottom: 18px; right: 8px; }#interaction-system { right: 165px; }
  #shell-cli { left: 12px; right: 12px; top: 56px; bottom: 12px; padding-bottom: var(--shell-navigation-clearance, 205px); }
  #shell-cli-form input { padding-inline: 8px; } #shell-cli-form button { padding-inline: 13px; }
  #shell-input-settings { top: 64px; right: 8px; width: calc(100vw - 16px); max-height: calc(100dvh - 280px); padding: 16px; }
  .experience-authoring-tray { top: 64px; left: 8px; width: calc(100vw - 16px); max-height: min(44dvh, max(44px, calc(var(--shell-navigation-top, 65dvh) - 64px))); }
  .interaction-foundations { width: calc(100vw - 210px); left: 10px; bottom: 32px; }.interaction-foundations[open] { width: calc(100vw - 20px); bottom: 205px; }
  .home-actions { position: static; width: calc(100% - 160px); }.home-solar-system { height: 52vh; }.home-sun { width: 76px; height: 76px; }.interaction-home-orbit button { width: 60px; height: 60px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; } }

/* Current authorized entity projection; below retained Experiences and the Sunburst. */
#entity-space { position: fixed; inset: 0; z-index: 0; min-width: 0; width: 100%; overflow: hidden; margin: 0; padding: 0; border: 0; }
#entity-space .entity-space { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 70px 0 0; gap: 8px; pointer-events: none; }
#entity-space :is(.entity-space-toolbar, .entity-space-status, .entity-space-help) { margin-inline: 16px; }
#entity-space .entity-space-stage { position: absolute; inset: 0; z-index: 0; border-radius: 0; pointer-events: auto; }
#entity-space .entity-space-canvas { width: 100%; height: 100%; min-height: 0; }
#entity-space :is(.entity-space-toolbar, .entity-space-status) { position: relative; z-index: 2; }
#entity-space .entity-space-inspector-shell { pointer-events: auto; }
/* Transparent toolbar rows must not hide the scene's real hit targets. Only
   native controls own input; gaps and full-width navigation rows pass through. */
#entity-space .entity-space-toolbar { pointer-events: none; }
#entity-space .entity-space-toolbar :is(button, input, select, textarea, summary) { pointer-events: auto; }
#entity-space .entity-space-help { position: absolute; left: 0; bottom: 8px; z-index: 1; }
/* Keep scene tools above the base scene, below retained Object/authoring panels.
   A child's large z-index cannot escape #interaction-content's stacking context. */
#entity-space-tools { position: fixed; z-index: 5; left: 16px; bottom: 24px; width: min(440px, calc(100vw - 255px)); max-height: 180px; overflow: auto; padding: 8px 10px; border: 1px solid #73509955; border-radius: 12px; background: #100d16ed; font-size: 11px; }
#entity-space-tools button { min-height: 44px; font-size: 11px; }
#entity-space-tools :is(span, #entity-day-navigation) { display: block; }
#entity-space-tools #entity-day-navigation[hidden] { display: none; }
#entity-day-navigation label { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#entity-days-date { width: 155px; max-width: 100%; min-height: 44px; color-scheme: dark; }
#interaction-content { position: relative; z-index: 10; background: #000; }
#interaction-home { position: fixed; z-index: 10; bottom: 158px; left: 18px; width: min(330px, calc(100vw - 40px)); min-height: 0; max-height: 220px; overflow: auto; padding: 14px; border: 1px solid #73509945; border-radius: 14px; background: #0d0a13e8; }
#interaction-home .home-solar-system { height: auto; width: auto; }
#interaction-home :is(.home-orbits, .home-sun) { display: none; }
#interaction-home .interaction-home-orbit { display: flex; position: static; flex-wrap: wrap; gap: 5px; margin: 10px 0; }
#interaction-home .interaction-home-orbit button { position: static; width: auto; min-height: 44px; height: auto; transform: none; border-radius: 18px; padding: 6px 10px; font-size: 11px; }
#interaction-home .home-actions { position: static; width: auto; }
.experience-edit-panel { position: relative; max-width: 100%; margin-top: 8px; border-top: 1px solid #73509955; padding-top: 5px; }
.experience-edit-panel summary { cursor: pointer; min-height: 32px; padding: 5px 0; font-size: 12px; }
.experience-edit-fields { position: fixed; z-index: 4; width: min(400px, calc(100vw - 40px)); max-height: min(44dvh, var(--experience-edit-height, 44dvh)); overflow: auto; padding: 14px; border: 1px solid #735099; border-radius: 12px; background: #110f19fa; }
.experience-edit-panel :is(input, select) { min-width: 0; max-width: 100%; margin: 4px 0; }
.experience-object[data-selected="true"] { outline: 2px solid #dcc3f5; outline-offset: 3px; }
.entity-space { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 310px); min-width: 0; margin: 0; padding: 14px 22px 240px; gap: 8px 18px; border: 0; background: transparent; }
.entity-space-toolbar { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; min-width: 0; gap: 4px; }
.entity-space-toolbar h2 { margin: 0 12px 0 0; font-size: 17px; font-weight: 500; }
.entity-space-history-navigation { display: flex; flex-wrap: wrap; gap: 4px; }
.entity-space-history-navigation[hidden] { display: none; }
.entity-space button { min-height: 44px; margin: 0; font-size: 12px; }
.entity-space-toolbar input { min-width: 0; width: min(320px, 100%); margin-left: auto; }
.entity-space-controls, .entity-space-controls-panel { display: contents; }
.entity-space-controls > summary, .entity-shell-disclosure > summary { display: none; }
.entity-space-controls-panel > :is(nav, .entity-space-windows) { flex-basis: 100%; }
.entity-space-inspector-shell { min-width: 0; align-self: start; }
.entity-space-inspector-shell[hidden] { display: none; }
.entity-space-inspector-shell > summary { min-height: 44px; padding: 10px 14px; cursor: pointer; font-size: 12px; color: #d1bddf; }
.entity-space-inspector-shell:not([open]) { border: 1px solid #ac92c826; border-radius: 16px; background: #100e16ed; }
.entity-shell-panel { min-width: 0; }
.entity-space-status, .entity-space-owners, .entity-space-windows, .entity-space-help { grid-column: 1 / -1; min-width: 0; margin: 0; color: #9f96ab; font-size: 11px; }
.entity-space-windows { display: flex; flex-wrap: wrap; gap: 4px; }
.entity-space-owners { display: flex; gap: 5px; overflow-x: auto; padding: 4px; }
.entity-space-owners button { flex: 0 0 auto; }
.entity-space [aria-pressed="true"] { border-color: #c3abdf; color: #fff; }
.entity-space-stage { position: relative; min-width: 0; overflow: hidden; border-radius: 20px; background: radial-gradient(ellipse at center, #21192d42, transparent 70%); }
.entity-space-focus-controls { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; max-width: min(90%, 600px); width: max-content; padding: 8px 12px; border-radius: 24px; background: #09070ccc; color: #dcd3e7; pointer-events: auto; font-size: 12px; }
.entity-space-focus-controls[hidden] { display: none; }
.entity-space-focus-controls button { padding: 6px 10px; border-radius: 999px; font-size: 12px; min-height: 32px; }
.entity-space-constellation-controls { position: absolute; top: 88px; left: 18px; z-index: 3; width: min(420px, calc(100% - 36px)); padding: 14px 16px; border: 1px solid #a997c32a; border-radius: 20px; background: #090c16d9; backdrop-filter: blur(16px); color: #e8e3f0; pointer-events: auto; }
.entity-space-constellation-controls[hidden] { display: none; }
.entity-space-constellation-controls strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.entity-space-constellation-controls p { margin: 6px 0 10px; font-size: 12px; color: #b5adc7; }
.entity-space-constellation-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.entity-space-constellation-controls button { min-height: 36px; font-size: 12px; padding: 7px 11px; border-radius: 999px; }
.entity-space-constellation-controls details { margin-top: 8px; font-size: 12px; }
.entity-space-constellation-controls summary { cursor: pointer; padding: 4px 0; color: #a99abb; }
.entity-space-constellation-controls select { max-width: 100%; min-height: 36px; margin: 6px 6px 0 0; padding: 6px; border: 1px solid #a99bbf40; border-radius: 8px; color: #e8e3f0; background: #151520; }
[data-entity-space-constellation="true"] :is(.entity-space-toolbar, .entity-space-status, .entity-space-help) { display: none !important; }
[data-entity-space-constellation="true"] .entity-space-inspector-shell { display: none; }
[data-entity-space-constellation="true"] .entity-space-dot-body { transition: fill 400ms ease; }
@media (max-width: 800px) { .entity-space-constellation-controls { top: 76px; left: 10px; width: calc(100% - 20px); padding: 10px 12px; } }
.entity-space-canvas { display: block; width: 100%; height: min(68dvh, 700px); min-height: 380px; overflow: hidden; touch-action: none; user-select: none; -webkit-user-select: none; cursor: grab; }
.entity-space-canvas:focus { outline: none; }
.entity-space-canvas:focus-visible:not([data-dragging="true"]) :is(.entity-space-boundary, .entity-space-day-line) { stroke: #d3b4ff; stroke-width: 2px; }
.entity-space-canvas[data-dragging="true"] { cursor: grabbing; }
.entity-space-boundary { fill: none; stroke: #8c759540; stroke-width: 1.5; vector-effect: non-scaling-stroke; transition: r 320ms ease; }
.entity-space-dot, .entity-space-owner, .entity-space-suggestion { cursor: pointer; transition: transform 320ms cubic-bezier(.2,.7,.2,1); }
.entity-space-canvas[data-dragging="true"] :is(.entity-space-dot, .entity-space-owner, .entity-space-suggestion) { transition: none; }
[data-entity-space-morphing="true"] :is(.entity-space-dot, .entity-space-owner, .entity-space-suggestion) { transition: none; }
[data-entity-space-morphing="true"] .entity-space-dot-body { transition: none; }
[data-entity-space-view="experience"] .entity-space-dot { transition: none; }
.entity-space-dot-body { fill: #8970ad; stroke: #e3d7ef; stroke-width: 1.5; transition: fill 220ms ease; }
.entity-space-dot[data-entity-kind="installation"] .entity-space-dot-body { fill: #2d8393; }
.entity-space-dot[aria-pressed="true"] .entity-space-dot-body { fill: #c8a8ec; stroke: white; stroke-width: 3; }
.entity-space-dot[data-activity-count="0"] .entity-space-dot-body { opacity: .78; }
.entity-space :is(.entity-space-dot, .entity-space-owner, .entity-space-suggestion):focus { outline: none; }
.entity-space :is(.entity-space-dot, .entity-space-owner, .entity-space-suggestion):focus-visible > circle { stroke: #fff; stroke-width: 4; }
.entity-space .entity-space-dot:focus-visible > .entity-space-dot-body { stroke: #fff !important; stroke-opacity: 1 !important; stroke-width: 2 !important; }
.entity-space-canvas text { fill: #dfd5e8; font-size: 12px; font-family: system-ui, sans-serif; pointer-events: none; }
.entity-space-edges line { stroke: #b8a5c84d; stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.entity-space-owner circle { fill: #120d1d; stroke: #a383bd; stroke-width: 1.5; }
.entity-space-owner circle + circle { fill: none; stroke: #735099; stroke-dasharray: 3 8; }
.entity-space-owner .entity-space-wormhole-ring { fill: none; stroke: #a383bd; stroke-width: 3; stroke-dasharray: none; }
.entity-space-suggestion circle { fill: #fff; stroke: #d5c7e7; stroke-width: 1.5; }
.entity-space-day-line { stroke: #ac92c857; fill: none; vector-effect: non-scaling-stroke; }
.entity-space-canvas .entity-space-day-label { fill: #b8a3cc; font-size: 15px; }
.entity-space-inspector { align-self: start; min-width: 0; max-height: 68dvh; overflow: auto; padding: 15px; border: 1px solid #ac92c826; border-radius: 16px; background: #100e16b8; overflow-wrap: anywhere; }
.entity-space-inspector h3 { margin-top: 0; font-size: 17px; }
.entity-space-inspector dl { margin: 12px 0; font-size: 12px; }
.entity-space-inspector dt { color: #a69bad; margin-top: 8px; }
.entity-space-inspector dd { margin: 3px 0 0; font-family: ui-monospace, monospace; }
.entity-space-detail-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.entity-space-facts { display: grid; gap: 5px; }
.entity-space-facts button { max-width: 100%; text-align: left; overflow-wrap: anywhere; }
.entity-space-edit label, .entity-space-edit input { display: block; width: 100%; min-width: 0; }
.entity-space-edit input { margin: 8px 0; }
.entity-space-create { display: grid; gap: 10px; }
.entity-space-create label, .entity-space-inspector > label { display: grid; gap: 6px; min-width: 0; font-size: 12px; }
.entity-space-create input, .entity-space-inspector select { width: 100%; min-width: 0; min-height: 44px; padding: 8px; color: inherit; background: #18121f; border: 1px solid #ac92c84d; border-radius: 8px; }
.entity-space-change-summary { max-width: 100%; max-height: 34dvh; overflow: auto; font-size: 11px; overflow-wrap: anywhere; }
.entity-space-read-only, .entity-space-help { font-size: 11px; color: #9f96ab; }
.entity-space-status, .entity-space-help { pointer-events: none; }
.outer-space-sunburst-activity-dot { cursor: pointer; pointer-events: all; }
.outer-space-sunburst-activity-dot:focus-visible { outline: none; stroke: white; stroke-width: 7px; }
/* The scene keeps the same full-width canvas through the morph. Inspector is
   an overlay, not a column that changes the coordinate system. Timeline entry
   collapses auxiliary panels so the low first day remains visible. */
body:has(#entity-space[data-entity-space-view="experience"]) #interaction-home { display: none; }
#entity-space[data-entity-space-view="experience"] .entity-space-inspector-shell:not([open]) { display: none; }
body:has(#entity-space[data-entity-space-view="experience"]) #entity-space-tools .entity-shell-disclosure > summary { display: block; cursor: pointer; min-height: 44px; padding: 11px 8px; color: #d1bddf; }
body:has(#entity-space[data-entity-space-view="experience"]) #entity-space-tools .entity-shell-disclosure:not([open]) > .entity-shell-panel { display: none; }
@media (min-width: 801px) {
  #entity-space .entity-space-inspector-shell { position: fixed; z-index: 4; top: min(290px, 30dvh); right: 16px; width: min(310px, calc(100vw - 32px)); max-height: max(100px, calc(100dvh - 550px)); overflow: auto; }
  body:has(#entity-space[data-entity-space-view="experience"]) #entity-space-tools { top: 64px; bottom: auto; right: 16px; left: auto; width: 260px; padding: 0; }
  body:has(#entity-space[data-entity-space-view="experience"]) #entity-space-tools .entity-shell-panel { padding: 8px 10px; }
}
@media (max-width: 800px) {
  .entity-space { grid-template-columns: minmax(0, 1fr); padding: 10px 10px 190px; gap: 5px; }
  .entity-space-toolbar { gap: 5px; }.entity-space-toolbar h2 { flex-basis: 100%; margin: 0 0 3px; font-size: 14px; }
  .entity-space-toolbar > button { flex: 1; padding-inline: 9px; }
  .entity-space-controls { display: block; flex: 1; min-width: 0; }
  .entity-space-controls > summary, .entity-shell-disclosure > summary { display: block; cursor: pointer; min-height: 44px; padding: 11px 8px; font-size: 12px; color: #d1bddf; }
  .entity-space-controls > summary { border: 1px solid #73509970; border-radius: 16px; text-align: center; }
  .entity-space-controls-panel { display: flex; flex-wrap: wrap; gap: 6px; position: absolute; z-index: 100; top: 86px; left: 10px; right: 10px; max-height: calc(100dvh - 370px); overflow: auto; padding: 12px; border: 1px solid #735099; border-radius: 14px; background: #100d16fa; box-shadow: 0 15px 45px #000; }
  .entity-space-controls:not([open]) > .entity-space-controls-panel { display: none; }
  .entity-space-toolbar input { width: 100%; margin: 5px 0 0; }
  .entity-space-canvas { height: calc(100dvh - 350px); min-height: 350px; }
  .entity-space-help { max-width: calc(100% - 165px); font-size: 10px; }
  .entity-space-inspector-shell { position: fixed; z-index: 60; top: auto; right: auto; left: 10px; bottom: 150px; width: calc(100vw - 185px); max-height: 44px; overflow: hidden; border: 1px solid #73509955; border-radius: 12px; background: #100d16fa; }
  .entity-space-inspector-shell > summary { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .entity-space-inspector-shell[open] { width: calc(100vw - 20px); bottom: 280px; max-height: calc(100dvh - 420px); overflow: auto; box-shadow: 0 15px 45px #000; }
  .entity-space-inspector { max-height: none; border: 0; border-radius: 0; padding: 12px; }
  #entity-space-tools { left: 10px; bottom: 32px; width: calc(100vw - 185px); max-height: none; padding: 0; overflow: visible; }
  #interaction-home { top: auto; bottom: 90px; left: 10px; width: calc(100vw - 185px); max-height: none; padding: 0; overflow: visible; }
  .entity-shell-disclosure > .entity-shell-panel { position: fixed; z-index: 80; bottom: 280px; left: 10px; width: calc(100vw - 20px); max-height: calc(100dvh - 420px); overflow: auto; padding: 12px; border: 1px solid #735099; border-radius: 14px; background: #100d16fa; box-shadow: 0 15px 45px #000; }
  .entity-shell-disclosure:not([open]) > .entity-shell-panel { display: none; }
}
.server-html-frame { width: 100%; min-width: 0; height: 100%; overflow: auto; }
.server-html-frame-content { display: block; height: 100%; }
.server-html-frame-status { font-size: .9rem; line-height: 1.35; white-space: normal; }

/* History is native content inside its authored Object. Only this inner feed
   scrolls; its geometry, visibility and lifetime remain with the Experience. */
.cli-history { display: flex; flex-direction: column; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: clamp(16px, 3vw, 36px); overflow: hidden; border-radius: inherit; color: #f1edf7; background: linear-gradient(155deg, #191321, #0e0d14 65%); text-align: left; }
.cli-history-header { display: flex; flex: 0 0 auto; align-items: flex-start; justify-content: space-between; gap: 16px; width: 100%; max-width: none; margin: 0; padding: 0; }
.cli-history-title { min-width: 0; }
.cli-history-heading { margin: 0; color: #faf7ff; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
.cli-history-caption { margin: 9px 0 0; color: #a89caf; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.cli-history-clear { flex: 0 0 auto; min-height: 44px; max-width: none; margin: 0; padding: 10px 15px; border: 1px solid #69527580; border-radius: 12px; color: #d8c9e5; background: #ffffff05; font-size: 12px; line-height: 1.4; }
.cli-history-clear:not(:disabled):hover { color: #fff; border-color: #ab85c6; background: #ffffff0c; }
.cli-history-clear:disabled { opacity: .45; cursor: default; }
.cli-history-clear:focus-visible, .cli-history-scroll:focus-visible { outline: 2px solid #c29cdd; outline-offset: 3px; }
.cli-history-status { flex: 0 0 auto; margin: 12px 0 0; color: #a89caf; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.cli-history-scroll { flex: 1 1 auto; min-width: 0; min-height: 0; margin-top: 16px; padding: 12px 10px 16px 0; overflow: auto; overscroll-behavior: contain; overflow-anchor: none; scrollbar-width: thin; scrollbar-color: #675071 transparent; }
/* A final reading position remains reachable above the persistent Sunburst. */
.cli-history-list::after { content: ''; display: block; flex: 0 0 220px; }
.cli-history-list { display: flex; flex-direction: column; gap: 30px; width: min(100%, 960px); margin: 0 auto; padding: 0; list-style: none; }
.cli-history-pair { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; margin: 0; padding: 0; }
.cli-history-meta { display: flex; flex-wrap: wrap; align-self: flex-end; justify-content: flex-end; gap: 8px; margin: 0 4px; color: #96899e; font-size: 10px; line-height: 1.5; }
.cli-history-meta time::before { content: '·'; margin-right: 8px; }
.cli-history-bubble { width: fit-content; max-width: 88%; min-width: 0; padding: 13px 17px 15px; border: 1px solid transparent; border-radius: 18px; }
.cli-history-input { align-self: flex-end; border-color: #7e56984d; border-bottom-right-radius: 5px; background: #382447; }
.cli-history-response { border-color: #ffffff0d; border-bottom-left-radius: 5px; background: #1c1922; }
.cli-history-speaker { display: block; margin-bottom: 6px; color: #bba6cb; font-size: 10px; font-weight: 650; letter-spacing: .06em; }
.cli-history-response .cli-history-speaker { color: #b8adc3; }
.cli-history-bubble p { margin: 0; color: #f1edf7; font-size: clamp(13px, 1.15vw, 16px); line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; }
.cli-history-empty { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 180px; height: 100%; max-width: 440px; margin: auto; padding: 20px; text-align: center; }
.cli-history-empty[hidden] { display: none; }
.cli-history-empty h3 { margin: 0 0 12px; color: #e8deee; font-size: 20px; font-weight: 550; letter-spacing: -.025em; }
.cli-history-empty p { margin: 0; color: #a89caf; font-size: 13px; line-height: 1.7; }
@media (max-width: 700px) {
  .cli-history { padding: 16px 14px; }
  .cli-history-header { gap: 10px; }
  .cli-history-clear { padding-inline: 10px; font-size: 11px; }
  .cli-history-caption { font-size: 11px; }
  .cli-history-scroll { padding-right: 4px; }
  .cli-history-list { gap: 24px; }
  .cli-history-bubble { max-width: 96%; padding: 12px 14px; }
}

/* The shell scrolls input and newest-first history together, without a panel. */
.cli-history.cli-history-compact { height: auto; padding: 0; border-radius: 0; background: transparent; font-family: system-ui, sans-serif; }
.cli-history-compact .cli-history-scroll { flex: 0 1 auto; max-height: none; overflow: visible; margin: 0; padding: 4px 8px 8px; }
.cli-history-compact .cli-history-list { gap: 16px; width: 100%; }
.cli-history-compact .cli-history-list::after { display: none; }
.cli-history-compact .cli-history-pair { gap: 6px; }
.cli-history-compact .cli-history-bubble { max-width: 94%; padding: 8px 12px; border-radius: 12px; }
.cli-history-compact .cli-history-input { background: #33223f; border-bottom-right-radius: 4px; }
.cli-history-compact .cli-history-response { background: transparent; border-color: transparent; padding-inline: 2px; }
.cli-history-compact .cli-history-speaker { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.cli-history-compact .cli-history-bubble p { font-size: 13px; line-height: 1.5; }
.cli-history-compact .cli-history-empty { display: none; }
.cli-history-compact [data-cli-history-pending] .cli-history-response { color: #a99ab8; }
/* Keep the guide readable while borrowing the composer. Older input remains
   scrollable instead of covering the contextual commands. */
body[data-contextual-help="true"] #shell-cli .cli-history-scroll { max-height: none; }

/* Help uses the same authored native content lifetime as History. Its nested
   disclosures scroll within the Object, never in an independent overlay. */
.shell-reminder-notice { position: fixed; left: 18px; top: 80px; z-index: 85; max-width: min(460px, calc(100vw - 36px)); max-height: 110px; overflow: auto; padding: 12px 18px; border: 1px solid #ac8fca; border-radius: 16px; background: #20182f; color: #fff; text-align: left; overflow-wrap: anywhere; box-shadow: 0 8px 30px #0008; }
.shell-reminder-notice[hidden] { display: none; }
.cli-help { display: flex; flex-direction: column; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: clamp(16px, 3vw, 36px); overflow: hidden; border-radius: inherit; color: #f1edf7; background: linear-gradient(155deg, #191321, #0e0d14 65%); text-align: left; }
.cli-help-header { display: block; flex: 0 0 auto; width: 100%; max-width: none; margin: 0; padding: 0; }
.cli-help-heading { margin: 0; color: #faf7ff; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
.cli-help-caption { margin: 9px 0 0; color: #b4a5bf; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.cli-help-status { flex: 0 0 auto; min-height: 1.5em; margin: 10px 0 0; color: #c5add6; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.cli-help-status:empty { display: none; }
.credits-view .cli-help-header h2 { margin: 0; font-size: clamp(24px, 4vw, 36px); }
.credits-view .cli-help-header p { margin: 8px 0; color: #c4b8ce; }
.credits-view [data-credits-balances] dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 8px 16px; max-width: 680px; }
.credits-view [data-credits-balances] dd { margin: 0; font-size: clamp(23px, 4vw, 36px); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.credits-view [data-credits-balances] dt { align-self: center; color: #c4b8ce; }
.credits-view :is([data-credits-action], [data-credit-calculation-action], [data-credit-calculation-select]) { min-height: 44px; margin: 8px 8px 8px 0; padding: 10px 15px; border: 1px solid #a77cc966; border-radius: 11px; color: #eedcfb; background: #59346f55; overflow-wrap: anywhere; }
.credits-view :is([data-credits-action], [data-credit-calculation-action], [data-credit-calculation-select]):disabled { opacity: .45; }
.credits-view :is([data-credits-action], [data-credit-calculation-action])[hidden] { display: none; }
.credits-view [data-credit-calculations] { border-top: 1px solid #ffffff26; margin-top: 24px; padding-top: 8px; overflow-wrap: anywhere; }
.credits-view [data-credit-calculation-result] { white-space: pre-wrap; overflow-wrap: anywhere; }
.credits-view [data-credits-activity] { padding-left: 22px; }
.credits-view [data-credits-activity] li { padding: 12px 0; border-top: 1px solid #ffffff18; overflow-wrap: anywhere; }
.credits-view [data-credits-activity] li p { color: #b7a9c3; margin: 6px 0; font-size: 13px; }
.cli-help-scroll { flex: 1 1 auto; min-width: 0; min-height: 0; margin-top: 10px; padding: 4px 10px 220px 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #675071 transparent; scroll-padding-top: 8px; }
.cli-help-notice { width: min(100%, 960px); margin: 0 auto 20px; padding: 12px 16px; border: 1px solid #b28bcc24; border-radius: 12px; color: #b8a8c2; background: #9e66c009; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.cli-help-topics { display: grid; gap: 12px; width: min(100%, 960px); min-width: 0; margin: 0 auto; }
.cli-help-topic { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid #72558655; border-radius: 16px; background: #20172977; }
.cli-help-topic[open] { border-color: #9670ad80; background: #1e1728; }
.cli-help-topic-heading { min-height: 56px; margin: 0; padding: 16px 18px; color: #ece1f6; cursor: pointer; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.cli-help-topic-heading::marker { color: #b78cd0; font-size: 12px; }
.cli-help-topic-name { margin-left: 5px; font-weight: 600; }
.cli-help-topic-count { display: inline-block; margin-left: 12px; color: #a99bb5; font-size: 11px; font-weight: 400; white-space: nowrap; }
.cli-help-command { min-width: 0; margin: 0 16px; padding: 0; border-top: 1px solid #ffffff0c; background: transparent; }
.cli-help-command:last-child { margin-bottom: 12px; }
.cli-help-command-heading { min-height: 48px; margin: 0; padding: 13px 5px; color: #d2c2df; cursor: pointer; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.cli-help-command-heading::marker { color: #8e769d; font-size: 10px; }
.cli-help-command-heading code { margin-left: 5px; padding: 0; color: inherit; background: transparent; font: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.cli-help-command[open] > .cli-help-command-heading { color: #f1e4fc; }
.cli-help-command-description { margin: 0 0 12px; padding: 0 20px; color: #b7a9c3; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.cli-help-example { min-height: 44px; max-width: calc(100% - 40px); margin: 0 20px 16px; padding: 10px 15px; border: 1px solid #a77cc966; border-radius: 11px; color: #eedcfb; background: #59346f55; font-size: 12px; line-height: 1.5; white-space: normal; }
.cli-help-example:not(:disabled):hover { border-color: #bc8fdb; background: #73428d70; }
.cli-help-example:disabled { opacity: .45; cursor: default; }
.cli-help :is(summary, button):focus-visible, .cli-help-scroll:focus-visible { outline: 2px solid #c29cdd; outline-offset: -3px; }
.cli-help-contextual { display: grid; gap: 16px; width: min(100%, 960px); margin: 0 auto 18px; }
.cli-help-contextual:empty { display: none; }
.cli-help-entity, .cli-help-entities { min-width: 0; border: 1px solid #72558655; border-radius: 16px; padding: 16px; background: #20172977; overflow-wrap: anywhere; }
.cli-help-entity[data-current="true"] { border-color: #b98cda; background: linear-gradient(140deg, #472b5a88, #211729); box-shadow: inset 4px 0 #b98cda; }
.cli-help-entity h3 { margin: 0 0 10px; color: #faf3ff; font-size: 20px; }
.cli-help-entity > p { color: #c4b8ce; font-size: 13px; line-height: 1.6; }
.cli-help-entity > .cli-help-entity-source { color: #a992bc; font-size: 11px; }
.cli-help-entities summary, .cli-help-entity > summary { min-height: 32px; cursor: pointer; color: #ece1f6; }
.cli-help-entities input { width: 100%; min-height: 44px; margin: 12px 0; border: 1px solid #9670ad80; border-radius: 10px; padding: 10px 14px; color: #f1edf7; background: #100c17; }
.cli-help-entities .cli-help-entity { margin-top: 10px; }
.cli-help-return, .cli-help-generate, .cli-help-more { min-height: 44px; margin: 10px 10px 4px 0; padding: 10px 15px; border: 1px solid #a77cc966; border-radius: 11px; color: #eedcfb; background: #59346f55; font-size: 12px; }
.cli-help-return { background: #70458e; }
@media (max-width: 700px) {
  .cli-help { padding: 16px 14px; }
  .cli-help-caption, .cli-help-status { font-size: 11px; }
  .cli-help-scroll { padding-right: 4px; }
  .cli-help-notice { padding: 11px 12px; font-size: 11px; }
  .cli-help-topic-heading { padding: 14px 12px; font-size: 14px; }
  .cli-help-topic-count { font-size: 10px; margin-left: 8px; }
  .cli-help-command { margin-inline: 10px; }
  .cli-help-command-heading { font-size: 12px; }
  .cli-help-command-description { padding-inline: 12px; font-size: 12px; }
  .cli-help-example { max-width: calc(100% - 24px); margin-inline: 12px; }
}

/* Full native management Experiences borrow existing UI owners within their
   authored content Objects. Legacy launcher panels retain their prior paint. */
.native-workspace, .native-library { display: flex; flex-direction: column; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: clamp(16px, 3vw, 32px); overflow: hidden; color: #f1edf7; background: linear-gradient(155deg, #191321, #0e0d14 65%); text-align: left; }
.native-workspace-heading, .native-library-heading { display: block; flex: 0 0 auto; width: 100%; max-width: none; margin: 0; padding: 0; }
:is(.native-workspace-heading, .native-library-heading) h2 { margin: 0; color: #faf7ff; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; letter-spacing: -.035em; }
:is(.native-workspace-heading, .native-library-heading) p { margin: 8px 0 14px; color: #b4a5bf; font-size: 13px; line-height: 1.6; }
.native-workspace-actions, .native-workspace-sections { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; width: 100%; min-width: 0; margin: 0 0 12px; padding: 0; }
.native-workspace-actions button, .native-workspace-sections button { min-height: 44px; margin: 0; padding: 10px 14px; border: 1px solid #8b6a9f66; border-radius: 11px; background: #3d2b4e70; color: #e8dbf2; font-size: 13px; line-height: 1.5; }
.native-workspace-sections button { background: transparent; }
.native-workspace-sections button[aria-pressed="true"] { background: #684385; border-color: #c29cdd; color: #fff; }
.native-workspace-status { flex: 0 0 auto; margin: 0; color: #c5add6; font-size: 12px; line-height: 1.5; }
.native-workspace-status:empty, .native-library > [role="status"]:empty { display: none; }
.native-workspace-body, .native-library-scroll { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 0; padding: 12px 8px 220px 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #675071 transparent; }
.native-workspace-control { width: min(100%, 1120px); margin: 0 auto; }
.native-workspace-control :is(input, select, textarea) { min-width: 0; max-width: 100%; }
.native-workspace-control input[type="search"] { width: 100%; min-height: 44px; margin: 0 0 12px; }
.native-workspace-control button { min-height: 44px; }
.native-workspace-control :is(p, label, button, pre) { overflow-wrap: anywhere; }
.native-workspace-control .entity-space-inspector[data-native-embedded="true"] { position: relative; inset: auto; width: 100%; min-width: 0; max-height: none; margin: 0; overflow: visible; box-shadow: none; background: transparent; border: 0; padding: 0; }
.experience-native-content-body > .sunburst-studio { flex: 1 1 auto; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding-bottom: 240px; overflow: auto; overscroll-behavior: contain; }
.experience-native-content-body #scene-studio.pea-studio[data-native-embedded="true"] { position: relative; inset: auto; z-index: auto; flex: 1 1 auto; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; border-radius: 0; }
.experience-native-content-body #scene-studio[data-native-embedded="true"] .pea-return { display: none; }
.experience-native-content-body #scene-studio[data-native-embedded="true"] .pea-body { order: 1; }
/* Keep reviewed actions above the scroller, away from the persistent Sunburst. */
.experience-native-content-body #scene-studio[data-native-embedded="true"] .pea-footer { border-top: 0; border-bottom: 1px solid var(--pea-line); }
.experience-native-content-body #scene-studio[data-native-embedded="true"] .pea-footer .pea-button { min-height: 44px; }
.experience-native-content-body #scene-studio[data-native-embedded="true"] :is(.pea-main, .pea-aside) { padding-bottom: 220px; }
.native-library-scroll #experience-library[data-native-embedded="true"] { position: relative; inset: auto; z-index: auto; width: 100%; min-width: 0; height: auto; min-height: 0; max-width: none; max-height: none; margin: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.native-library-scroll #experience-library-close { display: none; }
.native-library-scroll #experience-library-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 14px; }
.native-library-scroll #experience-library-list li { min-width: 0; margin: 0; padding: 16px; border: 1px solid #72558655; border-radius: 14px; background: #21182880; overflow-wrap: anywhere; }
.native-library-scroll #experience-library :is(button, input, select, textarea) { max-width: 100%; }
.native-workspace :is(button, input, select, textarea):focus-visible, .native-workspace-body:focus-visible, .native-library-scroll:focus-visible { outline: 2px solid #c29cdd; outline-offset: -3px; }
@media (max-width: 700px) {
  .native-workspace, .native-library { padding: 16px 14px; }
  :is(.native-workspace-heading, .native-library-heading) p { font-size: 11px; }
  .native-workspace-actions, .native-workspace-sections { gap: 6px; margin-bottom: 9px; }
  .native-workspace-actions button, .native-workspace-sections button { padding: 8px 10px; font-size: 11px; }
  .native-workspace-body, .native-library-scroll { padding-right: 4px; }
  .experience-native-content-body #scene-studio[data-native-embedded="true"] .pea-topbar { padding: 16px 14px; }
}
#experience-library[data-version-review="true"] > :not([data-experience-versions]) { display: none; }
[data-experience-versions] ol { display: grid; gap: 1rem; padding-inline-start: 1.5rem; }
[data-experience-versions] li button { margin-inline-start: 0.75rem; }
.experience-command-menu-shell { position: static; min-width: 0; max-width: 100%; grid-column: 1 / -1; pointer-events: auto; }
.experience-command-menu-shell > details { border: 1px solid #72558666; border-radius: 14px; background: #121019f2; padding: 12px 16px; }
.experience-command-menu-shell summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
/* A surface's existing heading/details own scrolling and stacking. Inspector
   and constellation hosts use normal flow with their own bounded disclosure. */
.experience-command-menu-shell [data-contextual-command-menu] { max-height: none; overflow: visible; }
.entity-space-toolbar > .experience-command-menu-shell { flex: 0 1 330px; }
:is(.entity-space-toolbar, .entity-space-constellation-controls) > .experience-command-menu-shell [data-contextual-command-menu] { max-height: 45dvh; overflow: auto; }
.experience-command-menu-shell button { min-height: 44px; margin: 4px; }
.experience-command-menu-shell p { color: #b8adc6; font-size: 12px; }
body[data-shell-controls="hidden"] .experience-command-menu-shell { display: none; }
.experience-object-detail { position: absolute; z-index: 3; left: 20px; top: 72px; max-width: min(300px, 60%); overflow: auto; overscroll-behavior: contain; padding: 14px 18px; border: 1px solid #72558688; border-radius: 14px; background: #121019ed; pointer-events: auto; }
.experience-package-scene[data-sub-experience="object-detail"] .experience-run-heading { display: none; }
.experience-object-detail h2 { margin: 0 0 8px; font-size: 18px; }
.experience-object-detail p { margin: 5px 0; font-size: 13px; color: #b8adc6; }
.cli-help-current-commands { padding: 16px; margin-bottom: 16px; border: 1px solid #9270b0; border-radius: 14px; }
.cli-help-command-availability { color: #b8adc6; font-size: 13px; }
