@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/overdrive/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/overdrive/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  color-scheme: dark;
  --g-font: 'Manrope Variable', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --g-bg: #171b20;
  --g-surface: #20262d;
  --g-subtle: #2a323b;
  --g-text: #f2f4f6;
  --g-muted: #b4bec9;
  --g-border: #586472;
  --g-control-border: #82909e;
  --g-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23b4bec9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  --g-accent: #b5222c;
  --g-accent-hover: #951b24;
  --g-accent-ink: #ff969e;
  --g-on-accent: #fcfcfd;
  --g-radius: 12px;
  --g-radius-sm: 8px;
  --g-shadow: 0 12px 36px rgb(9 13 18 / 16%);
  /* Layer scale: navigation 20, action bars 30, dialogs 50, notices 60. */
  --g-z-nav: 20;
  --g-z-actions: 30;
  --g-z-dialog: 50;
  --g-z-notice: 60;
}
:root {
  --bs-body-font-family: var(--g-font);
  --bs-body-bg: var(--g-bg);
  --bs-body-color: var(--g-text);
  --bs-secondary-color: var(--g-muted);
  --bs-tertiary-bg: var(--g-subtle);
  --bs-border-color: var(--g-border);
  --bs-border-radius: var(--g-radius-sm);
  --bs-border-radius-lg: var(--g-radius);
  --bs-link-color: var(--g-accent-ink);
  --bs-link-hover-color: var(--g-accent-ink);
  --bs-emphasis-color: var(--g-text);
}
body { font-family: var(--g-font); background: var(--g-bg); color: var(--g-text); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--g-accent-ink); outline-offset: 4px; }
::selection { background: var(--g-accent); color: var(--g-on-accent); }
.btn-primary {
  --bs-btn-color: var(--g-on-accent);
  --bs-btn-bg: var(--g-accent);
  --bs-btn-border-color: var(--g-accent);
  --bs-btn-hover-color: var(--g-on-accent);
  --bs-btn-hover-bg: var(--g-accent-hover);
  --bs-btn-hover-border-color: var(--g-accent-hover);
  --bs-btn-active-bg: var(--g-accent-hover);
  --bs-btn-active-border-color: var(--g-accent-hover);
  --bs-btn-disabled-bg: var(--g-accent);
  --bs-btn-disabled-border-color: var(--g-accent);
}
.form-control, .form-select {
  color: var(--g-text);
  background-color: var(--g-surface);
  border-color: var(--g-control-border);
}
.form-check-input { border-color: var(--g-control-border); }
.form-select { --bs-form-select-bg-img: var(--g-select-chevron); }
.form-check-input:checked { background-color: var(--g-accent); border-color: var(--g-accent); }
.form-control:focus, .form-select:focus {
  color: var(--g-text);
  background-color: var(--g-surface);
  border-color: var(--g-accent-ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--g-accent-ink) 22%, transparent);
}
.form-control::placeholder { color: var(--g-muted); opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
