/* Appily Seventyone — Neo-Brutal Slab Atelier tokens */
:root {
  --a71-ink: #121212;
  --a71-paper: #f2efe6;
  --a71-panel: #ffffff;
  --a71-panel-strong: #fffdf8;
  --a71-slab: #e7e2d6;
  --a71-muted: #4a4a46;
  --a71-line: #121212;
  --a71-cobalt: #1a5cff;
  --a71-lime: #c8ff3d;
  --a71-heat: #ff4d1a;
  --a71-dew: #c8ff3d;
  --a71-dew-dim: rgba(200, 255, 61, 0.35);
  --a71-violet: #1a5cff;
  --a71-cyan: #1a5cff;
  --a71-mist: #121212;
  --a71-danger: #ff4d1a;
  --a71-ok: #1f8a3b;
  --a71-glass: #ffffff;
  --a71-glass-border: #121212;
  --a71-blur: 0px;
  --a71-radius: 0;
  --a71-radius-sm: 0;
  --a71-display: "Anton", "Impact", sans-serif;
  --a71-sans: "Manrope", "Segoe UI", sans-serif;
  --a71-mono: "IBM Plex Mono", ui-monospace, monospace;
  --a71-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --a71-max: 1180px;
  --a71-dock-h: 4.5rem;
  --a71-shadow: 6px 6px 0 #121212;
  --a71-shadow-sm: 3px 3px 0 #121212;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.a71-body {
  margin: 0;
  min-height: 100vh;
  color: var(--a71-ink);
  font-family: var(--a71-sans);
  line-height: 1.55;
  background:
    linear-gradient(90deg, rgba(18, 18, 18, 0.03) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(rgba(18, 18, 18, 0.03) 1px, transparent 1px) 0 0 / 28px 28px,
    var(--a71-paper);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
}

.a71-root {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-top: var(--a71-dock-h);
}
.a71-root-bare { padding-top: 0; }
.a71-main { flex: 1; width: 100%; }

.a71-shell {
  width: min(var(--a71-max), calc(100% - 2rem));
  margin-inline: auto;
}

.a71-glass {
  background: var(--a71-panel);
  border: 3px solid var(--a71-ink);
  border-radius: 0;
  box-shadow: var(--a71-shadow);
  backdrop-filter: none;
}

.a71-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 3px solid var(--a71-ink);
  cursor: pointer;
  text-decoration: none;
  padding: 0.85rem 1.35rem;
  border-radius: 0;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: var(--a71-shadow-sm);
  transition: transform 0.2s var(--a71-ease), box-shadow 0.2s var(--a71-ease);
}
.a71-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 var(--a71-ink);
}
.a71-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--a71-ink);
}
.a71-btn-dew {
  background: var(--a71-lime);
  color: var(--a71-ink);
}
.a71-btn-violet {
  background: var(--a71-cobalt);
  color: #fff;
}
.a71-btn-ghost {
  background: var(--a71-panel);
  color: var(--a71-ink);
}

.a71-kicker {
  font-family: var(--a71-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--a71-muted);
  margin: 0 0 0.4rem;
}

@keyframes a71-stamp {
  from { opacity: 0; transform: translateY(16px) rotate(-1deg); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}
@keyframes a71-pop {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}
