@font-face{font-family:SpecialText;src:url("./assets/special-text-v66.woff") format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:SpecialBrush;src:url('./assets/special-brush-v66.woff') format('woff');font-display:swap}
.special-motion-rank{writing-mode:vertical-rl;text-orientation:upright;font-family:SpecialBrush,serif!important;left:56.15%;top:42.18%;font-size:clamp(38px,15.38vw,60px)!important;line-height:1.08;letter-spacing:.05em;font-weight:400;max-width:none;background:none;-webkit-text-fill-color:#28201c;color:#28201c;-webkit-text-stroke:0;filter:none;text-shadow:0 1px 1px #fff8df}
@media(min-aspect-ratio:390/844){.special-motion-rank{font-size:min(15.38vw,7.11dvh)!important}}
#specialResult{padding:0;border:1px solid #d9b568;border-radius:16px;width:min(570px,calc(100% - 16px));max-height:94dvh;background:#18231f;box-shadow:0 0 0 3px #604b26,0 0 0 5px #e8c97c80,0 20px 80px #000a;overflow:auto}
#specialResult .dialog-inner{padding:16px;background:linear-gradient(145deg,#163d37,#17192d);border:0;box-shadow:inset 0 0 35px #0008;color:#fff3d6;position:relative}
#specialResult .close-button{position:sticky;float:right;top:0;z-index:5;background:#192a26e8;color:#ffe5ac;border:1px solid #c99e52;border-radius:50%;width:34px;height:34px}
.special-result-hero{clear:both;position:relative;height:380px;border:3px double #edd093;border-radius:12px;margin:4px 0 20px;overflow:hidden;background:linear-gradient(#142b2840,#0d211d9c),url('./assets/special-result-background-v66.png') center 30%/cover;box-shadow:0 0 22px #edc76b35}
.special-result-hero:before,.special-result-hero:after{content:'✦';position:absolute;color:#ffe9ab;font-size:28px;z-index:3;top:6px;left:8px;text-shadow:0 0 8px #ffd17f}
.special-result-hero:after{left:auto;right:8px}
.special-result-deity{position:absolute;height:330px;width:auto;max-width:none;left:-12px;bottom:-2px;filter:drop-shadow(0 0 10px var(--special-accent,#b6ddff))}
.special-result-heading{position:absolute;top:13px;left:36px;right:36px;margin:0!important;text-align:center;color:#fff0bf;font-family:serif;font-size:23px;font-weight:700;letter-spacing:.16em;text-shadow:0 2px 3px #12251b}
.special-result-paper{position:absolute;top:66px;right:13px;width:118px;height:278px;padding:14px 9px;background:radial-gradient(ellipse,#fffcef,#f5e3b8);border:3px double #c79b43;box-shadow:0 0 0 3px #4f311a,0 0 0 5px #eac477,0 6px 18px #0007;border-radius:5px;color:#33251b}
.special-result-paper:before,.special-result-paper:after{content:'';position:absolute;left:-9px;right:-9px;height:10px;border-radius:6px;background:linear-gradient(#fff0a3,#b7802b,#f6d881);border:1px solid #8b5925;top:-9px}
.special-result-paper:after{top:auto;bottom:-9px}
#specialResult #specialResultTopic{font-family:serif;text-align:center;font-size:12px;line-height:1.6;margin:0;color:#765328}
#specialResult #specialResultTitle{writing-mode:vertical-rl;text-orientation:upright;font-family:SpecialBrush,serif;font-size:64px;line-height:1.08;letter-spacing:.08em;font-weight:400;color:#281e18;border:0;box-shadow:none;background:none;animation:none;transform:none;text-shadow:none;width:auto;height:auto;margin:13px auto 0;outline-offset:4px}
.special-result-stamp{position:absolute;bottom:16px;right:10px;border:2px solid #ad3028;color:#ad3028;font-family:SpecialBrush,serif;font-size:21px;line-height:1;padding:5px;transform:rotate(-4deg)}
#specialResult #specialResultDate{text-align:center;color:#ffe3a3;margin:12px 0;font-size:12px}
#specialResult #specialResultBody{padding:18px 20px;background:linear-gradient(120deg,#fffaf0,#f6e9cf);color:#382c26;border:3px double #c8a15d;border-radius:10px;box-shadow:inset 0 0 30px #dfb76730;text-align:left}
#specialResult #specialResultBody h4{margin:24px 0 10px;padding:8px 12px;color:#6b4326;background:linear-gradient(90deg,#edd499,#edd49900);border:0;border-left:3px solid #a97728;font-size:15px;letter-spacing:.06em}
#specialResult #specialResultBody h4:first-child{margin-top:0}
#specialResult #specialResultBody p{font-size:15px;line-height:1.95;margin:0 0 16px;text-align:left}
#specialResult #specialResultBody blockquote{background:#f3dda54d;border:1px solid #c59a4c;border-radius:6px;padding:14px;margin:10px 0 0;font-size:16px;line-height:1.95;color:#593820}
#specialResult .share-button{display:block;width:100%;margin:18px 0 10px;padding:14px;background:linear-gradient(#ffebac,#c58d35);border:1px solid #fff0bd;border-radius:9px;color:#3b2514;font-size:15px;font-weight:700;box-shadow:0 3px 0 #76512a}
#specialResult #specialReturn{display:block;width:100%;padding:12px;color:#ffe8b5;background:#122c27;border:1px solid #ac9058;border-radius:8px;font-size:14px}
#specialResult small,#specialResult #specialShareStatus{color:#e8d3a5;font-size:12px;line-height:1.6}
@media(min-width:480px){.special-result-hero{height:440px}.special-result-deity{height:390px;left:14px}.special-result-paper{right:35px;top:78px;width:146px;height:310px}#specialResult #specialResultTitle{font-size:78px}}

#specialResult{font-family:SpecialText,sans-serif}#specialResult .special-result-heading,#specialResult #specialResultTopic,#specialResult #specialResultBody p,#specialResult #specialResultBody blockquote{font-family:SpecialText,sans-serif}

#specialResult #specialResultTitle{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);margin:0}
#specialResult #specialResultTopic{font-size:10px;white-space:nowrap;letter-spacing:0}
#specialResult .close-button{padding:0;margin:0;line-height:1;font-size:24px}

/* V67: original sumi brush artwork; accessible result text remains in the DOM. */
#specialResultTitle,#specialResultTitle:focus,#specialResultTitle:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
.special-motion-rank.has-brush-art,#specialResult #specialResultTitle.has-brush-art{color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke:0!important;text-shadow:none!important;filter:none!important;background-image:url('./assets/special-ranks-brush-v67.png');background-repeat:no-repeat;background-size:500% 100%;font-size:0!important;line-height:0;letter-spacing:0;writing-mode:horizontal-tb}
.special-motion-rank.has-brush-art{width:25.64%;height:26.07%;max-width:none}
#specialResult #specialResultTitle.has-brush-art{width:110px;height:220px;top:49%}
.has-brush-art[data-brush="0"]{background-position:0% 50%!important}.has-brush-art[data-brush="1"]{background-position:25% 50%!important}.has-brush-art[data-brush="2"]{background-position:50% 50%!important}.has-brush-art[data-brush="3"]{background-position:75% 50%!important}.has-brush-art[data-brush="4"]{background-position:100% 50%!important}
@media(min-width:480px){#specialResult #specialResultTitle.has-brush-art{width:136px;height:272px}}

/* V69: invitation uses the same seven deity outfits as the approved films. */
.special-ritual .ritual-shell{background:linear-gradient(#122b2440,#101d22b0),url('./assets/special-result-background-v66.png') center/cover}
.special-ritual .ritual-deity{inset:8% 0 auto;width:100%;height:84%;object-fit:contain;object-position:center;filter:drop-shadow(0 0 18px #ffe5a86b);animation:ritual-appear .75s ease-out both}

body[data-divine="true"] .character-stage .courtyard-scene #weekdayGoddess{object-fit:contain;object-position:center bottom;max-width:calc(100% - 16px);max-height:94%;width:auto;height:auto}

.special-ritual,.special-ritual #ritualHeading,.special-ritual .ritual-invitation,.special-ritual #ritualPurchase,.special-ritual #ritualUseTicket{font-family:SpecialText,sans-serif}

/* V70: dynamic invitation illustration in the approved weekday costume. */
.special-ritual .ritual-deity{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 32%;filter:brightness(.76) saturate(1.03);animation:ritual-appear .75s ease-out both,ritual-float 5s ease-in-out infinite 1s}
@media(max-width:650px){.special-ritual .ritual-deity{object-position:center 30%}}
@media(prefers-reduced-motion:reduce){.special-ritual .ritual-deity{animation:none}}
