.nova-login{--ink:#060211;--ink-2:#100624;--plum:#2a0d2c;--blood:#5a0d1f;--ember:#c9421f;--gold:#c89b5a;--gold-hi:#f0d695;--gold-leaf:#b88a3e;--bone:#efe2c4;--ash:#efe2c48c;--rune:#f0d695;background:var(--ink);color:var(--bone);font-family:var(--font-cormorant), Georgia, serif;z-index:1;cursor:default;position:fixed;inset:0;overflow:hidden auto}.nova-login *{box-sizing:border-box}.nova-login .void{background:radial-gradient(ellipse 80% 60% at 50% 110%, #5a0d1f8c, transparent 70%), radial-gradient(ellipse 60% 80% at 80% 20%, #2a0d2cb3, transparent 60%), radial-gradient(ellipse 60% 80% at 10% 30%, #100624e6, transparent 60%), radial-gradient(ellipse at 50% 50%, #160829, var(--ink) 75%);z-index:0;pointer-events:none;position:fixed;inset:0}.nova-login .stars-far,.nova-login .stars-mid,.nova-login .stars-near{pointer-events:none;z-index:1;position:fixed;inset:-10vh -10vw}.nova-login .stars-far{background-image:radial-gradient(1px 1px at 13% 22%, var(--bone), transparent), radial-gradient(1px 1px at 27% 71%, var(--bone), transparent), radial-gradient(1px 1px at 44% 18%, var(--bone), transparent), radial-gradient(1px 1px at 61% 84%, var(--bone), transparent), radial-gradient(1px 1px at 78% 35%, var(--bone), transparent), radial-gradient(1px 1px at 89% 62%, var(--bone), transparent), radial-gradient(1px 1px at 8% 88%, var(--bone), transparent), radial-gradient(1px 1px at 95% 12%, var(--bone), transparent);opacity:.4;animation:600s linear infinite nova-drift-far}.nova-login .stars-mid{background-image:radial-gradient(1.5px 1.5px at 22% 14%, var(--gold-hi), transparent), radial-gradient(1.5px 1.5px at 53% 42%, var(--bone), transparent), radial-gradient(1.5px 1.5px at 71% 78%, var(--gold-hi), transparent), radial-gradient(1.5px 1.5px at 84% 26%, var(--bone), transparent), radial-gradient(1.5px 1.5px at 33% 91%, var(--bone), transparent);opacity:.6;animation:360s linear infinite nova-drift-mid}.nova-login .stars-near{background-image:radial-gradient(2px 2px at 18% 58%, var(--gold-hi), transparent), radial-gradient(2px 2px at 67% 22%, var(--bone), transparent), radial-gradient(2px 2px at 41% 81%, var(--gold-hi), transparent);opacity:.85;filter:drop-shadow(0 0 4px var(--gold-hi));animation:240s linear infinite nova-drift-near}@keyframes nova-drift-far{to{transform:translate(-3%,2%)}}@keyframes nova-drift-mid{to{transform:translate(4%,-3%)}}@keyframes nova-drift-near{to{transform:translate(-2%,-4%)}}.nova-login .sparkle{background:var(--gold-hi);width:4px;height:4px;box-shadow:0 0 8px var(--gold-hi), 0 0 24px var(--gold);z-index:2;pointer-events:none;border-radius:50%;animation:4s ease-in-out infinite nova-twinkle;position:fixed}@keyframes nova-twinkle{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}.nova-login .ember{background:var(--ember);width:3px;height:3px;box-shadow:0 0 6px var(--ember), 0 0 18px var(--gold);opacity:0;z-index:3;pointer-events:none;border-radius:50%;animation:linear infinite nova-rise;position:fixed;bottom:-20px}@keyframes nova-rise{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.9}50%{transform:translateY(-50vh)translate(20px)}90%{opacity:.6}to{opacity:0;transform:translateY(-110vh)translate(-15px)}}.nova-login .smoke{pointer-events:none;z-index:4;mix-blend-mode:screen;background:radial-gradient(50% 30% at 30% 100%,#5a0d1f59,#0000 70%),radial-gradient(60% 40% at 70% 100%,#2a0d2c73,#0000 70%);animation:12s ease-in-out infinite nova-breathe;position:fixed;inset:0}@keyframes nova-breathe{0%,to{opacity:.7;transform:scale(1)translateY(0)}50%{opacity:1;transform:scale(1.05)translateY(-8px)}}.nova-login .vignette{pointer-events:none;z-index:5;background:radial-gradient(ellipse 90% 75% at 50% 50%, transparent 50%, var(--ink) 100%);position:fixed;inset:0}.nova-login .watermark{font-family:var(--font-italianno), cursive;color:#0000;-webkit-text-stroke:1px #c89b5a2e;pointer-events:none;z-index:6;letter-spacing:-.04em;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(280px,45vw,720px);line-height:.8;position:fixed;bottom:-8vh;left:50%;transform:translate(-50%)}.nova-login .stage{z-index:20;grid-template-columns:minmax(380px,480px) 1fr;gap:0;min-height:100vh;display:grid;position:relative}.nova-login .panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(110deg,#060211eb 0%,#060211a6 80%,#0000 100%);flex-direction:column;justify-content:center;min-height:100vh;padding:56px 64px 56px 72px;display:flex;position:relative}.nova-login .crest{opacity:0;align-items:center;gap:14px;margin-bottom:56px;animation:1.2s ease-out .4s forwards nova-rise-in;display:flex}.nova-login .crest svg{width:28px;height:28px;color:var(--gold-hi);filter:drop-shadow(0 0 8px var(--gold))}.nova-login .crest-name{font-family:var(--font-cinzel), serif;letter-spacing:.55em;color:var(--bone);font-size:12px;font-weight:600}.nova-login .arcana{font-family:var(--font-cinzel), serif;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;opacity:0;margin-bottom:12px;font-size:10px;animation:1s ease-out .8s forwards nova-rise-in}.nova-login .arcana .roman{border:1px solid var(--gold-leaf);color:var(--gold-hi);margin-right:14px;padding:2px 8px;display:inline-block}.nova-login h1.lede{font-family:var(--font-cormorant), serif;letter-spacing:-.01em;color:var(--bone);opacity:0;margin:0 0 22px;font-size:clamp(42px,5vw,64px);font-weight:300;line-height:1.02;animation:1.2s ease-out 1s forwards nova-rise-in}.nova-login h1.lede .script{font-family:var(--font-italianno), cursive;color:var(--gold-hi);text-shadow:0 0 20px #f0d69559;margin:0 .04em;font-size:1.55em;line-height:.7;display:inline-block;transform:translateY(.12em)rotate(-2deg)}.nova-login h1.lede em{color:var(--gold-hi);font-style:italic}.nova-login .invocation{font-family:var(--font-cormorant), serif;color:var(--ash);opacity:0;max-width:38ch;margin:0 0 44px;font-size:19px;font-style:italic;font-weight:300;line-height:1.55;animation:1.2s ease-out 1.3s forwards nova-rise-in}.nova-login .alert{color:var(--bone);font-family:var(--font-cormorant), serif;opacity:0;background:#5a0d1f2e;border:1px solid #c9421f73;margin:-28px 0 28px;padding:12px 14px;font-size:15px;font-style:italic;line-height:1.5;animation:.8s ease-out 1.4s forwards nova-rise-in}.nova-login .alert em{color:var(--gold-hi);font-style:italic}.nova-login form,.nova-login .sent-card{opacity:0;animation:1.2s ease-out 1.6s forwards nova-rise-in}.nova-login .field{margin-bottom:28px;position:relative}.nova-login .field label{font-family:var(--font-cinzel), serif;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-size:10px;display:block}.nova-login .field input{border:none;border-bottom:1px solid var(--gold-leaf);width:100%;color:var(--bone);font-family:var(--font-cormorant), serif;background:0 0;outline:none;padding:8px 4px 12px;font-size:22px;font-weight:300;transition:border-color .4s,box-shadow .4s}.nova-login .field input::placeholder{color:#efe2c440;font-style:italic}.nova-login .field input:focus{border-bottom-color:var(--gold-hi);box-shadow:0 8px 28px -16px var(--gold-hi)}.nova-login .field input:disabled{opacity:.5;cursor:not-allowed}.nova-login .field-flourish{opacity:.35;width:60px;color:var(--gold);position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.nova-login .seal-wrap{align-items:center;gap:24px;margin-top:36px;display:flex}.nova-login .seal{cursor:pointer;width:96px;height:96px;color:var(--gold-hi);background:radial-gradient(circle at 35% 30%,#b91d2e 0%,#5a0d1f 60%,#2c0510 100%);border:none;border-radius:50%;flex-shrink:0;transition:transform .3s,box-shadow .3s,filter .3s;position:relative;box-shadow:inset -6px -8px 18px #000000a6,inset 4px 6px 14px #ffc8b440,0 12px 28px #5a0d1f99,0 0 0 1px #c89b5a66}.nova-login .seal:hover:not(:disabled){filter:brightness(1.15);transform:scale(1.06)rotate(-3deg);box-shadow:inset -6px -8px 18px #000000a6,inset 4px 6px 14px #ffdcc859,0 18px 40px #c9421fb3,0 0 0 1px #f0d69599}.nova-login .seal:active:not(:disabled){transform:scale(.96)rotate(-1deg)}.nova-login .seal:disabled{opacity:.6;cursor:not-allowed}.nova-login .seal svg{filter:drop-shadow(0 1px #00000080);width:56px;height:56px;margin:auto;position:absolute;inset:0}.nova-login .seal-label{font-family:var(--font-cinzel), serif;letter-spacing:.35em;text-transform:uppercase;color:var(--bone);font-size:11px}.nova-login .seal-label .small{font-family:var(--font-cormorant), serif;letter-spacing:.05em;color:var(--ash);text-transform:none;margin-top:6px;font-size:13px;font-style:italic;display:block}.nova-login .footer{font-family:var(--font-cormorant), serif;color:var(--ash);opacity:0;margin-top:auto;padding-top:56px;font-size:13px;font-style:italic;animation:1.2s ease-out 2s forwards nova-rise-in}.nova-login .footer .rule{background:linear-gradient(90deg, transparent, var(--gold-leaf), transparent);width:80px;height:1px;margin-bottom:14px;display:block}.nova-login .scene{min-height:100vh;position:relative;overflow:hidden}.nova-login .tarot{pointer-events:none;opacity:0;border:1px solid #c89b5a40;animation:2s ease-out .6s forwards nova-fade-in;position:absolute;inset:6%}.nova-login .tarot:before,.nova-login .tarot:after{content:"";border:1px solid var(--gold);width:28px;height:28px;position:absolute}.nova-login .tarot:before{border-bottom:none;border-right:none;top:-1px;left:-1px}.nova-login .tarot:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.nova-login .tarot-corners{pointer-events:none;position:absolute;inset:0}.nova-login .tarot-corners span{border:1px solid var(--gold);width:28px;height:28px;position:absolute}.nova-login .tarot-corners span:first-child{border-bottom:none;border-left:none;top:-1px;right:-1px}.nova-login .tarot-corners span:nth-child(2){border-top:none;border-right:none;bottom:-1px;left:-1px}.nova-login .tarot-num-top,.nova-login .tarot-num-bot{font-family:var(--font-cinzel), serif;letter-spacing:.5em;color:var(--gold);background:var(--ink);padding:0 16px;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.nova-login .tarot-num-top{top:-7px}.nova-login .tarot-num-bot{bottom:-7px;transform:translate(-50%)rotate(180deg)}.nova-login .figure{position:absolute;inset:0;overflow:hidden}.nova-login .figure-glow{filter:blur(10px);background:radial-gradient(circle,#f0d69538 0%,#c9421f1f 30%,#0000 65%);width:60vh;height:60vh;animation:6s ease-in-out infinite nova-pulse-glow;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)}@keyframes nova-pulse-glow{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.nova-login .figure-art{opacity:0;filter:drop-shadow(0 0 24px #78dcc859)drop-shadow(0 0 80px #50b4c840);background-image:url(/nova.png);background-position:50% 45%;background-repeat:no-repeat;background-size:contain;animation:2.4s ease-out .4s forwards nova-fade-in;position:absolute;inset:0}.nova-login .sigil{pointer-events:none;opacity:0;width:240px;height:240px;animation:2s ease-out 1.4s forwards nova-sigil-in,4s ease-in-out 3s infinite nova-pulse-sigil;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.nova-login .sigil svg{width:100%;height:100%;filter:drop-shadow(0 0 12px var(--gold-hi)) drop-shadow(0 0 32px #f0d69580) drop-shadow(0 0 64px #c9421f66)}@keyframes nova-sigil-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)rotate(-45deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes nova-pulse-sigil{0%,to{filter:drop-shadow(0 0 12px var(--gold-hi)) drop-shadow(0 0 32px #f0d69580) drop-shadow(0 0 64px #c9421f66)}50%{filter:drop-shadow(0 0 20px var(--gold-hi)) drop-shadow(0 0 56px #f0d695b3) drop-shadow(0 0 96px #c9421f8c)}}.nova-login .constellation{pointer-events:none;position:absolute;inset:0}.nova-login .constellation svg{color:#f0d69559;width:100%;height:100%}.nova-login .constellation path{stroke:currentColor;stroke-width:.8px;fill:none;stroke-dasharray:1000;stroke-dashoffset:1000px;animation:6s ease-out 2s forwards nova-draw}.nova-login .constellation circle{fill:var(--gold-hi);opacity:0;animation:.4s ease-out forwards nova-pop}@keyframes nova-draw{to{stroke-dashoffset:0}}@keyframes nova-pop{to{opacity:.95}}.nova-login .scene-title{text-align:center;pointer-events:none;z-index:3;opacity:0;animation:1.6s ease-out 2.2s forwards nova-rise-in;position:absolute;bottom:14%;left:0;right:0}.nova-login .scene-title .top{font-family:var(--font-cinzel), serif;letter-spacing:.55em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;font-size:11px}.nova-login .scene-title .name{font-family:var(--font-cinzel-decorative), serif;letter-spacing:.18em;color:var(--bone);text-shadow:0 0 20px #f0d69566,0 4px 24px #000c;font-size:clamp(34px,5vw,56px);font-weight:900}.nova-login .scene-title .epithet{font-family:var(--font-italianno), cursive;color:var(--gold-hi);text-shadow:0 0 18px #f0d69566;margin-top:16px;font-size:36px}@keyframes nova-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes nova-fade-in{to{opacity:1}}.nova-login .sent-quote{font-family:var(--font-cormorant), serif;color:var(--bone);margin:0 0 18px;font-size:28px;font-style:italic;font-weight:400;line-height:1.4}.nova-login .sent-quote .open,.nova-login .sent-quote .close{font-family:var(--font-italianno), cursive;color:var(--gold-hi);vertical-align:-.18em;font-size:1.6em;line-height:0}.nova-login .sent-attrib{font-family:var(--font-cinzel), serif;letter-spacing:.45em;color:var(--gold);text-transform:uppercase;font-size:10px}.nova-login .sent-meta{font-family:var(--font-cormorant), serif;color:var(--ash);border-top:1px solid #c89b5a40;margin-top:36px;padding-top:24px;font-size:15px;line-height:1.7}.nova-login .sent-meta strong{color:var(--gold-hi);font-weight:500}.nova-login .resend{border:1px solid var(--gold-leaf);color:var(--gold);font-family:var(--font-cinzel), serif;letter-spacing:.4em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:18px;padding:10px 18px;font-size:10px;transition:all .3s}.nova-login .resend:hover{color:var(--gold-hi);border-color:var(--gold-hi);background:#c89b5a14}.nova-login .ripple{border:2px solid var(--gold-hi);pointer-events:none;border-radius:50%;width:96px;height:96px;animation:1.4s ease-out forwards nova-ripple;position:absolute;top:60%;left:48px}@keyframes nova-ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(4)}}@media (max-width:900px){.nova-login .stage{grid-template-columns:1fr}.nova-login .scene{order:-1;min-height:50vh}.nova-login .panel{min-height:auto;padding:40px 28px}.nova-login .scene-title{bottom:8%}.nova-login .footer{padding-top:32px}}
