/* Armada — https://github.com/armsys-tech/armada — MIT. Built file, edit resources/css. */
/* ---- 00-core.css ---- */
/* Everything lives in cascade layers, so Tailwind (or any unlayered app CSS) always wins. */
@layer arm.tokens, arm.base, arm.components, arm.utilities;

/* ========================================================================== Tokens */
@layer arm.tokens {
  :root {
    color-scheme: dark;
    --arm-mix: #fff;              /* what hover states blend towards */

    --arm-bg: #09090b;
    --arm-bg-alt: #0d0d10;
    --arm-surface-1: #111114;
    --arm-surface-2: #18181c;
    --arm-surface-3: #202025;
    --arm-surface-elevated: #141417;
    --arm-overlay: rgb(3 3 5 / .66);
    --arm-hover: rgb(255 255 255 / .05);
    --arm-active: rgb(255 255 255 / .08);
    --arm-input-bg: #0c0c0f;

    --arm-border-soft: #1b1b20;
    --arm-border: #27272c;
    --arm-border-strong: #36363d;
    --arm-border-interactive: #4b4b55;

    --arm-text: #f4f4f5;
    --arm-text-secondary: #d4d4d8;
    --arm-text-muted: #a1a1aa;
    --arm-text-subtle: #71717a;
    --arm-text-disabled: #52525b;
    --arm-link: #8fb0ff;

    --arm-inverse: #f4f4f5;  --arm-inverse-hover: #ffffff;  --arm-on-inverse: #09090b;
    --arm-primary: #4d7cfe;  --arm-primary-hover: #6a91ff;  --arm-on-primary: #ffffff;
    --arm-success: #3ecf8e;  --arm-on-success: #03140c;
    --arm-info: #5aa9ff;     --arm-on-info: #03101f;
    --arm-warning: #f5b83d;  --arm-on-warning: #1a1002;
    --arm-danger: #e5484d;   --arm-on-danger: #ffffff;
    --arm-purple: #a78bfa;   --arm-on-purple: #12082b;
    --arm-pink: #f472b6;     --arm-on-pink: #2a0818;
    --arm-orange: #fb8c3c;   --arm-on-orange: #1f0d02;
    --arm-yellow: #facc15;   --arm-on-yellow: #1a1500;
    --arm-teal: #2dd4bf;     --arm-on-teal: #02171a;

    --arm-font: Inter, "Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --arm-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;
    --arm-fs-xs: .75rem;
    --arm-fs-sm: .8125rem;
    --arm-fs-md: .875rem;
    --arm-fs-lg: .9375rem;
    --arm-fs-xl: 1.0625rem;
    --arm-lh: 1.55;

    --arm-radius-sm: 6px;
    --arm-radius-md: 8px;
    --arm-radius-lg: 12px;
    --arm-radius-xl: 16px;
    --arm-radius-full: 999px;

    --arm-control-h-xs: 24px;
    --arm-control-h-sm: 30px;
    --arm-control-h-md: 36px;
    --arm-control-h-lg: 42px;
    --arm-control-h-xl: 48px;
    --arm-control-radius: var(--arm-radius-md);

    --arm-shadow-xs: 0 1px 1px rgb(0 0 0 / .25);
    --arm-shadow-md: 0 8px 24px rgb(0 0 0 / .32);
    --arm-focus: #7a9dff;
    --arm-ring: 0 0 0 3px color-mix(in srgb, var(--arm-primary) 28%, transparent);

    --arm-dur: 160ms;
    --arm-ease: cubic-bezier(.2, .7, .2, 1);
  }

  [data-arm-theme="light"] {
    color-scheme: light;
    --arm-mix: #000;
    --arm-bg: #ffffff;
    --arm-bg-alt: #fafafa;
    --arm-surface-1: #ffffff;
    --arm-surface-2: #f4f4f5;
    --arm-surface-3: #ebebee;
    --arm-surface-elevated: #ffffff;
    --arm-overlay: rgb(9 9 11 / .5);
    --arm-hover: rgb(9 9 11 / .04);
    --arm-active: rgb(9 9 11 / .07);
    --arm-input-bg: #ffffff;
    --arm-border-soft: #efeff1;
    --arm-border: #e4e4e7;
    --arm-border-strong: #d4d4d8;
    --arm-border-interactive: #a1a1aa;
    --arm-text: #09090b;
    --arm-text-secondary: #27272a;
    --arm-text-muted: #52525b;
    --arm-text-subtle: #71717a;
    --arm-text-disabled: #a1a1aa;
    --arm-link: #2f5fe0;
    --arm-inverse: #09090b;  --arm-inverse-hover: #27272a;  --arm-on-inverse: #ffffff;
    --arm-primary: #3b6af0;  --arm-primary-hover: #2f5fe0;  --arm-on-primary: #ffffff;
    --arm-success: #16a36a;  --arm-on-success: #ffffff;
    --arm-info: #2f7fe0;     --arm-on-info: #ffffff;
    --arm-warning: #c98a0b;  --arm-on-warning: #ffffff;
    --arm-danger: #dc3a40;   --arm-on-danger: #ffffff;
    --arm-purple: #7c4ddf;   --arm-on-purple: #ffffff;
    --arm-pink: #db2777;     --arm-on-pink: #ffffff;
    --arm-orange: #e5640c;   --arm-on-orange: #ffffff;
    --arm-yellow: #b38900;   --arm-on-yellow: #ffffff;
    --arm-teal: #0f9488;     --arm-on-teal: #ffffff;
    --arm-shadow-xs: 0 1px 2px rgb(9 9 11 / .06);
    --arm-shadow-md: 0 8px 24px rgb(9 9 11 / .08);
    --arm-focus: #3b6af0;
  }

  /* Touch screens: the visual scale stays (xs<sm<md<lg<xl); the 44px tap target comes from an invisible hit area, see .arm-btn::after. */
  @media (pointer: coarse) {
    :root {
      --arm-control-h-xs: 28px;
      --arm-control-h-sm: 34px;
      --arm-control-h-md: 40px;
      --arm-control-h-lg: 46px;
      --arm-control-h-xl: 52px;
    }
  }
}

/* ========================================================================== Base */
@layer arm.base {
  html { -webkit-text-size-adjust: 100%; }
  body {
    margin: 0;
    background: var(--arm-bg);
    color: var(--arm-text);
    font-family: var(--arm-font);
    font-size: var(--arm-fs-md);
    line-height: var(--arm-lh);
    -webkit-font-smoothing: antialiased;
  }
  [x-cloak] { display: none !important; }
  :focus-visible { outline: 2px solid var(--arm-focus); outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
  }
}

/* ========================================================================== Components */
@layer arm.components {

  /* ---------- Icon ---------- */
  .arm-icon { display: inline-flex; flex: none; width: 1.15em; height: 1.15em; }
  .arm-icon > svg { width: 100%; height: 100%; }
  .arm-icon--xs { width: 12px; height: 12px; }
  .arm-icon--sm { width: 14px; height: 14px; }
  .arm-icon--md { width: 16px; height: 16px; }
  .arm-icon--lg { width: 20px; height: 20px; }
  .arm-icon--xl { width: 24px; height: 24px; }

  /* ---------- Spinner ---------- */
  .arm-spinner {
    width: 1em; height: 1em; flex: none;
    border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
    animation: arm-spin .7s linear infinite;
  }
  @keyframes arm-spin { to { transform: rotate(360deg); } }

  /* ---------- Button ---------- */
  .arm-btn {
    --h: var(--arm-control-h-md);
    --px: 14px;
    position: relative;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    height: var(--h); min-width: var(--h); padding: 0 var(--px);
    font: inherit; font-size: var(--arm-fs-md); font-weight: 500; line-height: 1;
    white-space: nowrap; text-decoration: none; cursor: pointer; user-select: none;
    border: 1px solid transparent; border-radius: var(--arm-control-radius);
    background: transparent; color: var(--tone);
    -webkit-tap-highlight-color: transparent;
    transition: background-color var(--arm-dur) var(--arm-ease), border-color var(--arm-dur) var(--arm-ease),
      color var(--arm-dur) var(--arm-ease), box-shadow var(--arm-dur) var(--arm-ease), transform 80ms;
  }
  .arm-btn:active:not(:disabled) { transform: translateY(1px); }
  .arm-btn:disabled, .arm-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }

  .arm-btn--xs { --h: var(--arm-control-h-xs); --px: 8px;  font-size: var(--arm-fs-xs); gap: 4px; border-radius: var(--arm-radius-sm); }
  .arm-btn--sm { --h: var(--arm-control-h-sm); --px: 10px; font-size: var(--arm-fs-sm); gap: 6px; }
  .arm-btn--lg { --h: var(--arm-control-h-lg); --px: 18px; font-size: var(--arm-fs-lg); }
  .arm-btn--xl { --h: var(--arm-control-h-xl); --px: 22px; font-size: var(--arm-fs-xl); border-radius: var(--arm-radius-lg); }

  .arm-btn--solid { background: var(--tone); color: var(--on-tone); }
  .arm-btn--solid:hover:not(:disabled) { background: var(--tone-hover); }

  .arm-btn--soft { background: color-mix(in srgb, var(--tone) 12%, transparent); }
  .arm-btn--soft:hover:not(:disabled) { background: color-mix(in srgb, var(--tone) 20%, transparent); }

  .arm-btn--outline {
    background: var(--arm-surface-1);
    border-color: color-mix(in srgb, var(--tone) 38%, var(--arm-border-strong));
    box-shadow: var(--arm-shadow-xs);
  }
  .arm-btn--outline:hover:not(:disabled) { background: color-mix(in srgb, var(--tone) 7%, var(--arm-surface-1)); border-color: color-mix(in srgb, var(--tone) 55%, var(--arm-border-strong)); }
  .arm-btn--outline[data-tone="neutral"] { color: var(--arm-text); border-color: var(--arm-border-strong); }
  .arm-btn--outline[data-tone="neutral"]:hover:not(:disabled) { background: var(--arm-surface-2); border-color: var(--arm-border-interactive); }

  .arm-btn--ghost:hover:not(:disabled) { background: color-mix(in srgb, var(--tone) 10%, transparent); }
  .arm-btn--ghost[data-tone="neutral"], .arm-btn--soft[data-tone="neutral"] { color: var(--arm-text); }

  .arm-btn--plain { --px: 0; height: auto; min-width: 0; }
  .arm-btn--plain:hover:not(:disabled) { text-decoration: underline; text-underline-offset: 3px; }

  .arm-btn--square { width: var(--h); padding: 0; }
  .arm-btn--pill { border-radius: var(--arm-radius-full); }
  .arm-btn--block { display: flex; width: 100%; }

  .arm-btn__spinner { display: none; }
  .arm-btn[data-loading] { pointer-events: none; }
  .arm-btn[data-loading] .arm-btn__spinner { display: inline-flex; }
  .arm-btn[data-loading] > :not(.arm-btn__spinner) { opacity: 0; }
  .arm-btn[data-loading] .arm-btn__spinner { position: absolute; inset: 0; margin: auto; }

  .arm-btn__badge {
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--arm-radius-full);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 600; background: color-mix(in srgb, currentColor 16%, transparent);
  }

  /* ---------- Field ---------- */
  .arm-field { display: grid; gap: 6px; min-width: 0; }
  .arm-field > * { min-width: 0; }
  .arm-field--inline { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 16px; }
  .arm-field--inline > .arm-error { grid-column: 1 / -1; }
  .arm-label-group { display: grid; gap: 2px; }
  .arm-label { font-size: var(--arm-fs-sm); font-weight: 500; color: var(--arm-text); }
  .arm-label__required { color: var(--arm-danger); margin-inline-start: 2px; }
  .arm-label__badge { margin-inline-start: 6px; font-size: var(--arm-fs-xs); font-weight: 400; color: var(--arm-text-subtle); }
  .arm-description { margin: 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-error { margin: 0; display: flex; align-items: center; gap: 6px; font-size: var(--arm-fs-sm); color: var(--arm-danger); }

  /* Phones: inline fields stack */
  @media (max-width: 479px) { .arm-field--inline { grid-template-columns: 1fr; } }

  /* ---------- Input ---------- */
  .arm-input {
    --h: var(--arm-control-h-md);
    display: flex; align-items: center; gap: 8px;
    height: var(--h); padding: 0 10px;
    background: var(--arm-input-bg); color: var(--arm-text);
    border: 1px solid var(--arm-border-strong); border-radius: var(--arm-control-radius);
    box-shadow: var(--arm-shadow-xs);
    transition: border-color var(--arm-dur) var(--arm-ease), box-shadow var(--arm-dur) var(--arm-ease);
  }
  .arm-input:hover { border-color: var(--arm-border-interactive); }
  .arm-input:focus-within { border-color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-input[data-invalid] { border-color: var(--arm-danger); }
  .arm-input[data-invalid]:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--arm-danger) 24%, transparent); }
  .arm-input[data-disabled] { opacity: .55; cursor: not-allowed; }
  .arm-input--sm { --h: var(--arm-control-h-sm); font-size: var(--arm-fs-sm); }
  .arm-input--lg { --h: var(--arm-control-h-lg); font-size: var(--arm-fs-lg); padding: 0 12px; }

  .arm-input__control {
    flex: 1 1 0; width: 0; min-width: 0; height: 100%; padding: 0;
    border: 0; outline: 0; background: none; color: inherit; font: inherit;
  }
  .arm-input__control::placeholder { color: var(--arm-text-subtle); }
  .arm-input__control:disabled { cursor: not-allowed; }
  /* 16px stops iOS from zooming into focused fields. */
  @media (pointer: coarse) {
    .arm-input__control { font-size: 16px; }
    .arm-btn::after { content: ""; position: absolute; inset: min(0px, calc((var(--h) - 44px) / 2)) 0; } /* 44px tap target without growing the button */
  }

  .arm-input__icon { color: var(--arm-text-subtle); }
  .arm-input__affix { color: var(--arm-text-muted); font-size: var(--arm-fs-sm); white-space: nowrap; }
  .arm-input__action {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; margin-inline-end: -4px; padding: 0;
    border: 0; border-radius: var(--arm-radius-sm); background: none; color: var(--arm-text-subtle); cursor: pointer;
  }
  .arm-input__action:hover { background: var(--arm-hover); color: var(--arm-text); }

  textarea.arm-input__control { padding: 8px 0; resize: none; line-height: var(--arm-lh); } /* field-sizing grows it; no grey corner handle */
  .arm-input:has(textarea) { height: auto; align-items: flex-start; }

  /* ---------- Theme switcher icons ---------- */
  [data-arm-theme="dark"] .arm-theme-icon-light, [data-arm-theme="light"] .arm-theme-icon-dark { display: none; }
  .arm-input__control:placeholder-shown ~ [data-clear] { display: none; }

  /* ---------- Segmented control (theme switcher, toggle groups) ---------- */
  .arm-segment {
    display: inline-flex; padding: 3px; gap: 2px;
    background: var(--arm-surface-2); border: 1px solid var(--arm-border); border-radius: var(--arm-control-radius);
  }
  .arm-segment__item {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    height: calc(var(--arm-control-h-md) - 8px); min-width: calc(var(--arm-control-h-md) - 8px); padding: 0 10px;
    border: 0; border-radius: calc(var(--arm-control-radius) - 2px);
    background: none; color: var(--arm-text-muted); font: inherit; font-size: var(--arm-fs-sm); cursor: pointer;
  }
  .arm-segment__item:hover { color: var(--arm-text); }
  .arm-segment__item[aria-pressed="true"] { background: var(--arm-surface-1); color: var(--arm-text); box-shadow: var(--arm-shadow-xs); }
  [data-arm-theme="dark"] .arm-segment__item[aria-pressed="true"] { background: var(--arm-surface-3); }
}

