:root{color-scheme:dark;--gold:#e5b760;--gold2:#ffd58a;--text:#fff8ed;--muted:#a99da1}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}
body{background:#080708;color:var(--text);font-family:Inter,"Segoe UI",system-ui,sans-serif}
.login-gate{position:fixed;inset:0;display:grid;place-items:center;overflow:auto;padding:24px;background:#080708}
.login-gate::before{content:"";position:fixed;inset:-5%;background:linear-gradient(90deg,rgba(8,7,8,.92),rgba(8,7,8,.38),rgba(8,7,8,.92)),url('/assets/gold-dust-wallpaper.png') center/cover;animation:gateZoom 20s ease-in-out infinite alternate}
.login-gate::after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 34%,transparent,rgba(8,7,8,.42) 48%,#080708 92%)}
.dust{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.dust i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:rgba(255,202,115,var(--alpha));box-shadow:0 0 calc(var(--size)*3) rgba(255,174,68,calc(var(--alpha)*.65));animation:dustDrift var(--duration) ease-in-out var(--delay) infinite alternate}
.login-box{position:relative;z-index:2;width:min(680px,100%);padding:18px 0;text-align:center}
.login-logo-scene{width:292px;height:292px;margin:-34px auto 14px;overflow:hidden;border-radius:0;isolation:isolate;background:transparent;box-shadow:none}.login-logo-scene iframe{display:block;width:100%;height:100%;border:0;background:transparent;color-scheme:dark}
.login-wordmark{position:relative;z-index:3;margin:0 0 18px;color:var(--gold2);font-size:2rem;font-weight:700;letter-spacing:.48em;text-indent:.48em;line-height:1;text-shadow:0 0 18px rgba(255,190,82,.16)}
h1{max-width:650px;margin:18px auto 12px;font:400 clamp(2.5rem,6vw,5.2rem)/.98 Georgia,serif;letter-spacing:-.05em}.login-note{margin:0 0 32px;color:var(--muted)}
.login-form{width:min(520px,100%);margin:auto;text-align:left}.login-form label{display:block;margin:0 0 8px;color:#ececec;font-size:12px;font-weight:650}
.email-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;min-height:46px;padding:1px 4px 1px 10px;border:1px solid #6a5430;border-radius:7px;background:#30291e;box-shadow:inset 0 2px 5px rgba(0,0,0,.24),inset 0 -1px 1px rgba(255,255,255,.07);overflow:hidden}.email-field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#e5b760;opacity:0;transform:scaleX(.25);transition:opacity .16s ease,transform .2s ease}.email-field:focus-within::after{opacity:1;transform:scaleX(1)}
.email-field input{width:100%;min-width:0;min-height:42px;padding:7px 3px;border:0;outline:0;background:transparent;color:#ececec;caret-color:#e5b760;font:15px/22px Inter,"Segoe UI",system-ui,sans-serif}.email-field input::placeholder{color:#aaa;opacity:.72}
.email-field button{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:7px;background:transparent;color:#e5b760;cursor:pointer;transition:background .16s ease,color .16s ease}.email-field button:hover,.email-field button:focus-visible{background:#4b3d27;color:#ffd88a;outline:0}.email-field button:active{transform:scale(.93)}
.submit-arrow{position:relative;display:block;width:19px;height:12px}.submit-arrow::before{content:"";position:absolute;left:0;right:2px;top:5px;height:2px;border-radius:2px;background:currentColor}.submit-arrow::after{content:"";position:absolute;right:1px;top:2px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.change-login{display:block;width:max-content;margin:12px auto 0;color:#d9b472;font-size:.78rem}.message{width:min(520px,100%);margin:12px auto 0;color:#d9b472;font-size:.78rem}.privacy{margin:16px auto 0;color:#8f8388;font-size:.72rem}.privacy span{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#67e8ad;box-shadow:0 0 10px #67e8ad}
.audit-note{max-width:520px;margin:14px auto 0;color:#aa9f9f;font-size:.68rem;line-height:1.6}
/* Same viewport artwork as site-background.css, available before login. */
body{position:relative;isolation:isolate;background:#080708}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,7,8,.38),rgba(8,7,8,.16) 55%,rgba(8,7,8,.28)),url('/assets/gold-dust-wallpaper.png') center center/cover no-repeat}
.login-gate{background:transparent}
.cosmic-dust{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;user-select:none;contain:strict}
.cosmic-dust{z-index:2}
body::before{inset:-5%;will-change:transform;animation:cosmicBackdrop 24s ease-in-out -6s infinite alternate}
@keyframes cosmicBackdrop{0%{transform:translate3d(-1.1%,-.7%,0) scale(1.025)}50%{transform:translate3d(.3%,-.15%,0) scale(1.045)}100%{transform:translate3d(1.1%,.7%,0) scale(1.035)}}
.cosmic-motion-paused body::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body::before{animation:none;will-change:auto}}
.login-gate{z-index:1}
.dust{display:none}
.login-gate::before{display:none;animation:none}
.login-gate::after{background:radial-gradient(ellipse at 50% 35%,rgba(8,7,8,.08),rgba(8,7,8,.26) 68%,rgba(8,7,8,.38))}
@keyframes gateZoom{to{transform:scale(1.08) translate3d(-1%,1%,0)}}@keyframes dustDrift{0%{transform:translate3d(0,0,0) scale(.72);opacity:.35}45%{opacity:1}100%{transform:translate3d(var(--dx),var(--dy),0) scale(1.18);opacity:.18}}
@media(max-width:620px){.login-gate{padding:16px}.login-logo-scene{width:240px;height:240px;margin:-28px auto 12px}.login-wordmark{font-size:1.45rem}h1{font-size:2.55rem}.login-note{margin-bottom:25px}}@media(max-height:760px) and (min-width:621px){.login-logo-scene{width:230px;height:230px;margin:-30px auto 12px}.login-wordmark{font-size:1.45rem}h1{font-size:3.2rem;margin-top:14px}.login-note{margin-bottom:22px}}@media(prefers-reduced-motion:reduce){.login-gate::before,.dust i{animation:none!important}}
