/* Shared login shell — same blue-black world as Galaxy Guide so the login
   screen doesn't feel like a different app before you're even in one. */
:root {
  --bg: #0A0E1C;
  --surface: #131A2E;
  --surface2: #1A2238;
  --text: #EDEFFC;
  --muted: #A6B0D6;
  --border: #262E48;
  --brand-blue: #3B7BFF;
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
}
* { box-sizing: border-box; }
html, body {
  height: 100%; margin: 0;
  font-family: 'DM Sans', system-ui, sans-serif;
  background: var(--bg); color: var(--text);
}
.shell-wrap {
  min-height: 100%;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.shell-card {
  width: 100%; max-width: 380px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
  padding: 32px 28px;
}
.shell-wordmark {
  font-family: 'Sora', sans-serif;
  font-weight: 800; font-size: 1.4rem;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}
.shell-wordmark .rainbow {
  background: linear-gradient(90deg,#8B5CF6,#3B82F6,#22D3EE,#34D399,#F59E0B,#F43F5E);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.shell-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.shell-lbl {
  font-size: 0.74rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: var(--muted);
}
.shell-input, .shell-select {
  width: 100%; font-family: inherit; font-size: 0.95rem; color: var(--text);
  background: var(--surface2); border: 1.5px solid var(--border);
  border-radius: 12px; padding: 13px 15px; outline: none;
  transition: border-color .2s;
}
.shell-input:focus, .shell-select:focus { border-color: var(--brand-blue); }
.shell-btn {
  width: 100%; font-family: inherit; font-size: 0.95rem; font-weight: 700;
  padding: 14px 16px; border-radius: 12px; border: none;
  background: var(--brand-blue); color: #fff; cursor: pointer;
  margin-top: 6px; transition: filter .15s, opacity .15s;
}
.shell-btn:hover:not(:disabled) { filter: brightness(1.08); }
.shell-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.shell-error {
  display: none; font-size: 0.85rem; color: #FCA5A5;
  background: rgba(220,38,38,0.1); border: 1px solid rgba(220,38,38,0.3);
  border-radius: 10px; padding: 10px 12px; margin-bottom: 16px;
}
