.emoji-burst{opacity:0;will-change:transform, opacity;animation:2.8s ease-out forwards emoji-burst-rise}@keyframes emoji-burst-rise{0%{opacity:0;transform:translateY(20px)scale(.4)}12%{opacity:1;transform:translate3d(0, 0, 0) scale(var(--burst-scale,1))}to{opacity:0;transform:translate3d(var(--burst-drift,0), -320px, 0) scale(var(--burst-scale,1))}}.room-shake{animation:.42s ease-in-out room-shake}@keyframes room-shake{0%,to{transform:translate(0,0)}25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px,1px)}}@media (prefers-reduced-motion:reduce){.emoji-burst{animation-duration:1ms;animation-iteration-count:1}.room-shake{animation:none}}
.room-fx{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.room-fx-aurora .room-fx-band{filter:blur(60px);opacity:.35;mix-blend-mode:screen;will-change:transform;width:160%;height:55%;position:absolute;left:-30%}.room-fx-aurora .room-fx-band:first-child{background:linear-gradient(90deg,#0000,#34dbc5 25%,#7c9cff 55%,#0000);animation:26s ease-in-out infinite fx-aurora-a;top:-12%}.room-fx-aurora .room-fx-band:nth-child(2){background:linear-gradient(90deg,#0000,#c77dff 30%,#88df46 70%,#0000);animation:34s ease-in-out infinite fx-aurora-b;top:8%}@keyframes fx-aurora-a{0%,to{transform:translate(-8%)rotate(-4deg)scaleY(1)}50%{transform:translate(8%,4%)rotate(3deg)scaleY(1.25)}}@keyframes fx-aurora-b{0%,to{transform:translate(6%,3%)rotate(3deg)scaleY(1.15)}50%{transform:translate(-7%,-2%)rotate(-3deg)scaleY(.9)}}.room-fx-rain{background:linear-gradient(#0a142859,#050a1926)}.room-fx-rain .room-fx-layer{will-change:transform;background-image:repeating-linear-gradient(103deg,#ffffff38 0 1px,#0000 1px 9px);width:100%;height:100%;position:absolute;left:0}.room-fx-rain .room-fx-layer:first-child{animation:.9s linear infinite fx-rain-fall;top:-100%}.room-fx-rain .room-fx-layer:nth-child(2){opacity:.55;animation:1.4s linear infinite fx-rain-fall;top:-100%}@keyframes fx-rain-fall{0%{transform:translate(0,0)}to{transform:translateY(100vh)}}.room-fx-fireplace .room-fx-glow{will-change:opacity, transform;background:radial-gradient(120% 55% at 50% 118%,#ff96328c 0%,#ff5a1e47 35%,#0000 70%);animation:3.6s ease-in-out infinite fx-fire-flicker;position:absolute;inset:0}.room-fx-fireplace .room-fx-edge{position:absolute;inset:0;box-shadow:inset 0 -80px 120px -60px #ff7828a6}@keyframes fx-fire-flicker{0%,to{opacity:.85;transform:scale(1)}30%{opacity:1;transform:scale(1.03,1.06)}55%{opacity:.78;transform:scale(.98,.96)}80%{opacity:.95;transform:scale(1.02,1.03)}}.room-fx-neon .room-fx-grid{transform-origin:50% 100%;opacity:.55;will-change:transform;background-image:linear-gradient(#34dbc529 1px,#0000 1px),linear-gradient(90deg,#c77dff29 1px,#0000 1px);background-size:48px 48px;animation:4.5s linear infinite fx-neon-scroll;position:absolute;inset:-20%;transform:perspective(360px)rotateX(58deg)translate(0,0)}.room-fx-neon .room-fx-sweep{will-change:transform;background:linear-gradient(90deg,#0000,#78dcff24,#0000);width:40%;height:100%;animation:7s linear infinite fx-neon-sweep;position:absolute;top:0;left:-40%}@keyframes fx-neon-scroll{0%{transform:perspective(360px)rotateX(58deg)translate(0,0)}to{transform:perspective(360px)rotateX(58deg)translateY(48px)}}@keyframes fx-neon-sweep{0%{transform:translate(0,0)}to{transform:translate(350%)}}.room-fx-starfield .room-fx-stars{will-change:transform, opacity;background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,#0000),radial-gradient(1.4px 1.4px at 34% 62%,#cfe6ff,#0000),radial-gradient(1.8px 1.8px at 58% 24%,#fff,#0000),radial-gradient(1.2px 1.2px at 76% 70%,#ffe9c7,#0000),radial-gradient(1.5px 1.5px at 88% 38%,#fff,#0000),radial-gradient(1.3px 1.3px at 22% 84%,#d7ccff,#0000),radial-gradient(1.7px 1.7px at 66% 90%,#fff,#0000);background-repeat:repeat;background-size:260px 260px;position:absolute;inset:-50%}.room-fx-starfield .room-fx-stars:first-child{opacity:.75;animation:90s linear infinite fx-stars-drift}.room-fx-starfield .room-fx-stars:nth-child(2){opacity:.4;animation:140s linear infinite reverse fx-stars-drift,5s ease-in-out infinite fx-stars-twinkle}@keyframes fx-stars-drift{0%{transform:translate(0,0)}to{transform:translate(-260px,130px)}}@keyframes fx-stars-twinkle{0%,to{opacity:.4}50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.room-fx *{animation:none!important}}
.lvl-badge{white-space:nowrap;border:1px solid var(--lvl-color,#ffffff40);color:var(--lvl-color,#fff);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex;position:relative}.lvl-t1{--lvl-color:#ffffffbf}.lvl-t2{--lvl-color:#6ee7a8}.lvl-t3{--lvl-color:#7dd3fc;box-shadow:0 0 10px -2px #7dd3fc}.lvl-t4{--lvl-color:#d8b4fe;overflow:hidden;box-shadow:0 0 14px -2px #c084fc}.lvl-t5{--lvl-color:#fde68a;background:linear-gradient(#000000b8,#000000b8) padding-box padding-box,linear-gradient(90deg,#fbbf24,#fb923c,#f472b6,#fbbf24) 0 0/300% 100% border-box;border-color:#0000;animation:4s linear infinite lvl-border-flow;overflow:hidden}.lvl-t4:after,.lvl-t5:after{content:"";will-change:transform;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:45%;height:100%;position:absolute;top:0;left:-60%}.lvl-t4:after{animation:3.6s ease-in-out infinite lvl-shimmer}.lvl-t5:after{animation:2.2s ease-in-out infinite lvl-shimmer}.lvl-t5{box-shadow:0 0 16px -2px #fbbf24e6}@keyframes lvl-border-flow{0%{background-position:0 0,0%}to{background-position:0 0,300%}}@keyframes lvl-shimmer{0%{transform:translate(0,0)}55%,to{transform:translate(420%)}}@media (prefers-reduced-motion:reduce){.lvl-t4:after,.lvl-t5:after{opacity:0;animation:none}.lvl-t5{animation:none}}
