---
updatedAt: 2026-10-07T18:54:37.000Z
agentTools:
  projectIndex: https://docs.sixfab.com/llms.txt
---

# Specifications

Explore the technical specifications of the ALPON X5 AI edge computer, including CPU, NPU performance, memory, and connectivity. Evaluate its capabilities for edge AI applications.

<HTMLBlock>{`
<style>
/* Theme guard: the docs container (.rm-ReadMe) decides light/dark once it carries
   data-color-mode; the html element is only the fallback before hydration. The
   :where(...) parts on the dark selectors below stop a light docs pane inside a
   non-light html element (ReadMe admin view) from picking up dark colors.
   They add no specificity. */
/* ════════════════════════════════════════════════════════════════════════
   FONTS — Gilroy (5 weights) + JetBrains Mono (2 weights)
   Per design language §1.1 starter boilerplate.
═════════════════════════════════════════════════════════════════════════ */
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Regular.woff2')   format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Medium.woff2')    format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-SemiBold.woff2')  format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Bold.woff2')      format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }

/* ════════════════════════════════════════════════════════════════════════
   DESIGN TOKENS — six-tier system, scoped to .sf-doc
   Per sixfab-docs-design-language.md §3.2
═════════════════════════════════════════════════════════════════════════ */
.sf-doc {
  /* Tier 1 — Core Brand */
  --primary:       #034860;   /* Sixfab Teal */
  --secondary:     #00E0B8;   /* Signal Mint */
  --tertiary:      #1B2D45;   /* Ink Navy */
  --neutral:       #E8F5F0;   /* Mist */

  /* Tier 2 — Neutral & Interface */
  --white:         #FFFFFF;
  --light:         #F6F8F9;
  --line:          #DDE6EC;
  --slate-light:   #94A8B5;
  --slate:         #52667A;
  --deep-ink:      #10202E;

  /* Tier 3 — AI / Product Accent */
  --ai-iris:       #6B47F0;
  --ai-mist:       #F0EDFF;
  --alpon-purple:  #4F008E;
  --alpon-cyan:    #00A6C8;

  /* Tier 4 — Campaign / Event */
  --ember:         #FF6B35;
  --ember-dark:    #B8471F;

  /* Tier 5 — Semantic / Status */
  --success:       #00B894;
  --warning:       #F59E0B;
  --danger:        #DC2626;
  --info:          #429CBF;
  --success-text:  #047857;
  --warning-text:  #92400E;
  --danger-text:   #B91C1C;
  --info-text:     #0E4A66;
  --success-bg:    #E0F5EE;
  --warning-bg:    #FDF1DC;
  --danger-bg:     #FBE5E5;
  --info-bg:       #DCEFF7;

  /* On-colors */
  --on-primary:    #FFFFFF;
  --on-secondary:  #1B2D45;
  --on-tertiary:   #E8F5F0;
  --on-neutral:    #10202E;
  --on-ember:      #10202E;

  /* Spacing — 4px base, 8-step scale */
  --xs:   4px;  --sm:   8px;  --md:  16px;  --lg:  24px;
  --xl:  32px;  --2xl: 48px;  --3xl: 64px;  --4xl: 96px;

  /* Rounded */
  --r-none: 0;     --r-sm:  4px;  --r-md:  6px;
  --r-lg:   8px;   --r-xl: 12px;  --r-2xl: 16px;  --r-full: 9999px;

  /* Gradients */
  --grad-alpon:        linear-gradient(135deg, var(--alpon-purple) 0%, var(--alpon-cyan) 100%);
  --grad-edge-cloud:   linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);

  /* Shadows */
  --shadow-sm:    0 1px 2px rgba(10, 23, 33, 0.04);
  --shadow-md:    0 4px 12px rgba(10, 23, 33, 0.06);
  --shadow-lg:    0 8px 24px rgba(10, 23, 33, 0.08);
  --shadow-focus: 0 0 0 2px var(--white), 0 0 0 4px var(--secondary);

  /* Fonts */
  --font-sans: 'Gilroy', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--deep-ink);
  -webkit-font-smoothing: antialiased;
}
.sf-doc * { box-sizing: border-box; }

/* ════════════════════════════════════════════════════════════════════════
   BASE TYPOGRAPHY — Gilroy + JetBrains Mono pairing
   Per design language §4.4
═════════════════════════════════════════════════════════════════════════ */
.sf-doc h1 {
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--deep-ink);
  margin: 0 0 16px;
}

/* Compact H2 — used in dense reference content (per §4.3 exception).
   Specifications is reference-only, so the compact size keeps the page scannable.
   Color stays --primary (Sixfab Teal) per type-color canonical pairings (§4.2). */
.sf-doc h2 {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--primary);
  margin: 56px 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.sf-doc h2:first-of-type { margin-top: 0; }

.sf-doc h3 {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.3;
  color: var(--deep-ink);
  margin: 28px 0 10px;
}

.sf-doc p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--deep-ink);
  margin: 0 0 14px;
}

.sf-doc ul, .sf-doc ol { padding-left: 24px; margin: 8px 0 16px; }
.sf-doc li {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--deep-ink);
  margin-bottom: 6px;
}
.sf-doc ul li::marker { color: var(--primary); }

.sf-doc a {
  color: var(--primary);
  text-decoration: none;
  transition: color .15s;
}
.sf-doc a:hover { color: var(--deep-ink); text-decoration: underline; }

.sf-doc code {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  background: var(--light);
  color: var(--primary);
  padding: 1px 5px;
  border-radius: var(--r-sm);
  border: 0;
}

.sf-doc strong { color: var(--deep-ink); font-weight: 700; }

.sf-doc hr {
  border: 0;
  height: 1px;
  background: var(--line);
  margin: 48px 0;
}

/* ════════════════════════════════════════════════════════════════════════
   META BAR — single-line strip under H1 (per §6.6)
   ALPON X5 AI badge is rendered with the ALPON Purple sub-brand surface.
═════════════════════════════════════════════════════════════════════════ */
.sf-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--slate);
  margin: 0 0 24px;
}
.sf-meta__badge {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.75rem;
  padding: 3px 8px;
  border-radius: var(--r-sm);
  background: var(--light);
  color: var(--primary);
  border: 1px solid var(--line);
  letter-spacing: 0;
  text-decoration: none !important;
}
.sf-meta__badge:hover { background: var(--neutral); color: var(--primary); }
.sf-meta__badge--mint {
  background: var(--neutral); color: var(--primary); border-color: var(--neutral);
}
/* Product-keyed badge — ALPON X5 AI uses ALPON Purple per project instructions §3
   (sub-brand surface). Wrapped in !important to defeat ReadMe link/inline styles. */
.sf-meta__badge--alpon-x5 {
  background: var(--alpon-purple) !important;
  color: #FFFFFF !important;
  border-color: var(--alpon-purple) !important;
}
.sf-meta__sep { color: var(--line); }

/* ════════════════════════════════════════════════════════════════════════
   EYEBROW — small caps label used inside hero (per design language §4.3)
═════════════════════════════════════════════════════════════════════════ */
.sf-eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--primary); margin: 0 0 12px;
}

/* ════════════════════════════════════════════════════════════════════════
   HERO — compact, single-column, Tier 1 default surface
   Adapted from Sixfab AI HAT+ specifications page.
═════════════════════════════════════════════════════════════════════════ */
.sf-hero {
  padding: var(--xl);
  margin: 0 0 24px;
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-2xl);
}
.sf-hero__copy { min-width: 0; }
.sf-doc .sf-hero__title {
  font-family: var(--font-sans);
  font-size: 3rem; font-weight: 800; line-height: 1.08; letter-spacing: -0.03em;
  color: var(--deep-ink); margin: 0 0 16px;
}
.sf-doc .sf-hero__lead {
  font-size: 1.0625rem; line-height: 1.6;
  color: var(--deep-ink); margin: 0 0 18px;
}
.sf-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }

.sf-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--deep-ink);
  margin: 0 0 24px;
}

/* ════════════════════════════════════════════════════════════════════════
   AEO ANSWER BLOCK — sf-aeo--ai (AI Iris) variant on this page per user
   request, matching the Sixfab AI HAT+ specifications treatment.
   Per design language §6.1
═════════════════════════════════════════════════════════════════════════ */
.sf-aeo {
  position: relative;
  background: var(--light);
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--r-md);
  padding: var(--lg) var(--xl);
  margin: 0 0 var(--xl);
}
.sf-aeo--ai {
  background: var(--ai-mist);
  border-color: rgba(107, 71, 240, 0.20);
  border-left-color: var(--ai-iris);
}
/* The question itself is the heading — readable display type. */
.sf-aeo__label {
  display: block;
  font-family: var(--font-sans);
  font-size: 1.375rem; font-weight: 700;
  line-height: 1.25; letter-spacing: -0.015em;
  text-transform: none;
  color: var(--primary);
  margin: 0 0 var(--sm);
}
.sf-aeo--ai .sf-aeo__label { color: var(--ai-iris); }
.sf-aeo__text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--deep-ink);
  margin: 0;
}
.sf-aeo__text strong { color: var(--primary); font-weight: 600; }
.sf-aeo--ai .sf-aeo__text strong { color: var(--ai-iris); }

/* ════════════════════════════════════════════════════════════════════════
   QUICK REFERENCE GRID — at-a-glance hero spec bar (per §11.3 step 3)
   4 key facts. Default Tier 1 anchor.
═════════════════════════════════════════════════════════════════════════ */
.sf-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin: 0 0 32px;
}
.sf-quick-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  border-right: 1px solid var(--line);
  background: var(--white);
}
.sf-quick-card:last-child { border-right: 0; }
.sf-quick-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
}
.sf-quick-card__head .sf-icon { color: var(--primary); }
.sf-quick-card__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slate);
}
.sf-quick-card__value {
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--deep-ink);
  line-height: 1.1;
}
.sf-quick-card__sub {
  font-size: 0.8125rem;
  color: var(--slate);
  line-height: 1.4;
}

/* ════════════════════════════════════════════════════════════════════════
   IN THIS GUIDE — sf-toc (design language §6.15)
   Adapted from Sixfab AI HAT+ specifications page.
═════════════════════════════════════════════════════════════════════════ */
.sf-toc {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: var(--md) var(--lg);
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  margin: 0 0 var(--xl);
}
.sf-toc__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slate);
  margin-right: var(--sm);
}
.sf-doc .sf-toc__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--deep-ink) !important;
  text-decoration: none !important;
  transition: all .15s;
  white-space: nowrap;
}
.sf-doc .sf-toc__item:hover,
.sf-doc .sf-toc__item:focus {
  background: var(--primary);
  color: var(--white) !important;
  border-color: var(--primary);
  text-decoration: none !important;
}
.sf-doc .sf-toc__item:hover .sf-toc__num,
.sf-doc .sf-toc__item:focus .sf-toc__num {
  color: var(--secondary);
}
.sf-toc__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--slate);
  transition: color .15s;
}

/* ════════════════════════════════════════════════════════════════════════
   ICONS — inline SVG, per §5
═════════════════════════════════════════════════════════════════════════ */
.sf-icon { width: 16px; height: 16px; flex-shrink: 0; vertical-align: -2px; }
.sf-icon--stroke { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* ════════════════════════════════════════════════════════════════════════
   SPEC CARDS — modern card layout (adapted from Sixfab AI HAT+ specs)
   Replaces sf-table--kv. Each H2 section gets a single full-width card
   containing key→value rows separated by dashed dividers.
═════════════════════════════════════════════════════════════════════════ */
.sf-spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}
.sf-spec-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: 20px 22px;
  display: flex; flex-direction: column;
  margin: 16px 0 24px;
  transition: border-color .15s;
}
.sf-spec-grid .sf-spec-card { margin: 0; }
.sf-spec-card:hover { border-color: var(--slate-light); }
.sf-spec-card__head {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
}
.sf-spec-card__icon {
  width: 32px; height: 32px;
  border-radius: var(--r-md);
  background: var(--light); color: var(--primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sf-spec-card__icon svg { width: 18px; height: 18px; }
.sf-spec-card__title {
  font-size: 1rem; font-weight: 700;
  color: var(--primary);
  letter-spacing: -0.01em;
}
.sf-spec-card__body { display: flex; flex-direction: column; }
.sf-spec-row {
  display: grid;
  grid-template-columns: minmax(160px, 30%) 1fr;
  gap: 24px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px dashed var(--line);
}
.sf-spec-row:first-child { padding-top: 4px; }
.sf-spec-row:last-child { border-bottom: 0; padding-bottom: 4px; }
.sf-spec-row__key {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--deep-ink);
  line-height: 1.5;
}
.sf-spec-row__val {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--deep-ink);
  line-height: 1.55;
  text-align: left;
  min-width: 0;
}
.sf-spec-row__val code { font-size: 0.875rem; }
.sf-spec-row__val em { font-style: italic; color: var(--slate); font-weight: 500; }
.sf-spec-row__val sup { font-size: 0.6875rem; font-weight: 700; color: var(--primary); }
.sf-spec-row__key sup { font-size: 0.6875rem; font-weight: 700; color: var(--primary); }

/* ════════════════════════════════════════════════════════════════════════
   CALLOUT / ALERT — Tier 5 semantic, per §6.3
═════════════════════════════════════════════════════════════════════════ */
.sf-callout {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-radius: var(--r-md);
  padding: 14px 18px;
  margin: 20px 0;
  border-left: 4px solid;
}
.sf-callout__header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}
.sf-callout__content { font-size: 0.9375rem; line-height: 1.6; color: var(--deep-ink); }
.sf-callout__content p { margin: 0 0 6px; font-size: 0.9375rem; color: inherit; }
.sf-callout__content p:last-child { margin-bottom: 0; }
.sf-callout__content code { background: rgba(0, 0, 0, 0.06); border: 0; }

.sf-callout--info     { background: var(--info-bg);    border-left-color: var(--info); }
.sf-callout--info     .sf-callout__header { color: var(--info-text); }
.sf-callout--success  { background: var(--success-bg); border-left-color: var(--success); }
.sf-callout--success  .sf-callout__header { color: var(--success-text); }
.sf-callout--warning  { background: var(--warning-bg); border-left-color: var(--warning); }
.sf-callout--warning  .sf-callout__header { color: var(--warning-text); }
.sf-callout--danger   { background: var(--danger-bg);  border-left-color: var(--danger); }
.sf-callout--danger   .sf-callout__header { color: var(--danger-text); }

/* ════════════════════════════════════════════════════════════════════════
   PILLS — per §6.2
   Default factual pill + status variants + brand variant for compliance row
═════════════════════════════════════════════════════════════════════════ */
.sf-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--r-sm);
  background: var(--light);
  color: var(--deep-ink);
  border: 1px solid var(--line);
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.4;
}
.sf-pill--success { background: var(--success-bg); color: var(--success-text); border-color: var(--success-bg); }
.sf-pill--warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-bg); }
.sf-pill--brand   { background: var(--primary);    color: var(--on-primary);   border-color: var(--primary); }

.sf-pill__dot {
  width: 6px;
  height: 6px;
  border-radius: var(--r-full);
  background: currentColor;
  opacity: 0.85;
  flex-shrink: 0;
}

/* Compliance grid — list of certification pills */
.sf-cert-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 24px;
}

/* ════════════════════════════════════════════════════════════════════════
   FOOTNOTES — terminal block of asterisked references
═════════════════════════════════════════════════════════════════════════ */
.sf-footnotes {
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 14px 20px;
  margin: 32px 0 0;
}
.sf-footnotes p {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  color: var(--slate);
  margin: 0 0 6px;
  line-height: 1.55;
}
.sf-footnotes p:last-child { margin: 0; }
.sf-footnotes sup { color: var(--primary); font-weight: 700; }

/* ════════════════════════════════════════════════════════════════════════
   DARK MODE — explicit + system preference (per §9 / design language §3.5)
═════════════════════════════════════════════════════════════════════════ */
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc {
  --primary:       #034860;
  --secondary:     #00E0B8;
  --tertiary:      #1B2D45;
  --neutral:       #E8F5F0;
  --white:         #FFFFFF;
  --light:         #14222F;
  --line:          #2A3A4D;
  --slate-light:   #94A8B5;
  --slate:         #B5C3CE;
  --deep-ink:      #E8F5F0;
  --success-bg:    #052E1B;
  --warning-bg:    #2A1F05;
  --danger-bg:     #2A0E0E;
  --info-bg:       #0A2E3F;
  --success-text:  #34D399;
  --warning-text:  #FBBF24;
  --danger-text:   #F87171;
  --info-text:     #5CD3EE;

  background: var(--tertiary);
  color: var(--deep-ink);
}
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc h1,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc h3,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc strong { color: #FFFFFF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc h2 { color: var(--secondary); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc p,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc li,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo__text,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout__content { color: var(--neutral); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc a { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc hr { background: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-meta__badge { background: rgba(255,255,255,0.06); color: var(--secondary); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-meta__badge--alpon-x5 { background: var(--alpon-purple) !important; color: #FFFFFF !important; border-color: var(--alpon-purple) !important; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo { background: rgba(255,255,255,0.04); border-color: var(--line); border-left-color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo__label { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo__text strong { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo--ai { background: rgba(107, 71, 240, 0.12); border-left-color: var(--ai-iris); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B299FF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B299FF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-hero { background: rgba(255,255,255,0.04); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-hero__title { color: #FFFFFF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-hero__lead { color: var(--neutral); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-eyebrow { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-meta__badge--mint { background: rgba(0, 224, 184, 0.14); color: var(--secondary); border-color: rgba(0, 224, 184, 0.30); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-grid { background: rgba(255,255,255,0.04); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-card { background: transparent; border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-card__value { color: #FFFFFF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-card__head,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-card__head .sf-icon { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-quick-card__sub { color: var(--slate); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-toc { background: rgba(255,255,255,0.04); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-toc__item { background: transparent; color: var(--neutral) !important; border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-toc__item:hover { background: var(--secondary); color: var(--tertiary) !important; border-color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-toc__item:hover .sf-toc__num { color: var(--tertiary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-card { background: rgba(255,255,255,0.04); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-card:hover { border-color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-card__head { border-bottom-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-card__icon { background: rgba(0, 224, 184, 0.10); color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-card__title { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row { border-bottom-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row__key { color: #FFFFFF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row__val { color: var(--neutral); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row__val code { background: rgba(255,255,255,0.06); color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row__val sup,
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-spec-row__key sup { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-pill { background: rgba(255,255,255,0.06); color: var(--neutral); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-pill--brand { background: var(--secondary); color: var(--tertiary); border-color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-pill--success { background: var(--success-bg); color: var(--success-text); border-color: var(--success-bg); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-pill--warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-bg); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--info    { background: rgba(66,156,191,0.12);  border-left-color: var(--info); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--info    .sf-callout__header { color: var(--info-text); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--success { background: rgba(0,184,148,0.12);   border-left-color: var(--success); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--success .sf-callout__header { color: var(--success-text); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--warning { background: rgba(245,158,11,0.12);  border-left-color: var(--warning); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--warning .sf-callout__header { color: var(--warning-text); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--danger  { background: rgba(220,38,38,0.12);   border-left-color: var(--danger); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-callout--danger  .sf-callout__header { color: var(--danger-text); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-footnotes { background: rgba(255,255,255,0.04); border-color: var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-footnotes p { color: var(--slate); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-footnotes sup { color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-related__card { background: rgba(255,255,255,0.04); box-shadow: inset 0 0 0 1px var(--line); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-related__card:hover { box-shadow: inset 0 0 0 1px var(--secondary), 0 4px 14px rgba(0,0,0,0.30); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-related__icon { background: rgba(0, 224, 184, 0.10); color: var(--secondary); }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-related__title { color: #FFFFFF; }
[data-color-mode="dark"]:where(.rm-ReadMe,:not(:has(.rm-ReadMe:is([data-color-mode="light"],[data-color-mode="system"])))) .sf-doc .sf-related__desc { color: var(--neutral); }

@media (prefers-color-scheme: dark) {
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc {
    --primary:       #034860;
    --secondary:     #00E0B8;
    --tertiary:      #1B2D45;
    --neutral:       #E8F5F0;
    --white:         #FFFFFF;
    --light:         #14222F;
    --line:          #2A3A4D;
    --slate-light:   #94A8B5;
    --slate:         #B5C3CE;
    --deep-ink:      #E8F5F0;
    --success-bg:    #052E1B;
    --warning-bg:    #2A1F05;
    --danger-bg:     #2A0E0E;
    --info-bg:       #0A2E3F;
    --success-text:  #34D399;
    --warning-text:  #FBBF24;
    --danger-text:   #F87171;
    --info-text:     #5CD3EE;

    background: var(--tertiary);
    color: var(--deep-ink);
  }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc h1,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc h3,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc strong { color: #FFFFFF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc h2 { color: var(--secondary); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc p,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc li,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo__text,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout__content { color: var(--neutral); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc a { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc hr { background: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-meta__badge { background: rgba(255,255,255,0.06); color: var(--secondary); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-meta__badge--alpon-x5 { background: var(--alpon-purple) !important; color: #FFFFFF !important; border-color: var(--alpon-purple) !important; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo { background: rgba(255,255,255,0.04); border-color: var(--line); border-left-color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo__label { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo__text strong { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo--ai { background: rgba(107, 71, 240, 0.12); border-left-color: var(--ai-iris); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B299FF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B299FF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-hero { background: rgba(255,255,255,0.04); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-hero__title { color: #FFFFFF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-hero__lead { color: var(--neutral); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-eyebrow { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-meta__badge--mint { background: rgba(0, 224, 184, 0.14); color: var(--secondary); border-color: rgba(0, 224, 184, 0.30); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-grid { background: rgba(255,255,255,0.04); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-card { background: transparent; border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-card__value { color: #FFFFFF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-card__head,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-card__head .sf-icon { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-quick-card__sub { color: var(--slate); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-toc { background: rgba(255,255,255,0.04); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-toc__item { background: transparent; color: var(--neutral) !important; border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-toc__item:hover { background: var(--secondary); color: var(--tertiary) !important; border-color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-toc__item:hover .sf-toc__num { color: var(--tertiary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-card { background: rgba(255,255,255,0.04); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-card:hover { border-color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-card__head { border-bottom-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-card__icon { background: rgba(0, 224, 184, 0.10); color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-card__title { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row { border-bottom-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row__key { color: #FFFFFF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row__val { color: var(--neutral); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row__val code { background: rgba(255,255,255,0.06); color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row__val sup,
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-spec-row__key sup { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-pill { background: rgba(255,255,255,0.06); color: var(--neutral); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-pill--brand { background: var(--secondary); color: var(--tertiary); border-color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-pill--success { background: var(--success-bg); color: var(--success-text); border-color: var(--success-bg); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-pill--warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-bg); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--info    { background: rgba(66,156,191,0.12);  border-left-color: var(--info); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--info    .sf-callout__header { color: var(--info-text); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--success { background: rgba(0,184,148,0.12);   border-left-color: var(--success); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--success .sf-callout__header { color: var(--success-text); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--warning { background: rgba(245,158,11,0.12);  border-left-color: var(--warning); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--warning .sf-callout__header { color: var(--warning-text); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--danger  { background: rgba(220,38,38,0.12);   border-left-color: var(--danger); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-callout--danger  .sf-callout__header { color: var(--danger-text); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-footnotes { background: rgba(255,255,255,0.04); border-color: var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-footnotes p { color: var(--slate); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-footnotes sup { color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-related__card { background: rgba(255,255,255,0.04); box-shadow: inset 0 0 0 1px var(--line); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-related__card:hover { box-shadow: inset 0 0 0 1px var(--secondary), 0 4px 14px rgba(0,0,0,0.30); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-related__icon { background: rgba(0, 224, 184, 0.10); color: var(--secondary); }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-related__title { color: #FFFFFF; }
  :is(html:not([data-color-mode="light"]):where(:not(:has(.rm-ReadMe[data-color-mode="light"]))),:where(.rm-ReadMe:is([data-color-mode="system"],[data-color-mode="dark"]))) .sf-doc .sf-related__desc { color: var(--neutral); }
}

/* ════════════════════════════════════════════════════════════════════════
   RESPONSIVE — breakpoints 820 / 640 / 400 (per §8.1)
═════════════════════════════════════════════════════════════════════════ */
@media (max-width: 820px) {
  .sf-quick-grid { grid-template-columns: 1fr 1fr; }
  .sf-quick-card:nth-child(2) { border-right: 0; }
  .sf-quick-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .sf-hero { padding: var(--lg); }
  .sf-doc .sf-hero__title { font-size: 2.5rem; }
  .sf-spec-row {
    grid-template-columns: minmax(140px, 36%) 1fr;
    gap: 16px;
  }
}
@media (max-width: 640px) {
  .sf-doc h1 { font-size: 2.25rem; }
  .sf-doc h2 { font-size: 1.25rem; margin-top: 48px; }
  .sf-quick-card__value { font-size: 1.25rem; }
  .sf-toc { gap: 4px; padding: 10px; }
  .sf-spec-card { padding: 16px 18px; }
  .sf-spec-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
  }
  .sf-spec-row__key { font-size: 0.875rem; }
  .sf-spec-row__val { font-size: 0.9375rem; }
  .sf-hero { padding: var(--md); }
  .sf-doc .sf-hero__title { font-size: 2.25rem; }
  .sf-aeo { padding: var(--md) var(--lg); }
  .sf-aeo__label { font-size: 1.125rem; }
}
@media (max-width: 400px) {
  .sf-quick-grid { grid-template-columns: 1fr; }
  .sf-quick-card { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .sf-quick-card:last-child { border-bottom: 0 !important; }
  .sf-doc .sf-hero__title { font-size: 2rem; }
}

/* === RELATED GUIDES (§6.18) ============================================= */
.sf-doc .sf-related { margin: 56px 0 0; }
.sf-doc .sf-related h2 { margin-top: 0; }
.sf-doc .sf-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.sf-doc .sf-related__card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none !important;
  padding: var(--lg);
  /* Border drawn via inset box-shadow so it survives ReadMe's
     anchor border-bottom reset (sf-doc a { border-bottom:0 !important; }). */
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--line);
  border-radius: var(--r-xl);
  background: var(--white);
  transition: box-shadow .15s, transform .15s;
}
.sf-doc .sf-related__card:hover {
  box-shadow: inset 0 0 0 1px var(--primary), 0 4px 14px rgba(3, 72, 96, 0.08);
  transform: translateY(-2px);
}
.sf-doc .sf-related__icon {
  width: 36px; height: 36px;
  border-radius: var(--r-md);
  background: var(--light);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.sf-doc .sf-related__icon svg { width: 18px; height: 18px; }
.sf-doc .sf-related__title {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--deep-ink);
  letter-spacing: -0.005em;
}
.sf-doc .sf-related__desc {
  font-size: 0.8125rem;
  color: var(--slate);
  line-height: 1.55;
  font-weight: 500;
}
@media (max-width: 820px) {
  .sf-doc .sf-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .sf-doc .sf-related__grid { grid-template-columns: 1fr; }
}
</style>

<div class="sf-doc">

  
  <header class="sf-hero">
    <div class="sf-hero__copy">
      <span class="sf-eyebrow">Technical Reference</span>
      <p class="sf-hero__title">ALPON X5 AI specifications</p>
      <p class="sf-hero__lead">
        Complete hardware and electrical specifications for the <strong>ALPON X5 AI</strong>: an industrial edge AI computer built on Raspberry Pi Compute Module 5 with a <strong>DEEPX DX-M1</strong> NPU rated at <strong>25 TOPS at INT8</strong>. Use this reference for mechanical integration, power budgeting, and radio planning. <strong>Regulatory certification is still in progress</strong> — see <a href="#compliance">Compliance</a> before making any conformity or market-placement decision. <em>Intelligented by DEEPX. Built on Raspberry Pi.</em>
      </p>
      <div class="sf-hero__chips">
        <span class="sf-pill">DEEPX DX-M1</span>
        <span class="sf-pill">Raspberry Pi CM5</span>
        <span class="sf-pill">LTE Cat 4</span>
        <span class="sf-pill">Wi-Fi 5 · BT 5.0</span>
        <span class="sf-pill">TPM 2.0</span>
      </div>
    </div>
  </header>

  
  <div class="sf-meta">
    <span class="sf-meta__badge sf-meta__badge--alpon-x5">ALPON X5 AI</span>
    <span class="sf-meta__sep">·</span>
    <span class="sf-meta__badge sf-meta__badge--mint">Technical Reference</span>
    <span class="sf-meta__sep">·</span>
    <span>Specifications</span>
    <span class="sf-meta__sep">·</span>
    <span>Updated 2026-09-17</span>
  </div>

  
  <div class="sf-aeo sf-aeo--ai">
    <span class="sf-aeo__label">What are the specs of the ALPON X5 AI?</span>
    <p class="sf-aeo__text">
      The ALPON X5 AI ships with a <strong>Broadcom BCM2712 quad-core Cortex-A76 @ 2.4 GHz</strong> on Raspberry Pi CM5, <strong>8 GB or 16 GB LPDDR4-4267 ECC RAM</strong>, a <strong>DEEPX DX-M1 NPU (25 TOPS at INT8)</strong> with 4 GB dedicated memory on a PCIe Gen 3 lane, NVMe SSD, <strong>2× Gigabit Ethernet</strong> with optional PoE+ on ETHERNET 0, <strong>LTE Cat 4</strong> with eSIM (eUICC), <strong>Wi-Fi 5</strong> dual-band, <strong>Bluetooth 5.0 / BLE</strong>, and an <strong>Infineon SLB 9670 TPM 2.0</strong>. The fanless aluminum enclosure operates from <strong>-20 °C to +60 °C</strong>. Intelligented by DEEPX. Built on Raspberry Pi.
    </p>
  </div>

  
  <div class="sf-quick-grid">
    <div class="sf-quick-card">
      <div class="sf-quick-card__head">
        <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"/><path d="M9 9h6v6H9z"/></svg>
        <span class="sf-quick-card__label">AI Accelerator</span>
      </div>
      <span class="sf-quick-card__value">25 TOPS</span>
      <span class="sf-quick-card__sub">DEEPX DX-M1, INT8 · 4 GB on-chip</span>
    </div>
    <div class="sf-quick-card">
      <div class="sf-quick-card__head">
        <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><rect x="5" y="5" width="14" height="14" rx="1"/><path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3"/></svg>
        <span class="sf-quick-card__label">Compute</span>
      </div>
      <span class="sf-quick-card__value">CM5 @ 2.4 GHz</span>
      <span class="sf-quick-card__sub">Quad-core Cortex-A76 (Armv8)</span>
    </div>
    <div class="sf-quick-card">
      <div class="sf-quick-card__head">
        <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M3 6h18M3 12h18M3 18h18"/></svg>
        <span class="sf-quick-card__label">Memory</span>
      </div>
      <span class="sf-quick-card__value">Up to 16 GB</span>
      <span class="sf-quick-card__sub">LPDDR4-4267 ECC SDRAM</span>
    </div>
    <div class="sf-quick-card">
      <div class="sf-quick-card__head">
        <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z"/></svg>
        <span class="sf-quick-card__label">Operating</span>
      </div>
      <span class="sf-quick-card__value">-20 to +60 °C</span>
      <span class="sf-quick-card__sub">Fanless · IP40 · Aluminum</span>
    </div>
  </div>

  
  <nav class="sf-toc" aria-label="On this page">
    <span class="sf-toc__label">In this guide</span>
    <a class="sf-toc__item" href="#mechanical"><span class="sf-toc__num">01</span>Mechanical &amp; environmental</a>
    <a class="sf-toc__item" href="#compute"><span class="sf-toc__num">02</span>Compute &amp; AI</a>
    <a class="sf-toc__item" href="#memory-storage"><span class="sf-toc__num">03</span>Memory &amp; storage</a>
    <a class="sf-toc__item" href="#io"><span class="sf-toc__num">04</span>Input &amp; output</a>
    <a class="sf-toc__item" href="#cellular"><span class="sf-toc__num">05</span>Cellular</a>
    <a class="sf-toc__item" href="#wireless"><span class="sf-toc__num">06</span>Wi-Fi, Bluetooth &amp; GNSS</a>
    <a class="sf-toc__item" href="#power"><span class="sf-toc__num">07</span>Power</a>
    <a class="sf-toc__item" href="#security"><span class="sf-toc__num">08</span>Security</a>
    <a class="sf-toc__item" href="#software"><span class="sf-toc__num">09</span>Software</a>
    <a class="sf-toc__item" href="#expansion"><span class="sf-toc__num">10</span>Expansion</a>
    <a class="sf-toc__item" href="#compliance"><span class="sf-toc__num">11</span>Compliance</a>
  </nav>

  
  <h2 id="mechanical">Mechanical &amp; environmental</h2>

  <p>The ALPON X5 AI uses a <strong>fully aluminum, fanless enclosure</strong>. The top face acts as a passive cooling surface and must remain unobstructed to ensure thermal performance under sustained AI inference workloads. DIN rail and wall mount kits are available as optional accessories.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Dimensions</span>
        <span class="sf-spec-row__val">100 × 100 × 45 mm (3.93 × 3.93 × 1.77 in), without antennas</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Weight</span>
        <span class="sf-spec-row__val">Approx. 457 g (1.0 lb)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Case Material</span>
        <span class="sf-spec-row__val">Full aluminum enclosure, top side passively cooled</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Protection Class<sup>1</sup></span>
        <span class="sf-spec-row__val">IP40</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Operating Temperature</span>
        <span class="sf-spec-row__val">-20 °C to +60 °C (-4 °F to +140 °F)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Storage Temperature</span>
        <span class="sf-spec-row__val">-40 °C to +85 °C (-40 °F to +185 °F)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Max. Relative Humidity</span>
        <span class="sf-spec-row__val">Up to 95%, non-condensing</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Environmental</span>
        <span class="sf-spec-row__val">Rugged, fanless design suitable for industrial and harsh environments</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Mounting Options</span>
        <span class="sf-spec-row__val">DIN Mount (optional) · Wall Mount (optional)</span>
      </div>
      </div>
    </div>

  <div class="sf-callout sf-callout--info">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="9"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
      <span>Thermal design</span>
    </span>
    <div class="sf-callout__content">
      <p>For sustained high-TOPS AI workloads, mount the device with the aluminum top face exposed to ambient airflow. The enclosure is rated for <strong>+60 °C ambient</strong>; internal junction temperatures stay within CM5 and DEEPX thermal limits under typical industrial deployment scenarios.</p>
    </div>
  </div>

  
  <h2 id="compute">Compute &amp; AI</h2>

  <p>The host platform is the <strong>Raspberry Pi Compute Module 5</strong>. The AI accelerator is the <strong>DEEPX DX-M1</strong> in M.2 2280 form factor on a PCIe Gen 3 lane, fanned out to the NVMe SSD through an on-board <code>ASM2806I</code> packet switch. AI inference does not contend with host CPU or system RAM; the NPU has its own 4 GB on-chip memory.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Host Module</span>
        <span class="sf-spec-row__val">Raspberry Pi Compute Module 5</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Processor</span>
        <span class="sf-spec-row__val">Broadcom BCM2712 quad-core 64-bit Arm Cortex-A76 (Armv8) SoC @ 2.4 GHz</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">AI Accelerator</span>
        <span class="sf-spec-row__val">DEEPX DX-M1 (M.2 2280)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Performance</span>
        <span class="sf-spec-row__val">25 TOPS at INT8 precision</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Memory</span>
        <span class="sf-spec-row__val">4 GB on-chip dedicated (does not share system RAM)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Power<sup>2</sup></span>
        <span class="sf-spec-row__val">2 W min · 5 W max for DEEPX-supported AI models</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Interface</span>
        <span class="sf-spec-row__val">PCIe Gen 3 (via on-board ASM2806I packet switch)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Supported Model Formats</span>
        <span class="sf-spec-row__val">ONNX (input) → DXNN compiler · PyTorch, TensorFlow, Keras, MXNet, XGBoost-trained models exported to ONNX</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Runtime APIs</span>
        <span class="sf-spec-row__val">Python (<code>dx_engine</code>) · C++ (<code>dxrt_api.h</code>)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Concurrent Inference</span>
        <span class="sf-spec-row__val">Multiple models supported simultaneously on the NPU</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Monitoring</span>
        <span class="sf-spec-row__val"><code>dxtop</code> command-line utility (NPU usage, memory, temperature)</span>
      </div>
      </div>
    </div>

  <div class="sf-callout sf-callout--info">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="9"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
      <span>Real-world inference</span>
    </span>
    <div class="sf-callout__content">
      <p>YOLO-family vision models compiled with PPU support reach approximately <strong>50 FPS at 1280 × 720</strong> and <strong>20 to 25 FPS at 1920 × 1080</strong> on the DX-M1, measured on nano-class variants. FPS varies by model and resolution; transformer-class models are not yet supported. See the <a href="/docs/ai-model-deployment-overview" target="_blank" rel="noopener">AI Model Deployment</a> guide for benchmarks and the model-conversion workflow.</p>
    </div>
  </div>

  
  <h2 id="memory-storage">Memory &amp; storage</h2>

  <p>System memory is supplied by the CM5 module. Persistent storage uses an NVMe SSD on the same PCIe Gen 3 fabric as the NPU, with optional onboard eMMC for boot.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">System Memory</span>
        <span class="sf-spec-row__val">8 GB or 16 GB LPDDR4-4267 SDRAM with ECC</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Primary Storage</span>
        <span class="sf-spec-row__val">NVMe SSD (PCIe Gen 3, M.2)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Boot Storage (Optional)</span>
        <span class="sf-spec-row__val">CM5 onboard eMMC</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Real Time Clock</span>
        <span class="sf-spec-row__val">CR1220 coin-cell battery backup</span>
      </div>
      </div>
    </div>

  
  <h2 id="io">Input &amp; output</h2>

  <p>All externally accessible I/O is exposed on the front and rear faces of the enclosure. For pinouts and GPIO mapping, see the <a href="/docs/alpon-x5-ai-edge-computer-physical-layout-io" target="_blank" rel="noopener">Physical Layout &amp; I/O</a> reference.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">USB</span>
        <span class="sf-spec-row__val">2× USB 3.0 (5 Gbps) · 1× USB Type-C (USB-PD sink, burn mode only — not a data or power-out port)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">USB Power Capacity</span>
        <span class="sf-spec-row__val">5 V DC, 1.8 A total (shared across both USB 3.0 ports, AP22653 power switch)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Ethernet</span>
        <span class="sf-spec-row__val">2× 1 Gbps (RJ45)<sup>3</sup></span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Display</span>
        <span class="sf-spec-row__val">1× HDMI 2.0 (up to 4Kp60, HDR, HEVC / H.265)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Camera Module Interface</span>
        <span class="sf-spec-row__val">1× MIPI CSI-2, 2-lane (camera only, not display) routed to a Mini HDMI connector</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Camera Power</span>
        <span class="sf-spec-row__val">3.3 V DC @ 490 mA</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Tested Camera</span>
        <span class="sf-spec-row__val">Raspberry Pi Camera Module 3 (via Sixfab Camera Board v1.0 adapter)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">GPIO Add-on Port</span>
        <span class="sf-spec-row__val">1× RJ45-style connector exposing 6 GPIO pins (SPI5, UART4, UART0, I2C2, I2C3) plus 5 V OUT, GND</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">GPIO Logic Level</span>
        <span class="sf-spec-row__val">3.3 V · 1 kΩ pull-ups · ESD protected · onboard level converter</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">GPIO Power Output</span>
        <span class="sf-spec-row__val">5 V DC @ 1 A (5 W max), software-enabled via GPIO 21, fault detection on GPIO 20</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Buttons</span>
        <span class="sf-spec-row__val">2× user buttons: PB1 (front, GPIO 5) and PB2 (rear, GPIO 6), both user-programmable · pull-up, active-low</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">LED Indicators</span>
        <span class="sf-spec-row__val">4 indicator LEDs: 1× user RGB (programmable) · 1× cellular RGB (blue / yellow / red signal strength) · 1× status (green) · 1× power (white) · TCA6408 I/O expander on I2C1</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Switches</span>
        <span class="sf-spec-row__val">1× boot/burn DIP switch (SW2) · 1× watchdog enable/disable DIP switch (SW1)</span>
      </div>
      </div>
    </div>

  <div class="sf-callout sf-callout--danger">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2 2 22h20L12 2z"/><line x1="12" y1="9" x2="12" y2="14"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
      <span>GPIO Add-on port is not Ethernet</span>
    </span>
    <div class="sf-callout__content">
      <p>The RJ45-style <strong>GPIO Add-on port</strong> is not an Ethernet or PoE port. Connecting an Ethernet or PoE cable to this port causes permanent hardware damage. Use this port only for Sixfab Edge add-on modules.</p>
    </div>
  </div>

  <div class="sf-callout sf-callout--warning">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 9v4M12 17h.01M3 18l9-15 9 15z"/></svg>
      <span>USB overcurrent behavior</span>
    </span>
    <div class="sf-callout__content">
      <p>Total current across both USB 3.0 ports is shared and capped at <strong>1.8 A</strong>. Exceeding this triggers hardware current limiting; sustained overload triggers thermal cut-off on both ports together. The ports recover automatically once the offending device is removed — no reboot required.</p>
    </div>
  </div>

  
  <h2 id="cellular">Cellular</h2>

  <p>The integrated <strong>LTE Cat 4</strong> modem connects to the CM5 over the native USB 2.0 bus and supports global LTE bands. eSIM (eUICC SGP.22) is soldered on-board for remote profile provisioning. Hardware reset is exposed on GPIO 18 for cases where the modem locks on the network.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Cellular Module<sup>4</sup></span>
        <span class="sf-spec-row__val">4G / LTE Cat 4</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Coverage</span>
        <span class="sf-spec-row__val">Global</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Frequency Bands</span>
        <span class="sf-spec-row__val">B1 / B2 / B3 / B4 / B5 / B7 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B26 / B28 / B34 / B38 / B39 / B40 / B41 / B66</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Data Speed<sup>5</sup></span>
        <span class="sf-spec-row__val">LTE-FDD: up to 150 Mbps DL / 50 Mbps UL (theoretical) · LTE-TDD: up to 130 Mbps DL / 30 Mbps UL (theoretical)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">SIM Type</span>
        <span class="sf-spec-row__val">eSIM (eUICC) SGP.22 compatible · Consumer profile management · remote download &amp; switch</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Modem Power</span>
        <span class="sf-spec-row__val">3.3 V rail · 3 A peak · ≈5 W typical at full load</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Modem Reset</span>
        <span class="sf-spec-row__val">Hardware reset on GPIO 18 (HIGH for 10 s, then LOW)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Antennas</span>
        <span class="sf-spec-row__val">2× LTE (LTE Main + LTE Diversity)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Outdoor IP67 Antenna (Optional)</span>
        <span class="sf-spec-row__val">3-meter cabled combination antenna with surface mount</span>
      </div>
      </div>
    </div>

  
  <h2 id="wireless">Wi-Fi, Bluetooth &amp; GNSS</h2>

  <p>Short-range wireless and positioning are provided by the CM5's integrated radio plus a dedicated GNSS receiver. Antenna naming uses the standard Sixfab convention: <code>LTE Main</code>, <code>LTE Diversity</code>, <code>GNSS/GPS</code>, <code>Wi-Fi/Bluetooth</code>.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Wi-Fi</span>
        <span class="sf-spec-row__val">2.4 GHz and 5.0 GHz dual-band, IEEE 802.11 b/g/n/ac (Wi-Fi 5)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Bluetooth</span>
        <span class="sf-spec-row__val">Bluetooth 5.0 / BLE</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Positioning</span>
        <span class="sf-spec-row__val">GPS / GNSS · Cellular Geolocation</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Antennas</span>
        <span class="sf-spec-row__val">1× Wi-Fi/Bluetooth · 1× GNSS/GPS</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Network Failover</span>
        <span class="sf-spec-row__val">Automatic failover across Gigabit Ethernet, Wi-Fi, and LTE Cat 4 (managed by the ALPON Cloud stack)</span>
      </div>
      </div>
    </div>

  <p>For full antenna pattern, gain, and connector specifications, see <a href="/docs/alpon-x5-ai-edge-computer-physical-layout-io#antennas" target="_blank" rel="noopener">Antenna connectors</a>.</p>

  
  <h2 id="power">Power</h2>

  <p>The ALPON X5 AI accepts power on three inputs: a <strong>12 to 24 V DC screw terminal</strong>, a <strong>USB Type-C PD sink</strong>, and an <strong>optional PoE+ (IEEE 802.3at)</strong> path on ETHERNET 0. There is no hardware priority between sources; the device draws from whichever input has the highest voltage. The terminal block has reverse polarity protection.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Power Inputs</span>
        <span class="sf-spec-row__val">Screw Terminal Block (12 to 24 V DC) · USB-C PD sink · PoE+ IEEE 802.3at, class 4 (optional, ETHERNET 0 only)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Terminal Block Pinout</span>
        <span class="sf-spec-row__val">1: Chassis Ground · 2: V- · 3: V+</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Reverse Polarity Protection</span>
        <span class="sf-spec-row__val">Yes, on the terminal block</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">USB-C PD Recommended<sup>6</sup></span>
        <span class="sf-spec-row__val">27 W minimum (bundled adapter: 15 V / 1.8 A) · 45 W adapter (e.g. 15 V / 3.0 A) recommended for full-load operation</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">USB-C PD Supported Profiles</span>
        <span class="sf-spec-row__val">12 V / ≥2.25 A · 15 V / ≥1.8 A (27 W minimum; up to 45 W recommended)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">PoE+ Input Voltage</span>
        <span class="sf-spec-row__val">37 to 57 V DC (per IEEE 802.3at)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">PoE+ Maximum Power</span>
        <span class="sf-spec-row__val">Up to 25 W</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">PoE+ Budget</span>
        <span class="sf-spec-row__val">Up to 25 W delivered at the device. Full load of all subsystems is ≈45 W, so PoE+ alone cannot sustain full load: on PoE, keep peripheral load (USB devices, camera, GPIO add-on 5 V rail) low enough that total draw stays under 25 W, or use the DC terminal / USB-C PD input for sustained AI workloads</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Idle Power<sup>7</sup></span>
        <span class="sf-spec-row__val">Approx. 8 W (CM5 + LTE + regulators)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Half-load Power<sup>7</sup></span>
        <span class="sf-spec-row__val">Approx. 20 W</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Full-load Power<sup>7</sup></span>
        <span class="sf-spec-row__val">Approx. 45 W (all subsystems active: NPU, USB, camera, GPIO add-on)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">USB Output Power</span>
        <span class="sf-spec-row__val">5 V DC, 1.8 A total (across both USB 3.0 ports)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Restricted Mode<sup>8</sup></span>
        <span class="sf-spec-row__val">Below 12 V input, the device runs only the CM5, LTE modem, and Ethernet ports; USB, PCIe, GPIO add-on, and camera are disabled</span>
      </div>
      </div>
    </div>

  <div class="sf-callout sf-callout--warning">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M13 2L3 14h7l-1 8 10-12h-7l1-8z"/></svg>
      <span>Single power source recommended</span>
    </span>
    <div class="sf-callout__content">
      <p>Although the hardware tolerates simultaneous connections on multiple inputs, Sixfab does not recommend powering the device from more than one source at a time. When multiple inputs are connected, the device draws from the source with the highest voltage. PoE+ is available <strong>only on ETHERNET 0</strong>; ETHERNET 1 cannot supply power.</p>
    </div>
  </div>

  
  <h2 id="security">Security</h2>

  <p>The ALPON X5 AI ships with a <strong>hardware root of trust</strong> via an Infineon TPM 2.0 module on SPI0. A hardware watchdog resets the device on firmware or OS failure and can only be disabled physically through the SW1 DIP switch — there is no software bypass.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">TPM Module</span>
        <span class="sf-spec-row__val">Infineon Technologies SLB 9670VQ2.0 (TPM 2.0, SPI interface)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">TPM Connections</span>
        <span class="sf-spec-row__val">SPI0: SCLK GPIO 11 · CS GPIO 7 · MISO GPIO 9 · MOSI GPIO 10 · IRQ GPIO 24 · RST GPIO 4 (active LOW)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">TPM Tooling</span>
        <span class="sf-spec-row__val"><code>tpm2-tools</code> (<code>sudo apt install tpm2-tools</code>)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Hardware Watchdog</span>
        <span class="sf-spec-row__val">5-minute timeout · trigger pin GPIO 16 · status pin GPIO 8 · resets device on missed kick</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Watchdog Disable</span>
        <span class="sf-spec-row__val">SW1 DIP switch only (no software disable)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Always-on VPN</span>
        <span class="sf-spec-row__val">Built-in VPN tunnel dedicated to ALPON Cloud services</span>
      </div>
      </div>
    </div>

  
  <h2 id="software">Software</h2>

  <p>The device ships with the pre-installed <strong>ALPON X5 AI OS</strong>: a Raspberry Pi compatible Linux distribution with the <strong>DEEPX runtime driver</strong> (<code>dxrt-runtime</code>) installed on the host. Application workloads deploy as containers via ALPON Cloud.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Pre-installed OS</span>
        <span class="sf-spec-row__val">ALPON X5 AI OS (Raspberry Pi compatible, ARM64)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">NPU Runtime</span>
        <span class="sf-spec-row__val"><code>dxrt-runtime</code> driver pre-installed on host</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Container Runtime</span>
        <span class="sf-spec-row__val">Not pre-installed; install Docker (<code>sudo apt install docker.io</code>) or deploy via ALPON Cloud. NPU exposed to containers via privileged mode + <code>/dev/dxrt0</code> volume mapping</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Container Management</span>
        <span class="sf-spec-row__val">Deploy, monitor, and update containers across device groups via <a href="/docs/alpon-cloud" target="_blank" rel="noopener">ALPON Cloud</a></span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Network Management</span>
        <span class="sf-spec-row__val">Multi-network support (Gigabit Ethernet, Wi-Fi 5, LTE Cat 4) with automatic failover</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Remote Access</span>
        <span class="sf-spec-row__val">Always-on VPN tunnel · TLS-encrypted diagnostics · remote terminal</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">OTA Updates</span>
        <span class="sf-spec-row__val">Remote firmware, software, and OS updates</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Architecture</span>
        <span class="sf-spec-row__val">ARM64 (aarch64) — application binaries must be built for this architecture</span>
      </div>
      </div>
    </div>

  
  <h2 id="expansion">Expansion</h2>

  <p>Hardware expansion is provided through the GPIO add-on port and USB ports, plus official Sixfab Edge add-on modules. eSIM remote provisioning supports the GSMA SGP.22 Consumer profile.</p>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">SIM Type</span>
        <span class="sf-spec-row__val">eSIM (eUICC), GSMA SGP.22 compatible · Consumer profile management · remote download &amp; switch</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Supported Modules</span>
        <span class="sf-spec-row__val">Sixfab Edge add-on modules · third-party hardware via GPIO (3.3 V) and USB</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Camera Adapter</span>
        <span class="sf-spec-row__val">Sixfab Camera Board v1.0 (Mini HDMI to MIPI CSI-2 breakout)</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Tested Camera</span>
        <span class="sf-spec-row__val">Raspberry Pi Camera Module 3</span>
      </div>
      </div>
    </div>

  
  <h2 id="compliance">Compliance</h2>

  <p>Regulatory, network, and carrier certification for the ALPON X5 AI is <strong>currently in progress</strong>. Every mark and approval listed below is <strong>targeted</strong>, not held: test campaigns are under way at accredited labs, but <strong>no certificate of conformity, Declaration of Conformity (DoC), or carrier approval has been issued yet</strong>. For the current status letter, region-specific availability, and frequency declarations, contact Sixfab or see the <a href="/docs/alpon-x5-ai-edge-computer-safety-compliance" target="_blank" rel="noopener">Safety &amp; Compliance</a> page.</p>

  <div class="sf-callout sf-callout--warning">
    <span class="sf-callout__header">
      <svg class="sf-icon sf-icon--stroke" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 9v4M12 17h.01M3 18l9-15 9 15z"/></svg>
      <span>Certifications in progress — do not treat as confirmed</span>
    </span>
    <div class="sf-callout__content">
      <p>Every regulatory, network, and carrier approval listed in this section is still in progress. Do not rely on this page as final compliance evidence; for procurement, RFP, or pre-production deployment decisions, request the <strong>current status letter</strong> from Sixfab and wait for the official Declaration of Conformity once available.</p>
    </div>
  </div>

  <div class="sf-cert-grid">
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>CE — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>FCC — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>IC — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>UKCA — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>RoHS — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>WEEE — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>REACH — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>ICASA — in progress</span>
    <span class="sf-pill sf-pill--warning"><span class="sf-pill__dot"></span>RCM — in progress</span>
  </div>

  <div class="sf-spec-card">
      <div class="sf-spec-card__body">
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Targeted Regulatory Certifications<sup>9</sup></span>
        <span class="sf-spec-row__val">CE, FCC, IC, UKCA, RoHS, WEEE, REACH, ICASA, RCM — <strong>all in progress</strong></span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Targeted Network &amp; Carrier Approvals<sup>4</sup><sup>9</sup></span>
        <span class="sf-spec-row__val">Verizon, AT&amp;T, T-Mobile, PTCRB, GCF — <strong>all in progress</strong></span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Warranty</span>
        <span class="sf-spec-row__val">2-year limited warranty</span>
      </div>
        <div class="sf-spec-row">
        <span class="sf-spec-row__key">Value-added Services</span>
        <span class="sf-spec-row__val">Hardware customization · Branding &amp; labelling · Remote support · Add-on module customization · Software containerization support · Consulting services</span>
      </div>
      </div>
    </div>

  
  <div class="sf-footnotes">
    <p><sup>1</sup> IP40 protection against solid objects greater than 1 mm. Not rated for liquid ingress.</p>
    <p><sup>2</sup> NPU-only power consumption for DEEPX-supported AI models. Total system power depends on workload across CM5, modem, USB, and camera subsystems.</p>
    <p><sup>3</sup> ETHERNET 0 is a native CM5 Gigabit port and supports PoE+. ETHERNET 1 is bridged through a USB hub via the RTL8153B controller and shares its 5 Gbps USB lane with one USB 3.0 port.</p>
    <p><sup>4</sup> This product supports only 4G/LTE networks, with no fallback to 2G/3G. Performance on non-4G/LTE networks is not guaranteed.</p>
    <p><sup>5</sup> Data rates are theoretical maxima. Actual throughput depends on network conditions, band, and carrier.</p>
    <p><sup>6</sup> The USB Type-C port is a USB-PD <strong>sink</strong> only. It does not source power and is not a general-purpose USB data port; it is used for image flashing in burn mode.</p>
    <p><sup>7</sup> Indicative figures based on Sixfab measurements. Actual consumption varies with workload, ambient temperature, and connected peripherals.</p>
    <p><sup>8</sup> Restricted mode is automatic. When input voltage drops below 12 V (e.g. a 5 V supply), the device disables high-power subsystems to keep core compute and connectivity online safely down to 5 V.</p>
    <p><sup>9</sup> All certifications listed on this page are in progress at time of writing — no regulatory, network, or carrier approval has been issued for the ALPON X5 AI yet. This page is updated as each certification is issued; contact Sixfab for the current status.</p>
  </div>

  
  <section class="sf-related">
    <h2>Related guides</h2>
    <div class="sf-related__grid">
      <a class="sf-related__card" href="/docs/alpon-x5-ai-edge-computer-physical-layout-io" target="_blank" rel="noopener">
        <div class="sf-related__icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/></svg>
        </div>
        <div class="sf-related__title">Physical Layout &amp; I/O</div>
        <div class="sf-related__desc">Connector locations, pinouts, LEDs, buttons, and antenna ports on each face.</div>
      </a>
      <a class="sf-related__card" href="/docs/alpon-x5-ai-edge-computer-power-mounting" target="_blank" rel="noopener">
        <div class="sf-related__icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
        </div>
        <div class="sf-related__title">Power &amp; Mounting</div>
        <div class="sf-related__desc">Power input options, budgets, and DIN-rail or wall mounting instructions.</div>
      </a>
      <a class="sf-related__card" href="/docs/alpon-device-comparison" target="_blank" rel="noopener">
        <div class="sf-related__icon">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16v16H4z"/><path d="M4 9h16M4 14h16M9 4v16"/></svg>
        </div>
        <div class="sf-related__title">Device Comparison</div>
        <div class="sf-related__desc">Side-by-side comparison of the ALPON X5 AI and ALPON X4.</div>
      </a>
    </div>
  </section>

</div>


`}</HTMLBlock>