/* Raw theme shared utilities, ported from rehive-website-next src/app/globals.css.
   Colour tokens live in the Tailwind CDN config in base.html. */

:root {
  --rt-paper: 45 14% 96%;
  --rt-paper-dim: 45 10% 92%;
  --rt-ink: 240 14% 7%;
  --rt-ink-soft: 240 8% 12%;
  --rt-violet: 248 80% 58%;
  --rt-violet-deep: 248 70% 45%;
  --rt-mint: 152 76% 44%;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: hsl(var(--rt-paper));
  color: hsl(var(--rt-ink));
  font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.theme-raw { font-feature-settings: 'ss01' on, 'cv11' on; }
.theme-raw ::selection { background: hsl(var(--rt-violet)); color: white; }

.font-display { font-family: 'Inter Tight', system-ui, sans-serif; letter-spacing: -0.04em; }
.font-serif-accent { font-family: 'Instrument Serif', Georgia, serif; letter-spacing: -0.01em; }
.font-mono-label { font-family: 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: 0.08em; }
.text-balance { text-wrap: balance; }

.hairline { border-color: rgba(13, 13, 20, 0.1); }
.hairline-light { border-color: rgba(255, 255, 255, 0.12); }

.bg-grid-dark {
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
}
.bg-draft {
  background-image:
    linear-gradient(to right, rgba(13, 13, 20, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(13, 13, 20, 0.05) 1px, transparent 1px),
    linear-gradient(to right, rgba(13, 13, 20, 0.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(13, 13, 20, 0.022) 1px, transparent 1px);
  background-size: 112px 112px, 112px 112px, 28px 28px, 28px 28px;
}

.link-sweep { position: relative; }
.link-sweep::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  width: 100%;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.link-sweep:hover::after { transform: scaleX(1); transform-origin: left; }

.footer-link {
  font-size: 13.5px;
  color: hsl(var(--rt-ink) / 0.6);
  transition: color 0.2s ease;
}
.footer-link:hover { color: hsl(var(--rt-violet-deep)); }

.arrow-up-right { transition: transform 0.3s ease; }
.group:hover .arrow-up-right { transform: translate(2px, -2px); }

/* Card lift used on hub doors */
.tilt-card { transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease; }
.tilt-card:hover { transform: translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tilt-card:hover { transform: none; }
}
