@import url('./upstream/tokens.css');
@import url('./upstream/mk-ii/tokens.css');
@import url('./patterns/v2/tokens.css');
@import url('./patterns/shapes-v1/tokens.css');

@font-face{font-family:'Oxanium ProDyn';src:url('./fonts/Oxanium-wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Departure Mono ProDyn';src:url('./fonts/DepartureMono-Regular.woff2') format('woff2');font-weight:400;font-display:swap}

/* chrismish.com's own semantic adapters; never modifies upstream ProDyn. */
[data-cm-theme="blue"]{
  --cm-field:var(--pd-field);
  --cm-panel:var(--pd-panel);
  --cm-ink:var(--pd-ivory);
  --cm-muted:var(--pd-text-muted);
  --cm-accent:var(--pd-signal);
  --pd-font-body:var(--pd-font-display);
}
.cm-circuit{display:block;color:var(--cm-circuit-ink);opacity:var(--cm-circuit-opacity);pointer-events:none;user-select:none}
.cm-pattern-surface{position:relative;isolation:isolate;overflow:hidden}
.cm-pattern-surface>.cm-circuit{position:absolute;z-index:-1;width:var(--cm-circuit-size);height:auto;right:0;bottom:0;transform:scale(var(--cm-circuit-scale));transform-origin:bottom right}
.cm-pattern-surface[data-pattern-role="header"]{--cm-circuit-opacity:var(--cm-circuit-opacity-header)}
.cm-pattern-surface[data-pattern-role="accent"]{--cm-circuit-opacity:var(--cm-circuit-opacity-accent)}
.cm-pattern-surface[data-pattern-role="surface"]{--cm-circuit-opacity:var(--cm-circuit-opacity-surface)}
/* Protect reading space; this is an alpha mask, not a colored overlay. */
.cm-pattern-clearance>.cm-circuit{mask-image:linear-gradient(to right,transparent 0%,transparent var(--cm-circuit-text-clearance),black 86%)}
/* External monochrome mask: color/opacity/scale inherit from theme.
   Inline SVG is required for runtime stroke/radius overrides. */
.cm-pattern-tiled::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cm-circuit-ink);opacity:var(--cm-circuit-opacity-surface);mask-image:url('./patterns/v2/surface-tile.svg');mask-size:var(--cm-circuit-size);mask-repeat:var(--cm-circuit-repeat);mask-position:var(--cm-circuit-position-x) var(--cm-circuit-position-y)}
/* All circuit geometry is static; no RAF, timers or motion preferences needed. */
@media print{.cm-pattern-surface>.cm-circuit,.cm-pattern-tiled::before{display:none}}
@media(forced-colors:active){.cm-pattern-surface>.cm-circuit,.cm-pattern-tiled::before{display:none}}
