/* Appily Seventy — Acid Ledger (neo-brutal stamp desk) */
:root {
  --a70-paper: #cfc9bb;
  --a70-sheet: #f7f4ec;
  --a70-ink: #0a0a0a;
  --a70-mute: #3d3a34;
  --a70-line: #0a0a0a;
  --a70-signal: #ff2d55;
  --a70-cobalt: #0047ff;
  --a70-acid: #b8ff3c;
  --a70-warn: #ff8a00;
  --a70-ok: #0f7a3a;
  --a70-danger: #ff2d55;
  --a70-shadow: 6px 6px 0 #0a0a0a;
  --a70-shadow-sm: 3px 3px 0 #0a0a0a;
  --a70-border: 3px solid #0a0a0a;
  --a70-border-sm: 2px solid #0a0a0a;
  --a70-radius: 0;
  --a70-display: "Unbounded", "Arial Black", Impact, sans-serif;
  --a70-sans: "Sora", "Segoe UI", sans-serif;
  --a70-mono: "JetBrains Mono", ui-monospace, monospace;
  --a70-ease: cubic-bezier(0.2, 0.9, 0.2, 1);
  --a70-max: 1280px;
  --a70-rail: 4.75rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.a70-body {
  margin: 0;
  min-height: 100vh;
  color: var(--a70-ink);
  font-family: var(--a70-sans);
  line-height: 1.55;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 31px,
      rgba(10, 10, 10, 0.035) 31px,
      rgba(10, 10, 10, 0.035) 32px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 31px,
      rgba(10, 10, 10, 0.035) 31px,
      rgba(10, 10, 10, 0.035) 32px
    ),
    linear-gradient(145deg, #d6d0c2 0%, #cfc9bb 45%, #c4beae 100%);
  background-attachment: fixed;
  -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);
}

.a70-root {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-top: calc(var(--a70-rail) + 0.85rem);
}
.a70-root-bare { padding-top: 0; }
.a70-main { flex: 1; width: 100%; }

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

.a70-panel {
  background: var(--a70-sheet);
  border: var(--a70-border);
  box-shadow: var(--a70-shadow);
}

.a70-kicker {
  margin: 0 0 0.55rem;
  font-family: var(--a70-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--a70-mute);
}

.a70-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  padding: 0.65rem 1.15rem;
  border: var(--a70-border);
  background: var(--a70-acid);
  color: var(--a70-ink);
  font-family: var(--a70-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: var(--a70-shadow-sm);
  cursor: pointer;
  transition: transform 0.15s var(--a70-ease), box-shadow 0.15s var(--a70-ease), background 0.15s var(--a70-ease);
}
.a70-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 #0a0a0a;
}
.a70-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 #0a0a0a;
}
.a70-btn-ink {
  background: var(--a70-ink);
  color: var(--a70-acid);
}
.a70-btn-signal {
  background: var(--a70-signal);
  color: #fff;
}
.a70-btn-cobalt {
  background: var(--a70-cobalt);
  color: #fff;
}

@keyframes a70-stamp-in {
  from { opacity: 0; transform: translateY(14px) rotate(-0.4deg); }
  to { opacity: 1; transform: none; }
}
@keyframes a70-pulse-border {
  0%, 100% { outline-offset: 0; }
  50% { outline-offset: 4px; }
}
