* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #0a0a0a;
  color: #e0e0e0;
  min-height: 100vh;
}

a { color: #f59e0b; text-decoration: none; }
a:hover { text-decoration: underline; }

.topbar {
  background: #0d0d14;
  border-bottom: 1px solid #1a1a2e;
}
.topbar-inner {
  max-width: 1080px; margin: 0 auto; padding: 14px 24px;
  display: flex; align-items: center; justify-content: space-between;
}
.logo {
  font-size: 24px; font-weight: 800;
  background: linear-gradient(135deg,#f59e0b,#ef4444);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}

.auth-wrap { max-width: 560px; margin: 40px auto; padding: 0 24px; }
.auth-card {
  background: #1a1a2e; border: 1px solid #2a2a4a; border-radius: 16px; padding: 32px;
}
.auth-card h1 { font-size: 22px; margin-bottom: 6px; }
.auth-card .sub { color: #888; font-size: 14px; margin-bottom: 22px; }

.group { margin-bottom: 16px; }
.group label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .5px; color: #aaa; margin-bottom: 6px; }
.inp { width: 100%; padding: 12px 14px; background: #0d0d1a; border: 1px solid #333;
  border-radius: 8px; color: #fff; font-size: 14px; }
.inp:focus { outline: none; border-color: #f59e0b; }
.hint { font-size: 11px; color: #666; margin-top: 4px; display: block; }

.btn { width: 100%; padding: 13px; border: none; border-radius: 10px; font-size: 15px;
  font-weight: 700; cursor: pointer; background: linear-gradient(135deg,#f59e0b,#ef4444); color: #fff; }
.btn:hover { box-shadow: 0 6px 20px rgba(245,158,11,.3); }
.btn.ghost { background: #2a2a4a; color: #ccc; margin-top: 10px; }
.btn:disabled { opacity: .5; cursor: not-allowed; }

.result { display: none; background: #0d0d1a; border: 1px solid #2a2a4a; border-radius: 10px;
  padding: 16px; margin-top: 16px; font-size: 13px; line-height: 1.6; }
.result.ok { border-color: rgba(34,197,94,.4); display: block; }
.result.err { border-color: rgba(239,68,68,.4); display: block; }
.result .api-key { font-family: 'SF Mono',monospace; background: #1a1a2e; padding: 8px 10px;
  border-radius: 6px; color: #f59e0b; display: inline-block; margin: 6px 0; word-break: break-all; }

.tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.tabs a { flex: 1; text-align: center; padding: 10px 0; border-radius: 10px; font-size: 14px; font-weight: 700; }
.tabs a.active { background: linear-gradient(135deg,#f59e0b,#ef4444); color: #fff; }
.tabs a.inactive { background: #14141f; color: #999; border: 1px solid #2a2a4a; }

.ai-box { background:#14141f; border:1px solid #1f1f33; border-radius:12px; padding:20px; margin-top:16px; }
.ai-box h2 { font-size:16px; color:#f59e0b; margin-bottom:8px; }
.ai-box p { color:#999; font-size:13px; margin-bottom:12px; }
.ai-examples { background:#0d0d1a; border-radius:8px; padding:12px; font-size:12px; color:#8ab4f8;
  font-family:'SF Mono',monospace; margin-bottom:12px; line-height:1.7; }
.divider { text-align:center; color:#555; font-size:12px; margin:18px 0; text-transform:uppercase; letter-spacing:1px; }

.or-row { display:flex; align-items:center; gap:14px; color:#555; font-size:12px; margin:18px 0; }
.or-row::before, .or-row::after { content:''; flex:1; height:1px; background:#1a1a2e; }
