/* Pantalla de acceso y fila de sesión del lobby */
.auth-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 30%,rgba(28,40,96,.82),rgba(4,6,15,.94) 70%)}
.auth-overlay[hidden]{display:none}
.auth-panel{width:min(420px,100%);max-height:96vh;overflow:auto;padding:22px 24px 18px;font-family:var(--hudf,'Exo 2',Arial,sans-serif);color:#fff;background:linear-gradient(135deg,rgba(10,14,30,.97),rgba(20,27,54,.94));border-top:3px solid var(--volt,#ffdc3a);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.auth-logo{font-family:var(--pix,'Press Start 2P','Arial Black',sans-serif);font-size:clamp(15px,3.4vw,20px);line-height:1.35;text-align:center;letter-spacing:.04em}
.auth-logo b{color:var(--volt,#ffdc3a)}
.auth-tag{margin:4px 0 14px;text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.6}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px}
.auth-tabs button{padding:9px 0;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:13px;background:rgba(255,255,255,.08);border-bottom:3px solid transparent}
.auth-tabs button[aria-selected="true"]{background:rgba(255,220,58,.14);border-bottom-color:var(--volt,#ffdc3a);color:var(--volt,#ffdc3a)}
.auth-form{display:flex;flex-direction:column;gap:10px}
.auth-form[hidden],.auth-tabs[hidden],.auth-sep[hidden],.auth-guest[hidden]{display:none}
.af{display:flex;flex-direction:column;gap:4px}
.af > span:first-child{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.auth-form input:not([type=checkbox]){width:100%;padding:10px 12px;font:600 16px var(--hudf,'Exo 2',Arial,sans-serif);color:#fff;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.18);outline:none;user-select:text;-webkit-user-select:text}
.auth-form input:not([type=checkbox]):focus{border-color:var(--volt,#ffdc3a)}
.auth-form input[aria-invalid="true"]{border-color:var(--red,#ff3b56)}
.pw{display:flex;gap:6px}
.pw input{flex:1;min-width:0}
.pw-toggle{padding:0 12px;font-size:12px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.18)}
.err{min-height:15px;font-size:12.5px;font-weight:700;color:#ff8093}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:#ffdc3a}
.auth-msg{min-height:18px;font-size:13.5px;font-weight:700;color:#ff8093;text-align:center}
.auth-submit,.auth-guest{width:100%;padding:12px 14px;font-family:var(--pix,'Press Start 2P','Arial Black',sans-serif);font-size:13px;letter-spacing:.03em}
.auth-submit{color:#1a1300;background:linear-gradient(135deg,#ffe36a,var(--volt,#ffdc3a))}
.auth-submit:disabled{opacity:.6;cursor:wait}
.auth-guest{color:#fff;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.28)}
.auth-guest:hover:not(:disabled){border-color:var(--ice,#38e4ff);color:var(--ice,#38e4ff)}
.auth-sep{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.auth-sep::before,.auth-sep::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.3)}
.auth-note{margin-top:12px;font-size:11.5px;line-height:1.4;text-align:center;opacity:.55}
.sessrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.07)}
.sessrow[hidden]{display:none}
.sessrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}
.sessrow button{flex:none;padding:3px 9px;font-size:11px;font-weight:800;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3)}
.sessrow button:hover{background:var(--red,#ff3b56);border-color:var(--red,#ff3b56)}
.sessrow button.armed{background:var(--red,#ff3b56);border-color:var(--red,#ff3b56)}

.auth-emblem{display:block;margin:0 auto 8px;border-radius:20%;box-shadow:0 0 16px rgba(120,235,255,.4)}

.auth-link{background:none;border:0;padding:0;margin:-2px 0 2px;color:#38e4ff;font:600 13px var(--hudf,'Exo 2',Arial,sans-serif);text-align:left;cursor:pointer;text-decoration:underline}.auth-link:hover{color:#fff}
.auth-form .chk a{color:#38e4ff}
