:root{--bg-0:#0a0714;--bg-1:#150d2b;--bg-2:#1d1238;--gold:#d4b96a;--gold-bright:#f2df9e;--gold-dim:#d4b96a59;--violet:#b9a8dd;--violet-dim:#8f7bb8;--text:#ece5f5;--text-dim:#9d8fc0;--serif:"Cormorant Garamond", "Georgia", "Noto Serif SC", serif;--card-ratio:2 / 3}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-0);color:var(--text);font-family:var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#d4b96a4d}.stage{z-index:-10;background:radial-gradient(ellipse 80% 55% at 50% -10%, #5a37a061, transparent 65%), radial-gradient(ellipse 60% 45% at 85% 110%, #321e6e4d, transparent 60%), radial-gradient(ellipse 55% 40% at 10% 105%, #7846281a, transparent 55%), linear-gradient(180deg, var(--bg-0) 0%, var(--bg-1) 55%, var(--bg-0) 100%);position:fixed;inset:0}.stage:after{content:"";background:radial-gradient(90% 40% at 50% 108%,#a082dc1a,#0000 70%);animation:14s ease-in-out infinite alternate mist;position:absolute;inset:0}@keyframes mist{0%{opacity:.5;transform:translateY(0)}to{opacity:1;transform:translateY(-24px)}}#starfield{z-index:-9;pointer-events:none;position:fixed;inset:0}.page{flex-direction:column;align-items:center;min-height:100%;padding:5vh 20px 8vh;display:flex}.gold-title{letter-spacing:.22em;background:linear-gradient(160deg, var(--gold-bright) 10%, var(--gold) 45%, #9a7f3e 90%);color:#0000;text-shadow:0 0 44px #d4b96a38;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,6vw,4rem);font-weight:500}.ornament{color:var(--gold-dim);letter-spacing:.6em;font-size:.9rem}.q-input{border:1px solid var(--gold-dim);width:min(560px,92vw);color:var(--text);font-family:var(--serif);letter-spacing:.05em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140d288c;border-radius:2px;outline:none;padding:16px 22px;font-size:1.08rem;transition:border-color .4s,box-shadow .4s}.q-input::placeholder{color:var(--text-dim)}.q-input:focus{border-color:var(--gold);box-shadow:0 0 0 1px #d4b96a40,0 8px 44px #7850dc2e}.gold-btn{cursor:pointer;font-family:var(--serif);letter-spacing:.28em;text-indent:.28em;color:var(--gold-bright);border:1px solid var(--gold);background:0 0;border-radius:2px;align-items:center;gap:10px;padding:13px 44px;font-size:1.02rem;transition:color .35s,box-shadow .35s,background .35s;display:inline-flex;position:relative}.gold-btn:hover:not(:disabled){background:linear-gradient(160deg,#d4b96a29,#d4b96a0d);box-shadow:0 0 32px #d4b96a47,inset 0 0 18px #d4b96a1f}.gold-btn:disabled{opacity:.35;cursor:not-allowed}.ghost-btn{cursor:pointer;font-family:var(--serif);letter-spacing:.18em;color:var(--text-dim);background:0 0;border:1px solid #9d8fc04d;border-radius:2px;padding:10px 26px;font-size:.92rem;transition:all .3s}.ghost-btn:hover{color:var(--text);border-color:#9d8fc099}.tarot-card{aspect-ratio:var(--card-ratio);cursor:pointer;border:1px solid var(--gold-dim);transform-style:preserve-3d;will-change:transform;background:linear-gradient(160deg,#241748,#140c2c);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 14px 44px #0009}.tarot-card img{object-fit:cover;backface-visibility:hidden;width:100%;height:100%;display:block}.tarot-card .card-back{backface-visibility:hidden;background:radial-gradient(circle at 50% 34%,#d4b96a33,#0000 42%),repeating-linear-gradient(45deg,#d4b96a0d 0 2px,#0000 2px 14px),repeating-linear-gradient(-45deg,#d4b96a0d 0 2px,#0000 2px 14px),linear-gradient(165deg,#2a1b52 0%,#17102f 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:rotateY(180deg)}.card-back .sigil{color:#d4b96aa6;text-shadow:0 0 26px #d4b96a80;font-size:2rem}.card-back:before{content:"";border:1px solid #d4b96a66;border-radius:8px;position:absolute;inset:10px}.tarot-card.selected{box-shadow:0 0 0 1px var(--gold), 0 0 46px #d4b96a73, 0 18px 50px #0009}.flip-glow{pointer-events:none;mix-blend-mode:screen;background:radial-gradient(#f2df9e8c,#d4b96a2e 55%,#0000 75%);border-radius:16px;position:absolute;inset:-6px}.card-label{text-align:center;margin-top:12px}.card-label .roman{color:var(--gold);letter-spacing:.3em;font-size:.8rem}.card-label .name{color:var(--violet);letter-spacing:.12em;margin-top:2px;font-size:1rem}.reading-board{overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scroll-behavior:smooth;background:#120c2499;border:1px solid #d4b96a40;border-radius:4px;width:min(760px,94vw);max-height:62vh;padding:34px 34px 40px;position:relative;overflow-y:auto}.reading-board::-webkit-scrollbar{width:5px}.reading-board::-webkit-scrollbar-thumb{background:#d4b96a40;border-radius:3px}.reading-board::-webkit-scrollbar-track{background:0 0}.reading-board:before{content:"";pointer-events:none;border:1px solid #d4b96a24;border-radius:2px;position:absolute;inset:7px}.reading-text{color:#d9cfeb;letter-spacing:.04em;content-visibility:auto;contain-intrinsic-size:auto 600px;font-size:1.02rem;line-height:1.95}.reading-text p{margin:0 0 1em}.reading-text h1,.reading-text h2,.reading-text h3{color:var(--gold);letter-spacing:.1em;margin:1.4em 0 .6em;font-size:1.06em;font-weight:500}.reading-text h3:before{content:"✧ ";color:var(--gold-dim)}.reading-text strong{color:var(--gold-bright)}.reading-text em{color:var(--violet)}.reading-text hr{border:none;border-top:1px solid #d4b96a2e;margin:1.6em 0}.caret:after{content:"✦";color:var(--gold);margin-left:2px;animation:1.1s ease-in-out infinite caret}@keyframes caret{0%,to{opacity:.15}50%{opacity:1}}.top-right{z-index:40;align-items:center;gap:10px;display:flex;position:fixed;top:20px;right:24px}.credit-chip{cursor:pointer;font-family:var(--serif);letter-spacing:.12em;color:var(--text-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e091c99;border:1px solid #9d8fc04d;border-radius:2px;padding:7px 16px;font-size:.82rem;transition:all .3s}.credit-chip:hover{color:var(--text);border-color:#9d8fc099}.credit-chip.member{color:var(--gold-bright);background:#d4b96a1a;border-color:#d4b96a73;box-shadow:0 0 18px #d4b96a1f}.lang-switch{border:1px solid var(--gold-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e091c99;border-radius:2px;gap:0;display:flex;overflow:hidden}.lang-switch button{cursor:pointer;color:var(--text-dim);font-family:var(--serif);letter-spacing:.14em;background:0 0;border:none;padding:7px 16px;font-size:.85rem;transition:all .3s}.lang-switch button.on{color:var(--gold-bright);background:#d4b96a24}.brand-corner{z-index:40;cursor:pointer;color:var(--gold);opacity:.85;letter-spacing:.3em;align-items:center;gap:10px;font-size:.95rem;transition:opacity .3s;display:flex;position:fixed;top:20px;left:26px}.brand-corner:hover{opacity:1}.brand-corner .dot{background:var(--gold);width:7px;height:7px;box-shadow:0 0 12px var(--gold);border-radius:50%}.footer-note{color:var(--text-dim);opacity:.55;letter-spacing:.22em;margin-top:7vh;font-size:.78rem}
