/* 조선궁서체 — 월담이 쓰는 두 서체 중 하나(나머지는 Pretendard).
   라이선스는 static/fonts/chosun/LICENSE.txt. 기기에 없어도 여기서 내려간다. */
@font-face{font-family:'Woldam Chosun Gungseo';src:url("../fonts/chosun/ChosunGs-subset.bd827614d8b5.woff2") format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Illustrated ritual language, shared by the service and the review prototype. */
.story-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;background:#171826;color:#f6efdf;margin:24px 0}
.story-panel>img{display:block;width:100%;height:290px;object-fit:cover;object-position:50% 8%;mask-image:linear-gradient(#000 70%,transparent)}
.story-panel .story-voice{position:relative;margin:-42px 18px 20px;padding:20px;border:1px solid #d6bd874a;border-radius:12px;background:#131720ee;box-shadow:0 12px 40px #0003}
.story-voice small{display:block;color:#dcc399;font-size:14px;letter-spacing:1px;margin-bottom:10px}.story-voice p{font:500 17px/1.85 'Pretendard Variable',Pretendard,sans-serif;margin:0;color:#f3eddf;word-break:keep-all;overflow-wrap:anywhere}
.story-beat{animation:story-enter .55s both}.story-kicker{font:500 14px/1.5 'Pretendard Variable',Pretendard,sans-serif;letter-spacing:2px;color:#bda574;margin-bottom:12px}.story-heading{font:700 26px/1.6 'Woldam Chosun Gungseo',Gungsuh,'궁서',serif;letter-spacing:-.6px;word-break:keep-all;text-wrap:balance}
.story-section{padding:30px 22px;border-top:1px solid #aa976b28}.story-section p{font-size:14px;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere}.story-section h2{font:700 23px/1.6 'Woldam Chosun Gungseo',Gungsuh,'궁서',serif;word-break:keep-all}
.story-action{padding:18px 20px;background:#ba986517;border-left:2px solid #c9ad75;border-radius:0 10px 10px 0;font-size:14px;line-height:1.8;margin-top:18px}.story-action small{display:block;color:#a0824f;font-size:14px;letter-spacing:1px;margin-bottom:7px}
.story-contents{list-style:none;padding:0;margin:22px 0}.story-contents li{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #b49b722d;font-size:14px;line-height:1.6;word-break:keep-all}.story-contents .chapter-index{font-size:14px;color:#ad9062;flex:0 0 22px}.story-contents .chapter-lock{margin-left:auto;flex:0 0 18px;width:18px;height:18px;border:1px solid currentColor;border-radius:3px;color:#a38c69;position:relative;transform:scale(.7)}.chapter-lock:before{content:'';position:absolute;border:2px solid currentColor;border-bottom:0;border-radius:9px 9px 0 0;width:10px;height:9px;left:2px;top:-9px}
.story-teaser{height:120px;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(120deg,#dcc49422,#63766020);display:grid;place-items:center}.story-teaser:before{content:'';position:absolute;inset:22px;background:repeating-linear-gradient(transparent 0 14px,#b29f7240 14px 19px);filter:blur(5px)}.story-teaser span{position:relative;padding:10px 18px;border:1px solid #b6a17555;background:#1c242bea;color:#ebd8b6;border-radius:30px;font-size:14px}
.lantern-path{display:flex;justify-content:space-around;gap:10px;margin:25px 0}.lantern-stop{flex:1;text-align:center;font-size:14px;line-height:1.6}.lantern-stop i{display:block;width:40px;height:54px;margin:14px auto 16px;border:1px solid #d3b778;border-radius:13px;background:repeating-linear-gradient(90deg,transparent 0 9px,#725d4235 9px 10px),radial-gradient(ellipse,#ffe1a9,#a8874a);box-shadow:0 0 24px #d6b46b30;position:relative}.lantern-stop i:before{content:'';position:absolute;height:14px;width:1px;background:#b79a63;left:50%;top:-15px}.lantern-stop i:after{content:'';position:absolute;width:20px;height:3px;background:#66513b;left:9px;bottom:-3px}.lantern-stop small{display:block;color:#a88f63;font-size:14px}.lantern-stop.is-later i{background:repeating-linear-gradient(90deg,transparent 0 9px,#725d4220 9px 10px),#353b3d;box-shadow:none;border-color:#8b7d633d}
.tarot-fan{position:relative;height:365px;width:100%;perspective:900px;isolation:isolate;overflow:visible;--fan-radius:145px}.fan-card{position:absolute!important;left:50%!important;top:190px!important;width:79px!important;height:121px!important;margin-left:-39.5px!important;border:1px solid #d0ac73!important;border-radius:7px!important;background:#24182c url("../img/tarot/card-back-v1.5ff33bdb6c08.webp") center/cover!important;color:#ead8b4;transform-origin:50% 120%;transform:translate(calc(sin(var(--angle))*var(--fan-radius)),calc((1 - cos(var(--angle)))*45px)) rotate(var(--angle));transition:transform .75s cubic-bezier(.22,.7,.2,1),opacity .3s,box-shadow .3s;box-shadow:0 4px 12px #0009;cursor:pointer;z-index:var(--index);padding:0!important;touch-action:manipulation}
.fan-card:before,.fan-card:after{display:none!important}.fan-card .card-position{position:absolute;top:5px;left:5px;font:14px/1.6 Pretendard,sans-serif;color:#f8e7c4;background:#191421cf;border-radius:50%;width:18px;text-align:center}.fan-card .card-moon{display:none}.fan-card input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.fan-card:focus-within,.fan-card:focus-visible{outline:3px solid #e9d6ac;outline-offset:3px;z-index:30;box-shadow:0 0 26px #e9ce9170}.fan-card:hover:not(.is-picked){box-shadow:0 0 22px #d9b76990;z-index:25}.fan-card.is-picked{transform:translate(calc((var(--slot) - 1)*100px),-166px) rotate(0)!important;z-index:40;box-shadow:0 0 30px #d9b76950}.tarot-fan.is-shuffling .fan-card{transform:translate(0,0) rotate(0)}
.fan-numbers{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:10px 14px}.fan-number{border:1px solid #ad94774a;border-radius:7px;background:#ffffff05;color:inherit;min-height:44px;font:14px 'Pretendard Variable',Pretendard;cursor:pointer}.fan-number[aria-pressed=true]{background:#e5c991;color:#292035;border-color:#e5c991}.fan-number:disabled:not([aria-pressed=true]){opacity:.4}.fan-access{font-size:14px;padding:4px 10px}.fan-access summary{cursor:pointer;min-height:36px;display:flex;align-items:center;justify-content:center;color:#bba984}.fan-slot-labels{position:absolute;top:0;left:50%;width:300px;margin-left:-150px;display:flex;justify-content:space-around;font-size:14px;color:#c5b699}.fan-slot-labels span{width:88px;text-align:center}.tarot-fan.is-shuffling~.fan-access{opacity:.5}
.tarot-art{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:6px}.tarot-reading-art{width:150px;margin:0 auto 24px;box-shadow:0 12px 35px #0004}.tarot-card-caption{font-size:14px;text-align:center;line-height:1.5;margin:10px 0}.tarot-saved-spread{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 18px}.tarot-saved-spread figure{margin:0;min-width:0;animation:story-enter .65s both;animation-delay:calc(var(--i)*.18s)}
.story-lanterns-report{margin:30px 0}.story-lanterns-report .lantern-path{gap:5px}.story-lanterns-report .lantern-stop i{opacity:calc(.3 + var(--count)*.12)}
@keyframes story-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:360px){.tarot-fan{--fan-radius:118px}.fan-card{width:68px!important;height:105px!important;margin-left:-34px!important}.fan-card.is-picked{transform:translate(calc((var(--slot) - 1)*86px),-156px) rotate(0)!important}.fan-slot-labels{width:258px;margin-left:-129px}.story-voice p{font-size:16px}.story-panel>img{height:260px}}
@media(prefers-reduced-motion:reduce){.story-beat,.fan-card,.tarot-saved-spread figure{animation:none!important;transition:none!important}}
.tarot-fan{--fan-radius:118px}.fan-card{transform-origin:50% 50%}
@media(max-width:360px){.tarot-fan{--fan-radius:92px}}
/* The reader sits opposite: cards arc toward the visitor and slide out radially. */
.tarot-fan{height:330px}
.fan-card{--pull:0px;top:125px!important;transform:translate(calc(sin(var(--angle))*(var(--fan-radius) + var(--pull)*.2)),calc((cos(var(--angle)) - 1)*45px + cos(var(--angle))*var(--pull))) rotate(calc(-1*var(--angle)))!important}
.fan-card.is-picked{--pull:58px;z-index:var(--index);box-shadow:0 6px 16px #0008,0 0 0 2px #d9b769}
.fan-card:hover:not(.is-picked),.fan-card:focus-within,.fan-card:focus-visible{z-index:var(--index)}
.tarot-fan.is-shuffling .fan-card{transform:translate(0,0) rotate(0)!important}
@media(max-width:360px){.fan-card.is-picked{--pull:48px}}
.ritual-check{display:inline-block;width:18px;height:18px;vertical-align:middle;flex-shrink:0}
.ritual-journey .is-done>span{display:inline-flex;align-items:center;justify-content:center;background:#dfe9e6;color:#365a55;box-shadow:inset 0 0 0 1px #a5bcb54d}
.ritual-saved{display:inline-flex;align-items:center;gap:6px}
.ritual-slot b .ritual-check{display:block;margin:auto}
.fan-card.is-picked{transform:translate(calc(sin(var(--angle))*(var(--fan-radius) + var(--pull)*.2)),calc((cos(var(--angle)) - 1)*45px + cos(var(--angle))*var(--pull))) rotate(calc(-1*var(--angle)))!important}
/* Illustrated transition from the free symbol reading to paid chapters. */
.reading-invitation{padding:0 20px 28px;margin-top:24px;border-top:0;overflow:hidden}
.reading-scene{position:relative;margin:0 -20px;isolation:isolate;background:#191622;aspect-ratio:1.02;overflow:hidden}
.reading-scene>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0;mask-image:linear-gradient(#000 70%,transparent 100%)}
.reading-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(#191622c9,transparent 50%);z-index:0;pointer-events:none}
.reading-scene-copy{position:relative;z-index:1;text-align:center;padding:32px 18px 0}.reading-scene-copy .story-kicker{color:#dcc49c;font-size:14px;letter-spacing:2px;margin:0 0 12px}
.reading-invitation .reading-scene h2{font:700 clamp(23px,6vw,29px)/1.55 'Pretendard Variable',Pretendard,sans-serif;letter-spacing:-1px;color:#fff4df;margin:0;text-shadow:0 2px 16px #17121f}
.reading-book-seal{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:32px;color:#e4c68d;z-index:1}
.reading-intro{text-align:center;margin:4px 0 24px}.reading-guide-name{font-size:14px;color:#d9bb86}.reading-intro p{font-size:15px;line-height:1.9;margin:10px 0;color:#e4dce8}
.reading-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:26px 0 36px;position:relative}.reading-progress:before{content:'';position:absolute;top:18px;left:17%;right:17%;height:1px;background:linear-gradient(90deg,#cfb780,#665469)}
.reading-progress li{text-align:center;position:relative;min-width:0}.reading-progress li>span{width:36px;height:36px;border:1px solid #695572;background:#211b2b;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 11px;color:#b6a4c0;font-size:14px}.reading-progress .is-read>span{background:#ddc493;border-color:#ddc493;color:#362b39;box-shadow:0 0 22px #dcc38b20}.reading-progress b{display:block;font-size:14px;color:#eee1ce}.reading-progress small{display:block;font-size:14px;color:#a89bad;margin-top:6px}
.reading-chapters-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.reading-chapters-head .story-kicker{margin:0 0 5px;font-size:14px;letter-spacing:1px}.reading-chapters-head h3{font-size:20px;margin:0;color:#f4e9d9;letter-spacing:-.6px}.reading-chapters-head>span{font-size:14px;color:#d9c29b;white-space:nowrap;border:1px solid #b69b6540;border-radius:20px;padding:7px 10px}
.reading-chapters{list-style:none;margin:0;padding:0;display:grid;gap:10px}.reading-chapters li{position:relative;display:flex;align-items:center;gap:14px;padding:17px 14px;min-height:88px;border:1px solid #c3a78224;border-radius:14px;background:radial-gradient(ellipse at 0 50%,#ad7db315,transparent 75%),linear-gradient(120deg,#302637,#211d2b);box-shadow:0 7px 20px #00000010}.reading-chapter-emblem{flex:0 0 46px;height:46px;position:relative;color:#c6a775;background:radial-gradient(circle,#cbab7320,transparent 70%)}.reading-chapter-emblem svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;position:relative}.reading-chapters li>div{min-width:0;flex:1}.reading-chapters small{font-size:14px;color:#a995b2;letter-spacing:1.5px}.reading-chapters h4{font:600 16px/1.5 'Pretendard Variable',Pretendard,sans-serif;color:#f4e9dc;margin:5px 0 0;word-break:keep-all;overflow-wrap:anywhere}.reading-lock{flex:0 0 17px;width:17px;height:21px;color:#b29b79}.reading-invitation .ritual-note{text-align:center;font-size:14px;color:#b4a6ba;margin:23px 0 0}
@media(max-width:360px){.reading-invitation{padding-left:16px;padding-right:16px}.reading-scene{margin-left:-16px;margin-right:-16px}.reading-chapters li{gap:10px;padding:15px 12px}.reading-chapter-emblem{flex-basis:38px;height:38px}.reading-chapters h4{font-size:15px}.reading-intro p{font-size:14px}}

.reading-chapters[data-guide="heukwol"] .reading-chapter-emblem{color:#C6A775}
.reading-chapters[data-guide="doyun"] .reading-chapter-emblem{color:#8FB3CC}
.reading-chapters[data-guide="seorin"] .reading-chapter-emblem{color:#C9A8D4}
.reading-chapters[data-guide="jiwoon"] .reading-chapter-emblem{color:#8FBFAE}
.reading-chapters[data-guide="haeon"] .reading-chapter-emblem{color:#DCB079}
.emblem-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.obang-flag-art{display:block;width:100%;height:150px;object-fit:contain;margin:0 auto}
.obang-reading-art{width:200px;height:200px;margin:0 auto 20px}
.story-drawn{display:flex;gap:14px;justify-content:center;align-items:flex-end;margin:0 18px 22px}
.story-drawn figure{margin:0;text-align:center;min-width:0}
.story-drawn img{display:block;height:132px;width:auto;max-width:100%;object-fit:contain;margin:0 auto}
.story-drawn figcaption{margin-top:8px;font:500 14px/1.5 'Pretendard Variable',Pretendard,sans-serif;color:#e6d6b2;word-break:keep-all}
.story-drawn figcaption small{display:block;font-size:14px;letter-spacing:1px;color:#bda574;margin-bottom:3px}
@media(max-width:360px){.story-drawn{gap:9px;margin:0 12px 18px}.story-drawn img{height:108px}}
