:root{--bg-0: #07070f;--bg-1: #0b0b18;--bg-2: #12122a;--surface: rgba(22, 22, 46, .72);--surface-2: rgba(30, 30, 60, .55);--border: rgba(212, 175, 55, .16);--border-strong: rgba(212, 175, 55, .38);--gold: #d4af37;--gold-soft: #e8cf8a;--moon-glow: rgba(232, 227, 255, .55);--moon-intensity: .6;--text: #ece9f4;--text-dim: #a9a4c0;--text-faint: #6f6a8a;--danger: #e06c75;--ok: #7fd1a8;--font-display: "Cinzel", serif;--font-serif: "Cormorant Garamond", serif;--font-ui: "Inter", system-ui, sans-serif;--radius: 14px;--radius-sm: 8px;--max-w: 1100px;--nav-h: 64px;--card-ratio: .585;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);color:var(--text);font-family:var(--font-serif);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh}body{background:radial-gradient(1200px 800px at 70% -10%,rgba(60,50,120,.35),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(90,40,100,.18),transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0) 70%);background-attachment:fixed}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.04em}h1{font-size:clamp(1.9rem,6vw,3.2rem);line-height:1.15}h2{font-size:clamp(1.3rem,4vw,1.9rem)}a{color:var(--gold-soft);text-decoration:none}button{font-family:var(--font-ui);cursor:pointer}::selection{background:#d4af3759}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090914b8;border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;gap:18px;width:100%}.brand{font-family:var(--font-display);font-size:1.25rem;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.brand .moon-dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fdfbf3,#cfc9e8 70%);box-shadow:0 0 calc(14px * var(--moon-intensity)) calc(4px * var(--moon-intensity)) var(--moon-glow)}.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center}.nav-link{font-family:var(--font-ui);font-size:.82rem;color:var(--text-dim);padding:8px 12px;border-radius:var(--radius-sm);transition:color .2s,background .2s;background:none;border:none}.nav-link:hover,.nav-link.active{color:var(--gold-soft);background:#d4af3714}.lang-switch{font-family:var(--font-ui);font-size:.78rem;border:1px solid var(--border);border-radius:999px;background:none;color:var(--text-dim);padding:5px 12px}.lang-switch:hover{border-color:var(--border-strong);color:var(--gold-soft)}@media (max-width: 720px){.nav-link{padding:8px;font-size:.78rem}.nav-link.hide-sm{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:999px;font-size:.95rem;letter-spacing:.05em;border:1px solid var(--border-strong);background:linear-gradient(160deg,#d4af3729,#d4af370d);color:var(--gold-soft);transition:transform .25s var(--ease),box-shadow .25s,background .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #d4af372e}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:linear-gradient(160deg,#d4af37,#a8842a);color:#14101f;font-weight:600;border-color:transparent}.btn.ghost{background:none;border-color:var(--border);color:var(--text-dim)}.btn.small{padding:8px 18px;font-size:.82rem}.tcard{position:relative;aspect-ratio:var(--card-ratio);perspective:1200px;-webkit-user-select:none;user-select:none}.tcard-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .8s var(--ease)}.tcard.flipped .tcard-inner{transform:rotateY(180deg)}.tcard-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:10px;overflow:hidden;border:1px solid var(--border-strong);box-shadow:0 10px 40px #0000008c}.tcard-face img{width:100%;height:100%;object-fit:cover;display:block}.tcard-front{transform:rotateY(180deg);background:#1a1530}.tcard-front.reversed img{transform:rotate(180deg)}.tcard-back{background:radial-gradient(circle at 50% 38%,rgba(212,175,55,.22),transparent 55%),linear-gradient(160deg,#191434,#0d0a20);display:flex;align-items:center;justify-content:center}.tcard-back:after{content:"✦";font-size:2rem;color:var(--gold);text-shadow:0 0 18px rgba(212,175,55,.7)}.tcard-back:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(212,175,55,.35);border-radius:7px}.tcard.drawable{cursor:pointer}.tcard.drawable:hover .tcard-inner{transform:translateY(-8px)}.tcard.flipped.drawable:hover .tcard-inner{transform:rotateY(180deg) translateY(-8px)}.tcard-glow{box-shadow:0 0 35px #d4af3747,0 10px 40px #0000008c}.kicker{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}.section{padding:72px 0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.spread-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.spread-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;color:var(--text);transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;font-family:var(--font-serif)}.spread-card:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 14px 40px #0006}.spread-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 14px 40px #d4af371f}.spread-card h3{margin:8px 0 6px;font-size:1.1rem;color:var(--gold-soft)}.spread-card p{margin:0;font-size:.92rem;color:var(--text-dim);line-height:1.5}.spread-card .badge-free{float:right;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.12em;color:var(--ok);border:1px solid rgba(127,209,168,.4);padding:3px 9px;border-radius:999px;text-transform:uppercase}.spread-card .badge-premium{color:var(--gold);border-color:var(--border-strong)}.spread-card .glyph{font-size:1.5rem;color:var(--gold)}.question-input{width:100%;background:#0a0a18b3;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-serif);font-size:1.05rem;padding:16px 18px;min-height:96px;resize:vertical;outline:none;transition:border-color .25s}.question-input:focus{border-color:var(--border-strong)}.question-input::placeholder{color:var(--text-faint);font-style:italic}.draw-fan{display:flex;justify-content:center;align-items:flex-end;gap:clamp(-38px,-4vw,-20px);padding:30px 10px 10px;flex-wrap:nowrap;overflow-x:auto}.spread-layout{display:grid;gap:14px;justify-content:center}.pos-label{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.08em;color:var(--text-faint);text-align:center;margin-top:6px;text-transform:uppercase}.layout-row{display:flex;gap:clamp(10px,3vw,28px);justify-content:center;flex-wrap:wrap}.layout-row .slot{width:clamp(96px,26vw,170px)}.layout-celtic{display:grid;grid-template-areas:".    p5   .    p10" "p4   p1   p6   p9" ".    p3   .    p8" ".    .    .    p7";gap:clamp(8px,1.6vw,18px);justify-content:center}.layout-celtic .slot{width:clamp(62px,11vw,120px);position:relative}.layout-celtic .slot.pos2{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;transform:rotate(90deg) scale(.92)}@media (max-width: 560px){.layout-celtic{grid-template-areas:"p5   p10" "p1   p9" "p3   p8" "p4   p7" "p6   ."}.layout-celtic .slot{width:clamp(80px,20vw,110px)}}.reading-card-row{display:flex;gap:20px;align-items:flex-start;border-top:1px solid var(--border);padding:26px 0}.reading-card-row .thumb{width:clamp(76px,18vw,120px);flex-shrink:0}.reading-card-row h3{margin:0 0 4px;color:var(--gold-soft);font-size:1.05rem}.reading-card-row .pos-name{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.reading-card-row .orientation{font-family:var(--font-ui);font-size:.72rem;color:var(--text-faint)}.reading-card-row p{color:var(--text-dim);margin:10px 0 0;font-size:.98rem}.keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.keywords span{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.05em;border:1px solid var(--border);color:var(--text-dim);padding:3px 10px;border-radius:999px}@media (max-width: 560px){.reading-card-row{flex-direction:row}}.synthesis{margin-top:30px;padding:26px;border:1px solid var(--border-strong);border-radius:var(--radius);background:linear-gradient(160deg,#d4af3712,#d4af3705)}.synthesis h2{color:var(--gold);margin-top:0}.md-stream{font-size:1.02rem}.md-stream h1,.md-stream h2{color:var(--gold-soft)}.md-stream hr{border:none;border-top:1px solid var(--border);margin:26px 0}.md-stream em{color:var(--text-dim)}.grimoire-item{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px;color:var(--text);font-family:var(--font-serif);transition:border-color .2s}.grimoire-item:hover{border-color:var(--border-strong)}.grimoire-item .date{font-family:var(--font-ui);font-size:.7rem;color:var(--text-faint)}.fade-in{animation:fadeIn .7s var(--ease) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.center{text-align:center}.muted{color:var(--text-dim)}.spacer{height:28px}.footer{border-top:1px solid var(--border);padding:34px 0;margin-top:60px;text-align:center;color:var(--text-faint);font-family:var(--font-ui);font-size:.75rem;letter-spacing:.08em}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.moonphase{display:block;line-height:0}.moonphase svg{display:block;overflow:visible}.hero{position:relative;min-height:min(88dvh,760px);display:grid;place-items:center;text-align:center;padding:clamp(36px,8vh,90px) 20px 56px;overflow:hidden}.hero-halo{position:absolute;left:50%;top:32%;width:min(120vw,1000px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(96,74,158,.3),rgba(42,32,92,.1) 42%,transparent 66%);filter:blur(12px);pointer-events:none;z-index:0}.hero-moon{position:absolute;left:50%;top:clamp(8%,15vh,22%);transform:translate(-50%);z-index:0;filter:drop-shadow(0 0 64px rgba(210,205,255,.18));animation:moonFloat 16s ease-in-out infinite}@keyframes moonFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-13px)}}.hero-content{position:relative;z-index:1;max-width:680px;margin-top:clamp(130px,27vh,300px)}.hero-content:before{content:"";position:absolute;top:-46px;right:-30px;bottom:-46px;left:-30px;background:radial-gradient(120% 82% at 50% 42%,rgba(7,7,15,.86),rgba(7,7,15,.52) 54%,transparent 78%);z-index:-1;pointer-events:none}.hero-title{font-size:clamp(2.2rem,7vw,4.3rem);line-height:1.05;margin:16px auto 18px;max-width:13ch;background:linear-gradient(180deg,#fbf6e6 0%,var(--gold-soft) 58%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-tagline{font-family:var(--font-serif);font-style:italic;color:var(--text-dim);font-size:clamp(1.05rem,2.4vw,1.3rem);max-width:46ch;margin:0 auto 32px;line-height:1.5}.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.moon-caption{margin-top:30px;font-family:var(--font-ui);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);display:inline-flex;align-items:center;gap:9px}.moon-caption-dot{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fdfbf3,#cfc9e8 70%);box-shadow:0 0 calc(10px * var(--moon-intensity)) var(--moon-glow)}@media (max-width: 640px){.hero-content{margin-top:clamp(150px,44vh,270px)}}@media (prefers-reduced-motion: reduce){.hero-moon{animation:none}}.chat-box{margin-top:48px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chat-title{font-size:1.15rem;margin:0 0 4px;color:var(--gold-soft)}.chat-subtitle{font-family:var(--font-ui);font-size:.82rem;margin:0 0 16px}.chat-thread{max-height:420px;overflow-y:auto;padding:6px 4px 14px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.chat-empty{font-style:italic}.chat-msg{max-width:84%;padding:12px 14px;border-radius:var(--radius-sm);font-size:.95rem;line-height:1.55;animation:fadeIn .3s var(--ease)}.chat-msg .md-stream p{margin:.3em 0}.chat-msg .md-stream h1,.chat-msg .md-stream h2,.chat-msg .md-stream h3{display:none}.chat-author{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}.chat-user{align-self:flex-end;background:#d4af371a;border:1px solid var(--border)}.chat-assistant{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border)}.chat-replying{font-style:italic;animation:fadeIn .4s var(--ease)}.chat-input-row{display:flex;gap:10px;margin-top:14px;align-items:flex-end}.chat-input{flex:1;resize:none;background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-serif);font-size:.98rem;line-height:1.4}.chat-input:focus{outline:none;border-color:var(--border-strong)}.chat-input-row .btn{flex-shrink:0}.chat-disclaimer{font-family:var(--font-ui);font-size:.68rem;letter-spacing:.04em;margin:10px 0 0;opacity:.7}@media (max-width: 560px){.chat-msg{max-width:92%}.chat-input-row{flex-direction:column;align-items:stretch}.chat-input-row .btn{width:100%}}.profile-field{margin:18px 0}.profile-label{display:block;font-family:var(--font-display);font-size:1rem;letter-spacing:.04em;color:var(--gold-soft);margin-bottom:6px}.profile-date{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.05em;color:var(--text-faint);margin-left:8px}.profile-input{width:100%;resize:vertical;background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-serif);font-size:.98rem;line-height:1.45}.profile-input:focus{outline:none;border-color:var(--border-strong)}.profile-hint{font-family:var(--font-ui);font-size:.72rem;margin:4px 0 0;opacity:.75}
