/* Recruitment — final theme layer, loaded after app.css / final.css / public-page.css.
   Aligns the shadcn tokens and every journey screen with assets/css/frvg-ui.css
   (the same look as the public site and the pilot checklist). */

:root {
  --background: #16171a;
  --foreground: #f2f3f5;
  --card: #202123;
  --card-foreground: #f2f3f5;
  --popover: #202123;
  --popover-foreground: #f2f3f5;
  --primary: #f1c933;
  --primary-foreground: #111111;
  --secondary: #2a2b2f;
  --secondary-foreground: #f2f3f5;
  --accent: #2a2b2f;
  --accent-foreground: #f2f3f5;
  --muted-foreground: #9a9ca3;
  --destructive: #ff5d5d;
  --success: #3ccf7a;
  --border: #34363b;
  --input: #44464c;
  --ring: rgba(241, 201, 51, 0.55);
  --radius: 0.875rem;
  --font-sans: "Poppins", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* One type system everywhere (the old screens used Narkiss Hadash). */
html body, html body *:not(svg):not(path) { font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif !important; }
html body :is(.label-mono, .font-mono, [class*="-mono"], code, kbd, samp, .ui-tile .v, .rx-step-n, .rx-score-range, .journey-stage small) {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}
body, body:has(.recruitment-page) { background: #16171a !important; color: #f2f3f5; }
::selection { background: rgba(241, 201, 51, 0.35); }

/* ---------- Landing ---------- */
.rx-landing { background: #16171a; --muted: #9a9ca3; --radius: 14px; --border: #34363b; }
.rx-hero {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end;
  min-height: min(88svh, 820px); margin-top: calc(var(--header-h, 64px) * -1);
  background:
    linear-gradient(180deg, rgba(10, 11, 13, 0.6) 0%, rgba(10, 11, 13, 0.1) 40%, rgba(22, 23, 26, 0.9) 82%, #16171a 100%),
    linear-gradient(90deg, rgba(10, 11, 13, 0.75) 0%, rgba(10, 11, 13, 0) 65%),
    url("/assets/images/hero-flight-2.webp") center 60% / cover no-repeat;
}
.rx-hero-inner { padding-top: calc(var(--header-h, 64px) + 90px); padding-bottom: 44px; width: 100%; }
.rx-hero .ui-display span { display: block; color: var(--yellow, #f1c933); }
.rx-hero .ui-lead { color: #e2e4e8; }
.rx-requirements { margin-top: 38px; }
.rx-requirements .ui-tile { background: rgba(22, 23, 26, 0.74); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.rx-requirements .ui-tile .v { font-size: clamp(20px, 2.4vw, 26px); }

.rx-steps { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .rx-steps { grid-template-columns: 1fr; } }
.rx-step { display: flex; flex-direction: column; gap: 10px; }
.rx-step-art { aspect-ratio: 16 / 9; margin: -6px -6px 6px; border-radius: 10px; background: radial-gradient(260px 140px at 50% 60%, rgba(241, 201, 51, 0.12), transparent 70%), #1b1c1f; display: grid; place-items: center; overflow: hidden; }
.rx-step-art img { width: 72%; height: 82%; object-fit: contain; }
.rx-step-n { font-weight: 700; color: var(--yellow, #f1c933); font-size: 13px; }
.rx-step p, .rx-score p { margin: 0; color: var(--text-2, #c9cbd0); font-size: 14px; line-height: 1.65; }
.rx-score { position: relative; overflow: hidden; }
.rx-score::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.rx-score.is-direct::before { background: var(--green, #3ccf7a); }
.rx-score.is-academy::before { background: var(--yellow, #f1c933); }
.rx-score.is-retry::before { background: #9a9ca3; }
.rx-score-range { font-size: 30px; font-weight: 700; margin-bottom: 8px; }
.rx-score.is-direct .rx-score-range { color: var(--green, #3ccf7a); }
.rx-score.is-academy .rx-score-range { color: var(--yellow, #f1c933); }
.rx-score.is-retry .rx-score-range { color: var(--text-2, #c9cbd0); }
.rx-score .ui-h3 { margin-bottom: 6px; }