/* ========================================================================== Utilities */
@layer arm.utilities {
  /* ---------- Tones (utilities layer so data-tone always beats a component default) ---------- */
  [data-tone] { --tone-hover: color-mix(in oklab, var(--tone) 86%, var(--arm-mix)); }
  [data-tone="neutral"] { --tone: var(--arm-inverse); --tone-hover: var(--arm-inverse-hover); --on-tone: var(--arm-on-inverse); }
  [data-tone="primary"] { --tone: var(--arm-primary); --tone-hover: var(--arm-primary-hover); --on-tone: var(--arm-on-primary); }
  [data-tone="success"] { --tone: var(--arm-success); --on-tone: var(--arm-on-success); }
  [data-tone="info"]    { --tone: var(--arm-info);    --on-tone: var(--arm-on-info); }
  [data-tone="warning"] { --tone: var(--arm-warning); --on-tone: var(--arm-on-warning); }
  [data-tone="danger"]  { --tone: var(--arm-danger);  --on-tone: var(--arm-on-danger); }
  [data-tone="purple"]  { --tone: var(--arm-purple);  --on-tone: var(--arm-on-purple); }
  [data-tone="pink"]    { --tone: var(--arm-pink);    --on-tone: var(--arm-on-pink); }
  [data-tone="orange"]  { --tone: var(--arm-orange);  --on-tone: var(--arm-on-orange); }
  [data-tone="yellow"]  { --tone: var(--arm-yellow);  --on-tone: var(--arm-on-yellow); }
  [data-tone="teal"]    { --tone: var(--arm-teal);    --on-tone: var(--arm-on-teal); }

  .arm-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}

/* ---- 01-tokens.css ---- */
@layer arm.tokens {
  :root {
    --arm-fs-2xs: .6875rem;
    --arm-fs-2xl: 1.25rem;
    --arm-fs-h4: 1rem;
    --arm-fs-h3: 1.1875rem;
    --arm-fs-h2: 1.5rem;
    --arm-fs-h1: 2rem;
    --arm-fs-display: clamp(2.25rem, 5vw, 3.5rem);
    --arm-lh-tight: 1.2;
    --arm-radius-xs: 4px;
    --arm-radius-2xl: 20px;

    --arm-shadow-sm: 0 1px 2px rgb(0 0 0 / .3);
    --arm-shadow-lg: 0 18px 48px rgb(0 0 0 / .45);
    --arm-shadow-overlay: 0 16px 48px rgb(0 0 0 / .5), 0 0 0 1px rgb(0 0 0 / .25);
    --arm-blur: saturate(1.4) blur(14px);
    --arm-dur-fast: 120ms;
    --arm-dur-slow: 280ms;
    --arm-ease-out: cubic-bezier(.16, 1, .3, 1);
    --arm-ease-in: cubic-bezier(.4, 0, 1, 1);

    --arm-header-h: 60px;
    --arm-sidebar-w: 260px;
    --arm-rail-w: 68px;
    --arm-bottom-nav-h: 64px;
    --arm-frame: 1280px;

    --arm-z-sticky: 30;
    --arm-z-header: 40;
    --arm-z-dropdown: 50;
    --arm-z-drawer: 60;
    --arm-z-modal: 70;
    --arm-z-toast: 80;
    --arm-z-tooltip: 90;

    /* chart / categorical palette */
    --arm-chart-1: #4d7cfe;
    --arm-chart-2: #3ecf8e;
    --arm-chart-3: #f5b83d;
    --arm-chart-4: #a78bfa;
    --arm-chart-5: #f472b6;
    --arm-chart-6: #2dd4bf;
  }

  [data-arm-theme="light"] {
    --arm-shadow-sm: 0 1px 2px rgb(9 9 11 / .06);
    --arm-shadow-lg: 0 18px 48px rgb(9 9 11 / .12);
    --arm-shadow-overlay: 0 16px 48px rgb(9 9 11 / .14), 0 0 0 1px rgb(9 9 11 / .05);
    --arm-chart-1: #3b6af0;
    --arm-chart-2: #16a36a;
    --arm-chart-3: #c98a0b;
    --arm-chart-4: #7c4ddf;
    --arm-chart-5: #db2777;
    --arm-chart-6: #0f9488;
  }
}

@layer arm.base {
  @keyframes arm-fade-in { from { opacity: 0; } }
  @keyframes arm-fade-out { to { opacity: 0; } }
  @keyframes arm-rise { from { opacity: 0; transform: translateY(8px) scale(.98); } }
  @keyframes arm-sink { to { opacity: 0; transform: translateY(8px) scale(.98); } }
  @keyframes arm-pop { from { opacity: 0; transform: scale(.96); } }
  @keyframes arm-slide-up { from { transform: translateY(100%); } }
  @keyframes arm-slide-down { to { transform: translateY(100%); } }
  @keyframes arm-slide-left { from { transform: translateX(-100%); } }
  @keyframes arm-slide-right { from { transform: translateX(100%); } }
  @keyframes arm-shimmer { to { background-position: -200% 0; } }
  @keyframes arm-indeterminate { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
  @keyframes arm-pulse { 50% { opacity: .45; } }

  *, *::before, *::after { box-sizing: border-box; }
  a { color: inherit; }
  img, svg, video { max-width: 100%; }
  ::selection { background: color-mix(in srgb, var(--arm-primary) 30%, transparent); }
}

/* ---- 10-layout.css ---- */
@layer arm.components {

  /* ==========================================================================
     App shell
     ≥1024px sidebar (collapsible to a rail) · 640–1023px rail, opens as overlay
     <640px off-canvas drawer + bottom navigation
     ========================================================================== */
  .arm-app {
    display: grid;
    grid-template-columns: var(--arm-sidebar-w) minmax(0, 1fr);
    min-height: 100vh; min-height: 100dvh;
    transition: grid-template-columns var(--arm-dur-slow) var(--arm-ease-out);
  }
  .arm-app:not(:has(> .arm-sidebar)) { grid-template-columns: minmax(0, 1fr); }
  .arm-app__main { grid-column: -2; min-width: 0; display: flex; flex-direction: column; }
  .arm-app__content { flex: 1; width: 100%; padding: 32px 32px 64px; }
  .arm-app__content--narrow { max-width: 1120px; margin-inline: auto; }
  .arm-app__content--flush { padding: 0; }
  .arm-app__backdrop { display: none; }

  @media (min-width: 1024px) {
    .arm-app--collapsed { --arm-sidebar-w: var(--arm-rail-w); }
  }

  @media (max-width: 1023px) {
    .arm-app { --arm-sidebar-w: var(--arm-rail-w); }
    .arm-app__backdrop {
      display: block; position: fixed; inset: 0; z-index: calc(var(--arm-z-drawer) - 1);
      background: var(--arm-overlay); animation: arm-fade-in var(--arm-dur) ease-out;
    }
    .arm-app > .arm-sidebar.is-open {
      position: fixed; inset: 0 auto 0 0; width: min(300px, 86vw);
      box-shadow: var(--arm-shadow-overlay); animation: arm-slide-left var(--arm-dur-slow) var(--arm-ease-out);
    }
    .arm-app__content { padding: 24px 24px 56px; }
  }

  @media (max-width: 639px) {
    .arm-app { grid-template-columns: minmax(0, 1fr); }
    .arm-app > .arm-sidebar:not(.is-open) { display: none; }
    .arm-app__content { padding: 20px 16px 40px; }
    .arm-app:has(> .arm-bottom-nav) .arm-app__content { padding-bottom: calc(var(--arm-bottom-nav-h) + 24px + env(safe-area-inset-bottom)); }
  }

  /* ---------- Sidebar ---------- */
  .arm-sidebar {
    container: arm-sidebar / inline-size;
    position: sticky; top: 0; z-index: var(--arm-z-drawer);
    display: flex; flex-direction: column; min-width: 0;
    height: 100vh; height: 100dvh;
    background: var(--arm-bg); border-inline-end: 1px solid var(--arm-border-soft);
  }
  .arm-sidebar--alt { background: var(--arm-bg-alt); }
  .arm-sidebar__header {
    display: flex; align-items: center; gap: 10px; flex: none;
    height: var(--arm-header-h); padding: 0 12px 0 16px; border-bottom: 1px solid var(--arm-border-soft);
  }
  .arm-sidebar__header > .arm-brand { flex: 1; min-width: 0; }
  .arm-sidebar__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px 10px 16px; scrollbar-width: thin; }
  .arm-sidebar__footer { flex: none; padding: 10px; border-top: 1px solid var(--arm-border-soft); }

  /* Rail: anything inside a sidebar narrower than 120px shows icons only */
  @container arm-sidebar (max-width: 120px) {
    .arm-sidebar__header { justify-content: center; padding: 0; }
    .arm-sidebar__header > .arm-brand { flex: none; }
    .arm-brand__name, .arm-navlist__label, .arm-navlist__heading, .arm-navlist__badge, .arm-navlist__chevron,
    .arm-profile__text, .arm-profile__chevron, .arm-rail-hidden { display: none !important; }
    .arm-navlist__item { justify-content: center; padding: 0; }
    .arm-navlist__group > .arm-navlist__items { padding: 0; }
    .arm-navlist__group + .arm-navlist__group, .arm-navlist__group:not(:first-child) { margin-top: 12px; border-top: 1px solid var(--arm-border-soft); padding-top: 12px; }
    .arm-navlist__item[data-badge]::after {
      content: ""; position: absolute; top: 7px; right: 12px; width: 7px; height: 7px;
      border-radius: 50%; background: var(--arm-danger); box-shadow: 0 0 0 2px var(--arm-bg);
    }
    .arm-profile { justify-content: center; }
  }

  /* ---------- Header (top bar) ---------- */
  .arm-header {
    position: sticky; top: 0; z-index: var(--arm-z-header);
    display: flex; align-items: center; gap: 12px; flex: none;
    height: var(--arm-header-h); padding: 0 24px; padding-top: env(safe-area-inset-top);
    background: color-mix(in srgb, var(--arm-bg) 86%, transparent);
    border-bottom: 1px solid var(--arm-border-soft);
    backdrop-filter: var(--arm-blur); -webkit-backdrop-filter: var(--arm-blur);
  }
  .arm-header--static { position: relative; }
  .arm-header--transparent { background: transparent; border-color: transparent; backdrop-filter: none; }
  .arm-header__title { font-size: var(--arm-fs-lg); font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-header__actions { display: flex; align-items: center; gap: 6px; margin-inline-start: auto; }
  @media (max-width: 1023px) { .arm-header { padding: 0 12px; gap: 8px; } }
  @media (max-width: 639px) { .arm-hide-mobile { display: none !important; } }
  @media (min-width: 640px) { .arm-show-mobile { display: none !important; } }
  @media (max-width: 1023px) { .arm-show-desktop { display: none !important; } }
  @media (min-width: 1024px) { .arm-hide-desktop { display: none !important; } }

  /* ---------- Brand ---------- */
  .arm-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: var(--arm-text); }
  .arm-brand__logo {
    display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px;
    background: linear-gradient(135deg, var(--arm-primary), color-mix(in srgb, var(--arm-primary) 55%, var(--arm-purple)));
    color: #fff; font-weight: 700; font-size: 14px;
  }
  .arm-brand__logo > img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
  .arm-brand__logo .arm-icon { width: 17px; height: 17px; }
  .arm-brand__name { font-weight: 650; font-size: var(--arm-fs-lg); letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* ---------- Container, stack, grid helpers ---------- */
  .arm-container { width: 100%; max-width: calc(var(--arm-frame) + 48px); margin-inline: auto; padding-inline: 24px; }
  .arm-container--sm { max-width: 720px; }
  .arm-container--md { max-width: 960px; }
  .arm-container--prose { max-width: 760px; }
  .arm-container--full { max-width: none; }
  @media (max-width: 639px) { .arm-container { padding-inline: 16px; } }

  .arm-stack { display: flex; flex-direction: column; gap: var(--gap, 16px); }
  .arm-stack--row { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .arm-grid { display: grid; gap: var(--gap, 16px); grid-template-columns: repeat(auto-fill, minmax(min(var(--min, 240px), 100%), 1fr)); }
  .arm-spacer { flex: 1; }

  /* ---------- Section, page header ---------- */
  .arm-page-header { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
  .arm-page-header__text { flex: 1 1 320px; min-width: 0; }
  .arm-page-header__title { margin: 0; font-size: var(--arm-fs-h2); font-weight: 650; letter-spacing: -.02em; line-height: var(--arm-lh-tight); }
  .arm-page-header__description { margin: 6px 0 0; color: var(--arm-text-muted); font-size: var(--arm-fs-lg); }
  .arm-page-header__actions { display: flex; flex-wrap: wrap; gap: 8px; }
  @media (max-width: 639px) {
    .arm-page-header { margin-bottom: 20px; }
    .arm-page-header__title { font-size: var(--arm-fs-2xl); }
    .arm-page-header__actions { width: 100%; }
    .arm-page-header__actions > * { flex: 1; }
  }

  /* ---------- Toolbar ---------- */
  .arm-toolbar { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 8px; border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); overflow-x: auto; scrollbar-width: none; }
  .arm-toolbar > * { flex: none; } /* children keep their size; the bar scrolls instead of squeezing them */
  .arm-toolbar > .arm-spacer { flex: 1; }
  .arm-toolbar--flat { border: 0; background: none; padding: 0; }
  .arm-toolbar > .arm-separator--vertical { height: 20px; }

  /* ---------- Separator ---------- */
  .arm-separator { border: 0; height: 1px; margin: 0; background: var(--arm-border-soft); flex: none; }
  .arm-separator--vertical { width: 1px; height: auto; align-self: stretch; }
  .arm-separator--text { display: flex; align-items: center; gap: 12px; height: auto; background: none; color: var(--arm-text-subtle); font-size: var(--arm-fs-xs); }
  .arm-separator--text::before, .arm-separator--text::after { content: ""; flex: 1; height: 1px; background: var(--arm-border-soft); }

  /* ---------- Footer ---------- */
  .arm-footer { border-top: 1px solid var(--arm-border-soft); padding: 48px 0 32px; color: var(--arm-text-muted); font-size: var(--arm-fs-sm); }
  .arm-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(auto-fit, minmax(140px, 1fr)); gap: 32px; }
  .arm-footer__title { color: var(--arm-text); font-weight: 600; font-size: var(--arm-fs-sm); margin: 0 0 12px; }
  .arm-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
  .arm-footer__links a { text-decoration: none; }
  .arm-footer__links a:hover { color: var(--arm-text); }
  .arm-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--arm-border-soft); font-size: var(--arm-fs-xs); }
  @media (max-width: 639px) { .arm-footer__grid { grid-template-columns: 1fr 1fr; } .arm-footer__grid > :first-child { grid-column: 1 / -1; } }
}

