
:root{color-scheme:dark;--green:#9b4be1;--light:#c38df2;--white:#faf4ff;--muted:#baadc5}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}
body{min-height:100vh;min-height:100dvh;overflow-x:hidden;background:#0d0613;color:var(--white);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 55% 48% at 50% 40%,rgba(89,33,138,.19),transparent 75%),radial-gradient(ellipse 55% 42% at 88% 88%,rgba(54,12,91,.25),transparent 75%),linear-gradient(160deg,#0f0716 0%,#08030c 56%,#140a1d 100%)}
.aurora-host,.aurora-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.aurora-host{min-height:100vh;min-height:100dvh}
.aurora-host.aurora-fallback{background:radial-gradient(ellipse 120% 70% at 50% -10%,rgba(150,68,223,.4),transparent 60%),radial-gradient(ellipse 75% 55% at 70% 12%,rgba(237,216,255,.1),transparent 65%)}
.vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,0,5,.22),transparent 42%,transparent 70%,rgba(3,0,6,.55)),radial-gradient(ellipse at center,transparent 42%,rgba(4,0,7,.43));z-index:2}
.viewport{position:relative;z-index:1;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))}
.card-wrap{position:relative;width:min(100%,384px);animation:fade-up .7s cubic-bezier(.16,1,.3,1) both}
.card-wrap:before{content:"";position:absolute;inset:-1px;border-radius:19px;background:linear-gradient(130deg,rgba(224,189,255,.25),rgba(144,67,213,.03) 48%,rgba(182,116,240,.22))}
.card{position:relative;padding:31px 27px 28px;border:1px solid rgba(239,222,255,.09);border-radius:18px;background:linear-gradient(160deg,rgba(32,20,43,.94),rgba(14,7,21,.94) 65%,rgba(19,9,27,.95));box-shadow:0 28px 70px rgba(0,0,0,.55),0 0 50px rgba(107,29,176,.11),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.head{text-align:center;margin-bottom:25px}.brand-icon{width:200px;height:76px;margin:0 auto 17px;display:grid;place-items:center}
.brand-icon img{width:200px;height:76px;object-fit:contain;filter:drop-shadow(0 0 15px rgba(181,97,255,.28))}
h1{margin:0;color:#ffffff;font-size:22px;font-weight:700;letter-spacing:-.025em}.sub{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}form{display:flex;flex-direction:column;gap:14px}
.field{position:relative}.field-icon{position:absolute;top:50%;left:14px;width:17px;height:17px;transform:translateY(-50%);color:#9d89ae;pointer-events:none}
#license_key{display:block;width:100%;height:48px;padding:0 45px 0 42px;border:1px solid rgba(239,220,255,.13);border-radius:11px;outline:none;background:rgba(4,0,8,.43);color:#ffffff;font:500 14px 'DM Sans',sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}
#license_key::placeholder{color:#92849f}#license_key:focus{border-color:rgba(163,91,226,.55);background:rgba(22,8,35,.72);box-shadow:0 0 0 3px rgba(136,63,200,.13)}.field:focus-within .field-icon{color:var(--light)}
.toggle{position:absolute;right:9px;top:50%;width:31px;height:31px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#9f8fae;cursor:pointer}.toggle:hover{color:#ffffff;background:rgba(255,255,255,.07)}.toggle svg{width:17px;height:17px}.toggle .eye-off{display:none}.toggle.shown .eye-on{display:none}.toggle.shown .eye-off{display:block}
.remember{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;color:#d0c5d9;font-size:12px;cursor:pointer;user-select:none}.remember input{appearance:none;width:17px;height:17px;margin:0;border:1px solid rgba(222,201,240,.4);border-radius:5px;background:rgba(4,0,7,.3);display:grid;place-items:center;cursor:pointer}.remember input:checked{background:var(--green);border-color:var(--green)}.remember input:checked:after{content:"";width:8px;height:5px;border-left:2px solid #170924;border-bottom:2px solid #170924;transform:translateY(-1px) rotate(-45deg)}
.submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:47px;margin-top:2px;border:1px solid rgba(217,174,255,.37);border-radius:11px;background:linear-gradient(135deg,#b679ec,#7a31ba 56%,#571b8d);box-shadow:0 8px 24px rgba(102,25,170,.22),inset 0 1px rgba(255,255,255,.29);color:#150622;font:700 14px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,filter .2s,box-shadow .2s}.submit:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 11px 30px rgba(102,25,170,.3)}.submit:active{transform:translateY(0)}.submit:disabled{opacity:.65;cursor:wait;transform:none}.submit svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.5}
.status{display:none;padding:11px 12px;border:1px solid transparent;border-radius:9px;font-size:12px;line-height:1.5;text-align:center}.status.show{display:block}.status.error{border-color:rgba(202,142,255,.35);background:rgba(64,24,99,.21);color:#ead3ff}.status.ok{border-color:rgba(175,103,238,.35);background:rgba(74,30,113,.21);color:#e4c5ff}
.footer{margin:21px 0 0;color:#90819d;font-size:11px;text-align:center}.field.shake{animation:shake .4s ease}@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
input:focus-visible,button:focus-visible{outline:2px solid var(--light);outline-offset:2px}@media(max-width:420px){.card{padding:28px 22px 25px}.sub{font-size:11.5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.card-wrap:before,.card,#license_key,.toggle,.remember input,.submit,.status{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border-radius:0}
.toggle,.remember input{clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}

/* Per identity and compact screens. */
.brand-icon{width:120px;height:116px;margin-bottom:18px}.brand-icon img{width:120px;height:116px;filter:drop-shadow(0 0 20px #ab4cff55)}
h1{font-size:25px;letter-spacing:.05em}.word-accent{color:#d4a3ff}.sub{margin-top:10px}
.access-label{display:block;margin-bottom:9px;color:#dfd0ec;font-size:12px;font-weight:600}
.submit{color:#fff;background:linear-gradient(135deg,#bb79f5,#9242d9 56%,#6c24ab)}
.footer{line-height:1.6}.status{overflow-wrap:anywhere}
@media(max-height:640px){.viewport{padding-block:18px}.card{padding-block:22px}.brand-icon,.brand-icon img{width:88px;height:85px}.head{margin-bottom:18px}}
/* Soft descending violet light; no diagonal planes or hard-edged beams. */
.aurora-host{overflow:hidden;background:radial-gradient(ellipse 95% 70% at 48% -12%,#b071e85c,transparent 76%)}
.aurora-host::before{content:"";position:absolute;inset:-35% -15% 0;background:radial-gradient(ellipse 48% 45% at 34% 18%,#d5a6ff45,transparent 78%),radial-gradient(ellipse 45% 48% at 69% 8%,#9849de55,transparent 80%);filter:blur(46px);animation:violet-fall 13s ease-in-out infinite;will-change:transform}
@keyframes violet-fall{0%,100%{transform:translateY(-5%);opacity:.65}50%{transform:translateY(19%);opacity:1}}
@media(prefers-reduced-motion:reduce){.aurora-host::before{animation:none;will-change:auto}}

/* Supplied FLASH emblem retains its wide proportions. */
.brand-icon{width:170px;height:106px}.brand-icon img{width:170px;height:106px;object-fit:contain}
@media(max-height:640px){.brand-icon,.brand-icon img{width:128px;height:80px}}

