/* The guide is isolated inside Fortune Teller; no global site rules. */
.spirit-intro{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#100b1bdd;color:#f7e5ce;overflow:auto;overscroll-behavior:contain}.spirit-intro::backdrop{background:#100b1b}.spirit-intro[open]{display:flex;justify-content:center;align-items:flex-start}.spirit-stage{position:relative;isolation:isolate;width:min(100%,640px);height:min(100dvh,960px);min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#402447,#120c20 75%);box-shadow:0 0 140px #49315a55}.spirit-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;opacity:0;transform:translateY(45px) scale(1.07);filter:blur(12px);pointer-events:none}.spirit-ready .spirit-portrait{animation:spirit-materialize 2.3s cubic-bezier(.18,.65,.23,1) forwards}.spirit-haze{position:absolute;inset:0;background:linear-gradient(180deg,#100b1b05 10%,transparent 30%,#150a2240 58%,#160b2580 100%);pointer-events:none}.smoke-reveal{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.smoke-reveal i{position:absolute;width:110%;height:62%;left:-35%;top:12%;border-radius:50%;background:radial-gradient(ellipse at 35% 50%,#935ccecc 0%,#6840bdaa 25%,#49378e66 42%,transparent 68%);filter:blur(25px);opacity:.8;transform:scale(1.4)}.smoke-reveal i:nth-child(2){left:20%;top:5%;background:radial-gradient(ellipse at 60% 45%,#556fe3cc,#6348bf99 32%,transparent 65%)}.smoke-reveal i:nth-child(3){top:47%;left:-20%;background:radial-gradient(ellipse,#7143c8bb,#4938c399 30%,transparent 65%)}.smoke-reveal i:nth-child(4){left:30%;top:52%;background:radial-gradient(ellipse,#527de3aa,#a051bd66 32%,transparent 65%)}.spirit-ready .smoke-reveal i{animation:smoke-part-left 3.1s cubic-bezier(.15,.7,.2,1) forwards}.spirit-ready .smoke-reveal i:nth-child(2n){animation-name:smoke-part-right;animation-delay:.1s}.spirit-ready .smoke-reveal i:nth-child(3){animation-delay:.18s}.spirit-ready .smoke-reveal i:nth-child(4){animation-delay:.25s}.spirit-stars{position:absolute;inset:0;pointer-events:none;z-index:3;color:#efd09b;font:22px Georgia,serif;opacity:0;transform:translate(14%,30%);text-shadow:0 0 15px #bca5ff}.spirit-ready .spirit-stars{animation:stars-awake 3.6s 1s ease-in-out infinite}.spirit-stars span{position:absolute;left:65%;top:11%;font-size:30px}.spirit-stars i{position:absolute;left:10%;top:42%;font-style:normal;font-size:15px}.spirit-stars b{position:absolute;left:70%;top:47%;font-size:19px;font-weight:400}.question-bubble{position:absolute;z-index:5;top:46%;left:6%;width:88%;padding:28px 28px 20px;background:linear-gradient(145deg,#271333f5,#170e27fa 65%,#302044f5);border:1px solid #e6bf83;border-radius:42px;box-shadow:0 0 0 5px #c6a0e61c,0 0 45px #a35be644,inset 0 0 30px #784ca028,0 20px 45px #09061077;text-align:center;opacity:0;transform:translateY(22px) scale(.94);transition:box-shadow .3s}.spirit-ready .question-bubble{animation:bubble-conjure 1s .9s cubic-bezier(.2,.8,.2,1) forwards}.question-bubble:before,.question-bubble:after{content:'✦';position:absolute;color:#f0cf92;font:18px Georgia,serif;text-shadow:0 0 13px #e9b97b;top:45%;left:-10px}.question-bubble:after{left:auto;right:-10px}.bubble-crescent{position:absolute;left:calc(50% - 20px);top:-25px;width:40px;height:40px;display:grid;place-items:center;font:33px Georgia,serif;color:#f0cb8a;background:#251331;border-radius:50%;text-shadow:0 0 20px #dba96080}.intro-eyebrow{font:9px system-ui,sans-serif;letter-spacing:2.8px;color:#c4a7d1}.question-bubble h1{font:clamp(25px,3.5vw,34px)/1.15 Georgia,serif;margin:11px 0 10px;color:#f9e4bf;letter-spacing:-.5px}.question-bubble h1 br{display:none}.question-bubble>p{font:12px/1.5 system-ui,sans-serif;color:#cbb4cd;margin:0 0 15px}.question-bubble textarea{display:block;resize:vertical;min-height:77px;max-height:160px;width:100%;padding:13px 15px;background:#150d2380;border:1px solid #9c66b7;border-radius:15px;color:#f5e6d5;font:16px/1.4 system-ui,sans-serif;outline-offset:4px;box-shadow:inset 0 2px 14px #0b051b30;scroll-margin:24px}.question-bubble textarea::placeholder{color:#a68eaf;font-size:13px}.question-bubble textarea:focus{outline:2px solid #d7b3ed;box-shadow:0 0 22px #b46de538}.intro-actions{display:flex;flex-direction:column;gap:9px;margin-top:14px}.intro-actions button{cursor:pointer;border:1px solid #bb8bc5;border-radius:13px;min-height:46px;padding:11px 15px;font:600 14px system-ui,sans-serif;touch-action:manipulation}.intro-actions button:first-child{background:linear-gradient(110deg,#dcbcf5,#bd9ad4 55%,#e3c297);color:#2c173b;border-color:#e5c6e9;box-shadow:0 0 21px #bd78dd35}.intro-actions button:first-child span{margin-left:10px}.intro-actions button:last-child{background:transparent;color:#e0c4cf;border-color:#89697977;font-size:12px;min-height:40px;padding:8px}.intro-actions button:focus-visible{outline:2px solid #e6c9fa;outline-offset:4px}.question-bubble>small{display:block;margin-top:12px;font:10px/1.5 system-ui,sans-serif;color:#aa92b1}.intro-home{position:absolute;z-index:6;top:max(18px,env(safe-area-inset-top));left:20px;color:#efd4b2;font:bold 13px system-ui,sans-serif;text-decoration:none;letter-spacing:1px;text-shadow:0 1px 8px #10091a}.intro-home span{font-size:8px;color:#d1b1c8;letter-spacing:1.5px;margin-left:4px}.question-edit{width:100%;border:0;background:transparent;color:#d3b7d2;font:12px/1.4 system-ui,sans-serif;padding:9px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:9px;min-height:38px}.question-edit:hover{background:#ffffff09}.question-edit:focus-visible{outline:1px solid #d7ad6f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.art-unavailable .spirit-portrait{display:none}
@keyframes spirit-materialize{0%{opacity:0;transform:translateY(45px) scale(1.07);filter:blur(12px)}45%{opacity:.75;filter:blur(3px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes smoke-part-left{0%{opacity:.95;transform:translate(0,0) scale(1.4)}45%{opacity:.65}100%{opacity:0;transform:translate(-65%,24%) scale(1.7)}}@keyframes smoke-part-right{0%{opacity:.95;transform:translate(0,0) scale(1.4)}45%{opacity:.6}100%{opacity:0;transform:translate(65%,-13%) scale(1.7)}}@keyframes bubble-conjure{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stars-awake{0%,100%{opacity:.25}50%{opacity:.85}}
@media(min-width:700px){.spirit-stage{width:min(100vw,calc(100dvh * .75));min-width:460px}.question-bubble{top:45%;padding-top:26px}.intro-actions{flex-direction:row}.intro-actions button:first-child{flex:1.3}.intro-actions button:last-child{flex:1}.question-bubble h1 br{display:block}}
@media(max-width:420px){.question-bubble{top:45%;left:4%;width:92%;padding:26px 18px 17px;border-radius:32px}.question-bubble h1{font-size:27px}.question-bubble>p{font-size:11px}.question-bubble textarea{min-height:78px}.spirit-stage{min-height:760px}.intro-eyebrow{font-size:8px}.intro-home{left:15px}}
@media(max-height:680px){.spirit-stage{height:850px;min-height:850px;width:min(100%,560px)}.question-bubble{top:40%}.spirit-intro[open]{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.spirit-ready .spirit-portrait,.spirit-ready .question-bubble{animation:none;opacity:1;transform:none;filter:none}.spirit-ready .smoke-reveal{display:none}.spirit-ready .spirit-stars{animation:none;opacity:.5}.question-bubble{transition:none}}
/* Opaque viewport-wide fog comes before the portrait and question bubble. */
.spirit-intro>.smoke-reveal{position:fixed;inset:-8vh -8vw;z-index:50;background:radial-gradient(ellipse at 20% 30%,#7863b7 0%,#504384 36%,transparent 65%),radial-gradient(ellipse at 85% 75%,#4569a1 0%,#433b79 40%,#33274f 85%);opacity:1;visibility:visible;pointer-events:none;will-change:opacity}.spirit-intro.spirit-ready>.smoke-reveal{animation:viewport-fog-clear 4.6s ease-in-out forwards}.spirit-intro>.smoke-reveal i{width:110%;height:85%;filter:blur(32px);opacity:.95}.spirit-intro.spirit-ready>.smoke-reveal i{animation:full-fog-left 4.8s ease-in-out forwards;animation-delay:0s}.spirit-intro.spirit-ready>.smoke-reveal i:nth-child(2n){animation-name:full-fog-right;animation-delay:0s}.spirit-intro.spirit-ready>.smoke-reveal i:nth-child(3){animation-delay:0s}.spirit-intro.spirit-ready>.smoke-reveal i:nth-child(4){animation-delay:0s}.spirit-ready .spirit-portrait{animation-delay:.65s}.spirit-ready .question-bubble{animation-delay:2.8s}.question-bubble{top:37%}@media(min-width:700px){.question-bubble{top:37%}}@media(max-width:420px){.question-bubble{top:36%}}@media(max-height:680px){.question-bubble{top:32%}}@keyframes viewport-fog-clear{0%,24%{opacity:1}52%{opacity:.82}82%{opacity:.2}100%{opacity:0;visibility:hidden}}@keyframes full-fog-left{0%{transform:translate(10%,4%) scale(1.6);opacity:.95}35%{transform:translate(-8%,-5%) scale(1.75);opacity:.95}100%{transform:translate(-62%,20%) scale(2);opacity:0}}@keyframes full-fog-right{0%{transform:translate(-10%,-4%) scale(1.6);opacity:.95}35%{transform:translate(8%,5%) scale(1.75);opacity:.95}100%{transform:translate(62%,-20%) scale(2);opacity:0}}@media(prefers-reduced-motion:reduce){.spirit-intro>.smoke-reveal{display:none!important}.spirit-ready .spirit-portrait,.spirit-ready .question-bubble{animation:none;animation-delay:0s}}
.spirit-intro>.smoke-reveal:before{content:'';position:absolute;inset:-15%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'%3E%3Cfilter id='mist'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23mist)' opacity='.75'/%3E%3C/svg%3E");background-size:cover;mix-blend-mode:soft-light;opacity:.7;pointer-events:none}.spirit-intro.spirit-ready>.smoke-reveal:before{animation:mist-roll 4.6s ease-in-out forwards}@keyframes mist-roll{from{transform:translate(-4%,2%) scale(1.1)}to{transform:translate(5%,-3%) scale(1.3)}}
/* Domain-warped turbulence replaces translated CSS clouds when WebGL is available. */
.spirit-intro>.smoke-reveal.has-fluid,.spirit-intro.spirit-ready>.smoke-reveal.has-fluid{background:none;animation:none;opacity:1;visibility:visible}.smoke-reveal.has-fluid>i,.smoke-reveal.has-fluid:before{display:none}.fluid-smoke{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.spirit-intro>.smoke-reveal.fluid-finished{display:none!important}
/* LOCAL CONCEPT: delicate incense instead of dense turbulent fog. */
.spirit-intro>.smoke-reveal.has-incense,.spirit-intro.spirit-ready>.smoke-reveal.has-incense{background:none;animation:none;opacity:1;visibility:visible;inset:0;overflow:hidden}.smoke-reveal.has-incense>i,.smoke-reveal.has-incense:before{display:none}.incense-veil{position:absolute;inset:0;background:#161021;opacity:.87}.incense-ready .incense-veil{animation:incense-veil-away 6s ease-out forwards}.incense-wisp{position:absolute;pointer-events:none;height:145%;width:auto;max-width:none;top:2%;left:calc(50% - 34vh);opacity:0;mix-blend-mode:screen;filter:blur(.4px);transform-origin:50% 75%;will-change:transform,opacity}.incense-ready .incense-wisp{animation:incense-center 9.2s ease-in-out forwards}.incense-1{left:calc(50% - 65vh);height:150%;top:16%;filter:blur(2px);transform:scaleX(-1)}.incense-ready .incense-1{animation-name:incense-left;animation-delay:.15s}.incense-2{left:calc(50% - 1vh);height:145%;top:22%;filter:blur(1.5px)}.incense-ready .incense-2{animation-name:incense-right;animation-delay:.3s}.spirit-intro>.smoke-reveal.incense-finished{display:none!important}.spirit-ready .spirit-portrait{animation-delay:.65s;animation-duration:3.2s}.spirit-ready .question-bubble{animation-delay:2.6s}.incense-wisp{mask-image:linear-gradient(transparent,#000 12%,#000 76%,transparent)}
@keyframes incense-veil-away{0%{opacity:.9}25%{opacity:.65}65%{opacity:.12}100%{opacity:0}}@keyframes incense-center{0%{opacity:0;transform:translate(0,10%) scaleX(.9) rotate(-4deg)}15%{opacity:.5}45%{opacity:.35;transform:translate(4%,-2%) scaleX(1.04) rotate(1deg)}75%{opacity:.17}100%{opacity:0;transform:translate(-8%,-24%) scaleX(1.12) rotate(5deg)}}@keyframes incense-left{0%{opacity:0;transform:translate(0,10%) scaleX(-1) rotate(8deg)}20%{opacity:.24}55%{opacity:.2}100%{opacity:0;transform:translate(-14%,-26%) scaleX(-1.16) rotate(-2deg)}}@keyframes incense-right{0%{opacity:0;transform:translate(0,7%) scaleX(.8) rotate(-8deg)}20%{opacity:.24}55%{opacity:.18}100%{opacity:0;transform:translate(15%,-24%) scaleX(1) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.smoke-reveal.has-incense{display:none!important}.spirit-ready .spirit-portrait,.spirit-ready .question-bubble{animation:none}}
.incense-replay{position:fixed;z-index:60;right:15px;top:15px;border:1px solid #ab8db066;border-radius:30px;color:#e5cde2;background:#21142ed9;padding:10px 14px;font:12px system-ui,sans-serif;cursor:pointer}
