/* Keep the supplied artwork; avoid live filters over full-screen surfaces. */
.artwork { filter: none; transition: none; }
.brightness-adjusted .artwork { filter: brightness(var(--brightness)); }
.room { transition: opacity .2s; }
.home-composer,.account-button,.business-panel,.agent-panel,.preview-menu,dialog,
.attachment-tray,dialog::backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
.home-composer { background-color: #101e30d9; }
.business-panel,.agent-panel { background-color: #0a1423; }
.float-card,.future-card,.orb,.portal-frame,.future-frame,.card-art,
.float-card:hover,.future-card:hover,.core-active .orb { filter: none; }
.float-card,.future-card { transition: transform .18s,opacity .2s; }
.depth-disabled .orb-sheen,.depth-disabled .card-glare,.depth-disabled .future-glare { background-position: center; }
/* A hidden landing must not keep its SVGs, animation surfaces and filters alive. */
.in-space .stage { visibility: hidden; filter: none; transition: none; }
.in-space .stage * { animation: none !important; }
.in-space #ambience { visibility: hidden; transition: none; }
.in-space .room { filter: none; transform: scale(1.025); }
.motion-paused .float-card,.motion-paused .future-card { animation: none; }
.motion-paused .orb-ripple { animation: none; }
.card-art,.orb-art { object-fit: cover; }

/* Same materials on the portal frame and the GEO workspace. */
#cockpit.in-space .room { opacity:.2; }
#cockpit.in-space .edge-shade { background:#0b1421aa; }
.workspace .business-panel,.workspace .agent-panel { border-color:#2b3b50; background:#0b1421; box-shadow:0 10px 28px #0003; border-radius:12px; }
.workspace .panel-top,.workspace .panel-bottom { background:#0d1827!important; border-color:#29384a!important; }
.workspace .panel-top button,.workspace .panel-bottom { color:#93a9c3; }
.workspace .agent-panel { background:#0d1726; }
.workspace .agent-identity h2 { font-size:14px; color:#d9e6f7; }
.workspace .agent-composer { border-radius:8px; background:#111e30; border-color:#2d4059; box-shadow:none; }
.workspace .agent-composer:focus-within { border-color:#7699da; box-shadow:none; }
.workspace .agent-composer textarea { font-size:12px; }
.workspace .agent-composer-area>p { color:#6e849f; }

/* nebula-20261031-152449: approved desktop nebula composition. */
/* Desktop-only refinement of the accepted observatory composition. */
html,body { min-width:1080px; min-height:650px; }
.observatory { min-width:1080px; min-height:650px; height:100svh; }
.stage { inset:auto; left:50%; top:50%; width:min(100vw,177.68svh); height:min(56.28vw,100svh); transform:translate(-50%,-50%); }
.room { transform:scale(1.025); }
.edge-shade { background:linear-gradient(90deg,#02071320,transparent 24%,transparent 76%,#02071324),linear-gradient(0deg,#03081765,transparent 19%,transparent 80%,#02071318); }
.orb { left:36.96%; top:19.87%; width:25.72%; height:42.61%; aspect-ratio:auto; }
.orb-art,.core-flow { mask-image:radial-gradient(ellipse,#000 65%,transparent 72%); clip-path:ellipse(49% 49% at 50% 50%); }
.core-flow { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:0; transition:opacity .4s; }
.core-flow.is-ready { opacity:1; }
.orb:has(.core-flow.is-ready) .orb-art { opacity:0; }
.orb::before { filter:none; background:radial-gradient(ellipse,transparent 51%,#99b7ff0d 61%,#ae9dfd16 66%,transparent 73%); opacity:.7; }
.orb-sheen { opacity:.1; }
.float-card,.amber-card { top:22.3%; left:16.5%; right:auto; bottom:auto; width:17.3%; height:42.8%; padding:0; border:0; border-radius:0; background:none; overflow:visible; isolation:isolate; }
.amber-card { left:66.2%; top:21.8%; height:43.2%; }
.future-card,.ppt-card { left:2.5%; right:auto; top:28.5%; bottom:auto; width:12.3%; height:32%; padding:0; border:0; border-radius:0; background:none; overflow:visible; }
.ppt-card { left:85%; top:28%; }
.card-face,.future-face { clip-path:url(#left-shape); border-radius:0; opacity:1; }
.amber-card .card-face,.ppt-card .future-face { clip-path:url(#right-shape); }
.card-art { opacity:1; }
.card-copy,.amber-card .card-copy { left:15%; right:9%; top:16%; gap:14px; text-shadow:0 2px 12px #020713ba; }
.amber-card .card-copy { top:19%; }
.card-copy strong { font-size:clamp(24px,2.15vw,40px); font-weight:400; letter-spacing:.08em; line-height:1.25; }
.card-copy > span { font-size:clamp(12px,1.02vw,17px); line-height:1.8; font-weight:400; color:#e3eaf4; letter-spacing:.02em; }
.card-entry,.amber-card .card-entry { left:15%; right:14%; bottom:9%; border:0; padding:0; }
.card-entry .entry-arrow { font-size:24px; }
.future-copy { padding:20% 16%; text-shadow:0 2px 12px #020713ba; }
.future-copy h2 { font-size:clamp(22px,1.8vw,30px); font-weight:400; letter-spacing:.09em; margin-bottom:12px; }
.coming-soon { color:#c6d2e3; font-size:12px; letter-spacing:.06em; }
.portal-frame,.future-frame { display:block; stroke-width:.8; opacity:.65; filter:none; }
.portal { transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s; }
.portal:is(:hover,:focus-visible) { filter:none; }
.depth-disabled .portal:is(:hover,:focus-visible) { transform:translate3d(0,-4px,0) scale(1.018); }
.portal:is(:hover,:focus-visible) .portal-frame { opacity:1; }
.portal:is(:hover,:focus-visible) .card-copy { transform:none; }
.card-face::after,.future-face::after { background:linear-gradient(180deg,#030b1840,transparent 52%,#040d1a1c); }
.card-scan { display:none; }
.card-glare,.future-glare { background:linear-gradient(120deg,#d9eaff0c,transparent 52%); opacity:0; }
.portal:is(:hover,:focus-visible) :is(.card-glare,.future-glare) { opacity:1; }
.card-face::before,.future-face::before { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(110deg,transparent 20%,#e1f1ff0f 43%,#e1f1ff03 55%,transparent 70%); transform:translateX(-105%); transition:transform .8s cubic-bezier(.22,1,.36,1); }
.portal:is(:hover,:focus-visible) :is(.card-face,.future-face)::before { transform:translateX(105%); }
.float-card,.future-card { animation:portal-drift 8s ease-in-out infinite; }
.amber-card { animation-delay:-4s; }
.commerce-card { animation-delay:-1.8s; animation-duration:9s; }
.ppt-card { animation-delay:-6.2s; animation-duration:9s; }
@keyframes portal-drift { 0%,100% { translate:0 0; } 50% { translate:0 -4px; } }
.motion-paused .portal,.capture-paused .portal,.in-space .portal { animation-play-state:paused; }
.in-space .stage { visibility:hidden; }
.composer-wrap { top:79.5%; left:50%; width:min(40%,560px); transform:translateX(-50%); }
.home-composer { min-height:50px; padding:7px 8px 7px 17px; gap:11px; border:1px solid #bed5e950; border-radius:30px; background:linear-gradient(115deg,#142237e8,#0b1627e8 72%,#182b42e6); box-shadow:inset 0 1px #e1f0ff13,0 7px 20px #02071335; backdrop-filter:none; }
.home-composer textarea { height:28px; font-size:13px; color:#e0eaf6; line-height:1.65; padding:3px 0; }
.home-composer textarea::placeholder { color:#b4c4d8; }
.home-composer .input-wave { width:18px; height:18px; color:#b2c9e8; }
.home-composer .composer-tool { width:27px; height:30px; }
.home-composer .send-button { width:32px; height:32px; border-radius:50%; background:#b9d3ee13; border:1px solid #b4d6f430; color:#d4e5f9; }
.home-composer .send-button svg,.home-composer .composer-tool svg { width:17px; height:17px; }
.home-composer:focus-within { background:linear-gradient(115deg,#172b43f0,#101f32ee); border-color:#b4d7ff9c; box-shadow:inset 0 1px #e1f0ff1c,0 7px 22px #02071340; }
.home-composer .send-button:hover { background:#c2dcf52c; border-color:#c4e1ff8c; }
.home-composer::before { display:none; }
.bottom-bar { bottom:14px; }
.bottom-bar > span { display:inline; }
.workspace,.workspace[data-mode=film],.workspace[data-mode=presentation] { grid-template-rows:1fr; }
.workspace { grid-template-columns:minmax(0,var(--split)) 7px minmax(0,1fr); grid-template-areas:"business divider agent"; }
.workspace[data-mode=film],.workspace[data-mode=presentation] { grid-template-columns:minmax(0,1fr) 7px minmax(0,var(--split)); grid-template-areas:"agent divider business"; }
.workspace[data-mode=adam] { grid-template-columns:1fr; grid-template-areas:"agent"; }
.workspace[data-mode=adam] .agent-panel { width:min(820px,66%); }
.workspace .business-panel,.workspace .agent-panel { border-radius:15px; background:#0c1625; border-color:#b5cdeb30; box-shadow:0 12px 40px #0004; }
.workspace .agent-panel { background:#0e1929; }
.workspace .agent-composer { border-radius:13px; background:#152237; border-color:#a9c5e334; }
.workspace .agent-composer:focus-within { border-color:#b1d0f27a; }
.workspace .agent-top { height:60px; }
.workspace .agent-identity h2 { font-size:16px; letter-spacing:.025em; }
.workspace .messages { padding:24px; }
.empty-chat { opacity:.65; }
.empty-chat > span { color:#b5cbe7; }
.empty-chat svg { fill:#a4bfe2; }
.tiny-core { background:#101c30 url('assets/core.3f6b93bf190c.webp') center/cover; box-shadow:none; }
.agent-composer-area > p { font-size:10px; }
.is-fullscreen .workspace,.is-fullscreen .workspace[data-mode=film],.is-fullscreen .workspace[data-mode=presentation],.without-adam .workspace { grid-template-columns:1fr; grid-template-areas:"business"; }
.splitter { cursor:col-resize; }
.splitter > span { height:40px; width:2px; }
@media(prefers-reduced-motion:reduce) { .portal { animation:none; } .portal:is(:hover,:focus-visible) { transform:none!important; } .card-face::before,.future-face::before { display:none; } }
/* Explicit playback in this preview may override the initial reduced-motion pause. */
.allow-motion .float-card,.allow-motion .future-card { animation-name:portal-drift!important; animation-duration:8s!important; animation-timing-function:ease-in-out!important; animation-iteration-count:infinite!important; }
.allow-motion .amber-card { animation-delay:-4s!important; }
.allow-motion .commerce-card { animation-delay:-1.8s!important; animation-duration:9s!important; }
.allow-motion .ppt-card { animation-delay:-6.2s!important; animation-duration:9s!important; }
.allow-motion .portal { transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s!important; }
.allow-motion .card-face::before,.allow-motion .future-face::before { display:block; transition:transform .8s cubic-bezier(.22,1,.36,1)!important; }
.allow-motion.depth-disabled .portal:is(:hover,:focus-visible) { transform:translate3d(0,-4px,0) scale(1.018)!important; }
.in-space .portal,.capture-paused .portal,.motion-paused .portal { animation-play-state:paused!important; }
dialog,.preview-menu { background:linear-gradient(145deg,#18283e,#0c1728); border-color:#adcff33d; box-shadow:inset 0 1px #e5f0ff0a,0 24px 80px #0007; }
.settings-top h2 { font-size:22px; letter-spacing:.035em; }
.settings-intro { font-size:12px; line-height:1.85; }
.setting-row { padding:19px 0; }
.setting-row label,.brightness-row label { font-size:13px; }
.setting-row small { font-size:11px; color:#94a9c4; }
.preview-menu>button,.preview-menu>a { font-size:12px; min-height:40px; }

/* v2: open, alpha-edged light volume; the surrounding lobby keeps its composition. */
.orb { left:35.5%; top:15.1%; width:29%; height:auto; aspect-ratio:1; }
.orb-art,.core-flow { mask-image:none; clip-path:none; object-fit:contain; }
.orb::before,.orb-sheen,.orb-ripple { display:none; }
.card-face,.future-face { opacity:.945; }
.portal-frame,.future-frame { opacity:.52; }
.allow-motion .portal-frame { animation:material-breath 8s ease-in-out infinite; transition:opacity .35s!important; }
@keyframes material-breath { 0%,100% { opacity:.52; } 50% { opacity:.72; } }
.portal:is(:hover,:focus-visible) .portal-frame,.core-active .portal-frame { animation:none; opacity:.92; }
.capture-paused .portal-frame,.motion-paused .portal-frame,.in-space .portal-frame { animation-play-state:paused!important; }
[data-core-tone="geo-entry"] .blue-card .card-face::after { background:linear-gradient(180deg,#84bfff13,transparent 55%,#040d1a1c); }
[data-core-tone="film-entry"] .amber-card .card-face::after { background:linear-gradient(180deg,#ffc98a10,transparent 55%,#040d1a1c); }
.portal:focus-visible { outline:2px solid transparent; outline-offset:5px; }
.portal:focus-visible .portal-frame { stroke:#f0f7ff; stroke-width:2.2; opacity:1; animation:none!important; }
@media(forced-colors:active) { .portal:focus-visible { outline-color:Highlight; } }

/* v3: a quieter hierarchy, with light carried by sparse three-dimensional silk. */
.room::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#02081438,transparent 38%,transparent 62%,#02081438),linear-gradient(0deg,#030a142b,#030a1414 42%,#030a1430); }
.edge-shade { background:linear-gradient(90deg,#02071336,transparent 28%,transparent 72%,#02071336),linear-gradient(0deg,#03081752,transparent 35%,transparent 78%,#02071316); }
.orb { left:36.5%; top:17.3%; width:27%; }
.card-face { opacity:.91; }
.card-face::after { background:linear-gradient(180deg,#05101f4a,transparent 60%,#07132320); }
.future-face { opacity:.6; transition:opacity .45s; }
.future-copy { opacity:.78; transition:opacity .35s; }
.future-frame { opacity:.3; }
.future-card:is(:hover,:focus-visible) .future-face { opacity:.88; }
.future-card:is(:hover,:focus-visible) .future-copy { opacity:1; }
.portal-frame { stroke-width:.65; }
@keyframes material-breath { 0%,100% { opacity:.4; } 50% { opacity:.6; } }
.card-copy > span { color:#d6e0ee; }
.home-composer { border-color:#bed5e93b; background:linear-gradient(115deg,#142237df,#0b1627e0 72%,#182b42df); }
.orb:focus-visible { outline:1px solid #c9e6ff8c; outline-offset:-12px; }
@media(forced-colors:active) { .orb:focus-visible { outline:2px solid Highlight; } }

/* User-selected nebula core, with the current room and quiet portal treatment. */
.orb { left:36.5%; top:17.3%; width:27%; }
.allow-motion .portal { animation:none!important; }
.allow-motion .portal-frame { animation:none!important; opacity:.5; }
.portal:is(:hover,:focus-visible) .portal-frame { opacity:.92; }

/* Desktop motion feedback: only the active card follows the pointer. */
.allow-motion .portal:is(:hover,:focus-visible) { transform:perspective(1000px) translate3d(0,-9px,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.035)!important; }
.allow-motion.depth-disabled .portal:is(:hover,:focus-visible) { transform:translate3d(0,-6px,0) scale(1.025)!important; }
.allow-motion .portal:is(:hover,:focus-visible) :is(.card-glare,.future-glare) { background:radial-gradient(ellipse at var(--mx,50%) var(--my,50%),#e1f1ff30,transparent 65%); }
.allow-motion .portal:is(:hover,:focus-visible) .portal-frame { opacity:.96; }
.motion-paused .portal { transform:none!important; }
.motion-paused :is(.card-face,.future-face)::before { display:none!important; }
/* A browser without WebGL still receives a light, compositor-only fallback. */
.allow-motion .orb:not(:has(.core-flow.is-ready)) .orb-art { animation:nebula-poster-drift 16s ease-in-out infinite!important; }
@keyframes nebula-poster-drift { 0%,100% { transform:rotate(-3deg) scale(.99); } 50% { transform:rotate(3deg) scale(1.015); } }
.in-space .orb-art { animation:none!important; }

/* GEO occupies the workspace; the frame remains isolated, without a second visual shell. */
#cockpit.in-space:has(.workspace[data-mode=geo]) .workspace{inset:0!important;width:100%;height:100dvh;max-height:none;transform:none!important;padding:0;gap:0;}
#cockpit.in-space .workspace[data-mode=geo] .business-panel{border:0!important;border-radius:0!important;box-shadow:none!important;background:#f4f5f7;transform:none!important;}
.workspace[data-mode=geo] .business-panel>.panel-top,.workspace[data-mode=geo] .business-panel>.panel-bottom{display:none;}
#cockpit.in-space:has(.workspace[data-mode=geo])>.bottom-bar{display:none;}
.adam-chat-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;padding:13px 15px;margin:12px 0;border-radius:10px;}
.adam-chat-message small{display:block;font-size:10px;opacity:.65;margin-bottom:5px;}
.assistant-message{background:#182338;color:#d5deed;}
.adam-chat-pending,.adam-chat-error{font-size:12px;line-height:1.8;color:#aabbd2;margin:12px 0;}
.adam-chat-error{color:#e4b1a8;}

/* The landing room's fixed canvas must not constrain the GEO work area. */
html:has(#cockpit.in-space .workspace[data-mode=geo]),body:has(#cockpit.in-space .workspace[data-mode=geo]),#cockpit.in-space:has(.workspace[data-mode=geo]){min-width:0;min-height:0;width:100%;height:100dvh;}
body:has(#cockpit.in-space .workspace[data-mode=geo]){overflow:hidden;}

/* Restore previously approved static lobby brand; keep current GEO fit rules. */
.lobby-brand { position:absolute; z-index:3; top:clamp(28px,4.3vh,50px); left:clamp(28px,3.5vw,64px); pointer-events:none; color:#edf3fa; text-shadow:0 2px 10px #02071355; }
.lobby-brand-line { display:flex; align-items:baseline; gap:15px; }
.lobby-brand h1 { margin:0; font-size:25px; line-height:1.2; font-weight:500; letter-spacing:.015em; }
.lobby-brand-line > span { color:#c4d1e0; font-size:13px; line-height:1.5; font-weight:400; letter-spacing:.12em; }
.lobby-brand p { margin:9px 0 0; color:#a8b8cd; font-size:12px; line-height:1.6; font-weight:400; letter-spacing:.045em; }
.in-space .lobby-brand { display:none; }