/* ---- 11-navigation.css ---- */
@layer arm.components {

  /* ---------- Navlist (sidebar / drawer menu) ---------- */
  .arm-navlist { display: flex; flex-direction: column; gap: 2px; }
  .arm-navlist__group { display: block; }
  .arm-navlist__group + .arm-navlist__group { margin-top: 14px; }
  .arm-navlist__heading {
    display: flex; align-items: center; gap: 6px; list-style: none;
    padding: 6px 10px; font-size: var(--arm-fs-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
    color: var(--arm-text-subtle);
  }
  summary.arm-navlist__heading { cursor: pointer; border-radius: var(--arm-radius-sm); }
  summary.arm-navlist__heading::-webkit-details-marker { display: none; }
  summary.arm-navlist__heading:hover { color: var(--arm-text-muted); }
  .arm-navlist__chevron { margin-inline-start: auto; transition: transform var(--arm-dur) var(--arm-ease); }
  details:not([open]) > summary .arm-navlist__chevron { transform: rotate(-90deg); }
  .arm-navlist__items { display: flex; flex-direction: column; gap: 2px; }

  .arm-navlist__item {
    position: relative; display: flex; align-items: center; gap: 10px;
    min-height: 36px; padding: 0 10px; border-radius: var(--arm-radius-md);
    color: var(--arm-text-muted); text-decoration: none; font-size: var(--arm-fs-md); font-weight: 500;
    background: none; border: 0; width: 100%; font-family: inherit; cursor: pointer; text-align: start;
    transition: background-color var(--arm-dur-fast), color var(--arm-dur-fast);
    -webkit-tap-highlight-color: transparent;
  }
  .arm-navlist__item > .arm-icon { width: 18px; height: 18px; }
  .arm-navlist__item:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-navlist__item[aria-current="page"], .arm-navlist__item.is-current { background: var(--arm-active); color: var(--arm-text); }
  .arm-navlist__item[aria-current="page"] > .arm-icon { color: var(--arm-primary); }
  .arm-navlist__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-navlist__badge {
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--arm-radius-full);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 600; background: var(--arm-surface-3); color: var(--arm-text-secondary);
  }
  .arm-navlist__badge[data-tone] { background: var(--tone); color: var(--on-tone); }
  .arm-navlist__sub { margin-inline-start: 19px; padding-inline-start: 10px; border-inline-start: 1px solid var(--arm-border); }
  @media (pointer: coarse) { .arm-navlist__item { min-height: 44px; } }

  /* ---------- Profile button (sidebar footer, header menu) ---------- */
  .arm-profile {
    display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 6px;
    border: 0; border-radius: var(--arm-radius-md); background: none; color: inherit; font: inherit; text-align: start; cursor: pointer;
  }
  .arm-profile:hover { background: var(--arm-hover); }
  .arm-profile__text { flex: 1; min-width: 0; display: grid; line-height: 1.3; }
  .arm-profile__name { font-size: var(--arm-fs-sm); font-weight: 500; color: var(--arm-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-profile__email { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-profile__chevron { color: var(--arm-text-subtle); }
  .arm-profile--compact { width: auto; padding: 2px; border-radius: var(--arm-radius-full); }

  /* ---------- Navbar (horizontal) ---------- */
  .arm-navbar { display: flex; align-items: center; gap: 2px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
  .arm-navbar::-webkit-scrollbar { display: none; }
  .arm-navbar__item {
    display: inline-flex; align-items: center; gap: 6px; flex: none; height: 34px; padding: 0 11px;
    border-radius: var(--arm-radius-md); color: var(--arm-text-muted); text-decoration: none; font-size: var(--arm-fs-sm); font-weight: 500; white-space: nowrap;
    transition: background-color var(--arm-dur-fast), color var(--arm-dur-fast);
  }
  .arm-navbar__item:hover { color: var(--arm-text); background: var(--arm-hover); }
  .arm-navbar__item[aria-current="page"] { color: var(--arm-text); background: var(--arm-active); }
  .arm-navbar--underline { gap: 18px; align-self: stretch; }
  .arm-navbar--underline .arm-navbar__item { height: 100%; padding: 0; border-radius: 0; background: none; box-shadow: inset 0 -2px 0 transparent; }
  .arm-navbar--underline .arm-navbar__item[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--arm-text); }

  /* ---------- Bottom navigation ---------- */
  .arm-bottom-nav {
    display: none; position: fixed; inset: auto 0 0 0; z-index: var(--arm-z-header);
    height: calc(var(--arm-bottom-nav-h) + env(safe-area-inset-bottom)); padding: 0 4px env(safe-area-inset-bottom);
    background: color-mix(in srgb, var(--arm-bg) 90%, transparent);
    border-top: 1px solid var(--arm-border-soft);
    backdrop-filter: var(--arm-blur); -webkit-backdrop-filter: var(--arm-blur);
    transition: transform var(--arm-dur-slow) var(--arm-ease-out);
  }
  .arm-bottom-nav.is-hidden { transform: translateY(100%); }
  @media (max-width: 639px) { .arm-bottom-nav { display: flex; } }
  .arm-bottom-nav--always { display: flex; }
  .arm-bottom-nav--static { display: flex; position: relative; z-index: auto; padding-bottom: 0; height: var(--arm-bottom-nav-h); }
  .arm-bottom-nav--floating { inset: auto 12px calc(12px + env(safe-area-inset-bottom)) 12px; height: var(--arm-bottom-nav-h); padding: 0 4px; border: 1px solid var(--arm-border); border-radius: var(--arm-radius-2xl); box-shadow: var(--arm-shadow-lg); }

  .arm-bottom-nav__item {
    position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    color: var(--arm-text-subtle); text-decoration: none; font-size: 11px; font-weight: 500; line-height: 1.2;
    background: none; border: 0; font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent;
  }
  .arm-bottom-nav__indicator {
    position: relative; display: grid; place-items: center; width: 56px; height: 30px; border-radius: var(--arm-radius-full);
    transition: background-color var(--arm-dur) var(--arm-ease);
  }
  .arm-bottom-nav__indicator > .arm-icon { width: 22px; height: 22px; }
  .arm-bottom-nav__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 2px; }
  /* 5+ items (or 4 + FAB): tighter labels and a narrower pill so "Ana sayfa" fits a 360px phone */
  .arm-bottom-nav:has(.arm-bottom-nav__item:nth-child(5)) .arm-bottom-nav__item { font-size: 10px; letter-spacing: -.01em; }
  .arm-bottom-nav:has(.arm-bottom-nav__item:nth-child(5)) .arm-bottom-nav__indicator { width: 48px; }
  .arm-bottom-nav:has(.arm-bottom-nav__item:nth-child(5)) .arm-bottom-nav__label { padding: 0; }
  .arm-bottom-nav__item[aria-current="page"] { color: var(--arm-text); font-weight: 600; }
  .arm-bottom-nav__item[aria-current="page"] .arm-bottom-nav__indicator { background: color-mix(in srgb, var(--arm-primary) 18%, transparent); color: var(--arm-primary); }
  .arm-bottom-nav__item:active .arm-bottom-nav__indicator { background: var(--arm-active); }
  .arm-bottom-nav__badge {
    position: absolute; top: -2px; left: calc(50% + 6px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
    display: grid; place-items: center; font-size: 10px; font-weight: 700; background: var(--arm-danger); color: #fff;
    box-shadow: 0 0 0 2px var(--arm-bg);
  }
  .arm-bottom-nav--labels-active .arm-bottom-nav__item:not([aria-current="page"]) .arm-bottom-nav__label { display: none; }
  .arm-bottom-nav--icons .arm-bottom-nav__label { display: none; }
  .arm-bottom-nav__fab {
    display: grid; place-items: center; width: 52px; height: 52px; margin-top: -22px; border-radius: 50%;
    background: var(--arm-primary); color: var(--arm-on-primary); box-shadow: 0 8px 20px color-mix(in srgb, var(--arm-primary) 45%, transparent), 0 0 0 4px var(--arm-bg);
  }
  .arm-bottom-nav__fab > .arm-icon { width: 24px; height: 24px; }

  /* ---------- Breadcrumbs ---------- */
  .arm-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-breadcrumbs li { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
  .arm-breadcrumbs li + li::before {
    content: ""; width: 14px; height: 14px; flex: none; background: currentColor; opacity: .5;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .arm-breadcrumbs--slash li + li::before { mask: none; width: auto; height: auto; background: none; content: "/"; }
  .arm-breadcrumbs a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
  .arm-breadcrumbs a:hover { color: var(--arm-text); }
  .arm-breadcrumbs [aria-current="page"] { color: var(--arm-text); font-weight: 500; }
  @media (max-width: 639px) {
    .arm-breadcrumbs li:not(:nth-last-child(-n+2)) { display: none; }
    .arm-breadcrumbs li:nth-last-child(2)::before { display: none; } /* first visible item carries no separator */
  }

  /* ---------- Tabs ---------- */
  .arm-tabs {
    display: flex; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none;
    border-bottom: 1px solid var(--arm-border);
  }
  .arm-tabs[data-fade] { mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); } /* only while something is actually hidden to the right */
  .arm-tabs--segment[data-fade] { mask-image: none; }
  .arm-tabs::-webkit-scrollbar { display: none; }
  .arm-tab {
    position: relative; display: inline-flex; align-items: center; gap: 8px; flex: none;
    height: 40px; padding: 0 12px; border: 0; background: none; color: var(--arm-text-muted);
    font: inherit; font-size: var(--arm-fs-md); font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer;
    transition: color var(--arm-dur-fast);
  }
  .arm-tab:hover { color: var(--arm-text); }
  .arm-tab::after { content: ""; position: absolute; inset: auto 8px -1px; height: 2px; border-radius: 2px; background: transparent; transition: background-color var(--arm-dur); }
  .arm-tab[aria-selected="true"], .arm-tab[aria-current="page"] { color: var(--arm-text); }
  .arm-tab[aria-selected="true"]::after, .arm-tab[aria-current="page"]::after { background: var(--arm-text); }
  .arm-tab__badge { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; display: inline-grid; place-items: center; font-size: 11px; font-weight: 600; background: var(--arm-surface-3); }

  .arm-tabs--pill { border: 0; gap: 6px; }
  .arm-tabs--pill .arm-tab { height: 34px; border-radius: var(--arm-radius-full); padding: 0 14px; }
  .arm-tabs--pill .arm-tab::after { display: none; }
  .arm-tabs--pill .arm-tab:hover { background: var(--arm-hover); }
  .arm-tabs--pill .arm-tab[aria-selected="true"], .arm-tabs--pill .arm-tab[aria-current="page"] { background: var(--arm-inverse); color: var(--arm-on-inverse); }

  .arm-tabs--segment { display: inline-flex; max-width: 100%; border: 1px solid var(--arm-border); border-radius: var(--arm-control-radius); padding: 3px; gap: 2px; background: var(--arm-surface-2); }
  .arm-tabs--segment .arm-tab { height: calc(var(--arm-control-h-md) - 8px); border-radius: calc(var(--arm-control-radius) - 2px); font-size: var(--arm-fs-sm); }
  .arm-tabs--segment .arm-tab::after { display: none; }
  .arm-tabs--segment .arm-tab[aria-selected="true"] { background: var(--arm-surface-1); box-shadow: var(--arm-shadow-xs); }
  [data-arm-theme="dark"] .arm-tabs--segment .arm-tab[aria-selected="true"] { background: var(--arm-surface-3); }
  .arm-tabs--segment.arm-tabs--block { display: flex; }
  .arm-tabs--block .arm-tab { flex: 1; justify-content: center; }

  .arm-tabs--vertical { flex-direction: column; border-bottom: 0; border-inline-start: 1px solid var(--arm-border); mask-image: none; }
  .arm-tabs--vertical .arm-tab { height: 36px; }
  .arm-tabs--vertical .arm-tab::after { inset: 6px auto 6px -1px; width: 2px; height: auto; }

  .arm-tab-panel { padding-top: 20px; }
  .arm-tab-panel:focus-visible { outline-offset: 4px; }
  .arm-tab-group--vertical { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
  .arm-tab-group--vertical .arm-tab-panel { padding-top: 0; }
  @media (max-width: 639px) {
    .arm-tab-group--vertical { grid-template-columns: 1fr; gap: 16px; }
    .arm-tab-group--vertical .arm-tabs--vertical { flex-direction: row; border-inline-start: 0; border-bottom: 1px solid var(--arm-border); overflow-x: auto; }
    .arm-tab-group--vertical .arm-tabs--vertical .arm-tab::after { inset: auto 8px -1px; width: auto; height: 2px; }
  }

  /* ---------- Pagination ---------- */
  .arm-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-pagination__pages { display: flex; align-items: center; gap: 4px; }
  .arm-pagination__page {
    display: inline-grid; place-items: center; min-width: var(--arm-control-h-sm); height: var(--arm-control-h-sm); padding: 0 8px;
    border-radius: var(--arm-radius-md); color: var(--arm-text-muted); text-decoration: none; font-weight: 500; font-variant-numeric: tabular-nums;
    border: 1px solid transparent; background: none; font-family: inherit; cursor: pointer;
  }
  a.arm-pagination__page:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-pagination__page[aria-current="page"] { background: var(--arm-surface-1); border-color: var(--arm-border-strong); color: var(--arm-text); box-shadow: var(--arm-shadow-xs); }
  .arm-pagination__page[aria-disabled="true"] { opacity: .4; pointer-events: none; }
  .arm-pagination__compact { display: none; font-variant-numeric: tabular-nums; padding: 0 8px; }
  @media (max-width: 639px) {
    .arm-pagination { justify-content: center; }
    .arm-pagination__info { display: none; }
    .arm-pagination__number { display: none; }
    .arm-pagination__compact { display: inline; }
  }

  /* ---------- Stepper ---------- */
  .arm-stepper { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: arm-step; }
  .arm-stepper__step { flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0; }
  .arm-stepper__step:not(:last-child)::after { content: ""; flex: 1; min-width: 24px; height: 2px; border-radius: 2px; background: var(--arm-border); }
  .arm-stepper__step[data-state="complete"]:not(:last-child)::after { background: var(--arm-primary); }
  .arm-stepper__marker {
    flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
    border: 2px solid var(--arm-border-strong); color: var(--arm-text-muted); font-size: var(--arm-fs-sm); font-weight: 600; background: var(--arm-surface-1);
  }
  .arm-stepper__step[data-state="current"] .arm-stepper__marker { border-color: var(--arm-primary); color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-stepper__step[data-state="complete"] .arm-stepper__marker { border-color: var(--arm-primary); background: var(--arm-primary); color: var(--arm-on-primary); }
  .arm-stepper__step[data-state="error"] .arm-stepper__marker { border-color: var(--arm-danger); background: var(--arm-danger); color: #fff; }
  .arm-stepper__text { display: grid; min-width: 0; line-height: 1.3; flex: none; max-width: 180px; }
  .arm-stepper__step:last-child { flex: none; } /* the last step takes no connector space, so earlier connectors share the width evenly */
  .arm-stepper__label { font-size: var(--arm-fs-sm); font-weight: 600; color: var(--arm-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-stepper__step:not([data-state="current"]):not([data-state="complete"]) .arm-stepper__label { color: var(--arm-text-muted); }
  .arm-stepper__description { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-stepper__summary { display: none; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); margin-top: 10px; }

  .arm-stepper--vertical { flex-direction: column; gap: 0; }
  .arm-stepper--vertical .arm-stepper__step { flex-wrap: wrap; align-items: flex-start; min-height: 64px; position: relative; }
  .arm-stepper--vertical .arm-stepper__step:not(:last-child)::after { position: absolute; left: 14px; top: 30px; bottom: 0; width: 2px; height: auto; min-width: 0; flex: none; } /* marker to marker, no gaps */
  .arm-stepper--vertical .arm-stepper__text { max-width: none; flex: 1; padding-top: 4px; }
  .arm-stepper--vertical .arm-stepper__description { white-space: normal; }

  @media (max-width: 639px) {
    .arm-stepper:not(.arm-stepper--vertical) .arm-stepper__text { display: none; }
    .arm-stepper:not(.arm-stepper--vertical) .arm-stepper__step[data-state="current"] .arm-stepper__text { display: none; }
    .arm-stepper:not(.arm-stepper--vertical) + .arm-stepper__summary { display: block; }
  }
}

/* ---- 20-display.css ---- */
@layer arm.components {

  /* ---------- Typography ---------- */
  .arm-heading { margin: 0; color: var(--arm-text); font-weight: 650; letter-spacing: -.015em; line-height: var(--arm-lh-tight); }
  .arm-heading--xs { font-size: var(--arm-fs-md); font-weight: 600; letter-spacing: 0; }
  .arm-heading--sm { font-size: var(--arm-fs-h4); }
  .arm-heading--md { font-size: var(--arm-fs-h3); }
  .arm-heading--lg { font-size: var(--arm-fs-h2); letter-spacing: -.02em; }
  .arm-heading--xl { font-size: var(--arm-fs-h1); letter-spacing: -.025em; }
  .arm-heading--display { font-size: var(--arm-fs-display); letter-spacing: -.035em; font-weight: 700; line-height: 1.05; }
  .arm-eyebrow { display: inline-block; font-size: var(--arm-fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--arm-primary); }
  .arm-text { margin: 0; color: var(--arm-text-secondary); }
  .arm-text--sm { font-size: var(--arm-fs-sm); }
  .arm-text--lg { font-size: var(--arm-fs-xl); line-height: 1.6; }
  .arm-text--muted { color: var(--arm-text-muted); }
  .arm-text--subtle { color: var(--arm-text-subtle); }
  .arm-text--strong { color: var(--arm-text); font-weight: 600; }
  .arm-text[data-tone] { color: var(--tone); }
  .arm-text--truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-text--clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--lines, 2); overflow: hidden; }
  .arm-link { color: var(--arm-link); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
  .arm-link:hover { text-decoration-color: currentColor; }
  .arm-link--subtle { color: inherit; text-decoration: none; }
  .arm-link--subtle:hover { color: var(--arm-text); text-decoration: underline; }
  .arm-link > .arm-icon { vertical-align: -2px; margin-inline-start: 2px; }

  .arm-kbd {
    display: inline-flex; align-items: center; justify-content: center; gap: 2px; min-width: 22px; height: 22px; padding: 0 6px;
    font-family: var(--arm-font); font-size: 11px; font-weight: 600; color: var(--arm-text-muted);
    background: var(--arm-surface-2); border: 1px solid var(--arm-border-strong); border-bottom-width: 2px; border-radius: var(--arm-radius-sm);
  }
  @media (pointer: coarse) { .arm-kbd--hint { display: none; } }

  .arm-code-inline { font-family: var(--arm-font-mono); font-size: .88em; padding: .1em .38em; border-radius: var(--arm-radius-xs); background: var(--arm-surface-2); border: 1px solid var(--arm-border-soft); color: var(--arm-text); }

  /* ---------- Card ---------- */
  .arm-card {
    position: relative; display: flex; flex-direction: column; min-width: 0;
    background: var(--arm-surface-1); border: 1px solid var(--arm-border); border-radius: var(--arm-radius-xl);
    box-shadow: var(--arm-shadow-xs); color: var(--arm-text-secondary);
  }
  .arm-card--flat { box-shadow: none; background: var(--arm-bg-alt); border-color: var(--arm-border-soft); }
  .arm-card--elevated { border-color: var(--arm-border-soft); box-shadow: var(--arm-shadow-md); }
  .arm-card--ghost { background: none; border-color: transparent; box-shadow: none; }
  .arm-card--outline { box-shadow: none; background: none; }
  .arm-card[data-tone] { border-color: color-mix(in srgb, var(--tone) 35%, var(--arm-border)); background: color-mix(in srgb, var(--tone) 5%, var(--arm-surface-1)); }
  a.arm-card, .arm-card--interactive { text-decoration: none; cursor: pointer; transition: border-color var(--arm-dur), box-shadow var(--arm-dur), transform var(--arm-dur) var(--arm-ease); }
  a.arm-card:hover, .arm-card--interactive:hover { border-color: var(--arm-border-interactive); box-shadow: var(--arm-shadow-md); }
  a.arm-card:active, .arm-card--interactive:active { transform: scale(.99); }
  .arm-card--selected { border-color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-card__media { overflow: hidden; border-radius: calc(var(--arm-radius-xl) - 1px) calc(var(--arm-radius-xl) - 1px) 0 0; aspect-ratio: var(--ratio, 16 / 9); background: var(--arm-surface-2); }
  .arm-card__media > img, .arm-card__media > video { width: 100%; height: 100%; object-fit: cover; display: block; }
  .arm-card__header { display: flex; align-items: flex-start; gap: 12px; padding: 18px 20px 0; }
  .arm-card__header:not(:has(.arm-card__description)) { align-items: center; } /* single-line title centres on its icon */
  .arm-card__heading { flex: 1; min-width: 0; }
  .arm-card__title { margin: 0; font-size: var(--arm-fs-lg); font-weight: 600; color: var(--arm-text); line-height: 1.35; }
  .arm-card__description { margin: 3px 0 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-card__actions { display: flex; align-items: center; gap: 4px; margin: -4px -6px 0 0; }
  .arm-card__body { flex: 1; padding: 18px 20px 20px; }
  .arm-card__header + .arm-card__body { padding-top: 12px; }
  .arm-card__body--flush { padding: 0; }
  .arm-card__header + .arm-card__body--flush { margin-top: 14px; border-top: 1px solid var(--arm-border-soft); }
  .arm-card__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--arm-border-soft); background: var(--arm-bg-alt); border-radius: 0 0 calc(var(--arm-radius-xl) - 1px) calc(var(--arm-radius-xl) - 1px); }
  .arm-card__footer--end { justify-content: flex-end; }
  .arm-card--horizontal { flex-direction: row; }
  .arm-card--horizontal > .arm-card__media { width: 38%; flex: none; aspect-ratio: auto; border-radius: calc(var(--arm-radius-xl) - 1px) 0 0 calc(var(--arm-radius-xl) - 1px); }
  .arm-card--horizontal > .arm-card__content { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  @media (max-width: 479px) {
    .arm-card--horizontal { flex-direction: column; }
    .arm-card--horizontal > .arm-card__media { width: auto; aspect-ratio: 16 / 9; border-radius: calc(var(--arm-radius-xl) - 1px) calc(var(--arm-radius-xl) - 1px) 0 0; }
    .arm-card__header { padding: 16px 16px 0; }
    .arm-card__body { padding: 16px; }
    .arm-card__footer { padding: 12px 16px; }
  }

  /* ---------- Avatar ---------- */
  .arm-avatar {
    --size: 36px;
    position: relative; display: inline-grid; place-items: center; flex: none;
    width: var(--size); height: var(--size); border-radius: 50%;
    font-size: calc(var(--size) * .38); font-weight: 600; line-height: 1; color: #fff;
    background: var(--avatar-bg, var(--arm-surface-3)); user-select: none;
  }
  .arm-avatar > img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
  .arm-avatar > .arm-icon { width: 55%; height: 55%; color: var(--arm-text-muted); }
  .arm-avatar--xs { --size: 22px; }
  .arm-avatar--sm { --size: 28px; }
  .arm-avatar--lg { --size: 44px; }
  .arm-avatar--xl { --size: 56px; }
  .arm-avatar--2xl { --size: 80px; }
  .arm-avatar--square { border-radius: calc(var(--size) * .26); }
  .arm-avatar--ring { box-shadow: 0 0 0 2px var(--arm-bg), 0 0 0 4px var(--arm-primary); }
  .arm-avatar__status {
    position: absolute; right: 0; bottom: 0; width: max(8px, calc(var(--size) * .28)); height: max(8px, calc(var(--size) * .28));
    border-radius: 50%; box-shadow: 0 0 0 2px var(--arm-bg); background: var(--arm-text-subtle);
  }
  .arm-avatar__status[data-status="online"] { background: var(--arm-success); }
  .arm-avatar__status[data-status="busy"] { background: var(--arm-danger); }
  .arm-avatar__status[data-status="away"] { background: var(--arm-warning); }
  .arm-avatar__badge { position: absolute; top: -4px; right: -4px; }
  .arm-avatar-group { display: inline-flex; align-items: center; }
  .arm-avatar-group > .arm-avatar { box-shadow: 0 0 0 2px var(--arm-bg); }
  .arm-avatar-group > * + * { margin-inline-start: calc(var(--overlap, var(--size) * .28) * -1); } /* overlap scales with the avatar */
  .arm-avatar-group__more { background: var(--arm-surface-3); color: var(--arm-text-secondary); font-size: calc(var(--size) * .32); }

  /* ---------- Badge ---------- */
  .arm-badge {
    --tone: var(--arm-text-muted);
    display: inline-flex; align-items: center; gap: 5px; flex: none; height: 22px; padding: 0 8px;
    border-radius: var(--arm-radius-full); font-size: var(--arm-fs-xs); font-weight: 500; line-height: 1; white-space: nowrap;
    color: var(--tone); background: color-mix(in srgb, var(--tone) 13%, transparent);
    border: 1px solid color-mix(in srgb, var(--tone) 26%, transparent);
  }
  .arm-badge[data-tone="neutral"] { color: var(--arm-text-secondary); background: var(--arm-surface-2); border-color: var(--arm-border); }
  .arm-badge--solid { color: var(--on-tone); background: var(--tone); border-color: transparent; }
  .arm-badge--solid[data-tone="neutral"] { color: var(--arm-on-inverse); background: var(--arm-inverse); }
  .arm-badge--outline { background: none; }
  .arm-badge--sm { height: 18px; padding: 0 6px; font-size: var(--arm-fs-2xs); }
  .arm-badge--lg { height: 26px; padding: 0 10px; font-size: var(--arm-fs-sm); }
  .arm-badge--square { border-radius: var(--arm-radius-sm); }
  .arm-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
  .arm-badge--pulse .arm-badge__dot { animation: arm-pulse 1.6s ease-in-out infinite; }
  .arm-badge > .arm-icon { width: 12px; height: 12px; }
  .arm-badge-anchor { position: relative; display: inline-flex; }
  .arm-badge-anchor > .arm-badge-float {
    position: absolute; top: 0; right: 0; transform: translate(40%, -40%);
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; display: grid; place-items: center;
    font-size: 10px; font-weight: 700; background: var(--tone, var(--arm-danger)); color: var(--on-tone, #fff); box-shadow: 0 0 0 2px var(--arm-bg);
  }
  .arm-badge-anchor > .arm-badge-float:empty { min-width: 10px; width: 10px; height: 10px; padding: 0; }

  /* ---------- Chip ---------- */
  .arm-chip {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; flex: none;
    border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-full);
    background: var(--arm-surface-1); color: var(--arm-text-secondary); font: inherit; font-size: var(--arm-fs-sm); font-weight: 500; white-space: nowrap;
    text-decoration: none;
  }
  .arm-chip > .arm-avatar { --size: 22px; margin-inline-start: -8px; }
  .arm-chip > .arm-icon { width: 15px; height: 15px; }
  button.arm-chip, a.arm-chip, label.arm-chip { cursor: pointer; }
  button.arm-chip:hover, a.arm-chip:hover, label.arm-chip:hover { background: var(--arm-surface-2); }
  .arm-chip[aria-pressed="true"], .arm-chip:has(input:checked) { border-color: var(--arm-primary); background: color-mix(in srgb, var(--arm-primary) 12%, transparent); color: var(--arm-text); }
  .arm-chip:has(input:focus-visible) { outline: 2px solid var(--arm-focus); outline-offset: 2px; }
  .arm-chip > input { position: absolute; opacity: 0; pointer-events: none; }
  .arm-chip[data-tone] { border-color: color-mix(in srgb, var(--tone) 35%, transparent); background: color-mix(in srgb, var(--tone) 12%, transparent); color: var(--tone); }
  .arm-chip--sm { height: 24px; padding: 0 9px; font-size: var(--arm-fs-xs); }
  .arm-chip__remove { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-inline-end: -6px; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; opacity: .6; cursor: pointer; }
  .arm-chip__remove:hover { opacity: 1; background: var(--arm-hover); }
  .arm-chip-group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .arm-chip-group--scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }

  /* ---------- Callout / alert ---------- */
  .arm-callout {
    --tone: var(--arm-info);
    display: flex; gap: 12px; padding: 14px 16px; border-radius: var(--arm-radius-lg);
    border: 1px solid color-mix(in srgb, var(--tone) 30%, var(--arm-border));
    background: color-mix(in srgb, var(--tone) 8%, var(--arm-surface-1));
    color: var(--arm-text-secondary); font-size: var(--arm-fs-md);
  }
  .arm-callout > .arm-icon { width: 18px; height: 18px; margin-top: 2px; color: var(--tone); }
  .arm-callout__content { flex: 1; min-width: 0; display: grid; gap: 4px; }
  .arm-callout__title { font-weight: 600; color: var(--arm-text); }
  .arm-callout__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
  .arm-callout__close { margin: -6px -8px -6px 0; }
  .arm-callout--line { border-width: 0 0 0 3px; border-color: var(--tone); border-radius: var(--arm-radius-sm); }
  .arm-callout--solid { background: var(--tone); border-color: transparent; color: var(--on-tone); }
  .arm-callout--solid .arm-callout__title, .arm-callout--solid > .arm-icon { color: inherit; }

  .arm-banner {
    display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 10px 48px 10px 16px; position: relative;
    background: var(--tone, var(--arm-inverse)); color: var(--on-tone, var(--arm-on-inverse)); font-size: var(--arm-fs-sm); font-weight: 500; text-align: center;
  }
  .arm-banner a { color: inherit; font-weight: 600; }
  .arm-banner__close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: inherit !important; }

  /* ---------- Empty state ---------- */
  .arm-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 48px 24px; }
  .arm-empty__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 8px; border-radius: 14px; background: var(--arm-surface-2); border: 1px solid var(--arm-border); color: var(--arm-text-muted); }
  .arm-empty__icon > .arm-icon { width: 24px; height: 24px; }
  .arm-empty__title { margin: 0; font-size: var(--arm-fs-lg); font-weight: 600; color: var(--arm-text); }
  .arm-empty__description { margin: 0; max-width: 420px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
  .arm-empty--bordered { border: 1px dashed var(--arm-border-strong); border-radius: var(--arm-radius-xl); }

  /* ---------- Skeleton ---------- */
  .arm-skeleton {
    display: block; height: 12px; border-radius: var(--arm-radius-sm);
    background: linear-gradient(90deg, var(--arm-surface-2) 25%, var(--arm-surface-3) 37%, var(--arm-surface-2) 63%) 0 0 / 200% 100%;
    animation: arm-shimmer 1.4s ease infinite;
  }
  .arm-skeleton--circle { border-radius: 50%; }
  .arm-skeleton--text { height: .8em; margin: .35em 0; }
  .arm-skeleton-lines { display: grid; gap: 10px; }
  .arm-skeleton-lines > :last-child { width: 60%; }

  /* ---------- Progress ---------- */
  .arm-progress { --tone: var(--arm-primary); display: grid; gap: 6px; }
  .arm-progress__meta { display: flex; justify-content: space-between; gap: 8px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-progress__meta > :first-child { color: var(--arm-text); font-weight: 500; }
  .arm-progress__track { position: relative; height: var(--h, 6px); border-radius: var(--arm-radius-full); background: var(--arm-surface-3); overflow: hidden; }
  .arm-progress__bar { height: 100%; width: var(--value); border-radius: inherit; background: var(--tone); transition: width var(--arm-dur-slow) var(--arm-ease-out); }
  .arm-progress--indeterminate .arm-progress__bar { width: 40%; animation: arm-indeterminate 1.3s var(--arm-ease) infinite; }
  .arm-progress--striped .arm-progress__bar { background-image: linear-gradient(45deg, rgb(255 255 255 / .3) 25%, transparent 25%, transparent 50%, rgb(255 255 255 / .3) 50%, rgb(255 255 255 / .3) 75%, transparent 75%); background-size: 12px 12px; }
  .arm-progress__segments { display: flex; gap: 2px; height: var(--h, 6px); border-radius: var(--arm-radius-full); overflow: hidden; background: var(--arm-surface-3); }
  .arm-progress__segments > span { background: var(--tone); }

  .arm-progress-circle { --size: 56px; --tone: var(--arm-primary); position: relative; display: inline-grid; place-items: center; width: var(--size); height: var(--size); flex: none; }
  .arm-progress-circle > svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
  .arm-progress-circle__track { stroke: var(--arm-surface-3); }
  .arm-progress-circle__bar { stroke: var(--tone); transition: stroke-dashoffset var(--arm-dur-slow) var(--arm-ease-out); }
  .arm-progress-circle__label { font-size: calc(var(--size) * .24); font-weight: 600; color: var(--arm-text); font-variant-numeric: tabular-nums; }
  .arm-progress-circle--indeterminate > svg { animation: arm-spin 1s linear infinite; }

  /* ---------- Stat ---------- */
  .arm-stat { display: grid; gap: 6px; min-width: 0; }
  .arm-stat--card { padding: 18px 20px 20px; }
  .arm-stat__label { display: flex; align-items: center; gap: 8px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-stat__label > .arm-icon { width: 16px; height: 16px; }
  .arm-stat__value { font-size: 1.75rem; font-weight: 650; letter-spacing: -.02em; color: var(--arm-text); line-height: 1.1; font-variant-numeric: tabular-nums; }
  .arm-stat__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); }
  .arm-stat__description { flex: 1 1 100%; } /* own line: trend never wraps mid-sentence */
  @media (max-width: 359px) { .arm-stat__description { display: none; } }
  .arm-trend { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; font-size: var(--arm-fs-xs); }
  .arm-trend > .arm-icon { width: 13px; height: 13px; }
  .arm-trend--up { color: var(--arm-success); }
  .arm-trend--down { color: var(--arm-danger); }
  .arm-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 16px; }
  @media (max-width: 479px) { .arm-stat-grid { grid-template-columns: 1fr 1fr; gap: 12px; } .arm-stat__value { font-size: 1.375rem; } }

  /* ---------- List ---------- */
  .arm-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
  .arm-list--bordered { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); overflow: hidden; }
  .arm-list--divided > * + *, .arm-list--bordered > * + * { border-top: 1px solid var(--arm-border-soft); }
  .arm-list__item {
    display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 14px; color: inherit; text-decoration: none;
    background: none; border: 0; width: 100%; font: inherit; text-align: start;
  }
  .arm-list:not(.arm-list--bordered):not(.arm-list--divided) .arm-list__item { padding-inline: 8px; border-radius: var(--arm-radius-md); }
  a.arm-list__item, button.arm-list__item, label.arm-list__item { cursor: pointer; }
  a.arm-list__item:hover, button.arm-list__item:hover, label.arm-list__item:hover { background: var(--arm-hover); }
  .arm-list__item.is-active { background: var(--arm-active); }
  .arm-list__leading { flex: none; display: grid; place-items: center; color: var(--arm-text-muted); }
  .arm-list__icon-box { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--arm-surface-2); color: var(--arm-text-muted); }
  .arm-list__icon-box[data-tone] { background: color-mix(in srgb, var(--tone) 14%, transparent); color: var(--tone); }
  .arm-list__content { flex: 1; min-width: 0; display: grid; gap: 1px; }
  .arm-list__title { color: var(--arm-text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-list__subtitle { font-size: var(--arm-fs-sm); color: var(--arm-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-list__trailing { flex: none; display: flex; align-items: center; gap: 8px; color: var(--arm-text-subtle); font-size: var(--arm-fs-sm); }
  .arm-list__subheader { padding: 14px 14px 6px; font-size: var(--arm-fs-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--arm-text-subtle); }
  .arm-list--bordered > .arm-list__subheader { background: var(--arm-bg-alt); padding-bottom: 8px; }

  /* ---------- Description list ---------- */
  .arm-deflist { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; margin: 0; }
  .arm-deflist > dt, .arm-deflist > dd { margin: 0; padding: 11px 0; border-top: 1px solid var(--arm-border-soft); }
  .arm-deflist > dt:first-of-type, .arm-deflist > dt:first-of-type + dd { border-top: 0; }
  .arm-deflist > dt { color: var(--arm-text-muted); font-size: var(--arm-fs-sm); padding-inline-end: 16px; }
  .arm-deflist > dd { color: var(--arm-text); min-width: 0; overflow-wrap: anywhere; }
  .arm-deflist--stacked, .arm-deflist--stacked > * { display: block; }
  .arm-deflist--stacked > dd { border-top: 0; padding-top: 0; }
  @media (max-width: 479px) {
    .arm-deflist { grid-template-columns: 1fr; }
    .arm-deflist > dd { border-top: 0; padding-top: 0; }
  }

  /* ---------- Timeline ---------- */
  .arm-timeline { margin: 0; padding: 0; list-style: none; }
  .arm-timeline__item { position: relative; display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding-bottom: 22px; }
  .arm-timeline__item:last-child { padding-bottom: 0; }
  .arm-timeline__item:not(:last-child)::before { content: ""; position: absolute; left: 13px; top: 30px; bottom: 4px; width: 2px; border-radius: 2px; background: var(--arm-border); }
  .arm-timeline__marker {
    --tone: var(--arm-text-subtle);
    width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; z-index: 1;
    background: color-mix(in srgb, var(--tone) 14%, var(--arm-bg)); color: var(--tone); border: 1px solid color-mix(in srgb, var(--tone) 30%, transparent);
  }
  .arm-timeline__marker > .arm-icon { width: 14px; height: 14px; }
  .arm-timeline__marker--dot { width: 12px; height: 12px; margin: 8px; background: var(--tone); }
  .arm-timeline__content { min-width: 0; padding-top: 3px; }
  .arm-timeline__title { color: var(--arm-text); font-weight: 500; }
  .arm-timeline__time { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); }
  .arm-timeline__body { margin-top: 6px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }

  /* ---------- Table ---------- */
  .arm-table-wrap { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); overflow-x: auto; }
  .arm-table-wrap--plain { border: 0; border-radius: 0; background: none; }
  .arm-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--arm-fs-md); font-variant-numeric: tabular-nums; }
  .arm-table th {
    position: sticky; top: 0; z-index: 1; padding: 10px 14px; text-align: start; white-space: nowrap;
    font-size: var(--arm-fs-xs); font-weight: 600; color: var(--arm-text-muted); background: var(--arm-bg-alt); border-bottom: 1px solid var(--arm-border);
  }
  .arm-table td { padding: 12px 14px; border-bottom: 1px solid var(--arm-border-soft); color: var(--arm-text-secondary); vertical-align: middle; }
  .arm-table tbody tr:last-child td { border-bottom: 0; }
  .arm-table tbody tr:hover td { background: var(--arm-hover); }
  .arm-table tr.is-selected td { background: color-mix(in srgb, var(--arm-primary) 7%, transparent); }
  .arm-table--striped tbody tr:nth-child(even) td { background: var(--arm-bg-alt); }
  .arm-table--compact td { padding-block: 7px; }
  .arm-table__sort { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
  .arm-table__sort:hover { color: var(--arm-text); }
  .arm-table__sort[aria-sort] { color: var(--arm-text); }
  .arm-table__check { width: 1%; }
  .arm-table td.arm-table__num, .arm-table th.arm-table__num { text-align: end; }
  .arm-table__primary { color: var(--arm-text); font-weight: 500; }

  /* Phones: rows become cards; every <td data-label="…"> shows its label */
  @media (max-width: 639px) {
    .arm-table--stack { display: block; }
    .arm-table--stack thead { display: none; }
    .arm-table--stack tbody, .arm-table--stack tr, .arm-table--stack td { display: block; }
    .arm-table--stack tr { padding: 12px 14px; border-bottom: 1px solid var(--arm-border-soft); }
    .arm-table--stack tbody tr:last-child { border-bottom: 0; }
    .arm-table--stack tbody tr:hover td { background: none; }
    .arm-table--stack td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 5px 0; border: 0; text-align: end; }
    .arm-table--stack td[data-label]::before { content: attr(data-label); color: var(--arm-text-subtle); font-size: var(--arm-fs-xs); font-weight: 500; text-align: start; }
    .arm-table--stack td:first-child, .arm-table--stack td.arm-table__primary { font-size: var(--arm-fs-lg); justify-content: flex-start; text-align: start; padding-bottom: 8px; padding-inline-end: 40px; }
    .arm-table--stack td:first-child::before, .arm-table--stack td.arm-table__primary::before { display: none; }
    .arm-table--stack td.arm-table__check { position: absolute; right: 14px; }
    .arm-table--stack td:last-child:not([data-label]):not(.arm-table__primary) { position: absolute; top: 10px; right: 10px; padding: 0; } /* row actions sit top-right beside the primary cell */
    .arm-table--stack tr { position: relative; }
  }

  /* ---------- Code block ---------- */
  .arm-code { position: relative; border: 1px solid #2a2e36; border-radius: var(--arm-radius-lg); background: #1d2026; color: #abb2bf; overflow: hidden; color-scheme: dark; }
  .arm-code__header { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 6px 0 14px; border-bottom: 1px solid #2a2e36; background: #191b20; font-size: var(--arm-fs-xs); color: #7f848e; }
  .arm-code__copy { margin-inline-start: auto; }
  .arm-code__copy.arm-btn { color: #9aa1ad; --arm-hover: rgb(255 255 255 / .06); }
  .arm-code pre { margin: 0; padding: 14px 16px; overflow-x: auto; font-family: var(--arm-font-mono); font-size: 12.5px; line-height: 1.7; tab-size: 4; }
  .arm-code:not(:has(.arm-code__header)) .arm-code__copy { position: absolute; top: 6px; right: 6px; opacity: 0; transition: opacity var(--arm-dur); }
  .arm-code:hover .arm-code__copy, .arm-code__copy:focus-visible { opacity: 1; }
  .arm-code .tok-c { color: #5c6370; font-style: italic; }
  .arm-code .tok-s { color: #98c379; }
  .arm-code .tok-k { color: #c678dd; }
  .arm-code .tok-t { color: #e06c75; }
  .arm-code .tok-a { color: #d19a66; }
  .arm-code .tok-v { color: #61afef; }

  /* ---------- Image ---------- */
  .arm-image { position: relative; display: block; margin: 0; }
  .arm-image > img { display: block; width: 100%; aspect-ratio: var(--ratio, auto); object-fit: var(--fit, cover); border-radius: var(--arm-radius-lg); background: var(--arm-surface-2); }
  .arm-image > figcaption { padding: 8px 2px 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-image--rounded-none > img { border-radius: 0; }

  /* ---------- Carousel ---------- */
  .arm-carousel { position: relative; }
  .arm-carousel__track { display: flex; gap: var(--gap, 12px); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; border-radius: var(--arm-radius-lg); overscroll-behavior-x: contain; }
  .arm-carousel__track::-webkit-scrollbar { display: none; }
  .arm-carousel__track > * { flex: 0 0 var(--slide, 100%); scroll-snap-align: start; min-width: 0; }
  .arm-carousel__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; box-shadow: var(--arm-shadow-md); }
  .arm-carousel__nav--prev { left: 16px; }
  .arm-carousel__nav--next { right: 16px; }
  .arm-carousel__dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
  .arm-carousel__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: var(--arm-border-strong); cursor: pointer; transition: width var(--arm-dur), background-color var(--arm-dur); }
  .arm-carousel__dot[aria-current="true"] { width: 22px; background: var(--arm-text); }
  @media (pointer: coarse) { .arm-carousel__nav { display: none; } }

  /* ---------- Accordion ---------- */
  .arm-accordion { display: flex; flex-direction: column; }
  .arm-accordion--bordered { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); }
  .arm-accordion > .arm-accordion__item + .arm-accordion__item { border-top: 1px solid var(--arm-border-soft); }
  .arm-accordion--separated { gap: 8px; }
  .arm-accordion--separated > .arm-accordion__item { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); }
  .arm-accordion--separated > .arm-accordion__item + .arm-accordion__item { border-top: 1px solid var(--arm-border); }
  .arm-accordion__item > summary {
    display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 4px; list-style: none; cursor: pointer;
    font-weight: 500; color: var(--arm-text);
  }
  .arm-accordion--bordered .arm-accordion__item > summary, .arm-accordion--separated .arm-accordion__item > summary { padding-inline: 16px; }
  .arm-accordion__item > summary::-webkit-details-marker { display: none; }
  .arm-accordion__item > summary > .arm-icon:first-child { width: 18px; height: 18px; color: var(--arm-text-muted); }
  .arm-accordion__heading { flex: 1; min-width: 0; }
  .arm-accordion__trailing { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; }
  .arm-accordion__chevron { margin-inline-start: auto; color: var(--arm-text-subtle); transition: transform var(--arm-dur) var(--arm-ease); }
  .arm-accordion__item[open] > summary .arm-accordion__chevron { transform: rotate(180deg); }
  .arm-accordion__content { padding: 0 4px 16px; color: var(--arm-text-muted); }
  .arm-accordion--bordered .arm-accordion__content, .arm-accordion--separated .arm-accordion__content { padding-inline: 16px; }
  .arm-accordion__item[open] > .arm-accordion__content { animation: arm-fade-in var(--arm-dur) ease-out; }

  /* ---------- Tree ---------- */
  .arm-tree, .arm-tree ul { margin: 0; padding: 0; list-style: none; }
  .arm-tree ul { margin-inline-start: 11px; padding-inline-start: 10px; border-inline-start: 1px solid var(--arm-border); }
  .arm-tree__node > summary, .arm-tree__leaf {
    display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 8px; border-radius: var(--arm-radius-sm);
    list-style: none; cursor: pointer; color: var(--arm-text-secondary); font-size: var(--arm-fs-md); text-decoration: none;
  }
  .arm-tree__node > summary::-webkit-details-marker { display: none; }
  .arm-tree__node > summary:hover, .arm-tree__leaf:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-tree__leaf.is-active { background: var(--arm-active); color: var(--arm-text); }
  .arm-tree__caret { width: 14px; height: 14px; color: var(--arm-text-subtle); transition: transform var(--arm-dur); }
  .arm-tree__node[open] > summary .arm-tree__caret { transform: rotate(90deg); }
  .arm-tree__leaf { padding-inline-start: 30px; }
  .arm-tree .arm-icon:not(.arm-tree__caret) { width: 16px; height: 16px; color: var(--arm-text-muted); }

  /* ---------- Rating ---------- */
  .arm-rating { display: inline-flex; align-items: center; gap: 2px; color: var(--arm-warning); }
  .arm-rating__star { display: inline-grid; place-items: center; width: var(--s, 20px); height: var(--s, 20px); padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
  .arm-rating__star > .arm-icon { width: 100%; height: 100%; }
  .arm-rating__star:not(.is-on) { color: var(--arm-border-strong); }
  .arm-rating__star.is-on svg { fill: currentColor; }
  .arm-rating[data-readonly] .arm-rating__star { cursor: default; }
  .arm-rating__value { margin-inline-start: 6px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); font-weight: 500; }

  /* ---------- Charts (SVG) ---------- */
  .arm-chart { display: grid; gap: 10px; }
  .arm-chart__plot { position: relative; height: var(--h, 220px); padding-inline-start: 38px; }
  .arm-chart__axis-y { position: absolute; left: 0; top: 0; width: 30px; height: 100%; overflow: visible; fill: var(--arm-text-subtle); font-size: 11px; }
  .arm-chart__canvas { display: block; width: 100%; height: 100%; overflow: visible; }
  .arm-chart__grid { stroke: var(--arm-border-soft); }
  .arm-chart__axis { fill: var(--arm-text-subtle); font-size: 11px; }
  .arm-chart__legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: var(--arm-fs-xs); color: var(--arm-text-muted); }
  .arm-chart__legend > span { display: inline-flex; align-items: center; gap: 6px; }
  .arm-chart__legend i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
  .arm-chart__bar { transition: opacity var(--arm-dur); }
  .arm-chart__bar:hover { opacity: .8; }
  .arm-sparkline { display: block; width: var(--w, 100%); height: var(--h, 32px); color: var(--tone, var(--arm-primary)); overflow: visible; }
  .arm-donut { position: relative; display: inline-grid; place-items: center; width: var(--size, 160px); aspect-ratio: 1; }
  .arm-donut > svg { position: absolute; inset: 0; transform: rotate(-90deg); }
  .arm-donut__center { display: grid; text-align: center; line-height: 1.2; }
  .arm-donut__value { font-size: 1.5rem; font-weight: 650; color: var(--arm-text); }
  .arm-donut__label { font-size: var(--arm-fs-xs); color: var(--arm-text-muted); }
}

/* ---- 30-forms.css ---- */
@layer arm.components {

  /* ---------- Fieldset ---------- */
  .arm-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
  /* a floated legend joins the normal flow, so it can sit above the description */
  .arm-fieldset > legend { float: left; width: 100%; padding: 0; margin: 0 0 12px; font-size: var(--arm-fs-md); font-weight: 600; color: var(--arm-text); }
  .arm-fieldset > legend + * { clear: both; }
  .arm-fieldset > :not(legend) + :not(legend) { margin-top: 16px; }
  .arm-fieldset > legend + .arm-fieldset__description { margin-top: -8px; }
  .arm-fieldset > .arm-fieldset__description + * { margin-top: 12px; }
  .arm-fieldset__description { margin: 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-form-grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 16px; }
  .arm-form-grid > .arm-span-full { grid-column: 1 / -1; }
  @media (max-width: 639px) { .arm-form-grid { grid-template-columns: 1fr; } }

  /* ---------- Checkbox & radio ---------- */
  .arm-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; min-width: 0; -webkit-tap-highlight-color: transparent; }
  .arm-check:has(input:disabled) { opacity: .5; cursor: not-allowed; }
  .arm-check__text { display: grid; gap: 1px; min-width: 0; padding-top: 1px; }
  .arm-check__label { font-size: var(--arm-fs-md); color: var(--arm-text); font-weight: 500; line-height: 1.4; }
  .arm-check__description { font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }

  .arm-checkbox, .arm-radio {
    appearance: none; flex: none; margin: 1px 0 0; width: 18px; height: 18px; display: inline-grid; place-content: center;
    border: 1.5px solid var(--arm-border-interactive); background: var(--arm-input-bg); cursor: inherit;
    transition: background-color var(--arm-dur-fast), border-color var(--arm-dur-fast), box-shadow var(--arm-dur-fast);
  }
  .arm-checkbox { border-radius: 5px; }
  .arm-radio { border-radius: 50%; }
  .arm-checkbox:hover, .arm-radio:hover { border-color: var(--arm-text-muted); }
  .arm-checkbox:focus-visible, .arm-radio:focus-visible { outline: 0; box-shadow: var(--arm-ring); border-color: var(--arm-primary); }
  .arm-checkbox:checked, .arm-checkbox:indeterminate, .arm-radio:checked { background: var(--arm-primary); border-color: var(--arm-primary); }
  .arm-checkbox::before { content: ""; width: 11px; height: 11px; background: var(--arm-on-primary); transform: scale(0); transition: transform var(--arm-dur-fast) var(--arm-ease);
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); }
  .arm-checkbox:checked::before { transform: scale(1); }
  .arm-checkbox:indeterminate::before { transform: scale(1); clip-path: inset(40% 8%); }
  .arm-radio::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--arm-on-primary); transform: scale(0); transition: transform var(--arm-dur-fast) var(--arm-ease); }
  .arm-radio:checked::before { transform: scale(1); }
  [aria-invalid="true"].arm-checkbox, [aria-invalid="true"].arm-radio { border-color: var(--arm-danger); }
  @media (pointer: coarse) { .arm-check { min-height: 36px; align-items: center; } }

  .arm-choice-group { display: grid; gap: 12px; }
  .arm-choice-group--horizontal { display: flex; flex-wrap: wrap; gap: 12px 20px; }

  /* Option cards (radio/checkbox as cards) */
  .arm-choice-cards { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
  .arm-choice-card {
    position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; cursor: pointer;
    border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1);
    transition: border-color var(--arm-dur-fast), box-shadow var(--arm-dur-fast), background-color var(--arm-dur-fast);
  }
  .arm-choice-card:hover { border-color: var(--arm-border-interactive); }
  .arm-choice-card:has(input:checked) { border-color: var(--arm-primary); box-shadow: 0 0 0 1px var(--arm-primary); background: color-mix(in srgb, var(--arm-primary) 5%, var(--arm-surface-1)); }
  .arm-choice-card:has(input:focus-visible) { box-shadow: var(--arm-ring); }
  .arm-choice-card > .arm-icon { width: 20px; height: 20px; color: var(--arm-text-muted); margin-top: 1px; }
  .arm-choice-card .arm-checkbox, .arm-choice-card .arm-radio { margin-inline-start: auto; order: 9; }

  /* ---------- Switch ---------- */
  .arm-switch {
    appearance: none; flex: none; position: relative; margin: 0; width: 36px; height: 20px; cursor: inherit;
    border-radius: 999px; background: var(--arm-border-strong); transition: background-color var(--arm-dur) var(--arm-ease);
  }
  .arm-switch::before {
    content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / .3); transition: transform var(--arm-dur) var(--arm-ease);
  }
  .arm-switch:checked { background: var(--arm-primary); }
  .arm-switch:checked::before { transform: translateX(16px); }
  .arm-switch:focus-visible { outline: 0; box-shadow: var(--arm-ring); }
  .arm-switch[data-tone]:checked { background: var(--tone); }
  .arm-switch--lg { width: 46px; height: 26px; }
  .arm-switch--lg::before { width: 22px; height: 22px; }
  .arm-switch--lg:checked::before { transform: translateX(20px); }
  .arm-check--switch { align-items: center; }
  .arm-check--end { flex-direction: row-reverse; justify-content: space-between; width: 100%; }
  .arm-check--end > .arm-check__text { flex: 1; }
  [dir="rtl"] .arm-switch:checked::before { transform: translateX(-16px); }

  /* ---------- Native select ---------- */
  .arm-select {
    appearance: none; width: 100%; height: var(--arm-control-h-md); padding: 0 34px 0 10px;
    background: var(--arm-input-bg); position: relative;
    color: var(--arm-text); font: inherit; border: 1px solid var(--arm-border-strong); border-radius: var(--arm-control-radius); box-shadow: var(--arm-shadow-xs);
    cursor: pointer;
  }
  .arm-select-wrap { position: relative; display: block; }
  .arm-select-wrap::after { /* chevron in theme colour (mask instead of a hard-coded fill) */
    content: ""; position: absolute; top: 50%; right: 10px; width: 16px; height: 16px; translate: 0 -50%; pointer-events: none; background: var(--arm-text-muted);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .arm-select-wrap:has(.arm-select[multiple])::after { display: none; }
  .arm-select:hover { border-color: var(--arm-border-interactive); }
  .arm-select:focus-visible { outline: 0; border-color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-select[aria-invalid="true"] { border-color: var(--arm-danger); }
  .arm-select[multiple] { height: auto; padding: 6px; }
  .arm-select--sm { height: var(--arm-control-h-sm); font-size: var(--arm-fs-sm); }
  .arm-select--lg { height: var(--arm-control-h-lg); }
  @media (pointer: coarse) { .arm-select { font-size: 16px; } }

  /* ---------- Listbox / combobox popover ---------- */
  .arm-combobox { position: relative; }
  .arm-combobox__trigger { cursor: pointer; text-align: start; width: 100%; font: inherit; }
  .arm-combobox__trigger .arm-input__control { cursor: inherit; display: flex; align-items: center; gap: 6px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .arm-combobox__placeholder { color: var(--arm-text-subtle); }
  .arm-combobox__chips { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px 0; flex: 1; min-width: 0; align-items: center; }
  .arm-input:has(.arm-combobox__chips) { height: auto; min-height: var(--arm-control-h-md); }
  .arm-combobox__chips > input { flex: 1; min-width: 80px; border: 0; outline: 0; background: none; color: inherit; font: inherit; height: 26px; }

  .arm-popover {
    position: absolute; z-index: var(--arm-z-dropdown); top: calc(100% + 6px); left: 0; min-width: 100%; max-width: min(360px, calc(100vw - 24px));
    background: var(--arm-surface-elevated); border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-lg);
    box-shadow: var(--arm-shadow-overlay); animation: arm-pop var(--arm-dur-fast) var(--arm-ease-out); transform-origin: top;
  }
  .arm-popover--end { left: auto; right: 0; }
  .arm-popover--top { top: auto; bottom: calc(100% + 6px); transform-origin: bottom; }
  .arm-popover--padded { padding: 16px; min-width: 260px; }
  .arm-popover--padded > :first-child { margin-top: 0; } .arm-popover--padded > :last-child { margin-bottom: 0; }
  .arm-listbox { max-height: 280px; overflow-y: auto; overscroll-behavior: contain; padding: 4px; }
  .arm-listbox__search { display: flex; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 1px solid var(--arm-border-soft); color: var(--arm-text-subtle); }
  .arm-listbox__search > input { flex: 1; min-width: 0; height: 40px; border: 0; outline: 0; background: none; color: var(--arm-text); font: inherit; }
  .arm-option {
    display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 6px 10px; border-radius: var(--arm-radius-md);
    color: var(--arm-text-secondary); cursor: pointer; user-select: none;
  }
  button.arm-option { width: 100%; border: 0; background: none; font: inherit; text-align: start; outline: 0; }
  button.arm-option:hover, button.arm-option:focus-visible { background: var(--arm-active); color: var(--arm-text); }
  .arm-option[data-active] { background: var(--arm-active); color: var(--arm-text); }
  .arm-option[aria-selected="true"] { color: var(--arm-text); font-weight: 500; }
  .arm-option__check { margin-inline-start: auto; color: var(--arm-primary); visibility: hidden; }
  .arm-option[aria-selected="true"] .arm-option__check { visibility: visible; }
  .arm-option__description { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); }
  .arm-listbox__empty { padding: 18px 12px; text-align: center; font-size: var(--arm-fs-sm); color: var(--arm-text-subtle); }
  .arm-listbox__group { padding: 8px 10px 4px; font-size: var(--arm-fs-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--arm-text-subtle); }
  @media (pointer: coarse) { .arm-option { min-height: 44px; } }

  /* Phones: popovers become bottom sheets */
  @media (max-width: 639px) {
    .arm-popover--sheet {
      position: fixed; inset: auto 0 0 0; top: auto; max-width: none; max-height: 75dvh; display: flex; flex-direction: column;
      border-radius: var(--arm-radius-2xl) var(--arm-radius-2xl) 0 0; border-width: 1px 0 0; padding-bottom: calc(16px + env(safe-area-inset-bottom));
      animation: arm-slide-up var(--arm-dur-slow) var(--arm-ease-out);
    }
    .arm-popover--sheet::before { content: ""; display: block; width: 38px; height: 4px; margin: 8px auto 4px; border-radius: 4px; background: var(--arm-border-interactive); flex: none; }
    .arm-popover--sheet .arm-listbox { max-height: none; flex: 1; }
    .arm-popover-backdrop { position: fixed; inset: 0; z-index: calc(var(--arm-z-dropdown) - 1); background: var(--arm-overlay); animation: arm-fade-in var(--arm-dur) ease-out; }
  }
  @media (min-width: 640px) { .arm-popover-backdrop { display: none; } }

  /* ---------- Textarea ---------- */
  .arm-textarea { field-sizing: content; resize: none; min-height: calc(var(--rows, 3) * 1.55em + 18px); max-height: 50vh; }
  .arm-counter { margin-inline-start: auto; font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); font-variant-numeric: tabular-nums; }
  .arm-counter.is-over { color: var(--arm-danger); }
  .arm-field__footer { display: flex; gap: 8px; align-items: center; }

  /* ---------- Slider ---------- */
  .arm-slider { --value: 50%; position: relative; display: flex; align-items: center; height: 24px; }
  .arm-slider input[type=range] {
    appearance: none; width: 100%; height: 24px; margin: 0; background: none; cursor: pointer; position: relative; z-index: 1;
  }
  .arm-slider input[type=range]::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: transparent; }
  .arm-slider input[type=range]::-moz-range-track { height: 6px; border-radius: 3px; background: transparent; }
  .arm-slider input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 20px; height: 20px; margin-top: -7px; border-radius: 50%; background: #fff; border: 2px solid var(--arm-primary);
    box-shadow: 0 1px 4px rgb(0 0 0 / .3); transition: box-shadow var(--arm-dur-fast);
  }
  .arm-slider input[type=range]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--arm-primary); }
  .arm-slider input[type=range]:focus-visible { outline: 0; }
  .arm-slider input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: var(--arm-ring); }
  .arm-slider__track { position: absolute; left: 0; right: 0; height: 6px; border-radius: 3px; background: var(--arm-surface-3); overflow: hidden; }
  .arm-slider__fill { position: absolute; top: 0; bottom: 0; left: var(--from, 0%); right: calc(100% - var(--value)); background: var(--arm-primary); border-radius: 3px; }
  .arm-slider--range input[type=range] { position: absolute; inset: 0; pointer-events: none; }
  .arm-slider--range input[type=range]::-webkit-slider-thumb { pointer-events: auto; }
  .arm-slider--range input[type=range]::-moz-range-thumb { pointer-events: auto; }
  .arm-slider__ticks { display: flex; justify-content: space-between; margin-top: 4px; font-size: var(--arm-fs-2xs); color: var(--arm-text-subtle); padding: 0 4px; }
  .arm-slider__value { font-size: var(--arm-fs-sm); color: var(--arm-text); font-variant-numeric: tabular-nums; font-weight: 500; }
  @media (pointer: coarse) { .arm-slider input[type=range]::-webkit-slider-thumb { width: 26px; height: 26px; margin-top: -10px; } }

  /* ---------- Number input ---------- */
  .arm-number { padding: 0; overflow: hidden; width: 148px; }
  .arm-number.arm-input--sm { width: 124px; } .arm-number.arm-input--lg { width: 172px; }
  .arm-number > .arm-input__control { min-width: 3ch; }
  .arm-number > .arm-input__control { text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
  .arm-number > .arm-input__control::-webkit-inner-spin-button, .arm-number > .arm-input__control::-webkit-outer-spin-button { appearance: none; margin: 0; }
  .arm-number__btn { flex: none; display: grid; place-items: center; width: var(--h); height: 100%; border: 0; background: none; color: var(--arm-text-muted); cursor: pointer; }
  .arm-number__btn:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-number__btn:first-child { border-inline-end: 1px solid var(--arm-border); }
  .arm-number__btn:last-child { border-inline-start: 1px solid var(--arm-border); }

  /* ---------- OTP ---------- */
  .arm-otp { display: flex; gap: 8px; align-items: center; }
  .arm-otp__cell {
    width: 44px; height: 52px; text-align: center; font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums;
    color: var(--arm-text); background: var(--arm-input-bg); border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-md);
    caret-color: var(--arm-primary); padding: 0;
  }
  .arm-otp__cell:focus { outline: 0; border-color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-otp__sep { color: var(--arm-text-subtle); }
  @media (max-width: 379px) { .arm-otp { gap: 5px; } .arm-otp__cell { width: 38px; height: 46px; } }

  /* ---------- File upload ---------- */
  .arm-dropzone {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 28px 20px; text-align: center; cursor: pointer;
    border: 1.5px dashed var(--arm-border-strong); border-radius: var(--arm-radius-lg); background: var(--arm-bg-alt);
    transition: border-color var(--arm-dur-fast), background-color var(--arm-dur-fast);
  }
  .arm-dropzone:hover, .arm-dropzone.is-dragging { border-color: var(--arm-primary); background: color-mix(in srgb, var(--arm-primary) 6%, var(--arm-bg-alt)); }
  .arm-dropzone:focus-within { box-shadow: var(--arm-ring); }
  .arm-dropzone__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--arm-surface-1); border: 1px solid var(--arm-border); color: var(--arm-text-muted); }
  .arm-dropzone__title { color: var(--arm-text); font-weight: 500; }
  .arm-dropzone__title b { color: var(--arm-primary); font-weight: 600; }
  .arm-dropzone__hint { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); }
  .arm-dropzone input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
  .arm-file-list { display: grid; gap: 8px; margin-top: 10px; }
  .arm-file { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--arm-border); border-radius: var(--arm-radius-md); background: var(--arm-surface-1); }
  .arm-file__icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 8px; background: var(--arm-surface-2); color: var(--arm-text-muted); overflow: hidden; }
  .arm-file__icon > img { width: 100%; height: 100%; object-fit: cover; }
  .arm-file__meta { flex: 1; min-width: 0; display: grid; gap: 4px; }
  .arm-file__name { font-size: var(--arm-fs-sm); font-weight: 500; color: var(--arm-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-file__size { font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); }

  /* ---------- Color ---------- */
  .arm-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
  .arm-swatch { position: relative; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; background: var(--c); box-shadow: inset 0 0 0 1px rgb(0 0 0 / .12); }
  .arm-swatch > input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
  .arm-swatch:has(input:checked) { box-shadow: 0 0 0 2px var(--arm-bg), 0 0 0 4px var(--c); }
  .arm-swatch:has(input:focus-visible) { outline: 2px solid var(--arm-focus); outline-offset: 4px; }
  .arm-color-input { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 6px; background: none; cursor: pointer; flex: none; }
  .arm-color-input::-webkit-color-swatch-wrapper { padding: 0; }
  .arm-color-input::-webkit-color-swatch { border: 1px solid var(--arm-border-strong); border-radius: 6px; }

  /* ---------- Date picker (calendar) ---------- */
  .arm-calendar { width: 288px; max-width: 100%; padding: 12px; user-select: none; }
  .arm-calendar--inline { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-lg); background: var(--arm-surface-1); }
  .arm-calendar__head { display: flex; align-items: center; gap: 4px; margin-bottom: 8px; }
  .arm-calendar__title { flex: 1; text-align: center; font-weight: 600; color: var(--arm-text); text-transform: capitalize; }
  .arm-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
  .arm-calendar__dow { height: 28px; display: grid; place-items: center; font-size: var(--arm-fs-2xs); font-weight: 600; color: var(--arm-text-subtle); text-transform: uppercase; }
  .arm-calendar__day {
    position: relative; aspect-ratio: 1; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--arm-radius-md);
    background: none; color: var(--arm-text-secondary); font: inherit; font-size: var(--arm-fs-sm); font-variant-numeric: tabular-nums; cursor: pointer;
  }
  .arm-calendar__day:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-calendar__day.is-outside { color: var(--arm-text-disabled); }
  .arm-calendar__day.is-today { color: var(--arm-primary); font-weight: 700; }
  .arm-calendar__day.is-in-range { background: color-mix(in srgb, var(--arm-primary) 14%, transparent); border-radius: 0; color: var(--arm-text); }
  .arm-calendar__day.is-selected { background: var(--arm-primary); color: var(--arm-on-primary); font-weight: 600; }
  .arm-calendar__day:disabled { color: var(--arm-text-disabled); cursor: not-allowed; background: none; text-decoration: line-through; }
  .arm-calendar__presets { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; border-top: 1px solid var(--arm-border-soft); }
  @media (max-width: 639px) { .arm-popover--sheet .arm-calendar { width: 100%; padding: 12px 16px; } }

  /* ---------- Toggle group (segmented control) ---------- */
  .arm-toggle-group { display: inline-flex; max-width: 100%; border: 1px solid var(--arm-border-strong); border-radius: var(--arm-control-radius); overflow: hidden; background: var(--arm-surface-1); box-shadow: var(--arm-shadow-xs); }
  .arm-toggle-group > label { position: relative; display: inline-flex; align-items: center; gap: 6px; height: calc(var(--arm-control-h-md) - 2px); padding: 0 12px; cursor: pointer; color: var(--arm-text-muted); font-size: var(--arm-fs-sm); font-weight: 500; white-space: nowrap; }
  .arm-toggle-group > label + label { border-inline-start: 1px solid var(--arm-border); }
  .arm-toggle-group > label:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-toggle-group > label:has(input:checked) { background: var(--arm-active); color: var(--arm-text); }
  .arm-toggle-group > label:has(input:focus-visible) { outline: 2px solid var(--arm-focus); outline-offset: -2px; }
  .arm-toggle-group input { position: absolute; opacity: 0; pointer-events: none; }
  .arm-toggle-group--block { display: flex; }
  .arm-toggle-group--block > label { flex: 1; justify-content: center; }
}

