/* Higher specificity makes this temporary mood override any room lighting cycle. */
body.is-devil { --wall: #241829; --floor: #35213c; --floor-edge: #633d69; --mint: #d36d78; --peach: #792b51; --hand: #ed8c89; --screen: #ffd485; }
body.is-devil { background: #241829; }
body.is-devil .backdrop { background: radial-gradient(ellipse at 72% 90%, #643457, transparent 60%), repeating-linear-gradient(0deg, #241829 0 45px, #322036 46px 49px); }
body.is-devil .backdrop::after { background: radial-gradient(ellipse at 70% 20%, #693850, #211829); border-color: #633d69; }
body.is-devil .window { background: linear-gradient(90deg, transparent 48%, #66516f 48% 52%, transparent 52%), linear-gradient(transparent 48%, #66516f 48% 52%, transparent 52%), #1a162a; border-color: #66516f; outline-color: #281c32; box-shadow: 0 0 50px #973e8444; }
body.is-devil .window::after { opacity: 0; }
body.is-devil .interior-light, body.is-devil .room-lamp { opacity: 0; }
body.is-devil .workbench, body.is-devil .cables { filter: brightness(.45) saturate(.5); }
body.is-devil .rack { filter: brightness(.65); }
body.is-devil .eyebrow, body.is-devil .hint, body.is-devil .fineprint { color: #f1d4ec; }
body.is-devil .title { color: #f4d0e5; text-shadow: .035em .05em 0 #9a437a, .055em .075em 0 #241829; }
body.is-devil .card { background: #34273e; color: #fbe6ef; border-color: #90627f; }
body.is-devil .tagline { background: #e5c0d9; }
body.is-devil .machine-svg { filter: drop-shadow(0 0 22px #ff747344); }
body.is-devil .m-side { fill: #b9546c; }
body.is-devil .m-band-side { fill: #612641; }
body.is-devil .m-tube { stroke: #ba809a; }
body.is-devil .m-heart { fill: #f8a4a1; }
body.is-devil .m-brand, body.is-devil .m-brand text + text { fill: #ffe4d2; }
.devil-accessories, .devil-ritual, .devil-status { display: none; }
.is-devil .devil-accessories { display: inline; }
.devil-horn { fill: #ffe0b5; stroke: #533d46; stroke-width: 4; stroke-linejoin: round; }
.devil-fangs { fill: #fff2d0; }
.devil-brows { fill: none; stroke: #ffd485; stroke-width: 5; stroke-linecap: round; }
.is-devil .devil-ritual { display: block; position: absolute; width: 124%; height: 25%; left: -12%; bottom: -7%; pointer-events: none; }
.devil-circle { width: 100%; height: 100%; fill: none; stroke: #e898b9; stroke-width: 2; filter: drop-shadow(0 0 7px #ff739c); opacity: .8; }
.devil-candle { position: absolute; bottom: 30%; width: 13px; height: 32px; border: 2px solid #5c3b53; border-radius: 4px 4px 2px 2px; background: linear-gradient(90deg, #e5c9da, #fff0d6); box-shadow: 0 3px 0 3px #2a1c2b; }
.devil-candle::after { content: ''; position: absolute; top: -3px; left: 2px; width: 3px; height: 14px; border-radius: 3px; background: #fff0d6; }
.devil-candle i { position: absolute; bottom: 100%; left: -1px; width: 11px; height: 21px; border-radius: 80% 20% 65% 35%; transform: rotate(-18deg); background: #ffe6a2; box-shadow: 0 0 10px #ffc06b, 0 0 35px 13px #ffb55c66; animation: devil-flicker 1.3s ease-in-out infinite alternate; }
.candle-0 { left: 8%; bottom: 41%; }.candle-1 { right: 8%; bottom: 41%; }.candle-2 { left: 28%; bottom: 3%; }.candle-3 { right: 28%; bottom: 3%; }.candle-4 { left: 49%; bottom: -4%; }
.candle-1 i, .candle-3 i { animation-delay: -.7s; }
.is-devil .devil-status { display: block; position: absolute; top: 92%; left: 50%; transform: translateX(-50%); width: max-content; max-width: 100%; padding: .35rem .7rem; border: 1px solid #bb7c9d; border-radius: 20px; background: #302036; color: #ffe5da; font-size: .72rem; text-align: center; }
@keyframes devil-flicker { to { transform: rotate(-6deg) scale(.92, 1.08); opacity: .8; } }
@media (prefers-reduced-motion: reduce) { .devil-candle i { animation: none; } }
