/* FastRank static design tokens + components (cache-busted via ?v=) */
:root, [data-theme="light"] {
  --bg: #f0f2f5; --bg-elev: rgba(255,255,255,.78); --stroke: rgba(11,15,20,.1);
  --text: #0B0F14; --muted: #5c6570; --accent: #9a4f1a; --emerald: #059669;
  --glow: rgba(154,79,26,.14); --glow-emerald: rgba(5,150,105,.12);
}
[data-theme="dark"] {
  --bg: #0B0F14; --bg-elev: rgba(20,27,36,.55); --stroke: rgba(255,255,255,.08);
  --text: #eef2f7; --muted: #8b95a5; --accent: #E8893F; --emerald: #2DD4A8;
  --glow: rgba(232,137,63,.2); --glow-emerald: rgba(45,212,168,.14);
}
html, body { background: var(--bg); color: var(--text); }
body {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  min-height: 100%;
  background-image:
    radial-gradient(1000px 520px at 8% -5%, var(--glow), transparent 58%),
    radial-gradient(800px 480px at 92% 5%, var(--glow-emerald), transparent 52%);
}
[data-theme="dark"] body {
  background-image:
    radial-gradient(1000px 520px at 8% -5%, var(--glow), transparent 58%),
    radial-gradient(800px 480px at 92% 5%, var(--glow-emerald), transparent 52%),
    radial-gradient(600px 400px at 50% 100%, rgba(20,27,36,.6), transparent 70%);
}
[data-theme="light"] body {
  background-image:
    radial-gradient(1000px 520px at 8% -5%, var(--glow), transparent 58%),
    radial-gradient(800px 480px at 92% 5%, var(--glow-emerald), transparent 52%),
    radial-gradient(520px 320px at 50% 100%, rgba(11,15,20,.06), transparent 72%);
}
.glass {
  background: var(--bg-elev); border: 1px solid var(--stroke);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
}
.btn-primary {
  background: linear-gradient(135deg, #E8893F 0%, #d9722a 45%, #2DD4A8 120%);
  color: #0B0F14; font-weight: 700;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn-primary:hover {
  transform: translateY(-1px); box-shadow: 0 10px 32px rgba(232,137,63,.35); filter: brightness(1.05);
}
.btn-primary:focus-visible, .btn-ghost:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}
.btn-ghost {
  background: var(--bg-elev); border: 1px solid var(--stroke);
  transition: border-color .15s, background .15s;
}
.btn-ghost:hover { border-color: rgba(232,137,63,.35); }
.fade-up { animation: fadeUp .55s ease both; }
@keyframes fadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.toast-enter { animation: toastIn .35s ease both; }
@keyframes toastIn { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
.badge-pro {
  background: linear-gradient(135deg, rgba(232,137,63,.22), rgba(45,212,168,.18));
  border: 1px solid rgba(232,137,63,.4);
}
.badge-starter {
  background: rgba(232,137,63,.12); border: 1px solid rgba(232,137,63,.25);
}
.pill-kits {
  background: linear-gradient(135deg, rgba(232,137,63,.15), transparent);
  border: 1px solid rgba(232,137,63,.25);
}
.pill-radar {
  background: linear-gradient(135deg, rgba(45,212,168,.12), transparent);
  border: 1px solid rgba(45,212,168,.28);
}
input, textarea, select {
  background: rgba(0,0,0,.22); border: 1px solid var(--stroke); color: var(--text);
}
[data-theme="light"] input, [data-theme="light"] textarea, [data-theme="light"] select {
  background: rgba(255,255,255,.9);
}
::placeholder { color: var(--muted); opacity: .8; }
[x-cloak] { display: none !important; }
.gradient-text {
  background: linear-gradient(135deg, #E8893F, #f0b878, #2DD4A8);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="light"] .gradient-text {
  background: linear-gradient(135deg, #7a3d12, #9a4f1a, #047857);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
@media (prefers-contrast: more) {
  [data-theme="light"] .gradient-text {
    background: none;
    color: #5c3210;
    -webkit-background-clip: unset;
    background-clip: unset;
  }
}
.pipeline-pulse { animation: pipePulse 1.2s ease-in-out infinite; }
@keyframes pipePulse { 0%,100% { opacity:.5; } 50% { opacity:1; } }
.alert-box {
  position: relative; z-index: 20; margin-bottom: 1.5rem; border-radius: 0.75rem;
  border: 1px solid rgba(255,255,255,.1); background: rgba(15,23,42,.95);
  backdrop-filter: blur(12px); padding: 0.875rem 1rem; font-size: 0.875rem;
  line-height: 1.55; box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
.tap-target { min-height: 44px; min-width: 44px; }
.site-nav a { min-height: 40px; display: inline-flex; align-items: center; }
@media (prefers-reduced-motion: reduce) {
  .fade-up, .toast-enter, .pipeline-pulse, .btn-primary { animation: none !important; transition: none !important; }
  .btn-primary:hover { transform: none; }
}
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
