:root{--bg-0: #07061a;--bg-1: #120a2e;--bg-2: #1d0f3d;--gold: #e8c87a;--gold-soft: #d4af37;--gold-dim: #8a6f2e;--ink: #f4ecd8;--ink-dim: #c9bca0;--violet: #6b4e9e;--rose: #b86b8a;--shadow: rgba(0, 0, 0, .55);--serif: "EB Garamond", Georgia, "Times New Roman", serif;--display: "Cinzel", "EB Garamond", serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg-0)}body{font-family:var(--serif);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:.04em;margin:0}button{font-family:inherit;cursor:pointer}a{color:var(--gold)}::selection{background:var(--gold-soft);color:#1a0b2e}.app{position:relative;min-height:100vh;display:flex;flex-direction:column;z-index:1}.stage{flex:1;width:min(1080px,92vw);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0 4rem;display:flex;flex-direction:column;gap:clamp(1.5rem,4vw,2.5rem)}.hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem}.hero .eyebrow{font-family:var(--display);letter-spacing:.5em;font-size:.72rem;color:var(--gold-dim);text-transform:uppercase;padding-left:.5em}.hero h1{font-size:clamp(2.4rem,7vw,4.6rem);line-height:1.05;background:linear-gradient(180deg,#fff7e0 0%,var(--gold) 55%,var(--gold-dim) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(232,200,122,.15)}.hero p{max-width:46ch;color:var(--ink-dim);font-size:1.08rem;line-height:1.6;margin:0}.hero .ornament{display:flex;align-items:center;gap:.8rem;color:var(--gold-dim)}.hero .ornament .line{width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.section-title{font-size:.78rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-dim);text-align:center;margin-bottom:1rem}.spreads{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.spread-card{position:relative;background:linear-gradient(160deg,#28164699,#140a2eb3);border:1px solid rgba(232,200,122,.18);border-radius:14px;padding:1.1rem 1.1rem 1.2rem;text-align:left;color:var(--ink);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;overflow:hidden}.spread-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% 0%,rgba(232,200,122,.12),transparent 60%);opacity:0;transition:opacity .3s ease}.spread-card:hover{transform:translateY(-3px);border-color:#e8c87a80;box-shadow:0 14px 30px -18px #e8c87a59}.spread-card:hover:before{opacity:1}.spread-card.active{border-color:var(--gold);background:linear-gradient(160deg,#3c2664b3,#1a0e3acc);box-shadow:0 0 0 1px #e8c87a59,0 18px 40px -22px #e8c87a73}.spread-card .count{font-family:var(--display);font-size:.72rem;letter-spacing:.3em;color:var(--gold)}.spread-card h3{margin-top:.4rem;font-size:1.05rem}.spread-card p{margin:.4rem 0 0;font-size:.92rem;color:var(--ink-dim);line-height:1.45}.controls{display:flex;flex-direction:column;gap:1.1rem;align-items:center}.question{width:min(620px,100%)}.model-toggle{display:inline-flex;gap:.35rem;padding:.25rem;border-radius:999px;border:1px solid rgba(232,200,122,.22);background:#0a081a73}.model-toggle button{border:none;background:transparent;color:var(--ink-dim);font-family:var(--display);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:.55rem 1rem;border-radius:999px;transition:background .2s ease,color .2s ease}.model-toggle button.active{background:#e8c87a2e;color:var(--gold)}.model-toggle button:hover{color:var(--gold)}.question input{width:100%;background:#0a081a99;border:1px solid rgba(232,200,122,.22);border-radius:999px;padding:.85rem 1.3rem;color:var(--ink);font-family:var(--serif);font-size:1.02rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.question input::placeholder{color:#c9bca080}.question input:focus{border-color:#e8c87a99;box-shadow:0 0 0 3px #e8c87a1f}.btn{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;padding:.95rem 2.2rem;border-radius:999px;border:1px solid var(--gold-soft);background:linear-gradient(180deg,#e8c87a29,#e8c87a0a);color:var(--gold);transition:transform .2s ease,box-shadow .25s ease,background .25s ease,color .2s ease}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px -14px #e8c87a99;background:linear-gradient(180deg,#e8c87a47,#e8c87a14);color:#fff7e0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{border-color:#e8c87a4d;background:transparent;color:var(--ink-dim)}.btn.ghost:hover:not(:disabled){color:var(--gold);border-color:var(--gold-soft)}.board{display:flex;flex-direction:column;gap:1.4rem;align-items:center}.positions{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.8rem,2.5vw,1.6rem)}.position{display:flex;flex-direction:column;align-items:center;gap:.7rem}.position .label{font-family:var(--display);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-align:center}.position .meaning{font-size:.78rem;color:var(--ink-dim);max-width:12ch;text-align:center;line-height:1.3;min-height:2.2em}.card{--w: clamp(96px, 16vw, 150px);width:var(--w);aspect-ratio:350 / 600;perspective:1200px;cursor:pointer}.card .inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.card.face-up .inner{transform:rotateY(180deg)}.card .face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 18px 40px -22px #000000e6,0 0 0 1px #e8c87a40 inset}.card .back{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2a1758,#160a36 60%,#0c0522)}.card .front{transform:rotateY(180deg);background:#0a0720}.card .front img{width:100%;height:100%;object-fit:cover;display:block}.card .front .frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:10px;box-shadow:0 0 0 1px #e8c87a8c inset,0 0 0 4px #080616e6 inset,0 0 0 5px #e8c87a40 inset}.card.reversed .front img{transform:rotate(180deg)}.card .badge{position:absolute;bottom:-1.6rem;left:50%;transform:translate(-50%);font-family:var(--display);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);white-space:nowrap;opacity:.85}.card.face-down:hover .inner{transform:translateY(-4px) rotateY(0)}.reading{width:min(720px,100%);margin:0 auto;background:linear-gradient(180deg,#1c103a8c,#0e0822b3);border:1px solid rgba(232,200,122,.2);border-radius:18px;padding:clamp(1.4rem,4vw,2.2rem);box-shadow:0 30px 60px -40px #000000e6}.reading h2{font-size:1.3rem;color:var(--gold);margin-bottom:1rem;text-align:center}.reading .body{font-size:1.08rem;line-height:1.8;color:var(--ink);white-space:pre-wrap}.reading .source-tag{display:block;margin-top:1.2rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dim);text-align:center}.reading .actions{display:flex;gap:.8rem;justify-content:center;margin-top:1.6rem;flex-wrap:wrap}.status{text-align:center;color:var(--ink-dim);font-style:italic;letter-spacing:.05em;min-height:1.4em}.error{color:#e8a0a0;text-align:center;font-size:.95rem}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(1200px 800px at 70% -10%,rgba(107,78,158,.35),transparent 60%),radial-gradient(900px 700px at 10% 110%,rgba(184,107,138,.22),transparent 60%),radial-gradient(100% 100% at 50% 50%,var(--bg-1) 0%,var(--bg-0) 80%);overflow:hidden}.starfield canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.footer{width:min(1080px,92vw);margin:0 auto;padding:1.5rem 0 2.5rem;text-align:center;color:var(--gold-dim);font-size:.78rem;letter-spacing:.08em}.footer a{text-decoration:none}@media (max-width: 560px){.hero .eyebrow{font-size:.62rem;letter-spacing:.4em}.card{--w: 84px}}
