*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;font-family:Inter,system-ui,sans-serif;color:#eceef1;background:#060708;-webkit-font-smoothing:antialiased}.auth{display:flex;min-height:100vh}.auth-frame{position:fixed;inset:0;z-index:20;pointer-events:none}.auth-frame:before{content:"";position:absolute;inset:clamp(14px,2vw,22px);border:1px solid rgba(241,234,214,.24);border-radius:2px;--c: 26px;-webkit-mask:linear-gradient(#000,#000) 0 0 / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 100% 0 / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 0 100% / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 100% 100% / var(--c) var(--c) no-repeat;mask:linear-gradient(#000,#000) 0 0 / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 100% 0 / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 0 100% / var(--c) var(--c) no-repeat,linear-gradient(#000,#000) 100% 100% / var(--c) var(--c) no-repeat}.auth-viz{position:relative;flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,56px);background:radial-gradient(120% 100% at 30% 40%,#0d0f13,#08090b 55%,#030304);overflow:hidden}.ticker{position:absolute;inset:0;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 82%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 82%,transparent 100%)}.ticker-row{position:absolute;left:0;white-space:nowrap;width:max-content;will-change:transform;animation:tickL linear infinite;font-family:IBM Plex Mono,monospace;letter-spacing:.02em}.ticker-row.rev{animation-name:tickR}.ticker-row .sep{color:#edf0f566}@keyframes tickL{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes tickR{0%{transform:translate(-50%)}to{transform:translate(0)}}.auth-brand{position:relative;z-index:3;font-family:Inter,sans-serif;font-size:16px;font-weight:600;letter-spacing:.3em;color:#fff;text-decoration:none;align-self:flex-start;text-shadow:0 0 16px #050608,0 0 9px #050608,0 2px 6px #050608}.viz-cap{position:relative;z-index:1;margin:0;max-width:46ch;font-family:Newsreader,Georgia,serif;font-size:clamp(15px,1.4vw,19px);line-height:1.5;color:#cdc6b4;text-shadow:0 0 18px #050608,0 0 11px #050608,0 2px 6px #050608}.viz-cap span{color:#8b909a}.auth-form{flex:0 0 clamp(340px,30%,440px);display:flex;align-items:center;justify-content:center;padding:clamp(24px,2.4vw,40px);background:radial-gradient(120% 90% at 70% 20%,#0b0e15,#070809 60%,#050506)}.form-card{width:100%;max-width:320px}.form-title{margin:0 0 26px;font-family:Newsreader,Georgia,serif;font-weight:500;font-size:34px;letter-spacing:-.01em;color:#fbf7ee}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9aa0ab}.field input{font-family:Inter,sans-serif;font-size:14px;color:#eceef1;background:#1118288c;border:1px solid rgba(175,180,190,.2);border-radius:0;padding:11px 13px;transition:border-color .15s ease,background .15s ease}.field input::placeholder{color:#5b606b}.field input:focus{outline:none;border-color:#f0c24eb3;background:#111828cc}.btn-primary{margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:13.5px;font-weight:500;letter-spacing:.04em;color:#12151b;background:#e9e2cd;border:1px solid #e9e2cd;border-radius:0;padding:12px 16px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn-primary:hover{background:#f3ecd9;border-color:#f3ecd9}.btn-primary:disabled{opacity:.55;cursor:default}.form-msg{margin:2px 0 0;font-size:12.5px;color:#e59a94}@media(max-width:860px){.auth{position:relative;display:block;overflow:hidden;height:100vh;height:100svh}.auth-viz{position:absolute;inset:0}.ticker{-webkit-mask:none;mask:none}.auth-form{position:absolute;inset:0;z-index:2;flex:none;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 82% 40% at 50% 50%,rgba(6,7,8,.93) 30%,rgba(6,7,8,.6) 62%,transparent 100%)}.form-card{width:100%;max-width:320px;background:none;border:none;border-radius:0;padding:0}.form-title{font-size:21px;margin-bottom:16px}.form{gap:12px}.field input{padding:9px 12px}}@media(prefers-reduced-motion:reduce){.ticker-row{animation:none}}
