.ritual-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid #a77a34;border-radius:5px;background:#030706;color:#d9b25f;box-shadow:0 28px 100px rgba(0,0,0,.9),inset 0 0 0 5px #090c0a,inset 0 0 0 6px #5f451e;overflow:auto;}
.ritual-dialog::backdrop{background:radial-gradient(circle at 50% 42%,rgba(43,30,12,.22),rgba(0,3,3,.94) 68%);backdrop-filter:blur(5px);}
.ritual-shell{position:relative;min-height:610px;padding:24px 30px 28px;box-sizing:border-box;overflow:hidden;background:radial-gradient(circle at 50% 24%,rgba(120,80,27,.18),transparent 38%),linear-gradient(180deg,#07100d,#020504 72%);}
.ritual-shell::before{content:"";position:absolute;inset:9px;border:1px solid rgba(176,129,52,.64);pointer-events:none;background-image:url(assets/nb_tl.png),url(assets/nb_tr.png),url(assets/nb_bl.png),url(assets/nb_br.png);background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;}
.ritual-close,.ritual-sound{position:absolute;z-index:12;top:18px;min-height:38px;border:1px solid #755526;background:rgba(6,11,9,.92);color:#e7c475;cursor:pointer;}
.ritual-close{right:18px;width:38px;border-radius:50%;font-size:24px;line-height:1;}
.ritual-sound{left:18px;border-radius:18px;padding:4px 13px;font-size:14px;}
.ritual-heading{position:relative;z-index:3;margin:4px 64px 2px;text-align:center;color:#efcc7f;font-size:30px;line-height:1.25;font-weight:600;text-shadow:0 2px 2px #000,0 0 16px rgba(207,151,50,.3);}
.ritual-subtitle{position:relative;z-index:3;margin:0 auto 12px;max-width:720px;text-align:center;color:#a98d50;font-size:15px;line-height:1.5;}
.ritual-stage{position:relative;height:368px;margin:8px 20px 0;overflow:hidden;border:1px solid rgba(154,111,42,.72);border-radius:3px;background:radial-gradient(ellipse at 50% 42%,rgba(110,74,24,.21),transparent 42%),linear-gradient(180deg,#06100c 0%,#020504 58%,#080603 100%);box-shadow:inset 0 0 38px rgba(0,0,0,.86),0 10px 32px rgba(0,0,0,.54);perspective:900px;}
.ritual-stage::before{content:"";position:absolute;left:-8%;right:-8%;bottom:-15%;height:48%;background:radial-gradient(ellipse at 50% 0,rgba(117,70,25,.26),rgba(16,10,5,.96) 64%);transform:rotateX(62deg);transform-origin:top;}
.ritual-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,224,155,.05) 49%,transparent 63%),repeating-linear-gradient(90deg,transparent 0 92px,rgba(162,116,44,.025) 93px 94px);animation:ritualLight 6s ease-in-out infinite alternate;}
.ritual-candle{position:absolute;z-index:1;bottom:34px;width:10px;height:86px;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#34230f,#b68134 42%,#5d3c14 74%,#1b1209);box-shadow:0 12px 10px rgba(0,0,0,.7);}
.ritual-candle::before{content:"";position:absolute;left:1px;top:-24px;width:8px;height:24px;border-radius:70% 20% 62% 28%;background:radial-gradient(circle at 50% 62%,#fff3bd 0 13%,#ffc052 30%,#b75a15 58%,transparent 72%);filter:drop-shadow(0 0 8px #e58b26);animation:ritualFlame 1.1s ease-in-out infinite alternate;transform-origin:50% 100%;}
.ritual-candle.left{left:55px}.ritual-candle.right{right:55px;height:70px}.ritual-candle.right::before{animation-delay:-.42s}
.ritual-smoke{position:absolute;z-index:1;left:50%;top:48%;width:430px;height:130px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(170,137,74,.08),transparent 67%);filter:blur(12px);animation:ritualSmoke 4.8s ease-in-out infinite alternate;}
.ritual-motes{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.ritual-motes i{position:absolute;left:var(--x);bottom:-8px;width:3px;height:3px;border-radius:50%;background:#f3cc78;box-shadow:0 0 7px #d89e3e;opacity:0;animation:ritualMote var(--duration) linear infinite;animation-delay:var(--delay)}
.ritual-object{position:absolute;z-index:3;left:50%;top:49%;width:290px;height:290px;transform:translate(-50%,-50%);display:grid;place-items:center;}
.ritual-ring{position:absolute;border:1px solid rgba(202,153,65,.55);border-radius:50%;box-shadow:0 0 16px rgba(168,112,32,.13),inset 0 0 14px rgba(168,112,32,.08);}
.ritual-ring.r1{inset:14px;animation:ritualSpin 13s linear infinite}.ritual-ring.r2{inset:42px;border-style:dashed;animation:ritualSpinReverse 9s linear infinite}.ritual-ring.r3{inset:70px;border-width:2px;animation:ritualPulse 2.4s ease-in-out infinite}
.ritual-ring.r1::before,.ritual-ring.r1::after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;background:#c89a47;transform:translateX(-50%) rotate(45deg);box-shadow:0 270px #8a622a;}
.ritual-ring.r1::after{left:0;top:50%;box-shadow:270px 0 #8a622a;}
.ritual-emblem{position:relative;z-index:3;display:block;width:180px;height:180px;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.18) contrast(1.12) saturate(.95) drop-shadow(0 10px 15px rgba(0,0,0,.82));animation:ritualBreathe 2.7s ease-in-out infinite;}
.ritual-glyphs{position:absolute;z-index:4;inset:0;pointer-events:none;}
.ritual-glyph{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:42px;height:42px;margin:-21px;border:1px solid rgba(210,164,74,.45);border-radius:50%;color:#e1bd6b;background:rgba(4,9,7,.78);font-size:18px;text-shadow:0 0 8px rgba(240,188,80,.45);transform:rotate(var(--angle)) translateY(-127px) rotate(calc(var(--angle) * -1));animation:ritualGlyph 1.8s ease-out both;animation-delay:var(--delay);}
.ritual-stage[data-kind="pillars"] .ritual-object{width:390px;height:260px;grid-template-columns:repeat(4,1fr);gap:14px;}
.ritual-pillar{position:relative;width:72px;height:186px;border:1px solid #8a6328;background:linear-gradient(90deg,#8a6229,#e4bf75 12%,#b98943 50%,#e4bf75 88%,#7a511e);box-shadow:0 12px 17px rgba(0,0,0,.64);transform:translateY(-210px);animation:ritualDrop .75s cubic-bezier(.22,.9,.32,1.2) forwards;animation-delay:var(--delay);}
.ritual-pillar::before{content:attr(data-mark);position:absolute;inset:16px 8px;display:grid;place-items:center;border:1px solid rgba(102,49,21,.38);color:#7a241e;font-size:36px;font-weight:600;background:rgba(221,184,118,.55);writing-mode:vertical-rl;}
.ritual-stage[data-kind="grid"] .ritual-object{width:250px;height:250px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;animation:ritualTilt 3s ease-in-out infinite alternate;}
.ritual-grid-cell{display:grid;place-items:center;border:1px solid #9d7435;color:#e1bd72;background:rgba(8,12,9,.84);font-size:24px;box-shadow:inset 0 0 12px rgba(190,138,47,.12);animation:ritualCell 1.8s ease-in-out infinite alternate;animation-delay:var(--delay);}
.ritual-stage[data-kind="scroll"] .ritual-object{width:330px;height:220px;background:linear-gradient(90deg,#8a5c25,#d2aa66 5%,#c49a58 50%,#d2aa66 95%,#79501f);border-radius:7px;box-shadow:0 20px 26px rgba(0,0,0,.65);transform:translate(-50%,-50%) rotateX(8deg);animation:ritualScroll 2.7s ease-in-out infinite alternate;}
.ritual-stage[data-kind="scroll"] .ritual-object::before{content:"คัมภีร์พยากรณ์";position:absolute;inset:20px;display:grid;place-items:center;border:1px solid rgba(85,45,17,.4);color:#6b301d;font-size:28px;letter-spacing:3px;text-shadow:0 1px rgba(255,226,172,.42);}
.ritual-stage.interactive-book .ritual-object::before{display:none}.ritual-book-page{position:absolute;inset:14px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(91,48,18,.38);color:#6b301d;background:linear-gradient(90deg,rgba(110,61,23,.1),rgba(255,226,166,.24),rgba(110,61,23,.1));font-size:21px;backface-visibility:hidden;transform-origin:left center;transform:rotateY(0);transition:transform .85s cubic-bezier(.2,.7,.25,1),opacity .6s ease;box-shadow:inset 0 0 18px rgba(100,53,20,.18)}.ritual-book-page b{font-weight:600}.ritual-book-page i{display:block;width:72%;height:1px;background:rgba(94,49,18,.34)}.ritual-book-page[data-page="2"]{transform:translateX(5px);filter:brightness(.94)}.ritual-book-page[data-page="3"]{transform:translateX(10px);filter:brightness(.88)}.ritual-stage.interactive-book[data-page="1"] .ritual-book-page[data-page="1"],.ritual-stage.interactive-book[data-page="2"] .ritual-book-page[data-page="1"],.ritual-stage.interactive-book[data-page="3"] .ritual-book-page[data-page="1"]{transform:rotateY(-168deg);opacity:.3}.ritual-stage.interactive-book[data-page="2"] .ritual-book-page[data-page="2"],.ritual-stage.interactive-book[data-page="3"] .ritual-book-page[data-page="2"]{transform:rotateY(-168deg);opacity:.3}.ritual-stage.interactive-book[data-page="3"] .ritual-book-page[data-page="3"]{transform:rotateY(-12deg);filter:brightness(1.15);box-shadow:inset 0 0 24px rgba(255,215,134,.3),0 0 28px rgba(210,151,53,.18)}
.ritual-stage[data-kind="name"] .ritual-object{width:430px;height:240px;display:flex;align-items:center;justify-content:center;gap:24px;}
.ritual-name-sheet{position:relative;display:grid;place-items:center;width:142px;height:190px;border:1px solid #9a6a2b;border-radius:4px;background:linear-gradient(90deg,#7d521f,#dfb76f 8%,#c79a54 50%,#e0b96f 92%,#77501f);color:#79261e;font-size:38px;font-weight:600;box-shadow:0 16px 22px rgba(0,0,0,.7),inset 0 0 0 8px rgba(91,48,18,.15);transform:translateY(-220px) rotate(-5deg);animation:ritualNameSheet .9s cubic-bezier(.2,.8,.3,1.15) forwards;animation-delay:var(--delay);}
.ritual-name-sheet:nth-child(2){transform:translateY(-220px) rotate(5deg);}
.ritual-name-sheet::after{content:"✦ ๑ ๙ ✦";position:absolute;left:12px;right:12px;bottom:18px;padding-top:9px;border-top:1px solid rgba(103,50,20,.35);text-align:center;color:#6c3d20;font-size:14px;letter-spacing:3px;}
.ritual-name-seal{position:absolute;z-index:5;left:50%;top:50%;display:grid;place-items:center;width:82px;height:82px;margin:-41px;border:4px double #8f2a22;border-radius:50%;color:#8f2a22;background:rgba(218,173,101,.9);font-size:45px;font-weight:700;box-shadow:0 8px 15px rgba(0,0,0,.55);opacity:0;transform:scale(2.8) rotate(-18deg);animation:ritualNameSeal .48s 1.25s cubic-bezier(.2,.9,.25,1.2) forwards;}
.ritual-stage[data-kind="sticks"]{background:radial-gradient(ellipse at 50% 54%,rgba(156,101,31,.2),transparent 34%),linear-gradient(180deg,#030907 0%,#020504 57%,#110904 100%)}
.ritual-stage[data-kind="sticks"] .ritual-stick-set{top:52%;width:440px;height:390px;display:block;transform:translate(-50%,-50%);filter:drop-shadow(0 23px 19px rgba(0,0,0,.82));transform-origin:50% 84%}
.ritual-stick-cloth{position:absolute;z-index:-1;left:50%;bottom:-12px;width:400px;height:106px;margin-left:-200px;border-radius:50%;background:radial-gradient(ellipse,rgba(111,42,25,.56),rgba(39,15,10,.42) 48%,transparent 73%);transform:rotateX(66deg);box-shadow:0 17px 31px rgba(0,0,0,.78)}
.ritual-stick-shadow{position:absolute;z-index:0;left:50%;bottom:1px;width:270px;height:43px;margin-left:-135px;border-radius:50%;background:rgba(0,0,0,.84);filter:blur(10px);transform:scaleX(1.18)}
.ritual-stick-motion-layer{position:absolute;z-index:5;inset:0;clip-path:inset(-82px 0 270px 0);pointer-events:none}
.ritual-stick-pot{position:absolute;z-index:4;left:50%;bottom:0;width:270px;height:326px;margin-left:-135px;background:url("./assets/ritual-siam-pot-filled-25d-v1.png") center bottom/contain no-repeat;filter:drop-shadow(0 20px 18px rgba(0,0,0,.82)) drop-shadow(0 0 9px rgba(202,139,45,.18));transform-origin:50% 88%;will-change:transform,filter}
.ritual-stick-pot::before,.ritual-stick-pot::after,.ritual-pot-rim,.ritual-pot-emblem,.ritual-pot-band,.ritual-pot-foot{display:none}
.ritual-stick{position:absolute;z-index:2;bottom:218px;left:calc(50% - 9px + var(--stick-x,0px));width:18px;height:var(--stick-height);box-sizing:border-box;background:url("./assets/ritual-siam-stick-25d-v1.png") center bottom/contain no-repeat;filter:brightness(var(--stick-tone,1)) drop-shadow(1px 4px 3px rgba(0,0,0,.72));opacity:0;transform-origin:50% calc(100% + 18px);transform:rotate(var(--angle)) translateY(var(--rise));will-change:transform,filter,opacity}
.ritual-stick::before{display:none}
.ritual-stick i{position:absolute;left:50%;top:42px;color:#4d1d12;font-size:6px;font-style:normal;font-weight:700;letter-spacing:-.5px;writing-mode:vertical-rl;transform:translateX(-50%);opacity:.68;text-shadow:0 1px rgba(255,211,129,.22)}
.ritual-stick-glint{position:absolute;z-index:8;left:50%;top:42px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:#ffe3a2;box-shadow:0 0 22px 12px rgba(227,170,66,.32);opacity:0;pointer-events:none}
.ritual-stage.interactive-sticks.shake-hit .ritual-stick-set{animation:ritualPotHandShake .58s cubic-bezier(.36,.03,.2,.98)}
.ritual-stage.interactive-sticks.shake-hit .ritual-stick-pot{background-image:url("./assets/ritual-siam-pot-25d-v1.png");animation:ritualPotWeight .58s cubic-bezier(.36,.03,.2,.98)}
.ritual-stage.interactive-sticks.shake-hit .ritual-stick{filter:brightness(1.12) saturate(1.05) drop-shadow(1px 5px 4px rgba(0,0,0,.78));animation:ritualStickRattle .58s cubic-bezier(.34,.02,.18,.98);animation-delay:var(--shake-delay)}
.ritual-stage.interactive-sticks.shake-hit .ritual-stick-shadow{animation:ritualStickShadow .58s ease-in-out}
.ritual-stage.interactive-sticks.shake-hit.is-revealed .ritual-stick-pot{background-image:url("./assets/ritual-siam-pot-filled-25d-v1.png")}
.ritual-stage.interactive-sticks.shake-hit.is-revealed .ritual-stick:not(.is-oracle){animation:none;opacity:0}
.ritual-stage.interactive-sticks.is-revealed .ritual-stick.is-oracle{z-index:7;background-image:url("./assets/ritual-siam-stick-25d-v1.png");animation:ritualOracleRise 1.35s cubic-bezier(.18,.76,.2,1.08) forwards;filter:brightness(1.34) saturate(1.15) drop-shadow(0 0 11px rgba(238,180,71,.9)) drop-shadow(2px 6px 6px rgba(0,0,0,.8))}
.ritual-stage.interactive-sticks.is-revealed .ritual-stick-glint{animation:ritualOracleGlint 1.2s .38s ease-out both}
.ritual-stage.interactive-sticks.is-revealed .ritual-pot-emblem{filter:brightness(1.28);box-shadow:inset 0 0 11px rgba(76,30,9,.35),0 0 18px rgba(223,164,64,.44)}
.ritual-stage[data-kind="pendulum"] .ritual-object{top:45%;height:280px;transform-origin:50% 0;animation:ritualPendulum 1.35s ease-in-out infinite alternate;}
.ritual-stage[data-kind="pendulum"] .ritual-object::before{content:"";position:absolute;left:50%;top:0;width:2px;height:190px;background:linear-gradient(#e1bc6d,#735023);}
.ritual-stage[data-kind="pendulum"] .ritual-object::after{content:"";position:absolute;left:calc(50% - 25px);top:185px;width:50px;height:64px;border-radius:50% 50% 58% 58%;background:radial-gradient(circle at 38% 30%,#f2d08a,#9a6827 35%,#3e260e 76%);clip-path:polygon(50% 0,100% 42%,72% 100%,28% 100%,0 42%);filter:drop-shadow(0 8px 8px #000);}
.ritual-compass{position:absolute;z-index:2;left:50%;top:48%;width:300px;height:300px;margin:-150px;border:1px solid rgba(185,135,51,.4);border-radius:50%;box-shadow:inset 0 0 28px rgba(184,124,36,.12),0 0 20px rgba(184,124,36,.08);animation:ritualCompassGlow 2.6s ease-in-out infinite alternate}.ritual-compass::before,.ritual-compass::after{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,#8b622a,transparent)}.ritual-compass::after{transform:rotate(90deg)}.ritual-compass i{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:58px;height:26px;margin:-13px -29px;color:#b7944d;font-size:12px;font-style:normal;transform:rotate(var(--angle)) translateY(-146px) rotate(calc(var(--angle) * -1))}.ritual-stage.interactive-pendulum.is-locked .ritual-object{animation:none;transform:translate(-50%,-50%) rotate(var(--lock-angle));filter:drop-shadow(0 0 14px rgba(229,180,78,.5))}.ritual-stage.interactive-pendulum.is-locked .ritual-compass{box-shadow:inset 0 0 45px rgba(211,155,55,.26),0 0 30px rgba(211,155,55,.18)}
.ritual-stage[data-kind="tarot"]{height:455px}.ritual-stage[data-kind="tarot"] .ritual-object{top:43%;width:360px;height:220px;}
.ritual-deck-card{position:absolute;width:92px;height:154px;border:2px solid #ad7e36;border-radius:6px;background:radial-gradient(circle,#875c22 0 4%,transparent 5%),repeating-conic-gradient(from 45deg,#111814 0 12deg,#68491e 13deg 17deg,#111814 18deg 30deg);box-shadow:0 12px 22px rgba(0,0,0,.72),inset 0 0 0 5px #080b09,inset 0 0 0 6px #b18442;animation:ritualShuffle 1.4s cubic-bezier(.4,.02,.26,1) infinite;animation-delay:var(--delay);}
.ritual-tarot-picker{position:absolute;z-index:7;inset:62px 34px 22px;display:grid;grid-template-columns:repeat(11,1fr);gap:10px;align-content:center;padding:12px;opacity:0;transform:translateY(28px);pointer-events:none;transition:opacity .45s ease,transform .45s ease;}
.ritual-tarot-picker.ready{opacity:1;transform:none;pointer-events:auto;}
.ritual-tarot-card{position:relative;height:112px;border:1px solid #9f7332;border-radius:5px;background:radial-gradient(circle,#a57a35 0 3%,transparent 4%),repeating-conic-gradient(from 45deg,#0c120f 0 12deg,#5d421b 13deg 17deg,#0c120f 18deg 30deg);box-shadow:0 8px 12px rgba(0,0,0,.62),inset 0 0 0 3px #070a08,inset 0 0 0 4px #a47a38;cursor:pointer;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;}
.ritual-tarot-card:hover,.ritual-tarot-card:focus-visible{transform:translateY(-10px);filter:brightness(1.35);outline:2px solid #efcb78;outline-offset:2px;}
.ritual-tarot-card.selected{transform:translateY(-13px) rotateY(8deg);filter:brightness(1.5);box-shadow:0 0 18px rgba(231,179,75,.58),0 12px 14px rgba(0,0,0,.7);}
.ritual-tarot-card span{position:absolute;right:-5px;top:-8px;display:none;width:23px;height:23px;border-radius:50%;background:#b1843d;color:#090806;font-weight:700;place-items:center;}
.ritual-tarot-card.selected span{display:grid;}
.ritual-tarot-picker.reshuffle .ritual-tarot-card{animation:tarotReshuffle .68s cubic-bezier(.2,.78,.25,1) both;animation-delay:calc((var(--order,0)) * .02s)}
.ritual-tarot-warning{position:absolute;z-index:20;left:50%;top:50%;width:min(620px,calc(100% - 48px));box-sizing:border-box;padding:24px 28px 22px;border:1px solid #a77630;border-radius:4px;color:#d9b467;background:radial-gradient(circle at 50% 10%,rgba(139,91,28,.23),transparent 35%),linear-gradient(180deg,rgba(11,15,12,.98),rgba(2,5,4,.99));box-shadow:inset 0 0 0 5px #040605,inset 0 0 0 6px rgba(166,119,45,.48),0 28px 55px rgba(0,0,0,.88);opacity:0;transform:translate(-50%,-46%) scale(.94);transition:opacity .28s ease,transform .34s ease;}
.ritual-tarot-warning.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.ritual-tarot-warning.confirmed{filter:brightness(1.25);box-shadow:inset 0 0 0 5px #040605,inset 0 0 0 6px #b88436,0 0 60px rgba(204,145,48,.32)}
.ritual-tarot-warning h3{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(173,126,48,.42);text-align:center;color:#f0cb7d;font-size:24px}.ritual-tarot-warning p{margin:7px 0;color:#c3a25d;font-size:15px;line-height:1.6}.ritual-tarot-warning .ritual-tarot-caution{color:#b87d59}.ritual-tarot-warning-seal{float:left;display:grid;place-items:center;width:58px;height:58px;margin:2px 18px 8px 0;border:4px double #9d3025;border-radius:50%;color:#9d3025;background:#cfa563;font-size:28px;font-weight:700;box-shadow:0 8px 15px rgba(0,0,0,.5)}
.ritual-tarot-warning-actions{clear:both;display:flex;justify-content:center;gap:14px;margin-top:17px}.ritual-tarot-warning-actions button{min-height:43px;padding:7px 18px;border:1px solid #9c7131;border-radius:3px;background:linear-gradient(#342512,#0b0a07);color:#e8c474;font:inherit;font-size:15px;cursor:pointer;transition:filter .2s ease,transform .2s ease}.ritual-tarot-warning-actions button:hover,.ritual-tarot-warning-actions button:focus-visible{filter:brightness(1.35);transform:translateY(-2px);outline:2px solid #ecc978;outline-offset:2px}.ritual-tarot-warning-actions button:last-child{border-color:#c29242;box-shadow:0 0 18px rgba(205,149,52,.18)}

.ritual-stage[data-kind="dream"]{height:430px;background:radial-gradient(circle at 50% 24%,rgba(122,131,149,.16),transparent 32%),linear-gradient(180deg,#03070a,#07100f 55%,#050403)}
.ritual-dream-scene{position:absolute;z-index:2;inset:0;overflow:hidden}.ritual-dream-backdrop{position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;opacity:.2;filter:brightness(.58) saturate(.62) contrast(1.15);transform:scale(1.05)}
.ritual-dream-moon{position:absolute;z-index:3;left:50%;top:76px;width:86px;height:86px;margin-left:-43px;border-radius:50%;background:#e8d49a;box-shadow:inset 18px -8px 0 1px #07100f,0 0 28px rgba(231,216,167,.35),0 0 80px rgba(196,181,130,.18);opacity:.18;transform:translateY(-36px) scale(.7);transition:opacity .8s ease,transform 1.1s ease,box-shadow .8s ease}
.ritual-dream-symbols{position:absolute;z-index:5;left:50%;top:44%;width:260px;height:260px;margin:-130px}.ritual-dream-symbols i{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:82px;height:28px;margin:-14px -41px;border:1px solid rgba(174,149,90,.36);border-radius:999px;color:#c3b17d;background:rgba(4,10,10,.82);font-size:11px;font-style:normal;opacity:0;transform:rotate(var(--angle)) translateY(-115px) rotate(calc(var(--angle) * -1)) scale(.35);filter:blur(3px)}
.ritual-dream-book{position:absolute;z-index:7;left:50%;bottom:9px;display:flex;width:min(390px,calc(100% - 24px));height:125px;transform:translateX(-50%) scaleX(.08);transform-origin:center;opacity:.15;filter:drop-shadow(0 18px 17px #000);transition:transform 1s cubic-bezier(.2,.8,.25,1),opacity .7s ease}.ritual-dream-book>span{position:relative;flex:1;box-sizing:border-box;padding:22px 16px;border:1px solid #86602c;color:#63341e;background:linear-gradient(105deg,#8b5d2a,#d7b570 8%,#c59b58 78%,#785023);text-align:center}.ritual-dream-book>span:first-child{border-radius:30% 2px 2px 12%;transform:skewY(2deg)}.ritual-dream-book>span:last-child{border-radius:2px 30% 12% 2px;transform:skewY(-2deg)}.ritual-dream-book b{font-size:17px}.ritual-dream-book i{display:block;width:74%;height:1px;margin:10px auto;background:rgba(87,42,16,.35)}.ritual-dream-book em{font-size:10px;font-style:normal}.ritual-dream-veil{position:absolute;z-index:10;inset:0;background:linear-gradient(90deg,rgba(0,3,4,.96),rgba(9,14,15,.78) 47%,rgba(0,3,4,.96));transition:opacity 1.15s ease,transform 1.15s ease}
.interactive-dream.ceremony-step-1 .ritual-dream-veil{opacity:.25;transform:scaleX(1.35)}.interactive-dream.ceremony-step-1 .ritual-dream-moon{opacity:1;transform:none;box-shadow:inset 18px -8px 0 1px #07100f,0 0 42px rgba(244,226,167,.6),0 0 100px rgba(196,181,130,.28)}
.interactive-dream.ceremony-step-2 .ritual-dream-symbols i{animation:dreamSymbolGather 1s cubic-bezier(.16,.82,.24,1.12) both;animation-delay:var(--delay)}.interactive-dream.ceremony-step-2 .ritual-dream-backdrop{animation:dreamBackdrop 4s ease-in-out infinite alternate}
.interactive-dream.ceremony-step-3 .ritual-dream-book{opacity:1;transform:translateX(-50%) scaleX(1)}.interactive-dream.ceremony-step-3 .ritual-dream-symbols{animation:dreamSymbolsIntoBook .95s ease-in forwards}.interactive-dream.ceremony-step-3 .ritual-dream-moon{filter:brightness(1.2)}

.ritual-name-orbit{position:absolute;z-index:1;left:50%;top:50%;width:280px;height:280px;margin:-140px;border:1px solid rgba(194,144,55,.48);border-radius:50%;opacity:0;transform:scale(.55)}.ritual-name-orbit::before{content:"";position:absolute;inset:34px;border:1px dashed rgba(213,164,67,.46);border-radius:50%}.ritual-name-orbit i{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;margin:-15px;border:1px solid rgba(198,146,54,.48);border-radius:50%;color:#d7ad58;background:#07100d;font-size:13px;font-style:normal;transform:rotate(var(--angle)) translateY(-138px) rotate(calc(var(--angle) * -1))}
.ritual-name-quill{position:absolute;z-index:7;right:22px;bottom:8px;color:#e2b85f;font-size:58px;text-shadow:0 8px 8px #000;opacity:0;transform:rotate(-24deg) translate(70px,-35px)}
.interactive-name .ritual-name-sheet{animation:none;opacity:0}.interactive-name .ritual-name-seal{animation:none;opacity:0}.interactive-name.ceremony-step-1 .ritual-name-sheet{animation:ritualNameSheet .9s cubic-bezier(.2,.8,.3,1.15) forwards;animation-delay:var(--delay);opacity:1}.interactive-name.ceremony-step-1 .ritual-name-quill{animation:nameRitualQuill 1.6s ease-in-out both;opacity:1}.interactive-name.ceremony-step-2 .ritual-name-orbit{animation:nameOrbitAppear .75s ease-out forwards,ritualSpin 15s .75s linear infinite}.interactive-name.ceremony-step-3 .ritual-name-seal{animation:ritualNameSeal .58s cubic-bezier(.2,.9,.25,1.2) forwards}.interactive-name.ceremony-step-3 .ritual-name-orbit{opacity:1;animation:ritualSpin 15s linear infinite;box-shadow:0 0 30px rgba(216,158,54,.35)}

.ritual-cultural-layer{position:absolute;z-index:8;inset:0;pointer-events:none}.ritual-cultural-motif{position:absolute;z-index:0;left:50%;top:49%;width:340px;height:340px;margin:-170px;border:1px solid color-mix(in srgb,var(--ritual-accent,#b68234) 42%,transparent);border-radius:50%;opacity:0;transform:scale(.65) rotate(-18deg);transition:opacity .7s ease,transform 1.1s cubic-bezier(.16,.8,.24,1),filter .8s ease}.ritual-cultural-motif i{position:absolute;left:50%;top:50%;display:block;width:10px;height:24px;margin:-12px -5px;border:1px solid var(--ritual-accent,#b68234);background:var(--ritual-surface,rgba(75,48,18,.75));transform:rotate(var(--angle)) translateY(-166px) rotate(calc(var(--angle) * -1));box-shadow:0 0 9px var(--ritual-glow,rgba(219,159,55,.25))}.ritual-cultural-mark{position:absolute;z-index:2;left:50%;top:49%;display:grid;place-items:center;min-width:92px;height:92px;padding:0 12px;box-sizing:border-box;border:4px double var(--ritual-accent,#b68234);border-radius:50%;color:var(--ritual-accent,#d8ad57);background:radial-gradient(circle,var(--ritual-surface,rgba(75,48,18,.92)),rgba(3,7,6,.95) 70%);font-size:24px;font-weight:600;letter-spacing:1px;text-shadow:0 0 14px var(--ritual-glow,rgba(219,159,55,.5));box-shadow:0 14px 26px rgba(0,0,0,.75),0 0 35px var(--ritual-glow,rgba(219,159,55,.18));opacity:0;transform:translate(-50%,-50%) scale(2.4) rotate(-18deg)}
.ritual-oracle-lines{position:absolute;left:50%;bottom:28px;width:min(410px,70%);transform:translateX(-50%)}.ritual-oracle-lines i{display:block;width:0;height:1px;margin:9px auto;background:linear-gradient(90deg,transparent,var(--ritual-accent,#c2923f),transparent);box-shadow:0 0 7px var(--ritual-glow,rgba(219,159,55,.35));transition:width .75s ease}.ritual-oracle-lines i:nth-child(2){transition-delay:.14s}.ritual-oracle-lines i:nth-child(3){transition-delay:.28s}
.interactive-world .ritual-object{opacity:.28;filter:brightness(.55) saturate(.65);transition:opacity .7s ease,filter .8s ease,transform .8s ease}.interactive-world .ritual-ring,.interactive-world .ritual-grid-cell{animation-play-state:paused}.interactive-world .ritual-book-page{transition-duration:.9s}
.interactive-world.ceremony-step-1 .ritual-object{opacity:.82;filter:brightness(.95) saturate(.85)}.interactive-world.ceremony-step-1 .ritual-pillar{animation:ritualDrop .75s cubic-bezier(.22,.9,.32,1.2) forwards;animation-delay:var(--delay)}
.interactive-world.ceremony-step-2 .ritual-object{opacity:1;filter:brightness(1.25) saturate(1.05)}.interactive-world.ceremony-step-2 .ritual-ring{animation-play-state:running}.interactive-world.ceremony-step-2 .ritual-grid-cell{animation-play-state:running}.interactive-world.ceremony-step-2 .ritual-emblem{filter:brightness(1.45) contrast(1.15) drop-shadow(0 0 22px var(--ritual-glow,rgba(218,156,49,.52)))}.interactive-world.ceremony-step-2 .ritual-cultural-motif{opacity:.58;transform:scale(1) rotate(0)}
.interactive-world.ceremony-step-3 .ritual-cultural-mark{animation:culturalSeal .72s cubic-bezier(.16,.9,.24,1.15) forwards}.interactive-world.ceremony-step-3 .ritual-oracle-lines i{width:100%}.interactive-world.ceremony-step-3 .ritual-object{filter:brightness(1.5) saturate(1.12);text-shadow:0 0 12px var(--ritual-glow,rgba(218,156,49,.45))}
.interactive-world.ceremony-step-3 .ritual-cultural-motif{opacity:.88;transform:scale(1.04);filter:drop-shadow(0 0 16px var(--ritual-glow,rgba(218,156,49,.4)))}
.ritual-stage[data-profile="bazi"]{--ritual-accent:#d7a04c;--ritual-glow:rgba(198,55,25,.46);--ritual-surface:rgba(116,38,19,.88);background:radial-gradient(circle at 50% 45%,rgba(142,49,22,.2),transparent 42%),linear-gradient(#090604,#130805)}
.ritual-stage[data-profile="ziwei"]{--ritual-accent:#d6a65e;--ritual-glow:rgba(132,86,190,.46);--ritual-surface:rgba(58,34,91,.9);background:radial-gradient(circle,rgba(88,54,125,.22),transparent 46%),#040507}
.ritual-stage[data-profile="vedic"]{--ritual-accent:#efbe62;--ritual-glow:rgba(230,113,28,.45);--ritual-surface:rgba(105,47,14,.92);background:radial-gradient(circle,rgba(183,78,22,.2),transparent 45%),#080504}
.ritual-stage[data-profile="nadi"]{--ritual-accent:#c79957;--ritual-glow:rgba(173,109,46,.4);--ritual-surface:rgba(93,55,22,.93);background:radial-gradient(ellipse,rgba(119,76,31,.21),transparent 48%),#080604}
.ritual-stage[data-profile="hellenistic"]{--ritual-accent:#d0aa6a;--ritual-glow:rgba(95,132,171,.38);--ritual-surface:rgba(57,65,75,.92);background:radial-gradient(circle,rgba(65,86,110,.2),transparent 45%),#040607}
.ritual-stage[data-profile="western"]{--ritual-accent:#d7bf7d;--ritual-glow:rgba(64,125,198,.5);--ritual-surface:rgba(25,57,87,.94);background:radial-gradient(circle,rgba(37,88,140,.22),transparent 48%),#030609}
.ritual-stage[data-profile="kyusei"]{--ritual-accent:#d5b65d;--ritual-glow:rgba(65,150,100,.45);--ritual-surface:rgba(25,78,52,.92);background:radial-gradient(circle,rgba(33,105,66,.18),transparent 47%),#030705}
.ritual-stage[data-profile="tibetan"]{--ritual-accent:#e0ae56;--ritual-glow:rgba(190,42,32,.48);--ritual-surface:rgba(110,24,24,.94);background:radial-gradient(circle,rgba(150,36,29,.2),transparent 46%),#080404}
.ritual-stage[data-profile="arabic"]{--ritual-accent:#d4b56d;--ritual-glow:rgba(37,152,145,.42);--ritual-surface:rgba(17,77,75,.93);background:radial-gradient(circle,rgba(25,113,108,.19),transparent 46%),#030707}
.ritual-stage[data-profile="maya"]{--ritual-accent:#d2a954;--ritual-glow:rgba(75,154,112,.44);--ritual-surface:rgba(38,82,57,.94);background:radial-gradient(circle,rgba(52,111,76,.2),transparent 48%),#030705}
.ritual-stage[data-profile="babylonian"]{--ritual-accent:#c99455;--ritual-glow:rgba(187,98,44,.42);--ritual-surface:rgba(91,48,24,.94);background:radial-gradient(ellipse,rgba(131,68,34,.22),transparent 48%),#080504}
.motif-bazi{width:300px;height:300px;margin:-150px;border-style:dashed}.motif-bazi i{width:34px;height:34px;margin:-17px;border-radius:50%;transform:rotate(var(--angle)) translateY(-145px) rotate(calc(var(--angle) * -1))}.motif-bazi i:nth-child(n+6){display:none}.motif-bazi i:nth-child(1){background:#2f7049}.motif-bazi i:nth-child(2){background:#9e3121}.motif-bazi i:nth-child(3){background:#8b6530}.motif-bazi i:nth-child(4){background:#9b9a8b}.motif-bazi i:nth-child(5){background:#235a78}
.motif-ziwei{border:2px double rgba(153,96,203,.55);transform:scale(.65) rotate(15deg)}.motif-ziwei i{width:34px;height:18px;margin:-9px -17px;border-radius:3px;background:rgba(45,24,70,.88);transform:rotate(var(--angle)) translateY(-164px) rotate(calc(var(--angle) * -1))}
.motif-vedic{border:0}.motif-vedic i{width:42px;height:94px;margin:-47px -21px;border-radius:60% 60% 48% 48%;background:linear-gradient(180deg,rgba(211,121,34,.42),rgba(111,46,15,.08));transform:rotate(var(--angle)) translateY(-126px);transform-origin:50% 100%}
.motif-nadi{width:390px;height:250px;margin:-125px -195px;border:1px solid rgba(183,126,61,.4);border-radius:12px}.motif-nadi i{left:8%;right:8%;width:84%;height:1px;margin:0;border:0;background:linear-gradient(90deg,transparent,#b88645,transparent);transform:none}.motif-nadi i:nth-child(1){top:10%}.motif-nadi i:nth-child(2){top:17%}.motif-nadi i:nth-child(3){top:24%}.motif-nadi i:nth-child(4){top:31%}.motif-nadi i:nth-child(5){top:38%}.motif-nadi i:nth-child(6){top:45%}.motif-nadi i:nth-child(7){top:52%}.motif-nadi i:nth-child(8){top:59%}.motif-nadi i:nth-child(9){top:66%}.motif-nadi i:nth-child(10){top:73%}.motif-nadi i:nth-child(11){top:80%}.motif-nadi i:nth-child(12){top:87%}
.motif-hellenistic{border:5px double rgba(151,174,194,.35)}.motif-hellenistic i{width:2px;height:72px;margin:-36px -1px;border:0;background:linear-gradient(transparent,#c9aa6e);transform:rotate(var(--angle)) translateY(-128px);transform-origin:50% 100%}
.motif-western{border-style:dashed}.motif-western i{left:50%;top:50%;width:1px;height:300px;margin:-150px 0;border:0;background:linear-gradient(transparent,rgba(96,157,215,.68),transparent);transform:rotate(var(--angle))}.motif-western i:nth-child(3n){background:linear-gradient(transparent,rgba(187,83,67,.65),transparent)}
.motif-kyusei{width:300px;height:300px;margin:-150px;border-radius:4px;transform:scale(.65) rotate(-45deg)}.motif-kyusei i{width:74px;height:74px;margin:-37px;border-color:rgba(80,157,102,.55);background:rgba(20,65,42,.18)}
.motif-tibetan{border:4px double rgba(188,52,42,.5)}.motif-tibetan i{width:25px;height:25px;margin:-13px;border-radius:4px;transform:rotate(var(--angle)) translateY(-165px) rotate(45deg);background:rgba(118,30,27,.72)}
.motif-arabic{border:2px dotted rgba(66,171,162,.62)}.motif-arabic i{width:22px;height:22px;margin:-11px;border-radius:50% 0 50% 50%;background:rgba(21,89,84,.72);transform:rotate(var(--angle)) translateY(-166px) rotate(calc(var(--angle) * -1 + 45deg))}
.motif-maya{border:7px double rgba(89,157,112,.48)}.motif-maya i{width:25px;height:25px;margin:-13px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#315f43;transform:rotate(var(--angle)) translateY(-169px) rotate(calc(var(--angle) * -1))}
.motif-babylonian{width:380px;height:250px;margin:-125px -190px;border-radius:5px;background:repeating-linear-gradient(180deg,transparent 0 24px,rgba(172,101,48,.08) 25px 26px)}.motif-babylonian i{width:18px;height:34px;margin:-17px -9px;border:0;background:#a2693d;clip-path:polygon(0 0,100% 50%,0 100%,28% 50%);transform:rotate(var(--angle)) translateY(-156px) rotate(calc(var(--angle) * -1))}
.ritual-stage[data-profile="nadi"] .ritual-object::before{content:"คัมภีร์ใบลานนาดี"}.ritual-stage[data-profile="babylonian"] .ritual-object::before{content:"แผ่นจารดาราศาสตร์"}.ritual-stage[data-profile="arabic"] .ritual-emblem{filter:hue-rotate(18deg) brightness(1.12)}.ritual-stage[data-profile="western"] .ritual-glyph{border-color:rgba(112,162,214,.48)}.ritual-stage[data-profile="tibetan"] .ritual-grid-cell{border-color:#a84a32}.ritual-stage[data-profile="maya"] .ritual-grid-cell{border-radius:50%;clip-path:polygon(50% 0,92% 25%,92% 75%,50% 100%,8% 75%,8% 25%)}
.interactive-book[data-page="3"]{box-shadow:inset 0 0 55px rgba(212,156,52,.28),0 0 36px rgba(201,143,45,.22)}.interactive-sticks.is-revealed{box-shadow:inset 0 0 55px rgba(176,44,24,.2),0 0 32px rgba(205,145,43,.2)}.interactive-pendulum.is-locked{box-shadow:inset 0 0 60px rgba(207,153,53,.22),0 0 34px rgba(207,153,53,.18)}
.ritual-profile-backdrop{position:absolute;z-index:0;inset:-7%;width:114%;height:114%;object-fit:cover;opacity:.13;filter:brightness(.58) saturate(.7) sepia(.22) contrast(1.12);animation:profileBackdropBreath 6s ease-in-out infinite alternate}.interactive-book[data-profile="phromchat"] .ritual-profile-backdrop{opacity:.18}.interactive-sticks.is-revealed .ritual-profile-backdrop,.interactive-pendulum.is-locked .ritual-profile-backdrop{opacity:.23;filter:brightness(.7) saturate(.85) sepia(.16)}
.ritual-status{position:relative;z-index:4;min-height:27px;margin:16px 28px 5px;text-align:center;color:#dbb96f;font-size:17px;line-height:1.5;}
.ritual-progress{position:relative;z-index:4;width:min(620px,80%);height:7px;margin:0 auto 12px;padding:1px;border:1px solid #70501f;border-radius:999px;background:#050705;overflow:hidden;}
.ritual-progress span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#79521e,#e5bb66,#8b5c20);box-shadow:0 0 9px rgba(225,177,79,.52);transition:width .65s ease;}
.ritual-action{position:relative;z-index:5;display:block;min-width:230px;min-height:48px;margin:10px auto 0;padding:7px 22px;border:1px solid #a07939;border-radius:3px;background:linear-gradient(#392815,#0d0b08);color:#f1ce82;font-size:19px;cursor:pointer;box-shadow:inset 0 0 0 3px #080a08,inset 0 0 0 4px rgba(184,135,55,.38),0 8px 20px rgba(0,0,0,.45);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.ritual-action:hover,.ritual-action:focus-visible{transform:translateY(-2px);filter:brightness(1.3);outline:2px solid #edca79;outline-offset:3px;box-shadow:inset 0 0 0 3px #080a08,inset 0 0 0 4px #c79645,0 0 24px rgba(224,169,68,.28),0 10px 22px rgba(0,0,0,.52)}.ritual-action:active{transform:translateY(1px) scale(.985)}
.ritual-action[hidden]{display:none}.ritual-action:disabled{opacity:.48;cursor:not-allowed;}
.reading-tarot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:8px 0 22px;perspective:1000px;}
.reading-tarot-card{position:relative;min-height:520px;padding:16px 16px 18px;border:1px solid #9c7231;border-radius:5px;background:radial-gradient(circle at 50% 12%,rgba(151,105,35,.2),transparent 34%),#07100d;box-shadow:inset 0 0 0 4px #030504,inset 0 0 0 5px #5f451f,0 10px 20px rgba(0,0,0,.42);animation:readingFlip .72s cubic-bezier(.2,.8,.25,1) both;animation-delay:var(--delay);transform-origin:center;}
.reading-tarot-figure{position:relative;width:132px;margin:0 auto 13px;text-align:center}.reading-tarot-image{display:block;width:132px;height:220px;border-radius:8px;object-fit:cover;filter:drop-shadow(0 10px 10px rgba(0,0,0,.62)) brightness(1.08)}.reading-tarot-symbol{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:66px;height:66px;margin:-41px -33px 0;border:1px solid rgba(235,194,109,.76);border-radius:50%;color:#f2cf80;background:rgba(3,8,7,.72);font-size:36px;text-shadow:0 0 15px rgba(245,196,91,.72);box-shadow:0 0 24px rgba(191,131,38,.28)}.reading-tarot-figure figcaption{margin-top:7px;color:#9d8248;font-size:12px}
.reading-tarot-card h3{margin:0 0 9px;text-align:center;font-size:18px!important}.reading-tarot-card p{font-size:14px;line-height:1.72;text-align:left;white-space:pre-line;}
.name-reading-stage{position:relative;width:520px;height:328px;overflow:hidden;border:1px solid rgba(151,107,41,.68);background:radial-gradient(circle at 50% 45%,rgba(113,75,23,.2),transparent 39%),linear-gradient(180deg,#06100d,#020504 70%,#0b0804);box-shadow:inset 0 0 35px rgba(0,0,0,.8);isolation:isolate;}
.name-reading-stage::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 37px,rgba(190,140,52,.08) 38px 39px);animation:nameStageGlow 4s ease-in-out infinite alternate;}
.name-orbit{position:absolute;left:50%;top:50%;width:248px;height:248px;margin:-124px;border:1px solid rgba(199,148,59,.62);border-radius:50%;box-shadow:0 0 24px rgba(181,121,34,.12),inset 0 0 20px rgba(181,121,34,.08);animation:ritualSpin 18s linear infinite;}
.name-orbit::before,.name-orbit::after{content:"";position:absolute;inset:27px;border:1px dashed rgba(219,171,75,.44);border-radius:50%;animation:ritualSpinReverse 10s linear infinite;}
.name-orbit::after{inset:64px;border-style:solid;box-shadow:inset 0 0 22px rgba(177,113,29,.2);}
.name-stage-emblem{position:absolute;left:50%;top:50%;width:146px;height:146px;transform:translate(-50%,-50%);object-fit:contain;filter:brightness(.98) sepia(.08);opacity:.72;animation:ritualBreathe 3s ease-in-out infinite;}
.name-stage-monogram{position:absolute;z-index:3;left:50%;top:50%;width:106px;height:106px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(219,169,69,.65);border-radius:50%;color:#e8c276;background:rgba(4,9,7,.72);font-size:37px;font-weight:600;letter-spacing:2px;text-shadow:0 0 12px rgba(231,179,75,.48);}
.name-stage-glyph{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:34px;height:34px;margin:-17px;border:1px solid rgba(188,139,54,.4);border-radius:50%;color:#cda755;background:#07100c;font-size:15px;transform:rotate(var(--angle)) translateY(-145px) rotate(calc(var(--angle) * -1));animation:nameGlyphPulse 2.2s ease-in-out infinite;animation-delay:var(--delay);}
.name-stage-quill{position:absolute;z-index:4;right:65px;bottom:42px;color:#dfb864;font-size:68px;line-height:1;filter:drop-shadow(0 8px 7px #000);transform-origin:75% 80%;animation:nameQuill 2.6s ease-in-out infinite;}
.name-stage-line{position:absolute;z-index:2;left:84px;right:84px;bottom:58px;height:1px;background:linear-gradient(90deg,transparent,#b78737 20%,#e0bb6d 50%,#b78737 80%,transparent);transform-origin:left;animation:nameInkLine 2.6s ease-in-out infinite;}
.ritual-stage[data-kind="thai-ritual"]{height:430px;background:radial-gradient(ellipse at 50% 37%,rgba(137,84,20,.2),transparent 40%),linear-gradient(180deg,#020504,#050806 57%,#120a04);}
.ritual-thai-scene{position:absolute;z-index:2;inset:0;overflow:hidden;isolation:isolate;}
.ritual-thai-backdrop{position:absolute;z-index:-2;inset:-6%;width:112%;height:112%;object-fit:cover;opacity:.16;filter:sepia(.35) saturate(.75) brightness(.55) contrast(1.22);transform:scale(1.04);animation:thaiBackdropBreath 7s ease-in-out infinite alternate;}
.ritual-thai-halo{position:absolute;z-index:-1;left:50%;top:39%;width:360px;height:360px;margin:-180px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 34px,rgba(204,151,59,.08) 35px 36px),radial-gradient(circle,rgba(222,164,60,.12),transparent 62%);box-shadow:0 0 70px rgba(184,119,29,.12);opacity:.35;animation:thaiHalo 3.8s ease-in-out infinite alternate;}
.ritual-thai-wheel{position:absolute;z-index:2;left:50%;top:40%;width:268px;height:268px;margin:-134px;opacity:.22;filter:brightness(.62) saturate(.75);transform:scale(.83);transition:opacity .8s ease,filter .8s ease,transform .8s ease;}
.ritual-thai-wheel>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;mix-blend-mode:screen;filter:drop-shadow(0 0 13px rgba(217,156,49,.2));transform:rotate(-42deg);}
.ritual-thai-house{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:64px;height:20px;margin:-10px -32px;color:#d5aa56;font-size:11px;line-height:1;background:rgba(2,6,5,.74);border:1px solid rgba(181,128,44,.25);border-radius:999px;opacity:0;transform:rotate(var(--angle)) translateY(-151px) rotate(calc(var(--angle) * -1));transition:opacity .45s ease;transition-delay:.7s;}
.ritual-thai-planets{position:absolute;z-index:4;left:50%;top:40%;width:268px;height:268px;margin:-134px;pointer-events:none;}
.ritual-thai-planet{position:absolute;left:var(--x);top:var(--y);display:grid;grid-template-columns:1fr 1fr;place-items:center;width:37px;height:37px;margin:-18px;border:1px solid #a4742d;border-radius:50%;color:#f1cb79;background:radial-gradient(circle at 35% 28%,#8f672c,#19120a 55%,#030504 78%);box-shadow:inset 0 0 0 3px #080705,inset 0 0 0 4px rgba(198,145,52,.52),0 7px 11px rgba(0,0,0,.7);opacity:0;transform:translateY(95px) scale(.18) rotate(-90deg);filter:blur(2px);}
.ritual-thai-planet b{font-size:14px;font-weight:400}.ritual-thai-planet i{font-size:12px;font-style:normal;color:#dcad52}.ritual-thai-planet::after{content:attr(data-label);position:absolute;left:50%;top:39px;padding:2px 5px;border-radius:9px;color:#b8944c;background:rgba(2,5,4,.88);font-size:9px;white-space:nowrap;opacity:0;transform:translateX(-50%);transition:opacity .35s ease 1.2s;}
.ritual-thai-book{position:absolute;z-index:5;left:50%;bottom:7px;width:min(390px,calc(100% - 18px));height:142px;transform:translateX(-50%) scale(.88);filter:drop-shadow(0 21px 17px rgba(0,0,0,.86));}
.ritual-thai-book-cover{position:absolute;z-index:5;left:50%;top:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:232px;height:105px;margin-left:-116px;border:2px solid #9f702c;border-radius:3px;background:radial-gradient(circle at 50% 35%,rgba(198,148,64,.22),transparent 32%),linear-gradient(135deg,#130c06,#563819 50%,#120b05);color:#e0b25e;box-shadow:inset 0 0 0 6px #160e07,inset 0 0 0 7px #8f6228,0 12px 20px #000;transform-origin:left center;transition:transform 1s cubic-bezier(.2,.82,.25,1),opacity .7s ease,filter .7s ease;}
.ritual-thai-book-cover b{font-size:23px;font-weight:500}.ritual-thai-book-cover i{margin-top:5px;color:#9f7c3c;font-size:12px;font-style:normal;letter-spacing:1px;}
.ritual-thai-page{position:absolute;top:12px;width:50%;height:124px;box-sizing:border-box;padding:22px 19px 13px;color:#6b321d;background:linear-gradient(105deg,#8d5e28,#e0ba73 8%,#c99e5e 72%,#8d5c27);border:1px solid #8d612b;box-shadow:inset 0 0 18px rgba(94,44,15,.24),0 10px 16px rgba(0,0,0,.62);opacity:.12;transition:transform 1.15s cubic-bezier(.2,.82,.25,1),opacity .75s ease,filter .75s ease;}
.ritual-thai-page.left{right:50%;border-radius:35% 3px 3px 18%;transform-origin:right center;transform:scaleX(.08) skewY(5deg)}.ritual-thai-page.right{left:50%;border-radius:3px 35% 18% 3px;transform-origin:left center;transform:scaleX(.08) skewY(-5deg)}
.ritual-thai-page b{display:block;margin-bottom:8px;text-align:center;font-size:17px;font-weight:600}.ritual-thai-page i{display:block;width:88%;height:1px;margin:8px auto;background:rgba(91,43,17,.42)}.ritual-thai-page em{display:block;margin-top:7px;text-align:center;font-size:10px;font-style:normal;letter-spacing:.5px}.ritual-thai-page::after{content:"✦ ๑ ๙ ✦";position:absolute;left:0;right:0;bottom:15px;text-align:center;font-size:12px;letter-spacing:5px;opacity:.55;}
.ritual-thai-seal{position:absolute;z-index:9;left:50%;top:45%;display:grid;place-items:center;width:118px;height:118px;margin:-59px;border:5px double #a92f23;border-radius:50%;color:#a52b21;background:radial-gradient(circle,rgba(201,150,76,.88),rgba(177,111,49,.72));box-shadow:inset 0 0 0 8px rgba(121,31,25,.14),0 16px 28px rgba(0,0,0,.72),0 0 35px rgba(187,48,30,.3);opacity:0;transform:scale(2.8) rotate(-27deg);}
.ritual-thai-seal::before,.ritual-thai-seal::after{content:"";position:absolute;left:50%;top:7px;bottom:7px;width:2px;background:rgba(142,37,29,.72)}.ritual-thai-seal::after{transform:rotate(90deg)}.ritual-thai-seal i{position:relative;z-index:2;display:grid;place-items:center;width:55px;height:55px;border:2px solid currentColor;border-radius:50%;font-size:27px;font-style:normal;font-weight:700;background:rgba(207,159,84,.86)}.ritual-thai-seal b{position:absolute;bottom:7px;font-size:9px;letter-spacing:2px}.ritual-thai-flash{position:absolute;z-index:8;left:50%;top:45%;width:20px;height:20px;margin:-10px;border-radius:50%;background:#f7d78d;opacity:0;box-shadow:0 0 80px 60px rgba(240,189,76,.34);pointer-events:none;}
.ritual-stage.interactive-thai.thai-step-1 .ritual-thai-book-cover{opacity:0;transform:translateX(-155px) rotate(-18deg) scale(.72);filter:blur(2px)}.ritual-stage.interactive-thai.thai-step-1 .ritual-thai-page{opacity:1;transform:scaleX(1) skewY(0);filter:brightness(1.08)}
.ritual-stage.interactive-thai.thai-step-2 .ritual-thai-wheel{opacity:1;filter:brightness(1.3) saturate(1.05);transform:scale(1)}.ritual-stage.interactive-thai.thai-step-2 .ritual-thai-wheel>img{animation:thaiWheelSettle 2.1s cubic-bezier(.18,.82,.2,1) forwards}.ritual-stage.interactive-thai.thai-step-2 .ritual-thai-house{opacity:1}.ritual-stage.interactive-thai.thai-step-2 .ritual-thai-halo{opacity:.85;box-shadow:0 0 90px rgba(219,157,49,.25)}
.ritual-stage.interactive-thai.thai-step-3 .ritual-thai-planet{animation:thaiPlanetPlace .78s cubic-bezier(.16,.9,.25,1.18) both;animation-delay:var(--delay)}.ritual-stage.interactive-thai.thai-step-3 .ritual-thai-planet::after{opacity:1}
.ritual-stage.interactive-thai.thai-step-4 .ritual-thai-seal{animation:thaiSealStamp .8s cubic-bezier(.15,.88,.22,1.12) forwards}.ritual-stage.interactive-thai.thai-step-4 .ritual-thai-flash{animation:thaiSealFlash 1.15s ease-out .32s both}.ritual-stage.interactive-thai.thai-step-4 .ritual-thai-wheel>img{filter:drop-shadow(0 0 22px rgba(239,183,70,.66)) brightness(1.18)}
.ritual-book-page[data-page="1"]{z-index:3}.ritual-book-page[data-page="2"]{z-index:2}.ritual-book-page[data-page="3"]{z-index:1}
@keyframes ritualSpin{to{transform:rotate(360deg)}}@keyframes ritualSpinReverse{to{transform:rotate(-360deg)}}
@keyframes ritualPulse{50%{transform:scale(1.08);opacity:.52}}@keyframes ritualBreathe{50%{transform:scale(1.07);filter:brightness(1.4) contrast(1.12) saturate(1.08) drop-shadow(0 10px 20px rgba(186,126,39,.36))}}
@keyframes ritualGlyph{from{opacity:0;transform:rotate(var(--angle)) translateY(-75px) rotate(calc(var(--angle) * -1)) scale(.3)}to{opacity:1}}
@keyframes ritualDrop{to{transform:translateY(0)}}@keyframes ritualTilt{to{transform:translate(-50%,-50%) rotateX(10deg) rotateZ(3deg)}}
@keyframes ritualCell{to{background:rgba(103,72,24,.45);box-shadow:inset 0 0 22px rgba(233,185,82,.28),0 0 12px rgba(185,126,41,.16)}}
@keyframes ritualScroll{to{transform:translate(-50%,-50%) rotateX(1deg) scale(1.035);filter:brightness(1.13)}}
@keyframes ritualShake{25%{transform:translateX(-4px) rotate(-2deg)}75%{transform:translateX(4px) rotate(2deg)}}
@keyframes ritualPotHandShake{
  0%,100%{transform:translate(-50%,-50%) rotate(0) translateY(0)}
  12%{transform:translate(calc(-50% - 13px),calc(-50% - 5px)) rotate(-4.2deg)}
  27%{transform:translate(calc(-50% + 15px),calc(-50% + 2px)) rotate(4.8deg)}
  43%{transform:translate(calc(-50% - 11px),calc(-50% - 7px)) rotate(-3.5deg)}
  59%{transform:translate(calc(-50% + 10px),calc(-50% + 1px)) rotate(3deg)}
  74%{transform:translate(calc(-50% - 6px),calc(-50% - 3px)) rotate(-1.8deg)}
  88%{transform:translate(calc(-50% + 3px),-50%) rotate(.8deg)}
}
@keyframes ritualPotWeight{
  0%,100%{transform:rotate(0) translateY(0) scaleY(1)}
  13%{transform:rotate(-2.2deg) translateY(2px) scaleY(.99)}
  28%{transform:rotate(2.5deg) translateY(-2px) scaleY(1.01)}
  45%{transform:rotate(-1.8deg) translateY(1px)}
  61%{transform:rotate(1.5deg) translateY(-1px)}
  78%{transform:rotate(-.7deg)}
}
@keyframes ritualStickRattle{
  0%,100%{opacity:0;transform:rotate(var(--angle)) translateY(var(--rise))}
  8%{opacity:.68;transform:rotate(calc(var(--angle) - var(--shake-sway))) translateY(calc(var(--rise) - var(--shake-lift-34)))}
  22%{opacity:var(--shake-opacity);transform:rotate(calc(var(--angle) + var(--shake-twist))) translateY(calc(var(--rise) + var(--shake-drop)))}
  39%{opacity:var(--shake-opacity);transform:rotate(calc(var(--angle) - var(--shake-sway))) translateY(calc(var(--rise) - var(--shake-lift)))}
  54%{opacity:.82;transform:rotate(calc(var(--angle) + var(--shake-twist-72))) translateY(calc(var(--rise) + var(--shake-drop-62)))}
  69%{opacity:.74;transform:rotate(calc(var(--angle) - var(--shake-sway-58))) translateY(calc(var(--rise) - var(--shake-lift-56)))}
  83%{opacity:.5;transform:rotate(calc(var(--angle) + var(--shake-twist-28))) translateY(calc(var(--rise) + var(--shake-drop-28)))}
}
@keyframes ritualStickShadow{0%,100%{transform:scaleX(1.18);opacity:.82}35%{transform:scaleX(1.36) translateX(5px);opacity:.58}66%{transform:scaleX(1.08) translateX(-4px);opacity:.72}}
@keyframes ritualOracleRise{
  0%{opacity:0;transform:rotate(var(--angle)) translateY(var(--rise));filter:brightness(1)}
  16%{opacity:1}
  38%{opacity:1;transform:rotate(calc(var(--angle) - 3deg)) translateY(-112px);filter:brightness(1.45)}
  63%{transform:rotate(15deg) translateY(-91px);filter:brightness(1.3)}
  82%{transform:rotate(9deg) translateY(-100px);filter:brightness(1.38)}
  100%{opacity:1;transform:rotate(12deg) translateY(-96px);filter:brightness(1.28)}
}
@keyframes ritualOracleGlint{0%{opacity:0;transform:scale(.2)}24%{opacity:.92}100%{opacity:0;transform:scale(5.2)}}
@keyframes ritualPendulum{from{transform:translate(-50%,-50%) rotate(-24deg)}to{transform:translate(-50%,-50%) rotate(24deg)}}
@keyframes ritualShuffle{0%,100%{transform:translateX(-80px) rotate(-10deg)}35%{transform:translateX(72px) translateY(-15px) rotate(9deg)}70%{transform:translateX(0) rotate(1deg)}}
@keyframes ritualNameSheet{to{transform:translateY(0) rotate(0)}}@keyframes ritualNameSeal{to{opacity:1;transform:scale(1) rotate(-6deg)}}
@keyframes ritualFlame{to{transform:scale(.86,1.12) rotate(4deg);filter:drop-shadow(0 0 11px #ffb434)}}@keyframes ritualSmoke{to{transform:translate(-48%,-54%) scale(1.14);opacity:.5}}
@keyframes ritualLight{to{opacity:.55;transform:translateX(2%)}}@keyframes readingFlip{from{opacity:0;transform:rotateY(88deg) scale(.8)}to{opacity:1;transform:none}}
@keyframes ritualMote{0%{transform:translateY(0) scale(.5);opacity:0}18%{opacity:.65}80%{opacity:.35}100%{transform:translateY(-360px) translateX(22px) scale(1.25);opacity:0}}@keyframes ritualShakeBurst{0%,100%{transform:translate(-50%,-50%) rotate(0)}20%{transform:translate(calc(-50% - 15px),-50%) rotate(-5deg)}40%{transform:translate(calc(-50% + 16px),-50%) rotate(5deg)}60%{transform:translate(calc(-50% - 10px),-50%) rotate(-3deg)}80%{transform:translate(calc(-50% + 8px),-50%) rotate(2deg)}}@keyframes ritualCompassGlow{to{filter:brightness(1.35);transform:rotate(.8deg)}}
@keyframes ritualScrollMobile{from{transform:translate(-50%,-50%) rotateX(8deg) scale(.82)}to{transform:translate(-50%,-50%) rotateX(1deg) scale(.85);filter:brightness(1.13)}}@keyframes ritualPendulumMobile{from{transform:translate(-50%,-50%) rotate(-9deg)}to{transform:translate(-50%,-50%) rotate(9deg)}}
@keyframes nameStageGlow{to{opacity:.55;filter:brightness(1.25)}}@keyframes nameGlyphPulse{50%{color:#ffe09a;box-shadow:0 0 12px rgba(226,174,73,.42);transform:rotate(var(--angle)) translateY(-150px) rotate(calc(var(--angle) * -1)) scale(1.08)}}
@keyframes nameQuill{0%,100%{transform:rotate(-12deg) translate(0,0)}50%{transform:rotate(8deg) translate(-68px,5px)}}@keyframes nameInkLine{0%,100%{transform:scaleX(.2);opacity:.3}50%{transform:scaleX(1);opacity:1}}
@keyframes thaiBackdropBreath{to{opacity:.22;transform:scale(1.075);filter:sepia(.42) saturate(.9) brightness(.62) contrast(1.25)}}
@keyframes thaiHalo{to{opacity:.67;transform:scale(1.06) rotate(4deg)}}
@keyframes thaiWheelSettle{0%{transform:scale(.83) rotate(-42deg)}60%{transform:scale(1.04) rotate(410deg)}82%{transform:scale(.98) rotate(352deg)}100%{transform:scale(1) rotate(360deg)}}
@keyframes thaiPlanetPlace{0%{opacity:0;transform:translateY(95px) scale(.18) rotate(-90deg);filter:blur(2px)}65%{opacity:1;transform:translateY(-5px) scale(1.16) rotate(7deg);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes thaiSealStamp{0%{opacity:0;transform:scale(2.8) rotate(-27deg)}55%{opacity:1;transform:scale(.82) rotate(-6deg)}72%{transform:scale(1.12) rotate(-9deg)}100%{opacity:.94;transform:scale(1) rotate(-7deg)}}
@keyframes thaiSealFlash{0%{opacity:0;transform:scale(.2)}24%{opacity:.88}100%{opacity:0;transform:scale(8)}}
@keyframes tarotReshuffle{0%{transform:translateY(0) rotate(0)}45%{transform:translateY(-34px) rotate(-8deg) scale(.78);opacity:.45}100%{transform:none;opacity:1}}
@keyframes dreamBackdrop{to{transform:scale(1.1) translateY(-1.5%);filter:brightness(.7) saturate(.75) contrast(1.18)}}
@keyframes dreamSymbolGather{0%{opacity:0;filter:blur(3px);transform:rotate(var(--angle)) translateY(-155px) rotate(calc(var(--angle) * -1)) scale(.2)}70%{opacity:1;filter:none;transform:rotate(var(--angle)) translateY(-112px) rotate(calc(var(--angle) * -1)) scale(1.1)}100%{opacity:.9;filter:none;transform:rotate(var(--angle)) translateY(-115px) rotate(calc(var(--angle) * -1))}}
@keyframes dreamSymbolsIntoBook{to{opacity:0;transform:translateY(125px) scale(.28);filter:blur(3px)}}
@keyframes nameRitualQuill{0%{opacity:0;transform:rotate(-24deg) translate(70px,-35px)}25%{opacity:1}50%{transform:rotate(5deg) translate(-95px,18px)}100%{opacity:.7;transform:rotate(-8deg) translate(-25px,12px)}}
@keyframes nameOrbitAppear{from{opacity:0;transform:scale(.55) rotate(-40deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes culturalSeal{0%{opacity:0;transform:translate(-50%,-50%) scale(2.4) rotate(-18deg)}58%{opacity:1;transform:translate(-50%,-50%) scale(.84) rotate(5deg)}78%{transform:translate(-50%,-50%) scale(1.12) rotate(-2deg)}100%{opacity:.94;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes profileBackdropBreath{to{transform:scale(1.04);opacity:.2;filter:brightness(.68) saturate(.8) sepia(.16) contrast(1.16)}}
@media(max-width:720px){.ritual-shell{min-height:560px;padding:22px 12px 24px}.ritual-heading{margin:5px 54px 2px;font-size:23px}.ritual-subtitle{font-size:13px;padding:0 16px}.ritual-stage{height:340px;margin:8px 4px 0}.ritual-candle.left{left:22px}.ritual-candle.right{right:22px}.ritual-stage[data-kind="tarot"]{height:470px}.ritual-tarot-picker{inset:55px 10px 16px;grid-template-columns:repeat(6,1fr);gap:7px;overflow:auto;align-content:start}.ritual-tarot-card{height:88px}.reading-tarot-grid{grid-template-columns:1fr 1fr}.reading-tarot-card{min-height:500px}.ritual-sound{font-size:12px;padding-inline:9px}}
@media(max-width:420px){.ritual-object{transform:translate(-50%,-50%) scale(.86)}.ritual-stage[data-kind="pillars"] .ritual-object{transform:translate(-50%,-50%) scale(.76)}.ritual-stage[data-kind="scroll"] .ritual-object{animation:ritualScrollMobile 2.7s ease-in-out infinite alternate}.ritual-stage[data-kind="pendulum"] .ritual-object{width:220px;animation:ritualPendulumMobile 1.35s ease-in-out infinite alternate}.ritual-compass{width:260px;height:260px;margin:-130px}.ritual-compass i{transform:rotate(var(--angle)) translateY(-126px) rotate(calc(var(--angle) * -1));font-size:11px}.ritual-stage.interactive-pendulum.is-locked .ritual-object{animation:none;transform:translate(-50%,-50%) rotate(var(--lock-angle))}.ritual-tarot-picker{grid-template-columns:repeat(5,1fr)}.reading-tarot-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ritual-heading{margin:5px 78px 4px;font-size:20px;line-height:1.22}.ritual-sound{top:15px;left:14px;max-width:58px;padding:3px 7px;font-size:10px}.ritual-stage[data-kind="thai-ritual"]{height:405px}.ritual-thai-wheel,.ritual-thai-planets{top:38%;width:228px;height:228px;margin:-114px}.ritual-thai-house{width:48px;margin-inline:-24px;font-size:8px;transform:rotate(var(--angle)) translateY(-128px) rotate(calc(var(--angle) * -1))}.ritual-thai-halo{top:38%;width:290px;height:290px;margin:-145px}.ritual-thai-planet{width:33px;height:33px;margin:-16px}.ritual-thai-planet::after{top:34px;font-size:8px}.ritual-thai-book{bottom:3px;height:132px}.ritual-thai-book-cover{top:25px;width:210px;height:98px;margin-left:-105px}.ritual-thai-book-cover b{font-size:20px}.ritual-thai-page{height:116px;padding:18px 10px 10px}.ritual-thai-page b{font-size:14px}.ritual-thai-page em{font-size:8px}.ritual-thai-page::after{bottom:12px;font-size:10px}.ritual-thai-seal{top:43%;width:96px;height:96px;margin:-48px}.ritual-thai-seal i{width:47px;height:47px;font-size:23px}.ritual-candle{opacity:.72}}
@media(max-width:720px){.ritual-tarot-warning{width:calc(100% - 22px);padding:19px 17px 17px}.ritual-tarot-warning h3{font-size:20px}.ritual-tarot-warning p{font-size:13px}.ritual-tarot-warning-actions{gap:8px}.ritual-tarot-warning-actions button{flex:1;padding-inline:8px;font-size:13px}.ritual-stage[data-kind="dream"]{height:405px}.ritual-cultural-mark{min-width:78px;height:78px;font-size:19px}.ritual-oracle-lines{bottom:20px;width:74%}}
@media(max-width:520px){.ritual-dream-moon{top:58px;width:68px;height:68px;margin-left:-34px}.ritual-dream-symbols{top:42%;width:220px;height:220px;margin:-110px}.ritual-dream-symbols i{width:66px;margin-inline:-33px;font-size:9px;transform:rotate(var(--angle)) translateY(-98px) rotate(calc(var(--angle) * -1)) scale(.35)}.ritual-dream-book{height:112px}.ritual-dream-book>span{padding:18px 8px}.ritual-dream-book b{font-size:14px}.ritual-dream-book em{font-size:8px}.ritual-stage[data-kind="name"] .ritual-object{width:310px;height:250px;gap:10px;transform:translate(-50%,-50%) scale(.82)}.ritual-name-sheet{width:116px;height:166px;font-size:29px}.ritual-name-orbit{width:238px;height:238px;margin:-119px}.ritual-name-orbit i{transform:rotate(var(--angle)) translateY(-117px) rotate(calc(var(--angle) * -1))}.ritual-name-quill{right:8px;font-size:48px}.interactive-world .ritual-cultural-motif{transform:scale(.5) rotate(-12deg)}.interactive-world.ceremony-step-2 .ritual-cultural-motif{transform:scale(.74)}.interactive-world.ceremony-step-3 .ritual-cultural-motif{transform:scale(.78)}.ritual-tarot-warning{width:calc(100% - 30px);padding:16px 12px 14px}.ritual-tarot-warning-seal{width:38px;height:38px;margin-right:8px;font-size:19px}.ritual-tarot-warning h3{text-align:left;font-size:16px}.ritual-tarot-warning p{font-size:12px;line-height:1.45}.ritual-tarot-warning-actions{flex-direction:column-reverse}.ritual-tarot-warning-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.ritual-stage *,.reading-tarot-card,.name-reading-stage *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ไพ่ยิปซี 2.5D — ใช้เฉพาะพิธีไพ่ ไม่กระทบพิธีอื่น */
.ritual-fullscreen{position:absolute;z-index:18;left:128px;top:18px;min-width:74px;min-height:38px;padding:4px 12px;border:1px solid #755526;border-radius:18px;background:rgba(6,11,9,.92);color:#e7c475;font:inherit;font-size:13px;cursor:pointer}
.ritual-fullscreen[hidden]{display:none}
.ritual-fullscreen:hover,.ritual-fullscreen:focus-visible{border-color:#c79745;color:#ffe09b;box-shadow:0 0 16px rgba(205,151,65,.28);outline:2px solid #e8c475;outline-offset:2px}
.ritual-dialog--tarot-25d{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-width:none;max-height:none;margin:auto;border-color:#9f7431;overflow:hidden}
.ritual-shell--tarot-25d{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(340px,1fr) auto auto auto;box-sizing:border-box;padding:17px 22px 18px;background:radial-gradient(circle at 50% 28%,rgba(105,69,24,.2),transparent 44%),linear-gradient(180deg,#050b09,#010303 80%)}
.ritual-shell--tarot-25d::before{inset:7px}
.ritual-shell--tarot-25d .ritual-heading{font-size:clamp(24px,2.2vw,36px)}
.ritual-shell--tarot-25d .ritual-subtitle{max-width:920px;margin-bottom:5px;font-size:clamp(13px,1.1vw,17px)}
.ritual-shell--tarot-25d .ritual-stage[data-kind="tarot"]{--tarot-look-x:0;--tarot-look-y:0;--tarot-cursor-x:50%;--tarot-cursor-y:45%;height:auto;min-height:0;margin:6px 0 0;border-color:rgba(168,123,48,.72);perspective:1200px;isolation:isolate;background:#020504;box-shadow:inset 0 0 90px #000,0 12px 38px rgba(0,0,0,.72)}
.ritual-shell--tarot-25d .ritual-stage[data-kind="tarot"]::before{z-index:4;left:-6%;right:-6%;bottom:-22%;height:58%;background:radial-gradient(ellipse at 50% 0,rgba(123,67,24,.34),rgba(18,9,5,.98) 62%);transform:rotateX(69deg)}
.ritual-shell--tarot-25d .ritual-stage[data-kind="tarot"]::after{z-index:30;background:radial-gradient(circle at var(--tarot-cursor-x) var(--tarot-cursor-y),rgba(250,209,119,.09),transparent 19%),linear-gradient(110deg,transparent 34%,rgba(255,224,155,.055) 49%,transparent 64%),radial-gradient(ellipse,transparent 46%,rgba(0,0,0,.76) 100%);animation:ritualLight 7s ease-in-out infinite alternate}
.ritual-tarot-25d-scene{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;transform-style:preserve-3d;animation:tarot25SceneEnter 1.2s ease-out both}
.tarot-25d-layer{position:absolute;display:block;pointer-events:none;will-change:transform}
.tarot-25d-backdrop{z-index:0;inset:-8%;width:116%;height:116%;object-fit:cover;object-position:50% 48%;opacity:.24;filter:brightness(.44) contrast(1.22) saturate(.72) sepia(.16) blur(.3px);transform:translate3d(calc(var(--tarot-look-x) * -13px),calc(var(--tarot-look-y) * -8px),-80px) scale(1.08);transition:transform .28s ease-out}
.tarot-25d-stars{z-index:1;inset:-20%;opacity:.58;background-image:radial-gradient(circle,#e9c370 0 1px,transparent 1.7px),radial-gradient(circle,#b88435 0 1px,transparent 1.8px);background-position:0 0,37px 51px;background-size:83px 83px,127px 127px;transform:translate3d(calc(var(--tarot-look-x) * -24px),calc(var(--tarot-look-y) * -15px),-45px);animation:tarot25Stars 5.5s ease-in-out infinite alternate;transition:transform .3s ease-out}
.tarot-25d-zodiac{z-index:2;left:50%;top:45%;width:min(42vw,560px);aspect-ratio:1;margin:calc(min(42vw,560px) / -2);border:1px solid rgba(180,132,49,.22);border-radius:50%;box-shadow:0 0 80px rgba(177,119,33,.12),inset 0 0 50px rgba(177,119,33,.08);opacity:.42;transform:translate3d(calc(var(--tarot-look-x) * 14px),calc(var(--tarot-look-y) * 8px),-12px);transition:transform .25s ease-out;animation:tarot25Zodiac 36s linear infinite}
.tarot-25d-zodiac::before,.tarot-25d-zodiac::after{content:"";position:absolute;border:1px dashed rgba(199,152,65,.28);border-radius:50%}.tarot-25d-zodiac::before{inset:10%}.tarot-25d-zodiac::after{inset:27%;border-style:solid}.tarot-25d-zodiac i{position:absolute;inset:18%;border:1px dotted rgba(226,180,82,.28);border-radius:50%}.tarot-25d-zodiac b{position:absolute;left:50%;top:50%;display:grid;width:72px;height:72px;margin:-36px;place-items:center;border:1px solid rgba(218,166,67,.28);border-radius:50%;color:#c99a46;font-size:30px;font-weight:400;text-shadow:0 0 20px #b37b2d}
.tarot-25d-curtain{z-index:3;top:-8%;bottom:-8%;width:24%;opacity:.7;filter:blur(.3px);background:linear-gradient(90deg,#020303,rgba(52,20,15,.92) 38%,rgba(101,41,28,.48) 55%,rgba(7,6,5,.88));box-shadow:inset -18px 0 26px rgba(0,0,0,.8);transition:transform .3s ease-out}.tarot-25d-curtain.left{left:-9%;transform:translate3d(calc(var(--tarot-look-x) * -8px),0,32px) skewX(-3deg)}.tarot-25d-curtain.right{right:-9%;transform:translate3d(calc(var(--tarot-look-x) * 8px),0,32px) scaleX(-1) skewX(-3deg)}
.tarot-25d-table{z-index:5;left:-10%;right:-10%;bottom:-26%;height:58%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 0,rgba(124,69,29,.44),rgba(40,18,10,.94) 48%,#080403 76%),repeating-linear-gradient(92deg,transparent 0 89px,rgba(205,137,48,.04) 90px 91px);box-shadow:0 -8px 35px rgba(198,126,39,.08),inset 0 8px 20px rgba(220,151,57,.08);transform:translate3d(calc(var(--tarot-look-x) * 8px),calc(var(--tarot-look-y) * 5px),70px) rotateX(62deg);transform-origin:50% 0;transition:transform .24s ease-out}
.tarot-25d-mist{z-index:8;left:-20%;right:-20%;height:34%;border-radius:50%;filter:blur(23px);opacity:.26;background:radial-gradient(ellipse,rgba(181,149,92,.2),transparent 68%)}.tarot-25d-mist.far{top:22%;animation:tarot25Mist 9s ease-in-out infinite alternate}.tarot-25d-mist.near{z-index:17;bottom:-5%;opacity:.18;animation:tarot25Mist 6.8s -2.4s ease-in-out infinite alternate-reverse}
.tarot-25d-cursor-light{position:absolute;z-index:9;left:var(--tarot-cursor-x);top:var(--tarot-cursor-y);width:280px;height:220px;margin:-110px -140px;border-radius:50%;background:radial-gradient(ellipse,rgba(232,183,84,.17),rgba(180,115,33,.045) 38%,transparent 70%);filter:blur(7px);transition:left .18s ease-out,top .18s ease-out}
.ritual-shell--tarot-25d .ritual-candle{z-index:18;bottom:64px;transform:scale(1.25);filter:drop-shadow(0 0 12px rgba(229,151,46,.3))}.ritual-shell--tarot-25d .ritual-candle.left{left:4.5%}.ritual-shell--tarot-25d .ritual-candle.right{right:4.5%}
.ritual-shell--tarot-25d .ritual-smoke{z-index:16;width:60%;height:26%;opacity:.7}.ritual-shell--tarot-25d .ritual-motes{z-index:19}
.ritual-shell--tarot-25d .ritual-stage[data-kind="tarot"] .ritual-object{z-index:14;top:45%;width:420px;height:250px;transform:translate3d(-50%,-50%,95px) rotateX(calc(var(--tarot-look-y) * -3deg)) rotateY(calc(var(--tarot-look-x) * 4deg));transition:transform .25s ease-out}
.ritual-shell--tarot-25d .ritual-deck-card{width:108px;height:180px;box-shadow:0 22px 32px rgba(0,0,0,.78),inset 0 0 0 5px #080b09,inset 0 0 0 6px #c09146}
.ritual-shell--tarot-25d .ritual-tarot-picker{z-index:20;inset:6% 4.2% 92px;grid-template-columns:repeat(11,minmax(52px,1fr));grid-template-rows:repeat(2,minmax(105px,1fr));gap:clamp(7px,1vw,15px);align-content:center;padding:12px;overflow:visible;perspective:1300px;transform-style:preserve-3d}
.ritual-shell--tarot-25d .ritual-tarot-picker.ready .ritual-tarot-card{animation:tarot25Deal .62s cubic-bezier(.16,.82,.28,1.12) both;animation-delay:calc(var(--order) * .028s)}
.ritual-shell--tarot-25d .ritual-tarot-card{height:100%;min-height:105px;max-height:170px;transform-style:preserve-3d;backface-visibility:hidden;background:radial-gradient(circle at var(--card-light-x,50%) var(--card-light-y,50%),rgba(231,183,87,.22),transparent 28%),radial-gradient(circle,#a57a35 0 3%,transparent 4%),repeating-conic-gradient(from 45deg,#0a100d 0 12deg,#68491e 13deg 17deg,#0a100d 18deg 30deg);box-shadow:0 14px 18px rgba(0,0,0,.74),inset 0 0 0 3px #050806,inset 0 0 0 4px #af813d;transition:transform .18s ease-out,filter .2s ease,box-shadow .2s ease}
.ritual-shell--tarot-25d .ritual-tarot-card:hover,.ritual-shell--tarot-25d .ritual-tarot-card:focus-visible{z-index:5;transform:translate3d(0,-15px,82px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));filter:brightness(1.34);box-shadow:0 26px 32px rgba(0,0,0,.82),0 0 24px rgba(226,168,62,.42),inset 0 0 0 4px #c99b4c}
.ritual-shell--tarot-25d .ritual-tarot-card.selected{z-index:6;transform:translate3d(0,-18px,96px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));filter:brightness(1.5);box-shadow:0 0 28px rgba(237,187,79,.62),0 28px 30px rgba(0,0,0,.84),inset 0 0 0 4px #e0b35d}
.ritual-tarot-selected-rail{position:absolute;z-index:22;left:50%;bottom:12px;display:grid;width:min(1040px,calc(100% - 150px));height:62px;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 9px 12px rgba(0,0,0,.7))}
.ritual-tarot-selected-slot{position:relative;display:grid;grid-template-rows:35px 1fr;place-items:center;border:1px solid rgba(124,91,38,.5);border-radius:4px;color:#7f6a3d;background:rgba(2,6,5,.7);box-shadow:inset 0 0 0 3px rgba(2,5,4,.85);transition:filter .28s ease,border-color .28s ease,transform .28s ease}.ritual-tarot-selected-slot b{display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(145,105,43,.45);border-radius:50%;font-size:12px;font-weight:500}.ritual-tarot-selected-slot i{font-size:10px;font-style:normal;line-height:1;white-space:nowrap}.ritual-tarot-selected-slot.filled{border-color:#c59645;color:#edc879;background:radial-gradient(circle,rgba(156,105,31,.26),rgba(5,9,7,.94));filter:brightness(1.2);animation:tarot25Slot .5s cubic-bezier(.18,.88,.28,1.15) both;animation-delay:var(--slot-delay)}.ritual-tarot-selected-slot.filled b{border-color:#d3a451;box-shadow:0 0 13px rgba(211,164,81,.35)}
.ritual-shell--tarot-25d .ritual-tarot-warning{z-index:40}
.ritual-shell--tarot-25d .ritual-status{margin-top:7px;font-size:clamp(13px,1.15vw,17px)}
.ritual-shell--tarot-25d .ritual-progress{width:min(760px,70vw)}
.ritual-tarot-limit-alert{position:absolute;z-index:80;left:50%;bottom:88px;display:grid;gap:3px;width:min(420px,calc(100% - 34px));padding:12px 18px;border:1px solid #c08a35;border-radius:5px;background:linear-gradient(180deg,rgba(48,32,13,.98),rgba(8,10,8,.98));color:#e7c474;text-align:center;box-shadow:inset 0 0 0 3px #050706,inset 0 0 0 4px rgba(224,172,72,.34),0 16px 34px rgba(0,0,0,.76),0 0 24px rgba(195,137,45,.22);opacity:0;pointer-events:none;transform:translate(-50%,12px) scale(.97)}
.ritual-tarot-limit-alert b{color:#f2cf81;font-size:18px;font-weight:600}.ritual-tarot-limit-alert span{color:#bfa15f;font-size:14px;line-height:1.45}.ritual-tarot-limit-alert.visible{animation:tarotLimitAlert 2.8s ease both}
@keyframes tarotLimitAlert{0%{opacity:0;transform:translate(-50%,12px) scale(.97)}10%,82%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-5px) scale(.99)}}
.ritual-shell--tarot-25d .ritual-action{margin-top:7px}
.ritual-shell--tarot-25d:fullscreen{width:100vw;height:100vh;background:#010303}
@keyframes tarot25SceneEnter{0%{opacity:0;filter:blur(8px);transform:scale(1.08)}100%{opacity:1;filter:none;transform:none}}
@keyframes tarot25Stars{0%{opacity:.32;filter:brightness(.8)}100%{opacity:.72;filter:brightness(1.35)}}
@keyframes tarot25Zodiac{to{rotate:360deg}}
@keyframes tarot25Mist{0%{transform:translate3d(-7%,8px,0) scaleX(.9)}100%{transform:translate3d(7%,-8px,0) scaleX(1.12)}}
@keyframes tarot25Deal{0%{opacity:0;transform:translate3d(0,90px,-160px) rotateY(90deg) scale(.72)}100%{opacity:1;transform:none}}
@keyframes tarot25Slot{0%{transform:translateY(8px) scale(.88);opacity:.5}100%{transform:none;opacity:1}}
@media(max-width:720px){.ritual-dialog--tarot-25d{width:100vw;height:100dvh;border:0;border-radius:0}.ritual-shell--tarot-25d{padding:12px 8px 10px;grid-template-rows:auto auto minmax(420px,1fr) auto auto auto}.ritual-shell--tarot-25d::before{inset:3px}.ritual-shell--tarot-25d .ritual-heading{margin:5px 64px 2px;font-size:21px}.ritual-shell--tarot-25d .ritual-subtitle{max-width:82%;font-size:11px;line-height:1.35}.ritual-fullscreen{left:82px;top:12px;min-width:60px;min-height:34px;padding-inline:8px;font-size:10px}.ritual-shell--tarot-25d .ritual-sound{left:9px;top:12px}.ritual-shell--tarot-25d .ritual-close{right:9px;top:12px}.ritual-shell--tarot-25d .ritual-stage[data-kind="tarot"]{margin-inline:0}.ritual-shell--tarot-25d .ritual-tarot-picker{inset:46px 7px 58px;grid-template-columns:repeat(5,minmax(45px,1fr));grid-template-rows:none;gap:7px;align-content:start;overflow-y:auto;padding:9px 5px}.ritual-shell--tarot-25d .ritual-tarot-card{height:94px;min-height:94px;max-height:none}.ritual-tarot-selected-rail{bottom:6px;width:calc(100% - 24px);height:43px;gap:3px}.ritual-tarot-selected-slot{grid-template-rows:1fr}.ritual-tarot-selected-slot b{width:24px;height:24px}.ritual-tarot-selected-slot i{display:none}.tarot-25d-zodiac{width:360px;margin:-180px}.ritual-shell--tarot-25d .ritual-candle{bottom:42px;transform:scale(.82)}.ritual-shell--tarot-25d .ritual-candle.left{left:17px}.ritual-shell--tarot-25d .ritual-candle.right{right:17px}.ritual-shell--tarot-25d .ritual-progress{width:84vw}.ritual-shell--tarot-25d .ritual-action{min-height:42px;margin-top:4px;font-size:16px}.ritual-tarot-limit-alert{bottom:55px;padding:10px 13px}.ritual-tarot-limit-alert b{font-size:16px}.ritual-tarot-limit-alert span{font-size:12px}}
@media(max-width:420px){.ritual-shell--tarot-25d{grid-template-rows:auto auto minmax(390px,1fr) auto auto auto}.ritual-shell--tarot-25d .ritual-tarot-picker{grid-template-columns:repeat(5,minmax(42px,1fr));gap:5px}.ritual-shell--tarot-25d .ritual-tarot-card{height:86px;min-height:86px}.ritual-shell--tarot-25d .ritual-heading{font-size:19px}.ritual-shell--tarot-25d .ritual-subtitle{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ritual-tarot-25d-scene,.tarot-25d-layer,.ritual-shell--tarot-25d .ritual-tarot-card,.ritual-tarot-selected-slot{animation:none!important;transition:none!important}}
@media(max-width:720px){.ritual-shell--tarot-25d .ritual-heading{margin:43px 46px 2px}.ritual-shell--tarot-25d .ritual-subtitle{max-width:88%}}

/* สำรับเลือกไพ่รูปพัด */
.ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan{display:block;inset:3% 3.2% 88px;padding:0;overflow:visible;perspective:1400px;transform-style:preserve-3d}
.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card{position:absolute;left:var(--fan-x);top:var(--fan-y);z-index:calc(20 + var(--fan-depth));width:clamp(64px,5.8vw,92px);height:auto;min-height:0;max-height:none;aspect-ratio:.61;transform:translate(-50%,-50%) rotate(var(--fan-rotate));transform-origin:50% 118%;box-shadow:0 16px 22px rgba(0,0,0,.78),inset 0 0 0 3px #050806,inset 0 0 0 4px #af813d}
.ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan.ready .ritual-tarot-card{animation:tarot25FanDeal .78s cubic-bezier(.14,.82,.22,1.12) both;animation-delay:calc(var(--order) * .032s)}
.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:hover,.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:focus-visible{z-index:90;transform:translate(-50%,calc(-50% - 22px)) rotate(var(--fan-rotate)) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) scale(1.08)}
.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card.selected{z-index:95;transform:translate(-50%,calc(-50% - 29px)) rotate(var(--fan-rotate)) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) scale(1.1)}
.ritual-shell--tarot-25d .tarot-fan.reshuffle .ritual-tarot-card{animation:tarot25FanReshuffle .7s cubic-bezier(.2,.78,.25,1) both;animation-delay:calc(var(--order) * .018s)}
@keyframes tarot25FanDeal{0%{opacity:0;transform:translate(-50%,135%) rotate(0deg) scale(.54)}55%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) rotate(var(--fan-rotate))}}
@keyframes tarot25FanReshuffle{0%{transform:translate(-50%,-50%) rotate(var(--fan-rotate))}45%{opacity:.42;transform:translate(-50%,15%) rotate(0deg) scale(.58)}100%{opacity:1;transform:translate(-50%,-50%) rotate(var(--fan-rotate))}}
@media(max-width:720px){.ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan{inset:24px 1px 54px;overflow:visible}.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card{left:var(--fan-mobile-x);top:var(--fan-mobile-y);z-index:calc(20 + var(--fan-depth));width:44px;height:auto;min-height:0;aspect-ratio:.61;transform:translate(-50%,-50%) rotate(var(--fan-mobile-rotate));transform-origin:50% 116%}.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:hover,.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:focus-visible{z-index:150;transform:translate(-50%,calc(-50% - 12px)) rotate(var(--fan-mobile-rotate)) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) scale(1.18)}.ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card.selected{z-index:155;transform:translate(-50%,calc(-50% - 17px)) rotate(var(--fan-mobile-rotate)) scale(1.2)}@keyframes tarot25FanDeal{0%{opacity:0;transform:translate(-50%,120%) rotate(0deg) scale(.55)}55%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) rotate(var(--fan-mobile-rotate))}}@keyframes tarot25FanReshuffle{0%{transform:translate(-50%,-50%) rotate(var(--fan-mobile-rotate))}45%{opacity:.42;transform:translate(-50%,12%) rotate(0deg) scale(.58)}100%{opacity:1;transform:translate(-50%,-50%) rotate(var(--fan-mobile-rotate))}}}

/* ตราเรือนพยากรณ์กลางหลังไพ่ทุกใบ */
.ritual-shell--tarot-25d .ritual-tarot-card{
  isolation:isolate;
  background:
    url("./assets/site-emblem-transparent.svg") center/64% auto no-repeat,
    radial-gradient(circle at 50% 50%,rgba(241,197,102,.24) 0 17%,rgba(116,77,25,.14) 31%,transparent 52%),
    radial-gradient(circle at var(--card-light-x,50%) var(--card-light-y,50%),rgba(231,183,87,.22),transparent 28%),
    repeating-conic-gradient(from 45deg,#080e0b 0 12deg,#68491e 13deg 16deg,#080e0b 17deg 30deg);
}
.ritual-shell--tarot-25d .ritual-tarot-card::before{
  content:"";
  position:absolute;
  inset:8%;
  z-index:-1;
  border:1px solid rgba(225,174,75,.7);
  border-radius:2px;
  box-shadow:inset 0 0 0 2px rgba(3,7,5,.92),inset 0 0 0 3px rgba(145,99,31,.55),0 0 12px rgba(188,132,42,.13);
  pointer-events:none;
}
.ritual-shell--tarot-25d .ritual-tarot-card::after{
  content:"";
  position:absolute;
  inset:17% 23%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(242,199,106,.13),transparent 66%);
  box-shadow:0 0 17px rgba(210,151,49,.15);
  pointer-events:none;
}
.ritual-shell--tarot-25d .ritual-tarot-card span{z-index:3}

/* หน้าจอสัมผัส: คงบรรยากาศสำรับกาง แต่แยกพื้นที่แตะทุกใบไม่ให้ซ้อนกัน */
@media (hover:none),(pointer:coarse){
  .ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan{
    display:grid;
    inset:5% 3% 88px;
    grid-template-columns:repeat(11,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(108px,1fr));
    gap:10px;
    align-content:center;
    padding:12px;
    overflow-y:auto;
    overscroll-behavior:contain;
    touch-action:pan-y;
    perspective:1000px;
  }
  .ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card{
    position:relative;
    left:auto;
    top:auto;
    z-index:1;
    width:100%;
    height:100%;
    min-height:108px;
    max-height:none;
    aspect-ratio:auto;
    transform:none;
    transform-origin:center;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(232,190,102,.22);
  }
  .ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan.ready .ritual-tarot-card{
    animation:tarot25TouchDeal .46s ease-out both;
    animation-delay:calc(var(--order) * .018s);
  }
  .ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:hover,
  .ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card:focus-visible{
    z-index:4;
    transform:translateY(-5px) scale(1.025);
  }
  .ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card.selected{
    z-index:5;
    transform:translateY(-7px) scale(1.035);
  }
  .ritual-shell--tarot-25d .tarot-fan.reshuffle .ritual-tarot-card{
    animation:tarot25TouchReshuffle .5s ease both;
    animation-delay:calc(var(--order) * .012s);
  }
}
@media (hover:none) and (max-width:720px),(pointer:coarse) and (max-width:720px){
  .ritual-shell--tarot-25d .ritual-tarot-picker.tarot-fan{
    inset:20px 4px 54px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:94px;
    gap:7px;
    align-content:start;
    padding:9px 7px 18px;
  }
  .ritual-shell--tarot-25d .tarot-fan .ritual-tarot-card{
    min-height:94px;
  }
}
@keyframes tarot25TouchDeal{from{opacity:0;filter:brightness(.45)}to{opacity:1;filter:none}}
@keyframes tarot25TouchReshuffle{0%{opacity:1;filter:none}45%{opacity:.38;filter:brightness(1.45)}100%{opacity:1;filter:none}}

/* ผังเซลติกครอสและคำทำนายไพ่สิบใบ */
.result-dialog--tarot{width:min(1380px,calc(100vw - 20px))}
.reading-tarot-celtic{margin:4px 0 26px;white-space:normal}
.reading-tarot-celtic>h2{margin:0;text-align:center;color:#f0cc7c;font-size:clamp(24px,2.3vw,35px);font-weight:600;text-shadow:0 0 18px rgba(222,169,65,.3)}
.reading-tarot-celtic-intro{max-width:820px;margin:6px auto 18px!important;text-align:center;color:#af955b;font-size:15px}
.reading-tarot-celtic-layout{display:grid;grid-template-columns:minmax(470px,.92fr) minmax(500px,1.08fr);gap:18px;align-items:start}
.reading-tarot-board{position:sticky;top:12px;min-height:650px;overflow:hidden;border:1px solid #7f5b25;border-radius:5px;background:radial-gradient(circle at 42% 50%,rgba(121,82,25,.2),transparent 34%),radial-gradient(circle at 50% 50%,#0b1714,#020705 70%);box-shadow:inset 0 0 0 4px #020504,inset 0 0 0 5px rgba(129,91,35,.72),0 18px 35px rgba(0,0,0,.38)}
.reading-tarot-board::before{content:"";position:absolute;inset:0;opacity:.42;background-image:radial-gradient(circle,#d8ad57 0 1px,transparent 1.5px),linear-gradient(90deg,transparent 37.9%,rgba(176,127,44,.18) 38%,rgba(176,127,44,.18) 38.2%,transparent 38.3%),linear-gradient(0deg,transparent 49.8%,rgba(176,127,44,.18) 50%,rgba(176,127,44,.18) 50.2%,transparent 50.3%);background-size:97px 97px,100% 100%,100% 100%;pointer-events:none}
.reading-tarot-board::after{content:"✦";position:absolute;left:38%;top:50%;width:390px;height:390px;display:grid;place-items:center;border:1px solid rgba(177,129,45,.14);border-radius:50%;color:rgba(205,157,67,.13);font-size:70px;transform:translate(-50%,-50%);box-shadow:inset 0 0 55px rgba(153,103,29,.08);pointer-events:none}
.reading-tarot-hover-preview{position:absolute;z-index:100;left:50%;top:50%;width:min(328px,calc(100% - 28px));aspect-ratio:.64;padding:5px;border:1px solid #edc16a;border-radius:8px;background:#030605;box-shadow:0 28px 65px rgba(0,0,0,.92),0 0 42px rgba(224,170,66,.45),inset 0 0 0 4px #050807,inset 0 0 0 5px #b88639;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.86);transition:opacity .16s ease,visibility .16s ease,transform .2s ease}
.reading-tarot-hover-preview.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.reading-tarot-hover-preview img{display:block;width:100%;height:100%;border-radius:4px;object-fit:cover;filter:brightness(1.08) contrast(1.05)}
.reading-tarot-hover-preview span{position:absolute;left:50%;top:-15px;display:grid;width:30px;height:30px;place-items:center;border:1px solid #e6b95e;border-radius:50%;color:#f7d78d;background:#080c09;font-size:13px;transform:translateX(-50%);box-shadow:0 0 18px rgba(226,172,70,.48)}
.reading-tarot-spread-card{--spread-rotate:0deg;position:absolute;z-index:3;left:var(--spread-x);top:var(--spread-y);width:82px;aspect-ratio:.64;padding:0;border:1px solid #bd8c3b;border-radius:4px;background:#030605;box-shadow:0 13px 20px rgba(0,0,0,.72),0 0 0 3px #050807,0 0 0 4px rgba(145,101,35,.74);transform:translate(-50%,-50%) rotate(var(--spread-rotate));transform-origin:center;cursor:pointer;animation:readingCelticDeal .74s cubic-bezier(.18,.86,.28,1.12) both;animation-delay:var(--delay);transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.reading-tarot-spread-card:hover,.reading-tarot-spread-card:focus-visible,.reading-tarot-spread-card.active{z-index:30;filter:brightness(1.22);transform:translate(-50%,-56%) rotate(var(--spread-rotate)) scale(1.12);box-shadow:0 18px 28px rgba(0,0,0,.82),0 0 24px rgba(224,170,66,.48),0 0 0 2px #ebbd62;outline:none}
.reading-tarot-spread-card .reading-tarot-image{width:100%;height:100%;object-fit:cover;border-radius:3px;filter:none}
.reading-tarot-spread-number{position:absolute;left:50%;top:-12px;display:grid;width:25px;height:25px;place-items:center;border:1px solid #d8aa52;border-radius:50%;color:#f5d58a;background:#090d0a;font-size:12px;line-height:1;transform:translateX(-50%);box-shadow:0 0 13px rgba(217,165,70,.35)}
.reading-tarot-spread-card--1{--spread-x:38%;--spread-y:50%}.reading-tarot-spread-card--2{--spread-x:38%;--spread-y:50%;--spread-rotate:90deg;z-index:8}.reading-tarot-spread-card--3{--spread-x:38%;--spread-y:20%}.reading-tarot-spread-card--4{--spread-x:18%;--spread-y:50%}.reading-tarot-spread-card--5{--spread-x:38%;--spread-y:80%}.reading-tarot-spread-card--6{--spread-x:58%;--spread-y:50%}.reading-tarot-spread-card--7{--spread-x:83%;--spread-y:82%}.reading-tarot-spread-card--8{--spread-x:83%;--spread-y:61%}.reading-tarot-spread-card--9{--spread-x:83%;--spread-y:40%}.reading-tarot-spread-card--10{--spread-x:83%;--spread-y:19%}
.reading-tarot-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.reading-tarot-note{position:relative;min-width:0;padding:12px 13px;border:1px solid rgba(117,84,33,.65);border-radius:4px;background:linear-gradient(135deg,rgba(18,28,23,.94),rgba(3,8,6,.96));box-shadow:inset 0 0 0 3px rgba(2,5,4,.82);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}
.reading-tarot-note::before{content:"";position:absolute;left:-10px;top:25px;width:10px;height:1px;background:linear-gradient(90deg,transparent,#8f6729);opacity:.38;transition:width .2s ease,filter .2s ease,opacity .2s ease}
.reading-tarot-note:hover,.reading-tarot-note:focus,.reading-tarot-note.active{border-color:#d1a04e;background:radial-gradient(circle at 12% 12%,rgba(162,111,33,.22),transparent 40%),#07100d;box-shadow:inset 0 0 0 3px #020504,0 0 17px rgba(194,139,46,.22);outline:none;transform:translateY(-2px)}
.reading-tarot-note:hover::before,.reading-tarot-note:focus::before,.reading-tarot-note.active::before{width:18px;opacity:1;filter:drop-shadow(0 0 5px #dca84f)}
.reading-tarot-note h3{margin:0 0 3px!important;color:#ebc36d!important;font-size:16px!important}.reading-tarot-note h4{margin:0 0 7px;color:#b99a5a;font-size:13px;font-weight:500;line-height:1.35}.reading-tarot-note p{margin:0!important;color:#c7b074;font-size:12.5px;line-height:1.58;white-space:pre-line}
@keyframes readingCelticDeal{0%{opacity:0;transform:translate(-50%,-90%) rotate(calc(var(--spread-rotate) - 18deg)) rotateY(85deg) scale(.72)}100%{opacity:1;transform:translate(-50%,-50%) rotate(var(--spread-rotate))}}
/* Reading text must be available from the first frame, even if a touch
   browser pauses an entrance animation while the user scrolls. */
@media(prefers-reduced-motion:reduce){.reading-tarot-note,.reading-tarot-spread-card{animation:none!important;transition:none!important}}
@media(max-width:1050px){.reading-tarot-celtic-layout{grid-template-columns:1fr}.reading-tarot-board{position:relative;top:auto;min-height:620px}.reading-tarot-notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.result-dialog--tarot{width:100vw;max-height:100dvh;border-radius:0}.result-dialog--tarot .dialog-shell{padding-inline:12px}.reading-tarot-celtic>h2{font-size:23px}.reading-tarot-celtic-intro{font-size:12px}.reading-tarot-board{min-height:510px}.reading-tarot-board::after{width:260px;height:260px}.reading-tarot-spread-card{width:54px}.reading-tarot-spread-card--4{--spread-x:15%}.reading-tarot-spread-card--6{--spread-x:60%}.reading-tarot-spread-card--7,.reading-tarot-spread-card--8,.reading-tarot-spread-card--9,.reading-tarot-spread-card--10{--spread-x:85%}.reading-tarot-notes{grid-template-columns:1fr}.reading-tarot-note p{font-size:13px}}
@media (hover:none),(pointer:coarse){
  .reading-tarot-spread-card,.reading-tarot-spread-card .reading-tarot-image{
    touch-action:manipulation;
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    user-select:none;
  }
  .reading-tarot-hover-preview{transition:none}
}

/* เครื่องยนต์พิธี 2.5D ร่วม — แต่ละศาสตร์ใช้ภาพ สี ตรา และวัตถุพิธีของตนเอง */
.ritual-dialog--cinematic-25d:not(.ritual-dialog--tarot-25d){width:calc(100vw - 20px);height:calc(100dvh - 20px);max-width:1240px;max-height:none;margin:auto;overflow:hidden}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d){height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto auto auto;box-sizing:border-box;padding:18px 24px 20px;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--ritual-surface,#32200f) 58%,transparent),transparent 43%),linear-gradient(180deg,#050b08,#010303 82%)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-heading{font-size:clamp(24px,2.25vw,36px)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-subtitle{max-width:900px;margin-bottom:5px;font-size:clamp(13px,1.12vw,17px)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-stage{--ritual-look-x:0;--ritual-look-y:0;--ritual-cursor-x:50%;--ritual-cursor-y:45%;height:auto;min-height:0;margin:6px 0 0;isolation:isolate;perspective:1200px;background:#020504;box-shadow:inset 0 0 100px #000,0 14px 42px rgba(0,0,0,.75)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-stage::before{z-index:5;bottom:-27%;height:62%;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--ritual-accent,#c29143) 20%,transparent),rgba(15,8,4,.98) 62%);transform:rotateX(69deg)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-stage::after{z-index:31;background:radial-gradient(circle at var(--ritual-cursor-x) var(--ritual-cursor-y),color-mix(in srgb,var(--ritual-accent,#d6aa55) 13%,transparent),transparent 20%),linear-gradient(110deg,transparent 34%,rgba(255,224,155,.05) 49%,transparent 64%),radial-gradient(ellipse,transparent 45%,rgba(0,0,0,.76) 100%)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle{z-index:20;bottom:52px;transform:scale(1.18);filter:drop-shadow(0 0 13px color-mix(in srgb,var(--ritual-accent,#d5a44e) 38%,transparent))}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle.left{left:4.5%}.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle.right{right:4.5%}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-motes{z-index:22}.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-smoke{z-index:18;width:62%;height:27%}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-status{margin-top:8px;color:color-mix(in srgb,var(--ritual-accent,#d8ad57) 86%,#fff 14%);font-size:clamp(14px,1.2vw,18px)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d):has(.ritual-auto-sequence) .ritual-status::before{content:"พิธีอัตโนมัติ";display:inline-grid;place-items:center;margin-right:9px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--ritual-accent,#d8ad57) 55%,transparent);border-radius:999px;color:color-mix(in srgb,var(--ritual-accent,#d8ad57) 82%,#fff 18%);background:color-mix(in srgb,var(--ritual-surface,#32200f) 72%,rgba(2,5,4,.9));font-size:.72em;line-height:1.2;vertical-align:middle;box-shadow:0 0 13px color-mix(in srgb,var(--ritual-glow,rgba(218,156,49,.35)) 48%,transparent)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-progress{width:min(760px,72vw)}
.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-action{margin-top:8px;border-color:var(--ritual-accent,#9d7435);box-shadow:0 10px 24px rgba(0,0,0,.54),0 0 20px color-mix(in srgb,var(--ritual-glow,rgba(218,156,49,.42)) 58%,transparent)}
.ritual-shell--cinematic-25d:fullscreen{width:100vw;height:100vh;background:#010303}

.ritual-cinematic-scene{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;transform-style:preserve-3d;animation:ritual25SceneEnter 1.15s ease-out both}
.ritual-cinematic-backdrop{position:absolute;z-index:0;inset:-10%;display:block;width:120%;height:120%;object-fit:cover;object-position:50% 38%;opacity:.17;filter:brightness(.46) contrast(1.18) saturate(.74) sepia(.1) blur(.35px);transform:translate3d(calc(var(--ritual-look-x) * -14px),calc(var(--ritual-look-y) * -9px),-90px) scale(1.08);transition:transform .3s ease-out,opacity .8s ease,filter .8s ease}
.ritual-cinematic-stars{position:absolute;z-index:1;inset:-20%;opacity:.42;background-image:radial-gradient(circle,var(--ritual-accent,#d9ad57) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(255,232,178,.58) 0 1px,transparent 1.7px);background-position:0 0,37px 51px;background-size:89px 89px,139px 139px;transform:translate3d(calc(var(--ritual-look-x) * -25px),calc(var(--ritual-look-y) * -15px),-55px);transition:transform .3s ease-out;animation:ritual25Stars 5.8s ease-in-out infinite alternate}
.ritual-cinematic-arch{position:absolute;z-index:2;left:8%;right:8%;top:7%;bottom:4%;border:1px solid color-mix(in srgb,var(--ritual-accent,#c79543) 30%,transparent);border-bottom-color:transparent;border-radius:48% 48% 7% 7%/36% 36% 6% 6%;opacity:.42;box-shadow:inset 0 0 45px rgba(0,0,0,.65),0 0 32px color-mix(in srgb,var(--ritual-glow,rgba(205,151,65,.3)) 45%,transparent);transform:translate3d(calc(var(--ritual-look-x) * -7px),calc(var(--ritual-look-y) * -4px),-28px);transition:transform .28s ease-out,opacity .8s ease}
.ritual-cinematic-arch::before,.ritual-cinematic-arch::after{content:"";position:absolute;top:15%;bottom:0;width:5.5%;border:1px solid color-mix(in srgb,var(--ritual-accent,#c79543) 36%,transparent);background:repeating-linear-gradient(90deg,transparent 0 7px,color-mix(in srgb,var(--ritual-accent,#c79543) 7%,transparent) 8px 9px);box-shadow:inset 0 0 18px rgba(0,0,0,.72)}.ritual-cinematic-arch::before{left:0}.ritual-cinematic-arch::after{right:0}
.ritual-cinematic-arch i,.ritual-cinematic-arch b{position:absolute;left:50%;border:1px solid color-mix(in srgb,var(--ritual-accent,#c79543) 32%,transparent);transform:translateX(-50%) rotate(45deg)}.ritual-cinematic-arch i{top:-7px;width:22px;height:22px}.ritual-cinematic-arch b{bottom:7%;width:12px;height:12px}
.ritual-cinematic-halo{position:absolute;z-index:3;left:50%;top:43%;width:min(48vh,460px);aspect-ratio:1;margin:calc(min(48vh,460px) / -2);border:1px solid color-mix(in srgb,var(--ritual-accent,#d0a14e) 32%,transparent);border-radius:50%;opacity:.3;box-shadow:0 0 85px var(--ritual-glow,rgba(208,151,54,.2)),inset 0 0 60px color-mix(in srgb,var(--ritual-glow,rgba(208,151,54,.18)) 58%,transparent);transform:translate3d(calc(var(--ritual-look-x) * 15px),calc(var(--ritual-look-y) * 9px),-8px) scale(.86) rotate(-18deg);transition:transform 1s cubic-bezier(.16,.82,.24,1),opacity .8s ease,filter .8s ease}
.ritual-cinematic-halo::before,.ritual-cinematic-halo::after{content:"";position:absolute;border:1px dashed color-mix(in srgb,var(--ritual-accent,#d0a14e) 35%,transparent);border-radius:50%}.ritual-cinematic-halo::before{inset:10%}.ritual-cinematic-halo::after{inset:25%;border-style:dotted}
.ritual-cinematic-halo i{position:absolute;inset:34%;display:grid;place-items:center;border:3px double color-mix(in srgb,var(--ritual-accent,#d0a14e) 62%,transparent);border-radius:50%;color:color-mix(in srgb,var(--ritual-accent,#d0a14e) 88%,#fff 12%);background:radial-gradient(circle,var(--ritual-surface,#33200f),rgba(2,5,4,.92) 72%);font:600 clamp(18px,2.4vw,31px)/1 Sarabun,sans-serif;font-style:normal;text-shadow:0 0 18px var(--ritual-glow,rgba(208,151,54,.4));box-shadow:0 0 26px var(--ritual-glow,rgba(208,151,54,.24))}
.ritual-cinematic-curtain{position:absolute;z-index:4;top:-8%;bottom:-8%;width:24%;opacity:.72;filter:blur(.25px);background:linear-gradient(90deg,#010202,color-mix(in srgb,var(--ritual-surface,#3b2112) 88%,#090605 12%) 38%,color-mix(in srgb,var(--ritual-accent,#c18d40) 25%,transparent) 58%,rgba(4,5,4,.94));box-shadow:inset -18px 0 30px rgba(0,0,0,.84);transition:transform .9s cubic-bezier(.18,.8,.25,1),opacity .8s ease}.ritual-cinematic-curtain.left{left:-8%;transform:translate3d(calc(var(--ritual-look-x) * -8px),0,38px) skewX(-3deg)}.ritual-cinematic-curtain.right{right:-8%;transform:translate3d(calc(var(--ritual-look-x) * 8px),0,38px) scaleX(-1) skewX(-3deg)}
.ritual-cinematic-altar{position:absolute;z-index:6;left:-10%;right:-10%;bottom:-27%;height:61%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--ritual-accent,#c18d40) 19%,transparent),color-mix(in srgb,var(--ritual-surface,#29180d) 88%,#080403 12%) 48%,#050302 76%),repeating-linear-gradient(92deg,transparent 0 89px,color-mix(in srgb,var(--ritual-accent,#c18d40) 5%,transparent) 90px 91px);box-shadow:0 -8px 36px color-mix(in srgb,var(--ritual-glow,rgba(198,126,39,.16)) 52%,transparent),inset 0 8px 22px color-mix(in srgb,var(--ritual-accent,#c18d40) 8%,transparent);transform:translate3d(calc(var(--ritual-look-x) * 9px),calc(var(--ritual-look-y) * 5px),76px) rotateX(64deg);transform-origin:50% 0;transition:transform .24s ease-out,filter .8s ease}
.ritual-cinematic-altar i{position:absolute;left:50%;top:14px;padding:5px 22px;border:1px solid color-mix(in srgb,var(--ritual-accent,#c18d40) 46%,transparent);border-radius:999px;color:color-mix(in srgb,var(--ritual-accent,#d6aa55) 84%,#fff 16%);background:rgba(3,6,5,.78);font:500 13px/1.2 Sarabun,sans-serif;font-style:normal;letter-spacing:.5px;white-space:nowrap;opacity:.76;transform:translateX(-50%) rotateX(-64deg)}
.ritual-cinematic-mist{position:absolute;z-index:8;left:-20%;right:-20%;height:34%;border-radius:50%;filter:blur(24px);opacity:.23;background:radial-gradient(ellipse,color-mix(in srgb,var(--ritual-accent,#d2a14e) 13%,transparent),transparent 68%)}.ritual-cinematic-mist.far{top:22%;animation:ritual25Mist 9s ease-in-out infinite alternate}.ritual-cinematic-mist.near{z-index:19;bottom:-5%;opacity:.17;animation:ritual25Mist 6.8s -2.4s ease-in-out infinite alternate-reverse}
.ritual-cinematic-light{position:absolute;z-index:9;left:var(--ritual-cursor-x);top:var(--ritual-cursor-y);width:300px;height:230px;margin:-115px -150px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--ritual-accent,#e2b35c) 18%,transparent),color-mix(in srgb,var(--ritual-accent,#e2b35c) 4%,transparent) 38%,transparent 70%);filter:blur(8px);transition:left .18s ease-out,top .18s ease-out}
.ritual-cinematic-flash{position:absolute;z-index:28;left:50%;top:43%;width:22px;height:22px;margin:-11px;border-radius:50%;opacity:0;background:color-mix(in srgb,var(--ritual-accent,#ebc16e) 70%,#fff 30%);box-shadow:0 0 95px 72px var(--ritual-glow,rgba(215,160,60,.36));pointer-events:none}

.ritual-stage.ceremony-step-1 .ritual-cinematic-curtain.left,.ritual-stage.thai-step-1 .ritual-cinematic-curtain.left,.ritual-stage[data-page]:not([data-page=""]) .ritual-cinematic-curtain.left,.ritual-stage[data-shake]:not([data-shake=""]) .ritual-cinematic-curtain.left,.ritual-stage.is-locked .ritual-cinematic-curtain.left{transform:translate3d(-68%,0,38px) skewX(-3deg);opacity:.38}
.ritual-stage.ceremony-step-1 .ritual-cinematic-curtain.right,.ritual-stage.thai-step-1 .ritual-cinematic-curtain.right,.ritual-stage[data-page]:not([data-page=""]) .ritual-cinematic-curtain.right,.ritual-stage[data-shake]:not([data-shake=""]) .ritual-cinematic-curtain.right,.ritual-stage.is-locked .ritual-cinematic-curtain.right{transform:translate3d(68%,0,38px) scaleX(-1) skewX(-3deg);opacity:.38}
.ritual-stage.ceremony-step-1 .ritual-cinematic-backdrop,.ritual-stage.thai-step-1 .ritual-cinematic-backdrop,.ritual-stage[data-page]:not([data-page=""]) .ritual-cinematic-backdrop,.ritual-stage[data-shake]:not([data-shake=""]) .ritual-cinematic-backdrop,.ritual-stage.is-locked .ritual-cinematic-backdrop{opacity:.29;filter:brightness(.62) contrast(1.2) saturate(.86) sepia(.08)}
.ritual-stage.ceremony-step-2 .ritual-cinematic-halo,.ritual-stage.thai-step-2 .ritual-cinematic-halo,.ritual-stage[data-page="2"] .ritual-cinematic-halo,.ritual-stage[data-page="3"] .ritual-cinematic-halo,.ritual-stage[data-shake="3"] .ritual-cinematic-halo,.ritual-stage[data-shake="4"] .ritual-cinematic-halo,.ritual-stage[data-shake="5"] .ritual-cinematic-halo{opacity:.82;transform:translate3d(calc(var(--ritual-look-x) * 15px),calc(var(--ritual-look-y) * 9px),-8px) scale(1) rotate(0);filter:drop-shadow(0 0 18px var(--ritual-glow,rgba(208,151,54,.38)));animation:ritual25Halo 24s linear infinite}
.ritual-stage.ceremony-step-3 .ritual-cinematic-flash,.ritual-stage.thai-step-4 .ritual-cinematic-flash,.ritual-stage[data-page="3"] .ritual-cinematic-flash,.ritual-stage[data-shake="5"] .ritual-cinematic-flash,.ritual-stage.is-locked .ritual-cinematic-flash{animation:ritual25SealFlash 1.2s ease-out both}
.ritual-stage.ceremony-step-3 .ritual-cinematic-altar,.ritual-stage.thai-step-4 .ritual-cinematic-altar,.ritual-stage[data-page="3"] .ritual-cinematic-altar,.ritual-stage[data-shake="5"] .ritual-cinematic-altar,.ritual-stage.is-locked .ritual-cinematic-altar{filter:brightness(1.32) saturate(1.1)}

.ritual-shell--profile-dream .ritual-cinematic-backdrop{object-position:50% 50%}.ritual-shell--profile-dream .ritual-cinematic-stars{background-size:73px 73px,121px 121px}
.ritual-shell--profile-name .ritual-cinematic-scene{background:radial-gradient(circle at 50% 40%,rgba(145,66,42,.28),transparent 32%),repeating-radial-gradient(circle at 50% 44%,transparent 0 42px,rgba(214,155,94,.06) 43px 44px)}
.ritual-shell--profile-chiam-si .ritual-cinematic-backdrop,.ritual-shell--profile-phromchat .ritual-cinematic-backdrop,.ritual-shell--profile-lost-item .ritual-cinematic-backdrop,.ritual-shell--profile-thai .ritual-cinematic-backdrop{object-position:50% 48%}
.ritual-shell--profile-bazi .ritual-cinematic-backdrop,.ritual-shell--profile-ziwei .ritual-cinematic-backdrop,.ritual-shell--profile-vedic .ritual-cinematic-backdrop,.ritual-shell--profile-nadi .ritual-cinematic-backdrop,.ritual-shell--profile-hellenistic .ritual-cinematic-backdrop,.ritual-shell--profile-western .ritual-cinematic-backdrop,.ritual-shell--profile-kyusei .ritual-cinematic-backdrop,.ritual-shell--profile-tibetan .ritual-cinematic-backdrop,.ritual-shell--profile-arabic .ritual-cinematic-backdrop,.ritual-shell--profile-maya .ritual-cinematic-backdrop,.ritual-shell--profile-babylonian .ritual-cinematic-backdrop{object-position:50% 28%;opacity:.2}
.ritual-stage.interactive-world .ritual-emblem,.ritual-thai-wheel>img{-webkit-mask-image:radial-gradient(circle at center,#000 0 54%,rgba(0,0,0,.94) 64%,transparent 82%);mask-image:radial-gradient(circle at center,#000 0 54%,rgba(0,0,0,.94) 64%,transparent 82%)}

@keyframes ritual25SceneEnter{from{opacity:0;transform:scale(1.06);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes ritual25Stars{to{opacity:.66;filter:brightness(1.25)}}
@keyframes ritual25Mist{to{transform:translateX(13%) scale(1.12);opacity:.34}}
@keyframes ritual25Halo{to{transform:translate3d(calc(var(--ritual-look-x) * 15px),calc(var(--ritual-look-y) * 9px),-8px) scale(1) rotate(360deg)}}
@keyframes ritual25SealFlash{0%{opacity:0;transform:scale(.2)}24%{opacity:.88}100%{opacity:0;transform:scale(9)}}

@media(max-width:720px){
  .ritual-dialog--cinematic-25d:not(.ritual-dialog--tarot-25d){width:100vw;height:100dvh;border:0;border-radius:0}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d){padding:11px 8px 10px;grid-template-rows:auto auto minmax(430px,1fr) auto auto auto}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-heading{margin:42px 50px 2px;font-size:21px}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-subtitle{max-width:90%;font-size:11px;line-height:1.4}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-stage{margin-inline:0}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle{bottom:40px;transform:scale(.8)}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle.left{left:17px}.ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-candle.right{right:17px}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-progress{width:86vw}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-action{min-height:43px;margin-top:4px;font-size:16px}
  .ritual-cinematic-arch{left:3%;right:3%}.ritual-cinematic-halo{width:320px;margin:-160px}.ritual-cinematic-altar i{font-size:10px}
}
@media(max-width:420px){
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d){grid-template-rows:auto auto minmax(405px,1fr) auto auto auto}
  .ritual-shell--cinematic-25d:not(.ritual-shell--tarot-25d) .ritual-heading{font-size:19px}
  .ritual-cinematic-halo{width:280px;margin:-140px}.ritual-cinematic-curtain{width:31%}.ritual-cinematic-altar i{top:10px;padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.ritual-cinematic-scene,.ritual-cinematic-scene *{animation:none!important;transition:none!important}}

/* Name ceremony only: the illustrated book, orbit and seal are isolated in
   name-ritual-scene. Other rituals retain their existing layout and artwork. */
.ritual-shell--cinematic-25d.ritual-shell--profile-name:not(.ritual-shell--tarot-25d){grid-template-rows:auto auto minmax(220px,1fr) auto auto auto}
.ritual-shell--profile-name .ritual-cinematic-halo,.ritual-shell--profile-name .ritual-cinematic-flash{display:none}
.ritual-shell--profile-name .ritual-cinematic-scene{background:radial-gradient(ellipse at 50% 46%,#4b38152e,transparent 62%),linear-gradient(160deg,#07100d,#020503 70%)}
.ritual-shell--profile-name .ritual-cinematic-stars{opacity:.24;background-size:137px 137px,197px 197px}
.ritual-shell--profile-name .ritual-cinematic-arch{opacity:.25}
.ritual-shell--profile-name .ritual-cinematic-altar i{display:none}
.ritual-shell--profile-name .ritual-cinematic-curtain{opacity:.4}
.ritual-shell--profile-name .ritual-stage::after{opacity:.4}
.ritual-shell--profile-name .ritual-motes{pointer-events:none;opacity:.65}
.ritual-shell--profile-name .ritual-smoke,.ritual-shell--profile-name .ritual-candle{pointer-events:none}
.ritual-shell--profile-name .ritual-stage[data-name-motion="paused"] *,.ritual-shell--profile-name .ritual-stage[data-name-motion="paused"] *::before,.ritual-shell--profile-name .ritual-stage[data-name-motion="paused"]::after{animation-play-state:paused!important}
.ritual-shell--profile-name .ritual-stage[data-name-motion="paused"] *{transition:none!important}
.ritual-shell--profile-name .ritual-close,.ritual-shell--profile-name .ritual-sound,.ritual-shell--profile-name .ritual-fullscreen{min-height:44px}
.ritual-shell--profile-name .ritual-close{min-width:44px}
@media(max-width:720px){
  .ritual-shell--profile-name .ritual-stage{border-color:#715622}
  .ritual-shell--cinematic-25d.ritual-shell--profile-name .ritual-status{font-size:13px;line-height:1.5;margin:7px 7px 5px}
  .ritual-shell--cinematic-25d.ritual-shell--profile-name .ritual-subtitle{font-size:12px;max-width:96%}
  .ritual-shell--profile-name .ritual-cinematic-curtain{width:16%;opacity:.25}
}
@media(max-height:550px){
  .ritual-shell--cinematic-25d.ritual-shell--profile-name:not(.ritual-shell--tarot-25d){padding:8px 14px;grid-template-rows:auto auto minmax(130px,1fr) auto auto auto}
  .ritual-shell--cinematic-25d.ritual-shell--profile-name .ritual-heading{font-size:19px;margin:4px 160px 2px}
  .ritual-shell--cinematic-25d.ritual-shell--profile-name .ritual-subtitle{font-size:11px;max-width:70%;line-height:1.3}
  .ritual-shell--cinematic-25d.ritual-shell--profile-name .ritual-status{font-size:11px;margin:4px 0}
}
@media(prefers-reduced-motion:reduce){
  .ritual-shell--profile-name .ritual-stage *,.ritual-shell--profile-name .ritual-stage *::before,.ritual-shell--profile-name .ritual-stage::after{animation:none!important;transition:none!important}
}
