:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff5e6;font-synthesis:none;text-rendering:optimizelegibility;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Noto Serif KR", "AppleMyungjo", serif;--ivory:#fff4df;--muted-ivory:#e8d9cf;--lavender:#c8abd9;--rose:#dda5bd;--gold:#d6b176;--gold-light:#ffe4ad;--deep-purple:#21132e;background:#160e20;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{background:#160e20;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 50% 12%,#49355a 0,#24162f 34rem,#120b1a 75rem),#160e20;min-width:320px;min-height:100%;margin:0;overflow-x:hidden}button{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:4px;outline:3px solid #ffe2a4}[tabindex="-1"]:focus{outline:none}.app-shell{width:100%;min-height:100dvh}.mobile-layout{isolation:isolate;background:#24152f;width:min(100%,430px);min-height:100dvh;margin-inline:auto;position:relative;overflow-x:clip;box-shadow:0 0 90px #050208a8}.magical-background,.entrance-screen,.reading-room{isolation:isolate;background:linear-gradient(160deg,#443356,#1c1328 65%,#100a18);min-height:max(100dvh,680px);position:relative;overflow:hidden}.background-image,.entrance-backdrop,.reading-room-background{z-index:0;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.background-shade,.entrance-shade,.room-vignette{z-index:1;pointer-events:none;position:absolute;inset:0}.background-shade{background:linear-gradient(#180b2770 0%,#0000 35%,#190e2790 100%),radial-gradient(circle at 50% 45%,#0000 20%,#12091e40 75%)}.asset-fallback{color:#f7d7d7;text-align:center;background:linear-gradient(145deg,#4a3155,#281a35);border:1px solid #b28cad;align-content:center;place-items:center;gap:.5rem;min-height:8rem;padding:1rem;font-size:.8rem;display:grid}.asset-fallback>span:first-child{color:var(--gold-light);font-size:1.2rem}.sparkle-field{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sparkle-field i{left:var(--x);top:var(--y);width:3px;height:3px;animation:twinkle 2.8s var(--delay) ease-in-out infinite;background:#fff7dd;border-radius:50%;position:absolute;box-shadow:0 0 8px 2px #f6dca8cc}.sparkle-field i:nth-child(3n){background:#e7c6ff;width:5px;height:5px}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.65)}45%{opacity:1;transform:scale(1.25)}}.home-screen .background-image{animation:.9s ease-out both background-arrival}@keyframes background-arrival{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.home-screen .background-shade{background:linear-gradient(#160a235c 0%,#0000 34%,#170b2694 68%,#110819df 100%),radial-gradient(circle at 50% 29%,#0000 12%,#11091c40 78%)}.home-content{z-index:4;min-height:max(100dvh,680px);padding:calc(env(safe-area-inset-top,0px) + 1.3rem) 0 calc(env(safe-area-inset-bottom,0px) + .9rem);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.tarot-logo{color:var(--ivory);text-shadow:0 2px 5px #18071f,0 0 18px #2a0d35,0 0 24px #e7bbd275;padding:.35rem .8rem .22rem;animation:.7s ease-out .18s both reveal-up;position:relative}.tarot-logo:before{content:"";z-index:-1;background:radial-gradient(#26102ca3 0,#1a0a2266 52%,#0000 74%);border-radius:50%;position:absolute;inset:-.25rem -1rem}.tarot-logo p{font:600 clamp(.76rem, 3.4vw, .95rem)/1.2 var(--serif);letter-spacing:.42em;text-indent:.42em;color:#f7dfc1;margin:0}.tarot-logo h1{font:500 clamp(3rem, 16vw, 4.6rem)/.94 var(--serif);letter-spacing:.08em;text-indent:.08em;margin:.28rem 0 .34rem}.logo-star{color:#ffe3a4;margin-bottom:.6rem;font-size:1rem;animation:2.2s ease-in-out .8s infinite logo-star;display:inline-block}@keyframes logo-star{50%{filter:drop-shadow(0 0 8px #ffe4a7);transform:rotate(45deg)scale(1.25)}}.logo-rule{color:#ffe0a8;justify-content:center;align-items:center;gap:.65rem;font-size:1rem;display:flex}.logo-rule i{background:linear-gradient(90deg,#0000,#d5af78);width:clamp(2.5rem,15vw,4rem);height:1px}.logo-rule i:last-child{transform:scaleX(-1)}.home-heading{background:radial-gradient(#26112ca8 0,#1b0b2478 58%,#0000 78%);border-radius:1rem;margin:.65rem 1rem .15rem;padding:.44rem .9rem .5rem;animation:.65s ease-out .38s both reveal-up}.home-heading p{color:#e5c58f;font:600 .61rem/1 var(--serif);letter-spacing:.22em;margin:0 0 .28rem}.home-heading h2{color:#fff3e6;font:500 clamp(1.18rem, 5.4vw, 1.42rem)/1.4 var(--serif);letter-spacing:-.02em;text-shadow:0 2px 5px #14071d,0 0 16px #2b1037;margin:0}.carousel-hint{color:#eadce8;font:500 .76rem/1.55 var(--serif);text-shadow:0 2px 12px #16091f;margin:.28rem 1rem 0;animation:.55s ease-out .7s both reveal-up}.site-info-trigger{color:#e9d7df;letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1b1027b8;border:1px solid #c4a16a73;border-radius:999px;min-height:44px;margin:.15rem auto 0;padding:.55rem .85rem;font-size:.68rem}.site-info-trigger:hover{color:#fff1d9;border-color:#e0bf83}.site-info-backdrop{z-index:220;padding:max(1rem, env(safe-area-inset-top,0px)) .75rem max(1rem, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0712dc;place-items:center;display:grid;position:fixed;inset:0}.site-info-panel{overscroll-behavior:contain;color:#33223d;text-align:left;background:radial-gradient(circle at 90% 2%,#e9cee9 0,#0000 24%),linear-gradient(160deg,#fff8e9,#f5e7e4 62%,#e9d9eb);border:1px solid #e3c284;border-radius:1.15rem;width:min(100%,25rem);max-height:min(88dvh,47rem);padding:1.15rem 1rem 1rem;position:relative;overflow-y:auto;box-shadow:0 20px 70px #09040ed9,inset 0 0 0 1px #fff9e6}.site-info-close{color:#fff4de;cursor:pointer;background:#352043;border:1px solid #d7b675;border-radius:50%;width:44px;height:44px;font-size:1.45rem;position:absolute;top:.6rem;right:.6rem}.site-info-kicker{color:#8b6488;font:700 .58rem/1.3 var(--serif);letter-spacing:.14em;margin:0 3rem .25rem 0}.site-info-panel>h2{color:#42294f;font:600 1.32rem/1.35 var(--serif);margin:0 3rem .45rem 0}.site-info-summary{color:#705a70;margin:0 2.6rem .8rem 0;font-size:.76rem;line-height:1.65}.site-info-sections{gap:.6rem;display:grid}.site-info-sections section{background:#fffaf0c9;border:1px solid #d8bd8b8c;border-radius:.78rem;padding:.72rem .78rem}.site-info-sections h3{color:#5a3562;font:650 .88rem/1.35 var(--serif);margin:0 0 .35rem}.site-info-sections p{color:#4d3d4d;overflow-wrap:anywhere;word-break:keep-all;margin:.28rem 0 0;font-size:.73rem;line-height:1.65}.site-info-sections strong{color:#3e2947}.site-info-links{flex-wrap:wrap;gap:.35rem .7rem;margin-top:.55rem;display:flex}.site-info-links a{color:#6b4474;text-underline-offset:.18em;font-size:.69rem}.site-info-done{color:#fff4df;cursor:pointer;background:linear-gradient(135deg,#6c4775,#382442);border:1px solid #d8b776;border-radius:999px;min-width:8.5rem;min-height:44px;margin:.8rem auto 0;display:block;box-shadow:0 4px 12px #3b27404a}@keyframes reveal-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.magical-button{color:#fff5e4;cursor:pointer;background:linear-gradient(#80619bdb,#4e3769e8);border:1px solid #ebca8e;border-radius:999px;justify-content:center;align-items:center;gap:.72rem;min-width:min(18rem,88vw);min-height:3.25rem;padding:.9rem 1.2rem;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:inset 0 0 0 2px #4b315a78,0 8px 28px #13071e99,0 0 18px #d4a5d24a}.magical-button b{font:600 .93rem/1.2 var(--serif);letter-spacing:.08em}.magical-button>span{color:#ffe0a0;font-size:.7rem}.magical-button:active{filter:brightness(1.12);transform:scale(.975)}.magical-button:hover{box-shadow:inset 0 0 0 2px #5c3a6d78,0 10px 32px #13071eaa,0 0 24px #f2c99470}.back-button{z-index:20;top:calc(env(safe-area-inset-top,0px) + .8rem);color:#fff4e6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;background:#21132e99;border:1px solid #dab9828c;border-radius:999px;align-items:center;gap:.28rem;min-width:44px;min-height:44px;padding:.55rem .8rem;display:inline-flex;position:absolute;left:.85rem}.back-button span:first-child{font:400 1.7rem/.8 var(--serif)}.back-button span:last-child{font-size:.72rem}.topic-carousel{--topic-card-width:clamp(13.1rem, 62vw, 15rem);width:100%;min-height:0;margin-top:.15rem;animation:.62s ease-out .5s both reveal-up}.topic-carousel-controls{background:linear-gradient(90deg,#0000,#1c0b25a8 18%,#1c0b25b8 82%,#0000);border-radius:999px;grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:.35rem;width:min(16rem,82vw);min-height:2rem;margin:0 auto;padding:.15rem .22rem;display:grid}.topic-carousel-controls p{color:#d9bfdd;letter-spacing:.08em;margin:0;font-size:.65rem}.topic-carousel-controls p strong{color:#ffe0a4;font-size:.78rem}.topic-carousel-controls p span{color:#fff3e4;font:500 .76rem/1.2 var(--serif);letter-spacing:0;margin-top:.08rem;display:block}.carousel-arrow{color:#fff0d5;width:2.75rem;height:2.75rem;font:400 1.55rem/1 var(--serif);cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#27152fa8;border:1px solid #d8b6788f;border-radius:50%;padding:0}.carousel-arrow:disabled{opacity:.28;cursor:default}.topic-carousel-viewport{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;cursor:grab;width:100%;padding-block:.78rem .42rem;overflow:auto hidden}.topic-carousel-viewport::-webkit-scrollbar{display:none}.topic-carousel-viewport.is-dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.topic-carousel-track{width:max-content;padding-inline:calc((min(100vw, 430px) - var(--topic-card-width)) / 2);align-items:center;gap:.85rem;display:flex}.topic-card{isolation:isolate;flex:0 0 var(--topic-card-width);width:var(--topic-card-width);scroll-snap-align:center;scroll-snap-stop:always;color:#56345b;cursor:pointer;filter:saturate(.78)brightness(.72);animation:topic-arrival .48s calc(55ms * var(--topic-index) + 80ms) ease-out backwards;background:0 0;border:0;border-radius:.65rem;padding:0;transition:transform .32s,filter .32s,opacity .32s;position:relative;overflow:visible;transform:scale(.92)}@keyframes topic-arrival{0%{opacity:0;translate:0 10px}}.topic-card[aria-current=true]{filter:none;transform:scale(1)}.topic-card>img,.topic-card>.asset-fallback{aspect-ratio:2/3;object-fit:contain;pointer-events:none;border-radius:.65rem;width:100%;height:auto;min-height:0;display:block}.topic-card .asset-fallback{padding-bottom:24%}.topic-title{color:#56345c;text-align:center;height:17%;font:700 clamp(.75rem, 3.35vw, .9rem)/1.2 var(--serif);letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding-inline:.12rem;display:flex;position:absolute;top:73.5%;left:12%;right:12%}.topic-title-line{display:block}.topic-title-line+.topic-title-line{margin-top:.04em}.topic-glow{z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(#fff2bd8a 0,#e7b0da4f 48%,#0000 72%);border-radius:.7rem;transition:opacity .28s,box-shadow .28s;position:absolute;inset:-3%;box-shadow:inset 0 0 0 2px #0000,0 0 #0000}.topic-card.is-selected{z-index:2;filter:none;transform:translateY(-9px)scale(1.025)}.topic-card.is-selected .topic-glow{opacity:1;box-shadow:inset 0 0 0 2px #ffdfa9,0 0 22px #f4c8878f}.topic-card.is-dimmed{opacity:.42;filter:saturate(.48)brightness(.52)}.topic-card:active{transform:scale(.985)}.topic-selection-sparkles{opacity:0;pointer-events:none;position:absolute;inset:-2%}.topic-selection-sparkles i{background:#fff6d8;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 10px 3px #ffd98e}.topic-selection-sparkles i:first-child{top:13%;left:7%}.topic-selection-sparkles i:nth-child(2){animation-delay:.12s;top:27%;right:5%}.topic-selection-sparkles i:nth-child(3){animation-delay:.22s;bottom:17%;left:12%}.topic-selection-sparkles i:nth-child(4){animation-delay:.34s;bottom:8%;right:10%}.topic-card.is-selected .topic-selection-sparkles{opacity:1}.topic-card.is-selected .topic-selection-sparkles i{animation:.65s ease-in-out infinite alternate selection-sparkle}@keyframes selection-sparkle{0%{opacity:.35;transform:scale(.55)}to{opacity:1;transform:scale(1.35)}}.carousel-indicators{justify-content:center;gap:.42rem;margin-top:.12rem;display:flex}.carousel-indicators button{cursor:pointer;background:#a78cb099;border:1px solid #efd39e;border-radius:50%;width:.48rem;height:.48rem;padding:0;transition:width .24s,background .24s}.carousel-indicators button[aria-current=true]{background:#ffe2a8;border-radius:999px;width:1.15rem}.entrance-screen{opacity:1;transition:opacity .5s ease-in-out}.entrance-screen.is-fade{opacity:0}.entrance-backdrop{object-position:center}.entrance-shade{background:linear-gradient(#1b0e2a8c 0%,#0000 25%,#170a2585 100%)}.skip-door{z-index:20;top:calc(env(safe-area-inset-top,0px) + .8rem);color:#f5e8dd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;background:#21132e88;border:1px solid #d8b98270;border-radius:999px;min-height:44px;padding:.55rem .82rem;font-size:.7rem;position:absolute;right:.85rem}.entrance-copy{z-index:12;top:calc(env(safe-area-inset-top,0px) + 5.4rem);text-align:center;text-shadow:0 2px 14px #15091e;position:absolute;left:1.5rem;right:1.5rem}.entrance-copy p{color:#f2ce94;letter-spacing:.12em;margin:0 0 .3rem;font-size:.7rem}.entrance-copy h2{font:500 clamp(1.28rem, 6vw, 1.65rem)/1.35 var(--serif);margin:0}.door-stage{z-index:5;perspective:1000px;opacity:1;transition:opacity .18s;position:absolute;inset:0;overflow:visible}.entrance-screen.is-loading .door-stage{opacity:0}.door-panel{backface-visibility:hidden;will-change:transform, opacity;width:70%;max-width:none;height:auto;transition:transform 1.8s ease-in-out,filter 1.8s ease-in-out,opacity .5s;position:absolute;top:14%}.door-left{transform-origin:21.7%;left:-5.4%}.door-right{transform-origin:77%;left:35.6%}.entrance-screen.is-opening .door-left,.entrance-screen.is-reveal .door-left,.entrance-screen.is-fade .door-left{filter:brightness(.84);transform:rotateY(58deg)translate(-1.5%)}.entrance-screen.is-opening .door-right,.entrance-screen.is-reveal .door-right,.entrance-screen.is-fade .door-right{filter:brightness(.84);transform:rotateY(-58deg)translate(1.5%)}.entrance-screen.is-preview-mid .door-left{transform:rotateY(31deg)translate(-.75%)}.entrance-screen.is-preview-mid .door-right{transform:rotateY(-31deg)translate(.75%)}.door-seam-glow{opacity:.18;background:linear-gradient(#0000,#fff2c9 16%,#f5d6ff 75%,#0000);width:3px;transition:width .4s ease-in-out,opacity .4s ease-in-out,box-shadow .4s ease-in-out;position:absolute;top:18%;bottom:18%;left:50%;transform:translate(-50%);box-shadow:0 0 12px 4px #ffecc496}.entrance-screen.is-glow .door-seam-glow{opacity:.88;width:4%;box-shadow:0 0 30px 14px #ffe8b99c}.entrance-screen.is-opening .door-seam-glow,.entrance-screen.is-reveal .door-seam-glow,.entrance-screen.is-fade .door-seam-glow{opacity:.92;width:18%;transition-duration:1.8s;box-shadow:0 0 64px 30px #fce6ff91}.entrance-screen.is-preview-mid .door-seam-glow{opacity:.78;width:10%;box-shadow:0 0 36px 18px #fce6ff8a}.entrance-light{z-index:8;opacity:0;pointer-events:none;background:radial-gradient(#fff6dddf 0,#e7c8f690 25%,#0000 68%);transition:opacity .5s ease-in-out;position:absolute;inset:0}.entrance-screen.is-glow .entrance-light{opacity:.12}.entrance-screen.is-opening .entrance-light{opacity:.32;transition-duration:1.8s}.entrance-screen.is-reveal .entrance-light,.entrance-screen.is-fade .entrance-light{opacity:.72}.entrance-screen.is-preview-mid .entrance-light{opacity:.36}.entrance-status{z-index:14;left:1rem;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem);color:#fff4e5;text-align:center;font:500 .84rem/1.5 var(--serif);text-shadow:0 2px 12px #16091f;margin:0;position:absolute}.reading-room{animation:.5s ease-out both room-arrival}@keyframes room-arrival{0%{opacity:0}to{opacity:1}}.reading-room-background{object-position:center}.room-vignette{z-index:1;background:linear-gradient(#180c2473 0,#0000 35%,#13091dc4 100%)}.room-table-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.reading-table{filter:drop-shadow(0 -10px 22px #21102d48);width:92%;max-width:none;height:auto;position:absolute;top:53.5%;left:50%;transform:translate(-50%)}.future-card-area{z-index:3;opacity:.23;pointer-events:none;justify-content:center;gap:.45rem;display:flex;position:absolute;top:57%;left:25%;right:25%}.future-card-area i{aspect-ratio:2/3;border:1px solid #fff1d5;border-radius:3px;width:22%;box-shadow:0 0 10px #f2c5ff66}.room-ui{z-index:8;min-height:max(100dvh,680px);position:relative}.room-copy{top:calc(env(safe-area-inset-top,0px) + 4.8rem);text-align:center;text-shadow:0 2px 15px #15091f;position:absolute;left:1.6rem;right:1.6rem}.room-copy .selected-topic{color:#f0ca91;letter-spacing:.08em;margin:0 0 .4rem;font-size:.7rem}.room-copy h2{font:500 clamp(1.05rem, 4.8vw, 1.32rem)/1.45 var(--serif);margin:0}.room-copy h2 span{white-space:nowrap;display:block}.room-action{left:1.4rem;right:1.4rem;bottom:calc(env(safe-area-inset-bottom,0px) + .72rem);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#25152b66,#1a0e25db);border:1px solid #d9ba8266;border-radius:.95rem;justify-items:center;padding:.55rem .65rem .48rem;display:grid;position:absolute}.room-action .magical-button{min-width:min(15rem,78vw);min-height:2.75rem;padding-block:.7rem}.coming-soon{color:#ddccdf;text-align:center;min-height:1.45rem;margin:.42rem 0 0;font-size:.66rem;line-height:1.35}.coming-soon.is-visible{color:#fff0d8}.magical-button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.25);box-shadow:none}.text-button{color:#f5e7dc;cursor:pointer;background:#21142db3;border:1px solid #d5b37a80;border-radius:999px;min-height:44px;padding:.55rem .85rem}.reading-room.is-session-active .room-ui{overscroll-behavior-y:contain;scrollbar-width:none;height:max(100dvh,680px);overflow-y:auto}.reading-room.is-session-active .room-ui::-webkit-scrollbar{display:none}.reading-room.is-session-active .room-vignette{background:linear-gradient(#150921c7 0,#170b2582 35%,#100719e8 100%)}.reading-room.is-session-active .future-card-area{opacity:0}.reading-room.is-session-active .reading-table{opacity:.92;width:96%;top:50%}.session-heading{text-align:center;text-shadow:0 2px 14px #14071d}.session-heading p{color:#efc989;letter-spacing:.06em;margin:0 0 .35rem;font-size:.68rem;line-height:1.35}.session-heading h2{color:#fff4e8;font:500 clamp(1.12rem, 5vw, 1.38rem)/1.4 var(--serif);word-break:keep-all;margin:0}.session-heading.compact p{white-space:nowrap;text-overflow:ellipsis;max-width:21rem;margin-inline:auto;overflow:hidden}.session-heading.compact h2{font-size:clamp(1rem,4.5vw,1.18rem)}.session-heading strong{color:#ffe1a6;margin-top:.42rem;font-size:.76rem;display:inline-block}.selection-progress{align-content:start;justify-items:center;min-height:2.35rem;display:grid}.selection-progress span{color:#f8dfb0;font:500 .65rem/1.35 var(--serif);text-shadow:0 0 10px #f2c98070;margin-top:.1rem;animation:.3s ease-out both selection-message}@keyframes selection-message{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.question-step{z-index:10;min-height:max(100dvh,680px);padding:calc(env(safe-area-inset-top,0px) + 4.8rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);flex-direction:column;gap:.75rem;display:flex;position:relative}.question-mode{background:#1f112ba8;border:1px solid #d3b27a61;border-radius:999px;grid-template-columns:1fr 1fr;gap:.45rem;padding:.25rem;display:grid}.question-mode button{color:#d7c5d9;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:42px;padding:.45rem}.question-mode button[aria-selected=true]{color:#3e2851;background:linear-gradient(#fff0cf,#e7cda5);box-shadow:0 0 16px #f1d39555}.preset-questions{gap:.55rem;display:grid}.preset-questions button{color:#f7eaf0;text-align:left;cursor:pointer;background:linear-gradient(135deg,#392544e8,#251630e8);border:1px solid #cda97873;border-radius:.9rem;grid-template-columns:1.25rem 1fr;align-items:center;gap:.35rem;min-height:4.25rem;padding:.75rem .8rem;line-height:1.45;display:grid}.preset-questions button span{color:#f7d998;text-align:center}.preset-questions button.is-selected{color:#fff7e9;border-color:#ffe0a4;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #f6d79b66,0 0 18px #e7b3d64f}.custom-question{background:#251630df;border:1px solid #cfae796b;border-radius:1rem;padding:.9rem}.custom-question label{color:#f2d59f;font:600 .84rem/1.4 var(--serif);margin-bottom:.55rem;display:block}.custom-question textarea{resize:vertical;color:#fff5eb;background:#120b1acc;border:1px solid #b994b4;border-radius:.7rem;width:100%;min-height:8.5rem;padding:.8rem;line-height:1.55}.custom-question textarea::placeholder{color:#ae99ad}.question-count{color:#cdbbca;justify-content:space-between;gap:.5rem;margin-top:.42rem;font-size:.65rem;display:flex}.question-count strong{color:#f0d194}.question-actions{justify-items:center;gap:.45rem;margin-top:auto;display:grid}.question-actions .magical-button{min-height:3rem}.shuffle-stage{z-index:10;min-height:max(100dvh,680px);padding:calc(env(safe-area-inset-top,0px) + 5rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);text-align:center;position:relative;overflow:hidden}.shuffle-deck{perspective:700px;width:7.1rem;height:10.65rem;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.shuffle-deck>i{filter:drop-shadow(0 6px 8px #120719aa);transform:translate(calc((var(--shuffle-index) - 3) * 1px), calc((var(--shuffle-index) - 3) * -1px));background:url(/images/optimized/tarot/card-back.webp) 50%/contain no-repeat;border-radius:.45rem;transition:transform .35s ease-in-out;position:absolute;inset:0}.shuffle-stage.is-split .shuffle-deck>i:nth-child(-n+3){transform:translate(-58px,4px)rotate(-7deg)}.shuffle-stage.is-split .shuffle-deck>i:nth-child(n+4){transform:translate(58px,4px)rotate(7deg)}.shuffle-stage.is-riffle .shuffle-deck>i:nth-child(odd){animation:.5s ease-in-out 2 alternate riffle-left}.shuffle-stage.is-riffle .shuffle-deck>i:nth-child(2n){animation:.5s ease-in-out 80ms 2 alternate riffle-right}.shuffle-stage.is-gather .shuffle-deck>i,.shuffle-stage.is-sparkle .shuffle-deck>i{transform:translate(calc((var(--shuffle-index) - 3) * 1px), calc((var(--shuffle-index) - 3) * -1px));transition-duration:.4s}.shuffle-burst{color:#ffe7a9;opacity:0;font-size:1rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.4)}.shuffle-stage.is-sparkle .shuffle-burst{animation:.45s ease-out both shuffle-sparkle}.shuffle-status{color:#efe0e9;font:500 .82rem/1.5 var(--serif);position:absolute;top:65%;left:1rem;right:1rem}.shuffle-skip{bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);position:absolute;left:50%;transform:translate(-50%)}@keyframes riffle-left{to{transform:translate(38px,-8px)rotate(4deg)}}@keyframes riffle-right{to{transform:translate(-38px,7px)rotate(-4deg)}}@keyframes shuffle-sparkle{40%{opacity:1;filter:drop-shadow(0 0 10px #ffdfa6);transform:translate(-50%,-50%)scale(5)}to{opacity:0;transform:translate(-50%,-50%)scale(7)}}.card-selection-step,.reveal-step{z-index:10;min-height:max(100dvh,680px);padding:calc(env(safe-area-inset-top,0px) + 4.7rem) .65rem calc(env(safe-area-inset-bottom,0px) + .75rem);flex-direction:column;display:flex;position:relative}.selected-spread{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;width:100%;margin:.65rem auto .35rem;display:grid}.spread-slot{justify-items:center;gap:.25rem;min-width:0;display:grid}.spread-slot>p{color:#edcf99;white-space:nowrap;margin:0;font-size:.62rem}.empty-slot,.reveal-card{aspect-ratio:2/3;border-radius:.36rem;width:min(4.7rem,21vw)}.empty-slot{background:#2d1a3b4f;border:1px dashed #e8cb9694;display:block;box-shadow:inset 0 0 15px #0f071999}.reveal-card{perspective:700px;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.reveal-card:disabled{cursor:default}.reveal-card-inner{transform-style:preserve-3d;transition:transform .58s ease-in-out;display:block;position:absolute;inset:0}.reveal-card.is-revealed .reveal-card-inner{transform:rotateY(180deg)}.reveal-card-back,.reveal-card-front{backface-visibility:hidden;border-radius:.36rem;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 5px 12px #12071999}.reveal-card-front{transform:rotateY(180deg)}.reveal-card-back img,.reveal-card-front img{object-fit:contain;width:100%;height:100%;display:block}.reveal-card-front.is-reversed img{transform:rotate(180deg)}.spread-slot{position:relative}.spread-slot.is-arriving .reveal-card{animation:.28s ease-out both card-to-slot}.spread-slot.is-arriving:after{content:"✦";z-index:3;color:#ffe6aa;pointer-events:none;font-size:.85rem;animation:.48s ease-out both slot-sparkle;position:absolute;top:45%;left:50%}.revealed-label{color:#fff2df;text-align:center;font:600 .64rem/1.25 var(--serif)}.revealed-label small{color:#d9bfd5;font-size:.58rem;font-weight:500;display:block}@keyframes card-to-slot{0%{opacity:.35;transform:translateY(14px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slot-sparkle{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(0)}45%{opacity:1;filter:drop-shadow(0 0 8px #ffe09b);transform:translate(-50%,-50%)scale(2.4)rotate(35deg)}to{opacity:0;transform:translate(-50%,-50%)scale(3.4)rotate(70deg)}}.card-fan-panel{width:calc(100% + 1.3rem);margin:auto -.65rem 0;overflow:hidden}.deck-range{color:#f7eadf;text-align:center;font:500 .68rem/1.35 var(--serif);text-shadow:0 2px 8px #13071c;margin:0}.deck-position-bar{background:#7c5e7c8c;border-radius:999px;width:min(15rem,66vw);height:2px;margin:.36rem auto .18rem;position:relative;overflow:hidden}.deck-position-bar i{border-radius:inherit;background:linear-gradient(90deg,#c89f66,#ffe3a7,#c89f66);transition:left .12s linear;position:absolute;top:0;bottom:0;box-shadow:0 0 7px #f7d291}.card-deck-shell{position:relative}.card-deck-viewport{touch-action:pan-x pan-y;overscroll-behavior-inline:contain;scrollbar-width:none;cursor:grab;outline:none;width:100%;padding:.85rem calc(50% - 2.85rem) .65rem;overflow:auto hidden}.card-deck-viewport::-webkit-scrollbar{display:none}.card-deck-viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.card-deck-track{align-items:flex-end;width:max-content;min-height:9.75rem;display:flex}.deck-card{aspect-ratio:2/3;width:5.7rem;transform:rotate(var(--deck-tilt));transform-origin:50% 105%;filter:brightness(.91)saturate(.94);cursor:pointer;background:0 0;border:0;border-radius:.43rem;flex:0 0 5.7rem;margin-left:-2.85rem;padding:0;transition:transform .22s,filter .22s,opacity .22s;position:relative}.deck-card:first-child{margin-left:0}.deck-card:hover,.deck-card:focus-visible{z-index:4;filter:brightness(1.08);outline:none;transform:translateY(-9px)rotate(0)scale(1.035)}.deck-card:after{content:"";border:1px solid #0000;border-radius:.46rem;transition:border-color .18s,box-shadow .18s;position:absolute;inset:-2px}.deck-card:hover:after,.deck-card:focus-visible:after{border-color:#ffe1a3;box-shadow:0 0 14px #f3cf936b}.deck-card img{object-fit:contain;filter:drop-shadow(0 6px 8px #100617b3);pointer-events:none;width:100%;height:100%;display:block}.deck-card.is-highlighted{z-index:18;filter:brightness(1.18)saturate(1.06);transform:translateY(-16px)rotate(0)scale(1.06)}.deck-card.is-highlighted:after{border-color:#ffe4a6;box-shadow:0 0 0 1px #fff2c780,0 0 22px #f4cc7dcc}.deck-card.is-placeholder{z-index:1;opacity:.18;transform:translateY(-8px) rotate(var(--deck-tilt));filter:brightness(.72)saturate(.7)}.deck-card.is-placeholder:after{border-style:dashed;border-color:#e4c88c73}.deck-scroll-button{z-index:12;color:#fff0d5;cursor:pointer;background:#21142de6;border:1px solid #d9ba82;border-radius:50%;width:44px;height:44px;padding:0;font-size:1.45rem;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #11071999}.deck-scroll-button.is-left{left:.35rem}.deck-scroll-button.is-right{right:.35rem}.deck-scroll-button:disabled{opacity:.26;cursor:default}.deck-instruction{color:#d8c6d6;text-align:center;margin:-.08rem .7rem 0;font-size:.63rem;line-height:1.4}.card-selection-flight{z-index:120;left:var(--flight-left);top:var(--flight-top);width:var(--flight-width);height:var(--flight-height);pointer-events:none;will-change:left, top, width, height, transform;animation:.72s cubic-bezier(.2,.74,.25,1) forwards card-selection-flight;position:fixed}.card-selection-flight:after{content:"";border:1px solid #ffe1a0;border-radius:.42rem;position:absolute;inset:-3px;box-shadow:0 0 20px #f6d18fa8}.card-selection-flight img{object-fit:contain;filter:drop-shadow(0 7px 10px #110719aa);width:100%;height:100%;display:block}@keyframes card-selection-flight{0%{left:var(--flight-left);top:var(--flight-top);width:var(--flight-width);height:var(--flight-height);opacity:1;transform:translateY(0)scale(1)}28%{opacity:1;transform:translateY(-22px)scale(1.075)}to{left:var(--flight-to-left);top:var(--flight-to-top);width:var(--flight-to-width);height:var(--flight-to-height);opacity:.96;transform:translateY(0)scale(1)}}.ready-actions{justify-items:center;gap:.35rem;margin:auto 0 .4rem;display:grid}.ready-actions p{color:#d8c5d6;text-align:center;margin:0;font-size:.65rem}.reveal-step{justify-content:flex-start}.reveal-step .selected-spread{margin-top:clamp(3.7rem,12vh,6.2rem)}.reveal-step .empty-slot,.reveal-step .reveal-card{width:min(6.25rem,26vw)}.reveal-step .spread-slot>p{font-size:.66rem}.reveal-skip{align-self:center;margin-top:auto}.reading-ready-status{text-align:center;color:#f9e9dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#21132dc9;border:1px solid #d5b47d78;border-radius:1rem;justify-items:center;gap:.25rem;margin-top:auto;padding:.7rem;display:grid}.reading-ready-status>span{color:#ffe2a0}.reading-ready-status strong{font:600 .96rem/1.3 var(--serif)}.reading-ready-status p{color:#d7c4d5;margin:0;font-size:.66rem}.card-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0714dc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.card-modal{color:#fff2e4;text-align:center;background:linear-gradient(160deg,#432d50,#21142c);border:1px solid #e1bf83;border-radius:1.1rem;width:min(20rem,90vw);max-height:92dvh;padding:1rem;position:relative;overflow-y:auto;box-shadow:0 18px 60px #09040dcc,0 0 30px #d7a9d342}.modal-close{z-index:2;color:#fff1df;cursor:pointer;background:#1b1026d9;border:1px solid #ddbd87;border-radius:50%;width:44px;height:44px;font-size:1.55rem;position:absolute;top:.55rem;right:.55rem}.modal-card-image{width:min(13.5rem,66vw);margin:.3rem auto .75rem}.modal-card-image img{border-radius:.55rem;width:100%;height:auto;display:block;box-shadow:0 10px 28px #100718cc}.modal-card-image.is-reversed img{transform:rotate(180deg)}.card-modal p{color:#e8c98f;margin:0;font-size:.72rem}.card-modal h2{font:600 1.3rem/1.3 var(--serif);margin:.35rem 0}.card-modal h2 small{color:#cdb7ce;margin-top:.1rem;font-size:.72rem;font-weight:400;display:block}.card-modal>strong{color:#ffe0a5;font-size:.78rem}@media (width>=431px){.mobile-layout{border-inline:1px solid #5b446a}}@media (width<=350px){.topic-carousel{--topic-card-width:13.1rem}.topic-title{font-size:.78rem;left:10%;right:10%}.topic-carousel-controls{width:78vw}.back-button span:last-child{display:none}.room-copy{top:calc(env(safe-area-inset-top,0px) + 4.45rem);left:1rem;right:1rem}.room-action{left:.8rem;right:.8rem}.question-step{padding-inline:.7rem}.preset-questions button{min-height:4rem;font-size:.78rem}.selected-spread{gap:.22rem}.spread-slot>p{font-size:.56rem}.deck-card{flex-basis:5.25rem;width:5.25rem;margin-left:-2.72rem}.card-deck-viewport{padding-inline:calc(50% - 2.62rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.topic-card,.home-screen .background-image,.tarot-logo,.home-heading,.topic-carousel,.carousel-hint{opacity:1;transform:none}.topic-card{transform:none}.entrance-screen{transition-duration:.16s}.door-panel{transition:opacity 60ms linear;transform:none!important}.entrance-screen.is-fade .door-panel{opacity:0}.entrance-screen.is-preview-mid .door-panel{opacity:1}.entrance-screen.is-preview-mid .door-left{transform:rotateY(31deg)translate(-.75%)!important}.entrance-screen.is-preview-mid .door-right{transform:rotateY(-31deg)translate(.75%)!important}.door-seam-glow,.entrance-light{transition:none}.shuffle-deck>i{transition:none!important;animation:none!important}.deck-card,.reveal-card-inner{transition-duration:.01ms!important}.card-selection-flight{animation-duration:.01ms!important}.reading-room.force-motion .shuffle-deck>i{transition:transform .35s ease-in-out!important}.reading-room.force-motion .shuffle-stage.is-riffle .shuffle-deck>i:nth-child(odd){animation:.5s ease-in-out 2 alternate riffle-left!important}.reading-room.force-motion .shuffle-stage.is-riffle .shuffle-deck>i:nth-child(2n){animation:.5s ease-in-out 80ms 2 alternate riffle-right!important}.reading-room.force-motion .shuffle-stage.is-sparkle .shuffle-burst{animation:.45s ease-out both shuffle-sparkle!important}.reading-room.force-motion .deck-card,.reading-room.force-motion .reveal-card-inner{transition-duration:.32s!important}.reading-room.force-motion .reveal-card-inner{transition-duration:.58s!important}.reading-room.force-motion .card-selection-flight{animation-duration:.72s!important}}.relationship-picker{background:#21132dcf;border:1px solid #d2ad7773;border-radius:1rem;margin:0;padding:.72rem}.relationship-picker legend{color:#f5d99f;font:600 .82rem/1.3 var(--serif);text-align:center;padding:0 .35rem}.relationship-options{grid-template-columns:1fr 1fr;gap:.42rem;display:grid}.relationship-options button{color:#eee0ea;text-align:left;cursor:pointer;background:#33213ed9;border:1px solid #a987a366;border-radius:.72rem;min-height:3.5rem;padding:.48rem .5rem}.relationship-options button strong,.relationship-options button span{display:block}.relationship-options button strong{color:#fff1df;font-size:.72rem;line-height:1.3}.relationship-options button span{color:#cdbbcc;margin-top:.18rem;font-size:.58rem;line-height:1.3}.relationship-options button.is-selected{background:linear-gradient(145deg,#fbe9c9,#d8b9cf);border-color:#ffe3aa;box-shadow:0 0 15px #f3d19a4f}.relationship-options button.is-selected strong{color:#4a3153}.relationship-options button.is-selected span{color:#654d67}.unsupported-topic,.consultation-ended{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:max(100dvh,680px);padding:5rem 1.2rem 2rem;display:flex;position:relative}.unsupported-topic>p,.consultation-ended>p{color:#efcc93;letter-spacing:.08em;margin:0;font-size:.72rem}.unsupported-topic h2,.consultation-ended h2{color:#fff2e3;font:500 1.35rem/1.45 var(--serif);margin:0}.reading-room.is-step-reading .reading-table,.reading-room.is-step-generating .reading-table,.reading-room.is-step-reading-error .reading-table,.reading-room.is-step-ended .reading-table{opacity:.3}.reading-loading,.reading-error{z-index:10;text-align:center;flex-direction:column;justify-content:center;gap:1rem;min-height:max(100dvh,680px);padding:5rem .8rem 1.25rem;display:flex;position:relative}.reading-loading .selected-spread,.reading-error .selected-spread{margin:0 auto}.reading-loading .reading-paper>span{color:#c99949;font-size:1.25rem;animation:1.2s ease-in-out infinite sparkle}.reading-result{z-index:10;min-height:max(100dvh,680px);padding:calc(env(safe-area-inset-top,0px) + 4.6rem) .8rem calc(env(safe-area-inset-bottom,0px) + 1rem);color:#fff2e8;position:relative}.reading-result-header{text-align:center;text-shadow:0 2px 12px #120719;margin-bottom:.9rem}.reading-result-header p{color:#edcd95;white-space:nowrap;text-overflow:ellipsis;max-width:21rem;margin:0 auto .35rem;font-size:.66rem;overflow:hidden}.reading-result-header h2{font:500 clamp(1.05rem, 4.8vw, 1.28rem)/1.45 var(--serif);word-break:keep-all;margin:0}.reading-result-header>span{color:#ddc9dc;margin-top:.35rem;font-size:.64rem;display:inline-block}.single-card-story{justify-items:center;gap:.85rem;display:grid}.story-card-image{filter:drop-shadow(0 12px 18px #100617bd);width:min(10.5rem,46vw)}.story-card-image img{border-radius:.52rem;width:100%;height:auto;display:block}.story-card-image.is-reversed img,.result-card-row .is-reversed img{transform:rotate(180deg)}.reading-paper{color:#4c3851;background:linear-gradient(155deg,#fff9eefa,#f2e2d8f2);border:1px solid #d7b77f;border-radius:1rem;width:100%;padding:1rem;font-size:.85rem;line-height:1.75;box-shadow:0 10px 30px #12071980,inset 0 0 22px #d5b9d526}.reading-paper h2{color:#513a59;font:600 1.15rem/1.4 var(--serif);margin:.3rem 0 .55rem}.reading-paper p{white-space:pre-line;word-break:keep-all;margin:0}.reading-introduction{color:#715871;font-family:var(--serif)}.reading-bridge{color:#8b657c;border-bottom:1px solid #bd9d8b66;padding-bottom:.65rem;font-size:.76rem;margin-bottom:.65rem!important}.reading-step-actions{justify-items:center;gap:.5rem;width:100%;display:grid}.reading-step-actions .magical-button{width:min(17rem,84vw)}.reading-skip{color:#dbc8da;text-underline-offset:.22rem;cursor:pointer;background:0 0;border:0;min-height:44px;padding:.45rem .75rem;text-decoration:underline}.reading-fade{animation:.38s ease-out both reading-enter}@keyframes reading-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.full-reading{gap:.9rem;display:grid}.result-card-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.55rem;display:grid}.result-card-row>div{text-align:center;min-width:0}.result-card-row>div>div{width:100%}.result-card-row img{filter:drop-shadow(0 6px 10px #1006179e);border-radius:.38rem;width:100%;height:auto;display:block}.result-card-row small{color:#f7e7dc;text-shadow:0 2px 8px #120719;margin-top:.3rem;font-size:.6rem;line-height:1.35;display:block}.long-form{gap:1rem;padding:1.1rem;display:grid}.long-form section{border-top:1px solid #b996875e;padding-top:.9rem}.long-form h3{color:#6d4b68;font:700 .9rem/1.4 var(--serif);margin:0 0 .4rem}.long-form .reading-key-message{color:#fff6e8;background:linear-gradient(145deg,#4c315f,#30203f);border:1px solid #d7b36f;border-radius:.8rem;padding:1rem .9rem .9rem;position:relative;box-shadow:inset 0 0 18px #d7b36f1f,0 6px 18px #2b153b29}.reading-key-message>span{color:#f0d394;font-size:.75rem;position:absolute;top:.65rem;right:.8rem}.long-form .reading-key-message h3{color:#f0d394;letter-spacing:.08em;font-size:.74rem}.long-form .reading-key-message p{color:#fff8ed;font:600 clamp(.98rem, 4.2vw, 1.08rem)/1.65 var(--serif)}.long-form .history-connection{background:#eadbea94;border:1px solid #b698b0;border-radius:.75rem;padding:.85rem}.follow-up-panel{text-align:center;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#24152edb;border:1px solid #d5b47e85;border-radius:1rem;justify-items:center;gap:.6rem;padding:1rem;display:grid}.follow-up-panel h3{color:#fff0dc;font:600 1rem/1.4 var(--serif);margin:0}.follow-up-panel p{color:#e3d1e0;margin:0}.follow-up-panel blockquote{color:#f5d99f;font:500 .9rem/1.55 var(--serif);margin:0}.follow-up-panel .magical-button{width:min(18rem,88vw)}.history-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.history-backdrop{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0614dc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.history-dialog{color:#fff2e7;background:linear-gradient(160deg,#432d50,#20132b);border:1px solid #dfbd83;border-radius:1.1rem;width:min(22rem,92vw);max-height:86dvh;padding:1.2rem 1rem 1rem;position:relative;overflow-y:auto;box-shadow:0 18px 60px #09040dcc}.history-dialog>p{color:#e7c68e;margin:0;font-size:.68rem}.history-dialog h2{font:600 1.25rem/1.4 var(--serif);margin:.25rem 0 .9rem}.history-list{gap:.55rem;display:grid}.history-list button{color:#f8e9e4;text-align:left;cursor:pointer;background:#2a1936;border:1px solid #b99aad82;border-radius:.75rem;gap:.22rem;padding:.8rem;display:grid}.history-list button span{color:#ebc98e;font-size:.62rem}.history-list button strong{font:600 .88rem/1.35 var(--serif)}.history-list button small{color:#cdbbc9;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consultation-ended .reading-paper{max-width:21rem}@media (width<=350px){.relationship-options button{min-height:3.2rem;padding:.4rem}.relationship-options button span{font-size:.54rem}.reading-result{padding-inline:.55rem}.reading-paper{padding:.82rem;font-size:.8rem}.result-card-row{gap:.35rem}}@media (prefers-reduced-motion:reduce){.reading-fade,.reading-loading .reading-paper>span{animation:none}}.topic-context-picker .relationship-options{grid-template-columns:1fr}.spread-slot>p{white-space:normal;text-align:center;word-break:keep-all;max-width:100%;min-height:1.8em;line-height:1.22}
