/* ============================================================
   AERL Documentation — Rendered-doc styling
   Applied to outputs: datasheet / manual / warranty / protocol
   pages rendered as standalone HTML. Imports tokens.css.
   ============================================================ */

@import url("./tokens.css");

* { box-sizing: border-box; }

html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  font-size: var(--fs-16);
  line-height: var(--lh-normal);
  color: var(--fg-1);
  background: var(--bg-canvas);
  margin: 0;
}

/* ---------------- Page shell ---------------- */
.doc {
  max-width: var(--doc-page-max);
  margin: 0 auto;
  padding: var(--space-16) var(--space-6) var(--space-24);
  background: var(--bg-surface);
  box-shadow: var(--shadow-md);
}

.doc__eyebrow {
  font-size: var(--fs-12);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--fg-accent);
  margin-bottom: var(--space-3);
}

.doc__title {
  font-size: var(--fs-48);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 700;
  margin: 0 0 var(--space-2);
  text-wrap: balance;
}

.doc__subtitle {
  font-size: var(--fs-20);
  color: var(--fg-2);
  font-weight: 400;
  margin: 0 0 var(--space-8);
  text-wrap: balance;
}

.doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--fs-13);
  color: var(--fg-3);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: var(--space-10);
}
.doc__meta strong { color: var(--fg-1); font-weight: 600; }

/* ---------------- Headings ---------------- */
h1, .h1 {
  font-family: var(--font-display);
  font-size: var(--fs-36);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 700;
  color: var(--fg-1);
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

h2, .h2 {
  font-size: var(--fs-30);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
  font-weight: 700;
  margin: var(--space-12) 0 var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--border-subtle);
}

h3, .h3 {
  font-size: var(--fs-24);
  line-height: var(--lh-snug);
  font-weight: 600;
  margin: var(--space-10) 0 var(--space-2);
}

h4, .h4 {
  font-size: var(--fs-20);
  line-height: var(--lh-snug);
  font-weight: 600;
  margin: var(--space-6) 0 var(--space-2);
}

h5, .h5 {
  font-size: var(--fs-14);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  color: var(--fg-2);
  margin: var(--space-6) 0 var(--space-2);
}

p, li {
  font-size: var(--fs-16);
  line-height: var(--lh-normal);
  text-wrap: pretty;
}
p { margin: 0 0 var(--space-4); }
ul, ol { margin: 0 0 var(--space-4); padding-left: var(--space-6); }
li + li { margin-top: var(--space-1); }

small, .caption {
  font-size: var(--fs-13);
  color: var(--fg-3);
}

a {
  color: var(--fg-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 120ms ease, border-color 120ms ease;
}
a:hover { color: var(--fg-accent); border-bottom-color: currentColor; }

code, kbd, samp, .mono {
  font-family: var(--font-mono);
  font-size: 0.93em;
  background: var(--bg-sunken);
  padding: 0.1em 0.35em;
  border-radius: var(--radius-sm);
  color: var(--fg-1);
}

pre {
  font-family: var(--font-mono);
  font-size: var(--fs-14);
  line-height: var(--lh-snug);
  background: var(--gray-950);
  color: var(--gray-100);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-md);
  overflow-x: auto;
}
pre code { background: transparent; padding: 0; color: inherit; }

hr {
  border: 0;
  border-top: 1px solid var(--border-subtle);
  margin: var(--space-8) 0;
}

img, figure { max-width: 100%; }
figure { margin: var(--space-6) 0; }
figcaption {
  font-size: var(--fs-13);
  color: var(--fg-3);
  margin-top: var(--space-2);
  text-align: center;
}

/* ---------------- Spec table ---------------- */
table.spec, .spec-table, table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-14);
  background: var(--bg-surface);
  margin: var(--space-5) 0 var(--space-6);
}
.spec th, .spec td, .spec-table th, .spec-table td, table th, table td {
  text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: top;
}
.spec thead th, .spec-table thead th, table thead th {
  background: var(--gray-900);
  color: var(--white);
  font-weight: 600;
  font-size: var(--fs-13);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  border-bottom: 2px solid var(--gray-900);
}
.spec tbody tr:nth-child(even) td,
.spec-table tbody tr:nth-child(even) td,
table tbody tr:nth-child(even) td { background: var(--gray-50); }

