/* BossFarm / Neon Collection. Import before page-specific CSS. */
:root {
  color-scheme: dark;
  --bf-bg: #08040f;
  --bf-bg-raised: #120a1f;
  --bf-surface: #221231;
  --bf-surface-featured: #331849;
  --bf-text: #f6f1ff;
  --bf-text-soft: #b5a0c8;
  --bf-text-muted: #9380a6;
  --bf-violet: #b16bff;
  --bf-violet-bright: #c999ff;
  --bf-violet-deep: #8c43eb;
  --bf-focus: #d3a9ff;
  --bf-border: #bc7bff40;
  --bf-border-strong: #c080ff77;
  --bf-divider: #bd83f32a;
  --bf-gradient-text: linear-gradient(95deg, #f4dfff 9%, #c28cfd 55%, #8c43eb);
  --bf-gradient-card: linear-gradient(145deg, #221231e8, #120a1ff5 65%);
  --bf-gradient-featured: linear-gradient(145deg, #331849ef, #170b29f5 70%);
  --bf-gradient-ambient: radial-gradient(ellipse 43% 48% at 50% 66%, #7433c135, transparent 85%), radial-gradient(ellipse 36% 31% at 50% 5%, #5b237b21, transparent 95%);
  --bf-shadow-card: 0 22px 65px #0008, 0 0 45px #702ba518;
  --bf-shadow-violet: 0 0 35px #a563f244;
  --bf-font-ui: Manrope, Arial, sans-serif;
  --bf-font-display: Unbounded, Manrope, sans-serif;
  --bf-radius-sm: 12px;
  --bf-radius-card: 18px;
  --bf-radius-pill: 999px;
  --bf-space-1: 4px;
  --bf-space-2: 8px;
  --bf-space-3: 12px;
  --bf-space-4: 16px;
  --bf-space-5: 24px;
  --bf-space-6: 32px;
  --bf-space-7: 48px;
  --bf-space-8: 64px;
  --bf-content-width: 1200px;
  --bf-page-gutter: clamp(20px, 5vw, 80px);
  --bf-motion-fast: 200ms;
  --bf-motion-standard: 450ms;
  --bf-ease-out: cubic-bezier(.2, .8, .2, 1);
}

.bf-shell { min-height: 100vh; background: var(--bf-bg); color: var(--bf-text); font: 400 16px/1.6 var(--bf-font-ui); -webkit-font-smoothing: antialiased; }
.bf-container { width: min(calc(100% - 2 * var(--bf-page-gutter)), var(--bf-content-width)); margin-inline: auto; }
.bf-eyebrow { margin: 0 0 16px; color: #c49aec; font: 700 12px/1.4 var(--bf-font-ui); letter-spacing: .225em; text-transform: uppercase; }
.bf-display { margin: 0; font: 500 clamp(32px, 3.35vw, 58px)/1.24 var(--bf-font-display); letter-spacing: -.04em; }
.bf-gradient-text { background: var(--bf-gradient-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bf-section-title { margin: 0; font: 500 clamp(24px, 2.3vw, 38px)/1.3 var(--bf-font-display); letter-spacing: -.025em; }
.bf-card { border: 1px solid var(--bf-border); border-radius: var(--bf-radius-card); background: var(--bf-gradient-card); box-shadow: var(--bf-shadow-card); padding: var(--bf-space-5); }
.bf-card--featured { border-color: var(--bf-border-strong); background: var(--bf-gradient-featured); box-shadow: 0 22px 65px #0008, 0 0 55px #8739da2b; }
.bf-button { min-height: 44px; display: inline-flex; gap: 10px; align-items: center; justify-content: center; padding: 10px 18px; border: 1px solid #ffffff22; border-radius: var(--bf-radius-pill); background: #ffffff05; color: var(--bf-text); font: 600 14px/1.2 var(--bf-font-ui); text-decoration: none; cursor: pointer; transition: background var(--bf-motion-fast), border-color var(--bf-motion-fast), box-shadow var(--bf-motion-fast); }
.bf-button:hover { background: #9d51f52b; border-color: #9d51f566; }
.bf-button--primary { background: #9d51f5; border-color: #c48eff; box-shadow: 0 0 24px #9d51f54d; }
.bf-button--primary:hover { background: #ad68ff; border-color: #d4a9ff; box-shadow: 0 0 32px #a75aff80; }
.bf-label { color: var(--bf-violet-bright); font: 700 11px/1.4 var(--bf-font-ui); letter-spacing: .14em; text-transform: uppercase; }
.bf-muted { color: var(--bf-text-soft); }
.bf-divider { height: 1px; border: 0; background: var(--bf-divider); }
.bf-shell :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--bf-focus); outline-offset: 4px; }
@media (max-width: 700px) { .bf-display { font-size: clamp(25px, 6.3vw, 40px); letter-spacing: -.045em; } .bf-card { border-radius: 13px; padding: 16px; } .bf-eyebrow { font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { .bf-shell *, .bf-shell *::before, .bf-shell *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
