/* Generated by npm run build:design. Edit _shared/design-system. */
/* Site-local font manifest. Licenses travel with each build. */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/anton-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/barlow-condensed-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/barlow-condensed-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/barlow-condensed-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/barlow-condensed-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/inter-400-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("fonts/jetbrains-mono-400-700-latin.woff2") format("woff2"); }

/* Project Lazarus design contract. Build into each adopting site; no runtime cross-site dependency. */
:root, .lz-ui {
  --lz-original: #9dff2b;
  --lz-life: #e6b84a;
  --lz-ink: #080808;
  --lz-surface: #121212;
  --lz-raised: #1c1c1c;
  --lz-text: #f4f1e8;
  --lz-secondary: #d2cec1;
  --lz-muted: #a8a293;
  --lz-border: #343a32;
  /* Homepage grain, shared locally by adopting surfaces. */
  --lz-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.045'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --lz-danger: #ff9b91;
  --lz-accent: var(--lz-original);
  --lz-display: Anton, Impact, sans-serif;
  --lz-heading: "Barlow Condensed", "Arial Narrow", sans-serif;
  --lz-body: Inter, Arial, sans-serif;
  --lz-mono: "JetBrains Mono", monospace;
  --lz-size-hero: clamp(44px, 7vw, 104px);
  --lz-size-section: clamp(32px, 4vw, 56px);
  --lz-size-panel: clamp(24px, 2.5vw, 32px);
  --lz-size-body: 16px;
  --lz-size-ui: 16px;
  --lz-size-caption: 13px;
  --lz-size-metric: clamp(36px, 4vw, 48px);
  --lz-leading-display: 1.05;
  --lz-leading-heading: 1.2;
  --lz-leading-body: 1.65;
  --lz-space-1: 4px;
  --lz-space-2: 8px;
  --lz-space-3: 12px;
  --lz-space-4: 16px;
  --lz-space-6: 24px;
  --lz-space-8: 32px;
  --lz-space-12: 48px;
  --lz-radius: 2px;
  --lz-feedback: 180ms;
  --lz-press: 100ms;
  --lz-settle: cubic-bezier(.22, 1, .36, 1);
  color: var(--lz-text);
  font-family: var(--lz-body);
}
.lz-ui [data-gamemode="life"], .lz-ui[data-gamemode="life"] { --lz-accent: var(--lz-life); }
.lz-ui [hidden] { display: none !important; }
.lz-ui :focus-visible { outline: 2px solid var(--lz-accent); outline-offset: 4px; }
.lz-ui .lz-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Legacy names are adapters, not independent palettes. Load before site layout CSS. */
:root {
  --green: var(--lz-original); --laz-green: var(--lz-original); --gm-original: var(--lz-original);
  --gold: var(--lz-life); --gm-life: var(--lz-life);
  --ink: var(--lz-ink); --ink-2: var(--lz-surface); --ink-3: var(--lz-raised);
  --bone: var(--lz-text); --bone-2: var(--lz-secondary); --bone-3: var(--lz-muted);
  --font-display: var(--lz-display); --font-hed: var(--lz-heading); --font-body: var(--lz-body); --font-mono: var(--lz-mono);
  --dur-fast: var(--lz-feedback); --ease-out: var(--lz-settle);
}
html { font-synthesis-weight: none; }
button, input, select, textarea { font-family: inherit; }
.display { font-weight: 400; }
.lz-type-hero { font: 400 var(--lz-size-hero)/var(--lz-leading-display) var(--lz-display); text-transform: uppercase; }
.lz-type-section { font: 400 var(--lz-size-section)/var(--lz-leading-display) var(--lz-display); text-transform: uppercase; }
.lz-type-panel { font: 700 var(--lz-size-panel)/var(--lz-leading-heading) var(--lz-heading); text-transform: uppercase; }
.lz-type-body { font: 400 var(--lz-size-body)/var(--lz-leading-body) var(--lz-body); }
.lz-type-caption { font: 500 var(--lz-size-caption)/1.5 var(--lz-body); color: var(--lz-muted); }
.lz-type-metric { font: 400 var(--lz-size-metric)/1 var(--lz-display); font-variant-numeric: tabular-nums; }
/* The existing static CTAs keep their art direction and share feedback timing. */
:is(.btn, .nav__cta, .server__btn, .gm-card__cta, .promo__cta, .discord-btn) {
  min-height: 44px;
  transition: transform var(--lz-feedback) var(--lz-settle), border-color var(--lz-feedback), background-color var(--lz-feedback), box-shadow var(--lz-feedback);
}
:is(a, button, summary):focus-visible { outline: 2px solid var(--lz-accent); outline-offset: 4px; }
:is(.btn, .nav__cta, .server__btn, .gm-card__cta, .promo__cta, .discord-btn):focus-visible { transform: none; transition: none; }
@media (hover: hover) and (pointer: fine) {
  :is(.btn, .nav__cta, .server__btn, .gm-card__cta, .promo__cta, .discord-btn):hover:not(:focus-visible):not(:disabled) { transform: translateY(-2px); }
}
:is(.btn, .nav__cta, .server__btn, .gm-card__cta, .promo__cta, .discord-btn):active:not(:focus-visible):not(:disabled) { transform: translateY(1px); transition-duration: var(--lz-press); }
@media (prefers-reduced-motion: reduce) {
  :is(.btn, .nav__cta, .server__btn, .gm-card__cta, .promo__cta, .discord-btn) { transform: none !important; transition: none !important; }
}