/* ---------------- Callouts ---------------- */
.callout {
  border-left: 4px solid var(--primary-500);
  background: var(--bg-surface);
  padding: var(--space-4) var(--space-5);
  margin: var(--space-5) 0;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  box-shadow: var(--shadow-sm);
}
.callout--important { border-left-color: var(--status-info); background: var(--status-info-bg); }
.callout--caution   { border-left-color: var(--status-danger); background: var(--status-danger-bg); }
.callout--warn      { border-left-color: var(--status-warn); background: var(--status-warn-bg); }
.callout--note      { border-left-color: var(--gray-700); }
.callout__label {
  font-size: var(--fs-12);
  font-weight: 700;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--fg-2);
  display: block;
  margin-bottom: var(--space-1);
}
.callout--important .callout__label { color: var(--status-info); }
.callout--caution   .callout__label { color: var(--status-danger); }
.callout--warn      .callout__label { color: var(--status-warn); }

/* ============================================================
   Screen helpers — hidden in print
   ============================================================ */

.no-print { /* nothing on screen; hidden by @media print rules below */ }

/* "Download PDF" pill — sits in the page header on screen, vanishes in print. */
.download-pdf {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  background: var(--primary-500);
  color: var(--gray-950) !important;
  border: 0;
  border-radius: var(--radius-md);
  text-decoration: none !important;
  box-shadow: var(--shadow-sm);
  transition: background 120ms ease, transform 80ms ease;
  white-space: nowrap;
}
.download-pdf:hover  { background: var(--primary-600); border-bottom: 0 !important; }
.download-pdf:active { transform: translateY(1px); }
.download-pdf svg    { width: 13px; height: 13px; flex-shrink: 0; }
.download-pdf .rev   {
  opacity: 0.85; font-weight: 500;
  text-transform: none; letter-spacing: 0;
  margin-left: 2px;
}

/* ============================================================
   Print / PDF — A4 page contract
   ------------------------------------------------------------
   • A4 page size, uniform 18mm top/bottom, 16mm left/right margins.
   • Running header: product + doc title.
   • Running footer: AERL mark + "Page N of M".
   • Cover page (first) suppresses the running header via @page :first.
   • h1/h2/table/figure protected from awkward page splits.
   • All site chrome (.no-print, nav, aside, tweaks panel) hidden.
   • Single source: same HTML + CSS the site renders is what the
     PDF build step (chromium --headless --print-to-pdf or WeasyPrint)
     consumes — no separate authoring path.
   ============================================================ */

@page {
  size: A4;
  margin: 18mm 16mm;

  @top-left {
    content: string(doc-product);
    font-family: var(--font-sans);
    font-size: 9pt; color: #545454;
    letter-spacing: 0.06em; text-transform: uppercase;
  }
  @top-right {
    content: string(doc-title);
    font-family: var(--font-sans);
    font-size: 9pt; color: #545454;
  }
  @bottom-left {
    content: "AERL · aerl.com.au";
    font-family: var(--font-mono);
    font-size: 8pt; color: #767676;
  }
  @bottom-right {
    content: "Page " counter(page) " of " counter(pages);
    font-family: var(--font-mono);
    font-size: 8pt; color: #767676;
  }
}

/* Suppress running header on cover page; keep footer for pagination. */
@page :first {
  @top-left  { content: none; }
  @top-right { content: none; }
}

/* String-set hooks — populated by the doc's product / title elements. */
.ph__product, .doc__product { string-set: doc-product content(); }
.hero__title, h1.doc__title, h1.h1, h1 { string-set: doc-title content(); }

