.ex-stage{--rage:0;background:radial-gradient(ellipse 60% 55% at 50% 48%, #03050b40, #03050be0), url(/exorcisme/salle.webp) center 70% / cover no-repeat, var(--gh-night-900);border:1px solid var(--gh-line-gold);box-shadow:var(--gh-shadow), inset 0 0 calc(40px + var(--rage) * 120px) rgba(185, 28, 28, calc(var(--rage) * .45));isolation:isolate;border-radius:28px;justify-items:center;gap:14px;padding:clamp(18px,4vw,40px) 12px 22px;display:grid;position:relative;overflow:hidden}.ex-stage.is-wrong{animation:.1s linear 12 ex-quake}@keyframes ex-quake{25%{transform:translate(-5px,2px)rotate(-.4deg)}50%{transform:translate(5px,-3px)rotate(.4deg)}75%{transform:translate(-3px,-1px)}}.ex-stage.is-freed:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 45%,#fffae6f2,#0000 70%);animation:2.4s ease-out forwards ex-light;position:absolute;inset:0}@keyframes ex-light{0%{opacity:0}20%{opacity:1}to{opacity:0}}.ex-sound{z-index:3;border:1px solid var(--gh-line-gold);cursor:pointer;background:#060a15b3;border-radius:50%;width:36px;height:36px;position:absolute;top:12px;right:12px}.ex-circle{aspect-ratio:1;background:radial-gradient(circle,#060a1559,#060a15bf);border:2px solid #f2dca659;border-radius:50%;width:min(100%,460px);position:relative;box-shadow:0 0 0 10px #f2dca60d,inset 0 0 60px #0009}.ex-circle:before{content:"";border:1px dashed #f2dca64d;border-radius:50%;animation:60s linear infinite ex-spin;position:absolute;inset:9%}@keyframes ex-spin{to{transform:rotate(360deg)}}.ex-demon{box-shadow:0 0 calc(20px + var(--rage) * 50px) rgba(239, 68, 68, calc(.25 + var(--rage) * .6));border-radius:50%;position:absolute;inset:26%;overflow:hidden}.ex-demon img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;filter:saturate(calc(.6 + var(--rage) * .8)) brightness(calc(.55 + var(--rage) * .35)) sepia(calc(var(--rage) * .35));transform:scale(calc(1 + var(--rage) * .12));transition:filter .8s,transform .8s;animation:3.2s ease-in-out infinite ex-breathe}.ex-stage.is-demo .ex-demon img{animation:.5s ease-in-out infinite alternate ex-chant}.ex-stage.is-wrong .ex-demon img{filter:saturate(1.6)brightness(1.1)sepia(.4)hue-rotate(-15deg);transform:scale(1.3)}@keyframes ex-breathe{50%{translate:0 -2px}}@keyframes ex-chant{0%{filter:brightness(.6)saturate(.8)}to{filter:brightness(.85)saturate(1.2)}}.ex-symbol{aspect-ratio:1;width:22%;color:var(--gh-gold);cursor:pointer;background:radial-gradient(circle at 40% 30%,#342612f2,#0a0806f2);border:2px solid #d8b46a8c;border-radius:50%;place-items:center;padding:3.5%;transition:transform .12s,box-shadow .12s,color .12s,background .12s;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 10px 24px #0009}.ex-symbol svg{width:100%;height:100%}.ex-symbol--0{top:11%;left:50%}.ex-symbol--1{top:50%;left:89%}.ex-symbol--2{top:89%;left:50%}.ex-symbol--3{top:50%;left:11%}.ex-symbol:disabled{cursor:default}.ex-stage.is-input .ex-symbol:not(:disabled):hover{border-color:var(--gh-gold-light)}.ex-symbol.is-lit{color:#1b1307;background:radial-gradient(circle at 40% 30%, #fff8e1, var(--gh-gold) 60%, var(--gh-gold-deep));border-color:#fff4d6;transform:scale(1.12);box-shadow:0 0 34px 8px #f2dca6bf}.ex-caption{text-align:center;justify-items:center;gap:8px;min-height:74px;display:grid}.ex-caption p{color:var(--gh-silver);margin:0;font-size:1.05rem;font-style:italic}.ex-round{border:1px solid var(--gh-line-gold);color:var(--gh-gold-pale);font-family:var(--gh-font-display);background:#060a15b8;border-radius:999px;padding:4px 14px;font-weight:700}.ex-correction{color:var(--gh-silver);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:.9rem;display:flex}.ex-mini{border:1px solid var(--gh-line-gold);width:32px;height:32px;color:var(--gh-gold);border-radius:50%;place-items:center;padding:5px;display:grid}.ex-mini svg{width:100%;height:100%}.ex-mini.is-ok{border-color:var(--gh-gold);background:#d8b46a26}.ex-mini:not(.is-ok):not(.is-bad){opacity:.55}.ex-mini.is-bad{color:#f87171;border-color:#f87171}@media (prefers-reduced-motion:reduce){.ex-circle:before,.ex-demon img,.ex-stage.is-demo .ex-demon img,.ex-stage.is-wrong{animation:none}}
