:root{color-scheme:dark;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#effaf5;background:#050d1b}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}
.space{min-height:100dvh;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;padding:24px;background:radial-gradient(ellipse at 50% 35%,#1c4250 0%,#0b1c2e 54%,#030916 100%)}
.space:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.8;background-image:radial-gradient(2px 2px at 13% 19%,#fff 98%,transparent),radial-gradient(1px 1px at 81% 70%,#bff 98%,transparent),radial-gradient(2px 2px at 75% 8%,#fff 98%,transparent),radial-gradient(2px 2px at 23% 81%,#fff 98%,transparent),radial-gradient(1px 1px at 87% 46%,#fff 98%,transparent)}
.nebula{position:absolute;width:700px;height:700px;z-index:-1;border-radius:50%;background:conic-gradient(#167e7a2b,#7cbd8a29,#396fad22,#167e7a2b);filter:blur(100px);pointer-events:none}
.ring{position:absolute;width:min(94vw,780px);aspect-ratio:1;border:1px solid #9ceacf1c;border-radius:50%;pointer-events:none}.ring-b{width:min(72vw,590px);border-color:#9ceacf12}
.entry{text-align:center;width:min(100%,410px);display:flex;flex-direction:column;align-items:center}.emblem{display:grid;place-items:center;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle,#1d5b4c50,transparent 70%)}.emblem img{max-width:104px;max-height:104px;object-fit:contain}
h1{font-size:clamp(39px,8vw,62px);line-height:1;letter-spacing:.24em;padding-left:.24em;margin:12px 0}.wordmark{font-size:12px;letter-spacing:.48em;padding-left:.48em;color:#99f3ca;margin:0}
form{width:100%;margin-top:55px;padding:28px;display:flex;flex-direction:column;text-align:left;background:#0b1d2ddc;border:1px solid #42856b55;border-radius:20px;box-shadow:0 25px 70px #0008;backdrop-filter:blur(18px)}
label{color:#bce7d6;font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;margin-bottom:12px}
input{width:100%;min-height:54px;border:1px solid #629f9977;border-radius:10px;padding:13px;background:#061421;color:#fff;font-size:18px}input:focus{outline:2px solid #72e4ad}
button{margin-top:17px;min-height:54px;border:0;border-radius:10px;background:#6fecc0;color:#03251c;font-weight:800;font-size:17px;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible{outline:3px solid #fff;outline-offset:3px}
#authMessage{min-height:20px;margin:13px 0 0;text-align:center;font-size:13px;color:#ffd0c8}
@media(max-width:550px){form{padding:22px;margin-top:35px}.ring{width:145vw}.ring-b{width:110vw}}

/* GAL-038 EMERALD VISUAL: shared Galaxy cosmic identity */
:root{--galaxy-emerald:#55ffc2;--galaxy-emerald-2:#19e69d;--galaxy-ink:#020e0d;color:#eafff6;background:var(--galaxy-ink)}
body{background:var(--galaxy-ink)}
.space{padding:clamp(16px,3vw,38px);background:
radial-gradient(ellipse 60% 48% at 50% 34%,rgba(19,163,113,.32),transparent 82%),
radial-gradient(circle at 12% 84%,rgba(27,115,75,.18),transparent 38%),
linear-gradient(140deg,#010908,#041a14 51%,#020b0a)}
.space:before{opacity:.85;background-image:
radial-gradient(1px 1px at 8% 14%,#dafff0 99%,transparent),
radial-gradient(2px 2px at 82% 20%,#9fffdc 99%,transparent),
radial-gradient(1px 1px at 92% 76%,#dafff0 99%,transparent),
radial-gradient(1px 1px at 19% 83%,#9fffdc 99%,transparent),
radial-gradient(2px 2px at 62% 92%,#dafff0 99%,transparent),
radial-gradient(1px 1px at 43% 8%,#e2fff3 99%,transparent)}
.space:after{content:"";position:absolute;pointer-events:none;z-index:-1;
width:min(80vw,730px);aspect-ratio:1;border-radius:50%;
background:radial-gradient(circle,rgba(40,255,172,.20),rgba(17,140,97,.06) 53%,transparent 76%);
filter:blur(28px)}
.nebula{width:min(120vw,750px);height:auto;aspect-ratio:1;filter:blur(80px);
background:conic-gradient(from 25deg,#176d4f30,#32ffad34,#053f3320,#29edaa29,#176d4f30)}
.ring{width:min(92vw,700px);aspect-ratio:1.36;transform:rotate(-24deg);
border-color:#75ffd044;box-shadow:0 0 30px #32ff9a15,inset 0 0 48px #3affa512}
.ring-b{width:min(74vw,550px);aspect-ratio:1.13;transform:rotate(27deg);border-color:#85ffd631}
.emblem{border:1px solid #78ffcb44;background:radial-gradient(circle,#38ffa83a,#0e68442a 52%,transparent 75%);
box-shadow:0 0 30px #45ffc32d,0 0 94px #22e79c25,inset 0 0 40px #67ffc215}
.emblem img{filter:drop-shadow(0 0 11px #6fffc38c) drop-shadow(0 0 27px #28ef9559)}
h1{color:#e9fff4;text-shadow:0 0 18px #71ffd06e,0 0 60px #34ff993b}
.wordmark{color:#a8ffda;text-shadow:0 0 24px #48ffb150}

/* GAL-038 LOGIN PANEL: emerald-lit glass, visible focus and touch targets */
form{position:relative;margin-top:clamp(23px,5.5dvh,50px);padding:clamp(21px,4.5vw,30px);
background:linear-gradient(145deg,#0a3a2fe3,#031712f2 76%);
border:1px solid #73ffc76a;border-radius:20px;
box-shadow:0 24px 72px #000a,0 0 44px #27ffad29,inset 0 1px 0 #ccffe51a;
backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
form::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
box-shadow:inset 0 0 38px #2cffac10}
label{color:#d1ffe9;letter-spacing:.12em}
input{background:#021612df;border-color:#65ffc269;color:#eafff5;min-height:53px;
transition:border-color .16s ease,box-shadow .16s ease}
input:focus-visible{border-color:#9affd8;outline:2px solid #9affd9;outline-offset:2px;
box-shadow:0 0 0 4px #2effa71b,0 0 23px #48ffb247}
button{min-height:54px;border-radius:11px;color:#00301e;
background:linear-gradient(115deg,#afffe1 0%,#5affc5 44%,#25eaa2 100%);
box-shadow:0 10px 32px #36ffb048,0 0 30px #44ffaf42;
transition:box-shadow .16s ease,filter .16s ease,transform .16s ease}
button:hover{filter:brightness(1.07);box-shadow:0 12px 38px #29ffb35f,0 0 36px #59ffc353}
button:active{transform:translateY(1px)}
button:focus-visible{outline:3px solid #e8fff5;outline-offset:3px}
button:disabled{box-shadow:none;opacity:.5}
#authMessage{color:#ffd4dc}
@media(max-width:550px){
.space{padding:15px 12px}
.ring{width:118vw;max-width:550px;opacity:.75}
.ring-b{width:93vw}
.emblem{width:106px;height:106px}
.emblem img{max-width:88px;max-height:88px}
form{margin-top:clamp(19px,4dvh,34px);padding:21px}
h1{font-size:clamp(37px,10vw,51px)}
}
@media(max-height:620px){
.space{padding-block:11px}
.emblem{width:88px;height:88px}
.emblem img{max-width:74px;max-height:74px}
h1{margin:7px 0 5px}
form{margin-top:17px;padding-block:17px}
button{min-height:48px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){input,button{transition:none!important;transform:none!important}}
@media(prefers-contrast:more){form,input{border-color:#aaffde}label,.wordmark{color:#e5fff4}}