/* ---- 40-overlays.css ---- */
@layer arm.components {

  /* ---------- Modal / drawer / sheet (native <dialog>) ---------- */
  .arm-modal, .arm-drawer, .arm-sheet {
    max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
    color: var(--arm-text); background: var(--arm-surface-elevated); box-shadow: var(--arm-shadow-overlay); overflow: hidden;
  }
  .arm-modal::backdrop, .arm-drawer::backdrop, .arm-sheet::backdrop { background: var(--arm-overlay); animation: arm-fade-in var(--arm-dur) ease-out; }
  :is(.arm-modal, .arm-drawer, .arm-sheet)[open] { display: flex; flex-direction: column; }
  :is(.arm-modal, .arm-drawer, .arm-sheet):focus { outline: none; }

  .arm-modal {
    --w: 520px;
    width: min(var(--w), calc(100vw - 32px)); max-height: min(calc(100dvh - 48px), 880px); margin: auto;
    border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-xl);
  }
  .arm-modal[open] { animation: arm-rise var(--arm-dur) var(--arm-ease-out); }
  .arm-modal--sm { --w: 400px; }
  .arm-modal--lg { --w: 720px; }
  .arm-modal--xl { --w: 960px; }
  .arm-modal--full { width: calc(100vw - 32px); height: calc(100dvh - 32px); max-height: none; --w: 100vw; }

  .arm-modal__header { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 20px 20px 14px; flex: none; }
  .arm-modal__heading { flex: 1; min-width: 0; }
  .arm-modal__title { margin: 0; font-size: var(--arm-fs-lg); font-weight: 600; letter-spacing: -.01em; line-height: 1.35; }
  .arm-modal__description { margin: 4px 0 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-modal__close { margin: -6px -10px 0 auto; } /* glyph lands on the 20px inset like the title */
  .arm-modal__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 12px; background: color-mix(in srgb, var(--tone, var(--arm-primary)) 14%, transparent); color: var(--tone, var(--arm-primary)); }
  .arm-modal__body { flex: 1 1 auto; min-height: 0; padding: 0 20px 20px; overflow-y: auto; overscroll-behavior: contain; color: var(--arm-text-secondary); }
  .arm-modal__body:not(:has(*)):not(:has(:not(:empty))) { display: none; } /* empty slot (confirm dialogs) leaves no void */
  .arm-modal__body:first-child, .arm-modal__handle + .arm-modal__body { padding-top: 20px; }
  .arm-modal__footer {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; flex: none;
    padding: 14px 20px; background: var(--arm-bg-alt); border-top: 1px solid var(--arm-border-soft);
  }
  .arm-modal__handle { display: none; flex: none; height: 22px; position: relative; touch-action: none; cursor: grab; }
  .arm-modal__handle::before { content: ""; position: absolute; top: 9px; left: 50%; width: 38px; height: 4px; margin-left: -19px; border-radius: 4px; background: var(--arm-border-interactive); }

  /* Drawer */
  .arm-drawer { --w: 440px; position: fixed; inset: 0 0 0 auto; width: min(var(--w), 100vw); height: 100%; height: 100dvh; border-inline-start: 1px solid var(--arm-border-strong); }
  .arm-drawer[open] { animation: arm-slide-right var(--arm-dur-slow) var(--arm-ease-out); }
  .arm-drawer--left { inset: 0 auto 0 0; border-inline-start: 0; border-inline-end: 1px solid var(--arm-border-strong); }
  .arm-drawer--left[open] { animation-name: arm-slide-left; }
  .arm-drawer--sm { --w: 340px; }
  .arm-drawer--lg { --w: 640px; }
  .arm-drawer .arm-modal__header { align-items: center; min-height: var(--arm-header-h); padding: 0 12px 0 20px; border-bottom: 1px solid var(--arm-border-soft); }
  .arm-drawer .arm-modal__close { margin: 0 0 0 auto; }
  .arm-drawer .arm-modal__body { padding: 20px; }
  .arm-drawer .arm-modal__footer { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }

  /* Bottom sheet (every size) */
  .arm-sheet {
    --w: 640px;
    position: fixed; inset: auto 0 0 0; width: min(var(--w), 100vw); max-height: 92dvh; margin: 0 auto;
    border: 1px solid var(--arm-border-strong); border-bottom: 0; border-radius: var(--arm-radius-2xl) var(--arm-radius-2xl) 0 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .arm-sheet > .arm-modal__body:last-child { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .arm-sheet[open] { animation: arm-slide-up var(--arm-dur-slow) var(--arm-ease-out); }
  .arm-sheet > .arm-modal__handle { display: block; }
  .arm-sheet > .arm-modal__handle + .arm-modal__header { padding-top: 2px; }

  :is(.arm-modal, .arm-drawer, .arm-sheet).is-dragging { animation: none; transition: none; }

  /* Phones: modals become bottom sheets, drawers go full width */
  @media (max-width: 639px) {
    .arm-modal:not(.arm-modal--no-sheet) {
      width: 100%; max-height: 92dvh; margin: auto 0 0;
      border-width: 1px 0 0; border-radius: var(--arm-radius-2xl) var(--arm-radius-2xl) 0 0; padding-bottom: env(safe-area-inset-bottom);
    }
    .arm-modal:not(.arm-modal--no-sheet)[open] { animation: arm-slide-up var(--arm-dur-slow) var(--arm-ease-out); }
    .arm-modal:not(.arm-modal--no-sheet) > .arm-modal__handle { display: block; }
    .arm-modal:not(.arm-modal--no-sheet) > .arm-modal__handle + .arm-modal__header { padding-top: 2px; }
    :is(.arm-modal:not(.arm-modal--no-sheet), .arm-drawer, .arm-sheet) .arm-modal__footer { flex-direction: column-reverse; align-items: stretch; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
    :is(.arm-modal:not(.arm-modal--no-sheet), .arm-drawer, .arm-sheet) .arm-modal__footer > .arm-btn { width: 100%; --h: var(--arm-control-h-lg); }
    :is(.arm-modal:not(.arm-modal--no-sheet), .arm-drawer, .arm-sheet) .arm-modal__footer > .arm-spacer { display: none; }
    .arm-modal:not(.arm-modal--no-sheet) > .arm-modal__body:last-child { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
    .arm-sheet { width: 100%; border-inline: 0; }
    .arm-drawer:not(.arm-drawer--left) { --w: 100vw; }
  }

  /* ---------- Dropdown menu ---------- */
  .arm-dropdown { position: relative; display: inline-flex; }
  .arm-menu {
    position: absolute; z-index: var(--arm-z-dropdown); top: calc(100% + 6px); left: 0; min-width: 200px; max-width: min(320px, calc(100vw - 24px));
    padding: 4px; background: var(--arm-surface-elevated); border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-lg);
    box-shadow: var(--arm-shadow-overlay); transform-origin: top left;
  }
  .arm-menu[data-align="end"] { left: auto; right: 0; transform-origin: top right; }
  .arm-menu[data-position="top"] { top: auto; bottom: calc(100% + 6px); transform-origin: bottom left; }
  .arm-menu__item {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 34px; padding: 6px 10px;
    border: 0; border-radius: var(--arm-radius-md); background: none; color: var(--arm-text-secondary);
    font: inherit; font-size: var(--arm-fs-md); text-align: start; text-decoration: none; cursor: pointer; white-space: nowrap;
  }
  .arm-menu__item > .arm-icon { width: 16px; height: 16px; color: var(--arm-text-muted); }
  .arm-menu__item:hover, .arm-menu__item:focus-visible { background: var(--arm-active); color: var(--arm-text); outline: 0; }
  .arm-menu__item:disabled, .arm-menu__item[aria-disabled="true"] { opacity: .45; pointer-events: none; }
  .arm-menu__item--danger, .arm-menu__item--danger > .arm-icon { color: var(--arm-danger); }
  .arm-menu__item--danger:hover { background: color-mix(in srgb, var(--arm-danger) 12%, transparent); color: var(--arm-danger); }
  .arm-menu__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .arm-menu__kbd { margin-inline-start: auto; font-size: var(--arm-fs-xs); color: var(--arm-text-subtle); letter-spacing: .04em; }
  .arm-menu__check { margin-inline-start: auto; color: var(--arm-primary); visibility: hidden; }
  .arm-menu__item[aria-checked="true"] .arm-menu__check { visibility: visible; }
  .arm-menu__item svg { width: 16px; height: 16px; flex: none; } /* raw Armada::icon() output stays icon-sized */
  .arm-menu__separator { height: 1px; margin: 4px -4px; background: var(--arm-border-soft); }
  .arm-menu__heading { padding: 8px 10px 4px; font-size: var(--arm-fs-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--arm-text-subtle); }
  .arm-menu__header { display: flex; align-items: center; gap: 10px; padding: 8px 10px; }
  @media (pointer: coarse) { .arm-menu__item { min-height: 44px; } }

  @media (max-width: 639px) {
    .arm-menu--sheet {
      position: fixed; inset: auto 0 0 0; top: auto; max-width: none; padding: 4px 8px calc(16px + env(safe-area-inset-bottom));
      border-radius: var(--arm-radius-2xl) var(--arm-radius-2xl) 0 0; border-width: 1px 0 0; max-height: 80dvh; overflow-y: auto;
      animation: arm-slide-up var(--arm-dur-slow) var(--arm-ease-out) !important;
    }
    .arm-menu--sheet::before { content: ""; display: block; width: 38px; height: 4px; margin: 6px auto 8px; border-radius: 4px; background: var(--arm-border-interactive); }
    .arm-menu--sheet .arm-menu__item { min-height: 48px; font-size: var(--arm-fs-lg); }
    .arm-menu--sheet .arm-menu__kbd { display: none; } /* keyboard hints mean nothing on a phone */
  }

  /* ---------- Tooltip (CSS only) ---------- */
  .arm-tooltip { position: relative; display: inline-flex; }
  .arm-tooltip__content {
    position: absolute; z-index: var(--arm-z-tooltip); left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%) translateY(2px);
    width: max-content; max-width: 260px; padding: 6px 9px; border-radius: var(--arm-radius-sm);
    background: var(--arm-inverse); color: var(--arm-on-inverse); font-size: var(--arm-fs-xs); font-weight: 500; line-height: 1.4; text-align: center;
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--arm-dur-fast), transform var(--arm-dur-fast), visibility 0s linear var(--arm-dur-fast);
  }
  .arm-tooltip:hover > .arm-tooltip__content, .arm-tooltip:focus-within > .arm-tooltip__content { opacity: 1; visibility: visible; transform: translateX(-50%); transition-delay: 300ms, 300ms, 0s; }
  .arm-tooltip__content[style*="fixed"] { transition-property: opacity, visibility; } /* JS-placed: no slide transform */
  .arm-tooltip__content[data-position="bottom"] { bottom: auto; top: calc(100% + 8px); }
  .arm-tooltip__content[data-position="right"] { left: calc(100% + 8px); bottom: auto; top: 50%; transform: translateY(-50%) translateX(-2px); }
  .arm-tooltip:is(:hover, :focus-within) > .arm-tooltip__content[data-position="right"] { transform: translateY(-50%); }
  .arm-tooltip__content[data-position="left"] { left: auto; right: calc(100% + 8px); bottom: auto; top: 50%; transform: translateY(-50%) translateX(2px); }
  .arm-tooltip:is(:hover, :focus-within) > .arm-tooltip__content[data-position="left"] { transform: translateY(-50%); }
  .arm-tooltip__content .arm-kbd { height: 18px; min-width: 18px; margin-inline-start: 6px; background: transparent; color: inherit; border-color: color-mix(in srgb, currentColor 30%, transparent); }
  @media (hover: none) { .arm-tooltip > .arm-tooltip__content { display: none; } }

  /* ---------- Toasts ---------- */
  .arm-toaster {
    position: fixed; z-index: var(--arm-z-toast); display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 24px));
    pointer-events: none; inset: auto 16px 16px auto;
  }
  .arm-toaster[data-position="top-right"] { inset: 16px 16px auto auto; }
  .arm-toaster[data-position="top-center"] { inset: 16px auto auto 50%; transform: translateX(-50%); }
  .arm-toaster[data-position="bottom-center"] { inset: auto auto 16px 50%; transform: translateX(-50%); }
  .arm-toaster[data-position="bottom-left"] { inset: auto auto 16px 16px; }
  @media (max-width: 639px) {
    .arm-toaster, .arm-toaster[data-position] { inset: auto 12px calc(12px + env(safe-area-inset-bottom)) 12px; transform: none; width: auto; }
    body:has(.arm-bottom-nav) .arm-toaster { bottom: calc(var(--arm-bottom-nav-h) + 12px + env(safe-area-inset-bottom)); }
  }
  .arm-toast {
    --tone: var(--arm-text-muted);
    pointer-events: auto; position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 12px 12px 12px 14px; overflow: hidden;
    background: var(--arm-surface-elevated); border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-lg); box-shadow: var(--arm-shadow-lg);
    animation: arm-rise var(--arm-dur) var(--arm-ease-out);
  }
  .arm-toast > .arm-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--tone); }
  .arm-toast__content { flex: 1; min-width: 0; display: grid; gap: 2px; }
  .arm-toast__title { font-weight: 600; color: var(--arm-text); font-size: var(--arm-fs-md); }
  .arm-toast__text { font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-toast__action { align-self: center; }
  .arm-toast__close { margin: -4px -4px -4px 0; }
  .arm-toast__progress { position: absolute; left: 0; bottom: 0; height: 2px; background: var(--tone); animation: arm-toast-timer linear forwards; }
  @keyframes arm-toast-timer { from { width: 100%; } to { width: 0; } }

  /* ---------- Command palette ---------- */
  .arm-command { --w: 620px; width: min(var(--w), calc(100vw - 24px)); max-height: min(560px, calc(100dvh - 120px)); margin: 12vh auto auto; padding: 0;
    border: 1px solid var(--arm-border-strong); border-radius: var(--arm-radius-xl); background: var(--arm-surface-elevated); color: var(--arm-text); box-shadow: var(--arm-shadow-overlay); overflow: hidden; }
  .arm-command[open] { display: flex; flex-direction: column; animation: arm-pop var(--arm-dur) var(--arm-ease-out); }
  .arm-command::backdrop { background: var(--arm-overlay); }
  .arm-command__search { display: flex; align-items: center; gap: 12px; padding: 0 16px; border-bottom: 1px solid var(--arm-border-soft); color: var(--arm-text-subtle); flex: none; }
  .arm-command__search > input { flex: 1; min-width: 0; height: 56px; border: 0; outline: 0; background: none; color: var(--arm-text); font: inherit; font-size: var(--arm-fs-lg); }
  .arm-command__list { flex: 1; min-height: 0; overflow-y: auto; padding: 6px 6px 10px; }
  .arm-command__cancel { display: none; border: 0; background: none; color: var(--arm-primary); font: inherit; font-size: var(--arm-fs-md); font-weight: 500; padding: 8px 0 8px 8px; cursor: pointer; }
  .arm-command__list .arm-menu__item { min-height: 42px; }
  .arm-command__list .arm-menu__item[data-active] { background: var(--arm-active); color: var(--arm-text); }
  .arm-command__footer { display: flex; gap: 16px; padding: 9px 14px; font-size: var(--arm-fs-2xs); color: var(--arm-text-subtle); background: var(--arm-bg-alt); border-top: 1px solid var(--arm-border-soft); flex: none; }
  .arm-command__footer > span { display: inline-flex; align-items: center; gap: 6px; }
  @media (max-width: 639px) { /* phone: full-height sheet with a visible Cancel */
    .arm-command { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; padding-bottom: env(safe-area-inset-bottom); }
    .arm-command[open] { animation: arm-slide-up var(--arm-dur-slow) var(--arm-ease-out); }
    .arm-command__footer, .arm-command .arm-kbd--hint { display: none; }
    .arm-command__cancel { display: inline-block; }
  }

  /* ---------- FAB & speed dial ---------- */
  .arm-fab { position: fixed; z-index: var(--arm-z-sticky); right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); }
  .arm-fab--static { position: relative; right: auto; bottom: auto; }
  .arm-fab--left { right: auto; left: 20px; }
  @media (max-width: 639px) { body:has(.arm-bottom-nav) .arm-fab:not(.arm-fab--static) { bottom: calc(var(--arm-bottom-nav-h) + 16px + env(safe-area-inset-bottom)); } }
  .arm-fab__button { width: 56px; height: 56px; border-radius: 18px; box-shadow: var(--arm-shadow-lg); }
  .arm-fab__button.arm-btn--extended { width: auto; padding: 0 20px; }
  .arm-fab__button > .arm-icon { width: 22px; height: 22px; }
  .arm-fab__actions { position: absolute; bottom: calc(100% + 12px); right: 4px; display: flex; flex-direction: column-reverse; align-items: flex-end; gap: 10px; }
  .arm-fab__action { display: flex; align-items: center; gap: 10px; }
  .arm-fab__action-label { padding: 4px 10px; border-radius: var(--arm-radius-sm); background: var(--arm-inverse); color: var(--arm-on-inverse); font-size: var(--arm-fs-xs); font-weight: 500; box-shadow: var(--arm-shadow-md); white-space: nowrap; }
  .arm-fab__action .arm-btn { width: 44px; height: 44px; border-radius: 50%; box-shadow: var(--arm-shadow-md); }
}

