:root {
  --ink: #0B0B0C;
  --pearl: #FAFAF8;
  --paper: #FFFFFF;
  --orange: #FF5A1F;
  --orange-deep: #D6440E;
  --orange-soft: rgba(255,90,31,0.1);
  --line: #111111;
  --line-soft: rgba(11,11,12,0.14);
  --muted: #6B6A67;
  --gradient: linear-gradient(135deg, #FF5A1F, #D6440E);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; max-width: 100%; }
body {
  margin: 0;
  background: var(--pearl);
  font-family: 'Poppins', sans-serif;
  color: var(--ink);
}
button { cursor: pointer; font: inherit; background: none; border: none; }
::selection { background: rgba(255,90,31,0.25); }
.font-display { font-family: 'Poppins', sans-serif; }
.font-mono { font-family: 'IBM Plex Mono', monospace; }

@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 0.8s linear infinite; }

button, a { transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease; }
button:active { transform: scale(0.96); }

.btn-glow { transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.15s ease; }
.btn-glow:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(255,90,31,0.32); }

/* Статични помощни класове */
.absolute { position: absolute; }
.bg-transparent { background-color: transparent; }
.border-b { border-bottom-width: 1px; border-bottom-style: solid; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.bottom-0 { bottom: 0; }
.fixed { position: fixed; }
.flex { display: flex; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.grid { display: grid; }
.h-12 { height: 3rem; }
.h-16 { height: 4rem; }
.h-5 { height: 1.25rem; }
.h-8 { height: 2rem; }
.h-full { height: 100vh; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.left-0 { left: 0; }
.max-w-2xl { max-width: 42rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.outline-none { outline: none; }
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.relative { position: relative; }
.right-0 { right: 0; }
.rounded-2xl { border-radius: 1rem; }
.rounded-full { border-radius: 9999px; }
.rounded-lg { border-radius: 0.5rem; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1); }
.space-y-4 > * + * { margin-top: 1rem; }
.sticky { position: sticky; }
.text-center { text-align: center; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.top-0 { top: 0; }
.w-5 { width: 1.25rem; }
.w-8 { width: 2rem; }
.w-full { width: 100%; }
.z-50 { z-index: 50; }