:root{
  --bg:#0b0b0c;
  --bg-elevated:#141416;
  --bg-elevated-2:#1a1a1d;
  --ink:#f3efe6;
  --ink-dim:#a8a39a;
  --line:rgba(243,239,230,0.10);
  --accent:#c79a4b;
  --accent-dim:rgba(199,154,75,0.16);
  --danger:#a8472f;
}
html{background:var(--bg);}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Archivo',sans-serif;
}
.font-display{font-family:'Anton',sans-serif;}
.font-mono{font-family:'JetBrains Mono',monospace;}

.grain{
  position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.stamp{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.12em;
  border:1.5px solid var(--accent);
  color:var(--accent);
  transform:rotate(-2.5deg);
  display:inline-flex;
  padding:.2rem .6rem;
}

.case-tab{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.18em;
  color:var(--accent);
  font-size:.72rem;
}

.ticker-track{
  display:flex; width:max-content;
  animation:ticker 38s linear infinite;
}
.ticker-wrap:hover .ticker-track{ animation-play-state:paused; }
@keyframes ticker{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

@keyframes pulseDot{
  0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(199,154,75,.55); }
  50%{ opacity:.6; box-shadow:0 0 0 6px rgba(199,154,75,0); }
}
.live-dot{ animation:pulseDot 2.2s ease-in-out infinite; }

.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

.fold{
  background:linear-gradient(160deg, var(--bg-elevated), var(--bg-elevated-2));
  border:1px solid var(--line);
}

.redact{
  background:repeating-linear-gradient(180deg, #000 0 10px, #050505 10px 11px);
}

input::placeholder, textarea::placeholder{ color:var(--ink-dim); opacity:.7; }
input, textarea, select{ background:var(--bg); }
input:focus, textarea:focus, select:focus{ outline:none; box-shadow:0 0 0 1.5px var(--accent); }

.btn-press:active{ transform:scale(.97); }

.dropzone.drag{ border-color:var(--accent); background:var(--accent-dim); }
.dropzone.has-file{ border-style:solid; border-color:var(--accent); }
.dropzone.has-file #dropzoneText{ color:var(--accent); }

::selection{ background:var(--accent); color:#1a1208; }

@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; }
  .live-dot{ animation:none; }
  .reveal{ transition:none; opacity:1; transform:none; }
}
