/* TreeTrace.dev - canonical tokens + self-hosted fonts (NO Google CDN) */

/* ---------- Self-hosted fonts ---------- */
@font-face{font-family:'Archivo';src:url('../fonts/archivo-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-900.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('../fonts/fraunces-italic-400.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-700.woff2') format('woff2');font-weight:700;font-display:swap}

/* ---------- Brand tokens (LOCKED: evidence system, rationed cobalt) ---------- */
:root{
  --tt-ink:        #0B0C0E;   /* page background, near-black */
  --tt-surface:    #121316;   /* cards, terminal chrome */
  --tt-graphite:   #23262B;   /* raised / hover face */
  --tt-paper:      #F2EFE9;   /* primary text, warm bone (NOT pure white) */
  --tt-ash:        #9BA0A6;   /* secondary text / mono labels */
  --tt-ash-2:      #6E7480;   /* tertiary */
  --tt-line:       rgba(155,160,166,.18); /* hairline borders */
  --tt-line-2:     rgba(155,160,166,.10);
  --tt-signal:     #2E5BFF;   /* electric cobalt - PRIMARY accent, RATIONED */
  --tt-signal-dim: #1E3FB8;   /* hover / pressed cobalt */
  --tt-signal-tint:rgba(46,91,255,.08); /* faint active-row wash */
  --tt-on-signal:  #FFFFFF;   /* text/glyph on solid cobalt = WHITE, never ink */

  --tt-font-display:'Archivo', system-ui, sans-serif;
  --tt-font-mono:'JetBrains Mono', ui-monospace, monospace;
  --tt-font-serif:'Fraunces', Georgia, serif;

  --tt-nav-h: 64px;
  --tt-wrap: 1180px;
  --tt-radius: 12px;

  --tt-ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--tt-ink);
  color:var(--tt-paper);
  font-family:var(--tt-font-mono);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--tt-signal);color:#fff}

/* Focus-visible ring used site-wide for accessibility */
:focus-visible{
  outline:2px solid var(--tt-signal);
  outline-offset:3px;
  border-radius:4px;
}

.skip-link{
  position:absolute;left:-999px;top:0;z-index:200;
  background:var(--tt-signal);color:#fff;padding:10px 16px;
  font-family:var(--tt-font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
}
.skip-link:focus{left:10px;top:10px}

.wrap{max-width:var(--tt-wrap);margin:0 auto;padding:0 28px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