/* ---- 50-extras.css ---- */
@layer arm.components {

  /* ---------- Nested menu ---------- */
  .arm-menu__sub { position: relative; }
  .arm-menu__sub-chevron { margin-inline-start: auto; color: var(--arm-text-subtle); transition: transform var(--arm-dur) var(--arm-ease); }
  .arm-menu--nested { top: -5px; left: calc(100% + 2px); }
  [dir="rtl"] .arm-menu--nested { left: auto; right: calc(100% + 2px); }
  @media (max-width: 639px) {
    /* inside a bottom sheet there is no "side": the submenu opens in place, indented */
    .arm-menu--sheet .arm-menu--nested { position: static; min-width: 0; max-width: none; margin: 0 0 4px 18px; padding: 0 0 0 8px; border: 0; border-inline-start: 2px solid var(--arm-border-soft); border-radius: 0; box-shadow: none; background: none; }
    .arm-menu--sheet .arm-menu__sub > [aria-expanded="true"] .arm-menu__sub-chevron { transform: rotate(90deg); }
  }

  /* ---------- Time picker ---------- */
  .arm-time { min-width: 180px; }
  .arm-time__list { position: relative; max-height: 260px; font-variant-numeric: tabular-nums; }
}

@layer arm.components {
  /* ---------- Language switcher (inline) ---------- */
  .arm-lang--inline { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--arm-border); border-radius: var(--arm-control-radius); background: var(--arm-surface-2); }
  .arm-lang--inline > a { min-width: 34px; padding: 4px 8px; border-radius: calc(var(--arm-control-radius) - 2px); text-align: center; font-size: var(--arm-fs-xs); font-weight: 600; letter-spacing: .04em; color: var(--arm-text-muted); text-decoration: none; }
  .arm-lang--inline > a:hover { color: var(--arm-text); }
  .arm-lang--inline > a[aria-current] { background: var(--arm-surface-1); color: var(--arm-text); box-shadow: var(--arm-shadow-xs); }
}

