:root {
  --ink: #1A1A1A;
  --paper: #F7F4EF;
  --accent: #D9532B;
}

body {
  font-family: 'Satoshi', system-ui, sans-serif;
}

.font-fraunces { font-family: 'Fraunces', serif; font-optical-sizing: auto; }
.font-mono { font-family: 'JetBrains Mono', monospace; }

/* Grain texture overlay for that print-like feel */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.035;
  z-index: 1000;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Ticker */
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.ticker {
  display: inline-block;
  animation: ticker 30s linear infinite;
}

/* Custom select arrow */
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 24px;
}

/* Focus ring */
input:focus, select:focus, button:focus-visible {
  outline: none;
}
input:focus, select:focus {
  border-color: var(--accent);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ticker { animation: none; }
}