
/* V15 live-room upgrades */
.magic-scene{--v15-shadow:#21142d;--v15-glow:#ffd783}
.magic-scene .magic-scene-layer{position:absolute;pointer-events:none;z-index:2;transition:opacity .35s ease}
.magic-live-controls{margin:14px 0 0;padding:16px 16px 14px;border-radius:24px;background:linear-gradient(140deg,#4e2d5eea,#2f1d40f2);border:1px solid rgba(237,175,205,.38);box-shadow:0 10px 30px rgba(15,7,22,.35)}
.magic-live-controls h2{margin:0 0 6px;color:#fff1e8;font:700 clamp(1.35rem,3vw,1.9rem) Georgia,serif}
.magic-live-controls p{margin:0 0 12px;color:#ecd6e4;font-size:.92rem;line-height:1.45}
.magic-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}
.magic-toggle{border:1px solid rgba(247,203,221,.34);background:linear-gradient(135deg,#633d72,#352347);color:#fff5ef;padding:12px 12px;border-radius:18px;min-height:56px;font:700 .9rem system-ui;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(14,8,21,.24);cursor:pointer}
.magic-toggle.active{border-color:#ffd59c;background:linear-gradient(135deg,#8a4f88,#4b2d63);box-shadow:0 0 0 2px rgba(255,222,176,.15),0 8px 22px rgba(33,17,43,.35)}
.magic-toggle small{display:block;font-size:.72rem;font-weight:600;opacity:.86}
.magic-toggle .emoji{font-size:1.2rem}
.magic-room-note{margin-top:10px;font-size:.82rem;color:#e7cadc}
.magic-scene[data-motion="on"] .magic-glasses-overlay-bunny{animation:magicAvatarFloatBunny 4.9s ease-in-out infinite}
.magic-scene[data-motion="on"] .magic-glasses-overlay-kat{animation:magicAvatarFloatKat 5.4s ease-in-out infinite}
.magic-scene[data-motion="off"] .magic-glasses-overlay-bunny,.magic-scene[data-motion="off"] .magic-glasses-overlay-kat{animation:none!important}
.magic-lamp-glow{left:18%;top:48%;width:16%;height:30%;background:radial-gradient(circle at 55% 48%, rgba(255,230,164,.46), rgba(255,186,97,.18) 32%, rgba(255,172,91,.05) 55%, transparent 70%);mix-blend-mode:screen;animation:magicGlowPulse 3.4s ease-in-out infinite}
.magic-lamp-mask{left:19.5%;top:52%;width:13%;height:24%;background:radial-gradient(circle at 54% 38%, rgba(39,26,53,.08), rgba(19,10,27,.52) 48%, rgba(10,6,16,.75) 78%);opacity:0;border-radius:50%;filter:blur(4px)}
.magic-string-glow{left:0;top:0;width:100%;height:22%;background:linear-gradient(180deg, rgba(255,237,171,.18), rgba(255,211,140,.05) 46%, transparent 72%);mix-blend-mode:screen;animation:magicGlowPulse 4.4s ease-in-out infinite}
.magic-string-mask{left:0;top:0;width:100%;height:18%;background:linear-gradient(180deg, rgba(37,24,51,.18), rgba(20,11,28,.35) 44%, transparent 70%);opacity:0}
.magic-candle-glow{background:radial-gradient(circle, rgba(255,228,160,.52), rgba(255,191,104,.15) 38%, transparent 68%);mix-blend-mode:screen;animation:magicGlowPulse 2.7s ease-in-out infinite}
.magic-candle-a{left:37%;top:38%;width:13%;height:18%}
.magic-candle-b{left:63%;top:37%;width:10%;height:16%}
.magic-candle-c{left:9%;top:66%;width:11%;height:17%}
.magic-candle-d{left:44%;top:77%;width:12%;height:14%}
.magic-candle-e{left:79%;top:36%;width:10%;height:16%}
.magic-candle-mask{background:radial-gradient(circle, rgba(25,15,32,.08), rgba(14,9,22,.58) 47%, rgba(8,6,14,.72) 76%);opacity:0;border-radius:50%;filter:blur(3px)}
.magic-candle-mask.magic-candle-a{left:39%;top:41%;width:8%;height:10%}
.magic-candle-mask.magic-candle-b{left:64.6%;top:40%;width:6.5%;height:8.5%}
.magic-candle-mask.magic-candle-c{left:11%;top:70%;width:7%;height:10%}
.magic-candle-mask.magic-candle-d{left:46.5%;top:80.3%;width:7%;height:8%}
.magic-candle-mask.magic-candle-e{left:81%;top:40%;width:6%;height:8%}
.magic-fire-mask{right:2%;top:60.5%;width:13%;height:21%;background:radial-gradient(ellipse at center, rgba(49,31,27,.24), rgba(20,13,17,.77) 58%, rgba(9,5,9,.88) 82%);opacity:0;border-radius:42%;filter:blur(4px)}
.magic-scene[data-lamp="off"] .magic-lamp-glow,.magic-scene[data-candles="off"] .magic-candle-glow,.magic-scene[data-stringlights="off"] .magic-string-glow,.magic-scene[data-fire="off"] .magic-ambient-fire,.magic-scene[data-fire="off"] .magic-firespark{opacity:0!important;animation:none!important}
.magic-scene[data-lamp="off"] .magic-lamp-mask,.magic-scene[data-stringlights="off"] .magic-string-mask,.magic-scene[data-fire="off"] .magic-fire-mask,.magic-scene[data-candles="off"] .magic-candle-mask{opacity:1}
.magic-item-mask{position:absolute;pointer-events:none;z-index:4;transition:opacity .3s ease;border-radius:999px;filter:blur(1.2px)}
.magic-mask-bunny-cup{left:38.9%;top:67.8%;width:10.5%;height:8.7%;background:radial-gradient(circle at 46% 48%, rgba(253,247,240,.98), rgba(247,239,231,.96) 36%, rgba(194,134,165,.74) 62%, rgba(196,139,170,.3) 84%, transparent 100%)}
.magic-mask-kat-cup{left:55.7%;top:68.4%;width:10%;height:8.3%;background:radial-gradient(circle at 46% 44%, rgba(255,250,248,.98), rgba(250,242,239,.96) 36%, rgba(201,139,185,.74) 62%, rgba(211,151,194,.28) 84%, transparent 100%)}
.magic-mask-heart-pillow{left:58.2%;top:59.2%;width:10.4%;height:9.7%;background:radial-gradient(circle at 42% 42%, rgba(198,138,174,.92), rgba(188,128,166,.9) 36%, rgba(174,119,159,.86) 56%, rgba(219,155,196,.26) 82%, transparent 100%)}
.magic-mask-bunny-cup[hidden],.magic-mask-kat-cup[hidden],.magic-mask-heart-pillow[hidden]{display:none!important}
.magic-scene[data-coffee="on"] .magic-mask-bunny-cup,.magic-scene[data-coffee="on"] .magic-mask-kat-cup,.magic-scene[data-cushion="on"] .magic-mask-heart-pillow{opacity:0}
.magic-scene[data-coffee="off"] .magic-mask-bunny-cup,.magic-scene[data-coffee="off"] .magic-mask-kat-cup,.magic-scene[data-cushion="off"] .magic-mask-heart-pillow{opacity:1}
.magic-scene[data-motion="on"] .magic-ambient-twinkle span{animation:magicTwinkle var(--dur,4s) ease-in-out infinite}
.magic-ambient-twinkle span{position:absolute;display:block;color:#ffe7a2;text-shadow:0 0 10px rgba(255,240,186,.85);font-size:clamp(12px,1.6vw,18px);opacity:.55}
.magic-ambient-twinkle span:nth-child(1){left:8%;top:7%;--dur:4.3s}.magic-ambient-twinkle span:nth-child(2){left:46%;top:12%;--dur:5.1s}.magic-ambient-twinkle span:nth-child(3){left:88%;top:9%;--dur:3.8s}.magic-ambient-twinkle span:nth-child(4){left:72%;top:24%;--dur:4.7s}
.magic-lofi-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,220,186,.32);background:rgba(255,255,255,.08);font-size:.82rem;color:#fff4e7;margin-left:8px}
@keyframes magicGlowPulse{0%,100%{opacity:.84;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
@keyframes magicAvatarFloatBunny{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes magicAvatarFloatKat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) rotate(1deg)}}
@keyframes magicTwinkle{0%,100%{opacity:.28;transform:translateY(0) scale(.9)}50%{opacity:.95;transform:translateY(-4px) scale(1.05)}}
@media(max-width:680px){.magic-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.magic-live-controls{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.magic-scene[data-motion="on"] .magic-glasses-overlay-bunny,.magic-scene[data-motion="on"] .magic-glasses-overlay-kat,.magic-lamp-glow,.magic-candle-glow,.magic-string-glow,.magic-ambient-twinkle span{animation:none!important}}
