:root{--bg-base:#faf8f5;--bg-elevated:#fff;--bg-overlay:#f5f2ed;--bg-input:#00000008;--bg-hover:#0000000a;--bg-card:#ffffffd9;--text-primary:#1a1a1a;--text-secondary:#555;--text-tertiary:#888;--text-muted:#aaa;--accent-gold:#b8941f;--accent-gold-muted:#967510;--accent-gold-glow:#b8941f33;--accent-purple:#7b5fa8;--accent-purple-muted:#5e4680;--accent-purple-glow:#7b5fa826;--border-default:#00000014;--border-hover:#00000024;--border-active:#0003;--border-focus:#7b5fa866;--state-success:#2d8659;--state-success-bg:#2d86591a;--state-error:#c84040;--state-error-bg:#c8404014;--state-error-border:#c8404026;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--shadow-glow:0 0 20px #7b5fa81a;--shadow-glow-gold:0 0 20px #b8941f26;--shadow-card:0 4px 20px #0000000d, 0 0 0 1px #00000008;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--transition-fast:opacity .15s ease, transform .15s ease, border-color .15s ease, background-color .15s ease;--transition-default:opacity .25s ease, transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease}[data-theme=dark]{--bg-base:#08080f;--bg-elevated:#0f0f1a;--bg-overlay:#161625;--bg-input:#ffffff08;--bg-hover:#ffffff0f;--bg-card:#ffffff06;--text-primary:#f0eff5;--text-secondary:#c4c1d4;--text-tertiary:#9898ae;--text-muted:#6e6e82;--accent-gold:#d4af37;--accent-gold-muted:#b8941f;--accent-gold-glow:#d4af3740;--accent-purple:#9d7ec8;--accent-purple-muted:#7b5fa8;--accent-purple-glow:#9d7ec82e;--border-default:#ffffff12;--border-hover:#ffffff21;--border-active:#fff3;--border-focus:#9d7ec873;--state-success:#6bc99a;--state-success-bg:#2d86591f;--state-error:#e08080;--state-error-bg:#c8404014;--state-error-border:#c8404026;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 40px #00000073;--shadow-glow:0 0 24px #9d7ec82e;--shadow-glow-gold:0 0 24px #d4af374d;--shadow-card:0 4px 24px #00000080, 0 0 0 1px #ffffff0a}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;overflow-x:hidden}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-tap-highlight-color:transparent;touch-action:pan-y;min-width:100vw;max-width:100vw;font-family:Inter,Noto Serif SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:9999;background:radial-gradient(#0000 0%,#0000000f 100%);position:fixed;inset:0}[data-theme=dark] body:before{background:radial-gradient(#0000 0%,#00000073 100%)}#root{flex-direction:column;min-height:100vh;display:flex}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.card-back{border-radius:var(--radius-md);background:linear-gradient(160deg,#1a0f2e 0%,#2d1b4e 40%,#1a0f2e 100%);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.card-back:before{content:"";background-image:radial-gradient(circle at 25% 35%,#d4af371a 0%,#0000 45%),radial-gradient(circle at 75% 65%,#9d7ec814 0%,#0000 45%);position:absolute;inset:0}.card-back:after{content:"✦";color:#d4af3733;text-shadow:0 0 20px #d4af3726;font-size:1.8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-back-pattern{opacity:.04;background-image:radial-gradient(circle,#0000 40%,#d4af374d 41%,#0000 42%),radial-gradient(circle,#0000 55%,#d4af3733 56%,#0000 57%);background-size:20px 20px;position:absolute;inset:0}.card-scene{perspective:1000px}.card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.card-face{backface-visibility:hidden;border-radius:var(--radius-md);position:absolute;inset:0;overflow:hidden}.card-face-front{transform:rotateY(180deg)}.card-face-back{transform:rotateY(0)}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes mysticSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mysticPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes mysticGlow{0%,to{box-shadow:0 0 16px #9d7ec833}50%{box-shadow:0 0 32px #9d7ec866,0 0 56px #d4af371f}}@keyframes cardShuffle{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(-2deg)}50%{transform:translateY(-5px)rotate(1.5deg)}75%{transform:translateY(-14px)rotate(-1deg)}}@keyframes dotPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes selectedGlow{0%,to{box-shadow:0 0 18px #d4af374d,0 0 36px #9d7ec81f}50%{box-shadow:0 0 30px #d4af378c,0 0 60px #9d7ec84d}}@keyframes twinkle{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.45;transform:scale(1.4)}}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(24px,-24px)scale(1.06)}66%{transform:translate(-18px,12px)scale(.96)}}@keyframes shimmerSlide{0%,to{left:-100%}50%{left:140%}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-fade-in-scale{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInScale}.animate-shake{animation:.4s ease-in-out shake}.stagger-children>*{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards floatUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);opacity:.3;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.interpretation-content{color:var(--text-secondary);font-size:14px;line-height:1.85}.interpretation-content p{margin-bottom:1rem}.interpretation-content h1,.interpretation-content h2,.interpretation-content h3,.interpretation-content h4{color:var(--text-primary);margin:1.75rem 0 .875rem;font-family:Noto Serif SC,serif;font-weight:700;line-height:1.35}.interpretation-content h1{font-size:1.2rem}.interpretation-content h2{font-size:1.1rem}.interpretation-content h3{font-size:1rem}.interpretation-content strong{color:var(--accent-gold);font-weight:600}.interpretation-content ul,.interpretation-content ol{margin-bottom:1rem;padding-left:1.5rem}.interpretation-content li{margin-bottom:.4rem}.interpretation-content blockquote{border-left:2px solid var(--accent-gold);background-color:var(--bg-hover);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary);margin:1.25rem 0;padding:.875rem 1.125rem}.interpretation-content blockquote p:last-child{margin-bottom:0}.interpretation-content code{background-color:var(--bg-hover);border-radius:var(--radius-sm);color:#c44;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.interpretation-content pre{background-color:var(--bg-hover);border-radius:var(--radius-md);margin:1rem 0;padding:1rem;overflow-x:auto}.interpretation-content pre code{color:var(--text-secondary);background:0 0;padding:0}.interpretation-content hr{background:linear-gradient(90deg,#0000 0%,#b8941f4d 30%,#7b5fa84d 70%,#0000 100%);border:none;height:1px;margin:2rem 0;position:relative}[data-theme=dark] .interpretation-content hr{background:linear-gradient(90deg,#0000 0%,#d4af374d 30%,#9d7ec84d 70%,#0000 100%)}.interpretation-content hr:before{content:"✦";color:var(--accent-gold);background:var(--bg-base);padding:0 10px;font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.interpretation-content table{border-collapse:collapse;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);margin:1rem 0;font-size:13px;overflow:hidden}.interpretation-content th,.interpretation-content td{border:1px solid var(--border-default);text-align:left;padding:10px 14px}.interpretation-content th{background-color:var(--bg-hover);color:var(--text-primary);font-family:Noto Serif SC,serif;font-weight:600}.interpretation-content tr:nth-child(2n){background-color:var(--bg-input)}.interpretation-content tr:hover{background-color:var(--bg-hover)}.result-card-wrap{width:88px}@media (width>=420px){.result-card-wrap{width:120px}}@media (width>=640px){.result-card-wrap{width:150px}}@media (width>=1024px){.result-card-wrap{width:170px}}.loading-spinner-ring{border:2px solid #0000;border-top-color:var(--accent-purple);border-right-color:var(--accent-gold);border-radius:50%;width:48px;height:48px;animation:1.2s linear infinite mysticSpin;position:relative}.loading-spinner-ring:before{content:"";border:2px solid #0000;border-bottom-color:var(--accent-purple);border-left-color:var(--accent-gold);border-radius:50%;animation:.8s linear infinite reverse mysticSpin;position:absolute;inset:5px}.loading-spinner-ring:after{content:"✦";color:var(--accent-gold);justify-content:center;align-items:center;font-size:14px;animation:1.5s ease-in-out infinite mysticPulse;display:flex;position:absolute;inset:0}.loading-card{animation:2s ease-in-out infinite cardShuffle}.loading-card:nth-child(2){animation-delay:.3s}.loading-card:nth-child(3){animation-delay:.6s}.loading-dots span{animation:1.4s ease-in-out infinite dotPulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.star-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.star{background:var(--text-muted);animation:twinkle var(--duration,3s) ease-in-out infinite;animation-delay:var(--delay,0s);border-radius:50%;position:absolute}[data-theme=dark] .star{background:#fff}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0a}.glow-orb{filter:blur(90px);pointer-events:none;opacity:.3;border-radius:50%;animation:10s ease-in-out infinite orbFloat;position:absolute}.mystic-glow{animation:2.5s ease-in-out infinite selectedGlow}.divination-type-card{border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--border-default);transition:var(--transition-default);cursor:pointer;position:relative;overflow:hidden}.divination-type-card:hover{border-color:var(--border-hover);background:var(--bg-hover);box-shadow:var(--shadow-lg), 0 0 30px var(--accent-purple-glow);transform:translateY(-2px)}.divination-type-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:0;right:0}.divination-type-card .type-icon{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.divination-type-card:hover .type-icon{transform:scale(1.1)rotate(-4deg)}@media (prefers-reduced-motion:reduce){.star,.glow-orb,.loading-card,.loading-spinner-ring,.loading-spinner-ring:before,.loading-spinner-ring:after,.loading-dots span,.mystic-glow{animation:none}.animate-fade-in,.animate-fade-in-scale,.stagger-children>*{opacity:1;animation:none;transform:none}.landing-card{transition:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}
