/* ============================================================
   tokens.css — WordPress preset + theme.json shim
   Reproduces the CSS variables and element rules that WordPress
   would normally emit, so the TwistedNET theme.css renders
   faithfully as a standalone static site (no WP runtime).
   Values copied verbatim from the live twistednet.org output.
   ============================================================ */
:root{
  /* palette */
  --wp--preset--color--base:#0a0a0b;
  --wp--preset--color--surface:#151517;
  --wp--preset--color--surface-2:#1d1d20;
  --wp--preset--color--contrast:#f4f4f6;
  --wp--preset--color--muted:#9a9aa1;
  --wp--preset--color--cream:#ffffff;
  --wp--preset--color--champagne:#e6e6ea;
  --wp--preset--color--gold:#e10600;
  --wp--preset--color--bronze:#a30400;
  --wp--preset--color--white:#ffffff;
  --wp--preset--color--black:#000000;
  /* gradients */
  --wp--preset--gradient--champagne:linear-gradient(120deg, #ffffff 0%, #e6e6ea 45%, #e10600 100%);
  --wp--preset--gradient--gold:linear-gradient(120deg, #e6e6ea 0%, #a30400 100%);
  --wp--preset--gradient--deep:linear-gradient(180deg, #0a0a0b 0%, #151517 100%);
  /* fluid font sizes */
  --wp--preset--font-size--small:0.9rem;
  --wp--preset--font-size--medium:clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.117), 1.0625rem);
  --wp--preset--font-size--large:clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 0.465), 1.5rem);
  --wp--preset--font-size--x-large:clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.93), 2.25rem);
  --wp--preset--font-size--xx-large:clamp(2.25rem, 2.25rem + ((1vw - 0.2rem) * 1.86), 3.25rem);
  --wp--preset--font-size--huge:clamp(2.75rem, 2.75rem + ((1vw - 0.2rem) * 3.721), 4.75rem);
  /* families */
  --wp--preset--font-family--display:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --wp--preset--font-family--body:system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --wp--preset--font-family--mono:'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  /* spacing scale */
  --wp--preset--spacing--20:0.75rem;
  --wp--preset--spacing--30:1.25rem;
  --wp--preset--spacing--40:2rem;
  --wp--preset--spacing--50:3.25rem;
  --wp--preset--spacing--60:5rem;
  --wp--preset--spacing--70:7rem;
  /* layout */
  --wp--style--global--content-size:760px;
  --wp--style--global--wide-size:1180px;
  --wp--style--root--padding-left:1.6rem;
  --wp--style--root--padding-right:1.6rem;
  --wp--style--block-gap:1.5rem;
}

/* ---------- base reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  margin:0;
  background-color:var(--wp--preset--color--base);
  color:var(--wp--preset--color--contrast);
  font-family:var(--wp--preset--font-family--body);
  font-size:var(--wp--preset--font-size--medium);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block;}
a{color:inherit;}
button{font-family:inherit;}
:where(h1,h2,h3,h4,h5,h6){
  font-family:var(--wp--preset--font-family--display);
  font-weight:700;line-height:1.1;letter-spacing:-0.02em;
  color:var(--wp--preset--color--cream);
  margin:0;
}
/* heading sizes (theme.json elements) */
h1{font-size:var(--wp--preset--font-size--huge);}
h2{font-size:var(--wp--preset--font-size--xx-large);}
h3{font-size:var(--wp--preset--font-size--large);}
p{margin:0;}

/* ---------- constrained-content helpers (stand in for WP layout) ---------- */
.cx-wrap{max-width:var(--wp--style--global--wide-size);margin-inline:auto;
  padding-inline:var(--wp--style--root--padding-left);}
.cx-narrow{max-width:var(--wp--style--global--content-size);margin-inline:auto;
  padding-inline:var(--wp--style--root--padding-left);}
.has-text-align-center{text-align:center;}
.has-surface-background-color{background-color:var(--wp--preset--color--surface)!important;}

/* button base (theme styles .wp-block-button__link; this supplies the flex wrapper) */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:0.9rem;}
.wp-block-buttons.is-center{justify-content:center;}
.wp-block-button{display:inline-flex;}
.wp-block-button__link{display:inline-block;text-decoration:none;border:0;cursor:pointer;}
