.reader{--cw-ratio:600 / 1040;scroll-margin-top:16px;position:relative}.reader [data-set=astryn]{--cw-ratio:2 / 3}.reader-top{justify-content:center;display:flex;position:relative}.reader-steps{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.reader-steps li{opacity:.55;align-items:center;gap:8px;transition:opacity .4s;display:inline-flex}.reader-steps li+li:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--glow-2), .5), transparent);width:clamp(18px,5vw,44px);height:1px;margin-right:6px}.reader-steps li span{letter-spacing:.08em;color:var(--accent);font-size:12px}.reader-steps li em{letter-spacing:.04em;font-style:normal}.reader-steps li.is-on{opacity:1;color:var(--text)}.reader-steps li.is-done{opacity:.8}.reader-sound{width:32px;height:32px;color:var(--muted);border-radius:50%;font-size:14px;transition:color .2s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.reader-sound:hover,.reader-sound[aria-pressed=true]{color:var(--accent)}.reader-pane{margin-top:26px;animation:.55s cubic-bezier(.2,.7,.2,1) both pane-in}@keyframes pane-in{0%{opacity:0;transform:translateY(14px)}}.reader-h{text-align:center;font-family:var(--font-cormorant), serif;color:var(--text);margin-top:4px;font-size:clamp(26px,4.4vw,38px);font-weight:600;line-height:1.15}.reader-back{color:var(--muted);font-size:14px;transition:color .2s}.reader-back:hover{color:var(--accent)}.topic-grid{flex-wrap:wrap;justify-content:center;gap:14px 12px;margin-top:30px;display:flex}.topic-grid li{width:calc(33.3333% - 8px);max-width:156px;animation:.7s cubic-bezier(.2,.7,.2,1) both card-rise;animation-delay:var(--d)}@media (min-width:900px){.topic-grid{gap:16px}.topic-grid li{width:calc(14.2857% - 13.7143px)}}@keyframes card-rise{0%{opacity:0;transform:translateY(24px)rotate(-2deg)}}.topic-card{aspect-ratio:2/3.1;isolation:isolate;width:100%;box-shadow:0 0 0 1px rgba(var(--glow-2), .28), 0 18px 40px -22px #000000f2;border-radius:14px;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;display:block;position:relative;overflow:hidden}.topic-card:hover,.topic-card:focus-visible{box-shadow:0 0 0 1px rgba(var(--glow-2), .8), 0 0 34px -4px rgba(var(--glow), .55), 0 26px 50px -24px #000000f2;transform:translateY(-8px)}.topic-card-art{z-index:-1;position:absolute;inset:0}.topic-card-art img{object-fit:cover;object-position:top;filter:saturate(.85)brightness(.8);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.topic-card:hover .topic-card-art img{filter:saturate()brightness(.95);transform:scale(1.06)}.topic-card-art:after{content:"";background:linear-gradient(#0000 35%,#090714c7 68%,#090714 100%);position:absolute;inset:0}.topic-card-body{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 14px;display:flex;position:absolute;inset:auto 0 0}.topic-card-icon{width:22px;height:22px;color:var(--accent)}.topic-card-name{font-family:var(--font-cormorant), serif;color:var(--text);font-size:clamp(16px,1.9vw,19px);font-weight:600;line-height:1.12}.q-head{text-align:center;max-width:960px;margin:0 auto;position:relative}.q-head .reader-back{position:absolute;top:0;left:0}@media (max-width:560px){.q-head .reader-back{margin:0 auto 14px;display:block;position:static}}.q-list{column-gap:40px;max-width:960px;margin:24px auto 0;display:grid}@media (min-width:900px){.q-list{grid-template-columns:1fr 1fr}}.q-list li{animation:.5s cubic-bezier(.2,.7,.2,1) both pane-in;animation-delay:var(--d);border-bottom:1px solid #ffffff12}.q-item{text-align:left;align-items:center;gap:14px;width:100%;height:100%;min-height:58px;padding:12px 4px;display:flex}.q-dot{border:1px solid rgba(var(--glow-2), .5);flex-shrink:0;width:11px;height:11px;margin:0 2px;transition:all .3s;transform:rotate(45deg)}.q-item:hover .q-dot{border-color:var(--accent)}.q-item.is-on .q-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 14px rgba(var(--glow-2), .8)}.q-text{color:#f8f5ffcc;flex:1;font-size:15.5px;line-height:1.45;transition:color .2s}.q-item:hover .q-text{color:var(--text)}.q-item.is-on .q-text{color:var(--accent-hi)}.q-badge{letter-spacing:.06em;color:var(--muted);flex-shrink:0;font-size:11px}.q-custom{max-width:960px;margin:14px auto 0;animation:.4s both pane-in}.q-custom textarea{resize:vertical;width:100%;color:var(--text);border:1px solid rgba(var(--glow-2), .3);background:#09071499;border-radius:14px;outline:none;padding:14px 16px;font-size:16px;line-height:1.5}.q-custom textarea:focus{border-color:var(--accent)}.q-custom-meta{color:var(--muted);justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;display:flex}.draw-bar{z-index:5;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:fit-content;max-width:100%;margin:26px auto 0;padding:6px;transition:background .3s,border-color .3s;display:flex;position:sticky;bottom:14px}.draw-bar.is-ready{border-color:rgba(var(--glow-2), .25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0a1fe0;box-shadow:0 20px 40px -18px #000000f2}.draw-bar:not(.is-ready){position:static}.spread-pick{border:1px solid #ffffff14;border-radius:999px;padding:3px;display:inline-flex}.spread-pick button{min-height:40px;color:var(--muted);border-radius:999px;padding:0 14px;font-size:13px;transition:all .25s}.spread-pick button:hover{color:var(--text)}.spread-pick button.is-on{color:#1a1206;background:var(--accent);font-weight:600}.draw-btn{min-width:150px;min-height:48px}.draw-bar.is-ready .draw-btn{animation:2.4s ease-in-out infinite ready-pulse}@keyframes ready-pulse{0%,to{box-shadow:0 10px 30px -10px #e7c67a99}50%{box-shadow:0 10px 40px -6px #e7c67ae6,0 0 0 6px #e7c67a1f}}.draw-head{text-align:center}.draw-q{max-width:680px;font-family:var(--font-cormorant), serif;color:var(--text);margin:8px auto 0;font-size:clamp(22px,3.6vw,30px);font-style:italic;line-height:1.25}.draw-hint{text-align:center;color:var(--accent);margin-top:18px;font-size:14px;animation:2.6s ease-in-out infinite hint-glow}@keyframes hint-glow{50%{opacity:.6}}.shuffle{place-items:center;padding:36px 0 20px;display:grid}.shuffle-deck{width:116px;aspect-ratio:var(--cw-ratio);position:relative}.shuffle-card{box-shadow:0 0 0 1px rgba(var(--glow-2), .35), 0 14px 30px -12px #000000e6;animation:.95s cubic-bezier(.45,0,.2,1) 2 both riffle;animation-delay:calc(var(--i) * 35ms);border-radius:7px;position:absolute;inset:0;overflow:hidden}.shuffle-card:nth-child(odd){--dir:-1}.shuffle-card:nth-child(2n){--dir:1}.shuffle-card svg{width:100%;height:100%;display:block}@keyframes riffle{0%{transform:translate(0, calc(var(--i) * -1px))}35%{transform:translate(calc(var(--dir) * 78px), -10px) rotate(calc(var(--dir) * 14deg))}55%{transform:translate(calc(var(--dir) * 70px), -14px) rotate(calc(var(--dir) * 9deg));z-index:9}to{transform:translate(0, calc(var(--i) * -1px))}}.shuffle:before{content:"";background:radial-gradient(closest-side, rgba(var(--glow), .35), transparent);filter:blur(10px);pointer-events:none;border-radius:50%;width:260px;height:260px;animation:1.8s ease-in-out infinite glow-pulse;position:absolute}.shuffle{position:relative}.shuffle-text{font-family:var(--font-cormorant), serif;color:var(--muted);margin-top:28px;font-size:22px;font-style:italic}.fan{--cw:clamp(40px, 10.5vw, 82px);--spread:64deg;height:calc(var(--cw) * 2.75);max-width:900px;margin:26px auto 0;position:relative;overflow:visible}.fan-card{width:var(--cw);margin-left:calc(var(--cw) / -2);aspect-ratio:var(--cw-ratio);transform-origin:50% 330%;opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .4s;transition-delay:calc(var(--i) * 22ms);cursor:pointer;position:absolute;top:0;left:50%;transform:rotate(0)}.fan.is-open .fan-card{opacity:1;transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * var(--spread) / (var(--n) - 1)))}.fan-card-in{width:100%;height:100%;box-shadow:0 0 0 1px rgba(var(--glow-2), .35), -6px 10px 18px -8px #000000d9;border-radius:6px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,opacity .45s;display:block;overflow:hidden}.fan-card-in svg{width:100%;height:100%;display:block}.fan-card:hover .fan-card-in,.fan-card:focus-visible .fan-card-in{box-shadow:0 0 0 1px rgba(var(--glow-2), .8), 0 0 26px rgba(var(--glow), .75);transform:translateY(-22%)}.fan-card.is-picked{cursor:default;transition-delay:0s}.fan-card.is-picked .fan-card-in{opacity:0;transform:translateY(-160%)scale(.85)}.slots{justify-content:center;gap:clamp(10px,3vw,28px);margin-top:18px;display:flex}.slot{text-align:center;width:clamp(92px,26vw,190px);transition:width .7s cubic-bezier(.2,.8,.2,1)}.slots-1 .slot{width:clamp(150px,46vw,230px)}.slots:not(.is-reveal) .slot{width:clamp(58px,15vw,104px)}.slots:not(.is-reveal) figcaption{min-height:0}.slot-card{position:relative}.slot-card .tcard{aspect-ratio:var(--cw-ratio);animation:.65s cubic-bezier(.2,.8,.2,1) both deal-in}.reader .slot-card .tcard[data-set=astryn]{aspect-ratio:2/3}@keyframes deal-in{0%{opacity:0;transform:translateY(80px)rotate(-8deg)scale(.8)}}.slot.is-shown .tcard{animation:1s cubic-bezier(.2,.8,.2,1) both lift}@keyframes lift{40%{transform:translateY(-14px)scale(1.04)}}.slot-empty{aspect-ratio:var(--cw-ratio);border:1.5px dashed rgba(var(--glow-2), .3);background:radial-gradient(closest-side, rgba(var(--glow), .1), transparent);border-radius:8px;animation:2.4s ease-in-out infinite hint-glow}.slot figcaption{flex-direction:column;gap:2px;min-height:42px;margin-top:10px;display:flex}.slot-pos{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px}.slot-name{font-family:var(--font-cormorant), serif;color:var(--text);font-size:clamp(16px,2.4vw,20px);font-weight:600;animation:.6s both pane-in}.burst{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:50%;left:50%}.burst i{background:var(--accent-hi);width:6px;height:6px;box-shadow:0 0 10px var(--accent), 0 0 18px rgba(var(--glow), .9);opacity:0;border-radius:50%;margin:-3px;animation:1.1s cubic-bezier(.1,.7,.3,1) .35s both spark;position:absolute}.burst i:nth-child(3n){background:#fff;width:4px;height:4px}@keyframes spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1.2)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1.6)) scale(.2)}}.burst:before{content:"";background:radial-gradient(closest-side, rgba(var(--glow-2), .55), rgba(var(--glow), .2) 50%, transparent);border-radius:50%;width:240px;height:240px;margin:-120px;animation:1.2s ease-out .3s both flash;position:absolute}@keyframes flash{0%{opacity:0;transform:scale(.3)}30%{opacity:1}to{opacity:0;transform:scale(1.4)}}.piles-row{justify-content:center;gap:clamp(14px,5vw,48px);margin-top:22px;display:flex}.pile{width:clamp(88px,25vw,170px);animation:4s ease-in-out infinite pile-float;animation-delay:calc(var(--i) * -1.3s);flex-direction:column;align-items:center;transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1),filter .6s;display:flex}@keyframes pile-float{50%{transform:translateY(-8px)}}.pile-btn{border-radius:10px;width:100%;position:relative}.pile-stack{position:absolute;inset:0}.pile-stack>span{box-shadow:0 0 0 1px rgba(var(--glow-2), .3);border-radius:7px;position:absolute;inset:0;overflow:hidden}.pile-stack>span:first-child{opacity:.6;transform:translate(7px,7px)rotate(3deg)}.pile-stack>span:nth-child(2){opacity:.85;transform:translate(3px,3px)rotate(1.5deg)}.pile-stack svg{width:100%;height:100%;display:block}.pile-top{display:block;position:relative}.pile-top .tcard{aspect-ratio:var(--cw-ratio)}.pile:not(.is-out):not(.is-chosen) .pile-btn:hover{filter:drop-shadow(0 0 18px rgba(var(--glow), .8))}.pile-label{color:var(--accent);margin-top:14px;font-size:22px}.piles.has-choice .pile{animation:none}.pile.is-out{opacity:.18;filter:grayscale(.6)blur(1px);transform:scale(.88)}.pile.is-chosen{z-index:2;transform:scale(1.1)translateY(-6px)}.reader-result{margin-top:48px}.result-head{text-align:center;animation:.7s both pane-in}.result-q{max-width:760px;font-family:var(--font-cormorant), serif;color:var(--text);margin:10px auto 0;font-size:clamp(26px,4vw,38px);font-weight:600;line-height:1.2}.result-lens{max-width:680px;color:var(--muted);margin:12px auto 0;font-size:15px;line-height:1.65}.result{max-width:940px;margin:0 auto}.result-cards{border-bottom:1px solid #ffffff12;margin-top:28px;display:grid}.rcard{animation:.7s cubic-bezier(.2,.7,.2,1) both pane-in;animation-delay:var(--d);border-top:1px solid #ffffff12;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:26px 0;display:grid}@media (min-width:720px){.rcard{grid-template-columns:170px minmax(0,1fr);gap:34px;padding:34px 0}}.rcard-art img{width:100%;box-shadow:0 0 0 1px rgba(var(--glow-2), .3), 0 16px 30px -14px #000000e6;border-radius:8px}.rcard-art img.is-reversed{transform:rotate(180deg)}.rcard-pos{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px}.rcard-name{font-family:var(--font-cormorant), serif;color:var(--text);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:clamp(26px,3.4vw,32px);font-weight:700;line-height:1.1;display:flex}.rcard-dir{font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#1a1206;background:var(--accent);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.rcard-dir.is-rev{color:var(--text);background:rgba(var(--glow), .3)}.rcard-en{letter-spacing:.06em;color:var(--muted);margin-top:4px;font-size:12px}.rcard-kw{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.rcard-kw li{border:1px solid rgba(var(--glow-2), .3);color:var(--accent-hi);border-radius:999px;padding:3px 10px;font-size:12px}.rcard-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:16px;font-size:11px;font-weight:600}.rcard-title{font-family:var(--font-cormorant), serif;color:var(--accent);margin-top:6px;font-size:22px;font-style:italic;font-weight:600}.rcard-text{color:#f8f5ffdb;margin-top:6px;font-size:15.5px;line-height:1.7}.rcard-advice{font-family:var(--font-cormorant), serif;color:var(--accent-hi);border-top:1px solid #ffffff12;margin-top:14px;padding-top:12px;font-size:19px;font-style:italic}@media (max-width:719px){.rcard{display:block}.rcard:after{content:"";clear:both;display:table}.rcard-art{float:left;width:84px;margin:0 14px 6px 0}}.result-sum{text-align:center;background:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--glow-2), .14), transparent 70%), #151027bf;border:1px solid rgba(var(--glow-2), .35);border-radius:22px;margin-top:22px;padding:clamp(20px,4vw,34px);animation:.8s .35s both pane-in}.result-sum-h{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.result-sum-title{font-family:var(--font-cormorant), serif;color:var(--text);margin-top:10px;font-size:clamp(26px,4vw,34px);font-weight:600}.result-sum-text{color:#f8f5ffe0;max-width:680px;margin:10px auto 0;font-size:16px;line-height:1.7}.result-notes{text-align:left;max-width:640px;color:var(--muted);gap:6px;margin:14px auto 0;font-size:14.5px;line-height:1.6;display:grid}.result-notes li{padding-left:20px;position:relative}.result-notes li:before{content:"✦";color:var(--accent);font-size:11px;position:absolute;top:3px;left:0}.result-advice{border-top:1px solid rgba(var(--glow-2), .25);max-width:600px;margin:20px auto 0;padding-top:18px}.result-advice p{font-family:var(--font-cormorant), serif;color:var(--accent-hi);margin-top:8px;font-size:clamp(22px,3.2vw,27px);font-style:italic;line-height:1.35}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.result-actions .btn-ghost{min-height:46px;padding:0 20px;font-size:14px}.result-toast{text-align:center;min-height:22px;color:var(--accent);margin-top:10px;font-size:13px}.result-disclaimer{text-align:center;max-width:640px;color:var(--muted);margin:14px auto 0;font-size:12.5px;line-height:1.6}@media (prefers-reduced-motion:reduce){.reader *,.reader :before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:560px){.reader-steps{gap:8px;font-size:12px}.draw-bar{gap:6px;padding:5px;bottom:10px}.spread-pick button{padding:0 9px;font-size:12.5px}.draw-btn{min-width:0;min-height:44px;padding:0 16px}}.reader:not([data-step=draw]) .reader-sound{display:none}.spread-pick button,.draw-btn{white-space:nowrap}@media (max-width:560px){.slot{width:clamp(76px,27vw,190px)}.slots{gap:clamp(8px,3vw,28px)}.pile{width:clamp(76px,25vw,170px)}.piles-row{gap:clamp(12px,4vw,48px)}}@media (max-width:380px){.reader-steps{gap:6px;font-size:11.5px}.reader-steps li+li:before{width:14px;margin-right:2px}.spread-pick button{min-height:38px;padding:0 8px;font-size:12px}.draw-btn{min-height:42px;padding:0 14px;font-size:14px}}@media (max-width:560px){.slot-pos{letter-spacing:.06em;font-size:9.5px;line-height:1.3}.slots:not(.is-reveal) .slot-pos{letter-spacing:.04em;font-size:8.5px}}@media (max-width:400px){.reader-steps li:not(.is-on) em{display:none}}
