@font-face{font-family:Gowun;src:url('assets/GowunDodum-Web.woff') format('woff');font-display:swap}
html.coming-soon-open{overflow:hidden}
#coming-soon-dialog{padding:0;width:min(520px,calc(100vw - 32px),calc((100svh - 48px) * .80028));max-height:calc(100svh - 48px);border:1px solid #e1c19c70;border-radius:12px;background:#211820;overflow:hidden;box-shadow:0 20px 80px #0008}
#coming-soon-dialog img{display:block;width:100%;height:auto}
#coming-soon-dialog .dialog-close{z-index:1;top:8px;right:8px;width:44px;height:44px;border-radius:50%;background:#211820d9;color:#fff4df;line-height:1;border:1px solid #e1c19c70}
:root{color-scheme:dark;--base:#211820;--surface:#2d212b;--ink:#f6eade;--muted:#c6afbd;--gold:#e1c19c;--line:#e1c19c38;--serif:Gowun,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;--card-gap:clamp(4px,1.1vw,10px)}
*{box-sizing:border-box}html{background:var(--base);scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% 0,#51334635,transparent 60%),var(--base);color:var(--ink);font:1rem/1.75 var(--sans);overflow-wrap:break-word}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1:focus,h2:focus{outline:none}[hidden]{display:none!important}img{display:block;max-width:100%}.topbar{max-width:1200px;margin:auto;height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px}.home-link{font-size:.8125rem;color:var(--muted)}.brand{font: .75rem/1.5 Georgia,serif;letter-spacing:.12em;color:#e1c9b7}.screen{min-width:0}.screen:not([hidden]){animation:enter .24s ease both}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:26px 16px;color:#bca5b4;font-size:.75rem;letter-spacing:.04em}.site-footer span{color:#a98d9f}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:54px;width:100%;padding:14px 16px;border-radius:5px;font-size:1rem;line-height:1.6;word-break:keep-all}.primary{border:1px solid #edcfad;background:var(--gold);color:#2c1a25;font-weight:600;transition:background .2s}.primary:hover:not(:disabled){background:#eed2b0}.primary:disabled{background:#463440;border-color:#72566a;color:#c0a8b7;opacity:.75}.secondary{border:1px solid #d6b29a70;background:#ffffff03;color:var(--ink)}.secondary:hover{background:#ffffff08}.text-button{padding:10px 8px;border:0;background:none;color:var(--muted);font-size:.875rem;min-height:44px}.eyebrow{font-size:.875rem;color:var(--gold);letter-spacing:.06em}.mirelle-voice{font:1rem/1.85 var(--serif);color:#d5bdca;word-break:keep-all}.soft-copy{color:var(--muted);font-size:1rem}
/* Greeting and the question are one continuous, immediately usable entrance. */
.welcome{max-width:520px;margin:auto}.welcome-portrait{height:clamp(155px,25svh,235px);position:relative;overflow:hidden}.welcome-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.welcome-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--base),transparent 40%),linear-gradient(90deg,#21182044,transparent 30%,transparent 70%,#21182044)}.welcome-copy{position:relative;text-align:center;padding:0 22px}.welcome h1{font-size:clamp(1.45rem,5.5vw,1.9rem);line-height:1.55;letter-spacing:-.035em}.welcome .mirelle-voice{margin:12px 0 0;font-size:.9375rem}.question-panel{margin:25px auto 0;padding-top:22px;border-top:1px solid var(--line);max-width:430px}.question-panel h2{font-size:1.375rem;line-height:1.55;margin:12px auto 20px;min-height:2.9em;max-width:18em;display:flex;align-items:center;justify-content:center;letter-spacing:-.025em}.question-toggle{margin-top:7px;text-decoration:underline;text-underline-offset:5px}.question-options{margin-top:8px;display:grid;gap:8px;text-align:left}.question-option{display:block;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#352632;text-align:left;font:1rem/1.7 var(--serif);word-break:keep-all}.question-option:hover{background:#473143}
/* All 22 backs fit in three centered rows with identical card widths. */
.choose{max-width:760px;margin:24px auto 26px;padding:0 16px;text-align:center}.chosen-question{max-width:32em;margin:0 auto 18px;color:var(--muted);font: .875rem/1.75 var(--serif);word-break:keep-all}.choose h1{font-size:1.5rem;line-height:1.6;letter-spacing:-.04em;max-width:19em;margin:auto}.choose .soft-copy{margin-top:8px}.deck{margin:30px auto 0;display:grid;gap:18px;padding:8px 0;max-width:680px}.deck-row{display:flex;justify-content:center;gap:var(--card-gap);width:100%}.deck-card{position:relative;width:calc((100% - 7 * var(--card-gap))/8);flex:none;padding:0;border:0;background:none;border-radius:4px;transition:transform .17s,filter .17s,opacity .17s}.deck-card .tarot-art{border:1px solid #cfa47b65;border-radius:4px;box-shadow:0 3px 8px #0004}.deck-card:hover:not(:disabled){filter:brightness(1.12)}.deck-card.is-selected{transform:translateY(-6px);filter:brightness(1.16);z-index:1}.deck-card.is-selected .tarot-art{border-color:#ffe0b1;box-shadow:0 0 0 2px #e1c19c,0 6px 14px #0006}.deck-card:disabled:not(.is-selected){opacity:.5}.pick-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:1rem/1 var(--sans);font-weight:700;color:#fff4df;text-shadow:0 1px 4px #170d17;background:#21182025;pointer-events:none}.pick-number:empty{display:none}.selection-status{margin:20px 0 14px;font:1rem/1.6 var(--sans);letter-spacing:.12em;color:var(--gold)}.open-cards{max-width:420px;margin:auto}.tarot-art{position:relative;overflow:hidden;aspect-ratio:3/5;border-radius:6px;background:#3f2839;isolation:isolate}.tarot-art img{width:100%;height:100%;object-fit:fill}.tarot-art.pair img{position:absolute;max-width:none;width:241.33%;height:108.6%;top:-3.5%;left:-16.67%}.tarot-art.back img{left:-125%}
/* Cards and reading enter together; no per-card delays. */
.reading{max-width:920px;margin:25px auto 0;padding:0 22px}.reading>h1{text-align:center;font-size:1.5rem;line-height:1.6;margin-bottom:25px}.revealed-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:620px;margin:0 auto 36px;perspective:1200px}.spread-card{min-width:0;text-align:center}.reading:not([hidden]) .spread-card .tarot-art{animation:reveal .3s ease both}.spread-card figcaption{font: .9375rem/1.6 var(--serif);margin-top:12px;color:var(--gold);word-break:keep-all;overflow-wrap:anywhere}.card-english{display:block;font: .75rem/1.6 Georgia,serif;letter-spacing:.025em;color:#c9b19e;margin-bottom:4px}.reading-copy{max-width:700px;margin:auto}.reading-question{font-size:1.625rem;line-height:1.6;letter-spacing:-.035em;padding:25px 0;border-top:1px solid var(--line)}.short-reading{padding:22px 0;border-top:1px solid var(--line)}.short-reading h3{margin:0 0 12px;display:flex;gap:10px;align-items:baseline;font:1.0625rem/1.7 var(--serif);font-weight:400;color:var(--gold)}.reading-number{font: .8125rem/1.6 Georgia,serif;color:#b294a5;letter-spacing:.04em}.short-reading p,.reading-body{font-size:1rem;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere;color:#ead9e0}.synthesis{padding:24px 22px;margin:15px -4px 0;background:linear-gradient(145deg,#48313e80,#30212d70);border:1px solid var(--line);border-radius:6px}.synthesis h2{font-size:1.375rem;line-height:1.65;color:var(--gold);margin-bottom:18px}.reading-body p+p{margin-top:15px}.reading-farewell{font:1.0625rem/1.9 var(--serif);color:#f3dece;word-break:keep-all;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);white-space:pre-line}.reading-end{padding-top:38px;text-align:center}.result-actions{display:grid;gap:23px;margin:30px 0 10px}.action-caption{margin-top:7px;font-size:.8125rem;color:var(--muted)}
.app-invitation{max-width:560px;margin:auto}.app-portrait{position:relative;overflow:hidden;aspect-ratio:941/1672}.app-portrait img{width:100%;height:auto;object-fit:contain}.app-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--base),transparent 40%)}.app-copy{text-align:center;padding:0 24px}.app-copy h1{font-size:1.5rem;line-height:1.6;letter-spacing:-.025em}.app-brand{font: .8125rem/1.7 Georgia,serif;letter-spacing:.15em;color:var(--gold);margin-top:16px}.app-body{font:1rem/1.95 var(--serif);color:#dfcbd6;margin:24px 0 0;word-break:keep-all}.free-reading{font:2rem/1.5 var(--serif);letter-spacing:-.04em;margin:30px 0 15px;color:#ffe5c5}.app-support{font-size:1rem;line-height:1.9;color:var(--muted);word-break:keep-all}.app-copy .primary{margin-top:28px}.price-note{font-size:.75rem;color:var(--muted);margin-top:10px;line-height:1.7}.return-reading{margin-top:16px}.app-copy .primary:disabled{opacity:.7}dialog{width:min(430px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid var(--line);border-radius:8px;padding:44px 24px 28px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#0e0912c9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:5px;right:8px;border:0;background:none;color:var(--ink);font-size:1.7rem;min-width:44px;min-height:44px}dialog h2{font-size:1.5rem;margin-bottom:22px}.store-links{display:grid;gap:12px}.noscript{padding:24px;text-align:center}
.music-toggle{flex:none;min-height:44px;border:0;background:none;color:var(--gold);font-size:11px;padding:6px 0}.topbar{gap:10px}.share-panel{margin-top:32px;padding:28px 0 0;border-top:1px solid var(--line);text-align:center}.share-panel h2{font-size:1.3rem;margin-bottom:20px}.share-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}.share-buttons button,.share-buttons a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:5px;background:#352632;color:var(--ink);font-size:.8125rem;padding:8px 2px}.share-panel .action-caption:empty{display:none}#share-dialog{width:min(510px,calc(100% - 24px))}#share-preview{width:100%;height:auto;margin:18px 0;border-radius:4px}#share-dialog .primary,#share-dialog .secondary{margin-top:12px}#share-help{margin-bottom:16px}.share-link-label{display:block;font-size:.8125rem;color:var(--muted);margin-top:22px}#result-link{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);background:var(--base);color:var(--ink);padding:8px;font-size:14px}
@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{from{opacity:.3;transform:rotateY(-35deg)}to{opacity:1;transform:rotateY(0)}}
@media(min-width:761px){.topbar{height:76px;padding:0 36px}.brand{font-size:.875rem}.welcome{display:grid;grid-template-columns:1fr 1fr;max-width:1120px;min-height:690px;align-items:center;margin:10px auto 25px}.welcome-portrait{height:710px;max-height:calc(100svh - 115px);min-height:600px}.welcome-portrait img{object-position:50% 35%}.welcome-portrait:after{background:linear-gradient(0deg,var(--base),transparent 16%),linear-gradient(90deg,#21182033,transparent 20%,transparent 65%,var(--base))}.welcome-copy{padding:20px 32px 35px}.welcome h1{font-size:2rem}.welcome .mirelle-voice{font-size:1rem;margin-top:20px}.question-panel{margin-top:35px;padding-top:28px}.question-panel h2{font-size:1.65rem;margin:16px auto 24px}.choose{margin-top:32px;padding-inline:30px}.choose h1{font-size:1.9rem;max-width:none}.deck{margin-top:40px;gap:26px}.selection-status{margin-top:27px}.reading{margin-top:35px;padding:0 40px}.reading>h1{font-size:1.875rem}.revealed-cards{gap:28px;margin-bottom:45px}.spread-card figcaption{font-size:1.1875rem}.card-english{font-size:.8125rem}.reading-question{font-size:1.875rem}.short-reading{padding:26px 0}.synthesis{padding:30px 34px;margin-inline:0}.synthesis h2{font-size:1.6rem}.result-actions{max-width:520px;margin-inline:auto}.app-invitation{display:grid;grid-template-columns:1fr 1fr;max-width:1060px;align-items:center;margin:10px auto 20px}.app-portrait:after{background:linear-gradient(0deg,var(--base),transparent 18%),linear-gradient(90deg,transparent 65%,var(--base))}.app-copy{padding:28px 34px}.app-copy h1{font-size:1.8rem}.free-reading{font-size:2.3rem}}
@media(max-width:350px){.topbar{padding:0 16px;gap:10px}.brand{letter-spacing:.05em}.welcome-copy{padding-inline:18px}.welcome h1{font-size:1.4rem}.question-panel h2{font-size:1.25rem}.choose h1{font-size:1.375rem}.reading{padding-inline:18px}.revealed-cards{gap:8px}.card-english{font-size:.75rem}.synthesis{padding:22px 18px}.app-copy{padding-inline:18px}.app-body br,.app-support br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
