/* Noryk · private beta access. */
.beta-login-dialog { width:min(870px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid #ffffff26; border-radius:25px; color:#f2ebff; background:#150f20; box-shadow:0 36px 120px #0009; }
.beta-login-dialog::backdrop { background:#0b0713db; backdrop-filter:blur(12px); }
.beta-login-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-width:0; }
.beta-login-close { position:absolute; z-index:3; top:17px; right:17px; display:grid; place-items:center; width:38px; height:38px; padding:10px; border:1px solid #ffffff1c; border-radius:50%; background:#21182f; color:#dfc9f3; transition:background .2s,border-color .2s; }
.beta-login-close:hover { background:#30213f; border-color:#b88cff8c; }
.beta-login-dialog svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.beta-login-intro { position:relative; isolation:isolate; display:flex; flex-direction:column; min-width:0; padding:48px 35px 34px; overflow:hidden; background:radial-gradient(ellipse at 15% 90%,#9b62ff35,transparent 64%),linear-gradient(145deg,#251335,#150c24); border-right:1px solid #ffffff0e; }
.beta-login-intro::after { content:''; position:absolute; z-index:-1; right:-130px; bottom:35px; width:350px; height:350px; border:1px solid #b88cff23; border-radius:50%; box-shadow:0 0 0 36px #b88cff07,0 0 0 72px #b88cff04; pointer-events:none; }
.beta-login-brand { width:142px; }
.beta-phase-badge { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; margin-top:41px; padding:6px 10px; border:1px solid #b88cff35; border-radius:100px; color:#d4b8f5; font-size:9px; line-height:1.5; font-weight:600; letter-spacing:.1em; }
.beta-phase-badge>span { width:5px; height:5px; flex:none; border-radius:50%; background:#bb8bff; box-shadow:0 0 10px #b88cff80; }
.beta-login-statement { margin-top:25px; font:500 30px/1.2 var(--font-display); letter-spacing:-.045em; }
.beta-login-statement>span { color:#b88cff; }
.beta-login-intro-copy { margin-top:20px; max-width:270px; color:#bfb0d0; font-size:12px; line-height:1.8; }
.beta-login-intro-bottom { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:45px; color:#bca8cf; font-size:10px; }
.beta-login-intro-bottom svg { width:15px; height:15px; }
.beta-login-content { min-width:0; padding:47px 38px 30px; }
.beta-login-eyebrow { margin-bottom:18px; color:#b89ecf; font-size:9px; line-height:1.5; font-weight:600; letter-spacing:.12em; }
.beta-login-content h2 { padding-right:4px; font-size:30px; line-height:1.16; letter-spacing:-.045em; }
#login-description { margin-top:14px; color:#bfb1cd; font-size:12px; line-height:1.75; }
#login-form { margin-top:26px; }
.beta-login-label { display:block; margin:20px 0 8px; color:#e5d9f0; font-size:12px; line-height:1.4; font-weight:500; }
.beta-login-label:first-child { margin-top:0; }
.beta-login-input-wrap { display:flex; align-items:center; gap:11px; min-width:0; min-height:51px; padding:0 13px; border:1px solid #7053846b; border-radius:10px; background:#21172e; color:#a78abf; transition:border-color .2s,box-shadow .2s; }
.beta-login-input-wrap:focus-within { border-color:#b88cff; box-shadow:0 0 0 3px #b88cff12; }
.beta-login-input-wrap:has(input[aria-invalid="true"]) { border-color:#e3a0c2; }
.beta-login-input-wrap>svg { width:18px; height:18px; }
.beta-login-input-wrap input { display:block; width:100%; min-width:0; height:49px; margin:0; padding:0; border:0; outline:0; border-radius:0; color:#f1e8fa; background:transparent; font:400 16px/1.4 var(--font-text); box-shadow:none; }
.beta-login-input-wrap input:focus-visible { outline:0; }
.beta-login-input-wrap input::placeholder { color:#aa96ba; font-size:12px; opacity:1; }
.beta-password-toggle { display:grid; place-items:center; width:34px; height:38px; flex:none; margin-right:-5px; padding:8px; border:0; border-radius:6px; color:#bfa5d3; background:transparent; }
.beta-password-toggle:hover { color:#e1c5ff; background:#b88cff0e; }
.beta-password-toggle svg { width:18px; height:18px; }
.beta-password-toggle .beta-eye-closed { display:none; }
.beta-password-toggle[aria-pressed="true"] .beta-eye-open { display:none; }
.beta-password-toggle[aria-pressed="true"] .beta-eye-closed { display:block; }
.beta-login-submit { width:100%; justify-content:space-between; gap:18px; margin-top:24px; padding-inline:19px; border-radius:10px; font-size:13px; }
.beta-login-submit svg { width:19px; height:19px; stroke-width:1.8; }
.beta-login-feedback { margin-top:17px; padding:12px 14px; border:1px solid #d596be35; border-radius:9px; color:#f1c5df; background:#8d466219; font-size:12px; line-height:1.65; }
.beta-login-feedback:focus-visible { outline:2px solid #dba9e8; outline-offset:3px; }
.beta-login-help { margin-top:26px; padding-top:22px; border-top:1px solid #ffffff12; color:#b6a5c5; font-size:11px; line-height:1.75; }
.beta-login-help>span { display:block; color:#decfea; font-weight:500; }
.beta-login-help p { margin-top:5px; }
.beta-login-local-note { margin-top:20px; color:#ad98bc; font-size:9px; line-height:1.7; }
.beta-access-note { display:flex; align-items:flex-start; gap:9px; color:inherit; font-size:12px; line-height:1.65; }
.beta-access-note>svg { width:17px; height:17px; flex:none; margin-top:2px; fill:none; stroke:currentColor; stroke-width:1.5; }
.beta-login-button { gap:14px; }
.beta-login-button svg { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:700px) {
  .beta-login-dialog { width:min(460px,calc(100% - 28px)); max-height:calc(100dvh - 28px); border-radius:20px; }
  .beta-login-layout { grid-template-columns:minmax(0,1fr); }
  .beta-login-intro { display:block; padding:25px 27px 23px; border-right:0; border-bottom:1px solid #ffffff12; }
  .beta-login-brand { width:121px; }
  .beta-phase-badge { margin-top:11px; font-size:8px; }
  .beta-login-statement,.beta-login-intro-copy,.beta-login-intro-bottom { display:none; }
  .beta-login-content { padding:27px; }
  .beta-login-eyebrow { margin-bottom:13px; }
  .beta-login-content h2 { font-size:28px; }
  #login-description { margin-top:13px; font-size:12px; }
  .beta-login-close { top:16px; right:16px; }
  #login-form { margin-top:24px; }
}
@media (max-width:360px) {
  .beta-login-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
  .beta-login-intro { padding:23px 22px 19px; }
  .beta-login-content { padding:24px 22px; }
  .beta-login-content h2 { font-size:25px; }
  .beta-login-label { font-size:11px; }
  .beta-login-input-wrap { gap:8px; padding-inline:11px; }
  .beta-login-local-note { font-size:9px; }
}
