/* Nova skin — design tokens, mapped onto the same custom-property names as
   /public/css/tokens.css (classic skin). Values taken 1:1 from swapuz.com's
   own CSS custom properties (research/swapuz/css/3me1yb8nz7w8j.css :root
   block), not approximated — confirmed against actual component usage:
   .buttonPrimary { color:var(--grey); background:var(--green) } is their
   real primary-CTA rule, so green is the brand/signal color, not orange.
   .buttonPrimaryError { background:var(--orange) } confirms orange is their
   error/danger color, not a general accent. Fully separate file — classic's
   tokens.css is never imported or modified by nova. */
:root {
  --ink: #151416;      /* swapuz --background */
  --panel: #29282a;    /* swapuz --grey */
  --panel-2: #313032;  /* swapuz --input-background */
  --panel-3: #3e3d3f;  /* swapuz --input-background-hover */
  --line: #363537;     /* swapuz --light-grey */
  --line-2: #3e3d3f;
  --bone: #ffffff;              /* swapuz --white-text */
  --stone: rgba(255,255,255,.64);  /* swapuz --dark-text */
  --faint: rgba(255,255,255,.4);
  --signal: #02c076;    /* swapuz --green — the actual primary/CTA color */
  --signal-2: #01ad6a;  /* swapuz --green-hover */
  --signal-ink: #29282a; /* text color swapuz puts on top of a green button (--grey) */
  --btn: #ffffff;       /* filled buttons are white on this skin (was --signal green) */
  --btn-ink: #141414;
  --btn-hover: #e9e9e9;
  --ok: #02c076;        /* swapuz has no separate success color — green doubles as it */
  --bad: #ff783e;       /* swapuz --orange — their actual error/danger color */
  --bad-2: #e56c38;     /* swapuz's buttonPrimaryError:hover */
  /* Market "price is down" red. swapuz's --orange (--bad) is their error/danger
     color and reads orange, not red, next to a green tick — falling rates get
     their own token so error UI keeps the orange it was designed with. */
  --down: #f6465d;
  --pending: #f0b90b;   /* in-progress status (withdrawal Processing) — same yellow as KYC review */
  --warn: #473129;      /* swapuz's input-error outline color */
  --info: #217eff;      /* swapuz --blue */
  --display: var(--font);
  --font: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: var(--font); /* numbers use the same face with tabular figures, not a code font */
  --addr: var(--font);
  --radius-sm: 2px;
  --radius: 4px;
  --radius-lg: 6px;
  --radius-pill: 4px;
}

/* Scrollbars in the skin's own colors (page + every inner scroller) instead of the OS grey. */
html { scrollbar-color: var(--line-2) var(--ink); }
* { scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
html::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 4px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background-color: var(--stone); }
::-webkit-scrollbar-corner { background: transparent; }

/* Input fields across the whole skin: a slightly brighter outline than the general --line-2,
   so text fields read as fields. Only border COLOR is touched (fields without a border stay so). */
:root { --field-line: #5a595c; }
body.nova input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="submit"]):not([type="button"]),
body.nova select, body.nova textarea,
body.nova .nsel__btn, body.nova .hx-range, body.nova .idv-date, body.nova .lk-kyc__pick {
  border-color: var(--field-line) !important;
}
body.nova input:not([type="checkbox"]):not([type="radio"]):hover, body.nova input:not([type="checkbox"]):not([type="radio"]):focus,
body.nova select:focus, body.nova textarea:focus,
body.nova .nsel__btn:hover, body.nova .nsel.is-open .nsel__btn, body.nova .hx-range:hover, body.nova .hx-range:focus-within,
body.nova .idv-date:hover, body.nova .idv-date.is-open, body.nova .lk-kyc__pick:hover {
  border-color: var(--stone) !important;
}
body.nova .is-miss, body.nova .is-miss .nsel__btn, body.nova .idv-dob.is-miss .idv-date { border-color: var(--down) !important; }
body.nova .idv-date .idv-date__in, body.nova .hx-range .hx-range__in { border-color: transparent !important; }

/* Type system: one face (Inter), 7 sizes (12/14/16/20/28/40/56), 3 weights (400/500/600).
   Figures are tabular everywhere so prices, balances and table columns line up and don't jitter. */
html { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1, "cv11" 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.nova { font-family: var(--font); }
body.nova :is(h1, h2, h3, h4, h5, h6, strong, b, th) { font-weight: 600; }
body.nova :is(button, input, select, textarea, optgroup) { font-family: inherit; }
