:root{--bg-deep:#07080f;--bg-card:#0d1022;--bg-card2:#111628;--gold-bright:#f5c842;--gold-mid:#d4a017;--gold-dim:#8a6500;--gold-glow:rgba(245,200,66,.18);--cream:#f0e8d0;--silver:#b8c4d8;--border:rgba(245,200,66,.22);--border-hover:rgba(245,200,66,.6);--shadow-gold:0 0 40px rgba(245,200,66,.15),0 0 80px rgba(212,160,23,.08);--radius:14px;--font-display:'Cinzel Decorative',serif;--font-title:'Cinzel',serif;--font-body:'EB Garamond',serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;background-color:var(--bg-deep);color:var(--cream);font-family:var(--font-body);font-size:18px;overflow-x:hidden;cursor:default}#stars-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.bg-glow{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(212,160,23,.10) 0%,transparent 70%),radial-gradient(ellipse 40% 30% at 80% 80%,rgba(100,60,180,.07) 0%,transparent 60%);pointer-events:none}.page-wrap{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:40px 16px 60px}.mandala-wrap{margin-bottom:10px;animation:float 6s ease-in-out infinite}.mandala-wrap svg{width:90px;height:90px;filter:drop-shadow(0 0 14px rgba(245,200,66,.45))}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.site-header{text-align:center;margin-bottom:36px;animation:fadeDown .9s ease both}.site-header .eyebrow{font-family:var(--font-title);font-size:.72rem;letter-spacing:.35em;color:var(--gold-mid);text-transform:uppercase;margin-bottom:10px}.site-header h1{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.8rem);font-weight:700;color:var(--gold-bright);text-shadow:0 0 30px rgba(245,200,66,.4),0 2px 4px rgba(0,0,0,.6);line-height:1.2;margin-bottom:12px}.site-header p{font-family:var(--font-body);font-style:italic;color:var(--silver);font-size:clamp(.95rem,2.5vw,1.1rem);max-width:420px;margin:0 auto;line-height:1.6}.card{width:100%;max-width:520px;background:linear-gradient(160deg,var(--bg-card) 0%,var(--bg-card2) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(24px,6vw,44px) clamp(20px,6vw,44px);box-shadow:var(--shadow-gold),inset 0 1px 0 rgba(255,255,255,.04);animation:fadeUp 1s ease .2s both;position:relative;overflow:hidden;transition:box-shadow .4s}.card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.6}.card:hover{box-shadow:0 0 60px rgba(245,200,66,.18),0 0 120px rgba(212,160,23,.08),inset 0 1px 0 rgba(255,255,255,.04)}.divider{display:flex;align-items:center;gap:12px;margin-bottom:28px}.divider span{flex:1;height:1px;background:var(--border)}.divider .gem{width:8px;height:8px;background:var(--gold-bright);transform:rotate(45deg);box-shadow:0 0 8px var(--gold-bright)}.field-group{margin-bottom:22px}label{display:block;font-family:var(--font-title);font-size:.72rem;letter-spacing:.25em;color:var(--gold-mid);text-transform:uppercase;margin-bottom:8px}.input-wrap{position:relative}.input-wrap .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;opacity:.5;pointer-events:none;transition:opacity .3s}input[type=text]{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;padding:14px 16px 14px 44px;color:var(--cream);font-family:var(--font-body);font-size:1.05rem;outline:none;transition:border-color .3s,box-shadow .3s,background .3s;-webkit-appearance:none;appearance:none}input[type=text]::placeholder{color:rgba(184,196,216,.35);font-style:italic}input[type=text]:focus{border-color:var(--gold-mid);background:rgba(245,200,66,.05);box-shadow:0 0 0 3px rgba(245,200,66,.12)}.input-wrap:focus-within .icon{opacity:.9}
/* DOB Calendar-Only Picker */
.dob-display{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .3s,box-shadow .3s,background .3s;user-select:none;-webkit-user-select:none}.dob-display:hover{border-color:var(--gold-mid);background:rgba(245,200,66,.05)}.dob-display:focus{outline:none;border-color:var(--gold-mid);box-shadow:0 0 0 3px rgba(245,200,66,.12)}.dob-display.has-date{border-color:rgba(245,200,66,.45)}.dob-display.error-border{border-color:#e05252!important}.dob-icon{font-size:1.1rem;opacity:.55;flex-shrink:0}.dob-text{flex:1;font-family:var(--font-body);font-size:1.05rem;color:rgba(184,196,216,.45);font-style:italic;transition:color .3s}.dob-display.has-date .dob-text{color:var(--cream);font-style:normal;font-size:1.1rem;font-weight:500;letter-spacing:.04em}.dob-cal{font-size:1.2rem;opacity:.5;flex-shrink:0;transition:opacity .3s}.dob-display:hover .dob-cal{opacity:.9}.dob-hint{margin-top:6px;font-family:var(--font-title);font-size:.63rem;letter-spacing:.18em;color:rgba(184,196,216,.3);text-transform:uppercase;padding-left:2px}
input.error{border-color:#e05252!important}.error-msg{color:#e07070;font-size:.82rem;font-family:var(--font-title);margin-top:5px;padding-left:4px;display:none}.error-msg.show{display:block}.btn-reveal{width:100%;margin-top:8px;padding:16px 24px;background:linear-gradient(135deg,#c8920a 0%,#f5c842 50%,#c8920a 100%);background-size:200% 200%;border:none;border-radius:8px;color:#0d0a00;font-family:var(--font-title);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:transform .2s,box-shadow .3s,background-position .5s;box-shadow:0 4px 20px rgba(212,160,23,.35);position:relative;overflow:hidden}.btn-reveal::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);transition:transform .5s ease}.btn-reveal:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(245,200,66,.5);background-position:100% 100%}.btn-reveal:hover::after{transform:translateX(100%)}.btn-reveal:active{transform:translateY(0)}#result-area{width:100%;max-width:520px;margin-top:24px;opacity:0;transform:translateY(30px) scale(.97);transition:opacity .7s ease,transform .7s ease;pointer-events:none}#result-area.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.result-card{background:linear-gradient(155deg,#12192e 0%,#0a1020 100%);border:1px solid var(--border-hover);border-radius:var(--radius);padding:clamp(24px,6vw,40px);text-align:center;box-shadow:0 0 0 1px rgba(245,200,66,.08),0 0 50px rgba(245,200,66,.12),0 20px 60px rgba(0,0,0,.5);position:relative;overflow:hidden}.result-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent)}.result-card::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-mid),transparent)}.result-label{font-family:var(--font-title);font-size:.68rem;letter-spacing:.35em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px}.result-name{font-family:var(--font-display);font-size:clamp(1.1rem,4vw,1.5rem);color:var(--cream);margin-bottom:10px;line-height:1.3}.result-phrase{font-family:var(--font-body);font-style:italic;color:var(--silver);font-size:1rem;margin-bottom:22px}.code-badge{display:inline-block;font-family:var(--font-display);font-size:clamp(2rem,8vw,3.2rem);font-weight:900;color:var(--gold-bright);letter-spacing:.18em;text-shadow:0 0 20px rgba(245,200,66,.7),0 0 60px rgba(245,200,66,.35),0 2px 4px rgba(0,0,0,.5);animation:pulseGold 2.5s ease-in-out infinite;padding:10px 24px;border:1px solid rgba(245,200,66,.3);border-radius:6px;background:rgba(245,200,66,.06)}@keyframes pulseGold{0%,100%{text-shadow:0 0 20px rgba(245,200,66,.7),0 0 60px rgba(245,200,66,.35),0 2px 4px rgba(0,0,0,.5)}50%{text-shadow:0 0 30px rgba(245,200,66,.95),0 0 90px rgba(245,200,66,.55),0 2px 4px rgba(0,0,0,.5)}}.result-footer-note{margin-top:20px;font-family:var(--font-title);font-size:.65rem;letter-spacing:.2em;color:rgba(184,196,216,.35);text-transform:uppercase}.btn-again{margin-top:20px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--gold-mid);font-family:var(--font-title);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:10px 20px;cursor:pointer;transition:border-color .3s,color .3s,background .3s}.btn-again:hover{border-color:var(--gold-mid);background:rgba(245,200,66,.07);color:var(--gold-bright)}footer{margin-top:40px;text-align:center;font-family:var(--font-title);font-size:.62rem;letter-spacing:.2em;color:rgba(184,196,216,.2);text-transform:uppercase;animation:fadeUp 1s ease .5s both}.particle{position:fixed;width:4px;height:4px;border-radius:50%;background:var(--gold-bright);pointer-events:none;z-index:999;animation:particleFly 1.2s ease forwards}@keyframes particleFly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}@keyframes fadeDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.page-wrap{padding:28px 12px 48px}.card{padding:22px 18px}.result-card{padding:24px 16px}}
