:root {
  --ink: #f5f5f7;
  --muted: #9a9aa0;
  --forest-950: #050505;
  --forest-900: #111113;
  --forest-800: #1c1c1e;
  --forest-700: #ff5a00;
  --forest-100: #2a1710;
  --forest-50: #15100d;
  --gold-700: #ff5a00;
  --gold-500: #ff6a00;
  --gold-200: #ffb07a;
  --gold-100: #24150e;
  --red: #ff5b57;
  --red-soft: #2a1414;
  --green: #36c98f;
  --green-soft: #10251d;
  --line: #2c2c30;
  --paper: #121214;
  --canvas: #080809;
  --shadow: 0 18px 60px rgba(0,0,0,.34);
}

html { color-scheme: dark; }
body { background: var(--canvas); color: var(--ink); }
a { color: #ff7b29; }

.brand img { filter: none; }
.brand-word strong {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 850;
  letter-spacing: -.02em;
  color: #fff;
}
.brand-word strong::first-letter { color: #ff6500; }
.brand-word small { color: #77777d; }

.button.primary,
.button.gold {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(105deg, #ff6a00 0%, #ff3d00 48%, #e31e24 100%);
  box-shadow: 0 8px 26px rgba(255,83,0,.18);
}
.button.primary:hover,
.button.gold:hover { filter: brightness(1.08); }
.button.secondary {
  color: #f5f5f7;
  background: #151517;
  border-color: #35353a;
}
.button.danger { color: #ff8c88; background: #241313; border-color: #5f2927; }

.auth-aside {
  background:
    radial-gradient(circle at 20% 15%, rgba(255,91,0,.20), transparent 26%),
    radial-gradient(circle at 90% 80%, rgba(227,30,36,.12), transparent 31%),
    #050505;
}
.auth-aside::after { content: "F&O"; right: -45px; bottom: -30px; color: rgba(255,255,255,.035); font: 900 190px/1 Inter, sans-serif; }
.auth-copy h1 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 850; letter-spacing: -.045em; }
.auth-copy .eyebrow { color: #ff6a00; }
.auth-main { background: #080809; }
.auth-card {
  color: #f5f5f7;
  background: linear-gradient(180deg, #141416, #0f0f11);
  border-color: #2f2f33;
  box-shadow: 0 30px 80px rgba(0,0,0,.42);
}
.auth-card h2 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 820; letter-spacing: -.025em; }
.auth-card > p { color: #9a9aa0; }
.field label, .field-label { color: #b2b2b7; }
.field input, .field select, .field textarea, .filter-control {
  color: #f5f5f7;
  background: #0b0b0d;
  border-color: #343438;
}
.field input:focus, .field select:focus, .field textarea:focus, .filter-control:focus {
  border-color: #ff6500;
  box-shadow: 0 0 0 3px rgba(255,101,0,.14);
}
.field input:disabled { color: #77777d; background: #121214; }
.checkbox-row { color: #b7b7bc; }
.checkbox-row input, .area-option input { accent-color: #ff5a00; }
.form-message.error { color: #ffaaa6; background: #271313; border-color: #5a2725; }
.form-message.success { color: #75deb6; background: #10251d; border-color: #244d3d; }
.system-warning { color: #ffc18c; background: #21150d; border-color: #5e3317; }

.sidebar {
  background:
    radial-gradient(circle at 10% 0%, rgba(255,91,0,.10), transparent 24%),
    #050505;
  border-right: 1px solid #232326;
}
.sidebar .brand { border-bottom-color: #232326; }
.sidebar .brand-word small, .sidebar-user small { color: #77777d; }
.sidebar-nav { gap: 8px; }
.nav-button { color: #8d8d93; border: 1px solid transparent; }
.nav-button:hover { color: #fff; background: #121214; border-color: #252529; }
.nav-button.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(255,90,0,.17), rgba(227,30,36,.07));
  border-color: rgba(255,90,0,.28);
}
.nav-icon { color: #ff6500; }
.sidebar-footer { border-top-color: #232326; }

.app-main {
  background:
    radial-gradient(circle at 78% 0%, rgba(255,91,0,.05), transparent 24%),
    #080809;
}
.page-heading h1 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 840; letter-spacing: -.035em; }
.page-heading p { color: #8d8d93; }
.kicker { color: #ff6500; }

.metric-card,
.card,
.question-card,
.simulation-choice {
  color: #f5f5f7;
  background: linear-gradient(180deg, #141416, #101012);
  border-color: #2c2c30;
  box-shadow: 0 12px 34px rgba(0,0,0,.17);
}
.metric-card::after {
  background: radial-gradient(circle, rgba(255,101,0,.11), transparent 65%);
}
.metric-card strong { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 820; letter-spacing: -.03em; }
.metric-card span, .metric-card small { color: #909096; }
.card-header h2, .card h2, .simulation-choice h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 780;
  letter-spacing: -.02em;
}
.card-header p, .simulation-choice p { color: #8f8f95; }
.empty-state { color: #94949a; background: #101012; border-color: #343438; }

.bar { background: #2a2a2e; }
.bar > span { background: linear-gradient(90deg, #ff6a00, #e31e24); }
.performance-row .label, .performance-row strong { color: #dddde1; }

.table-wrap { border-color: #303034; }
.data-table th { color: #a2a2a8; background: #101012; }
.data-table td { border-top-color: #29292d; }
.data-table tbody tr:hover { background: #151517; }
.rank-number { color: #ff8d46; background: #28170e; }
.badge { color: #ff9860; background: #29170f; }
.badge.gold { color: #ffad73; background: #28170e; }

.question-text { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #f0f0f2; }
.alternative {
  color: #e9e9ec;
  background: #0c0c0e;
  border-color: #343438;
}
.alternative:hover:not(:disabled) { border-color: #ff6500; background: #1b120d; }
.alternative.correct { color: #dffbed; border-color: #2b8a63; background: #10251d; }
.alternative.wrong { color: #ffe2df; border-color: #8b3c39; background: #2a1414; }
.letter { color: #ff8c45; background: #25150e; }
.answer-feedback.correct { color: #91e6c5; background: #10251d; }
.answer-feedback.wrong { color: #ffaaa6; background: #2a1414; }

.area-picker { background: #0d0d0f; border-color: #303034; }
.area-option { color: #d8d8dc; background: #151517; }

.pilot-banner { color: #ffc18c !important; background: #21150d !important; border-color: #5e3317 !important; }
.pilot-invite { color: #f5f5f7 !important; background: #111113 !important; border-color: #303034 !important; }
.pilot-link { color: #f5f5f7; background: #09090b; border-color: #343438 !important; }
.pilot-participant { border-top-color: #2b2b2f !important; }

.dialog-head, dialog { color: #f5f5f7; background: #111113; }
dialog { border: 1px solid #303034; }
dialog::backdrop { background: rgba(0,0,0,.78); }
.dialog-head { border-bottom-color: #303034; }
.icon-button { color: #fff; background: #18181a; border-color: #35353a; }
.detail { background: #18181a; }

.legal-page {
  color: #f5f5f7;
  background: #111113;
  border-color: #303034;
}
.legal-page h1, .legal-page h2 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 820; letter-spacing: -.025em; }
.legal-page p, .legal-page li { color: #b1b1b6; }
.legal-status { color: #ffc18c; border-left-color: #ff6500; background: #21150d; }

.toast { background: #18181b; border: 1px solid #35353a; }

@media (max-width: 760px) {
  .sidebar { border-right: 0; border-top: 1px solid #252529; }
  .mobile-topbar { padding-bottom: 12px; border-bottom: 1px solid #232326; }
}
