:root{--ink:#080806;--paper:#d8c19a;--cinnabar:#9f261f;--old-gold:#b9914f;--brush:"FZKai-Z03","STKaiti","KaiTi","BiauKai","Noto Serif SC","Songti SC",serif}.ritual-hero{min-height:100svh;background:#070706}.ritual-hero .hero-image{opacity:.28;filter:saturate(.62) contrast(1.12)}.ritual-hero .hero-shade{background:radial-gradient(circle at 50% 42%,transparent 0 18%,rgba(5,5,4,.58) 55%,#050504 90%),linear-gradient(90deg,rgba(0,0,0,.72),transparent 35% 65%,rgba(0,0,0,.72))}.rite-progress{position:absolute;z-index:4;top:94px;left:50%;display:flex;align-items:center;gap:14px;color:#70685c;font-family:var(--brush);font-size:12px;letter-spacing:.22em;transform:translateX(-50%);white-space:nowrap}.rite-progress i{width:34px;height:1px;background:rgba(185,145,79,.25)}.rite-progress span.is-current{color:#d8c19a}.ritual-stage{position:absolute;z-index:3;inset:130px 5vw 48px;display:grid;place-items:center;overflow:hidden}.rite-panel{position:absolute;inset:0;display:grid;place-items:center;visibility:hidden;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1),visibility .7s}.rite-panel.is-active{visibility:visible;opacity:1;transform:none}.intro-panel{align-content:center;text-align:center}.rite-kicker{margin:0 0 24px;color:#998b76;font-family:var(--brush);font-size:13px;letter-spacing:.35em}.intro-panel h1{margin:0;color:#e1d8c6;font-family:var(--brush);font-size:clamp(58px,7vw,108px);font-weight:500;line-height:1.18;letter-spacing:.08em}.intro-panel h1 em{color:#a62d25;font-style:normal}.rite-copy{max-width:37em;margin:30px auto 34px;color:#948d81;font-family:var(--brush);font-size:14px;line-height:2.1;letter-spacing:.08em}.rite-button{position:relative;width:190px;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#e8dcc5;background:rgba(93,15,11,.74);border:1px solid rgba(200,157,92,.36);font-family:var(--brush);font-size:16px;letter-spacing:.24em;transition:transform .2s,background .25s}.rite-button:hover{background:#85251f;transform:translateY(-2px)}.rite-button:disabled{cursor:wait;opacity:.55}.rite-button b{color:#c49c5b;font-size:22px;font-weight:400}.vertical-instruction{position:absolute;right:8%;top:50%;height:270px;display:flex;flex-direction:column;align-items:center;color:#d9c8a8;font-family:var(--brush);writing-mode:vertical-rl;transform:translateY(-50%)}.vertical-instruction small{color:#8e7654;letter-spacing:.25em}.vertical-instruction h2{margin:18px 0 12px;font-size:32px;font-weight:500;letter-spacing:.16em}.vertical-instruction p{margin:0;color:#777064;font-size:13px;letter-spacing:.18em}.jiaobei-panel,.cylinder-panel{grid-template-rows:1fr auto;gap:12px;padding-bottom:12px}.jiaobei-scene{width:min(530px,62vw);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 28px 22px rgba(0,0,0,.68))}.jiaobei-scene img{width:100%;height:100%;object-fit:contain}.is-casting .jiaobei-scene img{animation:castBlocks 1.65s cubic-bezier(.2,.72,.25,1)}.is-holy .jiaobei-scene img{filter:drop-shadow(0 0 24px rgba(181,117,57,.35))}.rite-outcome{position:absolute;left:9%;top:50%;min-width:110px;color:#c7a66c;font-family:var(--brush);font-size:28px;letter-spacing:.16em;writing-mode:vertical-rl;transform:translateY(-50%)}.rite-outcome small{display:block;margin-right:12px;color:#7f776b;font-size:13px}.cylinder-scene{position:relative;width:min(440px,50vw);height:min(570px,62vh);display:grid;place-items:center;filter:drop-shadow(0 30px 30px rgba(0,0,0,.72))}.cylinder-scene img{width:100%;height:100%;object-fit:contain;transform-origin:50% 88%}.is-shaking .cylinder-scene img{animation:shakeCylinder 1.8s cubic-bezier(.36,.07,.19,.97)}.cylinder-scene span{position:absolute;top:7%;left:50%;width:48px;height:170px;display:grid;place-items:center;color:#3b2112;background:linear-gradient(90deg,#ba8744,#e3bd74 48%,#a87337);border:1px solid rgba(92,48,17,.45);font-family:var(--brush);font-size:24px;writing-mode:vertical-rl;opacity:0;transform:translate(-50%,120px);box-shadow:0 12px 30px rgba(0,0,0,.5)}.has-slip .cylinder-scene span{animation:riseSlip 1.1s cubic-bezier(.16,1,.3,1) forwards}.pending-slip{position:absolute;left:9%;top:33%;color:#8f826e;font-family:var(--brush);font-size:15px;letter-spacing:.2em;writing-mode:vertical-rl}.ritual-note{position:absolute;z-index:4;bottom:18px;left:50%;margin:0;color:#5e5951;font-family:var(--brush);font-size:10px;letter-spacing:.18em;transform:translateX(-50%);white-space:nowrap}.ink-aura{position:absolute;width:58vw;height:58vw;max-width:720px;max-height:720px;border-radius:50%;background:radial-gradient(circle,rgba(121,39,27,.1),transparent 66%);filter:blur(12px);pointer-events:none}.scroll-stage{min-height:82vh;display:grid;place-items:center;padding:90px 0 50px;overflow:hidden}.scroll-reveal{position:relative;width:min(1120px,92vw);aspect-ratio:2.9/1;opacity:0;clip-path:inset(0 49%);animation:unroll 1.8s cubic-bezier(.16,1,.3,1) .2s forwards}.scroll-reveal>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.scroll-copy{position:absolute;inset:16% 8% 17%;display:flex;flex-direction:row-reverse;justify-content:center;gap:5.5%;color:#342217;font-family:var(--brush);opacity:0;animation:inkAppear .9s ease 1.55s forwards}.scroll-heading,.scroll-allusion{display:flex;flex-direction:column;align-items:center;gap:18px;writing-mode:vertical-rl}.scroll-heading span{color:#8f3028;font-size:13px;letter-spacing:.28em}.scroll-heading strong{font-size:20px;font-weight:500;letter-spacing:.16em}.scroll-heading b{font-size:32px;font-weight:500}.scroll-copy blockquote{max-height:220px;margin:0;font-size:clamp(20px,2.4vw,34px);font-weight:600;line-height:1.7;letter-spacing:.12em;writing-mode:vertical-rl}.scroll-allusion span{color:#9f3028;font-size:12px;letter-spacing:.25em}.scroll-allusion b{font-size:17px;font-weight:500;letter-spacing:.12em}.scroll-copy>i{position:absolute;left:8%;bottom:3%;width:42px;height:42px;display:grid;place-items:center;color:#8f1f18;border:2px solid #8f1f18;font-size:23px;font-style:normal;opacity:.72;transform:rotate(-5deg)}@keyframes castBlocks{0%{transform:translateY(0) rotate(0);filter:blur(0)}28%{transform:translateY(-120px) rotate(18deg);filter:blur(.4px)}65%{transform:translateY(18px) rotate(-8deg)}78%{transform:translateY(-16px) rotate(3deg)}100%{transform:none}}@keyframes shakeCylinder{0%,100%{transform:rotate(0)}10%,30%,50%,70%{transform:rotate(-4deg) translateX(-8px)}20%,40%,60%,80%{transform:rotate(4deg) translateX(8px)}90%{transform:rotate(-1deg)}}@keyframes riseSlip{0%{opacity:0;transform:translate(-50%,120px)}55%{opacity:1}100%{opacity:1;transform:translate(-50%,-105px) rotate(1deg)}}@keyframes unroll{to{opacity:1;clip-path:inset(0 0)}}@keyframes inkAppear{to{opacity:1}}@media(max-width:760px){.rite-progress{top:82px;gap:7px;font-size:10px}.rite-progress i{width:12px}.ritual-stage{inset:110px 18px 46px}.intro-panel h1{font-size:52px}.rite-copy{max-width:26em;font-size:13px}.vertical-instruction{right:2%;height:230px}.vertical-instruction h2{font-size:25px}.jiaobei-scene{width:88vw}.cylinder-scene{width:77vw;height:54vh}.rite-outcome,.pending-slip{left:1%}.scroll-stage{min-height:740px;padding:40px 0}.scroll-reveal{width:760px;transform:rotate(90deg);aspect-ratio:2.9/1}.scroll-copy{inset:16% 8% 17%}.scroll-copy blockquote{max-height:190px;font-size:22px}.reading-nav{margin-top:10px}}@media(prefers-reduced-motion:reduce){.rite-panel,.scroll-reveal,.scroll-copy{transition:none;animation-duration:.01ms!important}.is-casting .jiaobei-scene img,.is-shaking .cylinder-scene img,.has-slip .cylinder-scene span{animation-duration:.01ms!important}}