@media print {
  /* Repaint background white; the site wraps pages in a gray canvas. */
  html, body {
    background: #fff !important;
    color: #111 !important;
  }

  /* Hide screen-only chrome */
  nav, aside, .no-print, .download-pdf,
  [data-no-print], #tweaks-root,
  tweaks-panel { display: none !important; }

  /* Body baseline ≥ 10pt at print scale */
  body { font-size: 10pt; line-height: 1.45; }

  /* Per-page "sheet" wrappers shouldn't add their own padding/shadow in print */
  .sheet {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    gap: 0 !important;
    display: block !important;
  }

  /* Each <article class="page"> becomes one printed page. Booklet and
     brochure documents print their pages at exact A4 size instead; see
     "Full-bleed sheets" below. :where() keeps the original specificity
     so per-doc print overrides still win as before. */
  :where(body:not(.booklet):not(.brochure)) .page,
  :where(body:not(.booklet):not(.brochure)) article.page {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    break-after: page;
    page-break-after: always;
  }
  :where(body:not(.booklet):not(.brochure)) .page:last-child,
  :where(body:not(.booklet):not(.brochure)) article.page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  /* Print-legible headings at 100% zoom */
  h1, .h1 { font-size: 22pt; }
  h2, .h2 { font-size: 16pt; }
  h3, .h3 { font-size: 13pt; }
  h4, .h4 { font-size: 11pt; }
  h5, .h5 { font-size: 9pt; }

  /* Page-break protection */
  h1, h2, h3, h4 {
    break-after: avoid;
    page-break-after: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  figure, table, pre, blockquote,
  .callout, .panel, .specs, .order,
  .standards, .apps, .hero, .kv {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  tr, td, th { break-inside: avoid; page-break-inside: avoid; }

  /* First-level section headings break onto a new page when marked */
  .page-break, .break-before,
  section[data-break="before"] {
    break-before: page;
    page-break-before: always;
  }

  /* Fit the print margin box */
  img { max-width: 100% !important; height: auto; }
  table { width: 100% !important; max-width: 100% !important; }

  /* Wrap long code/mono lines instead of overflow */
  pre, code, .mono, samp, kbd {
    white-space: pre-wrap !important;
    word-break: break-word;
    overflow: visible !important;
  }

  /* Links: keep brand colour, drop underline noise */
  a {
    color: var(--fg-accent) !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
  }
}

/* ============================================================
   Full-bleed sheets — booklet (manuals) and brochure (datasheets)
   ------------------------------------------------------------
   <body class="booklet"> or <body class="brochure">. Every
   <article class="page"> is an exact A4 trim (210 x 297 mm) on
   screen AND in print: the @page margin is zero, so colour runs to
   the trim edge and the in-page header/folio replace the @page
   running header/footer. Layout lives in booklet.css / brochure.css.

   Press output: open the doc with ?bleed (scripts/docs.sh press)
   and each sheet grows by 3 mm bleed + crop marks on a 236 x 323 mm
   page. Anything meant to bleed is positioned with
   `inset: calc(-1 * var(--bleed))` (or the .bleed-* helpers) so it
   extends past the trim only when bleed is on.

   Web output: open the doc with ?web (scripts/docs.sh build) and a
   booklet or folded brochure prints single-sided: html.web lays every
   page out as a recto (booklet.css, brochure.css) and hides [data-pad]
   (the Notes pages, and their contents entry, that only exist to make
   the booklet a multiple of 4 pages). Same HTML, same A4 trim.
   ============================================================ */
:root {
  --bleed: 0mm; --slug: 0mm;
  --sheet-charcoal: #101216;           /* cover ground: AERL Cloud's page slate */
  --sheet-ink: var(--gray-800);        /* text on orange: 7.6:1 */
}
html.bleed { --bleed: 3mm; --slug: 13mm; }
html.web :is(body.booklet, body.brochure) [data-pad] { display: none !important; }

body.booklet, body.brochure {
  background: var(--gray-200);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
body.booklet .sheet, body.brochure .sheet {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 32px 16px 64px;
}
body.booklet .page, body.brochure .page {
  page: exact;
  width: 210mm;
  height: 297mm;
  position: relative;
  overflow: clip;
  overflow-clip-margin: var(--bleed);
  background: var(--white);
  box-shadow: var(--shadow-lg);
  break-after: page;
}
body.booklet .page:last-child, body.brochure .page:last-child { break-after: auto; }

/* Press mode: the .page border box becomes the whole press sheet. A
   13 mm transparent border is the slug, so the padding box is still the
   210 x 297 mm trim and every absolutely positioned element keeps its
   place. Crop marks are the border image, offset 3 mm from the trim;
   overflow-clip-margin lets bleed elements paint 3 mm into the slug.
   (Chrome clips anything outside the page box, so the slug cannot be an
   @page margin.) */
html.bleed :is(body.booklet, body.brochure) .page {
  page: press;
  width: calc(210mm + 2 * var(--slug));
  height: calc(297mm + 2 * var(--slug));
  border: var(--slug) solid transparent;
  background-clip: padding-box !important;   /* covers set the background shorthand */
  border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='236' height='323' viewBox='0 0 236 323'%3E%3Cg fill='%23000'%3E%3Crect x='0' y='12.9' width='10' height='0.1'/%3E%3Crect x='12.9' y='0' width='0.1' height='10'/%3E%3Crect x='226' y='12.9' width='10' height='0.1'/%3E%3Crect x='223' y='0' width='0.1' height='10'/%3E%3Crect x='0' y='310' width='10' height='0.1'/%3E%3Crect x='12.9' y='313' width='0.1' height='10'/%3E%3Crect x='226' y='310' width='10' height='0.1'/%3E%3Crect x='223' y='313' width='0.1' height='10'/%3E%3C/g%3E%3C/svg%3E");
  border-image-slice: 13;
  border-image-width: var(--slug);
  border-image-repeat: stretch;
}

/* No @page running header/footer: the sheets carry their own. */
@page exact {
  size: A4; margin: 0;
  @top-left { content: none; } @top-right { content: none; }
  @bottom-left { content: none; } @bottom-right { content: none; }
}
@page press {
  size: 236mm 323mm; margin: 0;
  @top-left { content: none; } @top-right { content: none; }
  @bottom-left { content: none; } @bottom-right { content: none; }
}

@media print {
  body.booklet, body.brochure { background: #fff !important; }
  body.booklet .sheet, body.brochure .sheet { display: block; padding: 0; gap: 0; }
  body.booklet .page, body.brochure .page { box-shadow: none; margin: 0; }
}

/* ------------------------------------------------------------
   Trace covers — shared by booklet front/back covers and brochure
   (datasheet) front pages.

   The Trace system is one orange monoline drawn with the aerl
   wordmark's geometry (even stroke, rounded right angles). On the
   covers it is the test pulse (a square wave) and a guard ring round
   the product that ends in a test node; the back cover's line enters
   from the spine at the same height, so the outside spread reads as
   one line. Inside the booklet it is the rail down the outside margin
   (booklet.css). The line's only gradient: graphite warming to orange.

   The drawings are SVG data URIs below (source:
   local_scripts/trace-covers.py), so per-doc markup carries no SVG:
     <article class="page cover">
       <div class="cover__ground"></div>      charcoal + light + the trace
       <header class="cover__head"> logo, download button, .cover__kind
       <h1 class="cover__title"> <p class="cover__subtitle">   (no lede: DESIGN_NOTES § Cover content)
       <img class="cover__photo">            transparent product render, inside the ring
       <div class="cover__band">             model/name (booklet) or .keyfigs (brochure)
       <footer class="cover__foot">
   The ground is AERL Cloud's slate (#101216) with Cloud's ambient bloom
   and instrument grid; the line glows (stacked translucent strokes, vector,
   no filters) and its end node glows like a data point. Labels are Cloud's
   micro-labels (JetBrains Mono, uppercase, tracked).
   Text on the slate: white 18.7:1, --sheet-muted #98A0AC 7.1:1,
   --sheet-tint #F6C37B 11.6:1, primary-500 9.0:1.
   ------------------------------------------------------------ */
:root {
  /* trace:begin (generated by local_scripts/trace-covers.py; do not edit) */
  --trace-front: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='110' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='40' cy='40' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='16' cy='128' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='16' cy='128' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3C/svg%3E");
  --trace-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='210' y1='0' x2='100' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='170' cy='40' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='124' cy='156' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3C/svg%3E");
  --trace-datasheet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='110' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='40' cy='48' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M -6 70 H 36 Q 40 70 40 74 V 78 Q 40 82 44 82 H 60 Q 64 82 64 78 V 74 Q 64 70 68 70 H 84 Q 88 70 88 74 V 78 Q 88 82 92 82 H 108 Q 112 82 112 78 V 74 Q 112 70 116 70 H 188 Q 194 70 194 76 V 233 Q 194 239 188 239 H 185' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 151 239 H 146 M 112 239 H 107 M 73 239 H 68 M 34 239 H 28 Q 22 239 22 233 V 214' fill='none' stroke='%23f2a332' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='22' cy='210' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='22' cy='210' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='22' cy='210' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3C/svg%3E");
  --trace-front-wire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='16' y1='0' x2='110' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='40' cy='40' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 16 58 H 36 Q 40 58 40 62 V 66 Q 40 70 44 70 H 60 Q 64 70 64 66 V 62 Q 64 58 68 58 H 84 Q 88 58 88 62 V 66 Q 88 70 92 70 H 108 Q 112 70 112 66 V 62 Q 112 58 116 58 H 188 Q 194 58 194 64 V 238 Q 194 244 188 244 H 22 Q 16 244 16 238 V 132' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='16' cy='128' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='16' cy='128' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='16' cy='128' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3Ccircle cx='16' cy='58' r='1.6' fill='%23101216' stroke='%235d6573' stroke-width='0.6'/%3E%3C/svg%3E");
  --trace-back-wire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='194' y1='0' x2='100' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='170' cy='40' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 194 58 H 174 Q 170 58 170 62 V 66 Q 170 70 166 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='124' cy='156' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3Ccircle cx='194' cy='58' r='1.6' fill='%23101216' stroke='%235d6573' stroke-width='0.6'/%3E%3C/svg%3E");
  /* trace:end */
  /* the light behind the product, and Cloud's ambient orange bloom */
  --trace-light: radial-gradient(ellipse 46% 30% at 52% 58%, #2a2f37 0%, rgba(16,18,22,0) 100%);
  --trace-bloom: radial-gradient(70% 34% at 18% 0%, rgba(242,163,50,0.16), rgba(242,163,50,0) 72%);
  --trace-bloom-back: radial-gradient(70% 34% at 82% 0%, rgba(242,163,50,0.13), rgba(242,163,50,0) 72%);
  --sheet-muted: #98A0AC;              /* Cloud's secondary text: 7.1:1 on the slate */
  --sheet-tint: #F6C37B;               /* Cloud's pale-gold accent text */
}
:is(.booklet, .brochure) .page.cover,
:is(.booklet, .brochure) .page.back {
  --left: 16mm; --right: 16mm;
  background: var(--sheet-charcoal);
  color: var(--white);
  padding: 15mm 16mm 0;
  display: flex;
  flex-direction: column;
}
:is(.booklet, .brochure) .cover__ground,
:is(.booklet, .brochure) .back__ground {
  position: absolute;
  inset: calc(-1 * var(--bleed));
  background: var(--trace-front) calc(var(--bleed) - 5mm) calc(var(--bleed) - 5mm) / 220mm 307mm no-repeat,
              var(--trace-bloom) no-repeat,
              var(--trace-light) no-repeat,
              var(--sheet-charcoal);
  z-index: 0;
}
:is(.booklet, .brochure) .back__ground {
  background: var(--trace-back) calc(var(--bleed) - 5mm) calc(var(--bleed) - 5mm) / 220mm 307mm no-repeat,
              var(--trace-bloom-back) no-repeat,
              var(--sheet-charcoal);
}
/* Wire-bound (wire-o) booklets: separate front and back covers punched along
   the bound edge, so neither line crosses the spine; each starts at its own
   terminal clear of the holes (local_scripts/trace-covers.py, *-wire). */
.booklet.bind-wire .cover__ground {
  background: var(--trace-front-wire) calc(var(--bleed) - 5mm) calc(var(--bleed) - 5mm) / 220mm 307mm no-repeat,
              var(--trace-bloom) no-repeat,
              var(--trace-light) no-repeat,
              var(--sheet-charcoal);
}
.booklet.bind-wire .back__ground {
  background: var(--trace-back-wire) calc(var(--bleed) - 5mm) calc(var(--bleed) - 5mm) / 220mm 307mm no-repeat,
              var(--trace-bloom-back) no-repeat,
              var(--sheet-charcoal);
}
:is(.booklet, .brochure) :is(.cover, .back) > :not(.cover__ground):not(.back__ground) { position: relative; z-index: 1; }
:is(.booklet, .brochure) .cover__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
:is(.booklet, .brochure) .cover__logo { height: 8mm; width: auto; display: block; }
/* The aerl logo is vector: assets/logos/aerl-logo.svg. Markup that still
   points at the raster aerl-logo.webp (covers, back covers, co-brand
   lockups) is given the SVG here. It has the webp's canvas (340 x 156, the
   same clear space round the mark), so nothing moves or resizes; new markup
   should reference the SVG directly. */
:is(.booklet, .brochure) img[src$="assets/logos/aerl-logo.webp"] { content: url("assets/logos/aerl-logo.svg"); }
/* Cloud's micro-label: JetBrains Mono, uppercase, tracked */
:is(.booklet, .brochure) :is(.cover__kind, .cover__foot, .back__grid h3) {
  font-family: var(--font-label); font-size: 10.5px; font-weight: 500; font-kerning: none;
  text-transform: uppercase; letter-spacing: 0.16em; color: var(--sheet-muted);
}
:is(.booklet, .brochure) .cover .download-pdf { margin-left: auto; }
:is(.booklet, .brochure) .cover__title {
  font-family: var(--font-brand);
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--white);
  margin: 5mm 0 0;
  padding: 0;
  border: 0;
}
:is(.booklet, .brochure) .cover__subtitle {
  font-family: var(--font-brand);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--sheet-muted);
  margin: 2.4mm 0 0;
}
:is(.booklet, .brochure) .cover__photo {
  position: absolute !important;
  left: 24mm;
  top: 104mm;
  width: 164mm;
  max-width: none !important;
  height: auto;
  filter: drop-shadow(0 12mm 10mm rgba(0, 0, 0, 0.55));
}
:is(.booklet, .brochure) .cover__band {
  position: absolute !important;
  left: 16mm;
  right: 16mm;
  top: 252mm;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10mm;
  color: var(--white);
}
:is(.booklet, .brochure) .cover__foot {
  position: absolute !important;
  left: 16mm;
  right: 16mm;
  bottom: 9mm;
  display: flex;
  justify-content: space-between;
}
:is(.booklet, .brochure) .cover__foot strong { color: var(--white); font-weight: 500; }

/* Back cover: the aerl logo in the ring, company, address and contact, web
   and phone, the document and revision, copyright. Booklets and folded
   brochures (LiFe²) share it. */
:is(.booklet, .brochure) .back__logo { position: absolute !important; left: 50%; top: 92mm; width: 88mm; height: auto; transform: translateX(-50%); }
:is(.booklet, .brochure) .back__name {
  position: absolute !important;
  left: 16mm; top: 170mm; width: 120mm; margin: 0;
  font-family: var(--font-brand);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--white);
}
:is(.booklet, .brochure) .back__grid {
  position: absolute !important;
  left: 16mm; right: 16mm; top: 203mm;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6mm 10mm;
}
:is(.booklet, .brochure) .back__grid h3 { color: var(--sheet-tint); margin: 0 0 1mm; }   /* micro-label: above */
:is(.booklet, .brochure) .back__grid p { font-size: 13px; line-height: 1.55; color: var(--gray-200); margin: 0; }
:is(.booklet, .brochure) .back__grid strong { color: var(--white); font-weight: 600; }
:is(.booklet, .brochure) .back__grid a { color: var(--gray-200) !important; border: 0; }
:is(.booklet, .brochure) .back__band {
  position: absolute !important;
  left: 16mm; right: 16mm; top: 252mm;
  display: flex; justify-content: space-between; align-items: flex-end; gap: 10mm;
  color: var(--white);
}
:is(.booklet, .brochure) .back__web { font-family: var(--font-brand); font-size: 34px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
:is(.booklet, .brochure) .back__doc { font-size: 13px; line-height: 1.45; text-align: right; color: var(--gray-300); }
:is(.booklet, .brochure) .back__doc strong { display: block; font-weight: 600; color: var(--white); }
:is(.booklet, .brochure) .back__foot {
  position: absolute !important;
  left: 16mm; right: 16mm; bottom: 9mm;
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--sheet-muted);
}
:is(.booklet, .brochure) .back__foot strong { color: var(--white); font-weight: 600; }
