:root, [data-theme="dark"] {
  color-scheme: dark;
  --bg: #080D1C; --surface: #111827; --raised: #1B2438;
  --text: #F7F5FF; --muted: #B3BED0; --border: #46546B;
  --action: #9167FF; --on-action: #080D1C; --selected: #A77BFF;
  --cyan: #4FEAFF; --focus: #4FEAFF; --error: #FF9B9B;
  --success: #6DE0AA; --warning: #FFD580;
  --brand-gradient: linear-gradient(120deg, #4FEAFF, #9167FF 60%, #A77BFF);
  --font: Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-sm: 8px; --radius-card: 16px; --radius-pill: 999px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px;
  --space-4: 16px; --space-6: 24px; --space-8: 32px;
}
[data-theme="light"] {
  color-scheme: light;
  --bg: #F7F8FC; --surface: #FFFFFF; --raised: #ECEFF7;
  --text: #101729; --muted: #4B5870; --border: #738098;
  --action: #6740C5; --on-action: #FFFFFF; --selected: #6740C5;
  --cyan: #006A78; --focus: #6740C5; --error: #B42336;
  --success: #166841; --warning: #805200;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.55; }
button, input { font: inherit; }
.m-button { min-height: 48px; padding: 10px 22px; border: 1px solid transparent; border-radius: var(--radius-pill); background: var(--action); color: var(--on-action); font-weight: 650; cursor: pointer; }
.m-button.secondary { background: var(--surface); color: var(--text); border-color: var(--border); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.m-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-card); padding: 24px; }
.m-input { min-height: 48px; width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 12px 16px; }
.m-input[aria-invalid="true"] { border: 2px solid var(--error); }
.m-muted { color: var(--muted); }
.m-logo-panel { background: #080D1C; border-radius: 16px; padding: 24px; }
.m-logo-panel img { width: 100%; height: auto; display: block; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
