:root{--violet:#741dff;--lilac:#dba9ff;--ink:#39205c;--red:#e80026}*{box-sizing:border-box}html,body{margin:0;background:transparent;font-family:Arial,Helvetica,sans-serif;color:#21182d}body{padding:8px}.oracle{position:relative;width:min(760px,100%);aspect-ratio:1.23/1;min-height:560px;margin:auto;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.16),transparent 48%),linear-gradient(145deg,#fff 0,#fdfaff 60%,#f7edff 100%);box-shadow:0 14px 35px rgba(42,20,79,.28);border:1px solid #eadcf4}.mandala{position:absolute;width:460px;height:460px;left:50%;top:47%;transform:translate(-50%,-50%);border:2px solid rgba(137,89,164,.13);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(145,114,239,.28) 0 10deg,rgba(234,176,242,.25) 10deg 20deg);clip-path:circle(50%)}.mandala:before,.mandala:after,.mandala i{content:"";position:absolute;border-radius:50%;inset:42px;background:rgba(245,198,244,.72);border:2px solid rgba(152,105,210,.18)}.mandala:after{inset:105px;background:rgba(188,180,255,.7)}.mandala i{inset:165px;background:#e9ddff;border-color:#a998ff;z-index:2}.scene{display:none;position:absolute;inset:0 0 72px;z-index:3}.scene.active{display:block;animation:fade .35s ease}.domain-buttons{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:grid;gap:14px;width:230px}.domain-buttons button,.domain-badge,.message{border:3px solid #4e00d7;background:linear-gradient(90deg,#8c42ff,#e1b3ff 50%,#8c42ff);box-shadow:0 6px 0 rgba(63,35,80,.25),inset 0 0 12px rgba(255,255,255,.65);color:#361070;font-weight:800}.domain-buttons button{border-radius:999px;padding:8px;font-size:20px;letter-spacing:.23em;cursor:pointer}.domain-buttons button:hover{filter:brightness(1.08);transform:scale(1.03)}.domain-badge{position:absolute;top:20px;left:22px;border-radius:28px;padding:8px 22px;text-align:center;font-size:16px;line-height:1.05;min-width:190px}.domain-badge strong{display:block;font-size:19px;text-transform:capitalize}.message{position:absolute;z-index:20;bottom:12px;left:8px;right:8px;min-height:54px;border-radius:28px;display:flex;align-items:center;justify-content:center;padding:7px 78px 7px 25px;text-align:center;font-size:15px;line-height:1.2}.next{position:absolute;right:13px;border:2px solid #614282;border-radius:50%;background:linear-gradient(#fff,#bd91e4);color:#421371;font-weight:900;font-size:11px;width:48px;height:34px;cursor:pointer}.hidden{display:none!important}.fan{position:absolute;left:50%;top:105px;width:700px;height:390px;transform:translateX(-50%)}.fan-card{position:absolute;left:50%;top:68px;width:82px;height:198px;padding:0;border:0;background:url(images/card-back.png) center/100% 100% no-repeat;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.35));transform-origin:50% 165%;transform:translateX(calc(-50% + var(--x))) translateY(var(--y)) rotate(var(--r));cursor:pointer;transition:transform .35s,filter .25s,opacity .25s}.fan-card:hover,.fan-card:focus-visible{z-index:80!important;filter:drop-shadow(0 0 9px #7a24ff);transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) - 16px)) rotate(var(--r)) scale(1.04)}.fan-card.selected{z-index:90!important;transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) + 75px)) rotate(var(--r)) scale(1.03);filter:drop-shadow(0 0 10px #ff2b74)}.fan-card.locked:not(.selected){pointer-events:none}.three-cards{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);display:flex;gap:30px;align-items:center}.card-back,.card-front{width:126px;height:304px;border:0;border-radius:5px;filter:drop-shadow(3px 7px 3px rgba(0,0,0,.3))}.card-back{background:url(images/card-back.png) center/100% 100% no-repeat}.three-cards .card-back:first-child{transform:rotate(-14deg)}.three-cards .card-back:last-child{transform:rotate(14deg)}.reading-area{position:absolute;left:30px;right:22px;top:90px;bottom:5px;display:grid;grid-template-columns:320px 1fr;gap:20px}.reading-cards{position:relative;height:390px}.mini-card{position:absolute;width:105px;height:253px;top:90px;background:url(images/card-back.png) center/100% 100% no-repeat;filter:drop-shadow(3px 6px 2px rgba(0,0,0,.3));transition:.6s}.mini-card:nth-child(1){left:8px;transform:rotate(-7deg)}.mini-card:nth-child(2){left:105px}.mini-card:nth-child(3){left:205px;transform:rotate(7deg)}.mini-card.revealed{background:none}.mini-card img{width:100%;height:100%;object-fit:cover;border:1px solid #5a4565;border-radius:4px}.reading-copy{padding-top:8px;max-height:390px;overflow:auto;scrollbar-color:#8b37e8 #eee}.reading-copy h2{margin:0 0 12px;color:#7b18e8;font-size:19px}.reading-copy h3{color:#5813a5;font-size:15px;margin:15px 0 5px}.reading-copy p{font-family:Georgia,serif;font-size:15px;line-height:1.48;margin:0 0 10px}.formula{background:#f3e8ff;border-left:4px solid #8228dc;padding:8px 10px;font-size:13px!important}.final{font-weight:700;color:#44205e}@keyframes fade{from{opacity:0}to{opacity:1}}
@media(max-width:650px){body{padding:3px}.oracle{aspect-ratio:auto;min-height:620px;border-radius:12px}.mandala{width:370px;height:370px;top:40%}.fan{width:100%;top:105px;height:370px}.fan-card{width:58px;height:140px;top:95px;transform-origin:50% 120%}.fan-card.selected{transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) + 62px)) rotate(var(--r))}.domain-badge{top:10px;left:10px;min-width:150px;padding:6px 15px}.three-cards{gap:12px}.card-back,.card-front{width:84px;height:203px}.reading-area{left:12px;right:12px;top:80px;grid-template-columns:1fr;gap:2px}.reading-cards{height:180px}.mini-card{width:68px;height:164px;top:5px}.mini-card:nth-child(1){left:calc(50% - 112px)}.mini-card:nth-child(2){left:calc(50% - 34px)}.mini-card:nth-child(3){left:calc(50% + 44px)}.reading-copy{max-height:280px;padding:0 5px}.message{font-size:13px;padding-left:14px;padding-right:63px}.scene{bottom:70px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Ajustements fondés sur le déroulement filmé du logiciel Madame Soleil. */
.fan{top:122px;width:720px}
.fan-card{top:82px;width:80px;height:193px;transform-origin:50% 156px;transition:transform .38s ease,filter .25s,opacity .25s;animation:deal-card .42s cubic-bezier(.2,.75,.25,1) backwards;animation-delay:var(--delay)}
.fan-card:hover,.fan-card:focus-visible{transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) - 18px)) rotate(var(--r)) scale(1.035)}
.fan-card.selected{transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) + 88px)) rotate(var(--r)) scale(1.03)}
.three-cards{gap:48px}
.card-back,.card-front{width:112px;height:270px}
.three-cards .card-back{animation:place-card .55s cubic-bezier(.2,.8,.2,1) both}
.three-cards .card-back:first-child{--placed-rotation:-13deg;animation-delay:.05s}
.three-cards .card-back:nth-child(2){--placed-rotation:0deg;animation-delay:.25s}
.three-cards .card-back:last-child{--placed-rotation:13deg;animation-delay:.45s}
.mini-card.revealed{animation:turn-card .55s ease}
@keyframes deal-card{from{opacity:0;transform:translateX(-50%) translateY(-135px) rotate(0)}to{opacity:1;transform:translateX(calc(-50% + var(--x))) translateY(var(--y)) rotate(var(--r))}}
@keyframes place-card{from{opacity:0;transform:translateY(-90px) scale(.82) rotate(0)}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--placed-rotation))}}
@keyframes turn-card{0%{scale:1 1}49%{scale:.06 1}50%{scale:.06 1}100%{scale:1 1}}
@media(max-width:650px){.fan{top:116px;width:100%}.fan-card{width:58px;height:140px;top:95px;transform-origin:50% 112px}.fan-card.selected{transform:translateX(calc(-50% + var(--x))) translateY(calc(var(--y) + 67px)) rotate(var(--r))}.three-cards{gap:18px}.card-back,.card-front{width:78px;height:188px}}
@media(prefers-reduced-motion:reduce){.fan-card,.three-cards .card-back,.mini-card.revealed{animation:none!important}}