@layer arm.components {
  /* ---------- Event calendar ---------- */
  .arm-cal { border: 1px solid var(--arm-border); border-radius: var(--arm-radius-xl); background: var(--arm-surface-1); overflow: hidden; }
  .arm-cal__head { display: flex; align-items: center; gap: 6px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--arm-border-soft); }
  .arm-cal__title { flex: 1; min-width: 0; font-size: var(--arm-fs-lg); font-weight: 600; color: var(--arm-text); text-transform: capitalize; }
  .arm-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .arm-cal__dow { padding: 8px; font-size: var(--arm-fs-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--arm-text-subtle); border-bottom: 1px solid var(--arm-border-soft); }
  .arm-cal__day {
    display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 104px; padding: 6px;
    border-bottom: 1px solid var(--arm-border-soft); border-inline-end: 1px solid var(--arm-border-soft); cursor: pointer; outline: 0;
  }
  .arm-cal__day:nth-child(7n + 7) { border-inline-end: 0; }
  .arm-cal__day:nth-last-child(-n + 7) { border-bottom: 0; }
  .arm-cal__day:hover { background: var(--arm-hover); }
  .arm-cal__day:focus-visible { box-shadow: inset 0 0 0 2px var(--arm-primary); }
  .arm-cal__day.is-outside { background: var(--arm-bg-alt); }
  .arm-cal__day.is-outside .arm-cal__num { color: var(--arm-text-subtle); }
  .arm-cal__num { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: var(--arm-fs-sm); font-weight: 500; color: var(--arm-text-secondary); font-variant-numeric: tabular-nums; }
  .arm-cal__day.is-today .arm-cal__num { background: var(--arm-primary); color: var(--arm-on-primary); }
  .arm-cal__day.is-selected { background: color-mix(in srgb, var(--arm-primary) 7%, transparent); }
  .arm-cal__events { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .arm-cal__event {
    display: flex; gap: 4px; min-width: 0; padding: 2px 6px; border-radius: var(--arm-radius-xs); font-size: var(--arm-fs-xs); line-height: 1.5;
    background: color-mix(in srgb, var(--tone) 14%, transparent); color: var(--arm-text); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    border-inline-start: 2px solid var(--tone);
  }
  .arm-cal__event > span:last-child { overflow: hidden; text-overflow: ellipsis; }
  .arm-cal__time { color: var(--arm-text-muted); font-variant-numeric: tabular-nums; flex: none; }
  .arm-cal__more { padding: 0 6px; font-size: var(--arm-fs-xs); color: var(--arm-text-muted); }
  .arm-cal__dots { display: none; gap: 3px; justify-content: center; }
  .arm-cal__dots > i { width: 5px; height: 5px; border-radius: 50%; background: var(--tone); }
  .arm-cal__agenda { display: none; padding: 12px 16px 16px; border-top: 1px solid var(--arm-border-soft); }
  .arm-cal__agenda-title { margin-bottom: 8px; font-weight: 600; color: var(--arm-text); text-transform: capitalize; }
  .arm-cal__agenda-item { display: flex; align-items: center; gap: 10px; min-height: 40px; color: var(--arm-text); text-decoration: none; }
  .arm-cal__agenda-item > i { width: 8px; height: 8px; border-radius: 50%; background: var(--tone); flex: none; }
  .arm-cal__agenda-item .arm-cal__time { min-width: 42px; }
  .arm-cal__agenda-empty { padding: 8px 0; font-size: var(--arm-fs-sm); color: var(--arm-text-subtle); }
  @media (max-width: 639px) {
    /* phone: dots in the grid, the selected day's events listed below */
    .arm-cal__head { padding: 10px 8px 10px 14px; }
    .arm-cal__dow { padding: 6px 0; text-align: center; }
    .arm-cal__day { min-height: 52px; align-items: center; padding: 4px 0; border-inline-end: 0; }
    .arm-cal__events { display: none; }
    .arm-cal__dots { display: flex; }
    .arm-cal__day.is-selected .arm-cal__num { box-shadow: 0 0 0 2px var(--arm-primary); }
    .arm-cal--agenda .arm-cal__agenda { display: block; }
  }
}

