/* One rendering system for purchased designs, public profiles and shop previews. */
/* Approved level artwork retains its composition; only a soft light veil moves. */
.reward-art-scene {position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:var(--reward-art) center/cover no-repeat;}
.shop-design-card .reward-art-scene {background-image:var(--reward-thumb);}
.reward-art-scene::after {content:"";position:absolute;inset:-25%;pointer-events:none;background:linear-gradient(115deg,transparent 30%,var(--reward-light) 48%,transparent 66%);mix-blend-mode:screen;opacity:.3;animation:reward-light-sweep 18s ease-in-out infinite alternate;}
@keyframes reward-light-sweep {from {transform:translateX(-22%);opacity:.12;}to {transform:translateX(22%);opacity:.3;}}
html[data-design-paused] .reward-art-scene::after,[data-design-paused] > .reward-art-scene::after,body:has(dialog[open]) .reward-art-scene:not(dialog[open] .reward-art-scene)::after {animation-play-state:paused;}
@media(prefers-reduced-motion:reduce) {.reward-art-scene::after {animation:none;opacity:.12;}}
[data-shop-badge] {position:relative;overflow:visible;}
.design-level-badge {position:absolute;right:-18%;bottom:-18%;z-index:4;width:48%;min-width:18px;max-width:64px;aspect-ratio:1;background:var(--badge-art) center/contain no-repeat;pointer-events:none;}
[data-reward-art="impulse"] {--reward-art:url('/assets/designs/impulse-ambient.webp');--reward-thumb:url('/assets/designs/impulse-ambient-thumb.webp');--reward-light:#71cfff30;}
[data-shop-waiting="waiting-level-impulse"] {--waiting-art:url('/assets/designs/impulse-ambient.webp');--waiting-glow:#71cfff20;}
.shop-design-card [data-shop-waiting="waiting-level-impulse"] {--waiting-art:url('/assets/designs/impulse-ambient-thumb.webp');}
[data-shop-frame="frame-level-impulse"] {--frame-art:url('/assets/designs/frame-level-impulse.webp');--frame-glow:#71cfff33;}
[data-shop-badge="badge-level-impulse"] {--badge-art:url('/assets/designs/badge-level-impulse.webp');}
[data-reward-art="prisma"] {--reward-art:url('/assets/designs/prisma-ambient.webp');--reward-thumb:url('/assets/designs/prisma-ambient-thumb.webp');--reward-light:#c2acff30;}
[data-shop-waiting="waiting-level-prisma"] {--waiting-art:url('/assets/designs/prisma-ambient.webp');--waiting-glow:#c2acff20;}
.shop-design-card [data-shop-waiting="waiting-level-prisma"] {--waiting-art:url('/assets/designs/prisma-ambient-thumb.webp');}
[data-shop-frame="frame-level-prisma"] {--frame-art:url('/assets/designs/frame-level-prisma.webp');--frame-glow:#c2acff33;}
[data-shop-badge="badge-level-prisma"] {--badge-art:url('/assets/designs/badge-level-prisma.webp');}
[data-reward-art="phoenix"] {--reward-art:url('/assets/designs/phoenix-ambient.webp');--reward-thumb:url('/assets/designs/phoenix-ambient-thumb.webp');--reward-light:#e8ba8330;}
[data-shop-waiting="waiting-level-phoenix"] {--waiting-art:url('/assets/designs/phoenix-ambient.webp');--waiting-glow:#e8ba8320;}
.shop-design-card [data-shop-waiting="waiting-level-phoenix"] {--waiting-art:url('/assets/designs/phoenix-ambient-thumb.webp');}
[data-shop-frame="frame-level-phoenix"] {--frame-art:url('/assets/designs/frame-level-phoenix.webp');--frame-glow:#e8ba8333;}
[data-shop-badge="badge-level-phoenix"] {--badge-art:url('/assets/designs/badge-level-phoenix.webp');}
[data-reward-art="zenith"] {--reward-art:url('/assets/designs/zenith-ambient.webp');--reward-thumb:url('/assets/designs/zenith-ambient-thumb.webp');--reward-light:#d8d9dd30;}
[data-shop-waiting="waiting-level-zenith"] {--waiting-art:url('/assets/designs/zenith-ambient.webp');--waiting-glow:#d8d9dd20;}
.shop-design-card [data-shop-waiting="waiting-level-zenith"] {--waiting-art:url('/assets/designs/zenith-ambient-thumb.webp');}
[data-shop-frame="frame-level-zenith"] {--frame-art:url('/assets/designs/frame-level-zenith.webp');--frame-glow:#d8d9dd33;}
[data-shop-badge="badge-level-zenith"] {--badge-art:url('/assets/designs/badge-level-zenith.webp');}
/* The original six line pairs use CSS, including without WebGL. */
[data-shop-waiting="waiting-connection-lines"] {--waiting-art:none;--waiting-glow:transparent;}
.connection-lines-scene {position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#141e2b;}
.connection-lines-pattern {position:absolute;inset:0;}
.connection-lines-scene span {position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);display:flex;justify-content:center;gap:8%;width:78%;height:2px;}
.connection-lines-scene span::before,.connection-lines-scene span::after {content:"";flex:1;height:100%;border-radius:2px;background:#4d6c94;opacity:.55;animation:connectly-lines-left 4.8s ease-in-out infinite;}
.connection-lines-scene span::after {background:#7399ca;animation-name:connectly-lines-right;}
.connection-lines-scene span:nth-child(2),.connection-lines-scene span:nth-child(5) {width:66%;}
.connection-lines-scene span:nth-child(3),.connection-lines-scene span:nth-child(4) {width:54%;}
.connection-lines-scene span:nth-child(2) {top:38%;--line-delay:-.4s;}
.connection-lines-scene span:nth-child(3) {top:46%;--line-delay:-.8s;}
.connection-lines-scene span:nth-child(4) {top:54%;--line-delay:-1.2s;}
.connection-lines-scene span:nth-child(5) {top:62%;--line-delay:-1.6s;}
.connection-lines-scene span:nth-child(6) {top:70%;--line-delay:-2s;}
.connection-lines-scene span::before,.connection-lines-scene span::after {animation-delay:var(--line-delay,0s);}
@keyframes connectly-lines-left {0%,100% {transform:translateX(-12%);opacity:.3;}45%,60% {transform:translateX(4%);opacity:.85;}}
@keyframes connectly-lines-right {0%,100% {transform:translateX(12%);opacity:.3;}45%,60% {transform:translateX(-4%);opacity:.85;}}
html[data-design-paused] .connection-lines-scene span::before,html[data-design-paused] .connection-lines-scene span::after,
[data-design-paused] > .connection-lines-scene span::before,[data-design-paused] > .connection-lines-scene span::after,
body:has(dialog[open]) .connection-lines-scene span::before,body:has(dialog[open]) .connection-lines-scene span::after,
.camera-app:not([data-chat-state="searching"]) .remote-state .connection-lines-scene span::before,.camera-app:not([data-chat-state="searching"]) .remote-state .connection-lines-scene span::after {animation-play-state:paused;}
body dialog[open] .connection-lines-scene span::before,body dialog[open] .connection-lines-scene span::after {animation-play-state:running;}
@media(prefers-reduced-motion:reduce) {.connection-lines-scene span::before,.connection-lines-scene span::after {animation:none!important;}}
.camera-app .remote-state,.shop-waiting-preview {overflow:hidden;isolation:isolate;}
.camera-app .search-scene {display:none;}
.camera-app .remote-state::before {content:"";position:absolute;inset:-6%;z-index:-2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");}
html[data-shop-waiting] .camera-app .remote-state::before,
.shop-waiting-preview[data-shop-waiting]::before {
 content:"";position:absolute;inset:0;z-index:-2;background-image:var(--waiting-art);background-size:cover;background-position:center;
}
html[data-shop-waiting] .camera-app .remote-state::after,
.shop-waiting-preview[data-shop-waiting]::after {
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#02071215 15%,#02071200 40%,#02071288),radial-gradient(ellipse at 70% 20%,var(--waiting-glow),transparent 55%);animation:none;opacity:1;
}
html[data-shop-waiting] .remote-state :is(h2,p) {color:#fff;text-shadow:0 2px 8px #000;}
html[data-shop-waiting] .remote-state p {padding:0;max-width:360px;border-radius:0;background:none;font-size:14px;line-height:1.65;color:#e0e5f3;text-wrap:balance;}
html[data-shop-waiting] .remote-state h2 {padding:0;margin:0 0 12px;border-radius:0;background:none;font-size:clamp(21px,2.1vw,29px);font-weight:600;letter-spacing:-.65px;text-wrap:balance;}
/* Ornament assets sit around the portrait, without changing its click target. */
[data-shop-frame] {position:relative!important;overflow:visible!important;isolation:isolate;outline:0!important;}
[data-shop-frame] > img {border-radius:inherit;object-fit:cover;}
[data-shop-frame]::after {content:"";position:absolute;inset:-25%;z-index:2;pointer-events:none;background:var(--frame-art) center/contain no-repeat;filter:drop-shadow(0 0 5px var(--frame-glow));animation:design-frame-glow 5s ease-in-out infinite alternate;}
:is([data-shop-frame="frame-galaxy"],[data-shop-frame="frame-crystal"],[data-shop-frame="frame-dragon"])::after {inset:-41%;}
/* Leave room for the frame art so it never covers the adjacent name and role. */
:is(.profile-photo,.menu-avatar,.account-avatar)[data-shop-frame] {margin:20px;}
.global-header-actions [data-shop-frame]::after {inset:-26%;}
.remote-profile-button[data-shop-frame] {border-radius:50%;}
.remote-profile-button[data-shop-frame]::after {inset:-15%;}
/* A dark lower layer keeps all profile details readable over the artwork. */
[data-shop-profile] {position:relative;isolation:isolate;background-color:#0c1426!important;background-image:linear-gradient(180deg,#060c1b30,#060c1bc9 230px,#0c1426 500px),var(--profile-art)!important;background-size:100% 100%,100% auto!important;background-position:top center!important;background-repeat:no-repeat!important;border-color:var(--profile-glow)!important;}
[data-shop-profile] :is(h1,h2,.profile-name,.profile-username) {text-shadow:var(--art-text-shadow, 0 2px 10px #000);}
[data-shop-profile] :is(.social-head,.profile-head) {border-radius:16px;background:#060c1b65;padding:20px;}
/* Themes change the environment while functional controls retain contrast. */
html[data-shop-theme] body {background-color:var(--bg);background-image:linear-gradient(180deg,#060b1b66,#060b1bee 700px),var(--theme-art);background-size:cover;background-position:top center;background-attachment:fixed;}
.shop-theme-preview {background-image:linear-gradient(180deg,#070c1c25,#070c1bbb),var(--theme-art)!important;background-position:center!important;background-size:cover!important;color:#f6f8ff;}
/* Each chat material has a quiet text area and ornamentation at its edges. */
.call-chat-message[data-shop-bubble],.shop-preview [data-shop-bubble] {
 position:relative;isolation:isolate;overflow:visible;color:#f9fbff!important;border:1px solid var(--bubble-edge);background:linear-gradient(110deg,#070c1bef 15%,#070c1bbf 80%),var(--bubble-art) center/cover!important;box-shadow:inset 0 1px 0 #ffffff35,0 0 13px var(--bubble-glow);border-radius:18px 18px 5px 18px;padding:12px 18px;text-shadow:0 1px 2px #000;
}
[data-shop-bubble]::after {content:"";position:absolute;pointer-events:none;inset:-1px;border-radius:inherit;border-top:2px solid var(--bubble-edge);opacity:.8;}
[data-shop-bubble]::before {content:"✦";position:absolute;right:6px;bottom:-8px;font-size:16px;line-height:16px;color:var(--bubble-edge);text-shadow:0 0 8px var(--bubble-edge);pointer-events:none;animation:design-spark 4s ease-in-out infinite alternate;}
[data-shop-bubble="bubble-neon"],[data-shop-bubble="bubble-hologram"] {border-radius:4px 18px 4px 18px!important;border-left:3px solid var(--bubble-edge)!important;}
[data-shop-bubble="bubble-neon"]::after {inset:5px;border:0;border-bottom:1px dashed #48e8ff77;border-right:2px solid #fa71df;}
[data-shop-bubble="bubble-hologram"]::after {inset:-4px 5px;border:1px solid #aeefff55;transform:skewX(-8deg);}
[data-shop-bubble="bubble-plasma"] {border-radius:24px 9px 24px 9px!important;}
[data-shop-bubble="bubble-plasma"]::after {border-bottom:2px solid #ed8cff;box-shadow:0 3px 9px #c02dff55;animation:design-light 4s infinite alternate;}
[data-shop-bubble="bubble-ocean"] {border-radius:24px 24px 8px 24px!important;border-bottom:3px double #73efe7!important;}
[data-shop-bubble="bubble-ocean"]::before {content:"◦ ◌";color:#98ffef;}
[data-shop-bubble="bubble-sunset"] {background:linear-gradient(120deg,#482038f5,#512a23eb),var(--bubble-art) center/cover!important;border-bottom:3px solid #efb57b!important;}
[data-shop-bubble="bubble-dragon"] {border-radius:5px 16px 5px 16px!important;border-left:3px solid #ef934a!important;border-bottom:2px solid #d8572c!important;box-shadow:inset 0 -4px 13px #f56c2430,0 3px 14px #ec572838!important;}
[data-shop-bubble="bubble-dragon"]::after {border-top:2px dashed #ffb968;}
[data-shop-bubble="bubble-dragon"]::before {content:"◆";font-size:18px;}
[data-shop-bubble="bubble-crystal"] {border-radius:6px 22px 6px 22px!important;border:3px double #c4bdff!important;}
[data-shop-bubble="bubble-crystal"]::before {content:"◇ ✧";font-size:20px;}
[data-shop-bubble="bubble-forest"] {border-radius:22px 5px 22px 5px!important;border-left:3px double #81ecb7!important;}
[data-shop-bubble="bubble-forest"]::before {content:"❧";font-size:26px;}
[data-shop-bubble="bubble-blackhole"] {border-radius:28px!important;border:2px solid #eec076!important;box-shadow:0 0 0 3px #241928,0 0 0 4px #ba895977,0 0 16px #ffb34830!important;}
[data-shop-bubble="bubble-blackhole"]::before {content:"◉";color:#ffd995;right:12px;}
[data-shop-bubble="bubble-aurora"]::after {border-image:linear-gradient(90deg,#56f5c7,#c186ff,#90e6ff) 1;border-radius:0;inset:0 14px;}
@keyframes design-light {from{opacity:.35}to{opacity:.9}}
@keyframes design-frame-glow {from{filter:drop-shadow(0 0 3px var(--frame-glow))}to{filter:drop-shadow(0 0 9px var(--frame-glow))}}
@keyframes design-spark {from{opacity:.6}to{opacity:1;transform:translateY(-2px)}}
/* Offscreen cards and background tabs do no animation work. */
[data-design-paused]::before,[data-design-paused]::after,
html[data-design-paused] .remote-state::before,html[data-design-paused] .remote-state::after,
html[data-design-paused] [data-shop-frame]::after,html[data-design-paused] [data-shop-bubble]::before,
html[data-design-paused] [data-shop-bubble]::after {animation-play-state:paused!important;}
@media(prefers-reduced-motion:reduce) {
 [data-shop-frame]::after,[data-shop-bubble]::before,[data-shop-bubble]::after,
 .camera-app .remote-state::before,.camera-app .remote-state::after,
 .shop-waiting-preview::before,.shop-waiting-preview::after {animation:none!important;}
}

/* Catalog-owned local assets only. */
[data-shop-waiting="waiting-galaxy"] {--waiting-art:url('/assets/designs/galaxy-ambient.webp');--waiting-glow:#bc8aff44;}
.shop-design-card [data-shop-waiting="waiting-galaxy"] {--waiting-art:url('/assets/designs/galaxy-ambient-thumb.webp');}
[data-shop-waiting="waiting-blackhole"] {--waiting-art:url('/assets/designs/blackhole-ambient.webp');--waiting-glow:#ffb34744;}
.shop-design-card [data-shop-waiting="waiting-blackhole"] {--waiting-art:url('/assets/designs/blackhole-ambient-thumb.webp');}
[data-shop-waiting="waiting-hyperspace"] {--waiting-art:url('/assets/designs/hyperspace-ambient.webp');--waiting-glow:#68baff44;}
.shop-design-card [data-shop-waiting="waiting-hyperspace"] {--waiting-art:url('/assets/designs/hyperspace-ambient-thumb.webp');}
[data-shop-waiting="waiting-plasma"] {--waiting-art:url('/assets/designs/plasma-ambient.webp');--waiting-glow:#dd65ff44;}
.shop-design-card [data-shop-waiting="waiting-plasma"] {--waiting-art:url('/assets/designs/plasma-ambient-thumb.webp');}
[data-shop-waiting="waiting-neon-grid"] {--waiting-art:url('/assets/designs/cybercity-ambient.webp');--waiting-glow:#ff63dc33;}
.shop-design-card [data-shop-waiting="waiting-neon-grid"] {--waiting-art:url('/assets/designs/cybercity-ambient-thumb.webp');}
[data-shop-frame="frame-neon"] {--frame-art:url('/assets/designs/frame-neon.svg');--frame-glow:#ff63dc33;}
[data-shop-frame="frame-hologram"] {--frame-art:url('/assets/designs/frame-hologram.svg');--frame-glow:#bd9dff44;}
[data-shop-frame="frame-plasma"] {--frame-art:url('/assets/designs/frame-plasma.svg');--frame-glow:#dd65ff44;}
[data-shop-theme="theme-cyberpunk"] {--theme-art:url('/assets/designs/cybercity-ambient.webp');--theme-glow:#ff63dc33;--bg:#0b1220;--surface:#25203d;--surface-2:#25203d;--line:#67e7ff55;--accent:#67e7ff;--accent-soft:#67e7ff;}
.shop-design-card [data-shop-theme="theme-cyberpunk"] {--theme-art:url('/assets/designs/cybercity-ambient-thumb.webp');}
[data-shop-theme="theme-galaxy"] {--theme-art:url('/assets/designs/galaxy-ambient.webp');--theme-glow:#bc8aff44;--bg:#0b1220;--surface:#291e42;--surface-2:#291e42;--line:#b99aff55;--accent:#b99aff;--accent-soft:#b99aff;}
.shop-design-card [data-shop-theme="theme-galaxy"] {--theme-art:url('/assets/designs/galaxy-ambient-thumb.webp');}
[data-shop-theme="theme-acid"] {--theme-art:url('/assets/designs/forest-ambient.webp');--theme-glow:#8af0b933;--bg:#0b1220;--surface:#18382e;--surface-2:#18382e;--line:#91f5b855;--accent:#91f5b8;--accent-soft:#91f5b8;}
.shop-design-card [data-shop-theme="theme-acid"] {--theme-art:url('/assets/designs/forest-ambient-thumb.webp');}
[data-shop-bubble="bubble-neon"] {--bubble-art:url('/assets/designs/cybercity-ambient.webp');--bubble-glow:#ff63dc33;--bubble-edge:#67e7ff;}
.shop-design-card [data-shop-bubble="bubble-neon"] {--bubble-art:url('/assets/designs/cybercity-ambient-thumb.webp');}
[data-shop-bubble="bubble-hologram"] {--bubble-art:url('/assets/designs/crystal-ambient.webp');--bubble-glow:#bd9dff44;--bubble-edge:#d3bfff;}
.shop-design-card [data-shop-bubble="bubble-hologram"] {--bubble-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-bubble="bubble-plasma"] {--bubble-art:url('/assets/designs/plasma-ambient.webp');--bubble-glow:#dd65ff44;--bubble-edge:#f199ff;}
.shop-design-card [data-shop-bubble="bubble-plasma"] {--bubble-art:url('/assets/designs/plasma-ambient-thumb.webp');}
[data-shop-profile="profile-galaxy"] {--profile-art:url('/assets/designs/galaxy-ambient.webp');--profile-glow:#bc8aff44;}
.shop-design-card [data-shop-profile="profile-galaxy"] {--profile-art:url('/assets/designs/galaxy-ambient-thumb.webp');}
[data-shop-profile="profile-cybercity"] {--profile-art:url('/assets/designs/cybercity-ambient.webp');--profile-glow:#ff63dc33;}
.shop-design-card [data-shop-profile="profile-cybercity"] {--profile-art:url('/assets/designs/cybercity-ambient-thumb.webp');}
[data-shop-profile="profile-event-horizon"] {--profile-art:url('/assets/designs/blackhole-ambient.webp');--profile-glow:#ffb34744;}
.shop-design-card [data-shop-profile="profile-event-horizon"] {--profile-art:url('/assets/designs/blackhole-ambient-thumb.webp');}
/* Coordinated Moonsea, Mistwood and Orbit ornaments retain an open avatar centre. */
[data-shop-frame="frame-stars"] {--frame-art:url('/assets/designs/frame-stars.svg');--frame-glow:#9daedf24;}
[data-shop-frame="frame-clouds"] {--frame-art:url('/assets/designs/frame-clouds.svg');--frame-glow:#d6e6ff24;}
[data-shop-frame="frame-city"] {--frame-art:url('/assets/designs/frame-city.svg');--frame-glow:#90bfce24;}
[data-shop-frame="frame-lightroom"] {--frame-art:url('/assets/designs/frame-lightroom.svg');--frame-glow:#b99cde24;}
[data-shop-bubble="bubble-stars"] {--bubble-edge:#98aed6;--bubble-motif:url('/assets/designs/bubble-stars.svg');--bubble-material:linear-gradient(145deg,#27334c,#101727);}
[data-shop-bubble="bubble-clouds"] {--bubble-edge:#aac2e0;--bubble-motif:url('/assets/designs/bubble-clouds.svg');--bubble-material:linear-gradient(145deg,#f5f8ff,#dce8f5);}
[data-shop-bubble="bubble-city"] {--bubble-edge:#86acbf;--bubble-motif:url('/assets/designs/bubble-city.svg');--bubble-material:linear-gradient(135deg,#203b4a,#0e1c2a);}
[data-shop-bubble="bubble-lightroom"] {--bubble-edge:#b3a2d2;--bubble-motif:url('/assets/designs/bubble-lightroom.svg');--bubble-material:linear-gradient(135deg,#392c4f,#181528);}
[data-shop-frame="frame-moonsea"] {--frame-art:url('/assets/designs/frame-moonsea.svg');--frame-glow:#adc8d529;}
[data-shop-frame="frame-mistwood"] {--frame-art:url('/assets/designs/frame-mistwood.svg');--frame-glow:#a6bfac24;}
[data-shop-frame="frame-orbit"] {--frame-art:url('/assets/designs/frame-orbit.svg');--frame-glow:#91b9c429;}
:is([data-shop-frame="frame-moonsea"],[data-shop-frame="frame-mistwood"],[data-shop-frame="frame-orbit"])::after {animation:none;filter:drop-shadow(0 2px 3px #0008);}
[data-shop-bubble="bubble-moonsea"] {--bubble-edge:#8daebf;--bubble-motif:url('/assets/designs/bubble-moonsea.svg');--bubble-material:linear-gradient(165deg,#1a3040,#0b1725 72%,#243b4b);}
[data-shop-bubble="bubble-mistwood"] {--bubble-edge:#8da995;--bubble-motif:url('/assets/designs/bubble-mistwood.svg');--bubble-material:linear-gradient(155deg,#243b33,#101f1b 65%,#304338);}
[data-shop-bubble="bubble-orbit"] {--bubble-edge:#90b2bd;--bubble-motif:url('/assets/designs/bubble-orbit.svg');--bubble-material:linear-gradient(135deg,#1f3442,#0b1723 60%,#213746);}
:is(.call-chat-message,.shop-demo-chat):is([data-shop-bubble="bubble-moonsea"],[data-shop-bubble="bubble-mistwood"],[data-shop-bubble="bubble-orbit"],[data-shop-bubble="bubble-stars"],[data-shop-bubble="bubble-clouds"],[data-shop-bubble="bubble-city"],[data-shop-bubble="bubble-lightroom"]) {
  background:var(--bubble-material)!important;border:1px solid var(--bubble-edge)!important;
  border-radius:var(--radius-lg, 18px) var(--radius-lg, 18px) 6px var(--radius-lg, 18px)!important;
  padding:13px 24px 23px!important;box-shadow:inset 0 1px 0 #d5e8e51a,0 4px 14px #0003!important;
  color:#f1f5f4!important;text-shadow:0 1px 2px #0008;
}
:is([data-shop-bubble="bubble-moonsea"],[data-shop-bubble="bubble-mistwood"],[data-shop-bubble="bubble-orbit"],[data-shop-bubble="bubble-stars"],[data-shop-bubble="bubble-clouds"],[data-shop-bubble="bubble-city"],[data-shop-bubble="bubble-lightroom"])::after {inset:0;border:0;background:var(--bubble-motif) center bottom/100% 64px no-repeat;opacity:1;animation:none;}
:is([data-shop-bubble="bubble-moonsea"],[data-shop-bubble="bubble-mistwood"],[data-shop-bubble="bubble-orbit"],[data-shop-bubble="bubble-stars"],[data-shop-bubble="bubble-clouds"],[data-shop-bubble="bubble-city"],[data-shop-bubble="bubble-lightroom"])::before {display:none;}
/* Light sweeps share page visibility and reduced-motion scheduling. */
:is([data-shop-frame="frame-moonsea"],[data-shop-frame="frame-mistwood"],[data-shop-frame="frame-orbit"],[data-shop-frame="frame-stars"],[data-shop-frame="frame-clouds"],[data-shop-frame="frame-city"],[data-shop-frame="frame-lightroom"])::before {content:"";position:absolute;inset:-9%;z-index:3;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 83%,#dceef688 91%,transparent 98%);mask:radial-gradient(transparent 0 66%,#000 67% 71%,transparent 72%);animation:studio-orbit 24s linear infinite;opacity:.6;}
@keyframes studio-orbit {to {transform:rotate(360deg);}}
html[data-design-paused] [data-shop-frame]::before,[data-design-paused][data-shop-frame]::before {animation-play-state:paused!important;}
@media(prefers-reduced-motion:reduce) {[data-shop-frame]::before {animation:none!important;opacity:.3;}}
:is(.call-chat-message,.shop-demo-chat)[data-shop-bubble="bubble-clouds"] {color:#253b55!important;text-shadow:none;}
[data-shop-frame="frame-ocean"] {--frame-art:url('/assets/designs/frame-ocean.svg');--frame-glow:#42e9df33;}
[data-shop-frame="frame-gold"] {--frame-art:url('/assets/designs/frame-gold.svg');--frame-glow:#ffb34744;}
[data-shop-theme="theme-forest"] {--theme-art:url('/assets/designs/forest-ambient.webp');--theme-glow:#8af0b933;--bg:#0b1220;--surface:#18382e;--surface-2:#18382e;--line:#91f5b855;--accent:#91f5b8;--accent-soft:#91f5b8;}
.shop-design-card [data-shop-theme="theme-forest"] {--theme-art:url('/assets/designs/forest-ambient-thumb.webp');}
[data-shop-theme="theme-violet"] {--theme-art:url('/assets/designs/crystal-ambient.webp');--theme-glow:#bd9dff44;--bg:#0b1220;--surface:#302843;--surface-2:#302843;--line:#d3bfff55;--accent:#d3bfff;--accent-soft:#d3bfff;}
.shop-design-card [data-shop-theme="theme-violet"] {--theme-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-bubble="bubble-ocean"] {--bubble-art:url('/assets/designs/ocean-ambient.webp');--bubble-glow:#42e9df33;--bubble-edge:#71eedf;}
.shop-design-card [data-shop-bubble="bubble-ocean"] {--bubble-art:url('/assets/designs/ocean-ambient-thumb.webp');}
[data-shop-bubble="bubble-sunset"] {--bubble-art:url('/assets/designs/ocean-ambient.webp');--bubble-glow:#42e9df33;--bubble-edge:#71eedf;}
.shop-design-card [data-shop-bubble="bubble-sunset"] {--bubble-art:url('/assets/designs/ocean-ambient-thumb.webp');}
[data-shop-profile="profile-aurora"] {--profile-art:url('/assets/designs/aurora-ambient.webp');--profile-glow:#5affc944;}
.shop-design-card [data-shop-profile="profile-aurora"] {--profile-art:url('/assets/designs/aurora-ambient-thumb.webp');}
[data-shop-profile="profile-stars"] {--profile-art:url('/assets/designs/stars-ambient.webp');--profile-glow:#adcfff22;}
.shop-design-card [data-shop-profile="profile-stars"] {--profile-art:url('/assets/designs/stars-ambient-thumb.webp');}
[data-shop-waiting="waiting-aurora"] {--waiting-art:url('/assets/designs/aurora-ambient.webp');--waiting-glow:#5affc944;}
.shop-design-card [data-shop-waiting="waiting-aurora"] {--waiting-art:url('/assets/designs/aurora-ambient-thumb.webp');}
[data-shop-waiting="waiting-stars"] {--waiting-art:url('/assets/designs/stars-ambient.webp');--waiting-glow:#adcfff22;}
.shop-design-card [data-shop-waiting="waiting-stars"] {--waiting-art:url('/assets/designs/stars-ambient-thumb.webp');}
[data-shop-waiting="waiting-ocean"] {--waiting-art:url('/assets/designs/ocean-ambient.webp');--waiting-glow:#42e9df33;}
.shop-design-card [data-shop-waiting="waiting-ocean"] {--waiting-art:url('/assets/designs/ocean-ambient-thumb.webp');}
[data-shop-waiting="waiting-forest"] {--waiting-art:url('/assets/designs/forest-ambient.webp');--waiting-glow:#8af0b933;}
.shop-design-card [data-shop-waiting="waiting-forest"] {--waiting-art:url('/assets/designs/forest-ambient-thumb.webp');}
[data-shop-waiting="waiting-cybercity"] {--waiting-art:url('/assets/designs/cybercity-ambient.webp');--waiting-glow:#ff63dc33;}
.shop-design-card [data-shop-waiting="waiting-cybercity"] {--waiting-art:url('/assets/designs/cybercity-ambient-thumb.webp');}
[data-shop-waiting="waiting-crystal"] {--waiting-art:url('/assets/designs/crystal-ambient.webp');--waiting-glow:#bd9dff44;}
.shop-design-card [data-shop-waiting="waiting-crystal"] {--waiting-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-waiting="waiting-dragon"] {--waiting-art:url('/assets/designs/dragon-ambient.webp');--waiting-glow:#ff713a44;}
.shop-design-card [data-shop-waiting="waiting-dragon"] {--waiting-art:url('/assets/designs/dragon-ambient-thumb.webp');}
[data-shop-frame="frame-galaxy"] {--frame-art:url('/assets/designs/frame-galaxy.webp');--frame-glow:#bc8aff44;}
[data-shop-frame="frame-crystal"] {--frame-art:url('/assets/designs/frame-crystal.webp');--frame-glow:#bd9dff44;}
[data-shop-frame="frame-dragon"] {--frame-art:url('/assets/designs/frame-dragon.webp');--frame-glow:#ff713a44;}
[data-shop-frame="frame-solar"] {--frame-art:url('/assets/designs/frame-solar.svg');--frame-glow:#ffb34744;}
[data-shop-frame="frame-blossom"] {--frame-art:url('/assets/designs/frame-blossom.svg');--frame-glow:#8af0b933;}
[data-shop-frame="frame-reef"] {--frame-art:url('/assets/designs/frame-reef.svg');--frame-glow:#42e9df33;}
[data-shop-theme="theme-ocean"] {--theme-art:url('/assets/designs/ocean-ambient.webp');--theme-glow:#42e9df33;--bg:#0b1220;--surface:#12333f;--surface-2:#12333f;--line:#71eedf55;--accent:#71eedf;--accent-soft:#71eedf;}
.shop-design-card [data-shop-theme="theme-ocean"] {--theme-art:url('/assets/designs/ocean-ambient-thumb.webp');}
[data-shop-theme="theme-dragon"] {--theme-art:url('/assets/designs/dragon-ambient.webp');--theme-glow:#ff713a44;--bg:#0b1220;--surface:#3c251d;--surface-2:#3c251d;--line:#ffb07455;--accent:#ffb074;--accent-soft:#ffb074;}
.shop-design-card [data-shop-theme="theme-dragon"] {--theme-art:url('/assets/designs/dragon-ambient-thumb.webp');}
[data-shop-theme="theme-crystal"] {--theme-art:url('/assets/designs/crystal-ambient.webp');--theme-glow:#bd9dff44;--bg:#0b1220;--surface:#302843;--surface-2:#302843;--line:#d3bfff55;--accent:#d3bfff;--accent-soft:#d3bfff;}
.shop-design-card [data-shop-theme="theme-crystal"] {--theme-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-theme="theme-aurora"] {--theme-art:url('/assets/designs/aurora-ambient.webp');--theme-glow:#5affc944;--bg:#0b1220;--surface:#193537;--surface-2:#193537;--line:#8affd555;--accent:#8affd5;--accent-soft:#8affd5;}
.shop-design-card [data-shop-theme="theme-aurora"] {--theme-art:url('/assets/designs/aurora-ambient-thumb.webp');}
[data-shop-bubble="bubble-galaxy"] {--bubble-art:url('/assets/designs/galaxy-ambient.webp');--bubble-glow:#bc8aff44;--bubble-edge:#b99aff;}
.shop-design-card [data-shop-bubble="bubble-galaxy"] {--bubble-art:url('/assets/designs/galaxy-ambient-thumb.webp');}
[data-shop-bubble="bubble-dragon"] {--bubble-art:url('/assets/designs/dragon-ambient.webp');--bubble-glow:#ff713a44;--bubble-edge:#ffb074;}
.shop-design-card [data-shop-bubble="bubble-dragon"] {--bubble-art:url('/assets/designs/dragon-ambient-thumb.webp');}
[data-shop-bubble="bubble-crystal"] {--bubble-art:url('/assets/designs/crystal-ambient.webp');--bubble-glow:#bd9dff44;--bubble-edge:#d3bfff;}
.shop-design-card [data-shop-bubble="bubble-crystal"] {--bubble-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-bubble="bubble-forest"] {--bubble-art:url('/assets/designs/forest-ambient.webp');--bubble-glow:#8af0b933;--bubble-edge:#91f5b8;}
.shop-design-card [data-shop-bubble="bubble-forest"] {--bubble-art:url('/assets/designs/forest-ambient-thumb.webp');}
[data-shop-bubble="bubble-blackhole"] {--bubble-art:url('/assets/designs/blackhole-ambient.webp');--bubble-glow:#ffb34744;--bubble-edge:#ffd087;}
.shop-design-card [data-shop-bubble="bubble-blackhole"] {--bubble-art:url('/assets/designs/blackhole-ambient-thumb.webp');}
[data-shop-bubble="bubble-aurora"] {--bubble-art:url('/assets/designs/aurora-ambient.webp');--bubble-glow:#5affc944;--bubble-edge:#8affd5;}
.shop-design-card [data-shop-bubble="bubble-aurora"] {--bubble-art:url('/assets/designs/aurora-ambient-thumb.webp');}
[data-shop-profile="profile-ocean"] {--profile-art:url('/assets/designs/ocean-ambient.webp');--profile-glow:#42e9df33;}
.shop-design-card [data-shop-profile="profile-ocean"] {--profile-art:url('/assets/designs/ocean-ambient-thumb.webp');}
[data-shop-profile="profile-forest"] {--profile-art:url('/assets/designs/forest-ambient.webp');--profile-glow:#8af0b933;}
.shop-design-card [data-shop-profile="profile-forest"] {--profile-art:url('/assets/designs/forest-ambient-thumb.webp');}
[data-shop-profile="profile-dragon"] {--profile-art:url('/assets/designs/dragon-ambient.webp');--profile-glow:#ff713a44;}
.shop-design-card [data-shop-profile="profile-dragon"] {--profile-art:url('/assets/designs/dragon-ambient-thumb.webp');}
[data-shop-profile="profile-crystal"] {--profile-art:url('/assets/designs/crystal-ambient.webp');--profile-glow:#bd9dff44;}
.shop-design-card [data-shop-profile="profile-crystal"] {--profile-art:url('/assets/designs/crystal-ambient-thumb.webp');}
[data-shop-profile="profile-hyperspace"] {--profile-art:url('/assets/designs/hyperspace-ambient.webp');--profile-glow:#68baff44;}
.shop-design-card [data-shop-profile="profile-hyperspace"] {--profile-art:url('/assets/designs/hyperspace-ambient-thumb.webp');}
.design-scene {position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;border-radius:inherit;opacity:0;}
[data-living-scene] > .design-scene {opacity:1;}
html[data-shop-theme] body {isolation:isolate;}
.living-theme-surface {position:fixed;inset:0;z-index:-1;pointer-events:none;isolation:isolate;overflow:hidden;}
.living-theme-surface::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#060b1b55,#060b1bce 75%,#060b1bea);}
.shop-theme-preview {position:relative;isolation:isolate;overflow:hidden;}
.shop-theme-preview > .design-scene {z-index:-1;}
.shop-theme-preview[data-living-scene] > .design-scene {opacity:1;}
[data-living-scene]::before {animation:none!important;}
/* Gradients are in surface coordinates, so every aspect ratio has a quiet text area. */
html[data-shop-waiting] .camera-app .remote-state::after {
 background:radial-gradient(ellipse 52% 20% at 50% 52%,#080e2066,transparent),linear-gradient(0deg,#111b2bdd,transparent 13%,transparent 87%,#111b2b88),linear-gradient(90deg,#111b2b66,transparent 9%,transparent 91%,#111b2b66);
 animation:none;opacity:1;
}
html[data-shop-waiting] .camera-app .remote-state {background:#111b2b;}
html[data-shop-waiting] .camera-app .video-stage.camera-ready:not(.has-remote) .remote-state {justify-content:center;padding:30px 20px;}
html[data-shop-waiting] .remote-state :is(h2,p) {text-shadow:0 2px 18px #020614,0 1px 3px #020614;}
[data-shop-profile] {overflow:hidden;}
[data-shop-profile] > .design-scene {z-index:-1;}
[data-shop-profile][data-living-scene]::before {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,#08102140,#081021b8 260px,#0c1426ed 560px);}
[data-shop-profile] > :not(.design-scene) {position:relative;}
/* The surrounding chrome picks up the selected world's light only while it is visible. */
.camera-app[data-living-waiting] :is(.app-topbar,.control-dock) {background:linear-gradient(110deg,color-mix(in srgb,var(--scene-accent) 13%,#111b2b),#141e2b 65%);border-color:color-mix(in srgb,var(--scene-accent) 25%,#28394e);}
.camera-app[data-living-waiting] .remote-card {background:#111b2b;}
.camera-app[data-living-waiting] .remote-state .retry-camera {margin-top:20px;pointer-events:auto;}
@media(max-width:850px) {html[data-shop-waiting] .remote-state h2 {font-size:20px;}html[data-shop-waiting] .remote-state p {font-size:13px;max-width:290px;}}
.shop-spotlight > .shop-waiting-preview[data-shop-waiting]::after {background:linear-gradient(90deg,#060b1bee 0%,#060b1b90 43%,#060b1b05 85%),linear-gradient(0deg,#060b1bbf,transparent 35%);animation:none;opacity:1;}
html[data-shop-theme="theme-acid"],.shop-theme-preview[data-shop-theme="theme-acid"] {--accent:#d0ff53;--accent-soft:#d0ff53;--surface:#25331c;--surface-2:#26391e;--line:#c1fc6655;}
html[data-shop-theme="theme-acid"] body,.shop-theme-preview[data-shop-theme="theme-acid"] {background-blend-mode:normal,luminosity;background-color:#192e05;}
html[data-shop-theme="theme-violet"],.shop-theme-preview[data-shop-theme="theme-violet"] {--theme-art:url('/assets/designs/plasma-ambient.webp');--accent:#e0adff;--surface:#2e2143;--line:#bf95f855;}
.shop-design-card [data-shop-theme="theme-violet"] {--theme-art:url('/assets/designs/plasma-ambient-thumb.webp');}
[data-shop-waiting="waiting-neon-grid"] {--waiting-art:url('/assets/designs/neongrid-ambient.webp');}
.shop-design-card [data-shop-waiting="waiting-neon-grid"] {--waiting-art:url('/assets/designs/neongrid-ambient-thumb.webp');}
@media(max-width:600px) {.shop-spotlight > .shop-waiting-preview[data-shop-waiting]::after {background:linear-gradient(0deg,#060b1bfa,#060b1baf 55%,#060b1b00);}}
:is([data-shop-frame="frame-solar"],[data-shop-frame="frame-galaxy"])::before {content:"";position:absolute;inset:-19%;z-index:3;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 50% 3%,#fff 0 2%,#ffdf9c88 2.5%,transparent 5%);animation:design-orbit 16s linear infinite;}
@keyframes design-orbit {to{transform:rotate(360deg)}}
html[data-design-paused] [data-shop-frame]::before {animation-play-state:paused!important;}
@media(prefers-reduced-motion:reduce) {[data-shop-frame]::before {animation:none!important;}}
/* Stretch only the rails; preserve the sculpted corner ornaments on long messages. */
:is(.call-chat-message,.shop-demo-chat)[data-shop-bubble="bubble-dragon"],
:is(.call-chat-message,.shop-demo-chat)[data-shop-bubble="bubble-crystal"] {border:0!important;box-shadow:none!important;padding:19px 28px!important;margin:8px 5px;min-width:95px;min-height:52px;}
:is([data-shop-bubble="bubble-dragon"],[data-shop-bubble="bubble-crystal"])::after {inset:-9px!important;border:24px solid transparent!important;border-radius:0!important;border-image-slice:25%;border-image-width:30px;border-image-outset:0;border-image-repeat:stretch;opacity:1;}
[data-shop-bubble="bubble-dragon"]::after {border-image:url('/assets/designs/bubble-dragon.webp') 25% / 30px stretch!important;}
[data-shop-bubble="bubble-crystal"]::after {border-image:url('/assets/designs/bubble-crystal.webp') 25% / 30px stretch!important;}
:is([data-shop-bubble="bubble-dragon"],[data-shop-bubble="bubble-crystal"])::before {display:none;}
.personal-card[data-shop-profile] {background-image:linear-gradient(180deg,#060c1b44,#060c1ba6 210px,#0c1426e8 380px),var(--profile-art)!important;background-size:cover!important;}
.public-profile-card[data-shop-profile] {background-image:linear-gradient(180deg,#060c1b55,#060c1bd6 350px,#0c1426 650px),var(--profile-art)!important;background-size:100% 100%,cover!important;}
/* In-call identity includes a label: frame the portrait, not the whole button. */
.remote-profile-button[data-shop-frame] {border-radius:10px;gap:12px;}
.remote-profile-button[data-shop-frame] > i {font-size:28px;width:28px;height:28px;}
.remote-profile-button[data-shop-frame]::after {inset:auto;left:0;top:50%;width:49px;height:49px;transform:translateY(-50%);}
.remote-profile-button[data-shop-frame]::before {display:none;}
.remote-profile-button[data-shop-badge] > .design-level-badge {left:25px;right:auto;bottom:-4px;width:24px;min-width:0;}
[data-shop-frame][data-shop-frame^="frame-level-"]:not(.remote-profile-button)::after {inset:-30%;}
[data-shop-frame^="frame-level-"]:not(.remote-profile-button) {border-radius:50%;}
.profile-app #profile-photo[data-shop-frame^="frame-level-"] {border-radius:50%;border-style:solid;}
/* The upload hint also uses ::after; keep the earned frame visible without a photo. */
.profile-app #profile-photo[data-photo="missing"][data-shop-frame^="frame-level-"]::after {content:"";padding:0;inset:-30%;background:var(--frame-art) center/contain no-repeat;opacity:1;}
@media(max-width:850px) {.remote-profile-button[data-shop-frame]::after {left:-8px;width:60px;height:60px;}}

/* Live surfaces carry their own atmosphere; no animated colour wash on top. */
[data-living-scene].shop-waiting-preview::after {background:linear-gradient(0deg,#0b142759,transparent 44%);animation:none;opacity:1;}
.camera-app[data-living-waiting] .remote-card {box-shadow:inset 0 0 60px #111b2b33;}


/* Catalog-owned artwork for the daylight worlds. */
[data-shop-waiting="waiting-lagoon"] {--waiting-art:url('/assets/designs/lagoon-ambient.webp');--waiting-glow:#9dc8c744;}
.shop-design-card [data-shop-waiting="waiting-lagoon"] {--waiting-art:url('/assets/designs/lagoon-ambient-thumb.webp');}

[data-shop-theme="theme-lagoon"] {--theme-art:url('/assets/designs/lagoon-ambient.webp');--theme-glow:#9dc8c744;}
.shop-design-card [data-shop-theme="theme-lagoon"] {--theme-art:url('/assets/designs/lagoon-ambient-thumb.webp');}

[data-shop-profile="profile-lagoon"] {--profile-art:url('/assets/designs/lagoon-ambient.webp');--profile-glow:#9dc8c744;}
.shop-design-card [data-shop-profile="profile-lagoon"] {--profile-art:url('/assets/designs/lagoon-ambient-thumb.webp');}

[data-shop-waiting="waiting-daybreak"] {--waiting-art:url('/assets/designs/daybreak-ambient.webp');--waiting-glow:#9dc8c744;}
.shop-design-card [data-shop-waiting="waiting-daybreak"] {--waiting-art:url('/assets/designs/daybreak-ambient-thumb.webp');}

[data-shop-theme="theme-daybreak"] {--theme-art:url('/assets/designs/daybreak-ambient.webp');--theme-glow:#9dc8c744;}
.shop-design-card [data-shop-theme="theme-daybreak"] {--theme-art:url('/assets/designs/daybreak-ambient-thumb.webp');}

[data-shop-profile="profile-daybreak"] {--profile-art:url('/assets/designs/daybreak-ambient.webp');--profile-glow:#9dc8c744;}
.shop-design-card [data-shop-profile="profile-daybreak"] {--profile-art:url('/assets/designs/daybreak-ambient-thumb.webp');}

[data-shop-waiting="waiting-clouds"] {--waiting-art:url('/assets/designs/clouds-ambient.webp');--waiting-glow:#9dc8c744;}
.shop-design-card [data-shop-waiting="waiting-clouds"] {--waiting-art:url('/assets/designs/clouds-ambient-thumb.webp');}

[data-shop-theme="theme-clouds"] {--theme-art:url('/assets/designs/clouds-ambient.webp');--theme-glow:#9dc8c744;}
.shop-design-card [data-shop-theme="theme-clouds"] {--theme-art:url('/assets/designs/clouds-ambient-thumb.webp');}

[data-shop-profile="profile-clouds"] {--profile-art:url('/assets/designs/clouds-ambient.webp');--profile-glow:#9dc8c744;}
.shop-design-card [data-shop-profile="profile-clouds"] {--profile-art:url('/assets/designs/clouds-ambient-thumb.webp');}
/* Four light materials: shared artwork across waiting, app and profile surfaces. */
[data-shop-waiting="waiting-opal"] {--waiting-art:url('/assets/designs/opal-ambient.webp');--waiting-glow:#52618e33;}
.shop-design-card [data-shop-waiting="waiting-opal"] {--waiting-art:url('/assets/designs/opal-ambient-thumb.webp');}
[data-shop-theme="theme-opal"] {--theme-art:url('/assets/designs/opal-ambient.webp');--theme-glow:#52618e33;}
.shop-design-card [data-shop-theme="theme-opal"] {--theme-art:url('/assets/designs/opal-ambient-thumb.webp');}
[data-shop-profile="profile-opal"] {--profile-art:url('/assets/designs/opal-ambient.webp');--profile-glow:#52618e33;}
.shop-design-card [data-shop-profile="profile-opal"] {--profile-art:url('/assets/designs/opal-ambient-thumb.webp');}
[data-shop-waiting="waiting-dunes"] {--waiting-art:url('/assets/designs/dunes-ambient.webp');--waiting-glow:#79593633;}
.shop-design-card [data-shop-waiting="waiting-dunes"] {--waiting-art:url('/assets/designs/dunes-ambient-thumb.webp');}
[data-shop-theme="theme-dunes"] {--theme-art:url('/assets/designs/dunes-ambient.webp');--theme-glow:#79593633;}
.shop-design-card [data-shop-theme="theme-dunes"] {--theme-art:url('/assets/designs/dunes-ambient-thumb.webp');}
[data-shop-profile="profile-dunes"] {--profile-art:url('/assets/designs/dunes-ambient.webp');--profile-glow:#79593633;}
.shop-design-card [data-shop-profile="profile-dunes"] {--profile-art:url('/assets/designs/dunes-ambient-thumb.webp');}
[data-shop-waiting="waiting-mosaic"] {--waiting-art:url('/assets/designs/mosaic-ambient.webp');--waiting-glow:#3f6a6833;}
.shop-design-card [data-shop-waiting="waiting-mosaic"] {--waiting-art:url('/assets/designs/mosaic-ambient-thumb.webp');}
[data-shop-theme="theme-mosaic"] {--theme-art:url('/assets/designs/mosaic-ambient.webp');--theme-glow:#3f6a6833;}
.shop-design-card [data-shop-theme="theme-mosaic"] {--theme-art:url('/assets/designs/mosaic-ambient-thumb.webp');}
[data-shop-profile="profile-mosaic"] {--profile-art:url('/assets/designs/mosaic-ambient.webp');--profile-glow:#3f6a6833;}
.shop-design-card [data-shop-profile="profile-mosaic"] {--profile-art:url('/assets/designs/mosaic-ambient-thumb.webp');}
[data-shop-waiting="waiting-linen"] {--waiting-art:url('/assets/designs/linen-ambient.webp');--waiting-glow:#6d624833;}
.shop-design-card [data-shop-waiting="waiting-linen"] {--waiting-art:url('/assets/designs/linen-ambient-thumb.webp');}
[data-shop-theme="theme-linen"] {--theme-art:url('/assets/designs/linen-ambient.webp');--theme-glow:#6d624833;}
.shop-design-card [data-shop-theme="theme-linen"] {--theme-art:url('/assets/designs/linen-ambient-thumb.webp');}
[data-shop-profile="profile-linen"] {--profile-art:url('/assets/designs/linen-ambient.webp');--profile-glow:#6d624833;}
.shop-design-card [data-shop-profile="profile-linen"] {--profile-art:url('/assets/designs/linen-ambient-thumb.webp');}

/* Scene materials are shared by the real layout, shop previews and profile cards. */
[data-scene-world] {
 --scene-accent:#aab9ec;--scene-tint:#262e48;
 --scene-ink:#f4f7fc;--scene-muted:#c4cedd;--scene-base:#0c1420;
 --scene-panel:color-mix(in srgb,var(--scene-tint) 88%,transparent);
 --scene-solid:color-mix(in srgb,var(--scene-tint) 94%,#111720);
 --scene-control:color-mix(in srgb,var(--scene-tint) 88%,#101720);
 --scene-edge:color-mix(in srgb,var(--scene-accent) 38%,transparent);
 --scene-highlight:#ffffff24;--scene-shadow:#02091750;
 --scene-primary:var(--scene-accent);--scene-on-primary:#0b1520;
 --scene-wash:#09132228;--scene-radius:18px;
}
[data-scene-world="galaxy"] {--scene-accent:#c7b5fa;--scene-tint:#28213f;}
[data-scene-world="blackhole"] {--scene-accent:#edc596;--scene-tint:#34291f;--scene-radius:22px;}
[data-scene-world="hyperspace"] {--scene-accent:#afd8ff;--scene-tint:#192c46;}
[data-scene-world="plasma"] {--scene-accent:#efb3ec;--scene-tint:#38223d;--scene-radius:24px;}
[data-scene-world="neongrid"] {--scene-accent:#d1b0ff;--scene-tint:#29243e;--scene-radius:10px;}
[data-scene-world="aurora"] {--scene-accent:#9de7d3;--scene-tint:#183630;}
[data-scene-world="stars"] {--scene-accent:#c0d1ee;--scene-tint:#222d40;}
[data-scene-world="ocean"] {--scene-accent:#96ddd6;--scene-tint:#143239;--scene-radius:24px;}
[data-scene-world="forest"] {--scene-accent:#b5d6b7;--scene-tint:#24372c;}
[data-scene-world="cybercity"] {--scene-accent:#a1d6e7;--scene-tint:#1b3040;--scene-radius:10px;}
[data-scene-world="crystal"] {--scene-accent:#dac9fc;--scene-tint:#302741;--scene-radius:12px;}
[data-scene-world="dragon"] {--scene-accent:#efbd97;--scene-tint:#3a271f;--scene-radius:12px;}
[data-scene-tone="light"] {
 color-scheme:light;--scene-ink:#173a43;--scene-muted:#3e6269;--scene-base:#d9eeea;
 --scene-panel:#f1fbf4de;--scene-solid:#f1faf6;--scene-control:#ffffffbf;
 --scene-edge:#357e8261;--scene-highlight:#ffffffc7;--scene-shadow:#214d532b;
 --scene-primary:#176773;--scene-on-primary:#fff;--scene-wash:#ffffff05;--scene-radius:22px;
}
[data-scene-world="lagoon"] {--scene-accent:#176773;--scene-tint:#cdeae4;}
[data-scene-world="daybreak"] {
 --scene-accent:#914525;--scene-tint:#f4e0c9;--scene-ink:#493325;--scene-muted:#715141;
 --scene-base:#f1dfc9;--scene-panel:#fff6e8e0;--scene-solid:#fff5e8;--scene-control:#fffaf3cf;
 --scene-edge:#a66a465c;--scene-primary:#914525;--scene-shadow:#68432326;--scene-radius:24px;
}
[data-scene-world="clouds"] {
 --scene-accent:#425f9d;--scene-tint:#dae5f4;--scene-ink:#283b60;--scene-muted:#4c6081;
 --scene-base:#dce8f6;--scene-panel:#f4f8ffe0;--scene-solid:#f3f7ff;--scene-control:#ffffffc7;
 --scene-edge:#607caf61;--scene-primary:#425f9d;--scene-shadow:#2e49782b;--scene-radius:26px;
}
[data-scene-world="opal"] {--scene-accent:#52618e;--scene-tint:#e8eaf7;--scene-ink:#303a57;--scene-muted:#535e78;--scene-base:#e9ecf6;--scene-panel:#f9f9ffeF;--scene-solid:#f7f8ff;--scene-control:#ffffffd9;--scene-edge:#8997b94a;--scene-primary:#52618e;--scene-shadow:#3f466c1c;--scene-radius:22px;}
[data-scene-world="dunes"] {--scene-accent:#795936;--scene-tint:#ede4d3;--scene-ink:#45392b;--scene-muted:#6f604e;--scene-base:#eee5d6;--scene-panel:#fffbf3ef;--scene-solid:#fcf8ef;--scene-control:#fffff5d9;--scene-edge:#a28a6252;--scene-primary:#795936;--scene-shadow:#6450301c;--scene-radius:20px;}
[data-scene-world="mosaic"] {--scene-accent:#3f6a68;--scene-tint:#e1eee9;--scene-ink:#304b49;--scene-muted:#526d69;--scene-base:#e7eee9;--scene-panel:#f8fffcef;--scene-solid:#f5faf7;--scene-control:#ffffffd9;--scene-edge:#71989152;--scene-primary:#3f6a68;--scene-shadow:#355e511c;--scene-radius:16px;}
[data-scene-world="linen"] {--scene-accent:#6d6248;--scene-tint:#ece8dc;--scene-ink:#443f31;--scene-muted:#6b6453;--scene-base:#eeeade;--scene-panel:#fffdf5ef;--scene-solid:#faf8ef;--scene-control:#ffffffd9;--scene-edge:#9b927d52;--scene-primary:#6d6248;--scene-shadow:#61583e1c;--scene-radius:20px;}

[data-scene-world="impulse"] {--scene-accent:#71cfff;--scene-tint:#142a3e;}
[data-scene-world="prisma"] {--scene-accent:#c2acff;--scene-tint:#28203c;}
[data-scene-world="phoenix"] {--scene-accent:#e8ba83;--scene-tint:#30241b;}
[data-scene-world="zenith"] {--scene-accent:#d8d9dd;--scene-tint:#292c32;}

/* ===== Token mapping =====
   A scene world sets theme.css tokens and nothing else. Components consume the
   tokens, so a new component follows every world without a rule here.
   tests/scene-tokens.test.js enforces this; the only exceptions are the
   "Scene artwork and glass" rules further down. */
/* Every world: page roles. Nested worlds (profile cards, shop previews) resolve
   the same roles from their own palette, as long as the page itself has a world. */
html body[data-scene-world],body[data-scene-world] [data-scene-world]:not(.remote-state) {
 --text:var(--scene-ink);--muted:var(--scene-muted);--bg:var(--scene-base);
 --accent:var(--scene-primary);--accent-soft:var(--scene-accent);--on-accent:var(--scene-on-primary);
 --accent-hover:var(--scene-primary);--hover-filter:brightness(1.08);
 --panel:var(--scene-panel);--surface:var(--scene-panel);--surface-2:var(--scene-control);
 --surface-3:var(--scene-solid);--line:var(--scene-edge);
 --dialog-bg:var(--scene-solid);--dialog-edge:var(--scene-edge);--overlay-shadow:0 20px 70px var(--scene-shadow);
 --overlay-bg:var(--scene-solid);--overlay-edge:var(--scene-edge);--overlay-ink:var(--scene-ink);
}
/* Every world: header and call-setup controls take the scene's control material. */
body[data-scene-world] :is(.global-header-actions,.match-strip,.precall-devices,.device-shortcut) {
 --control-bg:var(--scene-control);--control-quiet-bg:var(--scene-control);
 --control-edge:var(--scene-edge);--control-quiet-edge:var(--scene-edge);
 --control-ink:var(--scene-ink);--control-shadow:inset 0 1px 0 var(--scene-highlight);
 --control-hover:var(--scene-hover,var(--scene-edge));--control-hover-edge:var(--scene-hover-edge,var(--scene-edge));
 --field-bg:var(--scene-control);--control-quiet-ink:var(--scene-ink);
 --header-edge:var(--scene-edge);--header-ink:var(--scene-ink);--header-accent:var(--scene-accent);
 --segment-ink:var(--scene-muted);--precall-ink:var(--scene-ink);--select-image:none;
}
/* Light worlds re-colour every role, including panels that stay default in dark worlds. */
body[data-scene-tone="light"],body[data-scene-tone="light"] [data-scene-world]:not(.remote-state) {
 --scene-hover:color-mix(in srgb,var(--scene-primary) 10%,var(--scene-solid));--scene-hover-edge:var(--scene-accent);--scene-danger:#9a3546;
 --focus-ring:var(--scene-primary);
 --text-soft:var(--scene-ink);--text-faint:var(--scene-muted);--icon:var(--scene-muted);
 --item-ink:var(--scene-ink);--item-icon:var(--scene-primary);--item-hover-ink:var(--scene-ink);--item-selected-ink:var(--scene-ink);--item-hover-bg:var(--scene-hover);
 --danger-ink:var(--scene-danger);--danger-bg:#f8e8ea;--danger-edge:var(--scene-edge);
 --control-bg:var(--scene-control);--control-quiet-bg:var(--scene-control);--control-raised:var(--scene-control);
 --control-edge:var(--scene-edge);--control-quiet-edge:var(--scene-edge);--control-ink:var(--scene-ink);--control-icon:var(--scene-ink);
 --control-hover:var(--scene-hover);--control-hover-edge:var(--scene-accent);
 --popover-bg:var(--scene-solid);--popover-edge:var(--scene-edge);--popover-shadow:0 18px 50px var(--scene-shadow);
 --hover-bg:var(--scene-hover);--selected-bg:var(--scene-hover);--selected-ink:var(--scene-ink);--selected-edge:var(--scene-primary);
 --selected-mark:inset 3px 0 var(--scene-primary);--accent-wash:var(--scene-hover);
 --divider:var(--scene-edge);--line-faint:var(--scene-edge);
 /* Component hooks: unset by default, each consumer carries its own fallback. */
 --avatar-bg:var(--scene-tint);--avatar-ink:var(--scene-ink);--avatar-ring:inset 0 0 0 1px var(--scene-edge);
 --logout-ink:var(--scene-danger);--heading-icon:var(--scene-primary);--selected-icon:var(--scene-muted);--split-ink:var(--scene-ink);--notice-ink:var(--scene-ink);
 --stop-bg:#fff3f3;--stop-ink:var(--scene-danger);--stop-edge:#cf9ba455;--stop-hover-bg:#f6dfe3;--stop-hover-edge:#b76b7b;
 --chat-open-bg:var(--scene-primary);--chat-open-ink:var(--scene-on-primary);--raised-shadow:0 3px 14px var(--scene-shadow);--chat-trigger-bg:var(--scene-panel);--chat-input-bg:var(--scene-control);
 --chat-head-bg:var(--scene-tint);--chat-head-ink:var(--scene-ink);--chat-own-bg:var(--scene-tint);--chat-own-ink:var(--scene-ink);
 --chat-empty-bg:var(--scene-control);--chat-empty-ink:var(--scene-ink);--starter-edge:var(--scene-edge);
 --focus-edge:var(--scene-primary);--focus-glow:var(--scene-edge);--focus-halo:inset 0 0 0 1px var(--scene-primary);
 --picker-faint:var(--scene-muted);--picker-empty:var(--scene-ink);--picker-icon:var(--scene-primary);--picker-search-bg:var(--scene-control);--picker-hover:var(--scene-hover);
 --picker-selected-edge:var(--scene-edge);--picker-globe:var(--scene-tint);--picker-active-edge:var(--scene-primary);
 --row-bg:var(--scene-control);--row-edge:var(--scene-edge);--choice-bg:var(--scene-hover);--choice-edge:var(--scene-primary);
 --precall-note:var(--scene-muted);--precall-icon:var(--scene-muted);--precall-strong:var(--scene-ink);--precall-ink:var(--scene-ink);
 --dock-edge:var(--scene-edge);--install-ink:var(--scene-ink);--chat-head-strong:var(--scene-ink);--chat-trigger-ink:var(--scene-ink);--chat-trigger-edge:var(--scene-edge);--chat-head-edge:var(--scene-edge);--camera-off-ink:#f4f7fc;--control-quiet-ink:var(--scene-ink);
}
/* Panels that keep their own palette in dark worlds adopt the light material. */
body[data-scene-tone="light"] :is(.settings-dialog,.recent-panel,.camera-light-dialog,.camera-zoom-dialog,.layout-palette,.country-picker,.call-chat,.dialog-card) {
 --surface:var(--scene-solid);--surface-2:var(--scene-control);--text:var(--scene-ink);--muted:var(--scene-muted);
 --line:var(--scene-edge);--field-line:var(--scene-edge);--field-bg:var(--scene-control);
 --accent:var(--scene-primary);--accent-soft:var(--scene-primary);--accent-hover:var(--scene-primary);--on-accent:var(--scene-on-primary);
 --shadow:0 18px 50px var(--scene-shadow);--close-ink:var(--scene-ink);--select-image:none;
}
body[data-scene-tone="light"] .control-dock {--disabled-opacity:.5;}
body[data-scene-tone="light"] #connectly-language-dialog {--field-bg:var(--scene-control);}
body[data-scene-tone="light"] .device-shortcut {--control-shadow:none;}

/* Light worlds: account, shop and language surfaces (component hooks with local fallbacks). */
body[data-scene-tone="light"],body[data-scene-tone="light"] [data-scene-world]:not(.remote-state) {
 --nav-ink:var(--scene-ink);--nav-icon:var(--scene-ink);--nav-hover-bg:var(--scene-control);--nav-hover-ink:var(--scene-ink);
 --nav-current-bg:var(--scene-primary);--nav-current-ink:var(--scene-on-primary);--nav-current-icon:var(--scene-on-primary);
 --sidebar-logout-ink:#9b342b;--footnote-ink:var(--scene-muted);--stat-edge:var(--scene-edge);--art-text-shadow:none;
 --button-bg:var(--scene-control);--button-edge:var(--scene-edge);--button-ink:var(--scene-ink);
 --card-bg:var(--scene-panel);--card-edge:var(--scene-edge);--card-title-ink:var(--scene-ink);
 --tab-bg:var(--scene-control);--tab-ink:var(--scene-ink);--tab-hover-ink:var(--scene-ink);--tab-active-bg:var(--scene-primary);--tab-active-ink:var(--scene-on-primary);
 --chip-bg:var(--scene-control);--chip-edge:var(--scene-edge);--chip-ink:var(--scene-ink);--chip-active-bg:var(--scene-primary);--chip-active-edge:var(--scene-edge);--chip-active-ink:var(--scene-on-primary);
 --category-ink:var(--scene-ink);--eyebrow-ink:var(--scene-muted);--detail-ink:var(--scene-muted);--wallet-note:var(--scene-muted);
 --history-ink:var(--scene-muted);--ledger-note:var(--scene-muted);--quest-ink:var(--scene-muted);--row-hover-edge:var(--scene-primary);--shop-note:var(--scene-muted);--details-summary:var(--scene-muted);
 --layout-link-ink:var(--scene-muted);--wallet-ink:var(--scene-muted);--wallet-strong:var(--scene-ink);
 --badge-edge:var(--scene-edge);--badge-ink:var(--scene-muted);--stat-ink:var(--scene-muted);--login-icon:var(--scene-muted);
 --lang-ink:var(--scene-ink);--lang-item-ink:var(--scene-ink);--lang-faint:var(--scene-muted);--lang-check:currentColor;
 --lang-selected-bg:var(--scene-primary);--lang-selected-edge:var(--scene-primary);--lang-selected-ink:var(--scene-on-primary);
}

/* ===== Scene artwork and glass =====
   Allowlisted in tests/scene-tokens.test.js: these paint artwork, glass
   gradients or stacking fixes that cannot be expressed as a token. */
html body[data-scene-world] {isolation:isolate;background-color:var(--bg);color:var(--text);}
html[data-scene-world] {background:var(--scene-base);}
html body[data-scene-tone="light"] {background-image:var(--theme-art,none);}
.living-layout-surface {position:fixed;inset:0;z-index:-1;pointer-events:none;isolation:isolate;overflow:hidden;background:var(--layout-art) center/cover no-repeat;}
.living-layout-surface::after,.living-theme-surface::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent,var(--scene-wash));pointer-events:none;}
/* Light-world typography: generic tag rules (no component selectors), so new
   headings, copy and fields inside these surfaces turn to ink automatically. */
body[data-scene-tone="light"] :is(.control-dock,.topbar,.global-menu-dialog,.dialog-card,.inbox-dialog,.layout-palette) :is(h1,h2,h3,p:not(.section-footnote),label,strong:not([aria-pressed="true"] strong),small,.avatar-label) {color:var(--scene-ink);}
body[data-scene-tone="light"] :is(.global-menu-dialog,.dialog-card,.inbox-dialog,.layout-palette) :is(a,button:not(.primary-button):not(.logout-button):not([aria-pressed="true"]):not(:hover),select,input) {color:var(--scene-ink);border-color:var(--scene-edge);}
body[data-scene-tone="light"] :is(.country-picker,.call-chat,.settings-dialog) :is(h2,h3,h4,label,small,button:not(.primary-button):not([type="submit"]):not(:hover),input,select) {color:var(--scene-ink);border-color:var(--scene-edge);}
body[data-scene-tone="light"] :is(.shop-heading,.shop-section,.shop-balance-card,.shop-layout-upgrade,.account-card,.social-card,.legal-main) :is(h1,h2,h3,p,small,label,.profile-name,.profile-username) {color:var(--scene-ink);text-shadow:none;}
body[data-scene-tone="light"] :is(.account-card,.social-card,.dialog-card,.global-menu-dialog,#connectly-language-dialog) :is(input:not([type="checkbox"]):not([type="range"]),select,textarea) {background:var(--scene-control);color:var(--scene-ink);border-color:var(--scene-edge);}
body[data-scene-world] :is(.topbar,.app-topbar,.control-dock) {
 background:linear-gradient(120deg,var(--scene-panel),color-mix(in srgb,var(--scene-solid) 87%,transparent));
 color:var(--scene-ink);border-color:var(--scene-edge);
 box-shadow:inset 0 1px 0 var(--scene-highlight),0 4px 22px var(--scene-shadow);
 backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
/* An opaque, palette-matched header lets the white logo backing multiply away. */
body[data-scene-tone="light"] .topbar {background:color-mix(in srgb,var(--scene-solid) 88%,var(--scene-base));}
/* The dock's backdrop filter creates a stacking context; keep the country popup above video. */
body[data-scene-world] .control-dock:has(.country-picker:not([hidden])) {z-index:20;}
body[data-scene-world] :is(.account-card,.social-card,.glass-card,.commerce-card,.shop-section,.shop-balance-card,.legal-main,.precall-card) {color:var(--scene-ink);border-color:var(--scene-edge);border-radius:var(--scene-radius);}
body[data-scene-world] :is(.account-card,.social-card,.glass-card,.commerce-card,.shop-section,.shop-balance-card,.legal-main,.precall-card):not(.device-shortcut) {
 background:linear-gradient(135deg,var(--scene-panel),color-mix(in srgb,var(--scene-solid) 95%,transparent));
 box-shadow:inset 0 1px 0 var(--scene-highlight),0 14px 38px var(--scene-shadow);
}
body[data-scene-world] :is(.account-sidebar,.shop-layout-upgrade) {background:var(--scene-panel);border:1px solid var(--scene-edge);border-radius:var(--scene-radius);box-shadow:inset 0 1px 0 var(--scene-highlight),0 12px 34px var(--scene-shadow);}
body[data-scene-world] .account-sidebar {padding:18px;}
body[data-scene-world] #overview-panel .personal-card[data-layout-unified] {background:var(--scene-panel)!important;border-color:var(--scene-edge)!important;color:var(--scene-ink);}
/* Keep the approved raster geometry. Invert luminance for light surfaces, retain blue hue. */
body[data-scene-tone="light"] .brand-art {background:transparent;border-radius:0;box-shadow:none;filter:invert(1) hue-rotate(180deg) brightness(1.16);mix-blend-mode:multiply;}
body[data-scene-tone="light"] .brand {border-radius:10px;mix-blend-mode:multiply;}
body[data-scene-tone="light"] .brand:hover {background:var(--scene-hover);}
/* The same panel bounds and 50/50 camera split remain in every scene. */
body[data-layout-world] :is(.camera-main,.chat-screen,.call-workspace,.video-stage) {background:transparent;}
body.camera-app[data-layout-world] .video-stage:not(.has-remote) .remote-card {background:transparent;box-shadow:none;}
html body[data-layout-world] .remote-state[data-layout-unified] {background:transparent;}
html body[data-layout-world] .remote-state[data-layout-unified]::before {display:none;}
html body[data-layout-world] .remote-state[data-layout-unified]::after {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 48% 28% at 50% 53%,var(--scene-panel),transparent);}
body[data-layout-world] .video-stage.camera-ready:not(.has-remote) .remote-state {justify-content:center;}
/* One continuous scene behind both camera placeholders. Live streams stay opaque. */
html body.camera-app[data-layout-world] .video-stage > .video-card {background:transparent;box-shadow:none;outline:0;border-radius:0;}
html body.camera-app[data-layout-world] .video-stage > .video-card::before {display:none;}
html body.camera-app[data-layout-world] .video-stage > .video-card.is-pip {border-radius:16px;border:1px solid var(--scene-edge);box-shadow:0 8px 28px var(--scene-shadow);}
html body.camera-app[data-layout-world] .video-stage:not(.has-remote) .remote-state[data-layout-unified] {background:transparent;}
html body.camera-app[data-layout-world] :is(.local-camera-off,.remote-camera-off) {background:transparent;color:var(--scene-muted);text-shadow:0 1px 8px var(--scene-base);}
html body.camera-app[data-layout-world] :is(.local-camera-off,.remote-camera-off)::before {content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 45% 30% at center,var(--scene-panel),transparent);}
body[data-layout-world] .video-stage.camera-ready:not(.camera-off) .local-card > video,
body[data-layout-world] .video-stage.has-remote .remote-card > video {background:#0b111b;}
body[data-layout-world] .remote-card:has(.remote-camera-off:not([hidden])) > video {visibility:hidden;}
html body.camera-app[data-layout-world] .camera-off-avatar {background:color-mix(in srgb,var(--scene-solid) 60%,transparent);box-shadow:0 0 0 1px var(--scene-highlight),0 8px 32px var(--scene-shadow);}
html body.camera-app[data-layout-world] .remote-camera-off i {color:var(--scene-muted);}
html body.camera-app[data-layout-world] .video-stage.layout-split > .video-card {border-radius:var(--scene-radius);}
/* Waiting-scene text sits on artwork. */
html .remote-state[data-scene-world] :is(h2,p) {color:var(--scene-ink);text-shadow:0 1px 14px var(--scene-base);text-wrap:balance;}
html .remote-state[data-scene-world] h2 {margin:0 0 12px;font-size:clamp(21px,2.1vw,29px);font-weight:600;letter-spacing:-.65px;}
html .remote-state[data-scene-world] p {max-width:360px;font-size:14px;line-height:1.65;color:var(--scene-muted);}
html .remote-state[data-scene-tone="light"]::after {background:radial-gradient(ellipse at center,#ffffffe6,transparent 72%);}
html .remote-state[data-scene-tone="light"] :is(h2,p) {text-shadow:0 1px 12px #fff;}
/* Profile art keeps its own palette even when the visitor chose a different app world. */
[data-shop-profile][data-scene-tone="light"] {color:var(--scene-ink);background-color:var(--scene-base)!important;background-image:linear-gradient(180deg,#ffffff00,var(--scene-solid) 530px),var(--profile-art)!important;border-color:var(--scene-edge)!important;}
[data-shop-profile][data-scene-tone="light"][data-living-scene]::before {background:linear-gradient(180deg,#ffffff00,var(--scene-panel) 260px,var(--scene-solid) 560px);}
[data-shop-profile][data-scene-tone="light"] :is(h1,h2,strong,p,.profile-name,.profile-username,.shop-demo-handle) {color:var(--scene-ink);text-shadow:none;}
[data-shop-profile][data-scene-tone="light"] :is(.social-head,.profile-head) {background:var(--scene-panel);border:1px solid var(--scene-highlight);}
[data-shop-profile][data-scene-tone="light"] .shop-demo-handle {color:var(--scene-muted);}
/* Shop previews are miniature artwork and use the same material tokens as equipped worlds. */
.shop-preview[data-scene-tone="light"] {color:var(--scene-ink);}
.shop-waiting-preview[data-scene-tone="light"]::after {background:linear-gradient(0deg,#ffffff25,transparent 38%);}
.shop-waiting-preview[data-scene-tone="light"] .shop-scene-caption {color:var(--scene-ink);background:var(--scene-panel);border:1px solid var(--scene-highlight);}
.shop-theme-preview[data-scene-world] .shop-demo-app {color:var(--scene-ink);background:var(--scene-panel);border-color:var(--scene-edge);box-shadow:0 10px 30px var(--scene-shadow);}
.shop-theme-preview[data-scene-world] .shop-demo-apppanel {background:var(--scene-panel);}
.shop-theme-preview[data-scene-world] .shop-demo-appbar {border-color:var(--scene-edge);}
.shop-theme-preview[data-scene-world] .shop-demo-start {background:var(--scene-primary);color:var(--scene-on-primary);}
.shop-theme-preview[data-scene-world] .shop-demo-orbit {color:var(--scene-accent);text-shadow:none;}
.shop-layout-demo.is-expanded[data-scene-world] :is(.shop-layout-demo-bar,.shop-layout-demo-dock) {background:var(--scene-panel);border-color:var(--scene-edge);}
.shop-layout-demo.is-expanded[data-scene-world] .shop-layout-demo-waiting {color:var(--scene-ink);}
.shop-layout-demo.is-expanded[data-scene-world] .shop-layout-demo-camera {border-color:var(--scene-edge);}
.shop-layout-demo.is-expanded[data-scene-world] :is(.shop-layout-demo-brand,.shop-layout-demo-dock > span) {background:var(--scene-accent);}
.shop-spotlight[data-scene-tone="light"] > .shop-waiting-preview[data-shop-waiting]::after {background:linear-gradient(90deg,var(--scene-solid),color-mix(in srgb,var(--scene-solid) 78%,transparent) 34%,transparent 78%);}
@media(max-width:600px) {
 .shop-spotlight[data-scene-tone="light"] > .shop-waiting-preview[data-shop-waiting]::after {background:linear-gradient(0deg,var(--scene-solid),color-mix(in srgb,var(--scene-solid) 85%,transparent) 44%,transparent);}
}
@media(max-width:850px) {
 html body.camera-app[data-layout-world] .video-stage.layout-split > .video-card {border-radius:14px;}
 html .remote-state[data-scene-world] h2 {font-size:20px;}
 html .remote-state[data-scene-world] p {font-size:13px;max-width:290px;}
}

/* Full-layout glass reveals the same scene across navigation, controls and pages.
   Keep solid controls/dialogs for contrast; do not blur the camera panes. */
body[data-layout-world],.shop-layout-demo.is-expanded[data-scene-world] {--layout-glass:color-mix(in srgb,var(--scene-base) 52%,transparent);}
body[data-layout-world][data-scene-tone="light"],.shop-layout-demo.is-expanded[data-scene-tone="light"] {--layout-glass:color-mix(in srgb,var(--scene-solid) 65%,transparent);}
html body[data-layout-world] :is(.topbar,.app-topbar,.control-dock) {background:var(--layout-glass);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-color:var(--scene-highlight);box-shadow:none;}
html body[data-layout-world] :is(.account-card,.social-card,.glass-card,.commerce-card,.shop-section,.shop-balance-card,.shop-layout-upgrade,.legal-main) {background:color-mix(in srgb,var(--scene-solid) 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.shop-layout-demo.is-expanded[data-scene-world] :is(.shop-layout-demo-bar,.shop-layout-demo-dock) {background:var(--layout-glass);}
.shop-layout-demo.is-expanded[data-scene-world] .shop-layout-demo-camera {background:transparent;border-color:transparent;border-radius:0;box-shadow:none;color:var(--scene-muted);}
