.shrine-menu .premium-draw-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:90px;margin:12px 0;padding:18px;text-align:center;text-decoration:none;background:linear-gradient(120deg,#452923,#6b3827 52%,#352027);color:#ffebae;border:2px solid #d1a658;border-radius:16px;box-shadow:inset 0 0 0 4px #ffffff12,0 5px 18px #3e201925}.premium-draw-entry strong{font-family:'Noto Serif JP',serif;font-size:1.2rem}.premium-draw-entry span{font-size:.9rem;color:#f0dbb0}
.special-fortune>label{display:block;margin:16px 0 8px;font-size:1rem}.special-fortune>select{width:100%;padding:12px;margin-bottom:20px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid #b7a17e;border-radius:8px}.special-fortune .stats strong{font-size:1.3rem}.special-links{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.special-links a{color:var(--red)}.special-links button,#specialVoicePlay{font:inherit;padding:10px 14px;min-height:44px;border:1px solid #ba9b68;border-radius:8px;background:var(--paper);color:var(--ink)}.special-history summary{cursor:pointer;padding:14px 0}.special-history button{display:block;width:100%;text-align:left;min-height:48px;margin:8px 0;padding:12px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid #c5b080;border-radius:8px}.special-small,#specialVoiceStatus{font-size:.9rem;line-height:1.7}.special-result.fortune-dialog{--rank-color:#bf8d2c;--rank-deep:#795000;--rank-pale:#fff1a8;--rank-glow:#dab25466;width:min(540px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 0 50px #f4cc6740,0 24px 90px #0008}.special-result .dialog-inner{background:radial-gradient(ellipse at top,#fff1ba,transparent 50%),#fffaf0;border:2px solid #d3ad5c;box-shadow:inset 0 0 60px #e7bb5350}.special-result .result-kicker{font-size:.9rem;color:#916017}.special-result .rank-seal{color:#825514;border-color:#c3973b;box-shadow:0 0 36px #e9c56990,inset 0 0 0 5px #fffaf0;animation:special-seal 1s ease-out}.special-result h4{text-align:left;color:#875818;font-size:1rem;border-bottom:1px solid #d7b875;padding-bottom:8px;margin:24px 0 8px}.special-result #specialResultBody>p{font-family:var(--serif);font-size:1rem;text-align:left;line-height:1.9}.special-result blockquote{font-family:var(--serif);font-size:1.1rem;line-height:1.9;margin:18px 0 24px;padding:16px;background:#edcf802b;border-left:3px solid #ba8a29}.special-result[open] .dialog-inner{animation:special-unveil .65s ease-out}.special-result small{display:block;margin-top:14px;line-height:1.7}.special-result::backdrop{background:radial-gradient(ellipse at center,#7d592055,#120d15dd);backdrop-filter:blur(7px)}@keyframes special-unveil{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}@keyframes special-seal{from{filter:brightness(1.8);transform:rotate(-2deg) scale(.8)}to{filter:brightness(1);transform:rotate(-2deg)}}@media(max-width:520px){.special-result .dialog-inner{padding:36px 24px 24px}}@media(prefers-reduced-motion:reduce){.special-result[open] .dialog-inner,.special-result .rank-seal{animation:none}}
.special-ritual{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:#fff8e8;background:radial-gradient(circle at 50% 28%,#9c552c 0%,#3d1827 55%,#140d1a 100%);overflow:auto;overscroll-behavior:contain}.special-ritual::backdrop{background:#120d19}.ritual-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:clamp(12px,3vh,32px) 16px;text-align:center;box-sizing:border-box}.ritual-close{position:fixed;z-index:4;top:max(12px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border:1px solid #e5c890;border-radius:50%;background:#271725;color:white;font-size:25px}.ritual-eyebrow{margin:0;color:#efd39b;letter-spacing:.16em;font-size:.9rem}.special-ritual h2{font-family:var(--serif);font-size:clamp(1.35rem,4vw,2.1rem);line-height:1.35;margin:.1rem 0}.ritual-deity-name{color:#ffde96;margin:0;font-size:1rem}.ritual-deity{height:clamp(160px,32dvh,320px);max-width:min(80vw,380px);object-fit:contain;filter:drop-shadow(0 0 28px #f9d487aa);animation:ritual-appear .8s ease-out both,ritual-float 4s ease-in-out infinite 1s}.ritual-paper-wrap{width:min(255px,48vw);margin:-12px 0 0;z-index:2;filter:drop-shadow(0 12px 23px #1006109f)}.ritual-paper{width:100%;aspect-ratio:3/4;background-image:none;background-size:400% 100%;background-position:0 0;display:grid;place-items:center}.ritual-paper[data-frame="1"]{background-position:33.333% 0}.ritual-paper[data-frame="2"]{background-position:66.666% 0}.ritual-paper[data-frame="3"]{background-position:100% 0}.ritual-rank{display:none;font-family:var(--serif);font-weight:800;font-size:clamp(2.1rem,7vw,3.2rem);color:#a12b25;text-shadow:0 1px #fff;transform:translateY(-4px)}.ritual-paper[data-frame="3"] .ritual-rank:not(:empty){display:block;animation:ritual-rank .65s ease-out both}.special-ritual #ritualStatus{margin:.4rem 0;color:#f2ddbe;line-height:1.6;min-height:1.6em}.special-ritual #ritualRead{min-height:48px;padding:10px 22px;border-radius:30px;border:1px solid #f3d892;background:linear-gradient(#fce9ae,#dba746);color:#372020;font:700 1rem var(--serif)}@keyframes ritual-appear{from{opacity:0;transform:translateY(25px) scale(.94)}to{opacity:1;transform:none}}@keyframes ritual-float{50%{transform:translateY(-8px)}}@keyframes ritual-rank{from{opacity:0;transform:translateY(12px) scale(.7)}to{opacity:1;transform:translateY(-4px) scale(1)}}@media(max-height:650px){.ritual-deity{height:25dvh}.ritual-paper-wrap{width:min(180px,35vw)}}@media(prefers-reduced-motion:reduce){.ritual-deity,.ritual-paper[data-frame="3"] .ritual-rank:not(:empty){animation:none}}
/* Full-screen encounter and sequential ritual stages */
.special-ritual .ritual-shell{position:relative;width:100%;height:100dvh;min-height:100dvh;padding:0;overflow:hidden;justify-content:initial;background:radial-gradient(circle at 50% 40%,#a36168,#241221 85%)}
.special-ritual .ritual-deity{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%;filter:brightness(.76) saturate(1.12);animation:ritual-appear .75s ease-out both,ritual-float 5s ease-in-out infinite 1s}
.special-ritual .ritual-shell:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#170e22a0 0%,transparent 27%,transparent 53%,#140d1ee8 100%);pointer-events:none}
.special-ritual .ritual-eyebrow,.special-ritual h2,.special-ritual .ritual-deity-name{position:relative;z-index:2;text-shadow:0 2px 14px #100712;pointer-events:none}
.special-ritual .ritual-eyebrow{margin-top:max(38px,env(safe-area-inset-top));font-size:clamp(.8rem,2vw,1rem)}
.special-ritual h2{font-size:clamp(1.15rem,3vw,1.8rem)}
.special-ritual .ritual-deity-name{font-size:.95rem}
.special-ritual .ritual-welcome{position:absolute;z-index:3;left:0;right:0;bottom:max(36px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 20px}
.special-ritual .ritual-invitation{margin:0 0 clamp(12px,4vh,42px);font-family:var(--serif);font-weight:800;font-size:clamp(2rem,7vw,5rem);line-height:1.35;letter-spacing:.06em;color:#fff9dc;text-shadow:0 3px 8px #1b0920,0 0 32px #1b0920}
.special-ritual #ritualPurchase,.special-ritual #ritualUseTicket{width:min(440px,90vw);min-height:58px;border:1px solid #f6dfa8;border-radius:36px;background:linear-gradient(#ffedb5,#d69d43);color:#351c1a;font:700 clamp(1rem,2vw,1.25rem) var(--serif);box-shadow:0 8px 32px #150710b0}
.special-ritual #ritualPurchase:disabled{opacity:.72;cursor:not-allowed}
.special-ritual #ritualUseTicket{background:#f3fff0;color:#24442c;border-color:#a8d0a2}
.special-ritual #ritualStatus{position:absolute;z-index:3;bottom:5px;left:10px;right:10px;font-size:.85rem;text-shadow:0 2px 6px #000}
.special-ritual .ritual-bell-frames{display:none;position:absolute;inset:0;width:100%;height:100%;background-size:400% 100%;background-repeat:no-repeat;background-position:0 0}
.special-ritual .ritual-bell-frames[data-frame="1"]{background-position:33.333% 0}.special-ritual .ritual-bell-frames[data-frame="2"]{background-position:66.666% 0}.special-ritual .ritual-bell-frames[data-frame="3"]{background-position:100% 0}
.special-ritual[data-phase="bell"] .ritual-bell-frames{display:block;z-index:1;background-size:400% 100%}
.special-ritual[data-phase="bell"] .ritual-deity{visibility:hidden}
.special-ritual[data-phase="bell"] .ritual-welcome,.special-ritual[data-phase="paper"] .ritual-welcome,.special-ritual[data-phase="rank"] .ritual-welcome{display:none}
.special-ritual .ritual-paper-wrap{display:none;position:absolute;z-index:3;top:50%;left:50%;width:min(55vw,290px,36dvh);margin:0;transform:translate(-50%,-43%)}
.special-ritual[data-phase="paper"] .ritual-paper-wrap,.special-ritual[data-phase="rank"] .ritual-paper-wrap{display:block}
.special-ritual #ritualRead{position:absolute;z-index:4;bottom:clamp(38px,8vh,85px);left:50%;transform:translateX(-50%);white-space:nowrap}
@media(max-width:650px){.special-ritual .ritual-deity{object-position:center center}.special-ritual .ritual-bell-frames{background-size:400% 100%}.special-ritual .ritual-invitation{font-size:clamp(1.9rem,8vw,3rem)}.special-ritual .ritual-paper-wrap{width:min(67vw,270px)}}
@media(prefers-reduced-motion:reduce){.special-ritual .ritual-deity{animation:none}}
.special-ritual .ritual-invitation-row{position:relative;width:min(900px,100%);display:flex;justify-content:center;align-items:flex-start}
.special-ritual .ritual-invitation-row .ritual-invitation{max-width:100%;padding:0 clamp(0px,2vw,38px)}
.special-ritual .ritual-test-draw{position:absolute;right:0;top:0;z-index:4;min-height:34px;padding:6px 10px;border-radius:18px;border:1px solid #ffdf9d;background:#201823de;color:#ffe8a6;font:700 .75rem var(--serif);box-shadow:0 2px 12px #110917aa;cursor:pointer}
.special-ritual .ritual-test-draw:disabled{opacity:.6;cursor:wait}
@media(max-width:650px){.special-ritual .ritual-invitation-row .ritual-invitation{padding:0 62px 0 0;text-align:center}.special-ritual .ritual-test-draw{right:0;top:4px}}
.fortune-share-status{font-size:.9rem;line-height:1.6;color:#70471e;max-width:460px;margin:8px auto}
.fortune-share-status:empty{display:none}

/* V71: obsolete paper and bell frames cannot surface, including restored pages. */
.special-ritual .ritual-paper-wrap,.special-ritual .ritual-bell-frames{display:none!important;background-image:none!important;visibility:hidden!important}
.special-ritual[data-phase="summoning"] .ritual-welcome,.special-ritual[data-phase="motion"] .ritual-welcome{display:none}