@layer arm.components {
  /* ---------- Kanban ---------- */
  .arm-kanban { display: flex; gap: 12px; align-items: flex-start; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
  .arm-kanban__column { flex: 0 0 300px; display: flex; flex-direction: column; max-height: 100%; border-radius: var(--arm-radius-lg); background: var(--arm-bg-alt); border: 1px solid var(--arm-border-soft); scroll-snap-align: start; }
  .arm-kanban__head { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px 8px 14px; }
  .arm-kanban__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tone); flex: none; }
  .arm-kanban__title { flex: 1; min-width: 0; font-weight: 600; color: var(--arm-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .arm-kanban__count { min-width: 22px; padding: 1px 7px; border-radius: var(--arm-radius-full); background: var(--arm-surface-3); font-size: var(--arm-fs-xs); font-weight: 600; text-align: center; color: var(--arm-text-muted); font-variant-numeric: tabular-nums; }
  .arm-kanban__actions { display: inline-flex; gap: 2px; }
  .arm-kanban__cards { display: flex; flex-direction: column; gap: 8px; min-height: 64px; padding: 0 8px 8px; overflow-y: auto; }
  .arm-kanban__foot { padding: 0 8px 8px; }
  .arm-kanban__card {
    padding: 12px; border: 1px solid var(--arm-border); border-radius: var(--arm-radius-md); background: var(--arm-surface-1);
    box-shadow: var(--arm-shadow-xs); color: var(--arm-text-secondary); font-size: var(--arm-fs-sm); outline: 0;
    touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
  }
  .arm-kanban__card[data-draggable] { cursor: grab; }
  .arm-kanban__card:focus-visible { box-shadow: var(--arm-ring); }
  .arm-kanban__card-title { font-weight: 600; color: var(--arm-text); }
  .arm-kanban__card-text { margin-top: 4px; color: var(--arm-text-muted); }
  .arm-kanban__card > * + * { margin-top: 8px; }
  .arm-kanban__card.is-placeholder { opacity: .35; border-style: dashed; box-shadow: none; }
  .arm-kanban__ghost { position: fixed; z-index: var(--arm-z-toast); margin: 0; pointer-events: none; cursor: grabbing; box-shadow: var(--arm-shadow-overlay); transform: rotate(2deg); }
  @media (max-width: 639px) { .arm-kanban { scroll-snap-type: x mandatory; } .arm-kanban__column { flex-basis: calc(100% - 40px); } }
}

@layer arm.components {
  /* ---------- Prose: stored rich text (editor output, docs) ---------- */
  .arm-prose { color: var(--arm-text-secondary); line-height: 1.65; overflow-wrap: anywhere; }
  .arm-prose > * { margin: 0; }
  .arm-prose > * + * { margin-top: .75em; }
  .arm-prose h2 { font-size: 1.375rem; font-weight: 650; color: var(--arm-text); line-height: 1.3; margin-top: 1.2em; }
  .arm-prose h3 { font-size: 1.125rem; font-weight: 600; color: var(--arm-text); line-height: 1.35; margin-top: 1em; }
  .arm-prose > :first-child { margin-top: 0; }
  .arm-prose strong, .arm-prose b { color: var(--arm-text); font-weight: 600; }
  .arm-prose a { color: var(--arm-primary); text-decoration: underline; text-underline-offset: 2px; }
  .arm-prose ul, .arm-prose ol { padding-inline-start: 1.4em; }
  .arm-prose li + li { margin-top: .25em; }
  .arm-prose blockquote { padding-inline-start: 14px; border-inline-start: 3px solid var(--arm-border-strong); color: var(--arm-text-muted); }
  .arm-prose pre { padding: 12px 14px; border-radius: var(--arm-radius-md); background: var(--arm-surface-2); font-family: var(--arm-font-mono); font-size: .9em; white-space: pre-wrap; }
  .arm-prose code { font-family: var(--arm-font-mono); font-size: .9em; }
  .arm-prose img { max-width: 100%; height: auto; border-radius: var(--arm-radius-md); }
  .arm-prose hr { border: 0; border-top: 1px solid var(--arm-border); }

  /* ---------- Rich text editor ---------- */
  .arm-editor { border: 1px solid var(--arm-border-strong); border-radius: var(--arm-control-radius); background: var(--arm-input-bg); box-shadow: var(--arm-shadow-xs); }
  .arm-editor:focus-within { border-color: var(--arm-primary); box-shadow: var(--arm-ring); }
  .arm-editor[data-invalid] { border-color: var(--arm-danger); }
  .arm-editor__toolbar { display: flex; align-items: center; gap: 2px; padding: 4px; border-bottom: 1px solid var(--arm-border-soft); overflow-x: auto; scrollbar-width: none; }
  .arm-editor__tool { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border: 0; border-radius: var(--arm-radius-sm); background: none; color: var(--arm-text-muted); cursor: pointer; }
  .arm-editor__tool:hover { background: var(--arm-hover); color: var(--arm-text); }
  .arm-editor__tool[aria-pressed="true"] { background: var(--arm-active); color: var(--arm-text); }
  .arm-editor__tool .arm-icon { width: 16px; height: 16px; }
  .arm-editor__sep { width: 1px; height: 18px; margin: 0 4px; background: var(--arm-border); flex: none; }
  .arm-editor__content { position: relative; padding: 12px 14px; outline: 0; max-height: 60vh; overflow-y: auto; }
  .arm-editor__content.is-empty::before { content: attr(data-placeholder); position: absolute; color: var(--arm-text-subtle); pointer-events: none; }
  @media (pointer: coarse) { .arm-editor__tool { width: 40px; height: 40px; } .arm-editor__content { font-size: 16px; } }
}

@layer arm.components {
  /* ---------- Infinite scroll ---------- */
  .arm-infinite { display: flex; justify-content: center; align-items: center; min-height: 56px; padding: 12px; }
  .arm-infinite__loading { display: inline-flex; align-items: center; gap: 10px; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
  .arm-infinite__end { font-size: var(--arm-fs-sm); color: var(--arm-text-subtle); }

  /* ---------- Video ---------- */
  .arm-video { margin: 0; }
  .arm-video__frame { position: relative; aspect-ratio: var(--ratio, 16 / 9); border-radius: var(--arm-radius-lg); overflow: hidden; background: #000; }
  .arm-video__frame > video, .arm-video__facade, .arm-video__facade iframe, .arm-video__facade > button { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .arm-video__frame > video { object-fit: contain; }
  .arm-video__facade > button { display: grid; place-items: center; padding: 0; background: #000; cursor: pointer; }
  .arm-video__facade img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .arm-video__play { position: relative; display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: rgb(0 0 0 / .62); color: #fff; backdrop-filter: blur(4px); transition: transform var(--arm-dur) var(--arm-ease); }
  .arm-video__play .arm-icon { width: 28px; height: 28px; margin-inline-start: 4px; }
  .arm-video__facade > button:hover .arm-video__play { transform: scale(1.08); background: var(--arm-primary); }
  .arm-video > figcaption { padding: 8px 2px 0; font-size: var(--arm-fs-sm); color: var(--arm-text-muted); }
}

@layer arm.components {
  /* ---------- Heatmap ---------- */
  .arm-heatmap { --cell: 12px; --gap: 3px; font-size: var(--arm-fs-2xs); color: var(--arm-text-subtle); }
  .arm-heatmap__scroll { overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .arm-heatmap__grid { display: grid; grid-template-columns: auto repeat(var(--cols), var(--cell)); gap: var(--gap); width: max-content; }
  .arm-heatmap--calendar .arm-heatmap__grid { grid-auto-rows: var(--cell); grid-template-rows: auto; }
  .arm-heatmap__month { grid-row: 1; white-space: nowrap; overflow: visible; width: 0; line-height: 1; padding-bottom: 2px; }
  .arm-heatmap__dow { padding-inline-end: 6px; line-height: var(--cell); white-space: nowrap; }
  .arm-heatmap__cell { display: block; width: var(--cell); height: var(--cell); border-radius: 3px; background: var(--arm-surface-3); }
  .arm-heatmap__cell[data-level]:not([data-level="0"]) { background: color-mix(in srgb, var(--tone) var(--mix), var(--arm-surface-3)); }
  .arm-heatmap--matrix { --cell: 34px; }
  .arm-heatmap--matrix .arm-heatmap__cell { display: grid; place-items: center; height: 26px; font-size: var(--arm-fs-2xs); font-weight: 600; color: var(--arm-text); font-variant-numeric: tabular-nums; }
  .arm-heatmap--matrix .arm-heatmap__cell[data-level="4"] { color: var(--on-tone, #fff); }
  .arm-heatmap--matrix .arm-heatmap__dow { line-height: 26px; }
  .arm-heatmap__col { text-align: center; }
  .arm-heatmap__legend { display: flex; align-items: center; justify-content: flex-end; gap: 3px; margin-top: 8px; }
  .arm-heatmap__legend .arm-heatmap__cell { width: 12px; height: 12px; }
  @media (pointer: coarse) { .arm-heatmap { --cell: 11px; } }
}
