/* Auth screen */
#auth-screen {
  position: fixed; inset: 0; z-index: 2000;
  background: var(--bg-grad);
  background-attachment: fixed;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  transition: opacity 0.5s var(--spring-soft), transform 0.5s var(--spring-soft);
}
#auth-screen.hidden { opacity: 0; pointer-events: none; transform: scale(0.96) translateY(-8px); }

.auth-box {
  width: 100%; max-width: 400px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: var(--blur);
  -webkit-backdrop-filter: var(--blur);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 28px;
  padding: 40px 36px;
  box-shadow: 0 32px 80px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.18);
  animation: fadeUp 0.6s var(--spring) both;
  position: relative;
  overflow: hidden;
}
.auth-box::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(ellipse at 30% 20%, rgba(232,244,77,0.06) 0%, transparent 50%),
              radial-gradient(ellipse at 70% 80%, rgba(167,139,250,0.06) 0%, transparent 50%);
  pointer-events: none;
}
.auth-logo { font-family: 'Bebas Neue', sans-serif; font-size: 52px; line-height: 1; letter-spacing: 2px; margin-bottom: 8px; position: relative; }
.auth-logo span { color: var(--accent); }
.auth-subtitle { font-size: 11px; color: var(--muted2); letter-spacing: 3px; text-transform: uppercase; margin-bottom: 32px; }
.auth-mode-note{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:-18px auto 22px;padding:7px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text2);font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;line-height:1.25;text-align:center}
.auth-mode-note[hidden]{display:none}.auth-mode-note.local{border-color:rgba(232,244,77,.25);background:rgba(232,244,77,.10);color:var(--accent)}.auth-mode-note.prototype{border-color:rgba(255,176,77,.26);background:rgba(255,176,77,.10);color:#ffcf77}.auth-mode-note.cloud{border-color:rgba(96,212,244,.28);background:rgba(96,212,244,.12);color:var(--blue)}
.auth-tabs { display: flex; gap: 4px; background: rgba(0,0,0,0.3); border-radius: 12px; padding: 4px; margin-bottom: 28px; }
.auth-tab { flex: 1; padding: 9px; border: none; background: transparent; border-radius: 9px; color: var(--muted2); font-family: -apple-system, system-ui, sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.3s var(--spring); letter-spacing: 0.3px; }
.auth-tab:active { transform: scale(0.96); }
.auth-tab.active { background: rgba(255,255,255,0.12); color: var(--text); box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.15); }
.auth-form { display: flex; flex-direction: column; gap: 12px; }
.auth-field { display: flex; flex-direction: column; gap: 6px; }
.auth-label { font-size: 10px; color: var(--muted2); letter-spacing: 2px; text-transform: uppercase; }
.auth-input { padding: 13px 16px; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; color: var(--text); font-family: -apple-system, system-ui, sans-serif; font-size: 14px; outline: none; transition: border-color 0.2s, box-shadow 0.2s; -webkit-tap-highlight-color: transparent; }
.auth-input:focus { border-color: rgba(232,244,77,0.5); box-shadow: 0 0 0 3px rgba(232,244,77,0.10); }
.auth-input::placeholder { color: var(--muted); }
.auth-btn { margin-top: 8px; padding: 15px; background: var(--accent); border: none; border-radius: 14px; color: #000; font-family: -apple-system, system-ui, sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; letter-spacing: 0.5px; transition: all 0.2s var(--spring); box-shadow: 0 4px 16px rgba(232,244,77,0.3); -webkit-tap-highlight-color: transparent; }
.auth-btn:active { transform: scale(0.96); box-shadow: 0 0 0 3px rgba(232,244,77,0.25); }
.auth-link-btn{align-self:center;border:0;background:transparent;color:var(--blue);font-family:-apple-system,system-ui,sans-serif;font-size:12px;font-weight:800;cursor:pointer;padding:4px 8px;margin-top:-2px}.auth-link-btn[hidden]{display:none}.auth-link-btn:active{transform:scale(.97)}
.auth-oauth{margin-top:18px}.auth-oauth[hidden]{display:none}.auth-oauth-divider{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:1.4px;text-transform:uppercase}.auth-oauth-divider:before,.auth-oauth-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.10)}.auth-oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:var(--text);font-family:-apple-system,system-ui,sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:all .2s var(--spring);-webkit-tap-highlight-color:transparent}.auth-oauth-btn:active{transform:scale(.97);background:rgba(255,255,255,.10)}.auth-oauth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-oauth-icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#111;font-weight:950}.auth-oauth-note{margin-top:8px;color:var(--muted2);font-size:10px;line-height:1.35;text-align:center}
.auth-error { font-size: 12px; color: var(--red); text-align: center; min-height: 16px; margin-top: 4px; }
.auth-reset-note{margin-top:8px;color:var(--muted2);font-size:10px;line-height:1.35;text-align:center;font-weight:700}
.auth-reset-note[hidden]{display:none}
.auth-users { margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.08); }
.auth-users-label { font-size: 10px; color: var(--muted); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; }
.auth-user-list { display: flex; flex-direction: column; gap: 6px; }
.auth-user-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; cursor: pointer; transition: all 0.2s var(--spring); -webkit-tap-highlight-color: transparent; }
.auth-user-item:active { transform: scale(0.97); background: rgba(255,255,255,0.08); }
.auth-user-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: #000; flex-shrink: 0; }
.auth-user-name { font-size: 13px; font-weight: 600; flex: 1; }
.auth-user-hint { font-size: 10px; color: var(--muted2); }

@media (max-width: 600px) {
  .auth-box { padding: 28px 22px; }
}
