:root{--bg-deep: #000000;--bg-card: #0f1a3d;--bg-card-hover: #162450;--gold: #f5c842;--gold-dim: #c9a22e;--title-shadow: 0 0 20px rgba(245, 200, 66, .4), 0 0 60px rgba(245, 200, 66, .15);--purple-light: #b388ff;--purple-mid: #7c4dff;--purple-glow: rgba(124, 77, 255, .4);--text-primary: #e8dff5;--text-secondary: #b8a9d1;--text-muted: #7e6c9a;--border-glow: rgba(245, 200, 66, .3);--border-card: rgba(179, 136, 255, .2);--radius: 16px;--starfield-opacity: 1}[data-theme=light]{--bg-deep: #f0eff4;--bg-card: #dde4f5;--bg-card-hover: #cdd6ec;--gold: #8a5a00;--gold-dim: #6f4600;--title-shadow: 0 0 10px rgba(138, 90, 0, .18);--purple-light: #5c33a6;--purple-mid: #5c33a6;--purple-glow: rgba(92, 51, 166, .25);--text-primary: #1a1028;--text-secondary: #3d2e5c;--text-muted: #6e5e8a;--border-glow: rgba(184, 134, 11, .3);--border-card: rgba(92, 51, 166, .2);--starfield-opacity: 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Georgia,Times New Roman,serif;line-height:1.7;color:var(--text-primary);background:var(--bg-deep);min-height:100vh;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;z-index:-1;opacity:var(--starfield-opacity);transition:opacity .3s ease;background:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 30% 70%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 50% 10%,rgba(245,200,66,.5),transparent),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 85% 80%,rgba(179,136,255,.4),transparent),radial-gradient(1.5px 1.5px at 20% 50%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 60% 60%,rgba(245,200,66,.3),transparent),radial-gradient(1px 1px at 90% 15%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 5% 90%,rgba(179,136,255,.3),transparent),radial-gradient(1.5px 1.5px at 40% 30%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 75% 55%,rgba(245,200,66,.4),transparent),radial-gradient(1px 1px at 55% 85%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 15% 5%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 95% 50%,rgba(179,136,255,.5),transparent),radial-gradient(ellipse at 50% 0%,rgba(124,77,255,.15),transparent 60%)}.app{min-height:100vh;display:flex;justify-content:center}.app__wrapper{width:100%;max-width:680px;padding:.35rem 1.25rem 3rem;display:flex;flex-direction:column;gap:.45rem}.top-bar{display:flex;justify-content:space-between;align-items:center}.top-bar__btn{font-size:1.5rem;line-height:1;background:none;border:1px solid var(--border-card);border-radius:999px;color:var(--text-secondary);cursor:pointer;padding:.35rem .6rem;transition:all .25s ease}.top-bar__btn:hover{border-color:var(--gold-dim);color:var(--gold)}.top-bar__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.header{text-align:center;padding:0 0 .35rem;margin-top:-.25rem}.header__stars{font-size:1.15rem;color:var(--gold);letter-spacing:.45rem;margin-bottom:.2rem;opacity:.7}.header__title{font-family:Cinzel,Georgia,serif;font-size:clamp(2rem,8vw,3.5rem);font-weight:900;color:var(--gold);text-shadow:var(--title-shadow);line-height:1.1;letter-spacing:.05em}.header__subtitle{font-size:1rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.regen-btn{display:block;margin:0 auto;font-family:Cinzel,Georgia,serif;font-size:.9rem;font-weight:700;padding:.65rem 2rem;border:1px solid var(--gold-dim);border-radius:999px;background:linear-gradient(135deg,#f5c8421a,#7c4dff1a);color:var(--gold);cursor:pointer;letter-spacing:.08em;transition:all .25s ease;box-shadow:0 0 12px #f5c8421a}.regen-btn:hover{background:linear-gradient(135deg,#f5c84233,#7c4dff33);box-shadow:0 0 20px #f5c84233}.regen-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);padding:1.5rem;opacity:0;transform:translateY(20px);transition:background-color .25s ease}.card:hover{background:var(--bg-card-hover)}.card--visible{animation:cardReveal .5s ease forwards}@keyframes cardReveal{to{opacity:1;transform:translateY(0)}}.sign-card{border-color:var(--border-glow)}.sign-card__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:.75rem}.sign-card__name-row{display:flex;align-items:center;gap:.5rem}.sign-card__symbol{font-size:2rem;line-height:1;filter:drop-shadow(0 0 12px var(--purple-glow))}.sign-card__name{font-family:Cinzel,Georgia,serif;font-size:1.75rem;font-weight:700;color:var(--gold);text-shadow:0 0 16px rgba(245,200,66,.3)}.sign-card__randomize{font-size:1.25rem;line-height:1;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;padding:.25rem;margin-left:auto;transition:color .2s,border-color .2s,transform .2s}.sign-card__randomize:hover{color:var(--gold);border-color:var(--border-card);animation:diceShake .4s ease}.sign-card__randomize:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@keyframes diceShake{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}75%{transform:rotate(-10deg)}}.horoscope-card{border-color:var(--border-glow);box-shadow:0 0 30px #f5c84214,inset 0 0 30px #7c4dff0d}.horoscope-card__heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.horoscope-card__heading{font-family:Cinzel,Georgia,serif;font-size:1.25rem;color:var(--gold);margin-bottom:0;text-align:center;text-transform:uppercase;letter-spacing:.1em;flex:1}.action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;font-size:1rem;line-height:1;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}.action-btn:hover{color:var(--gold);border-color:var(--border-card);background:#f5c8420d}.action-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.action-btn--feedback{color:var(--gold)}.horoscope-card__text{font-size:1.1rem;line-height:1.8;color:var(--text-primary);text-align:center;margin-bottom:1.5rem;padding:0 .5rem}.horoscope-card__details{display:flex;flex-direction:column;gap:.45rem;border-top:1px solid var(--border-card);padding-top:1rem}.detail-row{display:flex;gap:.45rem;align-items:baseline}.detail-row__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap;min-width:fit-content}.detail-row__label:after{content:":"}.detail-row__value{font-size:.95rem;color:var(--purple-light)}.divination-card__heading{font-family:Cinzel,Georgia,serif;font-size:1rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.divination-card__toggle{font-size:.8rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:color .2s}.divination-card__toggle:hover{color:var(--gold)}.divination-card__toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.divination-card__list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;transition:all .3s ease}.divination-card__list--collapsed{display:none}.footer{text-align:center;padding:1.5rem 0 1rem}.footer__generated{font-size:.8rem;color:var(--gold-dim);letter-spacing:.1em;margin-bottom:.5rem}.footer__disclaimer{font-size:.75rem;color:var(--text-muted);font-style:italic;max-width:400px;margin:0 auto}.footer__badge{display:inline-block;margin-top:1rem;opacity:.7;transition:opacity .2s}.footer__badge:hover{opacity:1}.horoscope-card:before{content:"";position:absolute;inset:-1px;border-radius:var(--radius);padding:1px;background:linear-gradient(45deg,transparent 30%,rgba(245,200,66,.3) 50%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:shimmer 4s ease-in-out infinite;pointer-events:none}.horoscope-card{position:relative;overflow:hidden}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}@media(max-width:480px){.app__wrapper{padding:.45rem 1rem 2rem;gap:.55rem}.header__title{font-size:2rem}.sign-card__symbol{font-size:1.75rem}.sign-card__name{font-size:1.4rem}.sign-card__randomize,.horoscope-card__text{font-size:1rem}.detail-row{flex-direction:column;gap:.15rem}.action-btn{width:1.75rem;height:1.75rem;font-size:.9rem}}
