/* Seven hand-illustrated vector suites. The original character sprite always renders above the atmospheric layers. */
.luxury-mood-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px;padding:9px 11px;background:linear-gradient(110deg,#181c35,#232036);border-top:1px solid #bca4d13f;border-bottom:1px solid #e5c9f424;color:#d3bdf0}
.luxury-mood-bar>span{font-size:9px;font-weight:850;letter-spacing:1.25px;white-space:nowrap}
.luxury-mood-options{display:flex;gap:5px;align-items:center}
.luxury-mood-options button{border:1px solid #b9a7d158;border-radius:8px;background:#2a2841;color:#d2d0e3;font:750 10px/1.1 ui-sans-serif,system-ui;padding:7px 9px;min-height:29px;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.luxury-mood-options button:hover{border-color:#f3d0e9;color:#fff}
.luxury-mood-options button[aria-pressed="true"]{background:linear-gradient(135deg,#755179,#405d87);border-color:#edc4ef;color:#fff;box-shadow:0 0 11px #da9cdd44}
.luxury-mood-bar[hidden]{display:none!important}
body[data-visual-style="studio"] .talk-portrait-frame.has-scene{background-image:linear-gradient(180deg,#05051905,#06072029 64%,#0a0b2459),var(--room-bg);background-position:50% 50%;background-size:cover;transition:filter .45s ease,background-image .25s ease}
/* Do not paint over the eyes / mouth portrait layers. */
.talk-portrait-frame.has-scene .room-ambient{background:radial-gradient(ellipse 80% 72% at 50% 24%,#ffe1db16,transparent 85%);z-index:1;transition:background .5s,opacity .5s}
.talk-portrait-frame[data-room-mood="everyday"] .room-ambient{background:linear-gradient(160deg,#fff1c31d,transparent 70%)}
.talk-portrait-frame[data-room-mood="romantic"] .room-ambient{background:radial-gradient(ellipse at 40% 55%,#ffafcb36,transparent 78%),linear-gradient(165deg,#fdb9da17,transparent 68%)}
.talk-portrait-frame[data-room-mood="midnight"] .room-ambient{background:linear-gradient(180deg,#101a5021,#0b113466),radial-gradient(ellipse at 72% 20%,#95a4ff24,transparent 80%)}
.talk-portrait-frame[data-room-mood="everyday"]{filter:brightness(1.14) saturate(1.04)}
.talk-portrait-frame[data-room-mood="romantic"]{filter:brightness(1.075) saturate(1.13)}
.talk-portrait-frame[data-room-mood="midnight"]{filter:brightness(.89) saturate(1.12)}
/* The FX canvas sits behind the character, not on top of the face and eyelids. */
.luxury-room-fx{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.70}
.talk-portrait-frame:not(.has-scene) .luxury-room-fx{display:none}
.stage25-scene[data-room-mood="everyday"] .stage25-back{filter:brightness(1.16) saturate(1.1) blur(.8px)}
.stage25-scene[data-room-mood="romantic"] .stage25-back{filter:brightness(1.1) saturate(1.1) hue-rotate(-4deg) blur(.8px)}
.stage25-scene[data-room-mood="midnight"] .stage25-back{filter:brightness(.88) saturate(1.1) blur(.8px)}
.stage25-scene .stage25-back{background-position:center center;background-size:cover;transition:filter .45s ease}
.stage25-scene .stage25-halo{opacity:.19;box-shadow:0 0 44px #b5b8ff1c}
.stage25-scene .stage25-grid{opacity:.04}
.luxury-studio-fx{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.58}
.stage25-moods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.stage25-moods button{padding:10px 3px;font-size:10px}
body[data-visual-style="studio"] .card-picture.card-room-scene{background-position:center;background-size:cover}
body[data-visual-style="studio"] .card-picture.card-room-scene[data-room-mood="everyday"]{filter:brightness(1.08)}
body[data-visual-style="studio"] .card-picture.card-room-scene[data-room-mood="midnight"]{filter:brightness(.9)}
@media(max-width:600px){.luxury-mood-bar{justify-content:center}.luxury-mood-bar>span{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.luxury-room-fx,.luxury-studio-fx{display:none!important}.luxury-mood-options button,.stage25-back{transition:none!important}}
/* The older experimental arm canvas can leave a black rectangular backing on
   Alicia's cutout in the room scene. Disable that canvas in luxury rooms; the
   original hand/portrait remains intact, as do blinking and audio lip sync. */
.talk-portrait-frame.has-scene #articulated-arm-stage{display:none!important}
/* Ultra-detail room pass: keep the 1800px painted backgrounds crisp. Filters on the
   entire portrait used to darken the catgirls as well; mood lighting now lives only
   in the already existing ambient/scene layers behind their original sprite. */
body[data-visual-style="studio"] .talk-portrait-frame.has-scene[data-room-mood]{filter:none!important;background-position:center 45%;background-size:cover}
.stage25-scene[data-room-mood="everyday"] .stage25-back{filter:brightness(1.11) saturate(1.04)}
.stage25-scene[data-room-mood="romantic"] .stage25-back{filter:brightness(1.07) saturate(1.09) hue-rotate(-3deg)}
.stage25-scene[data-room-mood="midnight"] .stage25-back{filter:brightness(.9) saturate(1.1)}
.stage25-scene .stage25-back{image-rendering:auto}
.talk-portrait-frame.has-scene .room-ambient{animation:ultra-room-light 9s ease-in-out infinite alternate}
@keyframes ultra-room-light{from{opacity:.56}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.talk-portrait-frame.has-scene .room-ambient{animation:none}}
