@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter.woff2) format("woff2-variations")}
@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/rajdhani-600.woff2) format("woff2")}
@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/rajdhani-700.woff2) format("woff2")}

:root {
  --bg:#fff; --surface:#f6f6fe; --surface-2:#eeeefc; --border:#e1e1f3;
  --text:#1a1f45; --muted:#535a7d; --navy:#1e2a78; --indigo:#3b4bd8; --violet:#7b4fe0;
    --danger:#b42318; --success:#067647; --amber:#8f5a00;
  --radius:14px;
  --font-sans:"Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-display:"Rajdhani", "Inter Variable", ui-sans-serif, system-ui, sans-serif;
  --mono:ui-monospace, SFMono-Regular, Menlo, monospace;
  --panel:#fff; --header-bg:#ffffffe6; --link:var(--indigo); --hover:#f6f6fe;
  --ok-fg:#067647; --ok-bg:#ecfdf3; --ok-bd:#abefc6;
  --warn-fg:#8f5a00; --warn-bg:#fff7e8; --warn-bd:#f2d7a6;
  --bad-fg:#b42318; --bad-bg:#fef3f2; --bad-bd:#fecdca;
  --shadow:0 1px 2px #1a1f4508, 0 12px 32px -20px #1e2a7826;
  --page-glow:#e9e7ff;
  color-scheme:light;
}
/* Dark palette from the site's own dark sections (ink / dark / on-dark). */
:root[data-theme="dark"] {
  --bg:#0b0a1f; --surface:#141538; --surface-2:#1b1d55; --border:#2b2e72;
  --text:#edebff; --muted:#b7b9e6; --navy:#e6e4ff; --indigo:#7c8cff; --violet:#b39dff;
  --panel:#12124a; --header-bg:#0b0a1fe6; --hover:#1b1d55;
  --ok-fg:#6ce9a6; --ok-bg:#0b2a1c; --ok-bd:#1b5a3a;
  --warn-fg:#ffd99a; --warn-bg:#2d2208; --warn-bd:#6b4d12;
  --bad-fg:#fda29b; --bad-bg:#2c0f0d; --bad-bd:#7a271f;
  --shadow:0 1px 2px #0006, 0 12px 32px -20px #000a;
  --page-glow:#1e2370;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:#0b0a1f; --surface:#141538; --surface-2:#1b1d55; --border:#2b2e72;
    --text:#edebff; --muted:#b7b9e6; --navy:#e6e4ff; --indigo:#7c8cff; --violet:#b39dff;
    --panel:#12124a; --header-bg:#0b0a1fe6; --hover:#1b1d55;
    --ok-fg:#6ce9a6; --ok-bg:#0b2a1c; --ok-bd:#1b5a3a;
    --warn-fg:#ffd99a; --warn-bg:#2d2208; --warn-bd:#6b4d12;
    --bad-fg:#fda29b; --bad-bg:#2c0f0d; --bad-bd:#7a271f;
    --shadow:0 1px 2px #0006, 0 12px 32px -20px #000a;
    --page-glow:#1e2370;
    color-scheme:dark;
  }
}
/* Gradient stays the original (darker) pair so white button text keeps its contrast in both themes. */
:root { --grad:linear-gradient(90deg, #3b4bd8, #7b4fe0); }
.logo-dark { display:none; }
:root[data-theme="dark"] .logo-light { display:none; }
:root[data-theme="dark"] .logo-dark { display:block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-light { display:none; }
  :root:not([data-theme="light"]) .logo-dark { display:block; }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.6 var(--font-sans);
       -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-family:var(--font-display); color:var(--navy); letter-spacing:-.005em; font-weight:700; line-height:1.1; }
[hidden] { display:none !important; }

.btn { font:inherit; font-weight:600; cursor:pointer; border:1.5px solid transparent; border-radius:999px;
       padding:.6rem 1.3rem; display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
       transition:transform .15s, box-shadow .15s, border-color .15s; }
.btn:hover:not([disabled]) { transform:translateY(-1px); }
.btn-primary { background:var(--grad); color:#fff; box-shadow:0 8px 22px -10px #3b4bd8b3; }
.btn-secondary { background:var(--panel); color:var(--indigo); border-color:var(--border); }
.btn-sm { padding:.4rem .95rem; font-size:.9rem; }
.btn[disabled] { opacity:.45; cursor:not-allowed; }

input, textarea, select { font:inherit; color:var(--text); background:var(--bg); border:1px solid var(--border);
       border-radius:10px; padding:.6rem .8rem; width:100%; }
input:focus, textarea:focus, select:focus { outline:2px solid color-mix(in srgb, var(--indigo) 35%, transparent);
       border-color:var(--indigo); }
