/* =========================================================================
   Site stylesheet — iOS 26 inspired ("Liquid Glass" navigation layer).
   House rules (CLAUDE.md, Rule 2):
   - every value comes from a --token; derived sizes use calc(); grids use fr
   - lengths in rem / em only (never px); breakpoint 48em
   - every element is styled separately in the MOBILE block and the DESKTOP block;
     shared: tokens, reset, glass materials, tints and motion (keyframes / transitions)
   ========================================================================= */

/* ---- 1. Tokens ---------------------------------------------------------- */
:root {
  --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --step-base: 1rem;
  --step-ratio: 1.25;
  --step-1: calc(var(--step-base) * var(--step-ratio));
  --step-2: calc(var(--step-1) * var(--step-ratio));
  --step-3: calc(var(--step-2) * var(--step-ratio));
  --step-4: calc(var(--step-3) * var(--step-ratio));
  --step-small: calc(var(--step-base) / 1.125);
  --step-tiny: calc(var(--step-base) * 0.6875);

  --space: 1rem;
  --space-2xs: calc(var(--space) * 0.125);
  --space-xs: calc(var(--space) * 0.25);
  --space-s: calc(var(--space) * 0.5);
  --space-m: calc(var(--space) * 1.5);
  --space-l: calc(var(--space) * 2);
  --space-xl: calc(var(--space) * 3);

  --line: 0.0625rem;
  --focus-ring: 0.1875rem;
  --radius-s: 0.625rem;
  --radius: 0.875rem;
  --radius-l: 1.25rem;
  --radius-xl: 1.75rem;
  --radius-pill: 62.5rem;
  --tap: 2.75rem;
  --phone-actions-w: calc(var(--control) * 2 + var(--space-xs)); /* Admin -> Site phone rows: the up and the minus button */
  --phone-actions-w-m: calc(var(--tap) * 2 + var(--space-xs)); /* the same on phones, where the buttons are tap-sized */
  --phone-removed-opacity: 0.5; /* a number marked for removal */
  --tile: 2.25rem;
  --island-h: 3.875rem;
  --icon: 1.25rem;
  /* "There is more" cue on clickable cards and rows (§6e): a narrow arrow that moves on hover / keyboard focus. */
  --go-size: calc(var(--icon) * 1.15);
  --go-stroke: 1.5;
  --go-shift: var(--space-xs);
  --go-lift: calc(var(--space-2xs) * -2);
  --measure: 38rem;
  --content-max: 72rem;
  --narrow-max: 28rem;
  --prose-max: 44rem;
  /* Article system (Rule 27): every element inside .article-prose takes its spacing, frames, label style and column
     proportions from these tokens, derived from the base scale with calc(). Change one token, every article follows. */
  --ax-flow: var(--space-m);
  --ax-flow-tight: calc(var(--ax-flow) / 2);
  --ax-flow-wide: calc(var(--ax-flow) * 1.5);
  --ax-pad: var(--space);
  --ax-pad-wide: calc(var(--ax-pad) * 1.5);
  --ax-radius: var(--radius-l);
  --ax-radius-inner: calc(var(--ax-radius) - var(--space-xs));
  --ax-frame: var(--line) solid var(--border);
  --ax-rule: var(--line) solid var(--separator);
  --ax-label-size: var(--step-caption);
  --ax-label-track: 0.06em;
  --ax-label-gap: var(--space-2xs);
  --ax-label-fr: 2;
  --ax-value-fr: 5;
  /* fr cannot go inside calc(): the grid uses the same 2 : 5 split literally; tables use --ax-label-share */
  --ax-label-cols: minmax(0, 2fr) minmax(0, 5fr);
  --ax-label-share: calc(100% * var(--ax-label-fr) / (var(--ax-label-fr) + var(--ax-value-fr)));
  --ax-variant-cols: var(--thumb) minmax(0, 2fr) minmax(0, 5fr); /* variants with a photo: photo | name | note */
  --ax-zebra: color-mix(in srgb, var(--fill) 45%, transparent);
  --ax-quote-mark: calc(var(--step-3) * 1.5);
  --ax-btn-pad: calc(var(--space) * 1.25);
  --card-min: 17rem;
  --dot: 0.5rem;
  --dot-active: 1.75rem;
  --control: 2.25rem;
  --slide-ratio-mobile: 4 / 5;
  --slide-ratio-desktop: 21 / 9;

  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-fast: 0.2s;
  --dur: 0.35s;
  --dur-sheet: 0.5s;
  --slide-duration: 7s;

  --bg: #f5f5f7;
  --surface: #ffffff;
  --text: #1d1d1f;
  --text-2: #5e5e63;
  --border: #e3e3e8;
  --separator: rgba(60, 60, 67, 0.14);
  --fill: rgba(120, 120, 128, 0.12);
  /* Accent: every shade derives from --accent-base (brand amber). Change it here and the site follows. */
  --accent-base: #f9ae00;
  --shade-light: #ffffff;
  --shade-dark: #000000;
  --accent-50: color-mix(in srgb, var(--accent-base) 8%, var(--shade-light));
  --accent-100: color-mix(in srgb, var(--accent-base) 16%, var(--shade-light));
  --accent-200: color-mix(in srgb, var(--accent-base) 32%, var(--shade-light));
  --accent-300: color-mix(in srgb, var(--accent-base) 55%, var(--shade-light));
  --accent-400: color-mix(in srgb, var(--accent-base) 78%, var(--shade-light));
  --accent-500: var(--accent-base);
  --accent-600: color-mix(in srgb, var(--accent-base) 86%, var(--shade-dark));
  --accent-700: color-mix(in srgb, var(--accent-base) 72%, var(--shade-dark));
  --accent-800: color-mix(in srgb, var(--accent-base) 56%, var(--shade-dark));
  --accent-900: color-mix(in srgb, var(--accent-base) 42%, var(--shade-dark));
  --accent-950: color-mix(in srgb, var(--accent-base) 28%, var(--shade-dark));
  /* Roles (contrast-checked): fills use --accent with --accent-text; text/links use --accent-ink.
     An optional brand colour (/admin/appearance, e.g. the EU preset) sets --brand-* in /theme.css;
     without it every role falls back to the accent shades. */
  --accent: var(--accent-500);
  --accent-hover: var(--accent-400);
  --accent-text: var(--brand-on-accent, var(--accent-on, var(--ink))); /* --accent-on: white on deep accents (App\Theme::onAccentWhite) */
  --accent-ink: var(--brand-ink, var(--accent-800));
  --accent-ink-hover: var(--brand-ink-hover, var(--accent-900));
  --accent-soft: var(--accent-100);
  --accent-line: var(--accent-300);
  --focus-color: var(--brand-ink, var(--accent-700));
  --ink: #1d1d1f;
  /* Icon tile colours (tint-* classes) */
  /* Natural, muted palette (serious B2B look; no rainbow): the class names stay, the hues are calm.
     White icons on every tile keep >= 4.5:1 (steel 6.6, graphite 7.9, sage 5.4, olive 5.7, bronze 5.6...). */
  --tint-blue-color: #4a6072;   /* steel */
  --tint-indigo-color: #4b5162; /* graphite */
  --tint-teal-color: #52706a;   /* sage */
  --tint-green-color: #5d6b47;  /* olive */
  --tint-amber-color: var(--accent-700); /* brand bronze */
  --tint-orange-color: #8b5e3c; /* bronze */
  --tint-purple-color: #6e5f66; /* taupe */
  --tint-slate-color: #5f6b7a;  /* slate */
  --tint-gray-color: #76767b;   /* stone */
  --tile-highlight: rgba(255, 255, 255, 0.28);
  --glass-dark-solid: rgba(16, 18, 24, 0.72);
  --error-bg: #fdecec;
  --error: #a3191c;
  --ok-bg: #e8f6ee;
  --ok: #1d6b3d;
  --info-bg: #eaf0fd;
  --info: #1f3f99;
  --on-image: #ffffff;
  --backdrop: rgba(0, 0, 0, 0.28);

  /* Design style tokens (App\Design::TOKENS; the active style's values come from /theme.css). Defaults = iOS 26. */
  --glass-bg-a: 0.72;
  --glass-nav-a: 0.8;
  --glass-strong-a: 0.86;
  --glass-blur-r: 1.5rem;
  --glass-sat: 1.5;
  --rim-a: 0.75;
  --sheen-a: 0.9;
  --bar-radius: var(--radius-pill);
  --bar-inset: var(--space-s);
  --bar-full: 0;
  --island-inset: var(--space-s);
  --island-radius: var(--radius-pill);
  --tab-radius: var(--radius-pill);
  --menu-radius: var(--radius-pill);
  --sheet-radius: var(--radius-xl);
  --group-radius: var(--radius-l);
  --mega-radius: var(--radius-xl);
  --tab-icon-scale: 1.15;
  --compact-scale: 0.7;
  --viewing-area-h: 6rem;
  --tab-fill: 0;
  --grabber: 1;
  --viewing-area: 0;
  --bar-title: 0;
  --edge-blur-r: 0.375rem;
  --edge-tint-a: 0.55;
  --space-scale: 1;
  --head-align: start;
  --card-shadow-a: 0.06;
  --card-ring: 0;
  --label-case: uppercase;
  --label-track: 1;
  --label-accent: 0;
  --head-gap: 1;
  --standfirst-scale: 1;
  --standfirst-box: 0;
  --eyebrow-pill: 0;
  --meta-chips: 0;
  /* Glass colours = a tint at the style's opacity (same values as rgba(), but adjustable per style) */
  --glass-tint: #ffffff;
  --glass-tint-strong: #fafafc;
  --glass-tint-nav: #ffffff;
  --glass-bg: color-mix(in srgb, var(--glass-tint) calc(var(--glass-bg-a) * 100%), transparent);
  --glass-bg-strong: color-mix(in srgb, var(--glass-tint-strong) calc(var(--glass-strong-a) * 100%), transparent);
  --glass-rim: color-mix(in srgb, var(--shade-light) calc(var(--rim-a) * 100%), transparent);
  --glass-edge: rgba(0, 0, 0, 0.07);
  --glass-selected: rgba(0, 0, 0, 0.06);
  --glass-nav: color-mix(in srgb, var(--glass-tint-nav) calc(var(--glass-nav-a) * 100%), transparent);
  /* iOS 26 scroll-edge effect: content fades and softens where it slides under the bars (owner, 2026-10-03) */
  --edge-fade: 2.5rem;
  --edge-blur: blur(var(--edge-blur-r));
  --edge-tint: color-mix(in srgb, var(--bg) calc(var(--edge-tint-a) * 100%), transparent);
  --edge-solid: #000000; /* mask only: opaque part of the fade */
  --dot-bg: rgba(0, 0, 0, 0.22);
  --switch-on: var(--accent-500);
  --switch-off: rgba(120, 120, 128, 0.32);
  --knob: #ffffff;
  --knob-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.15), 0 0.1875rem 0.0625rem rgba(0, 0, 0, 0.06);
  --switch-w: 2.875rem;
  --switch-h: 1.75rem;
  --knob-size: 1.5rem;
  --segment-h: 2rem;
  --mp-tile: 8.5rem;          /* media picker: smallest tile on computers (App\MediaPicker) */
  --mp-current: 4.5rem;       /* media picker: the current-choice photo */
  --mp-dialog-w: 62rem;       /* media picker dialog: fixed size, so it never jumps while results change */
  --mp-dialog-h: 44rem;
  --logo-plate: var(--shade-light);
  --logo-size-m: 4.5rem;
  --logo-size-d: 6rem;
  --field-h: 3rem;
  --textarea-h: 10rem;
  --radio: 1.5rem;
  --contact-sticky: 6rem;
  --footer-logo: 3rem;
  /* Logo boxes (owner, 2026-10-04: "whatever the logo is, it must stay in its container"): a fixed height, and at most
     --logo-wide times as wide; the image is scaled down inside (contain), never cropped, stretched or spilling out. */
  --logo-wide: 3;
  /* Related image cards: one photo frame shape for every card, whatever the photo (portrait photos are cropped, not stretched). */
  --card-photo-ratio: 3 / 2;
  --card-title-lines-m: 3;
  --card-title-lines-d: 2;
  --brand-logo-h-m: var(--control);
  --brand-logo-h-d: var(--tap);
  --footer-logo-h-d: calc(var(--tap) * 1.25);
  --brand-preview-h: calc(var(--tap) * 1.5);
  --row-h: 3rem;
  --admin-rail: 16rem;
  --admin-side: 24rem;    /* list + detail: the side panel of Admin -> Menus (preview, checks, one item editor) */
  /* field system tokens (DESIGN-SYSTEM §11o) */
  --field-h-d: 2.5rem;
  --field-h-m: var(--tap);
  --field-pad: 0.75rem;
  --field-gap: var(--space-xs);
  --field-char: 0.6em;
  --field-w-min: 5em;
  --field-w-num: 8em;
  --field-w-time: 8.5em;
  --field-w-date: 11.5em;
  --field-w-datetime: 15em;
  --field-w-tel: 16em;
  --field-w-pass: 22em;
  --field-w-mail: 30em;
  --field-w-text: 40em;
  --field-w-select: 12em;
  --field-w-area: 60em;
  --field-area-max: 20em;
  --tool-bar-radius: var(--radius-l);
  --tool-strip-radius: var(--radius-s);
  --tool-strip-inner-radius: calc(var(--radius-s) - var(--segment-pad));
  /* end field system tokens */
  /* Admin -> Menus dimensions (owner, 2026-10-07: "more constraint for dimensions"): every row control is one size,
     the moves keep fixed slots so the columns line up, the open editor leaves the list room for a one-line label. */
  --mn-control: var(--control);
  --mn-slots: 3;
  --mn-editor-w: calc(var(--admin-side) * 1.1);
  --mn-indent: calc(var(--tap) * 0.9);
  --mn-indent-tight: var(--space-s);
  --mn-title-lines: 2;
  --read-max: 40rem;
  --article-aside: 18rem;
  --article-head-max: 52rem;
  --thumb: 5rem;
  --step-dot: 1.5rem;
  /* Desktop form geometry: single column, field width = expected answer length (Baymard) */
  --form-main-min: 34rem;
  --form-side-min: 18rem;
  --field-max: 30rem;
  --field-short: 16rem;
  --topic-min: 13rem;
  /* Forms: own layered container (tinted panel), white section cards, field borders >= 3:1 (WCAG 1.4.11) */
  --form-bg: color-mix(in srgb, var(--accent-base) 12%, var(--surface));
  --form-ring: var(--accent-200);
  --form-section: var(--surface);
  --field-bg: var(--surface);
  --field-border: #86868b;
  --slide-min-desktop: 26rem;
  --slider-controls-reserve: 19rem;
  --segment-pad: calc(var(--space-2xs) * 1.5);
  --tile-s: 1.875rem;
  --step-caption: calc(var(--step-base) * 0.78);
  --badge: 3.25rem;
  --consent-w: 25rem;
  --consent-wide: 52rem;
  --glass-blur: blur(var(--glass-blur-r)) saturate(var(--glass-sat));
  --glass-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.12), 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.06);
  --glass-sheen: inset 0 0.0625rem 0 color-mix(in srgb, var(--shade-light) calc(var(--sheen-a) * 100%), transparent), inset 0 -0.0625rem 0 color-mix(in srgb, var(--shade-light) calc(var(--sheen-a) * 100% / 3), transparent);
  --glass-dark-bg: rgba(16, 18, 24, 0.55); /* >= 4.5:1 for white text over any photo (0.45 x white -> luminance 0.17) */
  --glass-dark-rim: rgba(255, 255, 255, 0.22);
  --card-shadow: 0 0.125rem 0.75rem color-mix(in srgb, var(--shade-dark) calc(var(--card-shadow-a) * 100%), transparent), 0 0 0 calc(var(--line) * var(--card-ring)) var(--separator);
  color-scheme: light;

  /* Article editor + article components (Rule 23) */
  --prose-wide: 56rem;
  --ed-side: 22rem;
  --ed-rich-min: 7rem;
  --ed-code-min: 14rem;
  --ed-thumb: 4.5rem;
  --ed-library-min: 9rem;
  --ed-tool: 1.875rem;
  --embed-card-max: 28rem;
  --stat-size: calc(var(--step-base) * 2.25);
  /* 2FA setup QR (always dark on light, also in dark mode: scanners expect it) */
  --qr-ink: var(--shade-dark);
  --qr-plate: var(--shade-light);
  --qr-size-d: 15rem;
  --qr-size-m: 14rem;
  /* Brand mark (header logo pill): the brand colour when one is set, otherwise the text colour. */
  --mark-bg: var(--brand-ink, var(--text));
  /* Frosted panels for sticky bars that carry text over scrolling content (editor toolbars, tabs, action bar).
     88 % surface + 1 rem blur: research range 70-90 % for text-bearing glass (NN/g, WCAG 4.5:1 over any content). */
  --panel-glass-bg: color-mix(in srgb, var(--surface) 88%, transparent);
  --panel-glass-blur: blur(1rem) saturate(1.4);
  --panel-glass-edge: var(--separator);
  --drag-opacity: 0.6;
  /* Forms module (App\Forms; DESIGN-SYSTEM §11r, plan §4.12): every size is derived. The four design tokens fm-field-radius,
     fm-field-scale, fm-density and fm-tile-pills come from the active design style (App\Design, /theme.css), so a style or
     theme change restyles every form, the builder canvas and the inbox at once. Widths are tracks of a 12-column
     (computers) or 6-column (phones) grid; the classes d-fm-w-* / m-fm-w-* map the named fractions to them. */
  --fm-field-radius: var(--radius);
  --fm-field-scale: 1;
  --fm-density: 1;
  --fm-tile-pills: 0;
  --fm-tracks-d: 12;
  --fm-tracks-m: 6;
  --fm-gap: calc(var(--space-m) * var(--fm-density));
  --fm-row-gap: calc(var(--space-m) * var(--fm-density));
  --fm-col-gap: var(--space);
  --fm-section-pad: calc(var(--space-m) * var(--fm-density));
  --fm-field-h: calc(var(--field-h) * var(--fm-field-scale));
  --fm-radius: var(--fm-field-radius);
  --fm-tile-radius: calc(var(--fm-field-radius) * 1.15);
  --fm-tile-pad: calc(var(--space-s) * 1.25);
  --fm-tile-min: calc(var(--control) * 4.5);
  --fm-choice-cols: repeat(auto-fit, minmax(min(100%, var(--fm-tile-min)), 1fr)); /* auto-fit: the answers stretch to the row end */
  --fm-text-min: calc(var(--step-base) * 1.5 * 4);
  --fm-text-max: calc(var(--step-base) * 1.5 * 14);
  --fm-tick: calc(var(--fm-field-h) * 0.42);
  --fm-badge: calc(var(--badge) * 1.6);
  /* The winning green (iOS accessible green, white check >= 4.5:1) - the thank-you mail uses the same sign. */
  --fm-win: #248a3d;
  --fm-win-on: #ffffff;
  --fm-done-ring: color-mix(in srgb, var(--fm-win) 40%, transparent);
  --fg-card-min: calc(var(--control) * 8.5);
  --fb-palette: calc(var(--control) * 7);
  --fb-side: calc(var(--admin-side) * 0.82);
  --fb-phone: calc(var(--control) * 11);
  --fb-handle: calc(var(--space-xs) * 1.5);
  --fc-card-min: calc(var(--control) * 7);
  --fs-group-min: calc(var(--control) * 6.9);
}

/* Dark palette: OS setting unless the visitor chose Light; or the visitor chose Dark. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0b0c0f;
    --surface: #16171b;
    --text: #f5f5f7;
    --text-2: #a1a1a6;
    --border: #2c2c31;
    --separator: rgba(84, 84, 88, 0.5);
    --fill: rgba(120, 120, 128, 0.24);
    --accent: var(--accent-600);
    --accent-hover: var(--accent-500);
    --accent-ink: var(--brand-ink-dark, var(--accent-400));
    --accent-ink-hover: var(--brand-ink-hover-dark, var(--accent-300));
    --accent-soft: color-mix(in srgb, var(--accent-base) 20%, transparent);
    --focus-color: var(--brand-ink-dark, var(--accent-400));
    --mark-bg: var(--brand-ink-dark, var(--text));
    --ink: #1d1d1f;
    --error-bg: #3a1618;
    --error: #ffb4b0;
    --ok-bg: #12301f;
    --ok: #9fe0b8;
    --info-bg: #17223d;
    --info: #b6c8ff;
    --backdrop: rgba(0, 0, 0, 0.5);
    --glass-tint: #1e1f24;
    --glass-bg-a: 0.7;
    --glass-tint-strong: #1c1d22;
    --glass-strong-a: 0.9;
    --rim-a: 0.14;
    --glass-edge: rgba(0, 0, 0, 0.5);
    --glass-selected: rgba(255, 255, 255, 0.1);
    --glass-tint-nav: #1c1d22;
    --dot-bg: rgba(255, 255, 255, 0.3);
    --switch-on: var(--accent-600);
    --switch-off: rgba(120, 120, 128, 0.36);
    --form-bg: color-mix(in srgb, var(--accent-base) 8%, var(--bg));
    --form-ring: color-mix(in srgb, var(--accent-base) 30%, transparent);
    --form-section: #1f2026;
    --field-bg: #111215;
    --glass-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.5), 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.4);
    --sheen-a: 0.12;
    --card-shadow-a: 0.4;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0b0c0f;
  --surface: #16171b;
  --text: #f5f5f7;
  --text-2: #a1a1a6;
  --border: #2c2c31;
  --separator: rgba(84, 84, 88, 0.5);
  --fill: rgba(120, 120, 128, 0.24);
  --accent: var(--accent-600);
  --accent-hover: var(--accent-500);
  --accent-ink: var(--brand-ink-dark, var(--accent-400));
  --accent-ink-hover: var(--brand-ink-hover-dark, var(--accent-300));
  --accent-soft: color-mix(in srgb, var(--accent-base) 20%, transparent);
  --focus-color: var(--brand-ink-dark, var(--accent-400));
  --mark-bg: var(--brand-ink-dark, var(--text));
  --ink: #1d1d1f;
  --error-bg: #3a1618;
  --error: #ffb4b0;
  --ok-bg: #12301f;
  --ok: #9fe0b8;
  --info-bg: #17223d;
  --info: #b6c8ff;
  --backdrop: rgba(0, 0, 0, 0.5);
  --glass-tint: #1e1f24;
  --glass-bg-a: 0.7;
  --glass-tint-strong: #1c1d22;
  --glass-strong-a: 0.9;
  --rim-a: 0.14;
  --glass-edge: rgba(0, 0, 0, 0.5);
  --glass-selected: rgba(255, 255, 255, 0.1);
  --glass-tint-nav: #1c1d22;
  --dot-bg: rgba(255, 255, 255, 0.3);
  --switch-on: var(--accent-600);
  --switch-off: rgba(120, 120, 128, 0.36);
  --form-bg: color-mix(in srgb, var(--accent-base) 8%, var(--bg));
  --form-ring: color-mix(in srgb, var(--accent-base) 30%, transparent);
  --form-section: #1f2026;
  --field-bg: #111215;
  --glass-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.5), 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.4);
  --sheen-a: 0.12;
  --card-shadow-a: 0.4;
  color-scheme: dark;
}
:root[data-theme="light"] { color-scheme: light; }
/* Visitor display preferences (display_options_jznqi, applied by assets/prefs.js) */
:root[data-text="large"] { --step-base: 1.125rem; }
/* Writing direction (App\Lang sets <html dir>; owner, 2026-10-06: Arabic, right to left). The layout uses logical
   properties (inline-start / inline-end), which follow dir by themselves; --dir multiplies every sideways movement
   (switch knobs, hover nudges, mirrored icons via scale) and --side-start / --side-end name the physical side where CSS has
   no logical keyword (transform-origin). Right-to-left pages flip all three. */
:root { --dir: 1; --side-start: left; --side-end: right; }
:root[dir="rtl"] { --dir: -1; --side-start: right; --side-end: left; }
/* Home sections understood from WordPress (App\Home\Understand, 2026-10-06; DESIGN-SYSTEM §11q): sizes from tokens. */
:root {
  --hs-card-ratio: 3 / 2; --hs-photo-ratio: 4 / 3; --hs-thumb: 5.5rem; --hs-stat-min: 10rem; --hs-gallery-min: 9rem;
  --hs-band-min: 22rem; --hs-embed-w: 48rem; --hs-strip-min-m: 6rem; --hs-band-text: 36rem; --hs-lead: 44rem; --hs-on-photo: #ffffff;
  --hero-title-lines: 2; --hero-sug-lines: 2; --hero-sug-min: 15rem;
  --hero-warn-bg: color-mix(in srgb, var(--accent-base) 16%, var(--surface)); --hero-warn: var(--accent-ink);
  --hs-scrim: linear-gradient(90deg, color-mix(in srgb, #000000 70%, transparent), color-mix(in srgb, #000000 15%, transparent));
}
/* Arabic script (W3C Arabic layout requirements; Arabic web typography practice): one step larger, the visitor's
   "large text" choice still one step above it; no letter-spacing and no italics (they break the joined letters). */
:root:lang(ar) { --step-base: 1.0625rem; }
:root:lang(ar)[data-text="large"] { --step-base: 1.1875rem; }

/* "Reduce transparency" / "Increase contrast" in the OS: every glass surface becomes solid (Apple HIG, MDN). */
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  :root { --panel-glass-bg: var(--surface); --panel-glass-blur: none; --glass-bg: var(--glass-bg-strong); --glass-nav: var(--glass-bg-strong); --edge-blur: none; }
}

/* ---- 2. Minimal shared reset ------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
img { max-inline-size: 100%; block-size: auto; }
:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) / 1.5); }

/* ---- 3. Materials and tints (shared) ------------------------------------ */
.glass {
  background: var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: var(--line) solid var(--glass-rim);
  box-shadow: var(--glass-shadow), var(--glass-sheen);
}
.glass-dark {
  background: var(--glass-dark-bg);
  -webkit-backdrop-filter: blur(1.25rem) saturate(1.6);
  backdrop-filter: blur(1.25rem) saturate(1.6);
  border: var(--line) solid var(--glass-dark-rim);
  box-shadow: inset 0 var(--line) 0 var(--glass-dark-rim);
}
@supports not ((backdrop-filter: blur(1rem)) or (-webkit-backdrop-filter: blur(1rem))) {
  .glass { background: var(--glass-bg-strong); }
  .glass-dark { background: var(--glass-dark-solid); }
}
.tint-blue { --tint: var(--tint-blue-color); }
.tint-indigo { --tint: var(--tint-indigo-color); }
.tint-teal { --tint: var(--tint-teal-color); }
.tint-green { --tint: var(--tint-green-color); }
.tint-amber { --tint: var(--tint-amber-color); }
.tint-orange { --tint: var(--tint-orange-color); }
.tint-purple { --tint: var(--tint-purple-color); }
.tint-slate { --tint: var(--tint-slate-color); }
.tint-gray { --tint: var(--tint-gray-color); }

/* ---- 4. MOBILE (below 48em) -------------------------------------------- */
@media (max-width: 47.9375em) {
  html { font-size: 100%; background: var(--bg); -webkit-text-size-adjust: 100%; scroll-padding-block-start: calc(var(--space-xl) * 1.5); overflow-x: clip; }
  body { margin: 0; font: var(--step-base)/1.5 var(--font-body); background: var(--bg); color: var(--text); padding-block-end: calc(var(--island-h) + var(--space-l) + env(safe-area-inset-bottom, 0rem)); -webkit-tap-highlight-color: transparent; overflow-x: clip; overflow-wrap: anywhere; }
  .wrap { padding-inline: var(--space); }

  .skip-link { position: absolute; inset-inline-start: var(--space); inset-block-start: calc(var(--space-xl) * -2); padding: var(--space-s) var(--space); background: var(--accent); color: var(--accent-text); border-radius: var(--radius-pill); z-index: 100; }
  .skip-link:focus { inset-block-start: var(--space-s); }
  .visually-hidden { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
  .icon .ico-fill { fill: currentColor; stroke: none; }

  /* top bar: brand + burger */
  header.site-header { position: sticky; inset-block-start: 0; z-index: 40; padding: calc(env(safe-area-inset-top, 0rem) + var(--bar-inset)) var(--bar-inset) 0; view-transition-name: site-header; }
  header.site-header::before { content: ""; position: absolute; inset: 0 0 auto; z-index: -1; block-size: calc(100% + var(--edge-fade)); background: linear-gradient(to bottom, var(--edge-tint), transparent); -webkit-backdrop-filter: var(--edge-blur); backdrop-filter: var(--edge-blur); -webkit-mask-image: linear-gradient(to bottom, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); mask-image: linear-gradient(to bottom, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); pointer-events: none; }
  .bar { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-s); padding-block: var(--space-xs); padding-inline: var(--space-s) var(--space-xs); border-radius: var(--bar-radius); }
  /* One UI condensed app bar: the page heading's text (copied by nav.js) fades in once the heading scrolls away */
  header.site-header.is-condensed { --condensed: 1; }
  .bar-title { position: absolute; inset-inline: calc(var(--control) + var(--space)); inset-block-start: 50%; transform: translateY(-50%); margin: 0; font: 700 var(--step-base)/1.2 var(--font-display); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: calc(var(--bar-title) * var(--condensed, 0)); pointer-events: none; transition: opacity var(--dur) var(--ease-out); }
  .brand { display: flex; align-items: center; gap: var(--space-s); min-inline-size: 0; color: var(--text); text-decoration: none; }
  .brand-mark { display: grid; place-items: center; min-inline-size: var(--control); block-size: var(--control); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--mark-bg); color: var(--bg); font: 800 var(--step-tiny)/1 var(--font-display); letter-spacing: 0.06em; }
  .brand-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; block-size: var(--brand-logo-h-m); inline-size: fit-content; min-inline-size: 0; max-inline-size: calc(var(--brand-logo-h-m) * var(--logo-wide)); overflow: clip; flex: none; }
  .brand-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .brand-name { font: 600 var(--step-small)/1.2 var(--font-display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: calc(1 - var(--bar-title) * var(--condensed, 0)); transition: opacity var(--dur) var(--ease-out); }
  .desk-nav { display: none; }
  .desk-link { display: none; }
  .desk-link:hover { display: none; }
  .desk-link[aria-current="page"] { display: none; }
  .desk-group[data-active="true"] { display: none; }
  .desk-group .icon-chevron { display: none; }
  .desk-cta { display: none; }
  .burger { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; background: var(--fill); color: var(--text); }
  .desk-icon { display: none; }
  .desk-icon:hover { display: none; }

  .mega { display: none; }
  .mega:popover-open { display: none; }
  .mega-head { display: none; }
  .mega-title { display: none; }
  .mega-description { display: none; }
  .mega-grid { display: none; }
  .mega-item { display: none; }
  .mega-item:hover { display: none; }
  .mega-item[aria-current="page"] { display: none; }
  .mega-go { display: none; }
  .mega-go-icon { display: none; }

  .tile-icon { display: grid; place-items: center; inline-size: var(--tile); block-size: var(--tile); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight); }
  .tile-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .tile-text strong { font-weight: 600; font-size: var(--step-base); }
  .tile-text span { color: var(--text-2); font-size: calc(var(--step-small) * 0.92); line-height: 1.35; }

  .staff-bar { display: flex; flex-wrap: wrap; gap: var(--space-s) var(--space); padding: var(--space-s) var(--space); font-size: var(--step-small); }
  .staff-bar form { display: inline; }

  main { padding-block: calc(var(--space) + var(--viewing-area-h) * var(--viewing-area)) var(--space); }
  section { margin-block-end: var(--space-l); }
  article { margin: 0; }
  aside { margin: 0; }
  footer.site-footer { margin-block-start: var(--space-l); padding: var(--space-l) var(--space) var(--space-m); background: var(--surface); border-radius: var(--radius-xl) var(--radius-xl) 0 0; color: var(--text-2); font-size: var(--step-small); }
  footer.site-footer p { margin: 0; }

  h1 { font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.01em; margin: 0 0 var(--space-s); }
  h2 { font: 700 var(--step-2)/1.2 var(--font-display); letter-spacing: -0.01em; margin: 0 0 var(--space-s); }
  h3 { font: 600 var(--step-1)/1.3 var(--font-display); margin: 0 0 var(--space-xs); }
  p { margin: 0 0 var(--space-s); }
  a { color: var(--accent-ink); }
  ul, ol { padding-inline-start: var(--space-m); margin: 0 0 var(--space-s); }
  li { margin-block-end: var(--space-xs); }
  code { font-family: var(--font-mono); font-size: 0.9em; overflow-wrap: anywhere; }
  pre { max-inline-size: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
  img, video, iframe, svg { max-inline-size: 100%; }

  form { display: grid; gap: var(--space-xs); }
  label { font-weight: 600; margin-block-start: var(--space-s); }
  input:not([type="checkbox"]):not([type="radio"]) { inline-size: 100%; min-block-size: var(--tap); padding: var(--space-s) var(--space); font: inherit; font-size: 1em; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
  .button, button[type="submit"] { display: flex; align-items: center; justify-content: center; gap: var(--space-s); inline-size: 100%; min-block-size: var(--tap); margin-block-start: var(--space-s); padding-inline: var(--space-m); font-weight: 600; color: var(--accent-text); background: var(--accent); border-radius: var(--radius-pill); text-decoration: none; }
  .button:hover, button[type="submit"]:hover { filter: brightness(1.08); }
  button.link { inline-size: auto; min-block-size: 0; margin: 0; padding: 0; color: var(--accent-ink); background: none; font-weight: 400; text-decoration: underline; }

  table { inline-size: 100%; max-inline-size: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--step-small); }
  th, td { text-align: start; padding: var(--space-xs) var(--space-s); border-block-end: var(--line) solid var(--border); white-space: normal; overflow-wrap: anywhere; }

  .card { background: var(--surface); border-radius: var(--radius-l); padding: var(--space); margin-block-end: var(--space); box-shadow: var(--card-shadow); }
  .narrow { max-inline-size: var(--narrow-max); margin-inline: auto; }
  .notice { padding: var(--space-s) var(--space); border-radius: var(--radius); }
  .muted { color: var(--text-2); font-size: var(--step-small); }
  .steps li { margin-block-end: var(--space-s); }
  code.secret { display: block; margin-block: var(--space-s); padding: var(--space-s); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); font-size: var(--step-base); letter-spacing: 0.05em; overflow-wrap: anywhere; user-select: all; }
  code.secret.small { font-size: var(--step-small); letter-spacing: 0; }

  /* slider: rounded card, everything inside the photo */
  .slider { position: relative; isolation: isolate; margin-block: var(--space-xs) var(--space-l); border-radius: var(--radius-xl); overflow: hidden; background: var(--surface); box-shadow: var(--glass-shadow); }
  .slider-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow: hidden; scroll-behavior: smooth; touch-action: pan-y; }
  .slider-track::-webkit-scrollbar { display: none; }
  .slide { position: relative; display: grid; grid-template-areas: "stack"; aspect-ratio: var(--slide-ratio-mobile); scroll-snap-align: start; overflow: hidden; }
  .slide-media { grid-area: stack; overflow: hidden; }
  .slide-image { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .slide-caption { grid-area: stack; align-self: end; margin: var(--space-s); padding: var(--space) var(--space) var(--space-m); border-radius: var(--radius-l); color: var(--on-image); }
  .slide-eyebrow { margin: 0 0 var(--space-xs); font-size: var(--step-tiny); font-weight: 600; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); opacity: 0.85; }
  .slide-heading { font: 700 var(--step-2)/1.15 var(--font-display); letter-spacing: -0.01em; margin: 0 0 var(--space-s); color: var(--on-image); }
  .slide-text { margin: 0 0 var(--space-s); font-size: var(--step-small); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .slide-button { inline-size: auto; justify-self: start; min-block-size: var(--tap); margin-block-start: var(--space-xs); padding-inline: var(--space); background: var(--accent); color: var(--accent-text); font-size: var(--step-small); }
  .slide-button .icon { inline-size: 1em; block-size: 1em; }
  .slider-controls { position: absolute; inset-block-start: var(--space-s); inset-inline-end: var(--space-s); z-index: 2; display: flex; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); padding-inline: var(--space-s) var(--space-xs); border-radius: var(--radius-pill); }
  .slider-dots { display: flex; align-items: center; gap: var(--space-xs); }
  .slider-dot { position: relative; inline-size: var(--dot); block-size: var(--dot); border-radius: var(--radius-pill); background: var(--dot-bg); overflow: hidden; transition: inline-size var(--dur) var(--ease-spring); }
  .slider-dot[aria-current="true"] { inline-size: var(--dot-active); }
  .slider-dot-fill { position: absolute; inset: 0; background: var(--text); border-radius: inherit; transform: scaleX(0); transform-origin: var(--side-start) center; }
  .slider-dot.is-active .slider-dot-fill { transform: scaleX(1); }
  .slider.is-paused .slider-dot-fill { animation-play-state: paused; }
  .slider-prev, .slider-next, .slider-pause { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; color: var(--text); }
  .icon-prev { transform: rotate(90deg); scale: var(--dir) 1; }
  .icon-next { transform: rotate(-90deg); scale: var(--dir) 1; }
  .slider-prev { display: none; }
  .slider-next { display: none; }
  .pause-bars { inline-size: 0.625rem; block-size: 0.75rem; border-inline: 0.1875rem solid currentColor; }
  .slider-pause.is-play .pause-bars { inline-size: 0; block-size: 0; border-block: 0.375rem solid transparent; border-inline-start: 0.625rem solid currentColor; border-inline-end: 0; margin-inline-start: 0.1875rem; scale: var(--dir) 1; }

  /* content */
  .intro { margin-block-end: var(--space-l); padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .prose { max-inline-size: var(--prose-max); }
  .prose h2 { font-size: var(--step-1); margin-block: var(--space-m) var(--space-s); }
  .prose h3 { font-size: var(--step-base); margin-block: var(--space) var(--space-xs); }
  .prose li { margin-block-end: var(--space-s); }
  .prose h4 { font-size: var(--step-base); margin-block: var(--space) var(--space-xs); }
  .intro-title { font: 700 var(--step-2)/1.2 var(--font-display); letter-spacing: -0.01em; margin: 0; text-wrap: balance; overflow-wrap: break-word; hyphens: manual; }
  .intro-title.is-long { font-size: var(--step-1); line-height: 1.25; }
  .intro-title::before { content: ""; display: block; inline-size: calc(var(--space) * 2.5); block-size: var(--space-xs); border-radius: var(--radius-pill); background: var(--accent); margin-block-end: var(--space-s); }
  .intro-head { display: grid; grid-template-columns: var(--logo-size-m) minmax(0, 1fr); align-items: center; gap: var(--space); margin-block-end: var(--space); }
  .intro-head:not(:has(.intro-logo)) { grid-template-columns: minmax(0, 1fr); }
  .intro-logo { display: grid; place-items: center; inline-size: var(--logo-size-m); aspect-ratio: 1; padding: calc(var(--space-xs) * 1.5); border-radius: var(--radius-l); background: var(--logo-plate); box-shadow: var(--card-shadow); }
  .intro-logo-img { display: block; inline-size: 100%; block-size: auto; }
  .card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .feature-card { display: grid; grid-template-rows: auto 1fr; background: var(--surface); border-radius: var(--radius-l); overflow: hidden; box-shadow: var(--card-shadow); }
  .feature-image { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
  .feature-body { padding: var(--space); }
  .feature-body h3, .card-title { font-size: var(--step-1); margin: 0 0 var(--space-s); }
  .feature-body h3 a, .card-title a { color: var(--text); text-decoration: none; }
  .more { display: inline-flex; align-items: center; gap: var(--space-xs); margin-block-start: var(--space-s); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: underline; text-decoration-color: var(--border); text-decoration-thickness: var(--line); text-underline-offset: 0.3em; }
  .feature-card.is-linked { position: relative; cursor: pointer; }
  .card-link { color: inherit; text-decoration: none; }
  .card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
  .card-link:focus-visible { outline: none; }
  .feature-card.is-linked:has(.card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .more .icon, .more-link .icon { inline-size: 1em; block-size: 1em; transition: transform var(--dur) var(--ease-spring); }
  .more-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .text-section { margin-block-end: var(--space-l); }
  .cta { margin-block-end: var(--space-l); }
  .latest { margin-block-start: var(--space-l); }

  /* bottom island (iOS 26 floating tab bar + menu island) */
  .island { position: fixed; z-index: 50; inset-inline: var(--island-inset); inset-block-end: calc(var(--island-inset) + env(safe-area-inset-bottom, 0rem)); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--space-s); view-transition-name: island; }
  .island::before { content: ""; position: absolute; inset-inline: calc(var(--island-inset) * -1); inset-block-end: calc((var(--island-inset) + env(safe-area-inset-bottom, 0rem)) * -1); z-index: -1; block-size: calc(100% + var(--island-inset) + env(safe-area-inset-bottom, 0rem) + var(--edge-fade)); background: linear-gradient(to top, var(--edge-tint), transparent); -webkit-backdrop-filter: var(--edge-blur); backdrop-filter: var(--edge-blur); -webkit-mask-image: linear-gradient(to top, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); mask-image: linear-gradient(to top, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); pointer-events: none; }
  .island-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--space-2xs); margin: 0; padding: var(--space-xs); list-style: none; border-radius: var(--island-radius); background: var(--glass-nav); transition: padding var(--dur) var(--ease-spring); }
  .island-tabs li { margin: 0; }
  .island-tab { display: grid; justify-items: center; align-content: center; gap: var(--space-2xs); min-block-size: calc(var(--island-h) - var(--space-s)); padding-inline: var(--space-2xs); border-radius: var(--tab-radius); color: var(--text-2); text-decoration: none; transition: min-block-size var(--dur) var(--ease-spring), background var(--dur-fast); position: relative; isolation: isolate; }
  .island-tab .icon { inline-size: calc(var(--icon) * var(--tab-icon-scale)); block-size: calc(var(--icon) * var(--tab-icon-scale)); }
  .island-tab[aria-current="page"] { color: var(--accent-ink); }
  .island-pill { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: color-mix(in srgb, var(--accent-soft) calc(var(--tab-fill) * 100%), var(--glass-selected)); box-shadow: var(--glass-sheen); view-transition-name: island-pill; }
  .desk-pill { display: none; }
  .island-label { font-size: var(--step-tiny); font-weight: 600; line-height: 1; overflow-wrap: normal; white-space: nowrap; transition: opacity var(--dur-fast), block-size var(--dur) var(--ease-spring); }
  .island-menu { display: grid; place-items: center; inline-size: var(--island-h); block-size: var(--island-h); border-radius: var(--menu-radius); background: var(--glass-nav); color: var(--text); transition: inline-size var(--dur) var(--ease-spring), block-size var(--dur) var(--ease-spring); }
  .island.is-compact .island-tabs { padding: var(--space-2xs); }
  .island.is-compact .island-label { opacity: 0; block-size: 0; }
  .island.is-compact .island-tab { min-block-size: max(var(--tap), calc(var(--island-h) * var(--compact-scale))); }
  .island.is-compact .island-menu { inline-size: calc(var(--island-h) * (var(--compact-scale) + 0.1)); block-size: calc(var(--island-h) * (var(--compact-scale) + 0.1)); }

  /* slide-up menu sheet */
  .sheet { position: fixed; inset: auto 0 0; display: none; margin: 0 auto; inline-size: 100%; max-inline-size: 40rem; max-block-size: calc(100% - var(--space-xl)); padding: 0 0 env(safe-area-inset-bottom, 0rem); border: 0; border-radius: var(--sheet-radius) var(--sheet-radius) 0 0; background: var(--glass-bg-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-sheen); color: var(--text); overflow: hidden; grid-template-rows: auto auto 1fr; transform: translateY(100%); transition: transform var(--dur-sheet) var(--ease-spring), display var(--dur-sheet) allow-discrete, overlay var(--dur-sheet) allow-discrete; }
  .sheet[open] { display: grid; transform: translateY(var(--sheet-drag, 0rem)); }
  .sheet.is-dragging { transition: none; }
  .sheet:focus { outline: none; }
  .sheet::backdrop { background: transparent; transition: background var(--dur-sheet) var(--ease-out), display var(--dur-sheet) allow-discrete, overlay var(--dur-sheet) allow-discrete; }
  .sheet[open]::backdrop { background: var(--backdrop); }
  .sheet-grabber { display: grid; place-items: center; padding-block: calc(var(--space-s) * var(--grabber)) calc(var(--space-xs) * var(--grabber)); touch-action: none; cursor: grab; }
  .sheet-handle { inline-size: 2.25rem; block-size: calc(0.3125rem * var(--grabber)); border-radius: var(--radius-pill); background: var(--text-2); opacity: 0.45; }
  .sheet-head { display: grid; grid-template-columns: 1fr auto; align-items: center; padding-block: calc(var(--space-m) * (1 - var(--grabber))) var(--space-s); padding-inline: var(--space-m) var(--space); touch-action: none; }
  .sheet-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .sheet-close { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .sheet-body { overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--space) var(--space-l); }
  .sheet-group { margin: 0 0 var(--space); }
  .sheet-group-title { margin: var(--space-s) var(--space) var(--space-xs); font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .sheet-list { margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--group-radius); overflow: hidden; }
  .sheet-list li + li { border-block-start: var(--line) solid var(--separator); }
  .sheet-item { display: grid; grid-template-columns: var(--tile) 1fr auto; align-items: center; gap: var(--space); min-block-size: 3.5rem; margin: 0; padding: var(--space-s) var(--space); color: var(--text); text-decoration: none; transition: background var(--dur-fast); }
  button.sheet-item { inline-size: 100%; text-align: start; }
  .sheet-item:active { background: var(--fill); }
  .sheet-item[aria-current="page"] { background: var(--accent-soft); }
  .sheet-item.is-cta .tile-icon { box-shadow: 0 0 0 var(--focus-ring) var(--accent-soft); }
  .icon-go { inline-size: 1rem; block-size: 1rem; color: var(--text-2); }
  /* ---- consent switch (real checkbox on top, drawn track + knob underneath) ---- */
  .m-switch { position: relative; display: inline-grid; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); }
  .m-switch-input { appearance: none; position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; min-block-size: 0; margin: 0; padding: 0; border: 0; border-radius: var(--radius-pill); background: none; opacity: 0; cursor: pointer; }
  .m-switch-track { display: block; inline-size: 100%; block-size: 100%; border-radius: var(--radius-pill); background: var(--switch-off); box-shadow: inset 0 0 0 var(--line) var(--separator); transition: background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
  .m-switch-knob { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur) var(--ease-spring); }
  .m-switch-input:checked + .m-switch-track { background: var(--switch-on); box-shadow: none; }
  .m-switch-input:checked + .m-switch-track .m-switch-knob { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .m-switch-input:focus-visible + .m-switch-track { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-switch-input:active + .m-switch-track .m-switch-knob { inline-size: calc(var(--knob-size) * 1.2); }
  .d-switch { display: none; }
  .d-switch-input { display: none; }
  .d-switch-track { display: none; }
  .d-switch-knob { display: none; }
  .d-switch-input:checked + .d-switch-track { display: none; }
  .d-switch-input:checked + .d-switch-track .d-switch-knob { display: none; }
  .d-switch-input:focus-visible + .d-switch-track { display: none; }
  .d-switch-input:active + .d-switch-track .d-switch-knob { display: none; }
  /* ---- consent + display preferences ---- */
  .m-cookie-fab { position: fixed; z-index: 45; inset-inline-end: var(--space-s); inset-block-end: calc(var(--island-h) + var(--space) + env(safe-area-inset-bottom, 0rem)); display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; background: var(--glass-nav); color: var(--text); transition: opacity var(--dur-fast), transform var(--dur) var(--ease-spring); }
  .m-cookie-fab .icon { inline-size: calc(var(--icon) * 1.1); block-size: calc(var(--icon) * 1.1); }
  html.consent-open .m-cookie-fab { opacity: 0; transform: scale(0.6); pointer-events: none; }
  .m-consent { position: fixed; z-index: 60; inset: auto var(--space-s) calc(var(--island-h) + var(--space) + env(safe-area-inset-bottom, 0rem)); display: none; margin: 0 auto; inline-size: auto; max-inline-size: 36rem; max-block-size: calc(100% - var(--space-xl) * 2); padding: 0; border: var(--line) solid var(--glass-rim); border-radius: var(--radius-xl); background: var(--glass-bg-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-sheen); color: var(--text); overflow: hidden; transform: translateY(calc(100% + var(--space-xl))); transition: transform var(--dur-sheet) var(--ease-spring), display var(--dur-sheet) allow-discrete, overlay var(--dur-sheet) allow-discrete; }
  .m-consent[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; transform: translateY(var(--consent-drag, 0rem)); }
  .m-consent:focus { outline: none; }
  .m-consent.is-dragging { transition: none; }
  .m-consent::backdrop { background: transparent; transition: background var(--dur-sheet) var(--ease-out), display var(--dur-sheet) allow-discrete, overlay var(--dur-sheet) allow-discrete; }
  .m-consent[open]::backdrop { background: var(--backdrop); }
  .m-consent-grabber { display: grid; place-items: center; padding-block: var(--space-s) var(--space-xs); touch-action: none; cursor: grab; }
  .m-consent-handle { inline-size: 2.25rem; block-size: 0.3125rem; border-radius: var(--radius-pill); background: var(--text-2); opacity: 0.45; }
  .m-consent-intro { display: grid; justify-items: center; gap: var(--space-s); margin: 0; padding: var(--space-xs) var(--space-m) var(--space-m); text-align: center; }
  .m-consent-badge { display: grid; place-items: center; inline-size: var(--badge); block-size: var(--badge); border-radius: var(--radius); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight); }
  .m-consent-badge .icon { inline-size: calc(var(--icon) * 1.4); block-size: calc(var(--icon) * 1.4); }
  .m-consent-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-consent-text { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .m-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s); inline-size: 100%; margin-block-start: var(--space-xs); }
  .m-consent-choice { min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--text); color: var(--bg); font-weight: 600; }
  .m-consent-settings { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-block-size: 0; }
  .m-consent-bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 var(--space-s) var(--space-s); }
  .m-consent-back { display: inline-flex; align-items: center; gap: var(--space-2xs); justify-self: start; min-block-size: var(--tap); padding-inline: var(--space-xs); color: var(--accent-ink); font-weight: 500; }
  .m-icon-back { transform: rotate(90deg); scale: var(--dir) 1; }
  .m-consent-bar-title { margin: 0; font: 600 var(--step-base)/1.2 var(--font-display); text-align: center; }
  .m-consent-close { display: grid; place-items: center; justify-self: end; inline-size: var(--control); block-size: var(--control); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .m-consent-scroll { overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--space) var(--space); }
  .m-consent-lead { margin: 0 var(--space-xs) var(--space-s); color: var(--text-2); font-size: var(--step-small); }
  .m-consent-group { margin: var(--space) var(--space) var(--space-xs); font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .m-consent-list { margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .m-consent-row { display: grid; grid-template-columns: var(--tile-s) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding-block: calc(var(--space-s) * 1.25); padding-inline: calc(var(--space) * 0.75) var(--space-s); }
  .m-consent-row + .m-consent-row { border-block-start: var(--line) solid var(--separator); }
  .m-consent-tile { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); }
  .m-consent-row-text { display: grid; gap: var(--space-2xs); margin: 0; font-weight: 400; min-inline-size: 0; cursor: pointer; }
  .m-consent-row-text strong { font-weight: 600; font-size: var(--step-small); line-height: 1.25; }
  .m-consent-row-text span { font-weight: 400; color: var(--text-2); font-size: var(--step-caption); line-height: 1.3; }
  .m-consent-locked { padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; white-space: nowrap; }
  .m-display { display: grid; gap: var(--space); padding: calc(var(--space) * 0.875) var(--space); }
  .m-segment-field { display: grid; gap: calc(var(--space-xs) * 1.5); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-segment-legend { float: none; inline-size: auto; margin: 0; padding: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; line-height: 1.2; }
  .m-segment { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--segment-pad); padding: var(--segment-pad); border-radius: var(--radius-s); background: var(--fill); }
  .m-segment-option { position: relative; display: grid; min-inline-size: 0; margin: 0; font-weight: inherit; }
  .m-segment-option input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
  .m-segment-face { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--segment-h); padding-inline: var(--space-xs); border-radius: calc(var(--radius-s) - var(--segment-pad)); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; line-height: 1; white-space: nowrap; overflow: hidden; transition: background var(--dur-fast), color var(--dur-fast); }
  .m-segment-face .icon { inline-size: 1em; block-size: 1em; }
  .m-segment-option input:checked + .m-segment-face { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .m-segment-option input:focus-visible + .m-segment-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-consent-note { margin: var(--space-s) var(--space-xs) 0; color: var(--text-2); font-size: calc(var(--step-small) * 0.92); }
  .m-consent-reset { min-block-size: var(--tap); padding-inline: var(--space-xs); color: var(--accent-ink); font-weight: 600; }
  .m-consent-details { margin-block-start: var(--space-s); background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .m-consent-summary { display: flex; align-items: center; justify-content: space-between; min-block-size: var(--tap); padding: var(--space-s) var(--space); font-weight: 600; list-style: none; cursor: pointer; }
  .m-consent-summary::-webkit-details-marker { display: none; }
  .m-icon-disclose { transition: transform var(--dur) var(--ease-spring); }
  .m-consent-details[open] .m-icon-disclose { transform: rotate(180deg); }
  .m-cookie-list { display: grid; gap: var(--space-s); margin: 0; padding: 0 var(--space) var(--space); }
  .m-cookie-item { padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .m-cookie-item dt { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .m-cookie-item dd { margin: var(--space-2xs) 0 0; color: var(--text-2); font-size: calc(var(--step-small) * 0.92); }
  .m-cookie-tag { padding: 0 var(--space-s); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-tiny); font-weight: 600; }
  .m-cookie-duration { display: block; font-size: var(--step-tiny); font-weight: 600; }
  .m-consent-footer { padding: var(--space-s) var(--space) var(--space); border-block-start: var(--line) solid var(--separator); }
  .m-consent-reject { display: block; min-block-size: var(--tap); margin: var(--space-s) auto 0; padding-inline: var(--space-xs); color: var(--text-2); font-size: var(--step-small); font-weight: 400; }
  button.m-consent-save { inline-size: 100%; margin: 0; }
  .m-consent-status { margin: 0; padding: 0 var(--space) var(--space-s); color: var(--ok); font-size: var(--step-small); font-weight: 600; text-align: center; }
  .m-consent-status:empty { display: none; }
  .d-cookie-fab { display: none; }
  .d-cookie-fab .icon { display: none; }
  .d-cookie-fab-label { display: none; }
  .d-cookie-fab:hover, .d-cookie-fab:focus-visible { display: none; }
  .d-cookie-fab:hover .d-cookie-fab-label, .d-cookie-fab:focus-visible .d-cookie-fab-label { display: none; }
  html.consent-open .d-cookie-fab { display: none; }
  .d-consent { display: none; }
  .d-consent[open] { display: none; }
  .d-consent[data-current-view="settings"] { display: none; }
  .d-consent:focus { display: none; }
  .d-consent::backdrop { display: none; }
  .d-consent[open]::backdrop { display: none; }
  .d-consent-intro { display: none; }
  .d-consent-head { display: none; }
  .d-consent-badge { display: none; }
  .d-consent-badge .icon { display: none; }
  .d-consent-title { display: none; }
  .d-consent-text { display: none; }
  .d-consent-actions { display: none; }
  .d-consent-choice { display: none; }
  .d-consent-choice:hover { display: none; }
  .d-consent-reject { display: none; }
  .d-consent-settings { display: none; }
  .d-consent-bar { display: none; }
  .d-consent-bar-title { display: none; }
  .d-consent-lead { display: none; }
  .d-consent-close { display: none; }
  .d-consent-columns { display: none; }
  .d-consent-col { display: none; }
  .d-consent-group { display: none; }
  .d-consent-list { display: none; }
  .d-consent-row { display: none; }
  .d-consent-row + .d-consent-row { display: none; }
  .d-consent-tile { display: none; }
  .d-consent-row-text { display: none; }
  .d-consent-row-text strong { display: none; }
  .d-consent-row-text span { display: none; }
  .d-consent-locked { display: none; }
  .d-segment-field { display: none; }
  .d-segment-legend { display: none; }
  .d-segment { display: none; }
  .d-segment-option { display: none; }
  .d-segment-option input { display: none; }
  .d-segment-face { display: none; }
  .d-segment-face .icon { display: none; }
  .d-segment-option input:checked + .d-segment-face { display: none; }
  .d-segment-option input:focus-visible + .d-segment-face { display: none; }
  .d-segment-option:hover .d-segment-face { display: none; }
  .d-consent-note { display: none; }
  .d-consent-reset { display: none; }
  .d-consent-details { display: none; }
  .d-consent-summary { display: none; }
  .d-consent-summary::-webkit-details-marker { display: none; }
  .d-icon-disclose { display: none; }
  .d-consent-details[open] .d-icon-disclose { display: none; }
  .d-cookie-table { display: none; }
  .d-cookie-table th, .d-cookie-table td { display: none; }
  .d-cookie-table thead th { display: none; }
  .d-cookie-tag { display: none; }
  .d-consent-footer { display: none; }
  .d-consent-back { display: none; }
  .d-icon-back { display: none; }
  button.d-consent-save { display: none; }
  .d-consent-status { display: none; }
  .d-consent-status:empty { display: none; }
  /* ---- footer ---- */
  .m-footer { display: grid; gap: var(--space-m); }
  .m-footer-cta { display: grid; gap: var(--space-s); padding: var(--space-m) var(--space); background: var(--form-bg); border: var(--line) solid var(--form-ring); border-radius: var(--radius-xl); }
  .m-footer-cta-title { margin: 0; color: var(--text); font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-footer-cta-text { color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .m-footer-direct { display: flex; align-items: center; gap: var(--space-s); min-block-size: var(--tap); color: var(--text); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
  .m-footer-direct .icon { color: var(--accent-ink); }
  .m-footer-phone { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .m-footer-wa { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; }
  .m-footer-wa .icon { color: var(--accent-ink); }
  .m-footer-phone-label { display: block; color: var(--text-2); font-size: var(--step-small); font-weight: 500; }
  .d-footer-contact { display: none; }
  .d-footer-direct { display: none; }
  .d-footer-direct .icon { display: none; }
  .d-footer-direct:hover span { display: none; }
  .d-footer-phone { display: none; }
  .d-footer-wa { display: none; }
  .d-footer-wa:hover { display: none; }
  .d-footer-wa .icon { display: none; }
  .d-footer-phone-label { display: none; }
  .d-footer-cta { display: none; }
  .d-footer-cta:hover { display: none; }
  .m-footer-cta-button { display: flex; align-items: center; justify-content: center; gap: var(--space-s); min-block-size: var(--row-h); margin-block-start: var(--space-xs); padding-inline: var(--space-m); color: var(--accent-text); background: var(--accent); border-radius: var(--radius-pill); font-size: var(--step-base); font-weight: 700; text-decoration: none; }
  .m-footer-cta-button .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-footer-brand { display: grid; grid-template-columns: var(--footer-logo) minmax(0, 1fr); align-items: center; gap: var(--space-s); }
  .m-footer-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; inline-size: var(--footer-logo); block-size: var(--footer-logo); padding: var(--space-xs); overflow: clip; background: var(--logo-plate); border-radius: var(--radius); box-shadow: var(--card-shadow); flex: none; }
  .m-footer-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .m-footer-mark { display: grid; place-items: center; inline-size: var(--footer-logo); block-size: var(--footer-logo); border-radius: var(--radius-pill); background: var(--text); color: var(--bg); font: 800 var(--step-tiny)/1 var(--font-display); letter-spacing: 0.06em; }
  .m-footer-brand-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-footer-name { color: var(--text); font: 700 var(--step-base)/1.2 var(--font-display); }
  .m-footer-tagline { font-size: var(--step-small); }
  .m-footer-groups { display: grid; overflow: hidden; background: var(--bg); border-radius: var(--radius-l); }
  .m-footer-acc + .m-footer-acc { border-block-start: var(--line) solid var(--separator); }
  .m-footer-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-s); min-block-size: var(--row-h); padding-inline: var(--space); color: var(--text); cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
  .m-footer-summary::-webkit-details-marker { display: none; }
  .m-footer-summary:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .m-footer-title { font: 600 var(--step-base)/1.2 var(--font-body); }
  .m-footer-count { min-inline-size: calc(var(--space) * 1.5); padding: var(--space-2xs) var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-variant-numeric: tabular-nums; text-align: center; background: var(--fill); border-radius: var(--radius-pill); }
  .m-footer-chevron { color: var(--text-2); transition: transform var(--dur) var(--ease-spring); }
  .m-footer-acc[open] .m-footer-summary { color: var(--accent-ink); }
  .m-footer-acc[open] .m-footer-chevron { transform: rotate(180deg); }
  .m-footer-acc[open] .m-footer-panel { animation: footer-reveal var(--dur) var(--ease-out); }
  .m-footer-panel { padding: 0 var(--space-xs) var(--space-xs); }
  .m-footer-list { display: grid; margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius); }
  .m-footer-list li { margin: 0; }
  .m-footer-list li + li { border-block-start: var(--line) solid var(--separator); }
  .m-footer-link { display: grid; grid-template-columns: var(--tile-s) minmax(0, 1fr) var(--icon); align-items: center; gap: var(--space-s); inline-size: 100%; min-block-size: var(--row-h); padding-inline: var(--space-s); color: var(--text); font-size: var(--step-base); text-align: start; text-decoration: none; }
  .m-footer-link .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); }
  .m-footer-link-label { min-inline-size: 0; overflow-wrap: anywhere; }
  .m-footer-go { inline-size: 1em; block-size: 1em; color: var(--text-2); }
  .m-footer-link[aria-current="page"] { color: var(--accent-ink); font-weight: 600; }
  .m-footer-legal { display: grid; justify-items: start; gap: var(--space-xs); padding-block-start: var(--space); border-block-start: var(--line) solid var(--separator); font-size: var(--step-caption); }
  .m-footer-privacy { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space); color: var(--text); font-size: var(--step-small); font-weight: 500; background: var(--fill); border-radius: var(--radius-pill); }
  .m-footer-privacy .icon { inline-size: 1.1em; block-size: 1.1em; color: var(--text-2); }
  .m-footer-copy { color: var(--text-2); }
  .m-footer-credit { color: var(--text-2); }
  .m-footer-credit-link { color: var(--text); font-weight: 600; }
  .d-footer { display: none; }
  .d-footer-grid { display: none; }
  .d-footer-brand { display: none; }
  .d-footer-home { display: none; }
  .d-footer-mark { display: none; }
  .d-footer-logo { display: none; }
  .d-footer-logo-img { display: none; }
  .d-footer-name { display: none; }
  .d-footer-tagline { display: none; }
  .d-footer-col { display: none; }
  .d-footer-title { display: none; }
  .d-footer-links { display: none; }
  .d-footer-links li { display: none; }
  .d-footer-link { display: none; }
  .d-footer-link:hover { display: none; }
  .d-footer-link[aria-current="page"] { display: none; }
  .d-footer-legal { display: none; }
  .d-footer-copy { display: none; }
  .d-footer-privacy { display: none; }
  .d-footer-privacy .icon { display: none; }
  .d-footer-top { display: none; }
  .d-icon-up { display: none; }
  .d-footer-credit { display: none; }
  .d-footer-credit-link { display: none; }
  /* ---- tables: mobile = cards / label-value lists ---- */
  .data-table { margin-block: var(--space) var(--space-m); }
  .m-records { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-records > .m-record { margin: 0; padding: calc(var(--space) * 0.875) var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-record-title { margin: 0; font: 600 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .m-record-fields { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-xs) var(--space-s); margin: var(--space-s) 0 0; padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); font-size: var(--step-small); }
  .m-record-field { display: contents; }
  .m-record-field dt { color: var(--text-2); }
  .m-record-field dd { margin: 0; overflow-wrap: anywhere; font-weight: 500; font-variant-numeric: tabular-nums; }
  .m-spec { margin: 0; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); overflow: hidden; }
  .m-spec-row { display: grid; gap: var(--space-2xs); padding: calc(var(--space) * 0.75) var(--space); }
  .m-spec-row + .m-spec-row { border-block-start: var(--line) solid var(--separator); }
  .m-spec-row dt { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .m-spec-row dd { margin: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-table-wrap { display: none; }
  .d-table { display: none; }
  .d-table th, .d-table td { display: none; }
  .d-table thead th { display: none; }
  .d-table tbody th { display: none; }
  .d-table tbody tr:last-child th, .d-table tbody tr:last-child td { display: none; }
  .d-spec-table th[scope="row"] { display: none; }
  /* ---- features (bento on desktop, grouped list on mobile) ---- */
  .features { margin-block: var(--space-l); }
  .features-eyebrow { margin: 0 0 var(--space-xs); color: var(--accent-ink); font-size: var(--step-tiny); font-weight: 700; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); }
  .features-title { margin: 0 0 var(--space); font: 700 var(--step-2)/1.2 var(--font-display); letter-spacing: -0.01em; }
  .m-features { margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); overflow: hidden; }
  .m-feature { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr); align-items: start; gap: var(--space-s) calc(var(--space) * 0.875); margin: 0; padding: calc(var(--space) * 0.875) var(--space); }
  .m-feature + .m-feature { border-block-start: var(--line) solid var(--separator); }
  .m-feature-tile { display: grid; place-items: center; inline-size: var(--tile); block-size: var(--tile); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight); }
  .m-feature-body { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-feature-title { margin: 0; font: 600 var(--step-base)/1.3 var(--font-display); }
  .m-feature-text { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .d-features { display: none; }
  .d-feature { display: none; }
  .d-feature:nth-child(-n + 2) { display: none; }
  .d-features:has(> .d-feature:first-child:nth-last-child(3n)) > .d-feature { display: none; }
  .d-features:has(> .d-feature:first-child:nth-last-child(4):last-child), .d-features:has(> .d-feature:first-child:nth-last-child(4)) > .d-feature { display: none; }
  .d-feature-num { display: none; }
  .d-feature-tile { display: none; }
  .d-feature-tile .icon { display: none; }
  .d-feature-title { display: none; }
  .d-feature-text { display: none; }
  /* ---- tables (audit fixes: spans, captions, feeds) ---- */
  .m-record-value dt { display: none; }
  .m-record-value dd { grid-column: 1 / -1; }
  .m-record-values { display: grid; gap: var(--space-xs); margin: var(--space-s) 0 0; padding: var(--space-s) 0 0; list-style: none; border-block-start: var(--line) solid var(--separator); font-size: var(--step-small); }
  .m-record-values li { margin: 0; overflow-wrap: anywhere; }
  .m-table-caption { margin: 0 0 var(--space-s); color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-feed { margin-block: var(--space) var(--space-m); }
  .m-feed-day { margin: var(--space-s) 0 0; padding-block: var(--space-xs); color: var(--text-2); font-size: var(--step-small); font-weight: 600; font-variant-numeric: tabular-nums; }
  .m-feed-list { margin: 0; padding: 0; list-style: none; }
  .m-feed-item { margin: 0; padding-block: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .m-feed-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-s); align-items: baseline; margin: 0; }
  .m-feed-title { font-weight: 600; overflow-wrap: anywhere; }
  .m-feed-time { color: var(--text-2); font-size: var(--step-small); font-variant-numeric: tabular-nums; }
  .m-feed-meta { display: flex; flex-wrap: wrap; gap: 0 var(--space-xs); margin: var(--space-2xs) 0 0; color: var(--text-2); font-size: var(--step-small); }
  .m-feed-field { overflow-wrap: anywhere; }
  .m-feed-field + .m-feed-field::before { content: "·"; margin-inline-end: var(--space-xs); }
  .m-feed-more { margin-block-start: var(--space-s); }
  .m-feed-summary { display: flex; align-items: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; cursor: pointer; }
  .d-table-caption { display: none; }
  /* ---- 404 page and breadcrumbs ---- */
  .notfound { margin-block: var(--space) var(--space-l); }
  .m-crumbs { margin-block: calc(var(--space-xs) * -1) var(--space-xs); }
  .m-crumbs-back { display: inline-flex; align-items: center; gap: var(--space-2xs); max-inline-size: 100%; min-block-size: var(--tap); padding-inline-end: var(--space-s); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; text-decoration: none; }
  .m-crumbs-icon { inline-size: calc(var(--icon) * 0.9); block-size: calc(var(--icon) * 0.9); stroke-width: 2.2; transform: rotate(90deg); scale: var(--dir) 1; }
  .m-crumbs-label { min-inline-size: 0; overflow-wrap: anywhere; }
  .d-crumbs { display: none; }
  .d-crumbs-list { display: none; }
  .d-crumbs-item { display: none; }
  .d-crumbs-link { display: none; }
  .d-crumbs-sep { display: none; }
  .d-crumbs-current { display: none; }
  .m-notfound { display: grid; gap: var(--space-s); }
  .m-notfound-code { margin: 0; color: var(--text); font: 800 var(--step-3)/1 var(--font-display); letter-spacing: -0.03em; }
  .m-notfound-code::after { content: ""; display: block; inline-size: var(--space-l); block-size: calc(var(--line) * 2); margin-block-start: var(--space-xs); background: var(--accent); }
  .m-notfound-title { margin: var(--space-xs) 0 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .m-notfound-text { margin: 0; color: var(--text-2); }
  .m-notfound-path { display: grid; gap: var(--space-2xs); margin: 0; padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--fill); font-size: var(--step-small); }
  .m-notfound-path span { color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
  .m-notfound-path code { overflow-wrap: anywhere; color: var(--text); }
  .m-notfound-home { margin-block-start: var(--space-xs); }
  .m-notfound-secondary { display: flex; align-items: center; justify-content: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .m-notfound-next-title { margin: var(--space-s) 0 0; font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .m-notfound-links { margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); overflow: hidden; }
  .m-notfound-links li { margin: 0; }
  .m-notfound-links li + li { border-block-start: var(--line) solid var(--separator); }
  .m-notfound-link { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) auto; align-items: center; gap: var(--space); min-block-size: calc(var(--tap) * 1.15); padding: var(--space-xs) var(--space); color: var(--text); font-weight: 500; text-decoration: none; }
  .icon-go-m { inline-size: 1rem; block-size: 1rem; color: var(--text-2); }
  .d-notfound { display: none; }
  .d-notfound-main { display: none; }
  .d-notfound-code { display: none; }
  .d-notfound-code::after { display: none; }
  .d-notfound-title { display: none; }
  .d-notfound-text { display: none; }
  .d-notfound-path { display: none; }
  .d-notfound-path span { display: none; }
  .d-notfound-path code { display: none; }
  .d-notfound-actions { display: none; }
  .d-notfound-actions .button { display: none; }
  .d-notfound-actions .button .icon { display: none; }
  .d-notfound-secondary { display: none; }
  .d-notfound-next { display: none; }
  .d-notfound-next-title { display: none; }
  .d-notfound-links { display: none; }
  .d-notfound-links li { display: none; }
  .d-notfound-link { display: none; }
  .icon-go-d { display: none; }
  /* ---- contact page (mobile: m-contact) ---- */
  .contact-head { margin-block: var(--space-xs) var(--space-m); }
  .contact-eyebrow { margin: 0 0 var(--space-xs); color: var(--accent-ink); font-size: var(--step-small); font-weight: 700; letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); }
  .contact-title { margin: 0 0 var(--space-s); font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.01em; }
  .contact-lead { margin: 0; color: var(--text-2); line-height: 1.5; }
  .contact-hp { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .cta-actions { margin: var(--space) 0 0; }
  .cta-button .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-contact { display: grid; gap: var(--space); margin-block-end: var(--space-l); }
  .m-direct { display: grid; margin: 0; padding: 0; list-style: none; overflow: hidden; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-direct li + li { border-block-start: var(--line) solid var(--separator); }
  .m-direct-link { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) var(--icon); align-items: center; gap: var(--space-s); min-block-size: calc(var(--tap) + var(--space-s)); padding: var(--space-xs) var(--space); color: var(--text); text-decoration: none; }
  .m-direct-text { display: grid; min-inline-size: 0; }
  .m-direct-text span { color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-contact-form-title { margin: var(--space-xs) 0 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .m-contact-note { margin: calc(var(--space-s) * -1) 0 0; color: var(--text-2); font-size: var(--step-small); }
  .m-error-summary { scroll-margin-block-start: var(--contact-sticky); padding: var(--space); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--radius-l); }
  .m-error-summary:focus { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-error-summary-title { margin: 0 0 var(--space-xs); color: var(--error); font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-error-summary-list { display: grid; gap: var(--space-xs); margin: 0; padding-inline-start: var(--space); }
  .m-error-summary-list a { color: var(--error); font-weight: 600; }
  .m-contact-form { display: grid; gap: var(--space); padding: var(--space-s); background: var(--form-bg); border: var(--line) solid var(--form-ring); border-radius: var(--radius-xl); }
  .m-section { min-inline-size: 0; overflow: hidden; padding: var(--space); background: var(--form-section); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-topics, .m-group { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-legend { padding: 0 0 var(--space-xs); font: 600 var(--step-base)/1.3 var(--font-body); }
  .m-topic-list { display: grid; margin: 0 calc(var(--space) * -1) calc(var(--space) * -1); border-block-start: var(--line) solid var(--separator); }
  .m-topic { position: relative; display: block; margin: 0; font-weight: 400; }
  .m-topic + .m-topic { border-block-start: var(--line) solid var(--separator); }
  .m-topic-input { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .m-topic-face { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) var(--radio); align-items: center; gap: var(--space-s); min-block-size: calc(var(--tap) + var(--space-s)); padding: var(--space-s) var(--space); transition: background var(--dur-fast); }
  .m-topic-text { display: grid; min-inline-size: 0; }
  .m-topic-text span { color: var(--text-2); font-size: var(--step-small); line-height: 1.35; }
  .m-topic-radio { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: 50%; transition: background var(--dur-fast), border-color var(--dur-fast); }
  .m-topic-radio .icon { inline-size: calc(var(--radio) * 0.6); block-size: calc(var(--radio) * 0.6); stroke-width: 3; }
  .m-topic-input:checked + .m-topic-face { background: var(--accent-soft); }
  .m-topic-input:checked + .m-topic-face .m-topic-radio { color: var(--accent-text); background: var(--accent); border-color: var(--accent); }
  .m-topic-input:focus-visible + .m-topic-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .m-topics.is-invalid .m-topic-list { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--error); }
  .m-field-list { display: grid; gap: var(--space); }
  .m-field { scroll-margin-block-start: var(--contact-sticky); display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-label { margin: 0; font-weight: 600; }
  .m-optional { color: var(--text-2); font-weight: 400; }
  .m-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-error { margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .m-field input.m-input { min-block-size: var(--field-h); margin: 0; font-size: var(--step-base); background: var(--field-bg); border-color: var(--field-border); }
  .m-field textarea.m-textarea { display: block; inline-size: 100%; min-block-size: var(--textarea-h); margin: 0; padding: var(--space-s) var(--space); color: inherit; font: inherit; font-size: var(--step-base); line-height: 1.5; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); resize: vertical; }
  .m-field input.m-input:focus, .m-field textarea.m-textarea:focus { border-color: var(--accent); outline: var(--focus-ring) solid var(--focus-color); outline-offset: 0; }
  .m-field.is-invalid input.m-input, .m-field.is-invalid textarea.m-textarea { border: calc(var(--line) * 2) solid var(--error); }
  .m-counter { margin: 0; justify-self: end; color: var(--text-2); font-size: var(--step-small); font-variant-numeric: tabular-nums; }
  .m-counter.is-over { color: var(--error); font-weight: 600; }
  .m-privacy { display: grid; grid-template-columns: var(--icon) minmax(0, 1fr); gap: var(--space-s); margin: 0; padding: var(--space-s) var(--space); color: var(--text-2); font-size: var(--step-small); background: var(--fill); border-radius: var(--radius); }
  .m-privacy .icon { color: var(--accent-ink); }
  button.m-submit { min-block-size: calc(var(--tap) + var(--space-xs)); margin: 0; font-size: var(--step-base); }
  button.m-submit[aria-busy="true"] { opacity: 0.7; cursor: progress; }
  .m-submit-note { margin: calc(var(--space-s) * -1) 0 0; color: var(--text-2); font-size: var(--step-small); text-align: center; }
  .m-section-title { margin: var(--space) 0 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .m-steps { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-step { display: grid; grid-template-columns: var(--step-dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); }
  .m-step-number { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); margin-block-start: var(--space-2xs); color: var(--text); font-size: var(--step-caption); font-weight: 700; border: var(--line) solid var(--field-border); border-radius: 50%; }
  .m-places { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-places li { padding: var(--space-xs) var(--space-s); font-size: var(--step-small); background: var(--surface); border-radius: var(--radius-pill); box-shadow: var(--card-shadow); }
  .contact-sent { display: grid; justify-items: center; gap: var(--space-s); margin-block: var(--space-l); padding: var(--space-l) var(--space); text-align: center; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .contact-sent-badge { display: grid; place-items: center; inline-size: var(--badge); block-size: var(--badge); color: var(--accent-text); background: var(--accent); border-radius: 50%; }
  .contact-sent-badge .icon { inline-size: calc(var(--badge) * 0.5); block-size: calc(var(--badge) * 0.5); stroke-width: 2.6; }
  .contact-sent-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .contact-sent-text { margin: 0; color: var(--text-2); line-height: 1.5; }
  .contact-sent-ref { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: var(--space-xs); margin: 0; padding: var(--space-s) var(--space); background: var(--accent-soft); border-radius: var(--radius-l); }
  .contact-sent-ref-label { color: var(--text-2); font-size: var(--step-small); }
  .contact-sent-ref-code { font: 700 var(--step-1)/1.2 var(--font-mono); letter-spacing: 0.04em; user-select: all; }
  .contact-sent-ref-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .contact-sent-actions { display: grid; gap: var(--space-s); inline-size: 100%; }
  .contact-sent-actions .button { margin: 0; }
  .contact-sent-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  /* desktop contact tree: hidden on phones */
  .d-section { display: none; }
  button.d-submit { display: none; }
  button.d-submit[aria-busy="true"] { display: none; }
  .d-contact { display: none; }
  .d-contact-card { display: none; }
  .d-contact-form-title { display: none; }
  .d-contact-note { display: none; }
  .d-error-summary { display: none; }
  .d-error-summary:focus { display: none; }
  .d-error-summary-title { display: none; }
  .d-error-summary-list { display: none; }
  .d-error-summary-list a { display: none; }
  .d-contact-form { display: none; }
  .d-topics { display: none; }
  .d-group { display: none; }
  .d-legend { display: none; }
  .d-topic-grid { display: none; }
  .d-topic { display: none; }
  .d-topic-input { display: none; }
  .d-topic-face { display: none; }
  .d-topic-text { display: none; }
  .d-topic-text span { display: none; }
  .d-topic-check { display: none; }
  .d-topic-check .icon { display: none; }
  .d-topic-input:hover + .d-topic-face { display: none; }
  .d-topic-input:checked + .d-topic-face { display: none; }
  .d-topic-input:checked + .d-topic-face .d-topic-check { display: none; }
  .d-topic-input:focus-visible + .d-topic-face { display: none; }
  .d-topics.is-invalid .d-topic-face { display: none; }
  .d-field-grid { display: none; }
  .d-field { display: none; }
  .d-field-full { display: none; }
  .d-field-half { display: none; }
  .d-field input.d-input[type="tel"] { display: none; }
  .d-label { display: none; }
  .d-optional { display: none; }
  .d-hint { display: none; }
  .d-error { display: none; }
  .d-field input.d-input { display: none; }
  .d-field textarea.d-textarea { display: none; }
  .d-field input.d-input:focus { display: none; }
  .d-field textarea.d-textarea:focus { display: none; }
  .d-field.is-invalid input.d-input { display: none; }
  .d-field.is-invalid textarea.d-textarea { display: none; }
  .d-counter { display: none; }
  .d-counter.is-over { display: none; }
  .d-privacy { display: none; }
  .d-privacy .icon { display: none; }
  .d-submit-row { display: none; }
  .d-submit-note { display: none; }
  .d-contact-aside { display: none; }
  .d-aside-card { display: none; }
  .d-aside-title { display: none; }
  .d-direct { display: none; }
  .d-direct-link { display: none; }
  .d-direct-link > span:last-child { display: none; }
  .d-direct-link strong { display: none; }
  .d-steps { display: none; }
  .d-step { display: none; }
  .d-step-number { display: none; }
  .d-places { display: none; }
  .d-places li { display: none; }
  /* ---- admin area (mobile: m-admin-nav, m-overview, m-enq, m-appearance) ---- */
  .admin { display: grid; gap: var(--space); margin-block: var(--space-s) var(--space-l); }
  .admin-main { display: grid; gap: var(--space); min-inline-size: 0; }
  .admin-head { display: grid; gap: var(--space-xs); }
  .admin-title { margin: 0; font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.01em; }
  .admin-lead { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .admin-updated { display: block; margin-block-start: var(--space-2xs); color: var(--text-2); }
  .admin-card { display: grid; gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .admin-card-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .admin-card-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .admin-empty { margin: 0; padding: var(--space); color: var(--text-2); text-align: center; background: var(--fill); border-radius: var(--radius); }
  .admin-status { display: inline-flex; align-items: center; min-block-size: calc(var(--space) * 1.5); padding-inline: var(--space-s); font-size: var(--step-caption); font-weight: 700; white-space: nowrap; border-radius: var(--radius-pill); }
  .admin-health { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .admin-health li { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); }
  .admin-health-text { display: grid; min-inline-size: 0; }
  .admin-health-text span { color: var(--text-2); font-size: var(--step-small); }
  .admin-dot { display: block; inline-size: var(--dot); block-size: var(--dot); margin-block-start: calc(var(--space-xs) * 1.5); border-radius: 50%; }
  .admin-pair { display: grid; gap: var(--space); }
  .admin-env { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  button.admin-button { margin: 0; }
  .m-admin-nav { min-inline-size: 0; }
  .m-admin-fold { min-inline-size: 0; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-admin-fold-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-s); min-block-size: var(--row-h); padding: var(--space-xs) var(--space-s); cursor: pointer; list-style: none; }
  .m-admin-fold-head::-webkit-details-marker { display: none; }
  .m-admin-fold-head .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; }
  .m-admin-fold-text { display: grid; min-inline-size: 0; }
  .m-admin-fold-label { color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; text-transform: var(--label-case); letter-spacing: calc(0.06em * var(--label-track)); }
  .m-admin-fold-chevron { inline-size: 1em; block-size: 1em; color: var(--text-2); transition: transform var(--dur-fast) var(--ease-out); }
  .m-admin-fold[open] .m-admin-fold-chevron { transform: rotate(180deg); }
  .m-admin-fold[open] > .m-admin-tiles { padding: 0 var(--space-s) var(--space-s); animation: fold-open var(--dur) var(--ease-out); }
  .m-admin-tiles { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-admin-tile { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s) var(--space); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .m-admin-tile .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; }
  .m-admin-tile[aria-current="page"] { color: var(--bg); background: var(--text); border-color: var(--text); }
  .m-admin-tile-label { overflow-wrap: anywhere; }
  .m-admin-badge { display: grid; place-items: center; min-inline-size: calc(var(--space) * 1.125); block-size: calc(var(--space) * 1.125); padding-inline: var(--space-2xs); color: var(--accent-text); font-size: var(--step-tiny); font-weight: 700; background: var(--accent); border-radius: var(--radius-pill); }
  .m-overview { display: grid; gap: var(--space); }
  .m-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-kpi-link { display: grid; align-content: start; gap: var(--space-2xs); block-size: 100%; padding: var(--space-s) var(--space); color: var(--text); text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-kpi-value { font: 700 var(--step-1)/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
  .m-kpi-label { color: var(--text-2); font-size: var(--step-caption); }
  .m-kpi.is-alert .m-kpi-link { border-color: var(--accent); }
  .m-kpi.is-alert .m-kpi-value { color: var(--accent-ink); }
  .m-kpi.is-warn .m-kpi-value { color: var(--error); }
  .m-latest { display: grid; margin: 0; padding: 0; list-style: none; }
  .m-latest-row { display: grid; gap: var(--space-2xs); padding-block: var(--space-s); }
  .m-latest-row + .m-latest-row { border-block-start: var(--line) solid var(--separator); }
  .m-latest-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-inline-size: 0; overflow-wrap: anywhere; }
  .m-latest-meta { color: var(--text-2); font-size: var(--step-small); }
  .m-card-more { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; background: var(--fill); border-radius: var(--radius); }
  .m-card-more .icon { inline-size: 1em; block-size: 1em; }
  .m-enq { display: grid; gap: var(--space); }
  .m-filters { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .m-filter { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--surface); border-radius: var(--radius-pill); box-shadow: var(--card-shadow); }
  .m-filter[aria-current="true"] { color: var(--accent-text); background: var(--accent); }
  .m-filter-count { min-inline-size: calc(var(--space) * 1.25); padding-inline: var(--space-2xs); font-size: var(--step-caption); text-align: center; background: var(--fill); border-radius: var(--radius-pill); }
  .m-enq-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-enq-card { display: grid; gap: var(--space-xs); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-enq-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); }
  .m-enq-ref { color: var(--text-2); font: 600 var(--step-small)/1.2 var(--font-mono); }
  .m-enq-name { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .m-enq-meta { margin: 0; color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-enq-message { margin-block: var(--space-xs); background: var(--bg); border-radius: var(--radius); }
  .m-enq-summary { display: flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space); font-weight: 600; cursor: pointer; }
  .m-enq-text { margin: 0; padding: 0 var(--space) var(--space); line-height: 1.5; overflow-wrap: anywhere; }
  .m-enq-reply { display: flex; align-items: center; justify-content: center; gap: var(--space-s); min-block-size: var(--tap); color: var(--accent-text); font-weight: 700; text-decoration: none; background: var(--accent); border-radius: var(--radius-pill); }
  .m-enq-reply .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-enq-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; }
  .m-enq-actions-label { grid-column: 1 / -1; color: var(--text-2); font-size: var(--step-caption); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
  button.m-enq-status { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-s); color: var(--text); font-size: var(--step-small); font-weight: 600; background: var(--fill); border-radius: var(--radius); }
  button.m-enq-status[aria-pressed="true"] { color: var(--accent-ink); background: var(--accent-soft); cursor: default; }
  .m-appearance { display: grid; gap: var(--space); }
  .m-design { display: grid; gap: var(--space); }
  .m-design-styles { display: grid; }
  .m-design-list { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-design-item { margin: 0; }
  .m-design-link { display: grid; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-s); border-radius: var(--radius); color: var(--text); text-decoration: none; }
  .m-design-link[aria-current="page"] { background: var(--accent-soft); }
  .m-design-actions { display: grid; gap: var(--space-xs); }
  .m-design-confirm { display: grid; gap: var(--space-xs); }
  .m-design-confirm > .m-design-button { display: grid; place-items: center; inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); list-style: none; cursor: pointer; }
  .m-design-confirm-text { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-design-action { margin: 0; }
  .m-design-action .m-design-button, .m-design-duplicate .m-design-button { inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); }
  .m-design-duplicate { display: grid; gap: var(--space-xs); }
  .m-design-duplicate-row { display: grid; gap: var(--space-xs); }
  .m-design-name { inline-size: 100%; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .m-design-form { display: grid; gap: var(--space); }
  .m-design-group { display: grid; min-inline-size: 0; border: 0; }
  .m-design-save { inline-size: 100%; min-block-size: var(--tap); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: 600 var(--step-base)/1 var(--font-body); }
  /* Design styles page (/admin/design): token rows and the live preview phone are shared (not interactive trees) */
  .dtok { display: grid; gap: var(--space-2xs); padding-block: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .dtok-name { margin: 0; font-weight: 600; }
  .dtok-code { font: var(--step-tiny)/1 var(--font-mono); color: var(--text-2); }
  .dtok-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .dtok-fields { display: grid; gap: var(--space-s); }
  .dtok-field { display: grid; grid-template-columns: minmax(0, 1fr) 6rem minmax(1.5rem, auto); align-items: center; gap: var(--space-2xs) var(--space-xs); inline-size: 100%; }
  .dtok-field .dtok-scheme { grid-column: 1 / -1; }
  .dtok-field .dtok-input { inline-size: 100%; min-inline-size: 0; }
  .dtok-field .dtok-range { inline-size: 100%; }
  .dtok-field .dtok-error { grid-column: 1 / -1; }
  .dtok-scheme { color: var(--text-2); font-size: var(--step-small); }
  .dtok-input { inline-size: 9rem; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .dtok-unit { color: var(--text-2); font-size: var(--step-small); }
  .dtok.is-bad .dtok-input { border-color: var(--error); }
  .dtok-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .dtok-changed { padding: calc(var(--space-2xs) / 2) var(--space-xs); color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); font-size: var(--step-tiny); font-weight: 700; }
  .dtok-reset { min-block-size: var(--tap); padding-inline: var(--space-s); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--accent-ink); font: 600 var(--step-small)/1 var(--font-body); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
  .dtok-default { color: var(--text-2); font-size: var(--step-tiny); white-space: nowrap; }
  .dtok-presets { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .dtok-chip { min-block-size: calc(var(--tap) * 0.8); padding-inline: var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-2); font: 500 var(--step-tiny)/1 var(--font-body); cursor: pointer; }
  .dtok-range { inline-size: 8rem; accent-color: var(--accent); }
  .dtok-text { inline-size: 11rem; }
  .dtok-error { flex-basis: 100%; color: var(--error); font-size: var(--step-small); }
  .dtok.is-changed .dtok-name { color: var(--accent-ink); }
  .dgroup-summary { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); cursor: pointer; font: 700 var(--step-1)/1.25 var(--font-display); }
  .dgroup-title { min-inline-size: 0; }
  .dgroup-count { color: var(--accent-ink); font-size: var(--step-small); }
  .dgroup-take { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); }
  .dgroup-take-label { color: var(--text-2); font-size: var(--step-small); }
  .dgroup-take-button { min-block-size: var(--tap); padding-inline: var(--space); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); cursor: pointer; }
  .dtools { display: grid; gap: var(--space-xs); }
  .dtools-label { font-weight: 600; }
  .dtools-filter { inline-size: 100%; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .dtools-only { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .dtools-jump { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .dtools-chip { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-size: var(--step-small); text-decoration: none; }
  .dtools-chip-count { color: var(--accent-ink); font-weight: 700; }
  .dbar-count { min-inline-size: 0; font-size: var(--step-small); font-weight: 600; }
  .dbar-discard { min-block-size: var(--tap); padding-inline: var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); cursor: pointer; }
  .dbar-save { min-block-size: var(--tap); padding-inline: var(--space); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: 600 var(--step-base)/1 var(--font-body); cursor: pointer; }
  .dbar { position: sticky; inset-block-end: calc(var(--island-h) + var(--space-l) + env(safe-area-inset-bottom, 0rem)); z-index: 5; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border: var(--line) solid var(--glass-rim); border-radius: var(--radius-pill); box-shadow: var(--glass-shadow); }
  .dpv { display: grid; gap: var(--space-xs); --glass-bg: color-mix(in srgb, var(--glass-tint) calc(var(--glass-bg-a) * 100%), transparent); --glass-nav: color-mix(in srgb, var(--glass-tint-nav) calc(var(--glass-nav-a) * 100%), transparent); --glass-rim: color-mix(in srgb, var(--shade-light) calc(var(--rim-a) * 100%), transparent); --glass-sheen: inset 0 var(--line) 0 color-mix(in srgb, var(--shade-light) calc(var(--sheen-a) * 100%), transparent); }
  .dpv-title { margin: 0; color: var(--text-2); font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; }
  .dpv-phone { position: relative; inline-size: 100%; max-inline-size: 15rem; block-size: 26rem; margin-inline: auto; overflow: hidden; border: var(--line) solid var(--separator); border-radius: var(--radius-xl); background: var(--bg); }
  .dpv-bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); margin: var(--bar-inset) var(--bar-inset) 0; padding: var(--space-2xs) var(--space-xs); border: var(--line) solid var(--glass-rim); border-radius: var(--bar-radius); background: var(--glass-bg); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .dpv-mark { inline-size: 1.5rem; block-size: 1.5rem; border-radius: var(--radius-pill); background: var(--mark-bg); }
  .dpv-name { overflow: hidden; font: 600 var(--step-tiny)/1.2 var(--font-display); white-space: nowrap; text-overflow: ellipsis; }
  .dpv-burger { inline-size: 1.5rem; block-size: 1.5rem; border-radius: var(--radius-pill); background: var(--fill); }
  .dpv-body { display: grid; gap: var(--space-xs); padding: calc(var(--space) + var(--viewing-area-h) * var(--viewing-area) * 0.5) var(--space) var(--space); }
  .dpv-heading { inline-size: 70%; block-size: 1rem; border-radius: var(--radius-s); background: var(--text); }
  .dpv-line { block-size: 0.5rem; border-radius: var(--radius-s); background: var(--fill); }
  .dpv-group { display: grid; margin-block-start: var(--space-xs); overflow: hidden; border-radius: var(--group-radius); background: var(--surface); }
  .dpv-row { block-size: 2rem; border-block-end: var(--line) solid var(--separator); }
  .dpv-island { position: absolute; inset-inline: var(--island-inset); inset-block-end: var(--island-inset); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-xs); }
  .dpv-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--space-2xs); padding: var(--space-2xs); border: var(--line) solid var(--glass-rim); border-radius: var(--island-radius); background: var(--glass-nav); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .dpv-tab { position: relative; block-size: calc(var(--island-h) * 0.6); border-radius: var(--tab-radius); }
  .dpv-pill { position: absolute; inset: 0; border-radius: inherit; background: color-mix(in srgb, var(--accent-soft) calc(var(--tab-fill) * 100%), var(--glass-selected)); transition: background var(--dur) var(--ease-spring); }
  .dpv-menu { inline-size: calc(var(--island-h) * 0.75); block-size: calc(var(--island-h) * 0.75); border: var(--line) solid var(--glass-rim); border-radius: var(--menu-radius); background: var(--glass-nav); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .m-set-form { display: grid; gap: var(--space); }
  .m-phones { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0 0 var(--space); border: 0; border-block-end: var(--line) solid var(--separator); }
  .m-phone-head { display: none; }
  .m-phone-head span { display: none; }
  .m-phone-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-phone-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--phone-actions-w-m); align-items: end; gap: var(--space-xs) var(--space-s); padding: var(--space-s); border-radius: var(--radius); background: var(--fill); }
  .m-phone-row.is-new { background: transparent; border: var(--line) dashed var(--separator); }
  .m-phone-row.is-removed { background: transparent; border: var(--line) dashed var(--separator); }
  .m-phone-row.is-removed .m-phone-field { opacity: var(--phone-removed-opacity); }
  .m-phone-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-phone-field span { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .m-phone-row:first-child .m-phone-field span { position: static; inline-size: auto; block-size: auto; overflow: visible; clip-path: none; white-space: normal; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-phone-num { grid-column: 1 / 3; grid-row: 1; }
  .m-phone-lab { grid-column: 1; grid-row: 2; }
  .m-phone-kind { grid-column: 2 / 4; grid-row: 2; }
  .m-phone-field input[type], .m-phone-field select { inline-size: 100%; min-block-size: var(--tap); }
  .m-phone-field select { padding: var(--space-s) var(--space-s); font: inherit; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-phone-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-xs); grid-column: 3; grid-row: 1; }
  button.m-phone-up { display: inline-flex; align-items: center; justify-content: center; inline-size: var(--tap); block-size: var(--tap); min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); border: var(--line) solid var(--border); }
  .m-phone-up .icon { inline-size: 1.25em; block-size: 1.25em; }
  button.m-phone-minus { display: inline-flex; align-items: center; justify-content: center; inline-size: var(--tap); block-size: var(--tap); min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); border: var(--line) solid var(--border); }
  .m-phone-minus .icon { inline-size: 1.25em; block-size: 1.25em; }
  .m-phone-minus .icon.is-restore { display: none; }
  .m-phone-row.is-removed .m-phone-minus .icon { display: none; }
  .m-phone-row.is-removed .m-phone-minus .icon.is-restore { display: inline-block; }
  .m-phones.is-enhanced .m-phone-remove { display: none; }
  .m-phone-remove { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .m-phone-foot { display: flex; align-items: center; gap: var(--space-s); }
  button.m-phone-add { display: inline-flex; align-items: center; gap: var(--space-xs); inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); font-weight: 600; border: var(--line) solid var(--border); }
  .m-phone-add .icon { inline-size: 1.25em; block-size: 1.25em; }
  .m-phone-status { margin: 0; }
  .m-set-group { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0 0 var(--space); border: 0; border-block-end: var(--line) solid var(--separator); }
  /* Admin -> Organisation (2026-10-04): phone tree - the meter first, sections stacked, rows as framed cards. */
  .m-org { display: grid; gap: var(--space); min-inline-size: 0; }
  .m-org-form { display: grid; gap: var(--space); min-inline-size: 0; }
  .m-org-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-org-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-org-field label { font-size: var(--step-small); font-weight: 600; color: var(--text-2); }
  .m-org-field input { inline-size: 100%; min-block-size: var(--tap); }
  .m-org-field select { inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space-s); font: inherit; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-org-field textarea { inline-size: 100%; min-block-size: calc(var(--tap) * 1.6); font: inherit; overflow-wrap: anywhere; }
  .m-org-field.is-invalid input { border-color: var(--error); }
  .m-org-field.is-invalid textarea { border-color: var(--error); }
  .m-org-rows { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-org-row { display: grid; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius); background: var(--fill); }
  .m-org-row.is-new { background: transparent; border: var(--line) dashed var(--separator); }
  .m-org-row-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-org-pair { grid-template-columns: minmax(0, 1fr); }
  .m-org-remove { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--text-2); }
  .m-org-aside { display: none; }
  .m-org-meter { display: grid; gap: var(--space-xs); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-org-meter-title { margin: 0; font: 700 var(--step-1)/1.3 var(--font-display); }
  .m-org-meter-count { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; font-weight: 600; }
  .m-org-meter-count meter { inline-size: 100%; block-size: var(--space-s); }
  .m-org-checks { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-s); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); }
  .m-org-check { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--text-2); }
  .m-org-check .icon { inline-size: 1em; block-size: 1em; }
  .m-org-check.is-done { color: var(--ok); font-weight: 600; }
  .m-org-preview { padding: var(--space); border-radius: var(--radius-l); background: var(--surface); }
  .m-org-json { margin: var(--space-s) 0; padding: var(--space-s); font: var(--step-small)/1.45 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--fill); border-radius: var(--radius); }
  .m-org-test { display: inline-flex; align-items: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; }
  .m-set-actions { display: grid; gap: var(--space-s); }
  /* Admin -> Webhooks (2026-10-04): phone tree - endpoint cards stacked, forms folded. */
  .m-wh { display: grid; gap: var(--space); min-inline-size: 0; }
  .m-wh-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-wh-card { display: grid; min-inline-size: 0; border-radius: var(--radius-l); }
  .m-wh-card.is-open { outline: var(--focus-ring) solid var(--accent-line); }
  .m-wh-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); }
  .m-wh-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); overflow-wrap: anywhere; }
  .m-wh-title a { color: inherit; text-decoration: none; }
  .m-wh-state { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 600; }
  .m-wh-state .icon { inline-size: 1em; block-size: 1em; }
  .m-wh-state.is-ok { color: var(--ok); background: var(--ok-bg); }
  .m-wh-state.is-warn { color: var(--text); background: var(--fill); }
  .m-wh-state.is-off { color: var(--error); background: var(--error-bg); }
  .m-wh-url { margin: 0; font: var(--step-small)/1.4 var(--font-mono); overflow-wrap: anywhere; }
  .m-wh-events { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); }
  .m-wh-event { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); min-block-size: var(--tap); font-size: var(--step-small); font-weight: 400; color: var(--text-2); }
  .m-wh-event input { margin-block-start: calc(var(--space-2xs) * 0.5); }
  .m-wh-actions { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .m-wh-confirm { display: inline-flex; align-items: center; gap: var(--space-2xs); font-size: var(--step-small); }
  .m-wh-secret { overflow-wrap: anywhere; }
  .m-wh-more { padding: var(--space); border-radius: var(--radius-l); background: var(--surface); }
  .m-wh-more summary { min-block-size: var(--tap); font-weight: 700; cursor: pointer; }
  .m-stack { display: grid; gap: var(--space-xs); min-inline-size: 0; max-inline-size: 100%; }
  .m-stack-title { margin: var(--space-s) 0 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .m-stack-facts { display: grid; gap: var(--space-2xs); margin: 0; }
  .m-stack-facts div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs) var(--space-s); padding-block: var(--space-2xs); border-block-end: var(--line) solid var(--separator); }
  .m-stack-facts dt { color: var(--text-2); font-size: var(--step-small); }
  .m-stack-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
  .m-stack-list { display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: var(--space); }
  .m-stack-win { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; padding: var(--space-s) var(--space); border-radius: var(--radius-l); background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) both; }
  .m-stack-win .icon { inline-size: 1.25em; block-size: 1.25em; }
  .d-stack { display: none; }
  .d-stack-title { display: none; }
  .d-stack-facts { display: none; }
  .d-stack-facts div { display: none; }
  .d-stack-facts dt { display: none; }
  .d-stack-facts dd { display: none; }
  .d-stack-list { display: none; }
  .d-stack-win { display: none; }
  .d-stack-win .icon { display: none; }
  .m-fold { min-inline-size: 0; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: box-shadow var(--dur-fast) var(--ease-out); }
  .m-fold.is-problem { box-shadow: 0 0 0 calc(var(--line) * 2) var(--error), var(--card-shadow); }
  .m-fold-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs) var(--space-s); min-block-size: var(--row-h); padding: var(--space-xs) var(--space-s); cursor: pointer; list-style: none; border-radius: inherit; }
  .m-fold-head::-webkit-details-marker { display: none; }
  .m-fold-icon { display: grid; grid-row: 1 / span 2; place-items: center; inline-size: calc(var(--icon) * 1.6); block-size: calc(var(--icon) * 1.6); border-radius: var(--radius); background: var(--fill); color: var(--text-2); transition: background var(--dur-fast), color var(--dur-fast); }
  .m-fold-icon .icon { inline-size: var(--icon); block-size: var(--icon); }
  .m-fold.is-done .m-fold-icon { background: var(--ok-bg); color: var(--ok); }
  .m-fold.is-todo .m-fold-icon { background: var(--info-bg); color: var(--info); }
  .m-fold.is-problem .m-fold-icon { background: var(--error-bg); color: var(--error); }
  .m-fold-text { display: grid; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; }
  .m-fold-title { font: 650 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .m-fold-gist { overflow: hidden; color: var(--text-2); font-size: var(--step-small); white-space: nowrap; text-overflow: ellipsis; }
  .m-fold-chip { display: inline-flex; grid-column: 2; grid-row: 2; justify-self: start; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 650; white-space: nowrap; background: var(--fill); color: var(--text-2); }
  .m-fold-chip .icon { inline-size: 1em; block-size: 1em; }
  .m-fold-chip.is-done { background: var(--ok-bg); color: var(--ok); }
  .m-fold-chip.is-todo { background: var(--info-bg); color: var(--info); }
  .m-fold-chip.is-problem { background: var(--error-bg); color: var(--error); }
  .m-fold-chevron { grid-column: 3; grid-row: 1 / span 2; inline-size: 1em; block-size: 1em; color: var(--text-2); transition: transform var(--dur-fast) var(--ease-out); }
  .m-fold[open] > .m-fold-head { border-end-start-radius: 0; border-end-end-radius: 0; border-block-end: var(--line) solid var(--separator); }
  .m-fold[open] > .m-fold-head .m-fold-chevron { transform: rotate(180deg); }
  .m-fold-body { display: grid; gap: var(--space-s); min-inline-size: 0; padding: var(--space-xs) var(--space-s); }
  .m-fold[open] > .m-fold-body { animation: fold-open var(--dur) var(--ease-out); }
  .m-ring { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 var(--space-s); }
  .m-ring-svg { grid-row: 1 / span 3; inline-size: calc(var(--tap) * 1.7); block-size: calc(var(--tap) * 1.7); transform: rotate(-90deg); }
  .m-ring-track { fill: none; stroke: var(--fill); stroke-width: 3.4; }
  .m-ring-value { fill: none; stroke: var(--accent); stroke-width: 3.4; stroke-linecap: round; animation: ring-draw 1.1s var(--ease-out) both; }
  .m-ring.is-good .m-ring-value { stroke: var(--ok); }
  .m-ring.is-complete .m-ring-value { stroke: var(--ok); }
  .m-ring-number { font: 800 var(--step-3)/1 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; animation: rise var(--dur) var(--ease-out) both; }
  .m-ring-caption { color: var(--text-2); font-size: var(--step-small); }
  .m-ring-badge { display: inline-flex; justify-self: start; align-items: center; gap: var(--space-2xs); margin-block-start: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 700; background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) 0.9s both; }
  .m-ring-badge .icon { inline-size: 1em; block-size: 1em; }
  .m-seo-win { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space); padding: var(--space-s) var(--space); border-radius: var(--radius-l); background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) both; }
  .m-seo-win .icon { inline-size: 1.25em; block-size: 1.25em; }
  .m-seo-issue > .m-fold { background: var(--bg); box-shadow: none; }
  .d-fold { display: none; }
  .d-fold.is-problem { display: none; }
  .d-fold-head { display: none; }
  .d-fold-head::-webkit-details-marker { display: none; }
  .d-fold-icon { display: none; }
  .d-fold-icon .icon { display: none; }
  .d-fold.is-done .d-fold-icon { display: none; }
  .d-fold.is-todo .d-fold-icon { display: none; }
  .d-fold.is-problem .d-fold-icon { display: none; }
  .d-fold-text { display: none; }
  .d-fold-title { display: none; }
  .d-fold-gist { display: none; }
  .d-fold-chip { display: none; }
  .d-fold-chip .icon { display: none; }
  .d-fold-chip.is-done { display: none; }
  .d-fold-chip.is-todo { display: none; }
  .d-fold-chip.is-problem { display: none; }
  .d-fold-chevron { display: none; }
  .d-fold[open] > .d-fold-head { display: none; }
  .d-fold[open] > .d-fold-head .d-fold-chevron { display: none; }
  .d-fold-body { display: none; }
  .d-fold[open] > .d-fold-body { display: none; }
  .d-ring { display: none; }
  .d-ring-svg { display: none; }
  .d-ring-track { display: none; }
  .d-ring-value { display: none; }
  .d-ring.is-good .d-ring-value { display: none; }
  .d-ring.is-complete .d-ring-value { display: none; }
  .d-ring-number { display: none; }
  .d-ring-caption { display: none; }
  .d-ring-badge { display: none; }
  .d-ring-badge .icon { display: none; }
  .d-seo-win { display: none; }
  .d-seo-win .icon { display: none; }
  .d-seo-issue > .d-fold { display: none; }
  /* Admin -> SEO (2026-10-04): phone tree - tabs wrap, everything stacked, articles as editable cards. */
  .m-seo { display: grid; gap: var(--space); min-inline-size: 0; }
  .m-seo-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding: var(--space-2xs); border-radius: var(--radius-pill); background: var(--fill); }
  .m-seo-tab { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); color: var(--text); font-weight: 600; text-decoration: none; }
  .m-seo-tab[aria-current="page"] { background: var(--surface); box-shadow: var(--card-shadow); color: var(--accent-ink); }
  .m-seo-score { gap: var(--space-s); }
  .m-seo-score-row { display: flex; align-items: center; font-size: var(--step-1); }
  .m-seo-bands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-seo-band a { display: grid; justify-items: start; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-s); border-radius: var(--radius); background: var(--fill); color: var(--text); text-decoration: none; font-size: var(--step-small); }
  .m-seo-band strong { font: 700 var(--step-1)/1 var(--font-display); }
  .m-seo-band .icon { inline-size: 1.2em; block-size: 1.2em; }
  .m-seo-band.is-good .icon { color: var(--ok); }
  .m-seo-band.is-poor .icon { color: var(--error); }
  .m-seo-issues { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-seo-issue { display: grid; min-inline-size: 0; }
  .m-seo-issue a { justify-self: start; }
  .m-seo-log { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-seo-filters { display: grid; gap: var(--space-s); }
  .m-seo-filters label { display: grid; gap: var(--space-2xs); font-size: var(--step-small); font-weight: 600; }
  .m-seo-filters select { inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space-s); font: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-seo-filters input { inline-size: 100%; min-block-size: var(--tap); }
  .m-seo-bulk-form { display: grid; gap: var(--space); }
  .m-seo-cards { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-seo-card { display: grid; gap: var(--space-xs); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); overflow-wrap: anywhere; }
  .m-seo-card-head { display: grid; gap: var(--space-xs); }
  .m-seo-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; font-size: var(--step-small); }
  .m-seo-field span { font-weight: 600; color: var(--text-2); }
  .m-seo-field input { inline-size: 100%; min-block-size: var(--tap); }
  .m-seo-field textarea { inline-size: 100%; font: inherit; overflow-wrap: anywhere; }
  .m-seo-sticky { position: sticky; inset-block-end: 0; padding-block: var(--space-xs); background: var(--bg); }
  .m-seo-settings { gap: var(--space); }
  .m-seo-row { display: grid; gap: var(--space-xs); padding-block: var(--space-xs); border-block-end: var(--line) solid var(--separator); }
  .seo-badge { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-weight: 600; white-space: nowrap; background: var(--fill); color: var(--text); }
  .seo-badge .icon { inline-size: 1em; block-size: 1em; }
  .seo-badge.is-good { background: var(--ok-bg); color: var(--ok); }
  .seo-badge.is-poor { background: var(--error-bg); color: var(--error); }
  .seo-chip { display: inline-flex; align-items: center; padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 600; background: var(--fill); color: var(--text-2); }
  .seo-chip.is-google { background: var(--accent-soft); color: var(--accent-ink); }
  .seo-problem { color: var(--error); font-weight: 600; }
  /* Editor: SEO score + share previews (card "SEO & social", 2026-10-04) - phone tree. */
  .m-ed-seo-score { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .m-ed-seo-todo { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-ed-seo-todo li { padding-inline-start: var(--space-xs); border-inline-start: var(--focus-ring) solid var(--separator); }
  .m-ed-seo-todo li.is-fail { border-inline-start-color: var(--error); }
  .m-ed-share { display: grid; gap: var(--space-2xs); margin: 0; padding: var(--space-s); border: var(--line) solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: clip; }
  .m-ed-share-img { display: block; inline-size: 100%; aspect-ratio: 1.91 / 1; object-fit: cover; border-radius: var(--radius-s); background: var(--fill); }
  .m-ed-share-host { margin: 0; color: var(--text-2); font-size: var(--step-caption); text-transform: uppercase; }
  .m-ed-share-title { margin: 0; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  .m-ed-share-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; }
  /* Icons referenced in article HTML (<span data-icon="check">, App\RichHtml): the site's own line icons, at text size. */
.ax-figure-link { display: block; color: inherit; text-decoration: none; }
  .ax-icon { display: inline-block; inline-size: 1em; block-size: 1em; vertical-align: -0.125em; fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  /* the desktop tree of the editor's SEO panel */
  .d-ed-seo-score { display: none; }
  .d-ed-seo-todo { display: none; }
  .d-ed-seo-todo li { display: none; }
  .d-ed-seo-todo li.is-fail { display: none; }
  .d-ed-share { display: none; }
  .d-ed-share-img { display: none; }
  .d-ed-share-host { display: none; }
  .d-ed-share-title { display: none; }
  .d-ed-share-desc { display: none; }
  /* the desktop tree of Admin -> SEO */
  .d-seo { display: none; }
  .d-seo-tabs { display: none; }
  .d-seo-tab { display: none; }
  .d-seo-tab[aria-current="page"] { display: none; }
  .d-seo-grid { display: none; }
  .d-seo-col { display: none; }
  .d-seo-score { display: none; }
  .d-seo-score-row { display: none; }
  .d-seo-bands { display: none; }
  .d-seo-band a { display: none; }
  .d-seo-band strong { display: none; }
  .d-seo-band .icon { display: none; }
  .d-seo-band.is-good .icon { display: none; }
  .d-seo-band.is-poor .icon { display: none; }
  .d-seo-issues { display: none; }
  .d-seo-issue { display: none; }
  .d-seo-issue a { display: none; }
  .d-seo-log { display: none; }
  .d-seo-filters { display: none; }
  .d-seo-filters label { display: none; }
  .d-seo-filters select { display: none; }
  .d-seo-filters input { display: none; }
  .d-seo-bulk-form { display: none; }
  .d-seo-bulk-wrap { display: none; }
  .d-seo-bulk { display: none; }
  .d-seo-bulk caption { display: none; }
  .d-seo-bulk th { display: none; }
  .d-seo-bulk td { display: none; }
  .d-seo-field { display: none; }
  .d-seo-field span { display: none; }
  .d-seo-field input { display: none; }
  .d-seo-field textarea { display: none; }
  .d-seo-sticky { display: none; }
  .d-seo-settings { display: none; }
  .d-seo-row { display: none; }
  /* the desktop tree of Admin -> Webhooks */
  .d-wh { display: none; }
  .d-wh-main { display: none; }
  .d-wh-aside { display: none; }
  .d-wh-list { display: none; }
  .d-wh-card { display: none; }
  .d-wh-card.is-open { display: none; }
  .d-wh-head { display: none; }
  .d-wh-title { display: none; }
  .d-wh-title a { display: none; }
  .d-wh-state { display: none; }
  .d-wh-state .icon { display: none; }
  .d-wh-state.is-ok { display: none; }
  .d-wh-state.is-warn { display: none; }
  .d-wh-state.is-off { display: none; }
  .d-wh-url { display: none; }
  .d-wh-events { display: none; }
  .d-wh-event { display: none; }
  .d-wh-event input { display: none; }
  .d-wh-actions { display: none; }
  .d-wh-confirm { display: none; }
  .d-wh-secret { display: none; }
  /* the desktop tree of Admin -> Organisation */
  .d-org { display: none; }
  .d-org-form { display: none; }
  .d-org-grid { display: none; }
  .d-org-field { display: none; }
  .d-org-field label { display: none; }
  .d-org-field input { display: none; }
  .d-org-field select { display: none; }
  .d-org-field textarea { display: none; }
  .d-org-field.is-invalid input { display: none; }
  .d-org-field.is-invalid textarea { display: none; }
  .d-org-rows { display: none; }
  .d-org-row { display: none; }
  .d-org-row.is-new { display: none; }
  .d-org-row-grid { display: none; }
  .d-org-pair { display: none; }
  .d-org-remove { display: none; }
  .d-org-aside { display: none; }
  .d-org-meter { display: none; }
  .d-org-meter-title { display: none; }
  .d-org-meter-count { display: none; }
  .d-org-meter-count meter { display: none; }
  .d-org-checks { display: none; }
  .d-org-check { display: none; }
  .d-org-check .icon { display: none; }
  .d-org-check.is-done { display: none; }
  .d-org-preview { display: none; }
  .d-org-json { display: none; }
  .d-org-test { display: none; }
  .m-set-group:last-child { padding-block-end: 0; border-block-end: 0; }
  .m-set-label { margin: 0; padding: 0; font-weight: 600; }
  .m-set-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-colour { display: flex; align-items: center; gap: var(--space-s); }
  .m-set-form input.m-colour-input { inline-size: calc(var(--tap) * 1.5); block-size: var(--tap); min-block-size: var(--tap); padding: var(--space-2xs); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); cursor: pointer; }
  .m-colour-value { font: 600 var(--step-base)/1 var(--font-mono); }
  .m-range { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .m-set-form input.m-range-input { inline-size: 100%; min-block-size: var(--tap); padding: 0; accent-color: var(--accent); background: none; border: 0; }
  .m-range-value { min-inline-size: calc(var(--space) * 3); font: 600 var(--step-base)/1 var(--font-mono); text-align: end; }
  .m-bars { display: grid; gap: var(--space-s); }
  .m-bar { display: flex; align-items: center; gap: var(--space-s); margin: 0; font-weight: 500; }
  .m-contrast { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-contrast-row { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); font-size: var(--step-small); }
  .m-contrast-row .admin-dot { margin: 0; }
  .m-contrast-ratio { font: 600 var(--step-small)/1 var(--font-mono); }
  .m-contrast-row.is-bad .m-contrast-ratio { color: var(--error); }
  .m-preview { display: grid; justify-items: start; gap: var(--space-s); padding: var(--pv-space, var(--space)); background: var(--surface); border-radius: var(--pv-radius, var(--radius-l)); box-shadow: var(--card-shadow); }
  .m-preview-title { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .m-preview-button { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-m); color: var(--pv-text, var(--accent-text)); font-weight: 700; background: var(--pv-fill, var(--accent)); border-radius: var(--radius-pill); }
  .m-preview-button .icon { inline-size: 1em; block-size: 1em; }
  .m-preview-link { color: var(--pv-ink, var(--accent-ink)); font-weight: 600; text-decoration: underline; }
  .m-preview-chip { padding: var(--space-2xs) var(--space-s); color: var(--pv-ink, var(--accent-ink)); font-size: var(--step-caption); font-weight: 700; background: var(--pv-soft, var(--accent-soft)); border-radius: var(--radius-pill); }
  .m-set-problems { padding: var(--space); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--radius-l); }
  .m-set-problems-title { margin: 0 0 var(--space-xs); font-weight: 700; }
  .m-set-problems ul { margin: 0; padding-inline-start: var(--space); }
  button.m-set-save { min-block-size: var(--row-h); margin: 0; }
  .sd-inline-form { display: inline-flex; margin: 0; }
  .sd-find { display: grid; gap: var(--space-xs); }
  .sd-crumbs { margin: 0; }
  .sd-crumbs-list { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-xs); margin: 0; padding: 0; color: var(--text-2); font-size: var(--step-small); list-style: none; }
  .sd-crumbs-list li + li::before { content: "›"; margin-inline-end: var(--space-xs); color: var(--text-2); }
  .sd-crumbs-list a { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .sd-sub-title { margin: var(--space-s) 0 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-sd-settings { display: contents; }
  .api-scopes { display: grid; gap: var(--space-2xs); }
  .api-select-all { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); margin: 0; font-weight: 700; border-block-end: var(--line) solid var(--border); }
  .api-select { inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space-s); font: inherit; font-size: var(--step-base); color: var(--text); background: var(--surface); border: var(--line) solid var(--field-border); border-radius: var(--radius-s); }
  .api-scope { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); margin: 0; font-weight: 400; }
  .api-secret { border: var(--line) solid var(--accent-line); background: var(--accent-soft); }
  .api-confirm { flex-wrap: wrap; gap: var(--space-2xs); }
  .api-confirm-input { inline-size: 100%; min-block-size: var(--tap); font-family: var(--font-mono); }
  .cron-form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space-xs); }
  .cron-interval { min-block-size: var(--tap); inline-size: auto; max-inline-size: 100%; padding-inline: var(--space-s); font: inherit; font-size: var(--step-base); color: var(--text); background: var(--surface); border: var(--line) solid var(--field-border); border-radius: var(--radius-s); }
  .d-site-contact { display: none; }
  .m-site-contact { display: grid; }
  .sd-action, .sd-inline-form button.sd-action { inline-size: auto; filter: none; display: inline-flex; align-items: center; min-block-size: var(--tap); margin: 0; padding: 0 var(--space); color: var(--accent-ink); font: 600 var(--step-small)/1.2 var(--font-body); white-space: nowrap; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); cursor: pointer; }
  .sd-action:hover, .sd-inline-form button.sd-action:hover { background: var(--surface); border-color: var(--accent-line); }
  .sd-nowrap { white-space: nowrap; }
  .api-prepare { display: grid; gap: var(--space-xs); margin: 0 0 var(--space-s); min-inline-size: 0; }
  .api-prepare .api-select { inline-size: 100%; max-inline-size: 100%; }
  button.api-prepare-button { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-m); font-weight: 700; white-space: normal; text-align: center; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-l); cursor: pointer; }
  .m-curl-list { display: grid; gap: var(--space-2xs); }
  .m-curl { border-block-start: var(--line) solid var(--border); padding-block: var(--space-2xs); }
  .m-curl-summary { display: flex; align-items: center; min-block-size: var(--tap); cursor: pointer; overflow-wrap: anywhere; }
  .d-curl-list { display: none; }
  .d-curl { display: none; }
  .d-curl-summary { display: none; }
  .admin-dot-row { display: inline-flex; align-items: center; gap: var(--space-2xs); }
  .admin-dot-row .admin-dot { margin: 0; }
  .api-ref-path { overflow-wrap: anywhere; }
  .api-ref-need { white-space: normal; overflow-wrap: anywhere; }
  .m-sd-field:last-child { border-block-end: 0; }
  .d-sd-field:last-child { display: none; }
  .m-sd-fields { display: grid; gap: var(--space); }
  .m-sd-field-list { display: grid; margin: 0; padding: 0; list-style: none; }
  .m-sd-field { display: grid; gap: var(--space-xs); padding-block: var(--space-s); border-block-end: var(--line) solid var(--separator); }
  .m-sd-label-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .m-sd-label { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
  .m-sd-kind { color: var(--text-2); background: var(--fill); padding: 0 var(--space-xs); font-size: var(--step-caption); font-weight: 600; border-radius: var(--radius-pill); }
  .m-sd-changed { color: var(--accent-ink); background: var(--accent-soft); padding: 0 var(--space-xs); font-size: var(--step-caption); font-weight: 600; border-radius: var(--radius-pill); }
  .m-sd-control { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-sd-input { inline-size: 100%; min-block-size: var(--tap); font: inherit; overflow-wrap: anywhere; }
  .m-sd-input.is-number { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
  .m-sd-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .m-sd-problem { margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .m-sd-field.is-invalid .m-sd-input { border-color: var(--error); }
  .m-sd-actions { display: grid; gap: var(--space-xs); }
  .m-sd-actions-hint { color: var(--text-2); font-size: var(--step-caption); text-align: center; }
  .d-sd-settings { display: none; }
  .d-sd-fields { display: none; }
  .d-sd-field-list { display: none; }
  .d-sd-field { display: none; }
  .d-sd-label-row { display: none; }
  .d-sd-label { display: none; }
  .d-sd-kind { display: none; }
  .d-sd-changed { display: none; }
  .d-sd-control { display: none; }
  .d-sd-input { display: none; }
  .d-sd-input.is-number { display: none; }
  .d-sd-note { display: none; }
  .d-sd-problem { display: none; }
  .d-sd-field.is-invalid .d-sd-input { display: none; }
  .d-sd-actions { display: none; }
  .d-sd-actions-hint { display: none; }
  button.m-set-reset { min-block-size: var(--tap); margin: 0; color: var(--text); background: var(--fill); }
  /* desktop admin tree: hidden on phones */
  .d-admin-side { display: none; }
  .d-admin-menu { display: none; }
  .d-admin-link { display: none; }
  .d-admin-link:hover { display: none; }
  .d-admin-link[aria-current="page"] { display: none; }
  .d-admin-link[aria-current="page"] strong { display: none; }
  .d-admin-link-text { display: none; }
  .d-admin-link-text span { display: none; }
  .d-admin-badge { display: none; }
  .d-overview { display: none; }
  .d-kpis { display: none; }
  .d-kpi-link { display: none; }
  .d-kpi-link:hover { display: none; }
  .d-kpi-label { display: none; }
  .d-kpi-value { display: none; }
  .d-kpi-hint { display: none; }
  .d-kpi.is-alert .d-kpi-link { display: none; }
  .d-kpi.is-alert .d-kpi-value { display: none; }
  .d-kpi.is-warn .d-kpi-value { display: none; }
  .d-overview-grid { display: none; }
  .d-card-head { display: none; }
  .d-card-more { display: none; }
  .d-card-more .icon { display: none; }
  .d-latest { display: none; }
  .d-latest-row { display: none; }
  .d-latest-row + .d-latest-row { display: none; }
  .d-latest-who { display: none; }
  .d-latest-who span { display: none; }
  .d-latest-topic { display: none; }
  .d-latest-time { display: none; }
  .d-enq { display: none; }
  .d-filters { display: none; }
  .d-filter { display: none; }
  .d-filter:hover { display: none; }
  .d-filter[aria-current="true"] { display: none; }
  .d-filter-count { display: none; }
  .d-enq-list { display: none; }
  .d-enq-item { display: none; }
  .d-enq-row { display: none; }
  .d-enq-ref { display: none; }
  .d-enq-ref strong { display: none; }
  .d-enq-ref span { display: none; }
  .d-enq-who { display: none; }
  .d-enq-who span { display: none; }
  .d-enq-topic { display: none; }
  .d-enq-topic .tile-icon { display: none; }
  .d-enq-message { display: none; }
  .d-enq-summary { display: none; }
  .d-enq-text { display: none; }
  .d-enq-foot { display: none; }
  .d-enq-reply { display: none; }
  .d-enq-reply .icon { display: none; }
  .d-enq-actions { display: none; }
  .d-enq-actions-label { display: none; }
  button.d-enq-status { display: none; }
  button.d-enq-status:hover { display: none; }
  button.d-enq-status[aria-pressed="true"] { display: none; }
  .d-appearance { display: none; }
  .d-design { display: none; }
  .d-design-side { display: none; }
  .d-design-styles { display: none; }
  .d-design-list { display: none; }
  .d-design-item { display: none; }
  .d-design-link { display: none; }
  .d-design-link[aria-current="page"] { display: none; }
  .d-design-actions { display: none; }
  .d-design-confirm { display: none; }
  .d-design-confirm > .d-design-button { display: none; }
  .d-design-confirm-text { display: none; }
  .d-design-action { display: none; }
  .d-design-action .d-design-button, .d-design-duplicate .d-design-button { display: none; }
  .d-design-duplicate { display: none; }
  .d-design-duplicate-row { display: none; }
  .d-design-name { display: none; }
  .d-design-form { display: none; }
  .d-design-group { display: none; }
  .d-design-save { display: none; }
  .d-design-aside { display: none; }
  .d-set-form { display: none; }
  .d-phones { display: none; }
  .d-phone-head { display: none; }
  .d-phone-head span { display: none; }
  .d-phone-list { display: none; }
  .d-phone-row { display: none; }
  .d-phone-row.is-new { display: none; }
  .d-phone-row.is-removed { display: none; }
  .d-phone-field { display: none; }
  .d-phone-field span { display: none; }
  .d-phone-row:first-child .d-phone-field span { display: none; }
  .d-phone-num { display: none; }
  .d-phone-lab { display: none; }
  .d-phone-kind { display: none; }
  .d-phone-field input[type], .d-phone-field select { display: none; }
  .d-phone-field select { display: none; }
  .d-phone-actions { display: none; }
  button.d-phone-up { display: none; }
  .d-phone-up .icon { display: none; }
  .d-phone-remove { display: none; }
  button.d-phone-minus { display: none; }
  .d-phone-minus .icon { display: none; }
  .d-phone-minus .icon.is-restore { display: none; }
  .d-phone-foot { display: none; }
  button.d-phone-add { display: none; }
  .d-phone-add .icon { display: none; }
  .d-phone-status { display: none; }
  .d-phone-row.is-removed .d-phone-field { display: none; }
  .d-phone-row.is-removed .d-phone-minus .icon { display: none; }
  .d-phone-row.is-removed .d-phone-minus .icon.is-restore { display: none; }
  .d-phones.is-enhanced .d-phone-remove { display: none; }
  .d-set-group { display: none; }
  .d-set-label { display: none; }
  .d-set-hint { display: none; }
  .d-colour { display: none; }
  .d-set-form input.d-colour-input { display: none; }
  .d-colour-value { display: none; }
  .d-range { display: none; }
  .d-set-form input.d-range-input { display: none; }
  .d-range-value { display: none; }
  .d-bars { display: none; }
  .d-bar { display: none; }
  .d-set-actions { display: none; }
  button.d-set-save { display: none; }
  button.d-set-reset { display: none; }
  .d-set-aside { display: none; }
  .d-contrast { display: none; }
  .d-contrast-row { display: none; }
  .d-contrast-row .admin-dot { display: none; }
  .d-contrast-ratio { display: none; }
  .d-contrast-row.is-bad .d-contrast-ratio { display: none; }
  .d-preview { display: none; }
  .d-preview-title { display: none; }
  .d-preview-button { display: none; }
  .d-preview-button .icon { display: none; }
  .d-preview-link { display: none; }
  .d-preview-chip { display: none; }
  .d-set-problems { display: none; }
  .d-set-problems-title { display: none; }
  .d-set-problems ul { display: none; }
  /* ---- article page (mobile: m-toc, m-article-end, m-related) - serious editorial, natural colours ---- */
  .article-head { display: grid; gap: calc(var(--space-s) * var(--head-gap)); margin-block: var(--space-xs) var(--space-m); text-align: var(--head-align); }
  .article-eyebrow { display: flex; align-items: center; justify-self: var(--head-align); inline-size: fit-content; gap: calc(var(--space-s) * (1 - var(--eyebrow-pill))); margin: 0; padding: calc(var(--space-2xs) * var(--eyebrow-pill)) calc(var(--space-s) * var(--eyebrow-pill)); color: color-mix(in srgb, var(--accent-ink) calc(var(--eyebrow-pill) * 100%), var(--text-2)); background: color-mix(in srgb, var(--accent-soft) calc(var(--eyebrow-pill) * 100%), transparent); border-radius: var(--radius-pill); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
  .article-eyebrow::before { content: ""; flex: none; inline-size: calc(var(--space-m) * (1 - var(--eyebrow-pill))); block-size: calc(var(--line) * 2); background: var(--accent); }
  .article-title { margin: 0; color: var(--text); font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.015em; overflow-wrap: anywhere; }
  .article-standfirst { margin: 0; padding: calc(var(--space) * var(--standfirst-box)); color: var(--text-2); background: color-mix(in srgb, var(--surface) calc(var(--standfirst-box) * 100%), transparent); border-radius: var(--group-radius); box-shadow: 0 0 0 calc(var(--line) * var(--standfirst-box)) var(--separator); font-size: calc(var(--step-base) * var(--standfirst-scale)); line-height: 1.55; }
  .article-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: var(--head-align); gap: var(--space-2xs) var(--space-xs); margin: 0; padding-block-start: var(--space-s); color: var(--text-2); font-size: var(--step-small); border-block-start: var(--line) solid color-mix(in srgb, var(--border) calc((1 - var(--meta-chips)) * 100%), transparent); }
  .article-meta > span:not(.article-meta-sep) { padding: calc(var(--space-2xs) * var(--meta-chips)) calc(var(--space-s) * var(--meta-chips)); background: color-mix(in srgb, var(--fill) calc(var(--meta-chips) * 100%), transparent); border-radius: var(--radius-pill); }
  .article-meta-sep { color: var(--text-2); opacity: calc(1 - var(--meta-chips)); }
  .article-figure { margin: 0 0 var(--space-m); }
  .article-figure-caption { margin-block-start: var(--ax-flow-tight); color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .article-image { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-l); }
  /* Tall/square photos (App\Content::img adds is-tall): whole product on a plate, never a cropped slice */
  img.is-tall { object-fit: contain; background: var(--surface); }
  /* Logos are never put on a plate: their own transparency shows (header, footer, Appearance preview). */
  img.is-tall.brand-logo-img { background: none; }
  img.is-tall.m-footer-logo-img { background: none; }
  img.is-tall.m-brand-logo-img { background: none; }
  img.is-tall.d-footer-logo-img { display: none; }
  img.is-tall.d-brand-logo-img { display: none; }
  .article-layout { display: grid; }
  .article-body { display: grid; gap: var(--space-m); min-inline-size: 0; }
  .article-prose { color: var(--text); font-size: var(--step-base); line-height: 1.65; }
  .article-prose p { margin-block: 0 var(--space); }
  .article-prose h2 { margin-block: var(--space-l) var(--space-s); padding-block-start: var(--space); font: 700 var(--step-1)/1.25 var(--font-display); letter-spacing: -0.01em; border-block-start: var(--line) solid var(--border); scroll-margin-block-start: var(--contact-sticky); }
  .article-prose h3 { margin-block: var(--space-m) var(--space-xs); font: 600 var(--step-base)/1.3 var(--font-display); }
  .article-prose a { color: var(--accent-ink); text-decoration-thickness: var(--line); text-underline-offset: 0.18em; }
  .article-prose ul, .article-prose ol { padding-inline-start: var(--space-m); }
  .article-prose li::marker { color: var(--text-2); }
  .article-prose blockquote { margin: var(--space-m) 0; padding: var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-toc { overflow: hidden; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .m-toc-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-s); min-block-size: var(--row-h); padding-inline: var(--space); font-weight: 600; cursor: pointer; list-style: none; }
  .m-toc-summary::-webkit-details-marker { display: none; }
  .m-toc-count { min-inline-size: calc(var(--space) * 1.5); padding: var(--space-2xs) var(--space-xs); color: var(--text-2); font-size: var(--step-caption); text-align: center; background: var(--fill); border-radius: var(--radius-pill); }
  .m-toc-chevron { color: var(--text-2); transition: transform var(--dur) var(--ease-spring); }
  .m-toc[open] .m-toc-chevron { transform: rotate(180deg); }
  .m-toc-list { margin: 0; padding-block: var(--space-2xs) var(--space-s); padding-inline: calc(var(--space) * 2) var(--space); border-block-start: var(--line) solid var(--separator); }
  .m-toc-list li { margin: 0; color: var(--text-2); }
  .m-toc-link { display: block; padding-block: var(--space-s); color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
  .m-article-end { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .m-facts { display: grid; margin: 0 0 var(--space-xs); }
  .m-fact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-s); padding-block: var(--space-xs); font-size: var(--step-small); border-block-end: var(--line) solid var(--separator); }
  .m-fact dt { color: var(--text-2); }
  .m-fact dd { margin: 0; color: var(--text); font-weight: 600; text-align: end; }
  .m-article-cta-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-article-cta-text { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-article-cta-link { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--row-h); color: var(--bg); font-weight: 700; text-decoration: none; background: var(--text); border-radius: var(--radius-pill); }
  .m-article-cta-link .icon { inline-size: 1em; block-size: 1em; }
  .m-article-tags { display: grid; gap: var(--space-xs); margin-block: var(--space-m); }
  .m-article-tags-title { margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-article-tags-list { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-article-tag { display: inline-flex; align-items: center; min-block-size: var(--row-h); max-inline-size: 100%; padding-inline: var(--space-s); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .d-article-tags { display: none; }
  .d-article-tags-title { display: none; }
  .d-article-tags-list { display: none; }
  .d-article-tag { display: none; }
  .related { display: grid; gap: var(--space); margin-block: var(--space-l); padding-block-start: var(--space-m); border-block-start: var(--line) solid var(--border); }
  .related-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-s); }
  .related-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .related-all { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .related-all .icon { inline-size: 1em; block-size: 1em; }
  .m-related { display: grid; overflow: hidden; margin: 0; padding: 0; list-style: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .m-related-row { position: relative; display: grid; grid-template-columns: var(--thumb) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius); transition: background var(--dur-fast); }
  .m-related-row:active { background: var(--glass-selected); }
  .m-related-row:not(:has(.m-related-image)) { grid-template-columns: minmax(0, 1fr) auto; }
  .m-related-row + .m-related-row { border-block-start: var(--line) solid var(--separator); }
  .m-related-image { display: block; inline-size: var(--thumb); block-size: var(--thumb); object-fit: cover; border-radius: var(--radius-s); }
  .m-related-body { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-related-section { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--step-caption); font-weight: 700; letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); }
  .m-related-title { margin: 0; font: 600 var(--step-small)/1.35 var(--font-body); overflow-wrap: anywhere; }
  /* desktop article parts: hidden on phones */
  .d-article-aside { display: none; }
  .d-toc { display: none; }
  .d-toc-title { display: none; }
  .d-toc-list { display: none; }
  .d-toc-link { display: none; }
  .d-toc-link:hover { display: none; }
  .d-facts { display: none; }
  .d-fact { display: none; }
  .d-fact + .d-fact { display: none; }
  .d-fact dt { display: none; }
  .d-fact dd { display: none; }
  .d-article-cta { display: none; }
  .d-article-cta-title { display: none; }
  .d-article-cta-text { display: none; }
  .d-article-cta-link { display: none; }
  .d-article-cta-link .icon { display: none; }
  .d-related { display: none; }
  .d-related-card { display: none; }
  .d-related-card:hover { display: none; }
  .d-related-card:has(.card-link:focus-visible) { display: none; }
  .d-related-image { display: none; }
  .d-related-body { display: none; }
  .d-related-section { display: none; }
  .d-related-title { display: none; }
  /* ---- insights list (mobile: m-insights) ---- */
  .insights-head { display: grid; gap: var(--space-xs); margin-block: var(--space-xs) var(--space-m); padding-block-end: var(--space); border-block-end: var(--line) solid var(--border); }
  .insights-title { margin: 0; font: 700 var(--step-3)/1.1 var(--font-display); letter-spacing: -0.015em; }
  .insights-lead { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .m-insights { display: grid; gap: var(--space); margin-block-end: var(--space-l); }
  .m-lead { position: relative; display: grid; overflow: hidden; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .m-lead-image { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; }
  .m-lead-body { display: grid; gap: var(--space-xs); padding: var(--space); }
  .m-lead-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); overflow-wrap: anywhere; }
  .m-lead-text { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .m-card-section { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--step-caption); font-weight: 700; letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); }
  .m-card-meta { display: flex; align-items: center; gap: var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-go { display: flex; align-items: center; justify-content: flex-end; margin-inline-start: auto; color: var(--text-2); }
  .m-go-icon { inline-size: var(--go-size); block-size: var(--go-size); stroke-width: var(--go-stroke); transition: transform var(--dur) var(--ease-spring), color var(--dur-fast); }
  .d-go { display: none; }
  .d-go-icon { display: none; }
  .m-lead:active { background: var(--glass-selected); }
  .m-rows { display: grid; overflow: hidden; margin: 0; padding: 0; list-style: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .m-row { position: relative; display: grid; grid-template-columns: var(--thumb) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius); transition: background var(--dur-fast); }
  .m-row:active { background: var(--glass-selected); }
  .m-row:not(:has(.m-row-image)) { grid-template-columns: minmax(0, 1fr) auto; }
  .m-row + .m-row { border-block-start: var(--line) solid var(--separator); }
  .m-row-image { display: block; inline-size: var(--thumb); block-size: var(--thumb); object-fit: cover; border-radius: var(--radius-s); }
  .m-row-body { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-row-title { margin: 0; font: 600 var(--step-small)/1.35 var(--font-body); overflow-wrap: anywhere; }
  /* desktop insights tree: hidden on phones */
  .d-insights { display: none; }
  .d-lead { display: none; }
  .d-lead:not(:has(.d-lead-image)) { display: none; }
  .d-lead:hover { display: none; }
  .d-lead:has(.card-link:focus-visible) { display: none; }
  .d-lead-image { display: none; }
  .d-lead-body { display: none; }
  .d-lead-title { display: none; }
  .d-lead-text { display: none; }
  .d-card-section { display: none; }
  .d-card-meta { display: none; }
  .d-cards { display: none; }
  .d-card { display: none; }
  .d-card:hover { display: none; }
  .d-card:has(.card-link:focus-visible) { display: none; }
  .d-card-image { display: none; }
  .d-card-body { display: none; }
  .d-card-title { display: none; }
  .d-card-text { display: none; }
  /* ---- inside articles (mobile): lists, Q&A, spec tables - neutral, hairlines, no colour blocks ---- */
  .article-prose > p:first-of-type { color: var(--text); font-size: calc(var(--step-base) * 1.0625); line-height: 1.6; }
  .article-prose strong { color: var(--text); font-weight: 650; }
  .article-prose em { color: var(--text-2); }
  .article-prose ul { display: grid; margin: 0 0 var(--space-m); padding: 0; list-style: none; border-block: var(--line) solid var(--border); }
  .article-prose ul > li { position: relative; margin: 0; padding-block: var(--space-s); padding-inline: var(--space-m) 0; line-height: 1.55; }
  .article-prose ul > li + li { border-block-start: var(--line) solid var(--separator); }
  .article-prose ul > li::before { content: ""; position: absolute; inset-inline-start: var(--space-2xs); inset-block-start: calc(var(--space-s) + 0.55em); inline-size: calc(var(--space-xs) * 1.25); block-size: calc(var(--space-xs) * 1.25); background: var(--text-2); }
  .article-prose h3 + p { padding-inline-start: var(--space); border-inline-start: calc(var(--line) * 2) solid var(--border); }
  .article-prose .m-spec { margin-block: var(--space-s) var(--space-m); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); box-shadow: none; }
  .article-prose .m-spec-row dt { font-size: var(--step-tiny); letter-spacing: 0.05em; text-transform: uppercase; }
  .article-prose .d-table-wrap { display: none; }
  .article-prose .d-spec-table th[scope="row"] { display: none; }

  /* ---- Article editor + article components (Rule 23) ---- */
  .m-ed-insert, .m-ed-linkdlg { inline-size: 100%; max-inline-size: 100%; max-block-size: 85%; margin: auto 0 0; padding: var(--space); color: var(--text); background: var(--bg); border: 0; border-radius: var(--radius-xl) var(--radius-xl) 0 0; box-shadow: var(--card-shadow); overflow-y: auto; }
  .m-ed-insert::backdrop, .m-ed-linkdlg::backdrop { background: var(--backdrop); }
  .m-ed-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space); margin-block-end: var(--space-s); }
  .m-ed-dialog-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-ed-insert-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); margin: var(--space-s) 0 0; padding: 0; list-style: none; }
  .m-ed-insert-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .m-ed-insert-item:hover, .m-ed-insert-item:focus-visible { border-color: var(--accent-line); background: var(--accent-50); }
  .m-ed-insert-item .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .m-ed-link-list { display: grid; gap: var(--space-2xs); margin: var(--space-xs) 0; padding: 0; list-style: none; max-block-size: calc(var(--space) * 14); overflow-y: auto; }
  .m-ed-link-pick { display: grid; gap: var(--space-2xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .m-ed-link-pick:hover, .m-ed-link-pick:focus-visible { border-color: var(--accent-line); }
  .m-ed-link-pick strong { font-size: var(--step-small); line-height: 1.3; overflow-wrap: anywhere; }
  .m-ed-link-pick span { color: var(--text-2); font: var(--step-caption)/1.3 var(--font-mono); overflow-wrap: anywhere; }
  .m-ed-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-xs); margin-block-start: var(--space-s); }
  .m-ed-dialog-actions button.m-ed-primary { inline-size: auto; padding-inline: var(--space-m); }
  .m-ed-toast { position: fixed; z-index: 60; inset-inline: var(--space-s); inset-block-end: calc(var(--island-h) + var(--tap) + var(--space-l) + env(safe-area-inset-bottom, 0rem)); display: flex; align-items: center; justify-content: space-between; gap: var(--space); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); color: var(--bg); font-size: var(--step-small); background: var(--text); border-radius: var(--radius-pill); box-shadow: var(--card-shadow); }
  button.m-ed-toast-undo { display: inline-flex; align-items: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-ed-draft { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); padding: var(--space-s) var(--space); color: var(--info); background: var(--info-bg); border-radius: var(--radius-l); }
  .m-ed-draft-text { flex: 1 1 calc(var(--space) * 14); margin: 0; font-size: var(--step-small); font-weight: 600; }
  .m-ed-draft button.m-ed-primary, .m-ed-draft button.m-ed-ghost { inline-size: auto; flex: 0 0 auto; }
  .m-ed-stats { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 600; font-variant-numeric: tabular-nums; }
  .m-ed-checks { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-ed-check-row { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); align-items: start; gap: var(--space-xs); font-size: var(--step-caption); line-height: 1.4; }
  .m-ed-check-dot { inline-size: var(--dot); block-size: var(--dot); margin-block-start: calc(var(--space-xs) * 1.2); border-radius: 50%; background: var(--ok); }
  .m-ed-check-row.is-warn .m-ed-check-dot { background: var(--accent-ink); }
  .m-ed-check-row.is-bad .m-ed-check-dot { background: var(--error); }
  .m-ed-check-row.is-bad { color: var(--error); }
  .m-ed-outline { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-ed-outline-item.is-h3 { padding-inline-start: var(--space); }
  .m-ed-outline-item.is-h4 { padding-inline-start: var(--space-l); }
  .m-ed-outline-link { display: block; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-2xs) var(--space-xs); font: inherit; font-size: var(--step-small); color: var(--text); text-align: start; background: none; border: 0; border-inline-start: calc(var(--line) * 2) solid var(--border); cursor: pointer; overflow-wrap: anywhere; }
  .m-ed-outline-link:hover, .m-ed-outline-link:focus-visible { color: var(--accent-ink); border-inline-start-color: var(--accent-ink); }
  .m-ed-outline-empty { color: var(--text-2); font-size: var(--step-caption); }
  .m-ed-serp { display: grid; gap: var(--space-2xs); padding: var(--space-s) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); overflow-wrap: anywhere; }
  .m-ed-serp-site { display: grid; margin: 0; line-height: 1.3; }
  .m-ed-serp-name { font-size: var(--step-small); font-weight: 600; }
  .m-ed-serp-url { color: var(--text-2); font-size: var(--step-caption); }
  .m-ed-serp-title { margin: 0; color: var(--info); font-size: var(--step-1); line-height: 1.3; }
  .m-ed-serp-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .d-ed-insert, .d-ed-linkdlg, .d-ed-keys { display: none; }
  .d-ed-insert::backdrop, .d-ed-linkdlg::backdrop, .d-ed-keys::backdrop { display: none; }
  .d-ed-dialog-head { display: none; }
  .d-ed-dialog-title { display: none; }
  .d-ed-insert-list { display: none; }
  .d-ed-insert-item { display: none; }
  .d-ed-insert-item:hover, .d-ed-insert-item:focus-visible { display: none; }
  .d-ed-insert-item .icon { display: none; }
  .d-ed-link-list { display: none; }
  .d-ed-link-pick { display: none; }
  .d-ed-link-pick:hover, .d-ed-link-pick:focus-visible { display: none; }
  .d-ed-link-pick strong { display: none; }
  .d-ed-link-pick span { display: none; }
  .d-ed-dialog-actions { display: none; }
  .d-ed-dialog-actions button.d-ed-primary { display: none; }
  .d-ed-keys-list { display: none; }
  .d-ed-keys-row { display: none; }
  .d-ed-keys-row dt, .d-ed-keys-row dd { display: none; }
  .d-ed-keys-row kbd { display: none; }
  button.d-ed-keys-open { display: none; }
  .d-ed-toast { display: none; }
  button.d-ed-toast-undo { display: none; }
  .d-ed-draft { display: none; }
  .d-ed-draft-text { display: none; }
  .d-ed-draft button.d-ed-primary, .d-ed-draft button.d-ed-ghost { display: none; }
  .d-ed-stats { display: none; }
  .d-ed-checks { display: none; }
  .d-ed-check-row { display: none; }
  .d-ed-check-dot { display: none; }
  .d-ed-check-row.is-warn .d-ed-check-dot { display: none; }
  .d-ed-check-row.is-bad .d-ed-check-dot { display: none; }
  .d-ed-check-row.is-bad { display: none; }
  .d-ed-outline { display: none; }
  .d-ed-outline-item.is-h3 { display: none; }
  .d-ed-outline-item.is-h4 { display: none; }
  .d-ed-outline-link { display: none; }
  .d-ed-outline-link:hover, .d-ed-outline-link:focus-visible { display: none; }
  .d-ed-outline-empty { display: none; }
  .d-ed-serp { display: none; }
  .d-ed-serp-site { display: none; }
  .d-ed-serp-name { display: none; }
  .d-ed-serp-url { display: none; }
  .d-ed-serp-title { display: none; }
  .d-ed-serp-desc { display: none; }
  .m-text-status { display: block; inline-size: 100%; color: var(--ok); font-size: var(--step-small); font-weight: 600; }
  .m-text-status[data-state="busy"] { color: var(--text-2); }
  .m-text-status[data-state="bad"] { color: var(--error); }
  .m-text-status:empty { display: none; }
  .m-text-actions { display: flex; gap: var(--space-xs); inline-size: 100%; }
  button.m-text-cancel { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 600; color: var(--text); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); cursor: pointer; }
  .d-text-actions { display: none; }
  button.d-text-cancel { display: none; }
  .d-text-status { display: none; }
  .d-text-status[data-state="busy"] { display: none; }
  .d-text-status[data-state="bad"] { display: none; }
  .d-text-status:empty { display: none; }
  .texts-hit { padding: 0 var(--space-2xs); color: inherit; background: var(--accent-100); border-radius: var(--radius-s); }
  .texts-clear { display: inline-flex; align-items: center; min-block-size: var(--tap); color: var(--accent-ink); font-size: var(--step-small); font-weight: 700; }
  .m-texts { display: grid; gap: var(--space-s); }
  .m-texts-stats { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-texts-pick { display: grid; gap: var(--space-2xs); margin: 0; }
  .m-texts-pick-label { margin: 0; font-size: var(--step-small); font-weight: 600; }
  .m-texts-group { inline-size: 100%; min-block-size: var(--tap); padding: var(--space-xs) var(--space-s); font: inherit; font-weight: 600; color: var(--text); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  button.m-texts-open { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  .m-texts-head { display: grid; gap: var(--space-2xs); padding-block-start: var(--space-xs); }
  .m-texts-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs); margin: 0; }
  .m-texts-q { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: 1em; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  button.m-texts-go { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  .m-texts-filter { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .m-texts-filter[aria-current="true"] { color: var(--accent-ink); background: var(--accent-soft); border-color: var(--accent-line); }
  .m-texts-filter-count { min-inline-size: calc(var(--space) * 1.5); padding: 0 var(--space-xs); color: var(--text-2); font-size: var(--step-caption); text-align: center; background: var(--fill); border-radius: var(--radius-pill); }
  .m-texts-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); overflow-wrap: anywhere; }
  .m-texts-sub { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .m-texts-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-text { display: grid; gap: var(--space-xs); padding: var(--space); background: var(--surface); border: var(--line) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); scroll-margin-block-start: var(--contact-sticky); }
  .m-text:target { border-color: var(--accent-line); }
  .m-text.is-invalid { border-color: var(--error); }
  .m-text-form { display: grid; gap: var(--space-xs); margin: 0; }
  .m-text-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); }
  .m-text-label { margin: 0; margin-inline-end: auto; font-size: var(--step-base); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  .m-text-badge { display: inline-flex; align-items: center; min-block-size: calc(var(--space) * 1.4); padding-inline: var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; background: var(--fill); border-radius: var(--radius-pill); }
  .m-text-badge.is-seo { color: var(--info); background: var(--info-bg); }
  .m-text-badge.is-locked { color: var(--text-2); background: var(--fill); }
  .m-text-badge.is-edited { color: var(--ok); background: var(--ok-bg); }
  .m-text-key { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  .m-text-key code { color: var(--text-2); font: var(--step-caption)/1.3 var(--font-mono); overflow-wrap: anywhere; }
  button.m-text-copy { display: inline-flex; align-items: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-xs); font-size: var(--step-caption); font-weight: 600; color: var(--accent-ink); background: none; border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-text-value { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: 1em; line-height: 1.5; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); resize: vertical; overflow-wrap: anywhere; }
  .m-text-value:focus-visible { border-color: var(--accent-line); }
  .m-text-value:invalid { border-color: var(--error); }
  .m-text-value[readonly] { color: var(--text-2); background: var(--fill); }
  .m-text-problem { margin: 0; padding: var(--space-2xs) var(--space-xs); color: var(--error); font-size: var(--step-caption); background: var(--error-bg); border-radius: var(--radius-s); }
  .m-text-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); }
  .m-text-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-text-count { font-variant-numeric: tabular-nums; font-weight: 600; }
  .m-text-count[data-state="ok"] { color: var(--ok); }
  .m-text-count[data-state="bad"] { color: var(--error); }
  .m-text-keep code { padding: 0 var(--space-2xs); color: var(--accent-ink); font-family: var(--font-mono); background: var(--accent-50); border-radius: var(--radius-s); }
  .m-text-locked { font-style: italic; }
  button.m-text-save { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-size: var(--step-small); font-weight: 700; color: var(--text-2); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  button.m-text-save.is-changed { color: var(--accent-text); background: var(--accent); }
  .m-text-history { padding-block-start: var(--space-2xs); border-block-start: var(--line) solid var(--separator); }
  .m-text-history-summary { display: flex; align-items: center; min-block-size: var(--tap); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; cursor: pointer; }
  .m-text-history-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-text-change { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: var(--space-2xs) var(--space-s); padding: var(--space-xs) var(--space-s); background: var(--bg); border-radius: var(--radius-s); }
  .m-text-change-when { grid-column: 1; color: var(--text-2); font-size: var(--step-caption); }
  .m-text-change-old { grid-column: 1; color: var(--text-2); font-size: var(--step-small); text-decoration: line-through; text-decoration-color: var(--separator); overflow-wrap: anywhere; }
  .m-text-change-new { grid-column: 1; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-text-change-tag { font-weight: 700; text-decoration: none; display: inline-block; }
  .m-text-restore { margin: 0; }
  button.m-text-restore-button { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-size: var(--step-caption); font-weight: 700; color: var(--text); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .d-texts { display: none; }
  .d-texts-side { display: none; }
  .d-texts-group-list { display: none; }
  .d-texts-group { display: none; }
  .d-texts-group .tile-icon { display: none; }
  .d-texts-group:hover { display: none; }
  .d-texts-group[aria-current="page"] { display: none; }
  .d-texts-group-name { display: none; }
  .d-texts-count { display: none; }
  .d-texts-main { display: none; }
  .d-texts-stats { display: none; }
  .d-texts-stat { display: none; }
  .d-texts-stat dt { display: none; }
  .d-texts-stat dd { display: none; }
  .d-texts-head { display: none; }
  .d-texts-head-icon { display: none; }
  .d-texts-head-text { display: none; }
  .d-texts-search { display: none; }
  .d-texts-q { display: none; }
  button.d-texts-go { display: none; }
  .d-texts-filter { display: none; }
  .d-texts-filter[aria-current="true"] { display: none; }
  .d-texts-filter-count { display: none; }
  .d-texts-title { display: none; }
  .d-texts-sub { display: none; }
  .d-texts-list { display: none; }
  .d-text { display: none; }
  .d-text:target { display: none; }
  .d-text.is-invalid { display: none; }
  .d-text-form { display: none; }
  .d-text-head { display: none; }
  .d-text-label { display: none; }
  .d-text-badge { display: none; }
  .d-text-badge.is-seo { display: none; }
  .d-text-badge.is-locked { display: none; }
  .d-text-badge.is-edited { display: none; }
  .d-text-key { display: none; }
  .d-text-key code { display: none; }
  button.d-text-copy { display: none; }
  .d-text-value { display: none; }
  .d-text-value:focus-visible { display: none; }
  .d-text-value:invalid { display: none; }
  .d-text-value[readonly] { display: none; }
  .d-text-problem { display: none; }
  .d-text-foot { display: none; }
  .d-text-meta { display: none; }
  .d-text-count { display: none; }
  .d-text-count[data-state="ok"] { display: none; }
  .d-text-count[data-state="bad"] { display: none; }
  .d-text-keep code { display: none; }
  .d-text-locked { display: none; }
  button.d-text-save { display: none; }
  button.d-text-save.is-changed { display: none; }
  .d-text-history { display: none; }
  .d-text-history-summary { display: none; }
  .d-text-history-list { display: none; }
  .d-text-change { display: none; }
  .d-text-change-when { display: none; }
  .d-text-change-old { display: none; }
  .d-text-change-new { display: none; }
  .d-text-change-tag { display: none; }
  .d-text-restore { display: none; }
  button.d-text-restore-button { display: none; }
  .m-font-select { inline-size: 100%; min-block-size: var(--tap); margin: 0 0 var(--space-2xs); padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .m-font-sample { margin: 0 0 var(--space-s); padding: var(--space-xs) var(--space-s); font-size: var(--step-base); line-height: 1.3; background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .d-font-select { display: none; }
  .d-font-sample { display: none; }
  .preset-swatch { display: block; inline-size: calc(var(--tap) * 0.9); block-size: auto; flex: none; }
  .m-presets { display: grid; gap: var(--space-s); }
  .m-brand { display: grid; gap: var(--space-s); }
  .m-brand-now { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-brand-label { font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .m-brand-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; block-size: var(--brand-preview-h); inline-size: fit-content; min-inline-size: 0; max-inline-size: calc(var(--brand-preview-h) * var(--logo-wide)); overflow: clip; flex: none; }
  .m-brand-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .m-brand-mark { display: grid; place-items: center; min-inline-size: var(--tap); block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--mark-bg); color: var(--bg); font: 800 var(--step-small)/1 var(--font-display); letter-spacing: 0.06em; }
  .m-brand-form { display: grid; gap: var(--space-xs); margin: 0; }
  .m-brand-input { min-block-size: var(--field-h); padding-inline: var(--space-s); border-radius: var(--radius); border: var(--line) solid var(--field-border); background: var(--field-bg); color: var(--text); font: inherit; min-inline-size: 0; inline-size: 100%; }
  .m-brand-help { margin: 0 0 var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .m-brand-save { justify-self: stretch; min-block-size: var(--tap); padding-inline: var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; }

  /* Media picker (App\MediaPicker, 2026-10-05) + logo card parts: DESIGN-SYSTEM §11n */
  .m-brand-part { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-brand-form:has(input[name="brand_mark"][value="text"]:checked) .m-brand-part.is-logo { display: none; }
  .m-brand-form:has(input[name="brand_mark"][value="logo"]:checked) .m-brand-part.is-text { display: none; }
  .m-mp { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-mp-label { margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-mp-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-mp-current { display: grid; align-items: center; gap: var(--space-xs) var(--space-s); min-inline-size: 0; padding: var(--space-xs); border: var(--line) solid var(--separator); border-radius: var(--radius-l); background: var(--surface); grid-template-columns: var(--mp-current) minmax(0, 1fr); }
  .m-mp-current .m-mp-frame { inline-size: var(--mp-current); block-size: var(--mp-current); }
  .m-mp-current-text { display: grid; gap: 0; min-inline-size: 0; overflow-wrap: anywhere; }
  .m-mp-current-text strong { font-size: var(--step-small); line-height: 1.3; }
  .m-mp-current-text span { color: var(--text-2); font-size: var(--step-tiny); }
  button.m-mp-open { margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; grid-column: 1 / -1; min-block-size: var(--tap); }
  button.m-mp-open:hover { background: var(--fill); }
  .m-mp-frame { position: relative; display: grid; place-items: center; overflow: clip; border-radius: var(--radius); background: var(--fill); }
  .m-mp-frame.is-empty { color: var(--text-2); }
  .m-mp-frame .icon { inline-size: 40%; block-size: 40%; }
  .m-mp-img { position: absolute; inset: 0; display: block; max-inline-size: 100%; max-block-size: 100%; margin: auto; object-fit: contain; }
  img.m-mp-img { inline-size: 100%; block-size: 100%; }
  .m-mp-dialog { grid-template-rows: auto auto auto minmax(0, 1fr) auto; gap: var(--space-xs); margin: auto; padding: var(--space-s) var(--space); border: 0; background: var(--bg); color: var(--text); box-shadow: var(--card-shadow); overflow: hidden; inline-size: 100%; block-size: 100%; max-inline-size: 100%; max-block-size: 100%; padding-block: calc(env(safe-area-inset-top, 0rem) + var(--space-s)) calc(env(safe-area-inset-bottom, 0rem) + var(--space-s)); border-radius: 0; }
  .m-mp-dialog[open] { display: grid; }
  .m-mp-dialog::backdrop { background: var(--backdrop); }
  .m-mp-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-inline-size: 0; }
  .m-mp-title { margin: 0; font-size: var(--step-1); line-height: 1.25; overflow-wrap: anywhere; }
  button.m-mp-close { display: grid; place-items: center; flex: none; inline-size: var(--tap); block-size: var(--tap); margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--fill); color: var(--text); cursor: pointer; }
  button.m-mp-close .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-mp-tools { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-mp-search { min-inline-size: 0; min-block-size: var(--field-h); padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius-pill); background: var(--field-bg); color: var(--text); font: inherit; }
  .m-mp-chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  button.m-mp-chip { margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; min-block-size: var(--tap); }
  button.m-mp-chip[aria-pressed="true"] { border-color: var(--text); background: var(--text); color: var(--bg); }
  .m-mp-count { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-mp-body { display: grid; align-content: start; gap: var(--space-s); min-block-size: 0; overflow-y: auto; overscroll-behavior: contain; }
  .m-mp-set { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-mp-grid { display: grid; gap: var(--space-xs); margin: 0; padding: var(--space-2xs); list-style: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .m-mp-cell { min-inline-size: 0; }
  .m-mp-tile { position: relative; display: grid; grid-template-rows: auto auto auto; gap: var(--space-2xs); min-inline-size: 0; padding: var(--space-2xs); border-radius: var(--radius); cursor: pointer; }
  .m-mp-tile:hover { background: var(--fill); }
  .m-mp-tile .m-mp-frame { aspect-ratio: 1; inline-size: 100%; }
  .m-mp-radio { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .m-mp-tile:has(.m-mp-radio:checked) { background: var(--accent-soft); outline: calc(var(--line) * 2) solid var(--accent); }
  .m-mp-tile:has(.m-mp-radio:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--line); }
  .m-mp-name { display: -webkit-box; block-size: 2.5em; overflow: hidden; font-size: var(--step-tiny); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .m-mp-meta { overflow: hidden; color: var(--text-2); font-size: var(--step-tiny); font-weight: 400; white-space: nowrap; text-overflow: ellipsis; }
  .m-mp-badge { position: absolute; inset-block-start: calc(var(--space-2xs) * 2); inset-inline-start: calc(var(--space-2xs) * 2); padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-tiny); font-weight: 700; box-shadow: var(--card-shadow); pointer-events: none; }
  button.m-mp-more { justify-self: center; margin: 0; padding: 0 var(--space-m); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; min-block-size: var(--tap); }
  .m-mp-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); padding-block-start: var(--space-xs); border-block-start: var(--line) solid var(--separator); }
  .m-mp-foot-hint { flex: 1 1 0; min-inline-size: 0; margin: 0; color: var(--text-2); font-size: var(--step-tiny); }
  button.m-mp-use { margin: 0; padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; flex: 1 1 100%; min-block-size: var(--tap); }
  .d-brand-part { display: none; }
  .d-brand-form:has(input[name="brand_mark"][value="text"]:checked) .d-brand-part.is-logo { display: none; }
  .d-brand-form:has(input[name="brand_mark"][value="logo"]:checked) .d-brand-part.is-text { display: none; }
  .d-mp { display: none; }
  .d-mp-label { display: none; }
  .d-mp-hint { display: none; }
  .d-mp-current { display: none; }
  .d-mp-current .d-mp-frame { display: none; }
  .d-mp-current-text { display: none; }
  .d-mp-current-text strong { display: none; }
  .d-mp-current-text span { display: none; }
  button.d-mp-open { display: none; }
  button.d-mp-open:hover { display: none; }
  .d-mp-frame { display: none; }
  .d-mp-frame.is-empty { display: none; }
  .d-mp-frame .icon { display: none; }
  .d-mp-img { display: none; }
  img.d-mp-img { display: none; }
  .d-mp-dialog { display: none; }
  .d-mp-dialog[open] { display: none; }
  .d-mp-dialog::backdrop { display: none; }
  .d-mp-head { display: none; }
  .d-mp-title { display: none; }
  button.d-mp-close { display: none; }
  button.d-mp-close .icon { display: none; }
  .d-mp-tools { display: none; }
  .d-mp-search { display: none; }
  .d-mp-chips { display: none; }
  button.d-mp-chip { display: none; }
  button.d-mp-chip[aria-pressed="true"] { display: none; }
  .d-mp-count { display: none; }
  .d-mp-body { display: none; }
  .d-mp-set { display: none; }
  .d-mp-grid { display: none; }
  .d-mp-cell { display: none; }
  .d-mp-tile { display: none; }
  .d-mp-tile:hover { display: none; }
  .d-mp-tile .d-mp-frame { display: none; }
  .d-mp-radio { display: none; }
  .d-mp-tile:has(.d-mp-radio:checked) { display: none; }
  .d-mp-tile:has(.d-mp-radio:focus-visible) { display: none; }
  .d-mp-name { display: none; }
  .d-mp-meta { display: none; }
  .d-mp-badge { display: none; }
  button.d-mp-more { display: none; }
  .d-mp-foot { display: none; }
  .d-mp-foot-hint { display: none; }
  button.d-mp-use { display: none; }
  .m-preset-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-preset-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs); }
  .m-preset-form, .m-preset-delete, .m-preset-save { margin: 0; }
  button.m-preset { display: flex; align-items: center; gap: var(--space-s); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  button.m-preset:hover { border-color: var(--accent-line); }
  button.m-preset[aria-current="true"] { border-color: var(--accent-ink); box-shadow: 0 0 0 var(--line) var(--accent-ink); }
  .m-preset-text { display: grid; flex: 1 1 auto; min-inline-size: 0; }
  .m-preset-text strong { font-size: var(--step-small); }
  .m-preset-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; overflow-wrap: anywhere; }
  .m-preset-on { flex: none; padding: var(--space-2xs) var(--space-xs); font-size: var(--step-caption); font-weight: 700; color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); }
  button.m-preset-remove { inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-s); font-size: var(--step-caption); font-weight: 600; color: var(--error); background: none; border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-preset-save-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); margin-block-start: var(--space-2xs); }
  .m-preset-name { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  button.m-preset-save-button { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  .d-presets { display: none; }
  .d-brand { display: none; }
  .d-brand-now { display: none; }
  .d-brand-label { display: none; }
  .d-brand-logo { display: none; }
  .d-brand-logo-img { display: none; }
  .d-brand-mark { display: none; }
  .d-brand-form { display: none; }
  .d-brand-input { display: none; }
  .d-brand-help { display: none; }
  .d-brand-save { display: none; }
  .d-preset-list { display: none; }
  .d-preset-item { display: none; }
  .d-preset-form, .d-preset-delete, .d-preset-save { display: none; }
  button.d-preset { display: none; }
  button.d-preset:hover { display: none; }
  button.d-preset[aria-current="true"] { display: none; }
  .d-preset-text { display: none; }
  .d-preset-text strong { display: none; }
  .d-preset-text span { display: none; }
  .d-preset-on { display: none; }
  button.d-preset-remove { display: none; }
  .d-preset-save-row { display: none; }
  .d-preset-name { display: none; }
  button.d-preset-save-button { display: none; }
  .mfa { display: grid; gap: var(--space); max-inline-size: var(--content-max); margin: var(--space) auto var(--space-l); }
  .mfa-head { display: grid; gap: var(--space-xs); }
  .mfa-title { margin: 0; font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.01em; }
  .mfa-lead { margin: 0; color: var(--text-2); }
  .qr { display: block; inline-size: 100%; block-size: auto; }
  .qr .qr-plate { fill: var(--qr-plate); }
  .qr .qr-ink { fill: var(--qr-ink); }
  .m-mfa { display: grid; gap: var(--space); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-mfa-open { display: flex; align-items: center; justify-content: center; min-block-size: var(--tap); margin-block: var(--space-2xs); font-weight: 700; color: var(--accent-text); text-decoration: none; background: var(--accent); border-radius: var(--radius-pill); }
  /* Setup key: last resort, closed by default (mfa_setup.php) */
  .m-mfa-manual { padding: var(--space-s) var(--space); background: var(--fill); border-radius: var(--radius); }
  .m-mfa-manual-summary { min-block-size: var(--tap); display: flex; align-items: center; color: var(--text-2); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .m-mfa-manual-hint { margin-block: var(--space-2xs) var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .d-mfa-open { display: none; }
  .d-mfa-manual { display: none; }
  .d-mfa-manual-summary { display: none; }
  .d-mfa-manual-hint { display: none; }
  .m-mfa-other { margin-block-start: var(--space-xs); padding: var(--space-s) var(--space); background: var(--fill); border-radius: var(--radius); }
  .m-mfa-other-summary { min-block-size: var(--tap); display: flex; align-items: center; font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .m-mfa-qr-plate { inline-size: var(--qr-size-m); margin: var(--space-s) auto 0; padding: var(--space-xs); background: var(--qr-plate); border-radius: var(--radius-l); }
  .m-mfa-list { display: grid; gap: var(--space); margin: 0; padding: 0; list-style: none; counter-reset: mfa; }
  .m-mfa-step { position: relative; display: grid; gap: var(--space-2xs); padding-inline-start: calc(var(--tile) + var(--space-s)); counter-increment: mfa; }
  .m-mfa-step::before { content: counter(mfa); position: absolute; inset-inline-start: 0; inset-block-start: 0; display: grid; place-items: center; inline-size: var(--tile); block-size: var(--tile); font-weight: 700; color: var(--accent-text); background: var(--accent); border-radius: 50%; }
  .m-mfa-step > span { color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .m-mfa-key { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs) var(--space-s); inline-size: 100%; padding: var(--space-s) var(--space); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-mfa-key-label { grid-column: 1 / -1; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
  .m-mfa-key-value { font: 600 var(--step-base)/1.4 var(--font-mono); letter-spacing: 0.06em; overflow-wrap: anywhere; user-select: all; }
  button.m-mfa-copy { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-mfa-meta { grid-column: 1 / -1; color: var(--text-2); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .m-mfa-form { display: grid; gap: var(--space-xs); margin: 0; }
  .m-mfa-label { margin: 0; font-size: var(--step-small); font-weight: 600; }
  .m-mfa-code { inline-size: 100%; min-block-size: calc(var(--tap) * 1.2); padding: var(--space-s) var(--space); font: 600 var(--step-2)/1 var(--font-mono); letter-spacing: 0.3em; text-align: center; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-mfa-code:focus-visible { border-color: var(--accent); }
  button.m-mfa-submit { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space); line-height: 1.25; text-align: center; font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  .m-mfa-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-mfa { display: none; }
  .d-mfa-steps { display: none; }
  .d-mfa-qr { display: none; }
  .d-mfa-qr-plate { display: none; }
  .d-mfa-qr-caption { display: none; }
  .d-mfa-list { display: none; }
  .d-mfa-step { display: none; }
  .d-mfa-step::before { display: none; }
  .d-mfa-step > span { display: none; }
  .d-mfa-key { display: none; }
  .d-mfa-key-label { display: none; }
  .d-mfa-key-value { display: none; }
  button.d-mfa-copy { display: none; }
  .d-mfa-meta { display: none; }
  .d-mfa-form { display: none; }
  .d-mfa-label { display: none; }
  .d-mfa-code { display: none; }
  .d-mfa-code:focus-visible { display: none; }
  button.d-mfa-submit { display: none; }
  .d-mfa-note { display: none; }
  .m-ed-tool .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .m-ed-toolbar { position: sticky; inset-block-start: calc(var(--tap) * 2 + var(--space)); z-index: 1; }
  .d-ed-tool .icon { display: none; }
  .d-ed-toolbar { display: none; }
  .admin-links { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; }
  /* Article quality (admin_enhance.php) */
  .enhance-switch { display: inline-flex; margin-block: 0 var(--space-2xs); margin-inline: 0 var(--space-s); }
  button.enhance-switch-button { inline-size: auto; min-block-size: var(--tap); margin: 0; padding: 0; color: var(--accent-ink); background: none; border: 0; font: inherit; font-weight: 600; cursor: pointer; }
  .enhance-apply { display: inline-flex; margin-block: 0 var(--space-xs); margin-inline: 0 var(--space-s); }
  /* WordPress import (admin_wordpress.php) */
  .wp-import-form { display: grid; gap: var(--space-s); }
  .wp-import-options { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-xs); }
  .wp-import-option { display: flex; align-items: flex-start; gap: var(--space-xs); min-block-size: 2.75rem; }
  .wp-import-progress { margin: 0; font-weight: 600; }
  .wp-import-pause { background: transparent; color: var(--text); }
  .admin-link { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .admin-link:hover { border-color: var(--accent-line); }
  .admin-code { margin: 0; padding: var(--space-s); font: var(--step-small)/1.5 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--fill); border-radius: var(--radius-s); }
  .admin-card-subtitle { margin: var(--space-s) 0 0; font-size: var(--step-body); font-weight: 700; }
  .ed-data { display: none; }
  .ax-preview-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); margin: var(--space-s) 0; padding: var(--space-s) var(--space); font-size: var(--step-small); color: var(--info); background: var(--info-bg); border-radius: var(--radius); }
  .ax-preview-back { color: inherit; font-weight: 700; }
  .article-prose { font-family: var(--article-font-body, var(--font-body)); }
  .article-title, .article-prose h2, .article-prose h3, .article-prose h4, .ax-faq-q h3 { font-family: var(--article-font-heading, var(--font-display)); }
  .ax-layout-wide .article-prose { max-inline-size: none; }
  .ax-figure { display: grid; gap: var(--space-xs); margin: var(--space-m) 0; }
  /* Shown at the size its width attribute gives (RichHtml: natural, or about twice an enhanced original), never wider than the column. */
  .ax-figure-image { max-inline-size: 100%; block-size: auto; border-radius: var(--radius); } /* width = its width attribute (display size) */
  .ax-figure-inline { max-inline-size: 100%; }
  .ax-figure-wide { max-inline-size: 100%; }
  /* Related image cards (image-card-seo, kept with their WordPress tags inside the altriora.com ImageRELATED markers;
     2026-10-04): a grid of photo cards, each clickable through its caption link (stretched link, DESIGN-SYSTEM §6b). */
  .image-card-seo-wrap { --cards-cols: repeat(2, minmax(0, 1fr)); display: grid; grid-template-columns: var(--cards-cols); gap: var(--space-xs); margin-block: var(--ax-flow); }
  .image-card-seo-row { display: contents; } /* phones: every card in one flowing grid (no gap after a row of three) */
  /* image-card-seo-{N} = cards per row on WordPress: N picks the grid (phones: one card full width, else two). */
  .image-card-seo-1 { --cards-cols: minmax(0, 1fr); }
  .image-card-seo-2 { --cards-cols: repeat(2, minmax(0, 1fr)); }
  .image-card-seo-3 { --cards-cols: repeat(2, minmax(0, 1fr)); }
  .image-card-seo-4 { --cards-cols: repeat(2, minmax(0, 1fr)); }
  .image-card-seo-item { display: grid; min-inline-size: 0; }
  .image-card-seo-figure { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: calc(var(--space-xs) * 0.75); margin: 0; padding: calc(var(--space-xs) * 0.75); border-radius: var(--ax-radius); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: transform var(--dur) var(--ease-spring), box-shadow var(--dur) var(--ease-out); }
  .image-card-seo-figure:has(.image-card-seo-caption-link:hover) { transform: translateY(var(--go-lift)); }
  .image-card-seo-img { position: relative; margin: 0; border-radius: var(--ax-radius-inner); overflow: clip; aspect-ratio: var(--card-photo-ratio); min-block-size: 0; background: var(--fill); }
  .image-card-seo-img img { position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%; max-inline-size: 100%; object-fit: cover; border-radius: 0; background: none; }
  .image-card-seo-caption { margin: 0; padding-inline: var(--space-2xs); font-size: var(--step-small); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
  .image-card-seo-caption-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-2xs); color: var(--accent-ink); text-decoration: none; }
  .image-card-seo-text { min-inline-size: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--card-title-lines-m); line-clamp: var(--card-title-lines-m); overflow: clip; }
  .image-card-seo-go { inline-size: var(--go-size); block-size: var(--go-size); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease-spring); }
  .image-card-seo-caption-link:hover .image-card-seo-go { transform: translateX(calc(var(--go-shift) * var(--dir))); }
  .image-card-seo-caption-link::after { content: ''; position: absolute; inset: 0; border-radius: var(--ax-radius); }
  .image-card-seo-caption-link:focus-visible::after { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  /* Content-tool photo cards (cb-imgcard: photo, caption, link line; kept with their WordPress classes between the
     imageCard markers, 2026-10-04). One card per block: a framed photo, the caption, the link stretched over the card. */
  .cb-imgcard { position: relative; display: grid; gap: calc(var(--space-xs) * 0.75); margin-block: var(--ax-flow); margin-inline: 0; padding: calc(var(--space-xs) * 0.75); border-radius: var(--ax-radius); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: transform var(--dur) var(--ease-spring); }
  .cb-imgcard:has(.cb-imgcard-href:hover) { transform: translateY(var(--go-lift)); }
  .cb-imgcard-img { margin: 0; border-radius: var(--ax-radius-inner); overflow: clip; background: var(--fill); }
  .cb-imgcard-img img { display: block; inline-size: 100%; block-size: auto; max-inline-size: 100%; border-radius: 0; }
  .cb-imgcard-caption { display: grid; gap: var(--space-2xs); margin: 0; padding-inline: var(--space-2xs); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; }
  .cb-imgcard-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--card-title-lines-m); line-clamp: var(--card-title-lines-m); overflow: clip; font-weight: 600; }
  .cb-imgcard-href { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--accent-ink); text-decoration: none; }
  .cb-imgcard-href::after { content: ''; position: absolute; inset: 0; border-radius: var(--ax-radius); }
  .cb-imgcard-href:focus-visible::after { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .cb-imgcard-go { inline-size: var(--go-size); block-size: var(--go-size); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease-spring); }
  .cb-imgcard-href:hover .cb-imgcard-go { transform: translateX(calc(var(--go-shift) * var(--dir))); }
  .ax-figure-full { max-inline-size: 100%; }
  .ax-figure-full .ax-figure-image { border-radius: 0; }
  .ax-figure-caption { color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .ax-spec-sheet .d-table th[scope="row"] { display: none; } /* phones show the cards (m-records), never the desktop table */
  .ax-embed { display: grid; gap: var(--space-xs); margin: var(--space-m) 0; }
  .ax-embed-stage { position: relative; display: grid; place-items: center; overflow: hidden; background: var(--fill); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .ax-ratio-16-9 .ax-embed-stage { aspect-ratio: 16 / 9; }
  .ax-ratio-4-3 .ax-embed-stage { aspect-ratio: 4 / 3; }
  .ax-ratio-1-1 .ax-embed-stage { aspect-ratio: 1 / 1; }
  .ax-ratio-9-16 .ax-embed-stage { aspect-ratio: 9 / 16; max-block-size: calc(var(--space) * 36); }
  .ax-ratio-21-9 .ax-embed-stage { aspect-ratio: 4 / 3; }
  .ax-embed-card { display: grid; gap: var(--space-xs); max-inline-size: var(--embed-card-max); padding: var(--space); text-align: center; }
  .ax-embed-provider { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .ax-embed-title { margin: 0; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  .ax-embed-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .ax-embed-load { justify-self: center; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font: inherit; font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .ax-embed-settings { justify-self: center; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font: inherit; font-size: var(--step-caption); color: var(--accent-ink); background: none; border: 0; text-decoration: underline; cursor: pointer; }
  .ax-embed-frame { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
  .ax-embed-caption { font-size: var(--step-caption); }
  .ax-embed-caption a { color: var(--accent-ink); }
  .ax-html { display: block; min-inline-size: 0; }
  .ax-quote { margin: var(--space-m) 0; padding-block: var(--space); padding-inline: var(--space-m) var(--space); font-size: var(--step-1); line-height: 1.45; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .ax-quote p { margin: 0 0 var(--space-s); }
  .ax-quote-cite { color: var(--text-2); font-size: var(--step-small); }
  .ax-quote-cite cite { font-style: normal; font-weight: 600; }
  .ax-callout { display: grid; gap: var(--space-xs); margin: var(--space-m) 0; padding: var(--space); border-radius: var(--radius-l); color: var(--text); background: var(--fill); }
  .ax-callout > :last-child { margin-block-end: 0; }
  .ax-callout-tip { color: var(--info); background: var(--info-bg); }
  .ax-callout-warning { color: var(--accent-ink); background: var(--accent-soft); }
  .ax-callout-success { color: var(--ok); background: var(--ok-bg); }
  .ax-callout a, .ax-callout strong { color: inherit; }
  .ax-actions { display: flex; flex-wrap: wrap; gap: var(--space-s); margin: var(--space-m) 0; }
  .article-prose .ax-btn { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space-m); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .article-prose .ax-btn-primary { color: var(--accent-text); background: var(--accent); }
  .article-prose .ax-btn-secondary { color: var(--text); background: var(--surface); border: var(--line) solid var(--border); }
  .article-prose .ax-btn:hover { filter: brightness(1.06); }
  .ax-divider { margin: var(--space-l) 0; border: 0; border-block-start: var(--line) solid var(--border); }
  .ax-faq { display: grid; margin: var(--space-m) 0; border-block: var(--line) solid var(--border); }
  .ax-faq-item + .ax-faq-item { border-block-start: var(--line) solid var(--separator); }
  .ax-faq-q { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); min-block-size: var(--tap); padding-block: var(--space-s); cursor: pointer; list-style: none; }
  .ax-faq-q::-webkit-details-marker { display: none; }
  .ax-faq-q::after { content: "+"; color: var(--accent-ink); font-size: var(--step-1); font-weight: 600; }
  .ax-faq-item[open] .ax-faq-q::after { content: "\2212"; }
  .article-prose .ax-faq-q h3 { margin: 0; font-size: var(--step-base); line-height: 1.35; }
  .ax-faq-a { padding-block-end: var(--space-s); }
  .ax-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); margin: var(--space-m) 0; }
  .ax-cols-2 { grid-template-columns: minmax(0, 1fr); }
  .ax-cols-3 { grid-template-columns: minmax(0, 1fr); }
  .ax-col > :first-child { margin-block-start: 0; }
  .ax-grid-2, .ax-grid-3 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); margin: var(--space-m) 0; }
  .ax-grid-2 { grid-template-columns: minmax(0, 1fr); }
  .ax-grid-3 { grid-template-columns: minmax(0, 1fr); }
  .ax-card { display: grid; align-content: start; gap: var(--space-xs); min-inline-size: 0; padding: var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .ax-card > * { margin: 0; }
  .ax-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: var(--space-m) 0; }
  .ax-stats > div { display: grid; gap: var(--space-2xs); padding: var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .ax-stats dt { order: 2; color: var(--text-2); font-size: var(--step-small); }
  .ax-stats dd { order: 1; margin: 0; font: 700 calc(var(--stat-size) * 0.8)/1 var(--article-font-heading, var(--font-display)); color: var(--accent-ink); }
  .ax-box { margin: var(--space-m) 0; padding: var(--space); background: var(--accent-50); border-radius: var(--radius-l); }
  .ax-box > :last-child { margin-block-end: 0; }
  .ax-lead { font-size: var(--step-1); line-height: 1.45; }
  .ax-muted { color: var(--text-2); }
  .ax-center { text-align: center; }
  .ax-badge { display: inline-block; padding: var(--space-2xs) var(--space-s); font-size: var(--step-caption); font-weight: 700; color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); }
  .ax-details { margin: var(--space-s) 0; padding: var(--space-s) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .ax-details summary { min-block-size: var(--tap); display: flex; align-items: center; font-weight: 700; cursor: pointer; }
  .m-arts { display: grid; gap: var(--space-s); }
  .m-arts-new, .m-arts-fonts { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .m-arts-new { color: var(--accent-text); background: var(--accent); }
  .m-arts-fonts { color: var(--text); background: var(--surface); border: var(--line) solid var(--border); }
  .m-arts-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-arts-card { display: grid; grid-template-columns: var(--ed-thumb) minmax(0, 1fr); gap: var(--space-s); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-arts-thumb { inline-size: var(--ed-thumb); aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius); background: var(--fill); }
  .m-arts-body { display: grid; justify-items: start; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .m-arts-title { color: var(--text); font-weight: 700; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
  .m-arts-meta { color: var(--text-2); font-size: var(--step-caption); }
  .m-arts-view { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-block-size: var(--tap); color: var(--text); font-size: var(--step-small); font-weight: 700; text-decoration: none; background: var(--fill); border-radius: var(--radius-pill); }
  .m-fonts { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-font-card { display: grid; gap: var(--space-xs); padding: var(--space); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .m-font-name { display: grid; gap: var(--space-2xs); margin: 0; }
  .m-font-name span { color: var(--text-2); font-size: var(--step-caption); }
  .m-font-sample { margin: 0; font-size: var(--step-1); line-height: 1.3; overflow-wrap: anywhere; }
  .m-revs { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-revs-card { display: grid; gap: var(--space-2xs); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-revs-when, .m-revs-title, .m-revs-meta { margin: 0; }
  .m-revs-when { display: grid; gap: var(--space-2xs); }
  .m-revs-when span, .m-revs-meta { color: var(--text-2); font-size: var(--step-caption); }
  .m-revs-title { font-weight: 600; overflow-wrap: anywhere; }
  .m-revs-form { margin: 0; }
  button.m-revs-restore { display: inline-flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: calc(var(--tap) * 0.85); margin: 0; padding-inline: var(--space); font-size: var(--step-small); color: var(--text); background: var(--fill); border-radius: var(--radius-pill); }
  .m-editor { display: grid; gap: var(--space); padding-block-end: calc(var(--tap) * 2); }
  .m-ed-title { inline-size: 100%; min-block-size: calc(var(--step-3) * 2.6); margin: 0; padding: var(--space-s) 0; font: 700 var(--step-3)/1.2 var(--font-display); letter-spacing: -0.01em; color: var(--text); background: none; border: 0; border-block-end: var(--line) solid var(--border); resize: none; overflow-y: hidden; }
  .m-ed-title:focus-visible { outline: none; border-block-end-color: var(--accent); }
  .m-ed-canvas { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .m-ed-canvas[data-empty]:not([data-empty=""])::before { content: attr(data-empty); padding: var(--space-m); color: var(--text-2); text-align: center; background: var(--fill); border-radius: var(--radius-l); }
  .m-ed-block { display: grid; min-inline-size: 0; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-ed-block:focus-within { border-color: var(--accent-line); }
  .m-ed-block.is-dragging { opacity: var(--drag-opacity); }
  .m-ed-block-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); border-block-end: var(--line) solid var(--separator); }
  .m-ed-block-kind { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
  .m-ed-block-kind .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .m-ed-block-tools { display: flex; gap: var(--space-2xs); }
  .m-ed-block-body { display: grid; gap: var(--space-s); min-inline-size: 0; padding: var(--space-s); }
  .m-ed-tool { display: inline-grid; place-items: center; min-inline-size: var(--tap); min-block-size: var(--tap); margin: 0; padding: 0 var(--space-xs); font: 700 var(--step-small)/1 var(--font-body); color: var(--text); background: none; border: 0; border-radius: var(--radius-s); cursor: pointer; }
  .m-ed-tool:hover { background: var(--fill); }
  .m-ed-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding: var(--space-2xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border-block-end: var(--line) solid var(--panel-glass-edge); border-radius: var(--radius) var(--radius) 0 0; }
  .m-ed-rich-wrap { display: grid; min-inline-size: 0; border: var(--line) solid var(--border); border-radius: var(--radius); }
  .m-ed-rich { min-block-size: var(--ed-rich-min); padding: var(--space-s) var(--space); line-height: 1.6; overflow-wrap: anywhere; font-family: var(--font-body); outline: none; }
  .m-ed-rich:focus-visible { box-shadow: inset 0 0 0 var(--focus-ring) var(--accent-line); }
  .m-ed-rich p, .m-ed-rich ul, .m-ed-rich ol, .m-ed-rich blockquote { margin: 0 0 var(--space-s); }
  .m-ed-rich h3, .m-ed-rich h4 { margin: var(--space) 0 var(--space-xs); font-family: var(--font-display); }
  .m-ed-rich a { color: var(--accent-ink); }
  .m-ed-rich blockquote { padding-inline-start: var(--space); border-inline-start: var(--focus-ring) solid var(--border); }
  .m-ed-rich table { inline-size: 100%; border-collapse: collapse; }
  .m-ed-rich th, .m-ed-rich td { padding: var(--space-2xs) var(--space-xs); border: var(--line) solid var(--border); overflow-wrap: anywhere; }
  .m-ed-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-ed-label { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs); margin: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; }
  .m-ed-hint { margin: 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .m-ed-input { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: 1em; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .m-ed-input:focus-visible { border-color: var(--accent-line); }
  .m-ed-area { resize: vertical; line-height: 1.5; }
  .m-ed-code { min-block-size: var(--ed-code-min); font: var(--step-small)/1.55 var(--font-mono); tab-size: 2; resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; }
  .m-ed-heading-input { font: 700 var(--step-1)/1.3 var(--font-display); }
  .m-ed-count { color: var(--text-2); font-size: var(--step-caption); font-weight: 500; }
  .m-ed-count[data-state="bad"] { color: var(--error); }
  .m-ed-count[data-state="ok"] { color: var(--ok); }
  .m-ed-slug { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .m-ed-slug-prefix { padding-inline: var(--space-s) 0; color: var(--text-2); font: var(--step-caption)/1 var(--font-mono); }
  .m-ed-slug .m-ed-input { border: 0; background: none; font-family: var(--font-mono); }
  .m-ed-row { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-s); }
  .m-ed-grow { flex: 1 1 calc(var(--space) * 14); }
  .m-ed-stack { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .m-ed-segment { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--space-2xs); padding: var(--space-2xs); background: var(--fill); border-radius: var(--radius-s); }
  .m-ed-segment-option { position: relative; display: grid; margin: 0; font-weight: 600; }
  .m-ed-segment-option input { position: absolute; opacity: 0; inline-size: 100%; block-size: 100%; margin: 0; cursor: pointer; }
  .m-ed-segment-option span { display: grid; place-items: center; min-block-size: var(--tap); padding-inline: var(--space-xs); font-size: var(--step-caption); text-align: center; border-radius: calc(var(--radius-s) - var(--space-2xs)); }
  .m-ed-segment-option input:checked + span { color: var(--text); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-ed-segment-option input:focus-visible + span { outline: var(--focus-ring) solid var(--focus-color); }
  .m-ed-check { display: inline-flex; align-items: center; gap: var(--space-xs); margin: 0; font-size: var(--step-small); }
  .m-ed-ghost { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font: inherit; font-size: var(--step-small); font-weight: 600; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-ed-ghost:hover { background: var(--accent-soft); }
  .m-ed-ghost .icon, .m-ed-add-item .icon, .m-ed-bar-add .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .m-ed-marker { display: block; padding: var(--space-xs) var(--space-s); color: var(--text-2); font: var(--step-caption)/1.4 var(--font-mono); background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .d-ed-marker { display: none; }
  .m-ed-divider { margin: var(--space-s) 0; border: 0; border-block-start: var(--line) solid var(--border); }
  .m-ed-detected { margin: 0; color: var(--accent-ink); font-size: var(--step-caption); font-weight: 600; }
  .m-ed-image-frame, .m-ed-cover-frame { display: grid; place-items: center; min-block-size: calc(var(--space) * 8); overflow: hidden; background: var(--fill); border-radius: var(--radius); }
  .m-ed-image-preview, .m-ed-cover-image { inline-size: 100%; block-size: auto; border-radius: var(--radius); }
  .m-ed-image-empty, .m-ed-cover-empty { padding: var(--space); color: var(--text-2); font-size: var(--step-small); }
  .m-ed-cover { display: grid; gap: var(--space-s); }
  .m-ed-library { inline-size: 100%; max-inline-size: 100%; max-block-size: 100%; margin: auto 0 0; padding: 0; color: var(--text); background: var(--bg); border: 0; border-radius: var(--radius-xl) var(--radius-xl) 0 0; box-shadow: var(--card-shadow); overflow-y: auto; }
  .m-ed-library::backdrop { background: var(--backdrop); }
  .m-ed-library-head { position: sticky; inset-block-start: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: var(--space); padding: var(--space-s) var(--space); background: var(--bg); border-block-end: var(--line) solid var(--separator); }
  .m-ed-library-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-ed-icon-button { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); margin: 0; padding: 0; color: var(--text); background: var(--fill); border: 0; border-radius: 50%; cursor: pointer; }
  .m-ed-icon-button .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  .m-ed-upload { display: grid; gap: var(--space-xs); margin: var(--space); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); }
  .m-ed-upload-title { margin: 0; font-weight: 700; }
  .m-ed-file { inline-size: 100%; font: inherit; font-size: var(--step-small); }
  .m-ed-progress { inline-size: 100%; block-size: var(--space-s); accent-color: var(--accent); }
  .m-ed-upload-status { margin: 0; font-size: var(--step-small); font-weight: 600; }
  .m-ed-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0 var(--space) var(--space); list-style: none; }
  .m-ed-library-item { display: grid; gap: var(--space-2xs); inline-size: 100%; margin: 0; padding: var(--space-2xs); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .m-ed-library-item:hover, .m-ed-library-item:focus-visible { border-color: var(--accent); }
  .m-ed-library-image { inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--radius) - var(--space-2xs)); }
  .m-ed-library-alt { font-size: var(--step-caption); line-height: 1.3; color: var(--text-2); overflow-wrap: anywhere; }
  .m-ed-table-grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: var(--line); padding: var(--line); background: var(--border); border-radius: var(--radius-s); }
  .m-ed-cell { min-block-size: var(--tap); padding: var(--space-xs); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; background: var(--surface); outline: none; }
  .m-ed-cell:focus-visible { box-shadow: inset 0 0 0 var(--focus-ring) var(--accent-line); }
  .m-ed-cell.is-head { font-weight: 700; background: var(--fill); }
  .m-ed-faq { display: grid; gap: var(--space-s); }
  .m-ed-faq-item { display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--bg); border-radius: var(--radius); }
  .m-ed-items { display: grid; gap: var(--space-s); }
  .m-ed-item { display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--bg); border-radius: var(--radius); }
  .m-ed-item-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .m-ed-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-ed-cols[data-count="3"] { grid-template-columns: minmax(0, 1fr); }
  .m-ed-html-preview { min-block-size: calc(var(--space) * 4); padding: var(--space); background: var(--bg); border: var(--line) dashed var(--border); border-radius: var(--radius); overflow-wrap: anywhere; }
  .m-ed-preview-problem { margin: 0; color: var(--error); }
  .m-ed-add { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border: var(--line) dashed var(--border); border-radius: var(--radius-l); }
  .m-ed-add-title { margin: 0; font-weight: 700; }
  .m-ed-add-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-ed-add-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--bg); border: var(--line) solid transparent; border-radius: var(--radius); cursor: pointer; }
  .m-ed-add-item:hover, .m-ed-add-item:focus-visible { border-color: var(--accent-line); background: var(--accent-50); }
  .m-ed-add-text { display: grid; min-inline-size: 0; }
  .m-ed-add-text strong { font-size: var(--step-small); }
  .m-ed-add-text span { display: none; }
  .m-ed-card { display: grid; gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-ed-card-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-ed-card-summary { font-weight: 700; cursor: pointer; }
  .m-ed-switch { position: relative; display: grid; grid-template-columns: var(--switch-w) minmax(0, 1fr); align-items: center; gap: var(--space-s); margin: 0; cursor: pointer; }
  .m-ed-switch input { position: absolute; opacity: 0; inline-size: var(--switch-w); block-size: var(--switch-h); margin: 0; }
  .m-ed-switch-track { position: relative; inline-size: var(--switch-w); block-size: var(--switch-h); background: var(--switch-off); border-radius: var(--radius-pill); transition: background var(--dur-fast) var(--ease-out); }
  .m-ed-switch-track::after { content: ""; position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); background: var(--knob); border-radius: 50%; box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  .m-ed-switch input:checked + .m-ed-switch-track { background: var(--switch-on); }
  .m-ed-switch input:checked + .m-ed-switch-track::after { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .m-ed-switch input:focus-visible + .m-ed-switch-track { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) / 1.5); }
  .m-ed-switch-label { font-weight: 700; }
  .m-ed-actions { display: grid; gap: var(--space-xs); }
  button.m-ed-save, button.m-ed-save-preview, button.m-ed-primary { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  button.m-ed-save-preview { color: var(--text); background: var(--fill); }
  .m-ed-primary { cursor: pointer; }
  .m-ed-status { min-block-size: 1.2em; margin: 0; color: var(--accent-ink); font-size: var(--step-caption); font-weight: 600; }
  .m-ed-css-result { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-caption); }
  .m-ed-css-ok { color: var(--ok); font-weight: 600; }
  .m-ed-css-bad { padding: var(--space-2xs) var(--space-xs); color: var(--error); background: var(--error-bg); border-radius: var(--radius-s); }
  .m-ed-css-wait { color: var(--text-2); }
  .m-ed-font-sample { margin: 0; padding: var(--space-xs) var(--space-s); font-size: var(--step-1); line-height: 1.3; background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .m-ed-problems { display: grid; gap: var(--space-2xs); padding: var(--space) var(--space-m); color: var(--error); background: var(--error-bg); border-radius: var(--radius-l); }
  .m-ed-problems-title { margin: 0; font-weight: 700; }
  .m-ed-problems ul { margin: 0; padding-inline-start: var(--space); }
  .m-ed-delete { display: grid; gap: var(--space-xs); margin: 0; }
  button.m-ed-danger { display: flex; align-items: center; justify-content: center; inline-size: 100%; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--error); background: var(--error-bg); border: 0; border-radius: var(--radius-pill); }
  .m-ed-danger-zone { border: var(--line) solid var(--error-bg); }
  .m-ed-status-line { margin: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-ed-status-card { border: var(--line) solid var(--border); }
  .m-ed-status-form { display: grid; gap: var(--space-xs); margin: 0; }
  button.m-ed-status-primary { display: flex; align-items: center; justify-content: center; inline-size: 100%; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  button.m-ed-status-secondary { display: flex; align-items: center; justify-content: center; inline-size: 100%; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-ed-proposals-card { border: var(--line) solid var(--border); }
  .m-ed-proposals { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-ed-proposal { display: grid; gap: var(--space-2xs); padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--border); }
  .m-ed-proposal-by { margin: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-ed-proposal-note { margin: 0; overflow-wrap: anywhere; }
  .m-ed-proposal-actions { display: grid; gap: var(--space-xs); }
  .m-ed-proposal-form { margin: 0; }
  button.m-ed-proposal-accept { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  button.m-ed-proposal-reject { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-ed-blocks-out { display: none; }
  .m-ed-tabs { position: sticky; inset-block-start: calc(var(--tap) + var(--space)); z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xs); padding: var(--space-2xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); box-shadow: 0 0 0 var(--line) var(--panel-glass-edge); border-radius: var(--radius-pill); }
  .m-ed-tab { min-block-size: var(--tap); margin: 0; font: inherit; font-size: var(--step-small); font-weight: 700; color: var(--text); background: none; border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .m-ed-tab[aria-selected="true"] { background: var(--accent-soft); color: var(--accent-ink); box-shadow: var(--card-shadow); }
  .m-ed-panel { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .m-ed-bar { position: sticky; inset-block-end: calc(var(--island-h) + var(--space-m) + env(safe-area-inset-bottom, 0)); z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-xs); padding: var(--space-xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border: var(--line) solid var(--glass-rim); border-radius: var(--radius-pill); box-shadow: var(--card-shadow); }
  .m-ed-bar-add { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); margin: 0; font: inherit; font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-arts { display: none; }
  .d-arts-bar { display: none; }
  .d-arts-new, .d-arts-fonts { display: none; }
  .d-arts-new { display: none; }
  .d-arts-fonts { display: none; }
  .d-arts-list { display: none; }
  .d-arts-item { display: none; }
  .d-arts-item + .d-arts-item { display: none; }
  .d-arts-thumb { display: none; }
  .d-arts-main { display: none; }
  .d-arts-title { display: none; }
  .d-arts-title:hover { display: none; }
  .d-arts-path { display: none; }
  .d-arts-sphere { display: none; }
  .d-arts-state { display: none; }
  .d-arts-when { display: none; }
  .d-arts-actions { display: none; }
  .d-arts-edit, .d-arts-view { display: none; }
  .d-arts-edit { display: none; }
  .d-arts-view { display: none; }
  .d-fonts { display: none; }
  .d-font-card { display: none; }
  /* AI disclosure tag (owner, 2026-10-04; EU AI Act Art. 50): glass label in the photo's corner, words from ui_texts. */
  :where(figure, div, span, li, a, p, picture):has(> .ai-tag) { position: relative; }
  .ai-tag { position: absolute; inset-block-start: var(--space-s); inset-inline-start: var(--space-s); z-index: 2; display: inline-flex; align-items: center; padding: calc(var(--space-2xs) * 0.75) var(--space-s); border-radius: var(--radius-pill); background: var(--glass-dark-bg); color: var(--on-image); font-size: var(--step-small); font-weight: 600; line-height: 1.2; letter-spacing: 0.02em; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: inset 0 0 0 var(--line) var(--glass-dark-rim); pointer-events: none; max-inline-size: calc(100% - var(--space-s) * 2); overflow-wrap: anywhere; }
  .ai-tag.is-compact { inset-block-start: var(--space-2xs); inset-inline-start: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) calc(var(--space-2xs) * 1.25); font-size: var(--step-tiny); }
  .media-labels-form { margin: 0; }
  .media-labels-state { display: grid; gap: var(--space-xs); justify-items: start; margin: 0; }
  .media-find { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xs); margin-block: var(--space-s); }
  .media-find input { min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); border: var(--line) solid var(--field-border); background: var(--field-bg); color: var(--text); font: inherit; min-inline-size: 0; }
  .media-filters { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-end: var(--space-s); }
  .media-filter[aria-current="page"] { background: var(--accent); color: var(--accent-text); }
  .media-count { opacity: 0.75; font-weight: 500; }
  .media-pages { display: flex; flex-wrap: wrap; gap: var(--space-xs); align-items: center; justify-content: space-between; margin-block: var(--space-m); }
  .m-media { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-media-card { display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .m-media-thumb { border-radius: var(--radius-l); overflow: hidden; background: var(--fill); }
  .m-media-image { display: block; inline-size: 100%; block-size: auto; max-inline-size: 100%; }
  .m-media-name { display: grid; gap: var(--space-2xs); margin: 0; overflow-wrap: anywhere; }
  .m-media-name span { color: var(--text-2); font-size: var(--step-small); }
  .m-media-form { display: grid; gap: var(--space-xs); margin: 0; }
  .m-media-choice { display: grid; gap: 0; margin: 0; padding: 0; border: 0; }
  .m-media-option { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); border-block-end: var(--line) solid var(--separator); }
  .m-media-save { justify-self: stretch; }
  .d-media { display: none; }
  .d-media-card { display: none; }
  .d-media-thumb { display: none; }
  .d-media-image { display: none; }
  .d-media-name { display: none; }
  .d-media-form { display: none; }
  .d-media-choice { display: none; }
  .d-media-option { display: none; }
  .d-media-save { display: none; }
  /* Admin -> Menus v2 (2026-10-04): phone rendering (bottom sheets); the desktop tree only hidden. */
  .m-mn { display: grid; gap: var(--space); }
  .m-mn-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-mn-tab { display: grid; align-content: space-between; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-xs) var(--space-s); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); color: var(--text); text-decoration: none; }
  .m-mn-tab[aria-current="page"] { background: var(--accent); color: var(--accent-text); }
  .m-mn-tab-name { font-weight: 700; overflow-wrap: anywhere; }
  .m-mn-tab-count { font-size: var(--step-small); opacity: 0.8; }
  .m-mn-tab-count.is-over { font-weight: 700; opacity: 1; text-decoration: underline; }
  .m-mn-editor { display: grid; gap: var(--space); min-inline-size: 0; }
  .m-mn-editor-head { display: grid; gap: var(--space-s); }
  .m-mn-preview { display: grid; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-mn-mock { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); min-inline-size: 0; font-size: var(--step-small); }
  .m-mn-mock .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; flex: none; }
  .m-mn-mock-island { justify-content: space-around; flex-wrap: nowrap; padding: var(--space-xs); border-radius: var(--island-radius); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-mn-mock-tab { display: grid; justify-items: center; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; flex: 1 1 0; font-size: var(--step-tiny); text-align: center; overflow-wrap: anywhere; }
  .m-mn-mock-tab.is-menu { flex: 0 0 auto; place-self: center; padding: var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); }
  .m-mn-mock-desktop { padding: var(--space-xs) var(--space-s); border-radius: var(--radius-pill); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-mn-mock-brand { inline-size: var(--icon); block-size: var(--icon); border-radius: var(--radius-pill); background: var(--mark-bg); margin-inline-end: var(--space-xs); }
  .m-mn-mock-link { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-pill); }
  .m-mn-mock-link.is-cta { background: var(--accent); color: var(--accent-text); font-weight: 600; }
  .m-mn-mock-sheet { display: grid; gap: var(--space-xs); align-items: stretch; }
  .m-mn-mock-footer { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(var(--tap) * 3), 1fr)); gap: var(--space-s); align-items: start; }
  .m-mn-mock-group { display: grid; gap: var(--space-2xs); padding: var(--space-xs); border-radius: var(--radius); background: var(--surface); }
  .m-mn-mock-row { display: flex; align-items: center; gap: var(--space-xs); min-inline-size: 0; overflow-wrap: anywhere; }
  .m-mn-mock-row .tile-icon { inline-size: calc(var(--icon) * 1.4); block-size: calc(var(--icon) * 1.4); }
  .m-mn-mock .is-off { opacity: 0.45; text-decoration: line-through; }
  .m-mn-mock-empty { color: var(--text-2); }
  .m-mn-note { margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .m-mn-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-mn-children { display: grid; gap: var(--space-xs); margin: var(--space-xs) 0 0; padding-block: 0; padding-inline: calc(var(--tap) * 0.5) 0; list-style: none; border-inline-start: calc(var(--line) * 2) solid var(--separator); }
  .m-mn-item { display: grid; min-inline-size: 0; }
  .m-mn-item.is-off > .m-mn-row { opacity: 0.6; }
  .m-mn-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-xs) var(--space-s); padding: var(--space-xs); border-radius: var(--radius-l); background: var(--fill); }
  .m-mn-item.is-group > .m-mn-row { background: var(--surface); box-shadow: inset 0 0 0 var(--line) var(--separator); }
  .m-mn-row-text { display: grid; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; }
  .m-mn-row-where { color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1; overflow: hidden; }
  .m-mn-badges { display: flex; flex-wrap: wrap; gap: var(--space-2xs); grid-column: 1 / -1; }
  .m-mn-badge { padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-tiny); font-weight: 600; white-space: nowrap; }
  .m-mn-badge.is-cta { background: var(--accent-soft); color: var(--accent-ink); }
  .m-mn-badge.is-hidden { background: var(--error-bg); color: var(--error); }
  .m-mn-badge.is-required { background: var(--info-bg); color: var(--info); }
  .m-mn-row-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-mn-move { margin: 0; display: grid; }
  button.m-mn-iconbtn { display: grid; place-items: center; margin: 0; padding: 0; filter: none; inline-size: 100%; block-size: var(--tap); border: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--text); cursor: pointer; }
  button.m-mn-iconbtn:disabled { opacity: 0.3; cursor: default; }
  button.m-mn-iconbtn .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  button.m-mn-iconbtn.is-up .icon { transform: rotate(-90deg); }
  button.m-mn-iconbtn.is-down .icon { transform: rotate(90deg); }
  button.m-mn-iconbtn.is-out .icon { transform: rotate(180deg); scale: var(--dir) 1; }
  button.m-mn-edit { display: inline-flex; align-items: center; justify-content: center; margin: 0; min-block-size: var(--tap); padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font: inherit; font-weight: 600; cursor: pointer; }
  button.m-mn-iconbtn:focus-visible, button.m-mn-edit:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); }
  .m-mn-sheet { position: fixed; inset: auto 0 0 0; margin: 0; inline-size: 100%; max-inline-size: 100%; max-block-size: 92%; padding: var(--space) var(--space) calc(var(--space) + env(safe-area-inset-bottom, 0rem)); border: 0; border-radius: var(--sheet-radius) var(--sheet-radius) 0 0; background: var(--surface); color: var(--text); box-shadow: var(--glass-shadow); overflow-y: auto; }
  .m-mn-sheet::backdrop { background: var(--backdrop); }
  .m-mn-sheet-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); margin-block-end: var(--space-s); }
  .m-mn-sheet-title { margin: 0; font-size: var(--step-1); overflow-wrap: anywhere; }
  button.m-mn-sheet-close { display: grid; place-items: center; margin: 0; padding: 0; inline-size: var(--tap); block-size: var(--tap); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); cursor: pointer; }
  button.m-mn-sheet-close .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; }
  .m-mn-sheet-form { display: grid; gap: var(--space-s); margin: 0; }
  .m-mn-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-mn-field-label { margin: 0; padding: 0; font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .m-mn-field-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-mn-input { min-block-size: var(--field-h); inline-size: 100%; min-inline-size: 0; padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .m-mn-picker { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; border: 0; min-inline-size: 0; }
  .m-mn-icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--tap), 1fr)); gap: var(--space-2xs); }
  .m-mn-icon-choice { position: relative; display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); color: var(--text); cursor: pointer; }
  .m-mn-icon-choice input, .m-mn-swatch input { position: absolute; opacity: 0; inline-size: 100%; block-size: 100%; margin: 0; cursor: pointer; }
  .m-mn-icon-choice .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  .m-mn-icon-choice:has(input:checked), .m-mn-swatch:has(input:checked) { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--accent); color: var(--accent-ink); }
  .m-mn-icon-choice:has(input:focus-visible), .m-mn-swatch:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); }
  .m-mn-icon-none { font-size: var(--step-1); color: var(--text-2); }
  .m-mn-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--tap), 1fr)); gap: var(--space-2xs); }
  .m-mn-swatch { position: relative; display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); cursor: pointer; }
  .m-mn-swatch .tile-icon { inline-size: 60%; block-size: 60%; }
  .m-mn-toggles { display: grid; gap: var(--space-2xs); }
  .m-mn-toggle { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); cursor: pointer; }
  .m-mn-toggle input { inline-size: calc(var(--icon) * 0.9); block-size: calc(var(--icon) * 0.9); accent-color: var(--accent); flex: none; }
  .m-mn-sheet-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: start; gap: var(--space-xs); margin-block-start: var(--space-xs); }
  button.m-mn-primary { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); margin: 0; inline-size: auto; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; }
  button.m-mn-secondary { display: inline-flex; align-items: center; justify-content: center; margin: 0; inline-size: auto; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
  button.m-mn-danger { display: inline-flex; align-items: center; justify-content: center; margin: 0; inline-size: auto; justify-self: start; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--error-bg); color: var(--error); font: inherit; font-weight: 600; cursor: pointer; }
  button.m-mn-primary:focus-visible, button.m-mn-secondary:focus-visible, button.m-mn-danger:focus-visible, button.m-mn-sheet-close:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); }
  button.m-mn-add { justify-self: stretch; }
  .m-mn-danger-zone { display: grid; gap: var(--space-xs); margin: var(--space) 0 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--error-bg); }
  .m-mn-empty { display: grid; place-items: center; padding: var(--space-l) var(--space); border-radius: var(--radius-l); background: var(--fill); color: var(--text-2); text-align: center; }
  .m-mn-wp { display: grid; gap: var(--space-s); min-inline-size: 0; align-content: start; }
  .m-mn-step { display: flex; align-items: center; gap: var(--space-xs); margin-block-start: var(--space-xs); }
  .m-mn-step-n { display: grid; place-items: center; inline-size: calc(var(--icon) * 1.3); block-size: calc(var(--icon) * 1.3); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 700; font-size: var(--step-small); flex: none; }
  .m-mn-step-title { margin: 0; font-size: var(--step-base); }
  .m-mn-wp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--tap) * 3.5), 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-mn-wp-card { display: grid; gap: var(--space-2xs); align-content: start; min-block-size: 100%; padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); color: var(--text); text-decoration: none; }
  .m-mn-wp-card[aria-current="true"] { background: var(--accent-soft); box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--accent); }
  .m-mn-compare { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-mn-compare-col { display: grid; gap: var(--space-xs); align-content: start; min-inline-size: 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-mn-wp-tree { display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: calc(var(--space) * 1.25); font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-mn-wp-label { font-weight: 600; margin-inline-end: var(--space-2xs); }
  .m-mn-import { display: grid; gap: var(--space-s); margin: 0; }
  .m-mn-rebuild { margin-block-start: var(--space-s); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-mn-rebuild-summary { cursor: pointer; min-block-size: var(--tap); display: flex; align-items: center; font-weight: 600; color: var(--text-2); }
  .d-mn { display: none; }
  .d-mn-tabs { display: none; }
  .d-mn-tab { display: none; }
  .d-mn-tab[aria-current="page"] { display: none; }
  .d-mn-tab-name { display: none; }
  .d-mn-tab-count { display: none; }
  .d-mn-tab-count.is-over { display: none; }
  .d-mn-editor { display: none; }
  .d-mn-editor-head { display: none; }
  .d-mn-preview { display: none; }
  .d-mn-mock { display: none; }
  .d-mn-mock .icon { display: none; }
  .d-mn-mock-island { display: none; }
  .d-mn-mock-tab { display: none; }
  .d-mn-mock-tab.is-menu { display: none; }
  .d-mn-mock-desktop { display: none; }
  .d-mn-mock-brand { display: none; }
  .d-mn-mock-link { display: none; }
  .d-mn-mock-link.is-cta { display: none; }
  .d-mn-mock-sheet { display: none; }
  .d-mn-mock-footer { display: none; }
  .d-mn-mock-group { display: none; }
  .d-mn-mock-row { display: none; }
  .d-mn-mock-row .tile-icon { display: none; }
  .d-mn-mock .is-off { display: none; }
  .d-mn-mock-empty { display: none; }
  .d-mn-note { display: none; }
  .d-mn-list { display: none; }
  .d-mn-children { display: none; }
  .d-mn-item { display: none; }
  .d-mn-item.is-off > .d-mn-row { display: none; }
  .d-mn-row { display: none; }
  .d-mn-item.is-group > .d-mn-row { display: none; }
  .d-mn-row-text { display: none; }
  .d-mn-row-where { display: none; }
  .d-mn-badges { display: none; }
  .d-mn-badge { display: none; }
  .d-mn-badge.is-cta { display: none; }
  .d-mn-badge.is-hidden { display: none; }
  .d-mn-badge.is-required { display: none; }
  .d-mn-row-actions { display: none; }
  .d-mn-move { display: none; }
  button.d-mn-iconbtn { display: none; }
  button.d-mn-iconbtn:disabled { display: none; }
  button.d-mn-iconbtn .icon { display: none; }
  button.d-mn-iconbtn.is-up .icon { display: none; }
  button.d-mn-iconbtn.is-down .icon { display: none; }
  button.d-mn-iconbtn.is-out .icon { display: none; }
  button.d-mn-edit { display: none; }
  button.d-mn-iconbtn:focus-visible, button.d-mn-edit:focus-visible { display: none; }
  .d-mn-sheet { display: none; }
  .d-mn-sheet::backdrop { display: none; }
  .d-mn-sheet-head { display: none; }
  .d-mn-sheet-title { display: none; }
  button.d-mn-sheet-close { display: none; }
  button.d-mn-sheet-close .icon { display: none; }
  .d-mn-sheet-form { display: none; }
  .d-mn-field { display: none; }
  .d-mn-field-label { display: none; }
  .d-mn-field-hint { display: none; }
  .d-mn-input { display: none; }
  .d-mn-picker { display: none; }
  .d-mn-icons { display: none; }
  .d-mn-icon-choice { display: none; }
  .d-mn-icon-choice input, .d-mn-swatch input { display: none; }
  .d-mn-icon-choice .icon { display: none; }
  .d-mn-icon-choice:has(input:checked), .d-mn-swatch:has(input:checked) { display: none; }
  .d-mn-icon-choice:has(input:focus-visible), .d-mn-swatch:has(input:focus-visible) { display: none; }
  .d-mn-icon-none { display: none; }
  .d-mn-swatches { display: none; }
  .d-mn-swatch { display: none; }
  .d-mn-swatch .tile-icon { display: none; }
  .d-mn-toggles { display: none; }
  .d-mn-toggle { display: none; }
  .d-mn-toggle input { display: none; }
  .d-mn-sheet-actions { display: none; }
  button.d-mn-primary { display: none; }
  button.d-mn-secondary { display: none; }
  button.d-mn-danger { display: none; }
  button.d-mn-primary:focus-visible, button.d-mn-secondary:focus-visible, button.d-mn-danger:focus-visible, button.d-mn-sheet-close:focus-visible { display: none; }
  button.d-mn-add { display: none; }
  .d-mn-danger-zone { display: none; }
  .d-mn-empty { display: none; }
  .d-mn-wp { display: none; }
  .d-mn-step { display: none; }
  .d-mn-step-n { display: none; }
  .d-mn-step-title { display: none; }
  .d-mn-wp-cards { display: none; }
  .d-mn-wp-card { display: none; }
  .d-mn-wp-card[aria-current="true"] { display: none; }
  .d-mn-compare { display: none; }
  .d-mn-compare-col { display: none; }
  .d-mn-wp-tree { display: none; }
  .d-mn-wp-label { display: none; }
  .d-mn-import { display: none; }
  .d-mn-rebuild { display: none; }
  .d-mn-rebuild-summary { display: none; }
  .d-mn-grid { display: none; }
  .d-mn-handle { display: none; }
  .d-mn-handle .icon { display: none; }
  .d-mn-item.is-dragging { display: none; }
  .d-mn-item.is-drop-target > .d-mn-row { display: none; }
  .d-mn-order { display: none; }
  /* end Admin -> Menus v2 (phone) */
  .d-media-name span { display: none; }
  .d-media-option:has(input:checked) { display: none; }
  .d-font-name { display: none; }
  .d-font-name span { display: none; }
  .d-font-sample { display: none; }
  .d-revs { display: none; }
  .d-revs-row { display: none; }
  .d-revs-row + .d-revs-row { display: none; }
  .d-revs-when { display: none; }
  .d-revs-when span, .d-revs-meta { display: none; }
  .d-revs-title { display: none; }
  .d-revs-form { display: none; }
  button.d-revs-restore { display: none; }
  .d-editor { display: none; }
  .d-ed-layout { display: none; }
  .d-ed-main { display: none; }
  .d-ed-side { display: none; }
  .d-ed-publish { display: none; }
  .d-ed-title { display: none; }
  .d-ed-title:focus-visible { display: none; }
  .d-ed-canvas { display: none; }
  .d-ed-canvas[data-empty]:not([data-empty=""])::before { display: none; }
  .d-ed-block { display: none; }
  .d-ed-block:focus-within { display: none; }
  .d-ed-block.is-dragging { display: none; }
  .d-ed-block-bar { display: none; }
  .d-ed-block-kind { display: none; }
  .d-ed-block-kind .icon { display: none; }
  .d-ed-block-tools { display: none; }
  .d-ed-block-body { display: none; }
  .d-ed-tool { display: none; }
  .d-ed-tool:hover { display: none; }
  .d-ed-toolbar { display: none; }
  .d-ed-rich-wrap { display: none; }
  .d-ed-rich { display: none; }
  .d-ed-rich:focus-visible { display: none; }
  .d-ed-rich p, .d-ed-rich ul, .d-ed-rich ol, .d-ed-rich blockquote { display: none; }
  .d-ed-rich h3, .d-ed-rich h4 { display: none; }
  .d-ed-rich a { display: none; }
  .d-ed-rich blockquote { display: none; }
  .d-ed-rich table { display: none; }
  .d-ed-rich th, .d-ed-rich td { display: none; }
  .d-ed-field { display: none; }
  .d-ed-label { display: none; }
  .d-ed-hint { display: none; }
  .d-ed-input { display: none; }
  .d-ed-input:focus-visible { display: none; }
  .d-ed-area { display: none; }
  .d-ed-code { display: none; }
  .d-ed-heading-input { display: none; }
  .d-ed-count { display: none; }
  .d-ed-count[data-state="bad"] { display: none; }
  .d-ed-count[data-state="ok"] { display: none; }
  .d-ed-slug { display: none; }
  .d-ed-slug-prefix { display: none; }
  .d-ed-slug .d-ed-input { display: none; }
  .d-ed-row { display: none; }
  .d-ed-grow { display: none; }
  .d-ed-stack { display: none; }
  .d-ed-segment { display: none; }
  .d-ed-segment-option { display: none; }
  .d-ed-segment-option input { display: none; }
  .d-ed-segment-option span { display: none; }
  .d-ed-segment-option input:checked + span { display: none; }
  .d-ed-segment-option input:focus-visible + span { display: none; }
  .d-ed-check { display: none; }
  .d-ed-ghost { display: none; }
  .d-ed-ghost:hover { display: none; }
  .d-ed-ghost .icon, .d-ed-add-item .icon, .d-ed-bar-add .icon { display: none; }
  .d-ed-divider { display: none; }
  .d-ed-detected { display: none; }
  .d-ed-image-frame, .d-ed-cover-frame { display: none; }
  .d-ed-image-preview, .d-ed-cover-image { display: none; }
  .d-ed-image-empty, .d-ed-cover-empty { display: none; }
  .d-ed-cover { display: none; }
  .d-ed-library { display: none; }
  .d-ed-library::backdrop { display: none; }
  .d-ed-library-head { display: none; }
  .d-ed-library-title { display: none; }
  .d-ed-icon-button { display: none; }
  .d-ed-icon-button .icon { display: none; }
  .d-ed-upload { display: none; }
  .d-ed-upload-title { display: none; }
  .d-ed-file { display: none; }
  .d-ed-progress { display: none; }
  .d-ed-upload-status { display: none; }
  .d-ed-library-grid { display: none; }
  .d-ed-library-item { display: none; }
  .d-ed-library-item:hover, .d-ed-library-item:focus-visible { display: none; }
  .d-ed-library-image { display: none; }
  .d-ed-library-alt { display: none; }
  .d-ed-table-grid { display: none; }
  .d-ed-cell { display: none; }
  .d-ed-cell:focus-visible { display: none; }
  .d-ed-cell.is-head { display: none; }
  .d-ed-faq { display: none; }
  .d-ed-faq-item { display: none; }
  .d-ed-items { display: none; }
  .d-ed-item { display: none; }
  .d-ed-item-actions { display: none; }
  .d-ed-cols { display: none; }
  .d-ed-cols[data-count="3"] { display: none; }
  .d-ed-html-preview { display: none; }
  .d-ed-preview-problem { display: none; }
  .d-ed-add { display: none; }
  .d-ed-add-title { display: none; }
  .d-ed-add-grid { display: none; }
  .d-ed-add-item { display: none; }
  .d-ed-add-item:hover, .d-ed-add-item:focus-visible { display: none; }
  .d-ed-add-text { display: none; }
  .d-ed-add-text strong { display: none; }
  .d-ed-add-text span { display: none; }
  .d-ed-card { display: none; }
  .d-ed-card-title { display: none; }
  .d-ed-card-summary { display: none; }
  .d-ed-switch { display: none; }
  .d-ed-switch input { display: none; }
  .d-ed-switch-track { display: none; }
  .d-ed-switch-track::after { display: none; }
  .d-ed-switch input:checked + .d-ed-switch-track { display: none; }
  .d-ed-switch input:checked + .d-ed-switch-track::after { display: none; }
  .d-ed-switch input:focus-visible + .d-ed-switch-track { display: none; }
  .d-ed-switch-label { display: none; }
  .d-ed-actions { display: none; }
  button.d-ed-save, button.d-ed-save-preview, button.d-ed-primary { display: none; }
  button.d-ed-save-preview { display: none; }
  .d-ed-primary { display: none; }
  .d-ed-status { display: none; }
  .d-ed-css-result { display: none; }
  .d-ed-css-ok { display: none; }
  .d-ed-css-bad { display: none; }
  .d-ed-css-wait { display: none; }
  .d-ed-font-sample { display: none; }
  .d-ed-problems { display: none; }
  .d-ed-problems-title { display: none; }
  .d-ed-problems ul { display: none; }
  .d-ed-delete { display: none; }
  button.d-ed-danger { display: none; }
  .d-ed-danger-zone { display: none; }
  .d-ed-status-line { display: none; }
  .d-ed-status-card { display: none; }
  .d-ed-status-form { display: none; }
  button.d-ed-status-primary { display: none; }
  button.d-ed-status-secondary { display: none; }
  .d-ed-proposals-card { display: none; }
  .d-ed-proposals { display: none; }
  .d-ed-proposal { display: none; }
  .d-ed-proposal-by { display: none; }
  .d-ed-proposal-note { display: none; }
  .d-ed-proposal-actions { display: none; }
  .d-ed-proposal-form { display: none; }
  button.d-ed-proposal-accept { display: none; }
  button.d-ed-proposal-reject { display: none; }
  .d-ed-blocks-out { display: none; }

  /* ===== Price & delivery + customer reviews, PHONE (Rule 28): collapsed like the article's own "On this page" card ===== */
  .ax-stars { color: var(--accent-ink); letter-spacing: 0.06em; white-space: nowrap; }
  .ax-stars-off { color: var(--border); }
  .m-ax-price { margin: 0; overflow: hidden; background: var(--surface); border: var(--ax-frame); border-radius: var(--radius-l); }
  .m-ax-reviews { margin: 0; overflow: hidden; background: var(--surface); border: var(--ax-frame); border-radius: var(--radius-l); }
  .m-ax-summary { display: grid; grid-template-columns: minmax(0, 1fr) var(--icon); align-items: center; gap: var(--space-s); min-block-size: var(--row-h); padding: var(--space-s) var(--space); cursor: pointer; list-style: none; }
  .m-ax-summary-title { display: grid; gap: var(--space-xs); font-weight: 700; }
  .m-ax-badges { display: flex; flex-wrap: wrap; gap: var(--space-xs); font-weight: 600; }
  .m-ax-summary::-webkit-details-marker { display: none; }
  .m-ax-summary:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .m-ax-badge { padding: var(--space-2xs) var(--space-s); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; white-space: nowrap; background: var(--fill); border-radius: var(--radius-pill); }
  .m-ax-badge-rating { color: var(--accent-ink); background: var(--accent-soft); }
  .m-ax-chevron { color: var(--text-2); transition: transform var(--dur) var(--ease-spring); }
  .m-ax-price[open] .m-ax-chevron { transform: rotate(180deg); }
  .m-ax-reviews[open] .m-ax-chevron { transform: rotate(180deg); }
  .m-ax-panel { padding: var(--space) var(--space) var(--space); border-block-start: var(--ax-rule); }
  .m-ax-price-list { display: grid; margin: 0; }
  .m-ax-price-fact { display: grid; grid-template-columns: var(--ax-label-cols); gap: var(--space-s); padding-block: var(--space-s); font-size: var(--step-small); border-block-end: var(--ax-rule); }
  .m-ax-price-fact:last-child { border-block-end: 0; }
  .m-ax-price-fact dt { color: var(--text-2); }
  .m-ax-price-fact dd { display: grid; gap: var(--ax-label-gap); margin: 0; font-weight: 600; overflow-wrap: anywhere; }
  .m-ax-price-note { color: var(--text-2); font: 400 var(--step-caption)/1.4 var(--font-body); }
  .ax-price-star { margin-inline-start: 0.08em; color: var(--accent-ink); font-size: 0.85em; font-weight: 700; vertical-align: 0.3em; line-height: 0; }
  .m-ax-price-value { overflow-wrap: anywhere; }
  .m-ax-footnote { margin: var(--space-s) 0 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.45; }
  .m-ax-policy { display: grid; gap: var(--space-2xs); margin: var(--space) 0 0; padding-block-start: var(--space); border-block-start: var(--ax-rule); }
  .m-ax-policy-title { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--ax-label-size); font-weight: 700; letter-spacing: var(--ax-label-track); text-transform: var(--label-case); }
  .m-ax-policy-text { margin: 0; color: var(--text-2); font: 400 var(--step-caption)/1.5 var(--font-body); }
  .m-ax-price-link { margin: var(--space-2xs) 0 0; }
  .m-ax-price-link a { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; }
  .m-ax-price-actions { display: grid; gap: var(--space-s); margin-block-start: var(--space); }
  .m-ax-quote { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--row-h); color: var(--bg); font-weight: 700; text-decoration: none; background: var(--text); border-radius: var(--radius-pill); }
  .m-ax-quote .icon { inline-size: 1em; block-size: 1em; }
  .m-ax-quote:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-ax-quote-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); text-align: center; }
  /* Variants and calls to action (App\BlockTrees, owner 2026-10-06): phone = one card per variant, full-width stacked buttons. */
  .article-prose .ax-variants { margin-block: var(--ax-flow-wide); }
  .article-prose .ax-cta { margin-block: var(--ax-flow-wide); }
  .article-prose .ax-cta-intro { color: var(--text-2); }
  .m-ax-variants { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-ax-variant { display: grid; gap: var(--space-2xs); margin: 0; padding: var(--ax-pad); background: var(--surface); border: var(--ax-frame); border-radius: var(--ax-radius); }
  .m-ax-variant-photo { inline-size: 100%; block-size: auto; margin-block-end: var(--space-2xs); border-radius: var(--ax-radius-inner); }
  .m-ax-variant-name { margin: 0; color: var(--text); font-weight: 700; overflow-wrap: anywhere; }
  .m-ax-variant-link { color: var(--accent-ink); }
  .m-ax-variant-note { margin: 0; color: var(--text-2); overflow-wrap: anywhere; }
  .m-ax-variant-sku { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-ax-variant-sku-label { font-weight: 700; text-transform: var(--label-case); letter-spacing: var(--ax-label-track); }
  .m-ax-cta { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ax-flow-tight); }
  .m-ax-cta-btn { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--row-h); padding-inline: var(--ax-btn-pad); font-weight: 700; text-align: center; text-decoration: none; border-radius: var(--radius-pill); }
  .m-ax-cta-primary { color: var(--accent-text); background: var(--accent); }
  .m-ax-cta-secondary { color: var(--accent-ink); background: transparent; box-shadow: inset 0 0 0 var(--line) var(--border); }
  .m-ax-cta-icon { flex: none; inline-size: var(--icon); block-size: var(--icon); }
  .m-ax-cta-label { min-inline-size: 0; overflow-wrap: anywhere; }
  .m-ax-cta-btn:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .article-prose .m-ax-variants { display: grid; gap: var(--space-s); margin: 0; padding: 0; border-block: 0; }
  .article-prose .m-ax-variants > li { margin: 0; padding: var(--ax-pad); line-height: inherit; }
  .article-prose .m-ax-variants > li::before { content: none; }
  .article-prose .m-ax-variants > li + li { border-block-start: var(--ax-frame); }
  .article-prose .d-ax-variants { display: none; }
  .article-prose .d-ax-variants > li { display: none; }
  .article-prose .d-ax-variants > li::before { display: none; }
  .article-prose .d-ax-variants > li + li { display: none; }
  .d-ax-variants { display: none; }
  .d-ax-variant { display: none; }
  .d-ax-variant:has(> .d-ax-variant-photo) { display: none; }
  .d-ax-variant-photo { display: none; }
  .d-ax-variant-name { display: none; }
  .d-ax-variant-link { display: none; }
  .d-ax-variant-note { display: none; }
  .d-ax-variant-sku { display: none; }
  .d-ax-variant-sku-label { display: none; }
  .d-ax-cta { display: none; }
  .d-ax-cta-btn { display: none; }
  .d-ax-cta-primary { display: none; }
  .d-ax-cta-secondary { display: none; }
  .d-ax-cta-icon { display: none; }
  .d-ax-cta-label { display: none; }
  .d-ax-cta-btn:focus-visible { display: none; }
  .m-ax-reviews-panel { display: grid; gap: var(--space); }
  .m-ax-rating { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s) var(--space); }
  .m-ax-rating-value { margin: 0; font: 800 var(--step-3)/1 var(--font-display); }
  .m-ax-rating-best { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-ax-rating-meta { display: grid; gap: var(--space-2xs); margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-ax-filters { grid-column: 1 / -1; display: grid; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-ax-filter { position: relative; display: grid; margin: 0; grid-template-columns: calc(var(--space) * 2.5) minmax(0, 1fr) calc(var(--space) * 1.5); align-items: center; gap: var(--space-s); min-block-size: var(--tap); padding-inline: var(--space-s); font-size: var(--step-small); border-radius: var(--radius); cursor: pointer; }
  .m-ax-filter-all { grid-template-columns: minmax(0, 1fr); font-weight: 600; }
  .m-ax-filter input { position: absolute; inline-size: var(--line); block-size: var(--line); margin: 0; opacity: 0; }
  .m-ax-filter:has(input:checked) { color: var(--accent-ink); background: var(--accent-soft); }
  .m-ax-filter:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-ax-filter:has(input:disabled) { opacity: 0.45; cursor: default; }
  .m-ax-filter-star { font-weight: 600; white-space: nowrap; }
  .m-ax-filter-count { color: var(--text-2); font-size: var(--step-caption); text-align: end; }
  .m-ax-bar { inline-size: 100%; block-size: calc(var(--space-xs) * 2); appearance: none; background: var(--fill); border: 0; border-radius: var(--radius-pill); overflow: hidden; }
  .m-ax-bar::-webkit-meter-bar { block-size: calc(var(--space-xs) * 2); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  .m-ax-bar::-webkit-meter-optimum-value { background: var(--accent); border-radius: var(--radius-pill); }
  .m-ax-bar::-moz-meter-bar { background: var(--accent); border-radius: var(--radius-pill); }
  .m-ax-review-area { display: grid; gap: var(--space-s); padding-block-start: var(--space); border-block-start: var(--ax-rule); }
  .m-ax-review-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-ax-review { display: grid; align-content: start; gap: var(--space-xs); padding: var(--ax-pad); background: var(--bg); border-radius: var(--radius); }
  .m-ax-review[data-extra] { display: none; }
  .m-ax-review-area:has(.m-ax-more-input:checked) .m-ax-review[data-extra] { display: grid; }
  .m-ax-reviews-panel:has(.m-ax-filters input:not([value="all"]):checked) .m-ax-review[data-extra] { display: grid; }
  .m-ax-reviews-panel:has(.m-ax-filters input:not([value="all"]):checked) .m-ax-more { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="1"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="1"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="2"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="2"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="3"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="3"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="4"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="4"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="5"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="5"]) { display: none; }
  .m-ax-review-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  .m-ax-review-score { font-size: var(--step-small); font-weight: 700; }
  .m-ax-review-body { margin: 0; }
  .m-ax-review-body p { margin: 0; line-height: 1.55; }
  .m-ax-review-by { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-ax-review-author { color: var(--text); font-weight: 600; }
  .m-ax-review-date { color: var(--text-2); }
  .m-ax-more { position: relative; display: flex; margin: 0; align-items: center; justify-content: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; border: var(--ax-frame); border-radius: var(--radius-pill); cursor: pointer; }
  .m-ax-more-input { position: absolute; inline-size: var(--line); block-size: var(--line); margin: 0; opacity: 0; }
  .m-ax-more:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-ax-more-hide { display: none; }
  .m-ax-more:has(input:checked) .m-ax-more-show { display: none; }
  .m-ax-more:has(input:checked) .m-ax-more-hide { display: inline; }
  .d-ax-price { display: none; }
  .d-ax-reviews { display: none; }
  .d-ax-summary { display: none; }
  .d-ax-summary-title { display: none; }
  .d-ax-badges { display: none; }
  .d-ax-summary::-webkit-details-marker { display: none; }
  .d-ax-summary:focus-visible { display: none; }
  .d-ax-badge { display: none; }
  .d-ax-badge-rating { display: none; }
  .d-ax-chevron { display: none; }
  .d-ax-price[open] .d-ax-chevron { display: none; }
  .d-ax-reviews[open] .d-ax-chevron { display: none; }
  .d-ax-panel { display: none; }
  .d-ax-price-grid { display: none; }
  .d-ax-price-fact:last-child:nth-child(3n+2) { display: none; }
  .d-ax-price-fact:last-child:nth-child(3n+1) { display: none; }
  .d-ax-price-fact { display: none; }
  .d-ax-price-fact dt { display: none; }
  .d-ax-price-fact dd { display: none; }
  .d-ax-price-note { display: none; }
  .d-ax-price-value { display: none; }
  .d-ax-footnote { display: none; }
  .d-ax-policy { display: none; }
  .d-ax-policy-title { display: none; }
  .d-ax-policy-text { display: none; }
  .d-ax-price-link { display: none; }
  .d-ax-price-link a { display: none; }
  .d-ax-price-actions { display: none; }
  .d-ax-quote { display: none; }
  .d-ax-quote .icon { display: none; }
  .d-ax-quote:focus-visible { display: none; }
  .d-ax-quote-note { display: none; }
  .d-ax-reviews-panel { display: none; }
  .d-ax-rating { display: none; }
  .d-ax-rating-value { display: none; }
  .d-ax-rating-best { display: none; }
  .d-ax-rating-meta { display: none; }
  .d-ax-filters { display: none; }
  .d-ax-filter { display: none; }
  .d-ax-filter-all { display: none; }
  .d-ax-filter input { display: none; }
  .d-ax-filter:has(input:checked) { display: none; }
  .d-ax-filter:has(input:focus-visible) { display: none; }
  .d-ax-filter:has(input:disabled) { display: none; }
  .d-ax-filter-star { display: none; }
  .d-ax-filter-count { display: none; }
  .d-ax-bar { display: none; }
  .d-ax-bar::-webkit-meter-bar { display: none; }
  .d-ax-bar::-webkit-meter-optimum-value { display: none; }
  .d-ax-bar::-moz-meter-bar { display: none; }
  .d-ax-review-area { display: none; }
  .d-ax-review-list { display: none; }
  .d-ax-review { display: none; }
  .d-ax-review[data-extra] { display: none; }
  .d-ax-review-area:has(.d-ax-more-input:checked) .d-ax-review[data-extra] { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input:not([value="all"]):checked) .d-ax-review[data-extra] { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input:not([value="all"]):checked) .d-ax-more { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="1"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="1"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="2"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="2"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="3"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="3"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="4"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="4"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="5"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="5"]) { display: none; }
  .d-ax-review-head { display: none; }
  .d-ax-review-score { display: none; }
  .d-ax-review-body { display: none; }
  .d-ax-review-body p { display: none; }
  .d-ax-review-by { display: none; }
  .d-ax-review-author { display: none; }
  .d-ax-review-date { display: none; }
  .d-ax-more { display: none; }
  .d-ax-more-input { display: none; }
  .d-ax-more:has(input:focus-visible) { display: none; }
  .d-ax-more-hide { display: none; }
  .d-ax-more:has(input:checked) .d-ax-more-show { display: none; }
  .d-ax-more:has(input:checked) .d-ax-more-hide { display: none; }
  .d-ax-filter:hover { display: none; }
  /* ===== Article system, PHONE rendering (Rule 27) - stacked, thumb-first, label above value ===== */
  .article-prose > * + .ax-callout, .article-prose > * + .ax-quote, .article-prose > * + .ax-faq { margin-block-start: var(--ax-flow); }
  .article-prose .ax-callout { gap: var(--ax-flow-tight); margin-block: var(--ax-flow); padding: var(--ax-pad); border-radius: var(--ax-radius); box-shadow: inset 0 0 0 var(--line) var(--separator); }
  .article-prose .ax-callout p { margin: 0; }
  .article-prose .ax-callout ul { display: grid; margin: 0; padding: 0; border-block: 0; }
  .article-prose .ax-callout ul > li { padding-block: var(--ax-flow-tight); padding-inline-start: var(--space-m); }
  .article-prose .ax-callout ul > li + li { border-block-start: var(--ax-rule); }
  .article-prose .ax-callout ul:has(> li:nth-child(4)) { grid-template-columns: minmax(0, 1fr); }
  .article-prose .ax-callout ul:has(> li:nth-child(4)) > li:nth-child(2) { border-block-start: var(--ax-rule); }
  .article-prose .ax-quote { margin-block: var(--ax-flow); padding: var(--ax-pad); font-size: var(--step-base); border-radius: var(--ax-radius); }
  .article-prose .ax-quote::before { content: "\201C"; display: block; block-size: calc(var(--ax-quote-mark) * 0.5); color: var(--accent-ink); font: 700 var(--ax-quote-mark)/1 var(--font-display); }
  .article-prose .ax-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ax-flow-tight); margin-block: var(--ax-flow); }
  .article-prose .ax-actions .ax-btn { inline-size: 100%; padding-inline: var(--ax-btn-pad); }
  .article-prose .ax-btn-secondary { color: var(--accent-ink); background: transparent; border: 0; box-shadow: inset 0 0 0 var(--line) var(--border); }
  .article-prose ul > li:has(> strong:first-child) { padding-inline-start: 0; }
  .article-prose ul > li:has(> strong:first-child)::before { content: none; }
  .article-prose ul > li:has(> strong:first-child) > strong:first-child { display: block; margin-block-end: var(--ax-label-gap); color: var(--text-2); font-size: var(--ax-label-size); font-weight: 700; letter-spacing: var(--ax-label-track); text-transform: uppercase; }
  .article-prose .ax-faq { margin-block: var(--ax-flow); }
  .article-prose .ax-faq-q h3 { margin: 0; font-size: var(--step-base); line-height: 1.35; }
  .article-prose .ax-faq-a p { margin-block: 0 var(--ax-flow-tight); }
  .article-prose .m-spec { margin-block: var(--ax-flow-tight) var(--ax-flow); border: var(--ax-frame); border-radius: var(--ax-radius); }
  .article-prose .m-spec-row { padding: var(--ax-flow-tight) var(--ax-pad); }
  .article-prose .m-spec-row:nth-child(even) { background: var(--ax-zebra); }
  .article-prose .m-spec-row dt { font-size: var(--ax-label-size); letter-spacing: var(--ax-label-track); }
  .article-prose .m-spec-row dd { font-weight: 600; }
  .article-prose .d-spec-table tbody tr:nth-child(even) { display: none; }
  .article-prose .d-spec-table td { display: none; }

  /* Admin -> Menus, rebuilt 2026-10-05 (list, or one item's own screen) + Admin -> Icons (docs/audit/MENU-SYSTEM-AUDIT-2026-10-05.md) */
  .m-mn-listcard { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .m-mn-list-head { display: grid; gap: var(--space-s); }
  a.m-mn-add { display: flex; align-items: center; justify-content: center; gap: var(--space-2xs); min-block-size: var(--tap); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 700; text-decoration: none; }
  a.m-mn-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs) var(--space-s); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-l); background: var(--fill); color: var(--text); text-decoration: none; }
  a.m-mn-row:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); }
  .m-mn-item.is-off > a.m-mn-row { opacity: 0.6; }
  .m-mn-item.is-group > a.m-mn-row { background: var(--surface); box-shadow: inset 0 0 0 var(--line) var(--separator); }
  .m-mn-row-go { inline-size: 1em; block-size: 1em; color: var(--text-2); transform: rotate(-90deg); scale: var(--dir) 1; }
  a.m-mn-row .m-mn-badges { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); margin-inline-start: var(--space-2xs); vertical-align: middle; }
  .m-mn-row-addr { flex: 1 1 calc(var(--tap) * 1.5); min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  a.m-mn-row .m-mn-row-where { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); -webkit-line-clamp: none; line-clamp: none; }
  a.m-mn-row .m-mn-row-text > strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--mn-title-lines); line-clamp: var(--mn-title-lines); overflow: hidden; overflow-wrap: anywhere; }
  button.m-mn-linkbtn { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: 0 var(--space-s); background: var(--accent-soft); color: var(--accent-ink); font-size: var(--step-small); }
  button.m-mn-linkbtn[type="submit"] { background: var(--accent); color: var(--accent-text); }
  .d-mn-row-text > strong { display: none; }
  .d-mn-row-actions > .d-mn-move.is-up { display: none; }
  .d-mn-row-actions > .d-mn-move.is-down { display: none; }
  .d-mn-row-actions > .d-mn-move.is-out, .d-mn-row-actions > .d-mn-move.is-in { display: none; }
  .d-mn-item.is-group > .d-mn-row button.d-mn-iconbtn { display: none; }
  .d-mn-grid.is-editing .d-mn-row { display: none; }
  .d-mn-grid.is-editing .d-mn-handle { display: none; }
  .d-mn-grid.is-editing .d-mn-children { display: none; }
  .d-mn-grid.is-editing .d-mn-row-actions { display: none; }
  button.d-mn-linkbtn { display: none; }
  button.d-mn-linkbtn[type="submit"] { display: none; }
  .d-mn-row-addr { display: none; }
  .d-mn-row-text .d-mn-row-where { display: none; }
  .d-mn-row-text .d-mn-badges { display: none; }
  .d-mn-grid:not(.is-editing) .d-mn-side { display: none; }
  .d-mn-grid.is-editing .d-mn-row .d-mn-move { display: none; }
  .m-mn-kind { margin-inline-end: var(--space-2xs); padding: 0 var(--space-2xs); border-radius: var(--radius); background: var(--surface); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; }
  .m-mn-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-tiny); font-weight: 700; white-space: nowrap; }
  .m-mn-chip .icon { inline-size: 1em; block-size: 1em; }
  .m-mn-chip.is-problem { background: var(--error-bg); color: var(--error); }
  .m-mn-chip.is-todo { background: var(--info-bg); color: var(--info); }
  .m-mn-chip.is-quiet { background: var(--surface); color: var(--text-2); font-weight: 600; }
  .m-mn-allgood { display: flex; align-items: center; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius-l); background: var(--surface); color: var(--ok); font-weight: 600; font-size: var(--step-small); }
  .m-mn-allgood .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-mn-health { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-mn-health-item { display: grid; gap: var(--space-2xs); padding-block: var(--space-xs); border-block-start: var(--line) solid var(--separator); }
  .m-mn-health-text { display: grid; gap: calc(var(--space-2xs) * 0.5); font-size: var(--step-small); color: var(--text-2); overflow-wrap: anywhere; }
  .m-mn-health-text strong { color: var(--text); }
  .m-mn-health-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(var(--tap) * 3), 1fr)); gap: var(--space-xs); }
  .m-mn-fix { margin: 0; display: contents; }
  .m-mn-linkbtn { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-block-size: var(--tap); margin: 0; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; }
  .m-mn-side { display: none; }
  .m-mn-grid { display: none; }
  .m-mn-back { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .m-mn-back .icon { inline-size: 1em; block-size: 1em; transform: rotate(180deg); scale: var(--dir) 1; }
  .m-mn-editor-title { margin: 0; font-size: var(--step-1); overflow-wrap: anywhere; }
  .d-mn-editor .d-mn-editor-head { display: none; }
  .m-mn-editor .m-mn-editor-head { grid-template-columns: minmax(0, 1fr); justify-items: start; gap: var(--space-2xs); }
  .m-mn-form { display: grid; gap: var(--space-s); margin: 0; }
  .m-mn-actions { position: sticky; inset-block-end: calc(var(--space-s) + env(safe-area-inset-bottom, 0rem)); display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-xs); padding: var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-mn-actions .m-mn-secondary { display: grid; place-items: center; min-block-size: var(--tap); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-weight: 600; text-decoration: none; }
  .m-mn-position { display: grid; gap: var(--space-xs); }
  .m-mn-position-moves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-mn-position-moves > .m-mn-move.is-out, .m-mn-position-moves > .m-mn-move.is-in { grid-column: 1 / -1; }
  .m-mn-danger-zone button.m-mn-danger { background: var(--surface); }
  .d-mn-danger-zone button.d-mn-danger { display: none; }
  button.m-mn-iconbtn.has-text { display: flex; justify-content: center; gap: var(--space-xs); padding-inline: var(--space-s); font: inherit; font-size: var(--step-small); font-weight: 600; background: var(--fill); }
  .m-mn-find { position: relative; }
  .m-mn-find-box { position: relative; display: grid; min-inline-size: 0; }
  .m-mn-find-list { display: grid; margin: var(--space-2xs) 0 0; padding: var(--space-2xs); list-style: none; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); max-block-size: calc(var(--tap) * 6.5); overflow-y: auto; }
  .m-mn-find-option { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); cursor: pointer; }
  .m-mn-find-option[aria-selected="true"] { background: var(--accent-soft); color: var(--accent-ink); }
  .m-mn-find-kind { padding: 0 var(--space-2xs); border-radius: var(--radius); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; }
  .m-mn-find-text { display: grid; min-inline-size: 0; font-size: var(--step-small); }
  .m-mn-find-text span:last-child { color: var(--text-2); font-size: var(--step-tiny); overflow-wrap: anywhere; }
  .m-mn-find-typed { font-weight: 400; }
  .m-mn-find-text strong { font-weight: 700; overflow-wrap: anywhere; }
  .m-mn-icon-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); }
  .m-mn-icon-manage { color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; }
  .m-mn-icon-group { margin: var(--space-xs) 0 0; color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
  .m-mn-icons { grid-template-columns: repeat(auto-fill, minmax(calc(var(--tap) * 1.5), 1fr)); }
  .m-mn-icon-choice { aspect-ratio: auto; gap: calc(var(--space-2xs) * 0.5); min-block-size: calc(var(--tap) * 1.3); padding: var(--space-2xs); }
  .m-mn-icon-name { max-inline-size: 100%; font-size: var(--step-tiny); line-height: 1.15; text-align: center; color: var(--text-2); overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
  .m-ic { display: grid; gap: var(--space); }
  .m-ic-add { display: none; }
  .m-ic-library { display: grid; gap: var(--space-s); }
  .m-ic-form { display: grid; gap: var(--space-s); margin: 0; }
  .m-ic-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-ic-label { margin: 0; padding: 0; font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .m-ic-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .m-ic-code { inline-size: 100%; min-inline-size: 0; padding: var(--space-xs); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: var(--step-small)/1.4 ui-monospace, monospace; overflow-wrap: anywhere; resize: vertical; }
  .m-ic-file { display: grid; place-items: center; min-block-size: var(--tap); border-radius: var(--radius-pill); background: var(--fill); font-weight: 600; cursor: pointer; }
  .m-ic-file input { inline-size: 100%; max-inline-size: 100%; font-size: var(--step-small); }
  .m-ic-pair { display: grid; gap: var(--space-s); }
  .m-ic-input { min-block-size: var(--field-h); inline-size: 100%; min-inline-size: 0; padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .m-ic-result { display: grid; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-ic-result.is-ok { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--ok); }
  .m-ic-result.is-problem { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--error); }
  .m-ic-preview { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }
  .m-ic-size { display: grid; place-items: center; border-radius: var(--radius); background: var(--surface); color: var(--text); }
  .m-ic-size.is-s { inline-size: var(--tap); block-size: var(--tap); }
  .m-ic-size.is-m { inline-size: calc(var(--tap) * 1.5); block-size: calc(var(--tap) * 1.5); }
  .m-ic-size.is-l { inline-size: calc(var(--tap) * 2); block-size: calc(var(--tap) * 2); }
  .m-ic-size.is-m .icon { inline-size: calc(var(--icon) * 1.5); block-size: calc(var(--icon) * 1.5); }
  .m-ic-size.is-l .icon { inline-size: calc(var(--icon) * 2.4); block-size: calc(var(--icon) * 2.4); }
  .m-ic-inrow { display: inline-flex; align-items: center; gap: var(--space-xs); font-weight: 600; }
  .m-ic-meta { margin: 0; color: var(--text-2); font-size: var(--step-tiny); }
  .m-ic-problem { display: flex; gap: var(--space-xs); margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; overflow-wrap: anywhere; }
  .m-ic-note { margin: 0; color: var(--info); font-size: var(--step-small); }
  .m-ic-good { display: flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--ok); font-weight: 700; }
  .m-ic-problem .icon, .m-ic-good .icon { inline-size: 1.1em; block-size: 1.1em; flex: none; }
  .m-ic-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-ic-primary, .m-ic-secondary, .m-ic-danger { min-block-size: var(--tap); margin: 0; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); font: inherit; font-weight: 700; cursor: pointer; }
  .m-ic-primary { background: var(--accent); color: var(--accent-text); }
  .m-ic-secondary { background: var(--fill); color: var(--text); }
  .m-ic-danger { background: var(--error-bg); color: var(--error); }
  .m-ic-delete { display: grid; gap: var(--space-xs); margin: var(--space-xs) 0 0; }
  .m-ic-toggle { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); font-size: var(--step-small); }
  .m-ic-tools { display: grid; }
  .m-ic-group { display: grid; gap: var(--space-xs); }
  .m-ic-group-title { margin: var(--space-xs) 0 0; font-size: var(--step-small); color: var(--text-2); text-transform: uppercase; letter-spacing: 0.04em; }
  .m-ic-count { padding: 0 var(--space-2xs); border-radius: var(--radius-pill); background: var(--fill); }
  .m-ic-grid { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-ic-tile { display: grid; min-inline-size: 0; }
  .m-ic-more { display: grid; }
  .m-ic-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-l); background: var(--fill); cursor: pointer; list-style: none; }
  .m-ic-summary::-webkit-details-marker { display: none; }
  .m-ic-glyph { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: var(--radius); background: var(--surface); }
  .m-ic-text { display: grid; min-inline-size: 0; font-size: var(--step-small); }
  .m-ic-text code { color: var(--text-2); font-size: var(--step-tiny); overflow-wrap: anywhere; }
  .m-ic-uses { color: var(--text-2); font-size: var(--step-tiny); }
  .d-mn-listcard { display: none; }
  .d-mn-list-head { display: none; }
  a.d-mn-add { display: none; }
  a.d-mn-edit { display: none; }
  a.d-mn-edit[aria-current="true"] { display: none; }
  .d-ic-text strong { display: none; }
  .d-mn-kind { display: none; }
  .d-mn-chip { display: none; }
  .d-mn-chip .icon { display: none; }
  .d-mn-chip.is-problem { display: none; }
  .d-mn-chip.is-todo { display: none; }
  .d-mn-chip.is-quiet { display: none; }
  .d-mn-allgood { display: none; }
  .d-mn-allgood .icon { display: none; }
  .d-mn-health { display: none; }
  .d-mn-health-item { display: none; }
  .d-mn-health-text { display: none; }
  .d-mn-health-text strong { display: none; }
  .d-mn-health-actions { display: none; }
  .d-mn-fix { display: none; }
  .d-mn-linkbtn { display: none; }
  .d-mn-side { display: none; }
  .d-mn-grid.is-editing { display: none; }
  .d-mn-item.is-current > .d-mn-row { display: none; }
  .d-mn-back { display: none; }
  .d-mn-back .icon { display: none; }
  .d-mn-editor-title { display: none; }
  .d-mn-form { display: none; }
  .d-mn-actions { display: none; }
  .d-mn-actions .d-mn-secondary { display: none; }
  .d-mn-position { display: none; }
  .d-mn-position-moves { display: none; }
  button.d-mn-iconbtn.has-text { display: none; }
  .d-mn-find { display: none; }
  .d-mn-find-box { display: none; }
  .d-mn-find-list { display: none; }
  .d-mn-find-option { display: none; }
  .d-mn-find-option[aria-selected="true"] { display: none; }
  .d-mn-find-kind { display: none; }
  .d-mn-find-text { display: none; }
  .d-mn-find-text strong { display: none; }
  .d-mn-find-text span:last-child { display: none; }
  .d-mn-find-typed { display: none; }
  .d-mn-icon-tools { display: none; }
  .d-mn-icon-manage { display: none; }
  .d-mn-icon-group { display: none; }
  .d-mn-icon-name { display: none; }
  .d-ic { display: none; }
  .d-ic-add { display: none; }
  .d-ic-library { display: none; }
  .d-ic-form { display: none; }
  .d-ic-field { display: none; }
  .d-ic-label { display: none; }
  .d-ic-hint { display: none; }
  .d-ic-code { display: none; }
  .d-ic-file { display: none; }
  .d-ic-file input { display: none; }
  .d-ic-pair { display: none; }
  .d-ic-input { display: none; }
  .d-ic-result { display: none; }
  .d-ic-result.is-ok { display: none; }
  .d-ic-result.is-problem { display: none; }
  .d-ic-preview { display: none; }
  .d-ic-size { display: none; }
  .d-ic-size.is-s { display: none; }
  .d-ic-size.is-m { display: none; }
  .d-ic-size.is-l { display: none; }
  .d-ic-size.is-m .icon { display: none; }
  .d-ic-size.is-l .icon { display: none; }
  .d-ic-inrow { display: none; }
  .d-ic-meta { display: none; }
  .d-ic-problem { display: none; }
  .d-ic-note { display: none; }
  .d-ic-good { display: none; }
  .d-ic-problem .icon, .d-ic-good .icon { display: none; }
  .d-ic-actions { display: none; }
  .d-ic-primary, .d-ic-secondary, .d-ic-danger { display: none; }
  .d-ic-primary { display: none; }
  .d-ic-secondary { display: none; }
  .d-ic-danger { display: none; }
  .d-ic-delete { display: none; }
  .d-ic-toggle { display: none; }
  .d-ic-tools { display: none; }
  .d-ic-group { display: none; }
  .d-ic-group-title { display: none; }
  .d-ic-count { display: none; }
  .d-ic-grid { display: none; }
  .d-ic-tile { display: none; }
  .d-ic-more { display: none; }
  .d-ic-summary { display: none; }
  .d-ic-summary::-webkit-details-marker { display: none; }
  .d-ic-glyph { display: none; }
  .d-ic-text { display: none; }
  .d-ic-text code { display: none; }
  .d-ic-uses { display: none; }

  /* Admin -> Head code (2026-10-05, redesigned): summary, decisions, codes with their sites, verification, aside */
  .m-hc { display: grid; gap: var(--space); }
  .m-hc-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-hc-ask { display: grid; gap: var(--space-xs); padding: var(--space-xs); border-radius: var(--radius); background: var(--fill); font-size: var(--step-small); }
  .m-hc-code-grid { display: grid; gap: var(--space-s); }
  .m-hc-mini { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); margin: 0; }
  .m-hc-mini.is-row { flex-wrap: nowrap; }
  .m-hc-h2 { margin: 0; font-size: var(--step-1); line-height: 1.25; }
  .m-hc-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-hc-summary li { display: grid; align-content: start; gap: 0; min-inline-size: 0; padding: var(--space-xs) var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius); background: var(--surface); }
  .m-hc-summary strong { font-size: var(--step-2); line-height: 1.1; font-variant-numeric: tabular-nums; }
  .m-hc-summary span { color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-hc-summary li.is-todo { border-color: var(--accent-line); background: var(--accent-soft); }
  .m-hc-summary li.is-done strong { color: var(--ok); }
  .m-hc-decide { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-hc-asks { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-hc-ask form { display: grid; margin: 0; }
  .m-hc-ask-text { display: grid; gap: 0; min-inline-size: 0; overflow-wrap: anywhere; }
  .m-hc-ask-text span { color: var(--text-2); font-size: var(--step-tiny); }
  .m-hc-codes { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; }
  .m-hc-facts { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .m-hc-label { margin: 0; color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; letter-spacing: var(--label-track); }
  .m-hc-label label { color: inherit; font: inherit; }
  .m-hc-addr { margin: 0 0 var(--space-2xs); font-size: var(--step-small); overflow-wrap: anywhere; word-break: break-all; }
  .m-hc-mini.is-stack { display: grid; align-items: stretch; }
  .m-hc-select { min-block-size: var(--tap); flex: 1 1 0; min-inline-size: 0; padding: 0 var(--space-xs); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; font-size: var(--step-small); }
  button.m-hc-btn { min-block-size: var(--tap); inline-size: auto; flex: none; margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  button.m-hc-btn:hover { background: var(--fill); }
  button.m-hc-btn.is-primary { border-color: var(--accent); background: var(--accent); color: var(--accent-text); }
  button.m-hc-btn.is-danger { border-color: var(--error); background: var(--surface); color: var(--error); }
  button.m-hc-btn.is-on { border-color: transparent; background: var(--ok-bg); color: var(--ok); }
  .m-hc-sites-box { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .m-hc-sites { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-hc-site { display: grid; gap: 0; min-inline-size: 0; padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); background: var(--fill); }
  .m-hc-site-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); min-inline-size: 0; }
  .m-hc-site-name { font-size: var(--step-small); font-weight: 600; overflow-wrap: anywhere; }
  .m-hc-role { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; }
  .m-hc-role.is-main { background: var(--accent-soft); color: var(--accent-ink); }
  .m-hc-allowed { margin: 0; color: var(--text-2); font-size: var(--step-tiny); overflow-wrap: anywhere; }
  .m-hc-shared { margin: 0; color: var(--text-2); font-size: var(--step-tiny); font-style: italic; overflow-wrap: anywhere; }
  .m-hc-change { margin: 0; }
  .m-hc-change-sum { inline-size: fit-content; color: var(--accent-ink); font-size: var(--step-tiny); font-weight: 600; cursor: pointer; display: flex; align-items: center; min-block-size: var(--tap); }
  .m-hc-sws { display: grid; margin: 0; padding: 0; list-style: none; }
  .m-hc-sw { margin: 0; border-block-end: var(--line) solid var(--separator); }
  .m-hc-sw form { margin: 0; }
  button.m-hc-sw-btn { min-block-size: var(--tap); display: flex; justify-content: space-between; align-items: center; gap: var(--space-xs); inline-size: 100%; margin: 0; padding: 0; border: 0; background: none; color: var(--text); font: inherit; font-size: var(--step-small); text-align: start; cursor: pointer; }
  button.m-hc-sw-btn:disabled { opacity: 0.4; cursor: default; }
  .m-hc-sw-text { display: grid; min-inline-size: 0; overflow-wrap: anywhere; }
  .m-hc-sw-name { font-weight: 600; }
  .m-hc-sw-why { color: var(--text-2); font-size: var(--step-tiny); }
  .m-hc-sw-track { position: relative; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); border-radius: var(--radius-pill); background: var(--switch-off); transition: background var(--dur-fast) var(--ease-out); }
  .m-hc-sw-thumb { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  .m-hc-sw.is-on .m-hc-sw-track { background: var(--switch-on); }
  .m-hc-sw.is-on .m-hc-sw-thumb { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .m-hc-danger { margin-block-start: var(--space-xs); padding-block-start: var(--space-2xs); border-block-start: var(--line) solid var(--separator); }
  .m-hc-danger-sum { inline-size: fit-content; color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; cursor: pointer; display: flex; align-items: center; min-block-size: var(--tap); }
  .m-hc-check { display: flex; align-items: center; gap: var(--space-2xs); font-size: var(--step-small); }
  .m-hc-verify { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .m-hc-vlist { display: grid; margin: 0; padding: 0; list-style: none; }
  .m-hc-vrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); border-block-end: var(--line) solid var(--separator); min-block-size: var(--tap); }
  .m-hc-vrow:last-child { border-block-end: 0; }
  .m-hc-vrow form { margin: 0; }
  .m-hc-vrow.is-off .m-hc-vtext { opacity: 0.6; }
  .m-hc-vtext { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--space-xs); min-inline-size: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .m-hc-vtext code { color: var(--text-2); font-size: var(--step-tiny); }
  .m-hc-add { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .m-hc-known { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: var(--space-2xs) 0 0; padding: 0; list-style: none; }
  .m-hc-known li { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); }

  .d-hc { display: none; }
  .d-hc-main { display: none; }
  .d-hc-aside { display: none; }
  .d-hc-aside .d-ic-pair { display: none; }
  .d-hc-summary { display: none; }
  .d-hc-ask { display: none; }
  .d-hc-code-grid { display: none; }
  .d-hc-mini { display: none; }
  .d-hc-mini.is-row { display: none; }
  .d-hc-h2 { display: none; }
  .d-hc-hint { display: none; }
  .d-hc-summary li { display: none; }
  .d-hc-summary strong { display: none; }
  .d-hc-summary span { display: none; }
  .d-hc-summary li.is-todo { display: none; }
  .d-hc-summary li.is-done strong { display: none; }
  .d-hc-decide { display: none; }
  .d-hc-asks { display: none; }
  .d-hc-ask form { display: none; }
  .d-hc-ask-text { display: none; }
  .d-hc-ask-text span { display: none; }
  .d-hc-codes { display: none; }
  .d-hc-facts { display: none; }
  .d-hc-label { display: none; }
  .d-hc-label label { display: none; }
  .d-hc-addr { display: none; }
  .d-hc-mini.is-stack { display: none; }
  .d-hc-select { display: none; }
  button.d-hc-btn { display: none; }
  button.d-hc-btn:hover { display: none; }
  button.d-hc-btn.is-primary { display: none; }
  button.d-hc-btn.is-danger { display: none; }
  button.d-hc-btn.is-on { display: none; }
  .d-hc-sites-box { display: none; }
  .d-hc-sites { display: none; }
  .d-hc-site { display: none; }
  .d-hc-site-head { display: none; }
  .d-hc-site-name { display: none; }
  .d-hc-role { display: none; }
  .d-hc-role.is-main { display: none; }
  .d-hc-allowed { display: none; }
  .d-hc-shared { display: none; }
  .d-hc-change { display: none; }
  .d-hc-change-sum { display: none; }
  .d-hc-sws { display: none; }
  .d-hc-sw { display: none; }
  .d-hc-sw form { display: none; }
  button.d-hc-sw-btn { display: none; }
  button.d-hc-sw-btn:disabled { display: none; }
  .d-hc-sw-text { display: none; }
  .d-hc-sw-name { display: none; }
  .d-hc-sw-why { display: none; }
  .d-hc-sw-track { display: none; }
  .d-hc-sw-thumb { display: none; }
  .d-hc-sw.is-on .d-hc-sw-track { display: none; }
  .d-hc-sw.is-on .d-hc-sw-thumb { display: none; }
  .d-hc-danger { display: none; }
  .d-hc-danger-sum { display: none; }
  .d-hc-check { display: none; }
  .d-hc-verify { display: none; }
  .d-hc-vlist { display: none; }
  .d-hc-vrow { display: none; }
  .d-hc-vrow:last-child { display: none; }
  .d-hc-vrow form { display: none; }
  .d-hc-vrow.is-off .d-hc-vtext { display: none; }
  .d-hc-vtext { display: none; }
  .d-hc-vtext code { display: none; }
  .d-hc-add { display: none; }
  .d-hc-known { display: none; }
  .d-hc-known li { display: none; }

  /* ---- Languages (App\Lang): the switch, mirrored icons, Arabic script --------------------------------- */
  .m-lang { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--segment-pad); margin-block: var(--space-xs) var(--space); padding: var(--segment-pad); border-radius: var(--radius-pill); background: var(--fill); }
  .m-lang-opt { display: flex; align-items: center; justify-content: center; min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); color: var(--text-2); font-weight: 600; text-decoration: none; white-space: nowrap; transition: background var(--dur-fast), color var(--dur-fast); }
  .m-lang-opt[aria-current="true"] { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .m-lang-opt:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-lang { display: none; }
  .d-lang-opt { display: none; }
  .d-lang-opt[aria-current="true"] { display: none; }
  .d-lang-opt:focus-visible { display: none; }
  .is-mirror { scale: var(--dir) 1; }
  body:lang(ar) { line-height: 1.75; }
  .article-prose:lang(ar) :is(p, li, dd, blockquote) { line-height: 1.85; }
  :lang(ar) :is(em, i, cite) { font-style: normal; }
  :lang(ar), :lang(ar)::before, :lang(ar)::after { letter-spacing: 0 !important; }
  :root[dir="rtl"] :is(p, h1, h2, h3, h4, h5, h6, li, dt, dd, figcaption, blockquote, summary, legend, label, .brand-name, .sheet-title):not([dir]) { unicode-bidi: plaintext; }

  /* ---- Home sections understood from WordPress (home_section.php): phone tree m-hs-*; d-hs-* hidden ---- */
  .m-hs-title { margin: 0 0 var(--space-s); font: 700 var(--step-2)/1.2 var(--font-display); overflow-wrap: anywhere; }
  .d-hs-title { display: none; }
  .m-hs-lead { color: var(--text-2); }
  .d-hs-lead { display: none; }
  .m-hs-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 600; text-decoration: none; }
  .d-hs-button { display: none; }
  .m-hs-feature { display: grid; gap: var(--space); margin-block: var(--space-l); }
  .m-hs-feature-media { overflow: hidden; aspect-ratio: var(--hs-photo-ratio); border-radius: var(--radius-l); background: var(--fill); }
  .m-hs-feature-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hs-feature-text { display: grid; gap: var(--space-s); }
  .d-hs-feature { display: none; }
  .d-hs-feature.is-flipped .d-hs-feature-media { display: none; }
  .d-hs-feature-media { display: none; }
  .d-hs-feature-img { display: none; }
  .d-hs-feature-text { display: none; }
  .m-hs-stats { margin-block: var(--space-l); }
  .m-hs-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: 0; }
  .m-hs-stat { display: flex; flex-direction: column-reverse; gap: var(--space-2xs); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-hs-stat-value { margin: 0; color: var(--accent-ink); font: 800 var(--step-3)/1 var(--font-display); }
  .m-hs-stat-label { color: var(--text-2); font-size: var(--step-small); }
  .d-hs-stats { display: none; }
  .d-hs-stats-grid { display: none; }
  .d-hs-stat { display: none; }
  .d-hs-stat-value { display: none; }
  .d-hs-stat-label { display: none; }
  .m-hs-cards { margin-block: var(--space-l); }
  .m-hs-card-list { display: grid; gap: var(--space-s); margin: var(--space) 0 0; padding: 0; list-style: none; }
  .m-hs-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-s); align-items: center; padding: var(--space-s); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-hs-card-thumb { overflow: hidden; inline-size: var(--hs-thumb); aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); }
  .m-hs-card-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hs-card-body { min-inline-size: 0; }
  .m-hs-card-title { margin: 0; font: 600 var(--step-base)/1.3 var(--font-body); overflow-wrap: anywhere; }
  .m-hs-card-text { display: -webkit-box; margin: var(--space-2xs) 0 0; overflow: hidden; color: var(--text-2); font-size: var(--step-small); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .m-hs-card-go { color: var(--text-2); }
  .d-hs-cards { display: none; }
  .d-hs-card-grid { display: none; }
  .d-hs-card { display: none; }
  .d-hs-card-grid.cols-2 .d-hs-card { display: none; }
  .d-hs-card-grid.cols-4 .d-hs-card { display: none; }
  .d-hs-card-media { display: none; }
  .d-hs-card-img { display: none; }
  .d-hs-card.is-linked:hover .d-hs-card-img { display: none; }
  .d-hs-card-body { display: none; }
  .d-hs-card-title { display: none; }
  .d-hs-card-text { display: none; }
  .d-hs-card-go { display: none; }
  .d-hs-cards.is-links .d-hs-card { display: none; }
  .m-hs-gallery { margin-block: var(--space-l); }
  .m-hs-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xs); margin: var(--space-s) 0 0; padding: 0; list-style: none; }
  .m-hs-gallery-item { overflow: hidden; aspect-ratio: 1; border-radius: var(--radius-s); background: var(--fill); }
  .m-hs-gallery-link { display: block; block-size: 100%; }
  .m-hs-gallery-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hs-gallery-more { margin-block-start: var(--space-s); }
  .m-hs-gallery-summary { display: flex; align-items: center; justify-content: center; min-block-size: var(--tap); border-radius: var(--radius-pill); background: var(--fill); font-weight: 600; cursor: pointer; }
  .d-hs-gallery { display: none; }
  .d-hs-gallery-grid { display: none; }
  .d-hs-gallery-item { display: none; }
  .d-hs-gallery-link { display: none; }
  .d-hs-gallery-img { display: none; }
  .d-hs-gallery-link:hover .d-hs-gallery-img { display: none; }
  .d-hs-gallery-more { display: none; }
  .d-hs-gallery-summary { display: none; }
  .hs-embed { margin-block: var(--space-l); }
  .hs-embed-frame { margin-block-start: var(--space-s); }
  .m-hs-band { overflow: hidden; margin-block: var(--space-l); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-hs-band-media { aspect-ratio: 16 / 9; background: var(--fill); }
  .m-hs-band-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hs-band-text { display: grid; gap: var(--space-s); padding: var(--space); }
  .d-hs-band { display: none; }
  .d-hs-band-media { display: none; }
  .d-hs-band-media::after { display: none; }
  .d-hs-band-img { display: none; }
  .d-hs-band-text { display: none; }
  .d-hs-band-text .d-hs-lead { display: none; }
  .m-hs-strip-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--hs-strip-min-m)), 1fr)); gap: var(--space-2xs); margin: var(--space-l) 0; padding: 0; list-style: none; }
  .m-hs-strip-item { overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius); }
  .m-hs-strip-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hs-strip-row { display: none; }
  .d-hs-strip-item { display: none; }
  .d-hs-strip-img { display: none; }
  .cta-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin-block-start: var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-weight: 600; text-decoration: none; }
  .hs-embed .ax-embed { margin-inline: 0; }

  /* ---- Admin -> Hero (admin_hero.php): phone tree m-hero-*; d-hero-* hidden ---- */
  .m-hero-summary { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0 0 var(--space); padding: 0; list-style: none; }
  .m-hero-chip { padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-small); }
  .m-hero-main { display: grid; gap: var(--space); }
  .m-hero-h { margin: var(--space) 0 var(--space-s); font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-hero-side { margin-block-end: var(--space); }
  .m-hero-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-hero-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-s); align-items: center; padding: var(--space-xs); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-hero-row.is-current { outline: var(--focus-ring) solid var(--accent); }
  .m-hero-row.is-off .m-hero-thumb { opacity: 0.45; }
  .m-hero-row.is-off .m-hero-row-title { color: var(--text-2); }
  .m-hero-thumb { display: block; overflow: hidden; inline-size: var(--hs-thumb); aspect-ratio: 16 / 9; border-radius: var(--radius); background: var(--fill); }
  .m-hero-thumb-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hero-row-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-hero-row-title { display: -webkit-box; overflow: hidden; color: var(--text); font-weight: 600; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: var(--hero-title-lines); line-clamp: var(--hero-title-lines); }
  .m-hero-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); }
  .m-hero-sw-form { margin: 0; }
  button.m-hero-sw { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); margin: 0; padding: 0; border: 0; background: none; color: var(--text-2); font: inherit; font-size: var(--step-caption); cursor: pointer; }
  .m-hero-sw-track { position: relative; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); border-radius: var(--radius-pill); background: var(--switch-off); transition: background var(--dur-fast) var(--ease-out); }
  .m-hero-sw-thumb { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  button.m-hero-sw[aria-checked="true"] .m-hero-sw-track { background: var(--switch-on); }
  button.m-hero-sw[aria-checked="true"] .m-hero-sw-thumb { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  button.m-hero-sw:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); border-radius: var(--radius-pill); }
  .m-hero-sw-text { font-weight: 600; }
  .m-hero-tag { display: inline-flex; margin: 0; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); }
  .m-hero-acts { display: grid; gap: var(--space-2xs); }
  .m-hero-act-form { margin: 0; }
  button.m-hero-act { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); margin: 0; padding: 0; border: 0; border-radius: var(--radius); background: var(--fill); color: var(--text-2); cursor: pointer; }
  button.m-hero-act .icon { inline-size: var(--icon); block-size: var(--icon); }
  button.m-hero-act[data-do="up"] .icon { rotate: 180deg; }
  button.m-hero-act:disabled { opacity: 0.35; cursor: default; }
  .m-hero-editor { display: grid; gap: var(--space-s); margin-block: var(--space); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-hero-form { gap: var(--space); }
  .m-hero-previews { display: grid; }
  .m-hero-frame { display: grid; gap: var(--space-xs); margin: 0; }
  .m-hero-frame.is-desktop { display: none; }
  .m-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .m-hero-frame.is-desktop { display: grid; }
  .m-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .m-hero-frame.is-phone { display: none; }
  .m-hero-frame.is-phone .m-hero-pick { aspect-ratio: 4 / 5; }
  .m-hero-frame.is-desktop .m-hero-pick { aspect-ratio: 16 / 9; }
  button.m-hero-pick { position: relative; display: block; overflow: hidden; inline-size: 100%; margin: 0; padding: 0; border: 0; border-radius: var(--radius-l); background: var(--fill); cursor: crosshair; }
  .m-hero-frame-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hero-dot { position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: calc(var(--icon) * 1.2); aspect-ratio: 1; border: 0.15rem solid var(--hs-on-photo); border-radius: 50%; translate: calc(-50% * var(--dir)) -50%; box-shadow: var(--card-shadow); pointer-events: none; }
  .m-hero-frame-cap { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .m-hero-frame-name { font-weight: 600; }
  .m-hero-nums { display: flex; gap: var(--space-xs); }
  .m-hero-num-label { display: grid; gap: 0; font-size: var(--step-caption); }
  .m-hero-form input.m-hero-num[type="number"] { inline-size: 4.5em; min-block-size: var(--tap); padding-inline: var(--space-xs); }
  .m-hero-why { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-hero-pair { display: grid; gap: var(--space); }
  .m-hero-danger { display: grid; gap: var(--space-s); margin: 0; padding-block-start: var(--space); border-block-start: var(--line) solid var(--separator); }
  .m-hero-confirm { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--text-2); font-size: var(--step-small); }
  button.m-hero-danger-btn { display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-block-size: var(--tap); margin: 0; padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--error-bg); color: var(--error); font: inherit; font-weight: 600; cursor: pointer; }
  .m-hero-sugs { display: grid; gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .m-hero-sug { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-s); align-items: start; }
  .m-hero-sug-media { overflow: hidden; inline-size: var(--hs-thumb); aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); }
  .m-hero-sug-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .m-hero-sug-text { display: flex; flex-direction: column; gap: var(--space-xs); min-inline-size: 0; }
  .m-hero-use-form { margin: 0; }
  .m-hero-sug-title { display: -webkit-box; overflow: hidden; margin: 0; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: var(--hero-sug-lines); line-clamp: var(--hero-sug-lines); }
  .m-hero-sug-score { display: flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-hero-meter { flex: 1; min-inline-size: 0; inline-size: auto; }
  .m-hero-reasons { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .m-hero-reason { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); line-height: 1.7; }
  .m-hero-reason.is-good { background: var(--ok-bg); color: var(--ok); }
  .m-hero-reason.is-warn { background: var(--hero-warn-bg); color: var(--hero-warn); }
  button.m-hero-use { display: inline-flex; align-items: center; justify-self: start; min-block-size: var(--tap); margin: 0; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .m-hero-more { margin-block-start: var(--space); }
  .m-hero-more-head { display: flex; align-items: center; min-block-size: var(--tap); margin-block-end: var(--space-s); color: var(--accent-ink); font-weight: 600; cursor: pointer; }
  .m-hero-weights { display: grid; gap: var(--space); }
  .m-hero-weight { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-xs); align-items: center; }
  .m-hero-weight-name { font-size: var(--step-small); font-weight: 600; }
  .m-hero-weight-value { font-variant-numeric: tabular-nums; font-weight: 600; }
  .m-hero-weight .m-range-input { grid-column: 1 / -1; }
  .m-hero-weight .m-hero-tag { grid-column: 1 / -1; justify-self: start; }
  .d-hero-summary { display: none; }
  .d-hero-chip { display: none; }
  .d-hero-main { display: none; }
  .d-hero-h { display: none; }
  .d-hero-side { display: none; }
  .d-hero-list { display: none; }
  .d-hero-row { display: none; }
  .d-hero-row.is-current { display: none; }
  .d-hero-row.is-off .d-hero-thumb { display: none; }
  .d-hero-row.is-off .d-hero-row-title { display: none; }
  .d-hero-thumb { display: none; }
  .d-hero-thumb-img { display: none; }
  .d-hero-row-text { display: none; }
  .d-hero-row-title { display: none; }
  .d-hero-row-meta { display: none; }
  .d-hero-sw-form { display: none; }
  button.d-hero-sw { display: none; }
  .d-hero-sw-track { display: none; }
  .d-hero-sw-thumb { display: none; }
  button.d-hero-sw[aria-checked="true"] .d-hero-sw-track { display: none; }
  button.d-hero-sw[aria-checked="true"] .d-hero-sw-thumb { display: none; }
  button.d-hero-sw:focus-visible { display: none; }
  .d-hero-sw-text { display: none; }
  .d-hero-tag { display: none; }
  .d-hero-acts { display: none; }
  .d-hero-act-form { display: none; }
  button.d-hero-act { display: none; }
  button.d-hero-act .icon { display: none; }
  button.d-hero-act[data-do="up"] .icon { display: none; }
  button.d-hero-act:disabled { display: none; }
  .d-hero-editor { display: none; }
  .d-hero-form { display: none; }
  .d-hero-previews { display: none; }
  .d-hero-frame { display: none; }
  .d-hero-frame.is-desktop { display: none; }
  .d-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .d-hero-frame.is-desktop { display: none; }
  .d-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .d-hero-frame.is-phone { display: none; }
  .d-hero-frame.is-phone .d-hero-pick { display: none; }
  .d-hero-frame.is-desktop .d-hero-pick { display: none; }
  button.d-hero-pick { display: none; }
  .d-hero-frame-img { display: none; }
  .d-hero-dot { display: none; }
  .d-hero-frame-cap { display: none; }
  .d-hero-frame-name { display: none; }
  .d-hero-nums { display: none; }
  .d-hero-num-label { display: none; }
  .d-hero-form input.d-hero-num[type="number"] { display: none; }
  .d-hero-why { display: none; }
  .d-hero-pair { display: none; }
  .d-hero-danger { display: none; }
  .d-hero-confirm { display: none; }
  button.d-hero-danger-btn { display: none; }
  .d-hero-sugs { display: none; }
  .d-hero-sug { display: none; }
  .d-hero-sug-media { display: none; }
  .d-hero-sug-img { display: none; }
  .d-hero-sug-text { display: none; }
  .d-hero-use-form { display: none; }
  .d-hero-sug-title { display: none; }
  .d-hero-sug-score { display: none; }
  .d-hero-meter { display: none; }
  .d-hero-reasons { display: none; }
  .d-hero-reason { display: none; }
  .d-hero-reason.is-good { display: none; }
  .d-hero-reason.is-warn { display: none; }
  button.d-hero-use { display: none; }
  .d-hero-more { display: none; }
  .d-hero-more-head { display: none; }
  .d-hero-weights { display: none; }
  .d-hero-weight { display: none; }
  .d-hero-weight-name { display: none; }
  .d-hero-weight-value { display: none; }
  .d-hero-weight .d-range-input { display: none; }
  .d-hero-weight .d-hero-tag { display: none; }

  /* ---- field system (DESIGN-SYSTEM §11o) ---- */
  /* ---- field system (owner, 2026-10-09: "compact, constrained, neat - whatever the label, the input or its type"; DESIGN-SYSTEM §11o) ----
     One box height for every text box and list on staff pages; the label sits right on its box (the page gap separates
     fields, never a label margin); a box is as wide as its answer needs (GOV.UK: width says what is expected) and never
     wider than its column; boxes side by side line up whatever their labels say (subgrid rows: label, box, hint). */
  .admin-main label { margin-block-start: 0; }
  .admin-main :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="submit"], [type="button"], [type="image"]), select):not([class*="-fm-"]) { block-size: var(--field-h-m); min-block-size: 0; padding-block: 0; padding-inline: var(--field-pad); line-height: 1.25; }
  .admin-main textarea:not([class*="-fm-"], [class*="-ed-title"], [class*="-ed-code"], [class*="-ic-code"], [class*="-text-value"], [class*="-sd-input"]) { min-block-size: calc(var(--field-h-m) * 2); max-block-size: var(--field-area-max); padding: var(--space-s) var(--field-pad); line-height: 1.45; field-sizing: content; resize: vertical; }
  .admin-main :where(input[type="number"]:not([class*="-fm-"]), input[inputmode="numeric"]:not([class*="-fm-"]), input[inputmode="decimal"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-num); }
  .admin-main :where(input[type="date"]:not([class*="-fm-"]), input[type="month"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-date); }
  .admin-main :where(input[type="datetime-local"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-datetime); }
  .admin-main :where(input[type="time"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-time); }
  .admin-main :where(input[type="tel"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-tel); }
  .admin-main :where(input[type="email"]:not([class*="-fm-"]), input[type="url"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-mail); }
  .admin-main :where(input[type="password"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-pass); }
  .admin-main :where(input[type="text"]:not([class*="-fm-"]), input:not([type]):not([class*="-fm-"])) { max-inline-size: var(--field-w-text); max-inline-size: min(var(--field-w-text), max(var(--field-w-min), calc(attr(maxlength type(<number>), 400) * var(--field-char) + var(--field-pad) * 2 + 1em))); }
  .admin-main :where(select:not([class*="-fm-"])) { max-inline-size: min(100%, var(--field-w-text)); }
  .admin-main :where(textarea:not([class*="-fm-"])) { max-inline-size: var(--field-w-area); }
  .admin-main :is(.m-fb-pair, .m-phone-row) :is(input, select, textarea) { inline-size: 100%; max-inline-size: none; }
  .m-fb-pair > .m-org-field { grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
  .m-fb-pair > .m-org-field > label { align-self: end; margin-block-end: var(--field-gap); }
  .m-fb-pair > .m-org-field > .m-set-hint { margin-block-start: var(--field-gap); }
  .m-org-field { gap: var(--field-gap); }
  .m-org-field label { line-height: 1.3; overflow-wrap: anywhere; text-wrap: pretty; }
  .m-org-field .m-set-hint { line-height: 1.4; text-wrap: pretty; }
  .admin-health-text { overflow-wrap: anywhere; }
  /* a tick box inside a field stays a tick box (a field's "every input fills the width" rule drew it as a wide empty box) */
  .m-org-field :is(input[type="checkbox"], input[type="radio"]) { inline-size: auto; block-size: auto; min-block-size: 0; flex: none; accent-color: var(--accent); }
  /* a segmented choice with long words wraps inside its segment instead of being cut ("nly when neede") */
  .m-segment-face { padding-block: var(--space-2xs); white-space: normal; text-align: center; text-wrap: balance; line-height: 1.15; overflow-wrap: break-word; hyphens: auto; }
  /* Google's facts list: whole names only */
  .m-org-check { overflow-wrap: normal; }
  /* Admin -> Site phone rows on a phone: the label and "Show as" get equal room under the number (the actions column sits in
     the second track's share), and "Remove when saving" breaks between words, never inside one ("Remo ve") */
  .m-phone-row { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) var(--phone-actions-w-m); }
  .m-phone-remove { overflow-wrap: normal; hyphens: manual; }
  /* ---- shapes: bars and strips are rounded rectangles on phones too; single buttons stay pills ---- */
  body:has(.admin) .site-header .bar { border-radius: var(--tool-bar-radius); }
  .m-ed-bar, .m-fs-actions { border-radius: var(--tool-bar-radius); }
  .m-ed-tabs, .m-seo-tabs { border-radius: var(--tool-strip-radius); }
  .m-ed-tab, .m-seo-tab { border-radius: var(--tool-strip-inner-radius); }
  .m-texts-filter { border-radius: var(--radius); }
  /* field system: the computer trees, hidden on phones */
  .admin-main :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair, .d-phone-row) :is(input, select, textarea) { display: none; }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field { display: none; }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field > label { display: none; }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field > .d-set-hint { display: none; }
  .d-org-field { display: none; }
  .d-org-field label { display: none; }
  .d-org-field .d-set-hint { display: none; }
  .d-org-field :is(input[type="checkbox"], input[type="radio"]) { display: none; }
  .d-segment-face { display: none; }
  .d-org-checks { display: none; }
  .d-org-check { display: none; }
  .d-phone-remove { display: none; }
  .d-fb-selection, .d-fs-actions { display: none; }
  .d-fm-tabs, .d-seo-tabs, .d-filters, .d-fb-views { display: none; }
  .d-fm-tab, .d-seo-tab, .d-filter, .d-fb-view { display: none; }
  .d-texts-filter { display: none; }
  /* ---- end field system ---- */
  /* ---- forms module (App\Forms; DESIGN-SYSTEM §11r, plan §4.12 / §4.13): phones ---- */
  .fm { display: block; container: fm / inline-size; margin-block-end: var(--space-l); }
  .fm-head { display: grid; gap: var(--space-xs); margin-block: var(--space-s) var(--space); }
  .fm-title { margin: 0; font: 700 var(--step-3)/1.12 var(--font-display); letter-spacing: -0.015em; }
  .fm-intro { margin: 0; color: var(--text-2); font-size: var(--step-base); line-height: 1.45; }
  .fm-meta { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space); margin: 0; padding: 0; list-style: none; }
  .fm-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .fm-chip .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-fm { display: grid; gap: var(--space); }
  .m-fm-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; }
  .m-fm-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); margin: 0; }
  .m-fm-summary { scroll-margin-block-start: var(--contact-sticky); padding: var(--space); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--group-radius); }
  .m-fm-summary:focus { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fm-summary-title { margin: 0 0 var(--space-xs); color: var(--error); font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fm-summary-list { display: grid; gap: var(--space-xs); margin: 0; padding-inline-start: var(--space); }
  .m-fm-summary-list a { color: var(--error); font-weight: 600; }
  .m-fm-sections { display: grid; gap: var(--space); }
  .m-fm-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); transition: box-shadow var(--dur) var(--ease-out); }
  .m-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) { box-shadow: var(--card-shadow), 0 0 0 calc(var(--line) * 2) var(--fm-done-ring); }
  .m-fm-section-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .m-fm-section-head:not(:has(.m-fm-section-icon)) { grid-template-columns: minmax(0, 1fr) auto; }
  .m-fm-section-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-fm-section-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fm-section-hint { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; }
  .m-fm-section-done { display: inline-grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; background: var(--fm-win); color: var(--fm-win-on); opacity: 0; scale: 0.4; transition: opacity var(--dur) var(--ease-out), scale var(--dur) var(--ease-spring); }
  .m-fm-section-done span { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .m-fm-section-done .icon { inline-size: 60%; block-size: 60%; stroke-width: 3.2; }
  .m-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .m-fm-section-done { opacity: 1; scale: 1; }
  .m-fm-grid { display: grid; grid-template-columns: repeat(var(--fm-tracks-m), minmax(0, 1fr)); align-items: stretch; gap: var(--space) var(--space-s); }
  .m-fm-w-third { grid-column: span 2; }
  .m-fm-w-half { grid-column: span 3; }
  .m-fm-w-full { grid-column: 1 / -1; }
  .m-fm-field { display: flex; flex-direction: column; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .m-fm-field .m-fm-label { float: none; display: block; margin: 0; padding: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; }
  .m-fm-optional { color: var(--text-2); font-weight: 400; }
  .m-fm-hint { margin: 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .m-fm-error { margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .m-fm-control { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); margin-block-start: auto; }
  .m-fm-control input.m-fm-input, .m-fm-control textarea.m-fm-textarea, .m-fm-control select.m-fm-select { inline-size: 100%; min-inline-size: 0; min-block-size: var(--fm-field-h); margin: 0; padding-block: var(--space-xs); padding-inline: var(--space-s) calc(var(--fm-tick) + var(--space-s)); font: inherit; font-size: var(--step-base); color: var(--text); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--fm-radius); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
  .m-fm-control textarea.m-fm-textarea { min-block-size: var(--fm-text-min); max-block-size: var(--fm-text-max); padding-block: var(--space-s); line-height: 1.5; resize: vertical; field-sizing: content; }
  .m-fm-control select.m-fm-select { cursor: pointer; }
  .m-fm-control :is(input, textarea, select):focus-visible { outline: none; border-color: var(--focus-color); box-shadow: 0 0 0 var(--focus-ring) color-mix(in srgb, var(--focus-color) 30%, transparent); }
  .m-fm-control :is(input, textarea, select):user-invalid, .m-fm-field.is-invalid .m-fm-control :is(input, textarea, select) { border-color: var(--error); }
  .m-fm-tick { position: absolute; inset-block-start: calc((var(--fm-field-h) - var(--fm-tick)) / 2); inset-inline-end: var(--space-s); display: grid; place-items: center; inline-size: var(--fm-tick); block-size: var(--fm-tick); border-radius: 50%; background: var(--fm-win); color: var(--fm-win-on); opacity: 0; scale: 0.4; transition: opacity var(--dur-fast) var(--ease-out), scale var(--dur) var(--ease-spring); pointer-events: none; }
  .m-fm-tick .icon { inline-size: 70%; block-size: 70%; stroke-width: 3.2; }
  .m-fm-control [required]:user-valid + .m-fm-tick { opacity: 1; scale: 1; }
  .m-fm-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-fm-tiles.is-list { grid-template-columns: minmax(0, 1fr); }
  .m-fm-tile { position: relative; display: grid; margin: 0; font-weight: 400; }
  .m-fm-tile-input { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .m-fm-tile-face { display: grid; grid-template-columns: minmax(0, 1fr) var(--radio); align-items: center; gap: var(--space-xs); min-block-size: max(var(--tap), var(--fm-field-h)); padding: var(--fm-tile-pad); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: calc(var(--fm-tile-radius) * (1 - var(--fm-tile-pills)) + var(--radius-pill) * var(--fm-tile-pills)); transition: border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast), scale var(--dur) var(--ease-spring); }
  .m-fm-tile-face:has(.tile-icon) { grid-template-columns: var(--tile-s) minmax(0, 1fr) var(--radio); }
  .m-fm-tile-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-fm-tile-text strong { font-weight: 600; line-height: 1.3; }
  .m-fm-tile-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; }
  .m-fm-tile-mark { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: 50%; transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
  .m-fm-tile-mark.is-box { border-radius: calc(var(--radio) * 0.3); }
  .m-fm-tile-mark .icon { inline-size: 65%; block-size: 65%; stroke-width: 3.2; }
  .m-fm-tile-input:checked + .m-fm-tile-face { background: var(--accent-soft); border-color: var(--accent-ink); box-shadow: 0 0 0 var(--line) var(--accent-ink); }
  .m-fm-tile-input:checked + .m-fm-tile-face .m-fm-tile-mark { background: var(--accent-ink); border-color: var(--accent-ink); color: var(--surface); }
  .m-fm-tile-input:focus-visible + .m-fm-tile-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fm-tile:active .m-fm-tile-face { scale: 0.97; }
  .m-fm-field.is-invalid .m-fm-tile-face { border-color: var(--error); }
  .m-fm-segment .m-segment-face { min-block-size: calc(var(--fm-field-h) - var(--segment-pad) * 2); font-size: var(--step-small); }
  .m-fm-consent { position: relative; display: grid; grid-template-columns: var(--radio) minmax(0, 1fr); align-items: start; gap: var(--space-s); margin: 0; padding: var(--fm-tile-pad); font-weight: 400; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--fm-tile-radius); cursor: pointer; }
  .m-fm-check { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .m-fm-consent-mark { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: calc(var(--radio) * 0.3); transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
  .m-fm-consent-mark .icon { inline-size: 65%; block-size: 65%; stroke-width: 3.2; }
  .m-fm-consent-text { line-height: 1.45; }
  .m-fm-consent:has(.m-fm-check:checked) { background: var(--accent-soft); border-color: var(--accent-ink); }
  .m-fm-consent:has(.m-fm-check:checked) .m-fm-consent-mark { background: var(--accent-ink); border-color: var(--accent-ink); color: var(--surface); }
  .m-fm-consent:has(.m-fm-check:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fm-field.is-invalid .m-fm-consent { border-color: var(--error); }
  .m-fm-text { display: grid; gap: var(--space-2xs); margin: 0; color: var(--text-2); }
  .m-fm-text span { font-size: var(--step-caption); }
  .m-fm-send { display: grid; gap: var(--space); padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .m-fm-send button.m-fm-submit { margin: 0; min-block-size: max(var(--tap), var(--fm-field-h)); font-size: var(--step-base); border-radius: var(--radius-pill); }
  .m-fm-send button.m-fm-submit.is-busy { opacity: 0.7; cursor: progress; }
  .m-fm-ready { display: none; align-items: center; justify-content: center; gap: var(--space-2xs); margin: 0; color: var(--ok); font-size: var(--step-small); font-weight: 700; }
  .m-fm-ready .icon { inline-size: 1.1em; block-size: 1.1em; stroke-width: 3; }
  .m-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .m-fm-ready { display: flex; animation: rise 0.5s var(--ease-out) both; }
  .m-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) button.m-fm-submit { animation: fm-wake 1.6s var(--ease-out) 1; }
  .m-fm-progress { display: grid; gap: var(--space-2xs); }
  .m-fm-meter { inline-size: 100%; block-size: var(--space-xs); appearance: none; border: 0; border-radius: var(--radius-pill); background: var(--fill); overflow: hidden; accent-color: var(--fm-win); }
  .m-fm-meter::-webkit-progress-bar { background: var(--fill); border-radius: var(--radius-pill); }
  .m-fm-meter::-webkit-progress-value { background: var(--fm-win); border-radius: var(--radius-pill); transition: inline-size var(--dur) var(--ease-spring); }
  .m-fm-meter::-moz-progress-bar { background: var(--fm-win); border-radius: var(--radius-pill); }
  .m-fm-progress-text { margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; text-align: center; }
  .m-fm-progress.is-complete .m-fm-progress-text { color: var(--ok); }
  .m-fm-next { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .m-fm-next-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fm-steps { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .m-fm-step { display: grid; grid-template-columns: var(--step-dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); font-size: var(--step-small); }
  .m-fm-step-n { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); border-radius: 50%; background: var(--accent-soft); color: var(--accent-ink); font-size: var(--step-caption); font-weight: 700; }
  .m-fm-privacy { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); margin: 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .m-fm-privacy .icon { inline-size: 1.2em; block-size: 1.2em; }
  .fm-done { display: grid; justify-items: center; gap: var(--space-s); margin: var(--space) 0 var(--space-l); text-align: center; }
  .fm-done-badge { position: relative; display: grid; place-items: center; inline-size: calc(var(--fm-badge) * 0.85); block-size: calc(var(--fm-badge) * 0.85); border-radius: 50%; background: var(--fm-win); color: var(--fm-win-on); }
  .fm-done-badge .icon { inline-size: 50%; block-size: 50%; stroke-width: 2.8; }
  .fm-done-ring { position: absolute; inset: 0; border: calc(var(--line) * 3) solid var(--fm-win); border-radius: 50%; opacity: 0; }
  .fm-done-title { margin: var(--space-xs) 0 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .fm-done-text { margin: 0; color: var(--text-2); font-size: var(--step-base); }
  .fm-done-ref { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-small); }
  .m-done { display: grid; gap: var(--space); inline-size: 100%; margin-block-start: var(--space-s); }
  .m-done-next-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); text-align: start; }
  .m-done-steps { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; text-align: start; }
  .m-done-step { display: grid; grid-template-columns: var(--step-dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); padding: var(--space-s) var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-done-step-n { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); border-radius: 50%; background: var(--ok-bg); color: var(--ok); font-size: var(--step-caption); font-weight: 700; }
  .m-done-actions { display: grid; gap: var(--space-s); }
  .m-done-actions .button { margin: 0; }
  .m-done-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; }
  .m-done-link .icon { inline-size: 1em; block-size: 1em; }
  .fm-closed { display: grid; justify-items: center; gap: var(--space-s); margin: var(--space) 0 var(--space-l); text-align: center; }
  .fm-closed-badge { display: grid; place-items: center; inline-size: var(--badge); block-size: var(--badge); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .fm-closed-badge .icon { inline-size: 50%; block-size: 50%; }
  .fm-closed-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .fm-closed-text { margin: 0; color: var(--text-2); }
  .fm-closed-actions .button { margin: 0; }
  /* Admin -> Forms on phones: gallery (m-fg), builder (m-fb), inbox (m-fi) */
  .m-fg { display: grid; gap: var(--space); }
  .m-fg-new { display: grid; gap: var(--space-xs); margin: 0; padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fg-new-title { display: flex; align-items: center; gap: var(--space-xs); margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fg-new-hint { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-fg-starts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); margin-block-start: var(--space-xs); }
  .m-fg-starts button.m-fg-start { display: grid; align-content: start; justify-items: start; gap: var(--space-2xs); inline-size: 100%; min-block-size: calc(var(--tap) * 1.5); margin: 0; padding: var(--space-s); text-align: start; color: var(--text); font-weight: 400; background: var(--bg); border: var(--line) solid var(--separator); border-radius: var(--radius); }
  .m-fg-starts button.m-fg-start:hover { background: var(--bg); filter: none; }
  .m-fg-start strong { font-size: var(--step-small); font-weight: 700; }
  .m-fg-start span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.3; }
  .m-fg-card { position: relative; display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fg-card:has(.m-fg-card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fg-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-s); }
  .m-fg-card-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-fg-card-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fg-card-link { color: var(--text); text-decoration: none; outline: none; }
  .m-fg-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
  .m-fg-card-path { color: var(--text-2); font-size: var(--step-caption); }
  .m-fg-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; }
  .m-fg-figures div { display: grid; gap: var(--space-2xs); padding: var(--space-xs); border-radius: var(--radius); background: var(--bg); }
  .m-fg-figures dt { color: var(--text-2); font-size: var(--step-caption); }
  .m-fg-figures dd { margin: 0; font: 700 var(--step-1)/1.1 var(--font-display); }
  .m-fg-card-foot { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-fg-card-actions { position: relative; z-index: 1; margin: 0; }
  .m-fb { display: grid; gap: var(--space); }
  .m-fb-stage { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); padding: var(--space-s); background: color-mix(in srgb, var(--fill) 50%, var(--bg)); border: var(--line) dashed var(--separator); border-radius: var(--radius-l); }
  .m-fb-stage-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .m-fb-canvas { position: relative; display: grid; gap: var(--space-s); }
  .m-fb-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; padding: var(--space-s); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .m-fb-section-head { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); padding: var(--space-xs); border-radius: var(--radius); outline: calc(var(--line) * 1.5) dashed transparent; }
  .m-fb-section-head:not(:has(.tile-icon)) { grid-template-columns: minmax(0, 1fr); }
  .m-fb-section-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-fb-section-text strong { font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fb-section-text span { color: var(--text-2); font-size: var(--step-caption); }
  .m-fb-grid { display: grid; grid-template-columns: repeat(var(--fm-tracks-m), minmax(0, 1fr)); align-items: stretch; gap: var(--space-s) var(--space-xs); }
  .m-fb-block { position: relative; display: flex; flex-direction: column; min-inline-size: 0; padding: var(--space-xs); border-radius: var(--radius); outline: calc(var(--line) * 1.5) dashed var(--separator); }
  .m-fb-block.is-selected, .m-fb-section-head.is-selected { background: var(--accent-soft); outline: calc(var(--line) * 2) solid var(--accent-ink); }
  .m-fb-pick { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
  .m-fb-pick:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fb-grip { display: none; }
  .m-fb-auto { display: none; }
  .m-fb-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); margin: 0; padding: 0; }
  .m-fb-selection { position: sticky; inset-block-start: var(--contact-sticky); z-index: 5; display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border: var(--line) solid var(--panel-glass-edge); border-radius: var(--radius-l); box-shadow: var(--glass-shadow); }
  .m-fb-selection-name { display: grid; min-inline-size: 0; margin: 0; }
  .m-fb-selection-name span { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .m-fb-selection-name strong { overflow-wrap: anywhere; }
  .m-fb-widths { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); padding-inline-end: var(--space-2xs); border-inline-end: var(--line) solid var(--separator); }
  .m-fb-tools button.m-fb-width { inline-size: auto; min-inline-size: var(--tap); min-block-size: var(--tap); margin: 0; padding: 0 var(--space-xs); color: var(--text); font-size: var(--step-small); font-weight: 600; background: none; border-radius: var(--radius-pill); }
  .m-fb-tools button.m-fb-width.is-on { background: var(--accent-ink); color: var(--surface); }
  .m-fb-tools button.m-fb-tool { display: grid; place-items: center; inline-size: var(--tap); min-block-size: var(--tap); margin: 0; padding: 0; color: var(--text); background: none; border-radius: var(--radius-pill); }
  .m-fb-tools button.m-fb-tool.is-danger { color: var(--error); }
  .m-fb-tools button.m-fb-width:hover, .m-fb-tools button.m-fb-tool:hover { background: var(--fill); filter: none; }
  .m-fb-tools button.m-fb-width.is-on:hover { background: var(--accent-ink); }
  .m-fb-tool .icon { inline-size: var(--icon); block-size: var(--icon); }
  .m-fb-empty { grid-column: 1 / -1; margin: 0; padding: var(--space-s); color: var(--text-2); font-size: var(--step-caption); text-align: center; border: var(--line) dashed var(--separator); border-radius: var(--radius); }
  .m-fb-palette-form { margin: 0; }
  .m-fb-palette { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-fb-palette button.m-fb-add { display: grid; grid-template-columns: var(--tile-s) minmax(0, 1fr); align-items: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs); text-align: start; color: var(--text); font-weight: 400; background: var(--bg); border-radius: var(--radius); }
  .m-fb-palette button.m-fb-add:hover { background: var(--bg); filter: none; }
  .m-fb-add-text { display: grid; min-inline-size: 0; }
  .m-fb-add-text strong { font-size: var(--step-small); font-weight: 600; }
  .m-fb-add-text span { display: none; }
  .m-fb-palette-more { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-start: var(--space-s); }
  .m-fb-coach { display: grid; gap: var(--space-s); }
  .m-fb-coach-line { margin: 0; font-weight: 600; }
  .m-fb-checks { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-fb-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs) var(--space-s); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--bg); }
  .m-fb-check .sd-action, .m-fb-check .sd-inline-form { grid-column: 2; justify-self: start; }
  .m-fb-check-icon { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .m-fb-check.is-must .m-fb-check-icon { background: var(--error-bg); color: var(--error); }
  .m-fb-check.is-advice .m-fb-check-icon { background: var(--accent-soft); color: var(--accent-ink); }
  .m-fb-check.is-ok .m-fb-check-icon { background: var(--ok-bg); color: var(--ok); }
  .m-fb-check-icon .icon { inline-size: 60%; block-size: 60%; stroke-width: 2.6; }
  .m-fb-check-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; font-size: var(--step-small); }
  .m-fb-check-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; }
  .m-fb-check-text em { color: var(--error); font-size: var(--step-caption); font-style: normal; font-weight: 700; }
  .m-fb-passed summary { min-block-size: var(--tap); display: flex; align-items: center; color: var(--text-2); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .m-fb-passed .m-fb-checks { margin-block-start: var(--space-xs); }
  .m-fb-type { justify-self: start; margin: 0; padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .m-fb-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
  .m-fb-sub { margin: var(--space-s) 0 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fi { display: grid; gap: var(--space); }
  .m-fi-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; }
  .m-fi-figures div { display: grid; gap: var(--space-2xs); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fi-figures dt { color: var(--text-2); font-size: var(--step-caption); }
  .m-fi-figures dd { margin: 0; font: 700 var(--step-2)/1 var(--font-display); }
  .m-fi-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .m-fi-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; box-shadow: var(--card-shadow); }
  .m-fi-chip span { color: var(--text-2); }
  .m-fi-chip.is-on { background: var(--text); color: var(--bg); }
  .m-fi-chip.is-on span { color: inherit; opacity: 0.75; }
  .m-fi-master { min-inline-size: 0; }
  .m-fi-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-fi-card { display: grid; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-s) var(--space); color: var(--text); text-decoration: none; background: var(--surface); border: var(--line) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fi-card.is-open { border-color: var(--accent-ink); }
  .m-fi-card-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-s); min-inline-size: 0; }
  .m-fi-card-top strong { min-inline-size: 0; overflow-wrap: anywhere; }
  .m-fi-card.is-new .m-fi-card-top strong::before { content: ""; display: inline-block; inline-size: var(--space-xs); block-size: var(--space-xs); margin-inline-end: var(--space-xs); border-radius: 50%; background: var(--accent); vertical-align: middle; }
  .m-fi-status { flex: none; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .m-fi-status.is-new { background: var(--accent); color: var(--accent-text); }
  .m-fi-status.is-answered { background: var(--ok-bg); color: var(--ok); }
  .m-fi-preview { display: -webkit-box; overflow: hidden; color: var(--text-2); font-size: var(--step-small); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .m-fi-meta { color: var(--text-2); font-size: var(--step-caption); }
  .m-fi-detail { display: grid; gap: var(--space); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fi-detail.is-empty { place-items: center; }
  .m-fi-detail-head { display: grid; gap: var(--space-2xs); }
  .m-fi-answers { display: grid; grid-template-columns: repeat(var(--fm-tracks-m), minmax(0, 1fr)); gap: var(--space-xs); margin: 0; }
  .m-fi-answer { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; padding: var(--space-s); border-radius: var(--radius); background: var(--bg); }
  .m-fi-answer dt { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .m-fi-answer dd { margin: 0; overflow-wrap: anywhere; }
  .m-fi-actions { display: grid; gap: var(--space-s); margin: 0; }
  /* Saving in place (house rule 34): the page's status region doubles as a short toast; forms-admin.js writes it. */
  .fm-admin-status { position: fixed; z-index: 60; inset-block-end: calc(var(--island-h) + var(--space-l) + env(safe-area-inset-bottom, 0rem)); inset-inline-start: 50%; max-inline-size: min(calc(100% - var(--space) * 2), var(--read-max)); margin: 0; padding: var(--space-xs) var(--space); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-small); font-weight: 600; box-shadow: var(--glass-shadow); translate: calc(-50% * var(--dir)) var(--space); opacity: 0; pointer-events: none; transition: opacity var(--dur) var(--ease-out), translate var(--dur) var(--ease-spring); }
  .fm-admin-status:empty { display: none; }
  .fm-admin-status.is-shown { opacity: 1; translate: calc(-50% * var(--dir)) 0; }
  .fm-admin-status[data-tone="success"] { background: var(--ok-bg); color: var(--ok); }
  .fm-admin-status[data-tone="error"] { background: var(--error-bg); color: var(--error); }
  /* Webhooks of a form (phase 2) */
  .m-wh-form { gap: var(--space-s); }
  .m-wh-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .m-wh-secret { display: grid; gap: var(--space-xs); padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--ok-bg); color: var(--ok); }
  .m-wh-secret p { margin: 0; }
  .m-wh-secret code { overflow-wrap: anywhere; padding: var(--space-xs); border-radius: var(--radius-s); background: var(--surface); color: var(--text); font-family: var(--font-mono); font-size: var(--step-small); user-select: all; }
  .m-wh-reason { margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--error-bg); color: var(--error); font-size: var(--step-small); }
  .m-wh-log { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-wh-entry { display: grid; gap: var(--space-2xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--bg); font-size: var(--step-small); }
  .m-wh-entry .sd-inline-form { justify-self: start; }
  .m-wh-entry-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs); min-inline-size: 0; }
  .m-wh-entry-top strong { min-inline-size: 0; overflow-wrap: anywhere; }
  .m-wh-state { flex: none; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .m-wh-entry.is-sent .m-wh-state { background: var(--ok-bg); color: var(--ok); }
  .m-wh-entry.is-failed .m-wh-state { background: var(--error-bg); color: var(--error); }
  .m-wh-entry-meta { color: var(--text-2); font-size: var(--step-caption); }
  .m-wh-entry-error { color: var(--error); font-size: var(--step-caption); overflow-wrap: anywhere; }
  @supports selector(:has(*)) {
    .m-wh-only { display: none; }
    .m-wh-form:has([name="auth_kind"] option[value="basic"]:checked) .m-wh-only-basic, .m-wh-form:has([name="auth_kind"] option[value="header"]:checked) .m-wh-only-header, .m-wh-form:has([name="auth_kind"] option[value="jwt"]:checked) .m-wh-only-jwt, .m-wh-form:has([name="auth_kind"] option[value="signed"]:checked) .m-wh-only-signed { display: grid; }
    .m-wh-form:not(:has([name="auth_kind"] option[value="none"]:checked)) .m-wh-only-secret { display: grid; }
    .m-wh-form:has([name="method"][value="GET"]:checked) .m-wh-only-post { display: none; }
  }
  /* The tabs of one form (Build · Connect · Settings · Answers): four equal tabs, icon over the word */
  .m-fm-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--segment-pad); margin-block-start: var(--space-s); padding: var(--segment-pad); border-radius: var(--radius-l); background: var(--fill); }
  .m-fm-tab { position: relative; display: grid; justify-items: center; align-content: center; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-2xs); border-radius: calc(var(--radius-l) - var(--segment-pad)); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; text-decoration: none; text-align: center; }
  .m-fm-tab .icon { inline-size: 1.2em; block-size: 1.2em; }
  .m-fm-tab.is-current { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .m-fm-tab-badge { position: absolute; inset-block-start: var(--space-2xs); inset-inline-end: var(--space-2xs); display: inline-grid; place-items: center; min-inline-size: calc(var(--step-base) * 1.1); padding-inline: var(--space-2xs); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-size: var(--step-caption); font-weight: 700; }
  /* Connect on phones: the open editor first, then the cards and the history */
  .m-fc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .m-fc-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-fc-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-fc-card { position: relative; display: grid; gap: var(--space-xs); padding: var(--space); background: var(--surface); border: calc(var(--line) * 1.5) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fc-card.is-problem { border-color: color-mix(in srgb, var(--error) 45%, transparent); }
  .m-fc-card.is-open { border-color: var(--accent-ink); }
  .m-fc-card:has(.m-fc-card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .m-fc-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .m-fc-card-title { min-inline-size: 0; margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .m-fc-card-link { color: var(--text); text-decoration: none; outline: none; }
  .m-fc-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
  .m-fc-tags { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; }
  .m-fc-tags span { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .m-fc-address { margin: 0; color: var(--text-2); font-family: var(--font-mono); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .m-fc-last { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-fc-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .m-fc-add { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); min-block-size: var(--tap); padding: var(--space); color: var(--accent-ink); text-decoration: none; border: calc(var(--line) * 1.5) dashed var(--separator); border-radius: var(--radius-l); }
  .m-fc-add.is-open { border-style: solid; border-color: var(--accent-ink); background: var(--accent-soft); }
  .m-fc-add .icon { inline-size: var(--icon); block-size: var(--icon); }
  .m-fc-add span { display: grid; gap: var(--space-2xs); }
  .m-fc-add span span { color: var(--text-2); font-size: var(--step-caption); }
  .m-fc-editor { scroll-margin-block-start: var(--contact-sticky); }
  .m-fc-empty { justify-items: start; scroll-margin-block-start: var(--contact-sticky); }
  .m-fc-empty .button { margin: 0; }
  .m-fc-danger { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .m-fc-log { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .m-fc-preview { min-inline-size: 0; }
  .m-wh-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-wh-wide { grid-column: 1 / -1; }
  .m-wh-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .m-wh-code { margin: 0; max-block-size: calc(var(--tap) * 8); overflow: hidden; padding: var(--space-s); border-radius: var(--radius); background: var(--bg); font: var(--step-caption)/1.5 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
  .m-wh-expr { margin: 0; overflow-wrap: anywhere; }
  .m-wh-expr code { padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-s); background: var(--bg); font-family: var(--font-mono); font-size: var(--step-caption); }
  /* Settings on phones: one card after another, Save always in reach above the island */
  .m-fs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); margin: 0; }
  .m-fs-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .m-fs-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space); border: 0; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-fs-legend { display: flex; align-items: center; gap: var(--space-xs); float: inline-start; inline-size: 100%; margin: 0; padding: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .m-fs-legend .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); }
  .m-fs-actions { position: sticky; inset-block-end: calc(var(--island-h) + var(--space-l) + env(safe-area-inset-bottom, 0rem)); z-index: 4; display: grid; padding: var(--space-xs); border: var(--line) solid var(--panel-glass-edge); border-radius: var(--tool-bar-radius); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); box-shadow: var(--glass-shadow); }
  .m-fs-actions button.m-set-save { margin: 0; }
  .m-fs-danger { justify-items: start; }
  .m-fs-group textarea { padding: var(--space-xs) var(--space-s); line-height: 1.5; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); }
  .m-wh-rotation { display: grid; gap: var(--space-xs); justify-items: start; padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .m-wh-rotation p { margin: 0; }
  .m-sure { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); margin: 0; }
  .m-sure-check { display: inline-flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 400; }
  .m-fm-send button.m-fm-submit:active { scale: 0.98; }
  .fb-head-row { display: block; }
  .fb-head-row .admin-title { margin: 0; }
  .m-fb-publish { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); margin: var(--space-s) 0 0; }
  .m-fb-publish button.m-fb-live { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; border-radius: var(--radius-pill); }
  .m-fb-live-count { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--accent-text) 14%, transparent); font-size: var(--step-caption); font-weight: 700; }
  .m-fb-pgroup { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); grid-column: 1 / -1; }
  .m-fb-pgroup-label { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; text-transform: var(--label-case); letter-spacing: calc(0.04em * var(--label-track)); }
  .m-fb-undo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius-l); background: var(--info-bg); color: var(--info); font-size: var(--step-small); font-weight: 600; }
  /* phase 3: Cloudflare's check on the form, the site-wide settings page, "not checked" answers */
  .m-fm-check { min-inline-size: 0; max-inline-size: 100%; }
  .m-fm-noscript { margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .m-fm-privacy a { color: var(--accent-ink); }
  .m-fset { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .m-fset-state { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); }
  .m-fset-state-text { display: grid; justify-items: start; gap: var(--space-2xs); color: var(--text-2); font-size: var(--step-small); }
  .m-fset-forms { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); }
  .m-fset-forms a { color: var(--accent-ink); font-weight: 600; }
  .m-fset-tools { display: grid; gap: var(--space-s); }
  .m-fset-fold { padding: var(--space); border-radius: var(--group-radius); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-fset-fold summary { min-block-size: var(--tap); display: flex; align-items: center; font-weight: 700; cursor: pointer; }
  .m-fi-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--ok-bg); color: var(--ok); font-size: var(--step-small); }
  .m-fi-check.is-unverified { background: var(--accent-soft); color: var(--accent-ink); }
  .m-fi-check .icon { inline-size: 1.2em; block-size: 1.2em; }
  .m-fi-flag { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font-weight: 700; }
  .m-fi-release { display: grid; gap: var(--space-xs); margin: 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--accent-soft); }
  .m-fi-release .admin-card-hint { margin: 0; color: var(--accent-ink); }
  /* notification center (App\Notices, Admin -> Notices) and the red badge that goes when the problem is fixed */
  .m-admin-badge.is-alert { background: var(--error); color: var(--bg); }
  .m-nc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .m-nc-card { display: grid; gap: var(--space-s); min-inline-size: 0; padding: var(--space); background: var(--surface); border: calc(var(--line) * 1.5) solid transparent; border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .m-nc-card.is-problem { border-color: color-mix(in srgb, var(--error) 55%, transparent); }
  .m-nc-card.is-warning { border-color: color-mix(in srgb, var(--accent-ink) 45%, transparent); }
  .m-nc-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs) var(--space-s); }
  .m-nc-card-head .m-fold-chip { grid-column: 2; justify-self: start; }
  .m-nc-card-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .m-nc-card-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .m-nc-meta { color: var(--text-2); font-size: var(--step-caption); }
  .m-nc-what { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; overflow-wrap: anywhere; }
  .m-nc-sub { margin: 0; font-size: var(--step-small); font-weight: 700; }
  .m-nc-steps { display: grid; gap: var(--space-xs); margin: 0; padding-inline-start: var(--space-l); font-size: var(--step-small); line-height: 1.5; }
  .m-nc-steps li { overflow-wrap: anywhere; }
  .m-nc-code { display: grid; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .m-nc-code pre { max-inline-size: 100%; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--font-mono); font-size: var(--step-caption); }
  .m-nc-code-label { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .m-nc-go { margin: 0; }
  .m-nc-fold summary { display: flex; align-items: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; cursor: pointer; }
  .m-nc-closed { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .m-nc-closed li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); font-size: var(--step-small); }
  .m-nc-closed li span span { display: block; color: var(--text-2); font-size: var(--step-caption); }
  .m-nc-closed-mark { color: var(--ok); }
  .m-nc-closed-mark .icon { inline-size: 1.2em; block-size: 1.2em; }
  .m-nc-clear { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); }
  .m-nc-clear span span { display: block; color: var(--text-2); font-size: var(--step-small); }
  .m-nc-clear-mark { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; background: var(--ok-bg); color: var(--ok); }
  .m-fi-more { margin: var(--space-s) 0 0; }
  /* the score as one slim row above the canvas; its list unfolds in place, full width (no popover on a phone) */
  .m-fb-score { display: grid; border-radius: var(--group-radius); background: var(--surface); box-shadow: var(--card-shadow); }
  .m-fb-score-summary { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-s); list-style: none; cursor: pointer; }
  .m-fb-score-summary::-webkit-details-marker { display: none; }
  .m-fb-score-summary:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--space-2xs) * -1); }
  .m-fb-score-ring { inline-size: calc(var(--tap) * 0.7); block-size: calc(var(--tap) * 0.7); rotate: -90deg; }
  .m-fb-score-track { fill: none; stroke: var(--fill); stroke-width: 4; }
  .m-fb-score-value { fill: none; stroke: var(--accent-ink); stroke-width: 4; stroke-linecap: round; }
  .m-fb-score.is-done .m-fb-score-value { stroke: var(--ok); }
  .m-fb-score.is-problem .m-fb-score-value { stroke: var(--error); }
  .m-fb-score-num { font: 700 var(--step-base)/1 var(--font-display); font-variant-numeric: tabular-nums; }
  .m-fb-score-line { min-inline-size: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; overflow-wrap: anywhere; }
  .m-fb-score.is-problem .m-fb-score-line { color: var(--error); }
  .m-fb-score-chevron { inline-size: 1em; block-size: 1em; color: var(--text-2); transition: rotate var(--dur) var(--ease-out); }
  .m-fb-score[open] .m-fb-score-chevron { rotate: 180deg; }
  .m-fb-score-panel { display: grid; gap: var(--space-s); padding: 0 var(--space) var(--space); }
  .m-fb-score-title { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; text-transform: var(--label-case); letter-spacing: calc(0.04em * var(--label-track)); }
  .m-fb-block > .m-fm-field { flex: 1 1 auto; }
  /* the inspector in groups (owner, 2026-10-09: "scattered"): a quiet line and a small heading per decision, the rare part folded */
  .m-fi-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space-s) 0 0; border: 0; border-block-start: var(--line) solid var(--separator); }
  .m-fi-group:first-of-type { padding-block-start: 0; border-block-start: 0; }
  .m-fi-legend { float: inline-start; inline-size: 100%; margin: 0; padding: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .m-fi-more { margin: 0; padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .m-fi-more-summary { display: flex; align-items: center; gap: var(--space-s); min-block-size: var(--tap); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; list-style: none; cursor: pointer; }
  .m-fi-more-summary code { padding: 0 var(--space-xs); border-radius: var(--radius); background: var(--fill); color: var(--text); font-size: var(--step-caption); letter-spacing: 0; text-transform: none; }
  .m-fi-more-body { display: grid; gap: var(--space-s); padding-block-start: var(--space-xs); }
  .m-fi-more-summary::-webkit-details-marker { display: none; }
  .m-fi-more-chevron { inline-size: 1.1em; block-size: 1.1em; margin-inline-start: auto; transition: rotate var(--dur-fast) var(--ease-out); }
  .m-fi-more[open] .m-fi-more-chevron { rotate: 180deg; }
  /* forms module: the computer trees, hidden on phones */
  .d-fm { display: none; }
  .d-fm:has(.d-fm-aside:empty) { display: none; }
  .d-fm-main { display: none; }
  .d-fm-form { display: none; }
  .d-fm-summary { display: none; }
  .d-fm-summary:focus { display: none; }
  .d-fm-summary-title { display: none; }
  .d-fm-summary-list { display: none; }
  .d-fm-summary-list a { display: none; }
  .d-fm-sections { display: none; }
  .d-fm-section { display: none; }
  .d-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) { display: none; }
  .d-fm-section-head { display: none; }
  .d-fm-section-head:not(:has(.d-fm-section-icon)) { display: none; }
  .d-fm-section-text { display: none; }
  .d-fm-section-title { display: none; }
  .d-fm-section-hint { display: none; }
  .d-fm-section-done { display: none; }
  .d-fm-section-done .icon { display: none; }
  .d-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .d-fm-section-done { display: none; }
  .d-fm-grid { display: none; }
  .d-fm-w-quarter { display: none; }
  .d-fm-w-third { display: none; }
  .d-fm-w-half { display: none; }
  .d-fm-w-two-thirds { display: none; }
  .d-fm-w-three-quarters { display: none; }
  .d-fm-w-full { display: none; }
  .d-fm-field { display: none; }
  .d-fm-field .d-fm-label { display: none; }
  .d-fm-optional { display: none; }
  .d-fm-hint { display: none; }
  .d-fm-error { display: none; }
  .d-fm-control { display: none; }
  .d-fm-control input.d-fm-input, .d-fm-control textarea.d-fm-textarea, .d-fm-control select.d-fm-select { display: none; }
  .d-fm-control textarea.d-fm-textarea { display: none; }
  .d-fm-control select.d-fm-select { display: none; }
  .d-fm-control :is(input, textarea, select):focus-visible { display: none; }
  .d-fm-control :is(input, textarea, select):user-invalid, .d-fm-field.is-invalid .d-fm-control :is(input, textarea, select) { display: none; }
  .d-fm-tick { display: none; }
  .d-fm-tick .icon { display: none; }
  .d-fm-control [required]:user-valid + .d-fm-tick { display: none; }
  .d-fm-tiles { display: none; }
  .d-fm-tiles.is-list { display: none; }
  .d-fm-tile { display: none; }
  .d-fm-tile-input { display: none; }
  .d-fm-tile-face { display: none; }
  .d-fm-tile-face:has(.tile-icon) { display: none; }
  .d-fm-tile-text { display: none; }
  .d-fm-tile-text strong { display: none; }
  .d-fm-tile-text span { display: none; }
  .d-fm-tile-mark { display: none; }
  .d-fm-tile-mark.is-box { display: none; }
  .d-fm-tile-mark .icon { display: none; }
  .d-fm-tile-input:checked + .d-fm-tile-face { display: none; }
  .d-fm-tile-input:checked + .d-fm-tile-face .d-fm-tile-mark { display: none; }
  .d-fm-tile-input:focus-visible + .d-fm-tile-face { display: none; }
  .d-fm-tile:active .d-fm-tile-face { display: none; }
  .d-fm-field.is-invalid .d-fm-tile-face { display: none; }
  .d-fm-segment .d-segment-face { display: none; }
  .d-fm-consent { display: none; }
  .d-fm-check { display: none; }
  .d-fm-consent-mark { display: none; }
  .d-fm-consent-mark .icon { display: none; }
  .d-fm-consent-text { display: none; }
  .d-fm-consent:has(.d-fm-check:checked) { display: none; }
  .d-fm-consent:has(.d-fm-check:checked) .d-fm-consent-mark { display: none; }
  .d-fm-consent:has(.d-fm-check:focus-visible) { display: none; }
  .d-fm-field.is-invalid .d-fm-consent { display: none; }
  .d-fm-text { display: none; }
  .d-fm-text span { display: none; }
  .d-fm-send { display: none; }
  .d-fm-send button.d-fm-submit { display: none; }
  .d-fm-send button.d-fm-submit.is-busy { display: none; }
  .d-fm-ready { display: none; }
  .d-fm-ready .icon { display: none; }
  .d-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .d-fm-ready { display: none; }
  .d-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) button.d-fm-submit { display: none; }
  .d-fm-aside { display: none; }
  .d-fm-aside:empty { display: none; }
  .d-fm-progress { display: none; }
  .d-fm-meter { display: none; }
  .d-fm-meter::-webkit-progress-bar { display: none; }
  .d-fm-meter::-webkit-progress-value { display: none; }
  .d-fm-meter::-moz-progress-bar { display: none; }
  .d-fm-progress-text { display: none; }
  .d-fm-progress.is-complete .d-fm-progress-text { display: none; }
  .d-fm-next { display: none; }
  .d-fm-next-title { display: none; }
  .d-fm-steps { display: none; }
  .d-fm-step { display: none; }
  .d-fm-step-n { display: none; }
  .d-fm-privacy { display: none; }
  .d-fm-privacy .icon { display: none; }
  .d-done { display: none; }
  .d-done-next-title { display: none; }
  .d-done-steps { display: none; }
  .d-done-step { display: none; }
  .d-done-step-n { display: none; }
  .d-done-actions { display: none; }
  .d-done-actions .button { display: none; }
  .d-done-link { display: none; }
  .d-done-link .icon { display: none; }
  .d-fg { display: none; }
  .d-fg-new { display: none; }
  .d-fg-new-title { display: none; }
  .d-fg-new-hint { display: none; }
  .d-fg-starts { display: none; }
  .d-fg-starts button.d-fg-start { display: none; }
  .d-fg-starts button.d-fg-start:hover { display: none; }
  .d-fg-start strong { display: none; }
  .d-fg-start span { display: none; }
  .d-fg-card { display: none; }
  .d-fg-card:has(.d-fg-card-link:focus-visible) { display: none; }
  .d-fg-card-head { display: none; }
  .d-fg-card-text { display: none; }
  .d-fg-card-title { display: none; }
  .d-fg-card-link { display: none; }
  .d-fg-card-link::after { display: none; }
  .d-fg-card-path { display: none; }
  .d-fg-figures { display: none; }
  .d-fg-figures div { display: none; }
  .d-fg-figures dt { display: none; }
  .d-fg-figures dd { display: none; }
  .d-fg-card-foot { display: none; }
  .d-fg-card-actions { display: none; }
  .d-fb { display: none; }
  .d-fb-right { display: none; }
  .d-fb-center { display: none; }
  .d-fb-strip { display: none; }
  .d-fb-strip-title { display: none; }
  .d-fb-strip-title span { display: none; }
  .d-fb-selection { display: none; }
  .d-fb-selection-name { display: none; }
  .d-fb-selection-name span { display: none; }
  .d-fb-selection-name strong { display: none; }
  .d-fb-bar { display: none; }
  .d-fb-views { display: none; }
  .d-fb-view { display: none; }
  .d-fb-view.is-on { display: none; }
  .d-fb-stage { display: none; }
  .d-fb-stage-title { display: none; }
  .d-fb-stage-send { display: none; }
  .d-fb-stage-send span { display: none; }
  .d-fb-canvas { display: none; }
  .d-fb-canvas.is-phone { display: none; }
  .d-fb-section { display: none; }
  .d-fb-canvas.is-phone .d-fb-section { display: none; }
  .d-fb-section-head { display: none; }
  .d-fb-section-head:not(:has(.tile-icon)) { display: none; }
  .d-fb-section-text { display: none; }
  .d-fb-section-text strong { display: none; }
  .d-fb-section-text span { display: none; }
  .d-fb-grid { display: none; }
  .d-fb-canvas.is-phone .d-fb-grid { display: none; }
  .d-fb-wm-third { display: none; }
  .d-fb-wm-half { display: none; }
  .d-fb-wm-full { display: none; }
  .d-fb-block { display: none; }
  .d-fb-block:hover, .d-fb-section-head:hover { display: none; }
  .d-fb-block.is-selected, .d-fb-section-head.is-selected { display: none; }
  .d-fb-block.is-dragging { display: none; }
  .d-fb-block.is-resizing { display: none; }
  .d-fb-pick { display: none; }
  .d-fb-pick:focus-visible { display: none; }
  .d-fb-grip { display: none; }
  .d-fb-block:hover .d-fb-grip, .d-fb-block.is-selected .d-fb-grip { display: none; }
  .d-fb-grip .icon { display: none; }
  .d-fb-auto { display: none; }
  .d-fb-block:hover .d-fb-auto, .d-fb-block.is-selected .d-fb-auto { display: none; }
  .d-fb-tools { display: none; }
  .d-fb-widths { display: none; }
  .d-fb-tools button.d-fb-width { display: none; }
  .d-fb-tools button.d-fb-width.is-on { display: none; }
  .d-fb-tools button.d-fb-tool { display: none; }
  .d-fb-tools button.d-fb-tool.is-danger { display: none; }
  .d-fb-tools button.d-fb-width:hover, .d-fb-tools button.d-fb-tool:hover { display: none; }
  .d-fb-tools button.d-fb-width.is-on:hover { display: none; }
  .d-fb-tool .icon { display: none; }
  .d-fb-handle { display: none; }
  .d-fb-drop { display: none; }
  .d-fb-empty { display: none; }
  .d-fb-palette-form { display: none; }
  .d-fb-palette button.d-fb-add { display: none; }
  .d-fb-palette button.d-fb-add:hover { display: none; }
  .d-fb-palette button.d-fb-add .tile-icon { display: none; }
  .d-fb-add-text { display: none; }
  .d-fb-add-text strong { display: none; }
  .d-fb-add-text span { display: none; }
  .d-fb-palette-more { display: none; }
  .d-fb-coach { display: none; }
  .d-fb-coach-line { display: none; }
  .d-fb-checks { display: none; }
  .d-fb-check { display: none; }
  .d-fb-check .sd-action, .d-fb-check .sd-inline-form { display: none; }
  .d-fb-check-icon { display: none; }
  .d-fb-check.is-must .d-fb-check-icon { display: none; }
  .d-fb-check.is-advice .d-fb-check-icon { display: none; }
  .d-fb-check.is-ok .d-fb-check-icon { display: none; }
  .d-fb-check-icon .icon { display: none; }
  .d-fb-check-text { display: none; }
  .d-fb-check-text span { display: none; }
  .d-fb-check-text em { display: none; }
  .d-fb-passed summary { display: none; }
  .d-fb-passed .d-fb-checks { display: none; }
  .d-fb-type { display: none; }
  .d-fb-pair { display: none; }
  .d-fb-sub { display: none; }
  .d-fi { display: none; }
  .d-fi-figures { display: none; }
  .d-fi-figures div { display: none; }
  .d-fi-figures dt { display: none; }
  .d-fi-figures dd { display: none; }
  .d-fi-chips { display: none; }
  .d-fi-chip { display: none; }
  .d-fi-chip span { display: none; }
  .d-fi-chip.is-on { display: none; }
  .d-fi-chip.is-on span { display: none; }
  .d-fi-split { display: none; }
  .d-fi-master { display: none; }
  .d-fi-list { display: none; }
  .d-fi-card { display: none; }
  .d-fi-card.is-open { display: none; }
  .d-fi-card-top { display: none; }
  .d-fi-card-top strong { display: none; }
  .d-fi-card.is-new .d-fi-card-top strong::before { display: none; }
  .d-fi-status { display: none; }
  .d-fi-status.is-new { display: none; }
  .d-fi-status.is-answered { display: none; }
  .d-fi-preview { display: none; }
  .d-fi-meta { display: none; }
  .d-fi-detail { display: none; }
  .d-fi-detail.is-empty { display: none; }
  .d-fi-detail-head { display: none; }
  .d-fi-answers { display: none; }
  .d-fi-answer { display: none; }
  .d-fi-answer dt { display: none; }
  .d-fi-answer dd { display: none; }
  .d-fi-actions { display: none; }
  .d-fm-sections > .d-fm-w-half, .d-fb-canvas:not(.is-phone) > .d-fm-w-half { display: none; }
  .d-fm-grid > .d-fm-w-quarter, .d-fb-grid > .d-fm-w-quarter { display: none; }
  .d-fm-grid > .d-fm-w-third, .d-fb-grid > .d-fm-w-third { display: none; }
  .d-fm-grid > .d-fm-w-two-thirds, .d-fm-grid > .d-fm-w-three-quarters, .d-fb-grid > .d-fm-w-two-thirds, .d-fb-grid > .d-fm-w-three-quarters { display: none; }
  .d-fm-grid > .d-fm-w-quarter, .d-fm-grid > .d-fm-w-third, .d-fb-grid > .d-fm-w-quarter, .d-fb-grid > .d-fm-w-third { display: none; }
  .d-fm-grid > .d-fm-w-half, .d-fb-grid > .d-fm-w-half { display: none; }
  .d-wh-form { display: none; }
  .d-wh-actions { display: none; }
  .d-wh-secret { display: none; }
  .d-wh-secret p { display: none; }
  .d-wh-secret code { display: none; }
  .d-wh-reason { display: none; }
  .d-wh-log { display: none; }
  .d-wh-entry { display: none; }
  .d-wh-entry .sd-inline-form { display: none; }
  .d-wh-entry-top { display: none; }
  .d-wh-entry-top strong { display: none; }
  .d-wh-state { display: none; }
  .d-wh-entry.is-sent .d-wh-state { display: none; }
  .d-wh-entry.is-failed .d-wh-state { display: none; }
  .d-wh-entry-meta { display: none; }
  .d-wh-entry-error { display: none; }
  .d-wh-only { display: none; }
  .d-wh-form:has([name="auth_kind"] option[value="basic"]:checked) .d-wh-only-basic, .d-wh-form:has([name="auth_kind"] option[value="header"]:checked) .d-wh-only-header, .d-wh-form:has([name="auth_kind"] option[value="jwt"]:checked) .d-wh-only-jwt, .d-wh-form:has([name="auth_kind"] option[value="signed"]:checked) .d-wh-only-signed { display: none; }
  .d-wh-form:not(:has([name="auth_kind"] option[value="none"]:checked)) .d-wh-only-secret { display: none; }
  .d-wh-form:has([name="method"][value="GET"]:checked) .d-wh-only-post { display: none; }
  .d-fm-tabs { display: none; }
  .d-fm-tab { display: none; }
  .d-fm-tab .icon { display: none; }
  .d-fm-tab.is-current { display: none; }
  .d-fm-tab-badge { display: none; }
  .d-fc { display: none; }
  .d-fc-list { display: none; }
  .d-fc-cards { display: none; }
  .d-fc-card { display: none; }
  .d-fc-card.is-problem { display: none; }
  .d-fc-card.is-open { display: none; }
  .d-fc-card:has(.d-fc-card-link:focus-visible) { display: none; }
  .d-fc-card-head { display: none; }
  .d-fc-card-title { display: none; }
  .d-fc-card-link { display: none; }
  .d-fc-card-link::after { display: none; }
  .d-fc-tags { display: none; }
  .d-fc-tags span { display: none; }
  .d-fc-address { display: none; }
  .d-fc-last { display: none; }
  .d-fc-actions { display: none; }
  .d-fc-add { display: none; }
  .d-fc-add.is-open { display: none; }
  .d-fc-add .icon { display: none; }
  .d-fc-add span { display: none; }
  .d-fc-add span span { display: none; }
  .d-fc-editor { display: none; }
  .d-fc-empty { display: none; }
  .d-fc-empty .button { display: none; }
  .d-fc-danger { display: none; }
  .d-fc-log { display: none; }
  .d-fc-preview { display: none; }
  .d-wh-grid { display: none; }
  .d-wh-wide { display: none; }
  .d-wh-pair { display: none; }
  .d-wh-code { display: none; }
  .d-wh-expr { display: none; }
  .d-wh-expr code { display: none; }
  .d-fs { display: none; }
  .d-fs-grid { display: none; }
  .d-fs-group { display: none; }
  .d-fs-legend { display: none; }
  .d-fs-legend .tile-icon { display: none; }
  .d-fs-actions { display: none; }
  .d-fs-actions button.d-set-save { display: none; }
  .d-fs-danger { display: none; }
  .d-fs-group textarea { display: none; }
  .d-wh-rotation { display: none; }
  .d-wh-rotation p { display: none; }
  .d-sure { display: none; }
  .d-sure-check { display: none; }
  .d-fm-send button.d-fm-submit:active { display: none; }
  .d-fb-publish { display: none; }
  .d-fb-publish button.d-fb-live { display: none; }
  .d-fb-live-count { display: none; }
  .d-fb-palette { display: none; }
  .d-fb-pgroup { display: none; }
  .d-fb-pgroup-label { display: none; }
  .d-fb-undo { display: none; }
  .d-fm-noscript { display: none; }
  .d-fm-privacy a { display: none; }
  .d-fset { display: none; }
  .d-fset-main { display: none; }
  .d-fset-side { display: none; }
  .d-fset-state { display: none; }
  .d-fset-state-text { display: none; }
  .d-fset-forms { display: none; }
  .d-fset-forms a { display: none; }
  .d-fset-tools { display: none; }
  .d-fi-check { display: none; }
  .d-fi-check.is-unverified { display: none; }
  .d-fi-check .icon { display: none; }
  .d-fi-flag { display: none; }
  .d-fi-release { display: none; }
  .d-fi-release .admin-card-hint { display: none; }
  .d-admin-badge.is-alert { display: none; }
  .d-nc { display: none; }
  .d-nc-main { display: none; }
  .d-nc-side { display: none; }
  .d-nc-card { display: none; }
  .d-nc-card.is-problem { display: none; }
  .d-nc-card.is-warning { display: none; }
  .d-nc-card-head { display: none; }
  .d-nc-card-text { display: none; }
  .d-nc-card-title { display: none; }
  .d-nc-meta { display: none; }
  .d-nc-what { display: none; }
  .d-nc-sub { display: none; }
  .d-nc-steps { display: none; }
  .d-nc-steps li { display: none; }
  .d-nc-code { display: none; }
  .d-nc-code pre { display: none; }
  .d-nc-code-label { display: none; }
  .d-nc-go { display: none; }
  .d-nc-closed { display: none; }
  .d-nc-closed li { display: none; }
  .d-nc-closed li span span { display: none; }
  .d-nc-closed-mark { display: none; }
  .d-nc-closed-mark .icon { display: none; }
  .d-nc-clear { display: none; }
  .d-nc-clear span span { display: none; }
  .d-nc-clear-mark { display: none; }
  .d-fi-more { display: none; }
  .d-fb-score { display: none; }
  .d-fb-score-summary { display: none; }
  .d-fb-score-summary::-webkit-details-marker { display: none; }
  .d-fb-score-summary:focus-visible { display: none; }
  .d-fb-score-ring { display: none; }
  .d-fb-score-track { display: none; }
  .d-fb-score-value { display: none; }
  .d-fb-score.is-done .d-fb-score-value { display: none; }
  .d-fb-score.is-problem .d-fb-score-value { display: none; }
  .d-fb-score-num { display: none; }
  .d-fb-score-line { display: none; }
  .d-fb-score.is-problem .d-fb-score-line { display: none; }
  .d-fb-score-chevron { display: none; }
  .d-fb-score[open] .d-fb-score-chevron { display: none; }
  .d-fb-score-panel { display: none; }
  .d-fb-score-title { display: none; }
  .d-fb.is-settings { display: none; }
  .d-fb-block > .d-fm-field { display: none; }
  .d-fi-group { display: none; }
  .d-fi-group:first-of-type { display: none; }
  .d-fi-legend { display: none; }
  .d-fi-more-summary { display: none; }
  .d-fi-more-summary code { display: none; }
  .d-fi-more-body { display: none; }
  .d-fi-more-summary::-webkit-details-marker { display: none; }
  .d-fi-more-chevron { display: none; }
  .d-fi-more[open] .d-fi-more-chevron { display: none; }
}

/* ---- 5. DESKTOP (48em and wider) --------------------------------------- */
@media (min-width: 48em) {
  html { font-size: 100%; background: var(--bg); scroll-padding-block-start: calc(var(--space-xl) * 2); overflow-x: visible; }
  body { margin: 0; font: var(--step-base)/1.6 var(--font-body); background: var(--bg); color: var(--text); padding-block-end: 0; -webkit-tap-highlight-color: transparent; overflow-x: visible; overflow-wrap: break-word; }
  .wrap { max-inline-size: calc(var(--content-max) + var(--space-l) * 2); margin-inline: auto; padding-inline: var(--space-l); }

  .skip-link { position: absolute; inset-inline-start: var(--space-l); inset-block-start: calc(var(--space-xl) * -2); padding: var(--space-s) var(--space); background: var(--accent); color: var(--accent-text); border-radius: var(--radius-pill); z-index: 100; }
  .skip-link:focus { inset-block-start: var(--space); }
  .visually-hidden { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
  .icon .ico-fill { fill: currentColor; stroke: none; }

  /* floating glass bar */
  header.site-header { position: sticky; inset-block-start: var(--bar-inset); z-index: 40; padding-inline: calc(var(--space-l) * (1 - var(--bar-full))); view-transition-name: site-header; }
  header.site-header::before { content: ""; position: absolute; inset: calc(var(--bar-inset) * -1) 0 auto; z-index: -1; block-size: calc(100% + var(--bar-inset) * 2 + var(--edge-fade)); background: linear-gradient(to bottom, var(--edge-tint), transparent); -webkit-backdrop-filter: var(--edge-blur); backdrop-filter: var(--edge-blur); -webkit-mask-image: linear-gradient(to bottom, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); mask-image: linear-gradient(to bottom, var(--edge-solid) calc(100% - var(--edge-fade)), transparent); pointer-events: none; }
  .bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-l); max-inline-size: max(var(--content-max), calc(var(--bar-full) * 100%)); margin: var(--bar-inset) auto 0; padding-block: var(--space-xs); padding-inline: max(var(--space-s), calc((100% - var(--content-max)) / 2 * var(--bar-full))) max(var(--space-xs), calc((100% - var(--content-max)) / 2 * var(--bar-full))); border-radius: var(--bar-radius); }
  .brand { display: flex; align-items: center; gap: var(--space-s); min-inline-size: 0; color: var(--text); text-decoration: none; }
  .brand-mark { display: grid; place-items: center; min-inline-size: var(--tap); block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--mark-bg); color: var(--bg); font: 800 var(--step-small)/1 var(--font-display); letter-spacing: 0.06em; }
  .brand-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; block-size: var(--brand-logo-h-d); inline-size: fit-content; min-inline-size: 0; max-inline-size: calc(var(--brand-logo-h-d) * var(--logo-wide)); overflow: clip; flex: none; }
  .brand-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .brand-name { min-inline-size: 0; overflow: hidden; font: 600 var(--step-base)/1.2 var(--font-display); white-space: nowrap; text-overflow: ellipsis; }
  header.site-header.is-condensed { --condensed: 0; }
  .bar-title { display: none; }
  .desk-nav { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2xs); }
  .desk-link { display: inline-flex; align-items: center; gap: var(--space-xs); white-space: nowrap; min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); color: var(--text); font-weight: 500; text-decoration: none; transition: background var(--dur-fast); position: relative; isolation: isolate; }
  .desk-link:hover { background: var(--glass-selected); }
  .desk-link[aria-current="page"] { color: var(--accent-ink); }
  .desk-group[data-active="true"] { color: var(--accent-ink); }
  .desk-pill { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--accent-soft); view-transition-name: desk-pill; }
  .island-pill { display: none; }
  .desk-group .icon-chevron { inline-size: 1em; block-size: 1em; transition: transform var(--dur) var(--ease-spring); }
  .desk-cta { margin-inline-start: var(--space-xs); background: var(--accent); color: var(--accent-text); font-weight: 600; }
  .burger { display: none; }
  .desk-icon { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; color: var(--text); transition: background var(--dur-fast); }
  .desk-icon:hover { background: var(--glass-selected); }

  /* mega panel for groups (native popover: light dismiss, Esc) */
  .mega { position: fixed; inset: calc(var(--tap) + var(--space-xl)) 0 auto; margin: 0 auto; inline-size: min(60rem, calc(100% - var(--space-l) * 2)); padding: var(--space-m); border-radius: var(--mega-radius); color: var(--text); opacity: 0; transform: translateY(calc(var(--space-s) * -1)) scale(0.98); transform-origin: top center; transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-spring), display var(--dur) allow-discrete, overlay var(--dur) allow-discrete; }
  .mega:popover-open { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-l); opacity: 1; transform: none; }
  .mega-head { display: grid; align-content: start; gap: var(--space-xs); padding: var(--space-s); }
  .mega-title { margin: 0; font: 700 var(--step-2)/1.15 var(--font-display); }
  .mega-description { margin: 0; color: var(--text-2); }
  .mega-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .mega-item { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) auto; align-items: start; gap: var(--space); padding: var(--space); border-radius: var(--group-radius); color: var(--text); text-decoration: none; transition: background var(--dur-fast); }
  .mega-item:hover { background: var(--glass-selected); }
  .mega-item[aria-current="page"] { background: var(--accent-soft); }
  .mega-go { display: flex; align-self: center; color: var(--text-2); }
  .mega-go-icon { inline-size: var(--go-size); block-size: var(--go-size); stroke-width: var(--go-stroke); transition: transform var(--dur) var(--ease-spring), color var(--dur-fast); }

  .tile-icon { display: grid; place-items: center; inline-size: var(--tile); block-size: var(--tile); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight); }
  .tile-text { display: grid; gap: var(--space-2xs); }
  .tile-text strong { font-weight: 600; font-size: var(--step-base); }
  .tile-text span { color: var(--text-2); font-size: var(--step-small); line-height: 1.4; }

  .staff-bar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space); max-inline-size: var(--content-max); margin: var(--space-s) auto 0; padding-inline: var(--space-l); font-size: var(--step-small); }
  .staff-bar form { display: inline; }

  main { padding-block: var(--space-l) var(--space-xl); }
  section { margin-block-end: var(--space-xl); }
  article { margin: 0; }
  aside { margin: 0; }
  footer.site-footer { margin-block-start: var(--space-xl); padding: var(--space-xl) var(--space-l) var(--space-l); background: var(--surface); border-block-start: var(--line) solid var(--border); color: var(--text-2); font-size: var(--step-small); }
  footer.site-footer p { margin: 0; }

  h1 { font: 700 var(--step-4)/1.08 var(--font-display); letter-spacing: -0.02em; margin: 0 0 var(--space); }
  h2 { font: 700 var(--step-3)/1.12 var(--font-display); letter-spacing: -0.015em; margin: 0 0 var(--space); }
  h3 { font: 600 var(--step-1)/1.3 var(--font-display); margin: 0 0 var(--space-s); }
  p { margin: 0 0 var(--space); max-inline-size: var(--measure); }
  a { color: var(--accent-ink); }
  ul, ol { padding-inline-start: var(--space-m); margin: 0 0 var(--space); }
  li { margin-block-end: var(--space-xs); }
  code { font-family: var(--font-mono); font-size: 0.9em; }
  pre { max-inline-size: 100%; overflow-x: auto; }
  img, video, iframe, svg { max-inline-size: 100%; }

  form { display: grid; gap: var(--space-xs); }
  label { font-weight: 600; margin-block-start: var(--space); }
  input:not([type="checkbox"]):not([type="radio"]) { inline-size: 100%; padding: calc(var(--space-s) * 1.3) var(--space); font: inherit; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
  .button, button[type="submit"] { display: inline-flex; align-items: center; gap: var(--space-s); justify-self: start; min-block-size: var(--tap); margin-block-start: var(--space); padding-inline: var(--space-m); font-weight: 600; color: var(--accent-text); background: var(--accent); border-radius: var(--radius-pill); text-decoration: none; }
  .button:hover, button[type="submit"]:hover { filter: brightness(1.08); }
  button.link { min-block-size: 0; margin: 0; padding: 0; color: var(--accent-ink); background: none; font-weight: 400; text-decoration: underline; }

  table { inline-size: 100%; max-inline-size: none; table-layout: auto; border-collapse: collapse; font-size: var(--step-small); }
  th, td { text-align: start; padding: var(--space-s) calc(var(--space-s) * 1.2); border-block-end: var(--line) solid var(--border); white-space: normal; overflow-wrap: normal; }

  .card { background: var(--surface); border-radius: var(--radius-xl); padding: var(--space-l); margin-block-end: var(--space-m); box-shadow: var(--card-shadow); }
  .narrow { max-inline-size: var(--narrow-max); margin-inline: auto; }
  .notice { padding: var(--space-s) var(--space); border-radius: var(--radius); }
  .muted { color: var(--text-2); font-size: var(--step-small); }
  .steps li { margin-block-end: var(--space-s); }
  code.secret { display: block; margin-block: var(--space-s); padding: var(--space-s) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); font-size: var(--step-1); letter-spacing: 0.05em; overflow-wrap: anywhere; user-select: all; }
  code.secret.small { font-size: var(--step-small); letter-spacing: 0; }

  /* slider: wide rounded stage, glass caption card inside, glass controls */
  .slider { position: relative; isolation: isolate; margin-block: 0 var(--space-xl); border-radius: var(--radius-xl); overflow: hidden; background: var(--surface); box-shadow: var(--glass-shadow); }
  .slider-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
  .slider-track::-webkit-scrollbar { display: none; }
  .slide { position: relative; display: grid; grid-template-areas: "stack"; aspect-ratio: var(--slide-ratio-desktop); min-block-size: var(--slide-min-desktop); scroll-snap-align: start; overflow: hidden; }
  .slide-media { grid-area: stack; overflow: hidden; }
  .slide-image { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .slide-caption { grid-area: stack; align-self: end; justify-self: start; max-inline-size: min(36rem, calc(100% - var(--slider-controls-reserve))); margin: var(--space-l); padding: var(--space-l) var(--space-l) var(--space-m); border-radius: var(--radius-xl); color: var(--on-image); }
  .slide-eyebrow { margin: 0 0 var(--space-s); font-size: var(--step-small); font-weight: 600; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); opacity: 0.85; }
  .slide-heading { font: 700 var(--step-3)/1.1 var(--font-display); letter-spacing: -0.015em; margin: 0 0 var(--space-s); color: var(--on-image); }
  .slide-text { margin: 0 0 var(--space); font-size: var(--step-base); line-height: 1.5; display: block; max-inline-size: 32rem; }
  .slide-button { justify-self: start; min-block-size: var(--tap); margin-block-start: var(--space-xs); padding-inline: var(--space-m); background: var(--accent); color: var(--accent-text); }
  .slide-button .icon { inline-size: 1em; block-size: 1em; transition: transform var(--dur) var(--ease-spring); }
  .slider-controls { position: absolute; inset-block-end: var(--space-l); inset-inline-end: var(--space-l); z-index: 2; display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs); border-radius: var(--radius-pill); }
  .slider-dots { display: flex; align-items: center; gap: var(--space-s); padding-inline: var(--space-xs); }
  .slider-dot { position: relative; inline-size: var(--dot); block-size: var(--dot); border-radius: var(--radius-pill); background: var(--dot-bg); overflow: hidden; transition: inline-size var(--dur) var(--ease-spring); }
  .slider-dot[aria-current="true"] { inline-size: calc(var(--dot-active) * 1.25); }
  .slider-dot-fill { position: absolute; inset: 0; background: var(--text); border-radius: inherit; transform: scaleX(0); transform-origin: var(--side-start) center; }
  .slider-dot.is-active .slider-dot-fill { transform: scaleX(1); }
  .slider.is-paused .slider-dot-fill { animation-play-state: paused; }
  .slider-prev, .slider-next, .slider-pause { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; color: var(--text); transition: background var(--dur-fast); }
  .icon-prev { transform: rotate(90deg); scale: var(--dir) 1; }
  .icon-next { transform: rotate(-90deg); scale: var(--dir) 1; }
  .slider-prev { display: grid; }
  .slider-next { display: grid; }
  .pause-bars { inline-size: 0.625rem; block-size: 0.75rem; border-inline: 0.1875rem solid currentColor; }
  .slider-pause.is-play .pause-bars { inline-size: 0; block-size: 0; border-block: 0.375rem solid transparent; border-inline-start: 0.625rem solid currentColor; border-inline-end: 0; margin-inline-start: 0.1875rem; scale: var(--dir) 1; }

  /* content */
  .intro { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-xl); align-items: start; margin-block-end: var(--space-xl); }
  .prose { max-inline-size: var(--prose-max); }
  .prose h2 { font-size: var(--step-2); margin-block: var(--space-l) var(--space-s); }
  .prose h3 { font-size: var(--step-1); margin-block: var(--space-m) var(--space-s); }
  .prose li { margin-block-end: var(--space-s); }
  .prose h4 { font-size: var(--step-base); margin-block: var(--space-m) var(--space-xs); }
  .intro-title { font: 700 var(--step-3)/1.12 var(--font-display); letter-spacing: -0.015em; margin: 0; text-wrap: balance; overflow-wrap: break-word; hyphens: manual; }
  .intro-title.is-long { font-size: var(--step-3); line-height: 1.12; }
  .intro-title::before { content: ""; display: block; inline-size: calc(var(--space) * 3); block-size: var(--space-xs); border-radius: var(--radius-pill); background: var(--accent); margin-block-end: var(--space-m); }
  .intro-head { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-m); }
  .intro-head:not(:has(.intro-logo)) { grid-template-columns: minmax(0, 1fr); }
  .intro-logo { display: grid; place-items: center; inline-size: var(--logo-size-d); aspect-ratio: 1; padding: var(--space-s); border-radius: var(--radius-xl); background: var(--logo-plate); box-shadow: var(--card-shadow); }
  .intro-logo-img { display: block; inline-size: 100%; block-size: auto; }
  .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--card-min), 1fr)); gap: var(--space-m); }
  .feature-card { display: grid; grid-template-rows: auto 1fr; background: var(--surface); border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--card-shadow); transition: transform var(--dur) var(--ease-spring), box-shadow var(--dur); }
  .feature-image { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
  .feature-body { padding: var(--space-m); }
  .feature-body h3, .card-title { font-size: var(--step-1); margin: 0 0 var(--space-s); }
  .feature-body h3 a, .card-title a { color: var(--text); text-decoration: none; }
  .more { display: inline-flex; align-items: center; gap: var(--space-xs); margin-block-start: var(--space-s); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: underline; text-decoration-color: var(--border); text-decoration-thickness: var(--line); text-underline-offset: 0.3em; }
  .feature-card.is-linked { position: relative; cursor: pointer; }
  .card-link { color: inherit; text-decoration: none; }
  .card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
  .card-link:focus-visible { outline: none; }
  .feature-card.is-linked:has(.card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .more .icon, .more-link .icon { inline-size: 1em; block-size: 1em; transition: transform var(--dur) var(--ease-spring); }
  .more-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .text-section { max-inline-size: var(--prose-max); margin-block-end: var(--space-xl); }
  .cta { margin-block-end: var(--space-xl); }
  .latest { margin-block-start: var(--space-xl); }

  /* the island and sheet are the mobile navigation: not rendered on desktop */
  .island { display: none; view-transition-name: island; }
  .island::before { display: none; }
  .island-tabs { display: none; }
  .island-tabs li { display: none; }
  .island-tab { display: none; }
  .island-tab .icon { display: none; }
  .island-tab[aria-current="page"] { display: none; }
  .island-label { display: none; }
  .island-menu { display: none; }
  .island.is-compact .island-tabs { display: none; }
  .island.is-compact .island-label { display: none; }
  .island.is-compact .island-tab { display: none; }
  .island.is-compact .island-menu { display: none; }

  .sheet { display: none; }
  .sheet[open] { display: none; }
  .sheet.is-dragging { display: none; }
  .sheet:focus { outline: none; }
  .sheet::backdrop { display: none; }
  .sheet[open]::backdrop { display: none; }
  .sheet-grabber { display: none; }
  .sheet-handle { display: none; }
  .sheet-head { display: none; }
  .sheet-title { display: none; }
  .sheet-close { display: none; }
  .sheet-body { display: none; }
  .sheet-group { display: none; }
  .sheet-group-title { display: none; }
  .sheet-list { display: none; }
  .sheet-list li + li { display: none; }
  .sheet-item { display: none; }
  button.sheet-item { display: none; }
  .sheet-item:active { display: none; }
  .sheet-item[aria-current="page"] { display: none; }
  .sheet-item.is-cta .tile-icon { display: none; }
  .icon-go { display: none; }
  /* ---- consent switch (real checkbox on top, drawn track + knob underneath) ---- */
  .d-switch { position: relative; display: inline-grid; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); }
  .d-switch-input { appearance: none; position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; min-block-size: 0; margin: 0; padding: 0; border: 0; border-radius: var(--radius-pill); background: none; opacity: 0; cursor: pointer; }
  .d-switch-track { display: block; inline-size: 100%; block-size: 100%; border-radius: var(--radius-pill); background: var(--switch-off); box-shadow: inset 0 0 0 var(--line) var(--separator); transition: background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
  .d-switch-knob { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur) var(--ease-spring); }
  .d-switch-input:checked + .d-switch-track { background: var(--switch-on); box-shadow: none; }
  .d-switch-input:checked + .d-switch-track .d-switch-knob { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .d-switch-input:focus-visible + .d-switch-track { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-switch-input:active + .d-switch-track .d-switch-knob { inline-size: calc(var(--knob-size) * 1.2); }
  .m-switch { display: none; }
  .m-switch-input { display: none; }
  .m-switch-track { display: none; }
  .m-switch-knob { display: none; }
  .m-switch-input:checked + .m-switch-track { display: none; }
  .m-switch-input:checked + .m-switch-track .m-switch-knob { display: none; }
  .m-switch-input:focus-visible + .m-switch-track { display: none; }
  .m-switch-input:active + .m-switch-track .m-switch-knob { display: none; }
  /* ---- consent + display preferences ---- */
  .d-cookie-fab { position: fixed; z-index: 45; inset-inline-start: var(--space-l); inset-block-end: var(--space-l); display: inline-flex; align-items: center; gap: 0; min-block-size: var(--tap); padding-inline: calc((var(--tap) - var(--icon)) / 2); border-radius: var(--radius-pill); color: var(--text); font-weight: 600; font-size: var(--step-small); transition: gap var(--dur) var(--ease-spring), opacity var(--dur-fast); }
  .d-cookie-fab .icon { inline-size: var(--icon); block-size: var(--icon); }
  .d-cookie-fab-label { max-inline-size: 0; overflow: hidden; white-space: nowrap; transition: max-inline-size var(--dur) var(--ease-spring); }
  .d-cookie-fab:hover, .d-cookie-fab:focus-visible { gap: var(--space-s); }
  .d-cookie-fab:hover .d-cookie-fab-label, .d-cookie-fab:focus-visible .d-cookie-fab-label { max-inline-size: 16rem; }
  html.consent-open .d-cookie-fab { opacity: 0; pointer-events: none; }
  .d-consent { position: fixed; z-index: 60; inset-block: auto var(--space-l); inset-inline: var(--space-l) auto; display: none; margin: 0; inline-size: var(--consent-w); max-inline-size: calc(100% - var(--space-l) * 2); max-block-size: calc(100% - var(--space-xl) * 2); padding: 0; border: var(--line) solid var(--glass-rim); border-radius: var(--radius-xl); background: var(--glass-bg-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-sheen); color: var(--text); overflow: hidden; opacity: 0; transform: translateY(var(--space)) scale(0.98); transform-origin: bottom var(--side-start); transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-spring), inline-size var(--dur) var(--ease-spring), display var(--dur) allow-discrete, overlay var(--dur) allow-discrete; }
  .d-consent[open] { display: grid; grid-template-rows: minmax(0, 1fr) auto; opacity: 1; transform: none; }
  .d-consent[data-current-view="settings"] { inline-size: var(--consent-wide); }
  .d-consent:focus { outline: none; }
  .d-consent::backdrop { background: transparent; transition: background var(--dur) var(--ease-out), display var(--dur) allow-discrete, overlay var(--dur) allow-discrete; }
  .d-consent[open]::backdrop { background: var(--backdrop); }
  .d-consent-intro { display: grid; gap: var(--space-s); margin: 0; padding: var(--space-m); }
  .d-consent-head { display: flex; align-items: center; gap: var(--space-s); }
  .d-consent-badge { display: grid; place-items: center; inline-size: calc(var(--tile) * 1.15); block-size: calc(var(--tile) * 1.15); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight); }
  .d-consent-badge .icon { inline-size: calc(var(--icon) * 1.1); block-size: calc(var(--icon) * 1.1); }
  .d-consent-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .d-consent-text { margin: 0; max-inline-size: none; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .d-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s); margin-block-start: var(--space-xs); }
  .d-consent-choice { min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--text); color: var(--bg); font-weight: 600; transition: filter var(--dur-fast); }
  .d-consent-choice:hover { filter: brightness(1.15); }
  .d-consent-settings { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-block-size: 0; }
  .d-consent-bar { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: var(--space); padding: var(--space-m) var(--space-m) var(--space-s); }
  .d-consent-bar-title { margin: 0 0 var(--space-xs); font: 700 var(--step-2)/1.15 var(--font-display); }
  .d-consent-lead { margin: 0; max-inline-size: 36rem; color: var(--text-2); font-size: var(--step-small); }
  .d-consent-close { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .d-consent-columns { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-m); min-block-size: 0; padding: var(--space-s) var(--space-m) var(--space-m); overflow-y: auto; overscroll-behavior: contain; }
  .d-consent-col { display: grid; align-content: start; gap: var(--space-s); }
  .d-consent-group { margin: 0; font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .d-consent-list { margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .d-consent-row { display: grid; grid-template-columns: var(--tile-s) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding-block: calc(var(--space-s) * 1.25); padding-inline: calc(var(--space) * 0.75) var(--space-s); }
  .d-consent-row + .d-consent-row { border-block-start: var(--line) solid var(--separator); }
  .d-consent-tile { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: var(--radius-s); background: var(--tint, var(--accent)); color: var(--on-image); }
  .d-consent-row-text { display: grid; gap: var(--space-2xs); margin: 0; font-weight: 400; cursor: pointer; }
  .d-consent-row-text strong { font-weight: 600; font-size: var(--step-small); line-height: 1.25; }
  .d-consent-row-text span { font-weight: 400; color: var(--text-2); font-size: var(--step-caption); line-height: 1.3; }
  .d-consent-locked { padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; white-space: nowrap; }
  .d-segment-field { display: grid; gap: calc(var(--space-xs) * 1.5); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-segment-legend { float: none; inline-size: auto; margin: 0; padding: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; line-height: 1.2; }
  .d-segment { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--segment-pad); padding: var(--segment-pad); border-radius: var(--radius-s); background: var(--fill); }
  .d-segment-option { position: relative; display: grid; min-inline-size: 0; margin: 0; font-weight: inherit; }
  .d-segment-option input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
  .d-segment-face { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--segment-h); padding-inline: var(--space-xs); border-radius: calc(var(--radius-s) - var(--segment-pad)); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; line-height: 1; white-space: nowrap; overflow: hidden; transition: background var(--dur-fast), color var(--dur-fast); }
  .d-segment-face .icon { inline-size: 1em; block-size: 1em; }
  .d-segment-option input:checked + .d-segment-face { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .d-segment-option input:focus-visible + .d-segment-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-segment-option:hover .d-segment-face { color: var(--text); }
  .d-consent-note { margin: 0; color: var(--text-2); font-size: calc(var(--step-small) * 0.92); }
  .d-consent-reset { justify-self: start; color: var(--accent-ink); font-weight: 600; }
  .d-consent-details { background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .d-consent-summary { display: flex; align-items: center; justify-content: space-between; min-block-size: var(--tap); padding: var(--space-s) var(--space); font-weight: 600; list-style: none; cursor: pointer; }
  .d-consent-summary::-webkit-details-marker { display: none; }
  .d-icon-disclose { transition: transform var(--dur) var(--ease-spring); }
  .d-consent-details[open] .d-icon-disclose { transform: rotate(180deg); }
  .d-cookie-table { inline-size: 100%; border-collapse: collapse; font-size: calc(var(--step-small) * 0.92); }
  .d-cookie-table th, .d-cookie-table td { padding: var(--space-xs) var(--space); text-align: start; vertical-align: top; white-space: normal; border-block-start: var(--line) solid var(--separator); }
  .d-cookie-table thead th { color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
  .d-cookie-tag { display: inline-block; margin-inline-start: var(--space-xs); padding: 0 var(--space-s); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-tiny); font-weight: 600; }
  .d-consent-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space); padding: var(--space-s) var(--space-m) var(--space-m); border-block-start: var(--line) solid var(--separator); }
  .d-consent-back { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 500; }
  .d-consent-reject { justify-self: start; min-block-size: var(--tap); margin-block-start: var(--space-s); color: var(--text-2); font-size: var(--step-small); font-weight: 400; }
  .d-icon-back { transform: rotate(90deg); scale: var(--dir) 1; }
  button.d-consent-save { margin: 0; }
  .d-consent-status { margin: 0; padding: 0 var(--space-m) var(--space-s); color: var(--ok); font-size: var(--step-small); font-weight: 600; }
  .d-consent-status:empty { display: none; }
  .m-cookie-fab { display: none; }
  .m-cookie-fab .icon { display: none; }
  html.consent-open .m-cookie-fab { display: none; }
  .m-consent { display: none; }
  .m-consent[open] { display: none; }
  .m-consent:focus { display: none; }
  .m-consent.is-dragging { display: none; }
  .m-consent::backdrop { display: none; }
  .m-consent[open]::backdrop { display: none; }
  .m-consent-grabber { display: none; }
  .m-consent-handle { display: none; }
  .m-consent-intro { display: none; }
  .m-consent-badge { display: none; }
  .m-consent-badge .icon { display: none; }
  .m-consent-title { display: none; }
  .m-consent-text { display: none; }
  .m-consent-actions { display: none; }
  .m-consent-choice { display: none; }
  .m-consent-reject { display: none; }
  .m-consent-settings { display: none; }
  .m-consent-bar { display: none; }
  .m-consent-back { display: none; }
  .m-icon-back { display: none; }
  .m-consent-bar-title { display: none; }
  .m-consent-close { display: none; }
  .m-consent-scroll { display: none; }
  .m-consent-lead { display: none; }
  .m-consent-group { display: none; }
  .m-consent-list { display: none; }
  .m-consent-row { display: none; }
  .m-consent-row + .m-consent-row { display: none; }
  .m-consent-tile { display: none; }
  .m-consent-row-text { display: none; }
  .m-consent-row-text strong { display: none; }
  .m-consent-row-text span { display: none; }
  .m-consent-locked { display: none; }
  .m-display { display: none; }
  .m-segment-field { display: none; }
  .m-segment-legend { display: none; }
  .m-segment { display: none; }
  .m-segment-option { display: none; }
  .m-segment-option input { display: none; }
  .m-segment-face { display: none; }
  .m-segment-face .icon { display: none; }
  .m-segment-option input:checked + .m-segment-face { display: none; }
  .m-segment-option input:focus-visible + .m-segment-face { display: none; }
  .m-consent-note { display: none; }
  .m-consent-reset { display: none; }
  .m-consent-details { display: none; }
  .m-consent-summary { display: none; }
  .m-consent-summary::-webkit-details-marker { display: none; }
  .m-icon-disclose { display: none; }
  .m-consent-details[open] .m-icon-disclose { display: none; }
  .m-cookie-list { display: none; }
  .m-cookie-item { display: none; }
  .m-cookie-item dt { display: none; }
  .m-cookie-item dd { display: none; }
  .m-cookie-tag { display: none; }
  .m-cookie-duration { display: none; }
  .m-consent-footer { display: none; }
  button.m-consent-save { display: none; }
  .m-consent-status { display: none; }
  .m-consent-status:empty { display: none; }
  /* ---- footer ---- */
  .d-footer { display: grid; gap: var(--space-l); max-inline-size: var(--content-max); margin-inline: auto; padding-block-end: calc(var(--tap) + var(--space-l)); }
  .d-footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: var(--space-l); }
  .d-footer-brand { display: grid; align-content: start; gap: var(--space-s); }
  .d-footer-home { display: inline-flex; align-items: center; gap: var(--space-s); color: var(--text); text-decoration: none; }
  .d-footer-mark { display: grid; place-items: center; min-inline-size: var(--tap); block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--text); color: var(--bg); font: 800 var(--step-small)/1 var(--font-display); letter-spacing: 0.06em; }
  .d-footer-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; block-size: var(--footer-logo-h-d); inline-size: fit-content; min-inline-size: 0; max-inline-size: calc(var(--footer-logo-h-d) * var(--logo-wide)); overflow: clip; flex: none; }
  .d-footer-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .d-footer-name { font: 600 var(--step-1)/1.2 var(--font-display); }
  .d-footer-tagline { max-inline-size: 22rem; color: var(--text-2); }
  .d-footer-contact { display: grid; gap: var(--space-2xs); margin: var(--space-xs) 0 0; padding: 0; list-style: none; }
  .d-footer-direct { display: inline-flex; align-items: center; gap: var(--space-s); min-block-size: calc(var(--tap) * 0.8); color: var(--text); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
  .d-footer-direct .icon { color: var(--accent-ink); }
  .d-footer-direct:hover span { text-decoration: underline; text-underline-offset: 0.2em; }
  .d-footer-phone { display: inline-flex; align-items: center; gap: var(--space-xs); }
  .d-footer-wa { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: calc(var(--tap) * 0.8); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; transition: filter var(--dur-fast); }
  .d-footer-wa .icon { color: var(--accent-ink); }
  .d-footer-wa:hover { filter: brightness(0.95); }
  .d-footer-phone-label { display: block; color: var(--text-2); font-size: var(--step-small); font-weight: 500; }
  .d-footer-cta { display: inline-flex; align-items: center; justify-self: start; gap: var(--space-s); min-block-size: var(--tap); margin-block-start: var(--space-xs); padding-inline: var(--space-m); color: var(--accent-text); background: var(--accent); border-radius: var(--radius-pill); font-weight: 700; text-decoration: none; }
  .d-footer-cta:hover { background: var(--accent-hover); }
  .d-footer-col { display: grid; align-content: start; gap: var(--space-s); }
  .d-footer-title { margin: 0; font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .d-footer-links { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-footer-links li { margin: 0; }
  .d-footer-link { display: inline-flex; align-items: center; min-block-size: calc(var(--tap) * 0.8); color: var(--text); font-size: var(--step-small); text-decoration: none; transition: color var(--dur-fast); }
  .d-footer-link:hover { color: var(--accent-ink); }
  .d-footer-link[aria-current="page"] { color: var(--accent-ink); font-weight: 600; }
  .d-footer-legal { display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: var(--space-m); padding-block-start: var(--space-m); border-block-start: var(--line) solid var(--separator); font-size: var(--step-caption); }
  .d-footer-copy { color: var(--text-2); }
  .d-footer-privacy { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-weight: 500; }
  .d-footer-privacy .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-footer-top { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--text-2); text-decoration: none; }
  .d-icon-up { inline-size: 1em; block-size: 1em; transform: rotate(180deg); }
  .d-footer-credit { color: var(--text-2); }
  .d-footer-credit-link { color: var(--text); font-weight: 600; }
  .m-footer { display: none; }
  .m-footer-cta { display: none; }
  .m-footer-cta-title { display: none; }
  .m-footer-cta-text { display: none; }
  .m-footer-direct { display: none; }
  .m-footer-direct .icon { display: none; }
  .m-footer-phone { display: none; }
  .m-footer-wa { display: none; }
  .m-footer-wa .icon { display: none; }
  .m-footer-phone-label { display: none; }
  .m-footer-cta-button { display: none; }
  .m-footer-cta-button .icon { display: none; }
  .m-footer-brand { display: none; }
  .m-footer-logo { display: none; }
  .m-footer-logo-img { display: none; }
  .m-footer-mark { display: none; }
  .m-footer-brand-text { display: none; }
  .m-footer-name { display: none; }
  .m-footer-tagline { display: none; }
  .m-footer-groups { display: none; }
  .m-footer-acc + .m-footer-acc { display: none; }
  .m-footer-summary { display: none; }
  .m-footer-summary::-webkit-details-marker { display: none; }
  .m-footer-summary:focus-visible { display: none; }
  .m-footer-title { display: none; }
  .m-footer-count { display: none; }
  .m-footer-chevron { display: none; }
  .m-footer-acc[open] .m-footer-summary { display: none; }
  .m-footer-acc[open] .m-footer-chevron { display: none; }
  .m-footer-acc[open] .m-footer-panel { display: none; }
  .m-footer-panel { display: none; }
  .m-footer-list { display: none; }
  .m-footer-list li { display: none; }
  .m-footer-list li + li { display: none; }
  .m-footer-link { display: none; }
  .m-footer-link .tile-icon { display: none; }
  .m-footer-link-label { display: none; }
  .m-footer-go { display: none; }
  .m-footer-link[aria-current="page"] { display: none; }
  .m-footer-legal { display: none; }
  .m-footer-privacy { display: none; }
  .m-footer-privacy .icon { display: none; }
  .m-footer-copy { display: none; }
  .m-footer-credit { display: none; }
  .m-footer-credit-link { display: none; }
  /* ---- tables: desktop = semantic table ---- */
  .data-table { margin-block: var(--space-m) var(--space-l); }
  .d-table-wrap { max-inline-size: 100%; overflow: clip; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-table { inline-size: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--step-small); }
  .d-table th, .d-table td { padding: calc(var(--space) * 0.75) var(--space); text-align: start; vertical-align: top; border-block-end: var(--line) solid var(--separator); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
  .d-table thead th { position: sticky; inset-block-start: calc(var(--space-s) * 2 + var(--tap) + var(--space-xs) * 2); z-index: 1; background: var(--surface); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; }
  .d-table tbody th { font-weight: 600; }
  .d-table tbody tr:last-child th, .d-table tbody tr:last-child td { border-block-end: 0; }
  .d-spec-table th[scope="row"] { inline-size: 34%; color: var(--text-2); font-weight: 600; }
  .m-records { display: none; }
  .m-records > .m-record { display: none; }
  .m-record-title { display: none; }
  .m-record-fields { display: none; }
  .m-record-field { display: none; }
  .m-record-field dt { display: none; }
  .m-record-field dd { display: none; }
  .m-spec { display: none; }
  .m-spec-row { display: none; }
  .m-spec-row + .m-spec-row { display: none; }
  .m-spec-row dt { display: none; }
  .m-spec-row dd { display: none; }
  /* ---- features (bento on desktop, grouped list on mobile) ---- */
  .features { margin-block: var(--space-xl); }
  .features-eyebrow { margin: 0 0 var(--space-s); color: var(--accent-ink); font-size: var(--step-small); font-weight: 700; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); }
  .features-title { max-inline-size: 36rem; margin: 0 0 var(--space-l); font: 700 var(--step-3)/1.12 var(--font-display); letter-spacing: -0.015em; }
  .d-features { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none; }
  .d-feature { position: relative; grid-column: span 2; display: grid; align-content: start; gap: var(--space-s); margin: 0; padding: var(--space-l); border-radius: var(--radius-xl); background: linear-gradient(145deg, color-mix(in srgb, var(--tint) 10%, var(--surface)) 0%, var(--surface) 60%); box-shadow: var(--card-shadow); overflow: hidden; transition: transform var(--dur) var(--ease-spring), box-shadow var(--dur); }
  .d-feature:nth-child(-n + 2) { grid-column: span 3; }
  /* Any number of tiles fills whole rows (owner, 2026-10-03): 3, 6, 9... = rows of three; 4 = two by two; 5 = 2 + 3. */
  .d-features:has(> .d-feature:first-child:nth-last-child(3n)) > .d-feature { grid-column: span 2; }
  .d-features:has(> .d-feature:first-child:nth-last-child(4):last-child), .d-features:has(> .d-feature:first-child:nth-last-child(4)) > .d-feature { grid-column: span 3; }
  .d-feature-num { position: absolute; inset-block-start: var(--space-m); inset-inline-end: var(--space-m); color: color-mix(in srgb, var(--tint) 35%, transparent); font: 800 var(--step-3)/1 var(--font-display); letter-spacing: -0.02em; }
  .d-feature-tile { display: grid; place-items: center; inline-size: calc(var(--tile) * 1.3); block-size: calc(var(--tile) * 1.3); margin-block-end: var(--space-xs); border-radius: var(--radius); background: var(--tint, var(--accent)); color: var(--on-image); box-shadow: inset 0 var(--line) 0 var(--tile-highlight), 0 var(--space-xs) var(--space) color-mix(in srgb, var(--tint) 30%, transparent); }
  .d-feature-tile .icon { inline-size: calc(var(--icon) * 1.2); block-size: calc(var(--icon) * 1.2); }
  .d-feature-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-feature-text { margin: 0; max-inline-size: 30rem; color: var(--text-2); line-height: 1.55; }
  .m-features { display: none; }
  .m-feature { display: none; }
  .m-feature + .m-feature { display: none; }
  .m-feature-tile { display: none; }
  .m-feature-body { display: none; }
  .m-feature-title { display: none; }
  .m-feature-text { display: none; }
  /* ---- tables (audit fixes: spans, captions, feeds) ---- */
  .d-table-caption { padding: var(--space) var(--space) 0; caption-side: top; text-align: start; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .m-record-value dt { display: none; }
  .m-record-value dd { display: none; }
  .m-record-values { display: none; }
  .m-record-values li { display: none; }
  .m-table-caption { display: none; }
  .m-feed { display: none; }
  .m-feed-day { display: none; }
  .m-feed-list { display: none; }
  .m-feed-item { display: none; }
  .m-feed-head { display: none; }
  .m-feed-title { display: none; }
  .m-feed-time { display: none; }
  .m-feed-meta { display: none; }
  .m-feed-field { display: none; }
  .m-feed-field + .m-feed-field::before { display: none; }
  .m-feed-more { display: none; }
  .m-feed-summary { display: none; }
  /* ---- 404 page and breadcrumbs ---- */
  .notfound { margin-block: var(--space-l) var(--space-xl); }
  .m-crumbs { display: none; }
  .m-crumbs-back { display: none; }
  .m-crumbs-icon { display: none; }
  .m-crumbs-label { display: none; }
  .d-crumbs { margin-block-end: var(--space); }
  .d-crumbs-list { display: flex; align-items: center; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0; list-style: none; font-size: var(--step-caption); line-height: 1.4; letter-spacing: 0.01em; }
  .d-crumbs-item { display: inline-flex; flex: none; align-items: center; gap: var(--space-xs); margin: 0; }
  .d-crumbs-link { color: var(--accent-ink); font-weight: 500; text-decoration: none; text-underline-offset: 0.2em; }
  .d-crumbs-sep { inline-size: 0.9em; block-size: 0.9em; color: var(--text-2); stroke-width: 2; transform: rotate(-90deg); scale: var(--dir) 1; }
  .d-crumbs-current { min-inline-size: 0; max-inline-size: 30rem; margin: 0; overflow: hidden; color: var(--text-2); white-space: nowrap; text-overflow: ellipsis; }
  .d-notfound { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; gap: var(--space-xl); }
  .d-notfound-main { display: grid; gap: var(--space); }
  .d-notfound-code { margin: 0; color: var(--text); font: 800 calc(var(--step-4) * 2.4)/0.85 var(--font-display); letter-spacing: -0.05em; }
  .d-notfound-code::after { content: ""; display: block; inline-size: calc(var(--space-xl) * 1.5); block-size: calc(var(--space-xs) * 1.5); margin-block-start: var(--space-m); border-radius: var(--radius-pill); background: var(--accent); }
  .d-notfound-title { margin: var(--space-s) 0 0; font: 700 var(--step-3)/1.1 var(--font-display); letter-spacing: -0.015em; }
  .d-notfound-text { margin: 0; max-inline-size: 34rem; color: var(--text-2); font-size: var(--step-1); line-height: 1.5; }
  .d-notfound-path { display: inline-grid; justify-self: start; gap: var(--space-2xs); margin: 0; padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--fill); }
  .d-notfound-path span { color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
  .d-notfound-path code { max-inline-size: 34rem; overflow-wrap: anywhere; color: var(--text); }
  .d-notfound-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space) var(--space-l); margin-block-start: var(--space-xs); }
  .d-notfound-actions .button { margin: 0; }
  .d-notfound-actions .button .icon { inline-size: 1em; block-size: 1em; }
  .d-notfound-secondary { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .d-notfound-next { padding: var(--space-m); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-notfound-next-title { margin: 0 0 var(--space-s); font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); }
  .d-notfound-links { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-notfound-links li { margin: 0; }
  .d-notfound-link { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) auto; align-items: center; gap: var(--space); padding: var(--space-s); border-radius: var(--radius-l); color: var(--text); font-weight: 500; text-decoration: none; transition: background var(--dur-fast); }
  .icon-go-d { inline-size: 1rem; block-size: 1rem; color: var(--text-2); transition: transform var(--dur) var(--ease-spring); }
  .m-notfound { display: none; }
  .m-notfound-code { display: none; }
  .m-notfound-code::after { display: none; }
  .m-notfound-title { display: none; }
  .m-notfound-text { display: none; }
  .m-notfound-path { display: none; }
  .m-notfound-path span { display: none; }
  .m-notfound-path code { display: none; }
  .m-notfound-home { display: none; }
  .m-notfound-secondary { display: none; }
  .m-notfound-next-title { display: none; }
  .m-notfound-links { display: none; }
  .m-notfound-links li { display: none; }
  .m-notfound-links li + li { display: none; }
  .m-notfound-link { display: none; }
  .icon-go-m { display: none; }
  /* ---- contact page (desktop: d-contact) ---- */
  .contact-head { max-inline-size: var(--prose-max); margin-block: var(--space-s) var(--space-l); }
  .contact-eyebrow { margin: 0 0 var(--space-s); color: var(--accent-ink); font-size: var(--step-small); font-weight: 700; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); }
  .contact-title { margin: 0 0 var(--space-s); font: 700 var(--step-4)/1.1 var(--font-display); letter-spacing: -0.02em; }
  .contact-lead { margin: 0; color: var(--text-2); font-size: var(--step-1); line-height: 1.45; }
  .contact-hp { position: absolute; inline-size: var(--line); block-size: var(--line); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .cta-actions { margin: var(--space-m) 0 0; }
  .cta-button .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-contact { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-l); margin-block-end: var(--space-xl); }
  .d-contact-card { flex: 2 1 var(--form-main-min); min-inline-size: 0; padding: var(--space-l); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-section { min-inline-size: 0; padding-block-start: var(--space-m); border-block-start: var(--line) solid var(--separator); }
  .d-contact-form-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .d-contact-note { margin: var(--space-xs) 0 var(--space-m); color: var(--text-2); font-size: var(--step-small); }
  .d-error-summary { scroll-margin-block-start: var(--contact-sticky); margin-block-end: var(--space-m); padding: var(--space) var(--space-m); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--radius-l); }
  .d-error-summary:focus { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-error-summary-title { margin: 0 0 var(--space-xs); color: var(--error); font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-error-summary-list { display: grid; gap: var(--space-xs); margin: 0; padding-inline-start: var(--space-m); }
  .d-error-summary-list a { color: var(--error); font-weight: 600; }
  .d-contact-form { display: grid; gap: var(--space-m); }
  .d-topics, .d-group { display: grid; gap: var(--space-s); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-legend { padding: 0 0 var(--space-s); font: 600 var(--step-1)/1.3 var(--font-display); }
  .d-topic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--topic-min)), 1fr)); gap: var(--space-s); }
  .d-topic { position: relative; display: block; margin: 0; font-weight: 400; }
  .d-topic-input { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .d-topic-face { position: relative; display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) var(--radio); align-items: start; gap: var(--space-s); block-size: 100%; padding: var(--space); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-l); transition: border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast); }
  .d-topic-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; overflow-wrap: break-word; hyphens: auto; }
  .d-topic-text span { color: var(--text-2); font-size: var(--step-small); line-height: 1.35; }
  .d-topic-check { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: 50%; transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
  .d-topic-check .icon { inline-size: calc(var(--radio) * 0.6); block-size: calc(var(--radio) * 0.6); stroke-width: 3; }
  .d-topic-input:hover + .d-topic-face { border-color: var(--accent-line); }
  .d-topic-input:checked + .d-topic-face { background: var(--accent-soft); border-color: var(--accent); box-shadow: 0 0 0 var(--line) var(--accent); }
  .d-topic-input:checked + .d-topic-face .d-topic-check { color: var(--accent-text); background: var(--accent); border-color: var(--accent); }
  .d-topic-input:focus-visible + .d-topic-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-topics.is-invalid .d-topic-face { border-color: var(--error); }
  .d-field-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m); }
  .d-field { scroll-margin-block-start: var(--contact-sticky); display: grid; align-content: start; gap: var(--space-xs); min-inline-size: 0; }
  .d-field-full { grid-column: 1 / -1; }
  .d-field-half { max-inline-size: var(--field-max); }
  .d-field input.d-input[type="tel"] { max-inline-size: var(--field-short); }
  .d-label { margin: 0; font-weight: 600; }
  .d-optional { color: var(--text-2); font-weight: 400; }
  .d-hint { margin: calc(var(--space-2xs) * -1) 0 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.4; }
  .d-error { margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .d-field input.d-input { min-block-size: var(--field-h); margin: 0; font-size: var(--step-base); background: var(--field-bg); border-color: var(--field-border); transition: border-color var(--dur-fast); }
  .d-field textarea.d-textarea { display: block; inline-size: 100%; min-block-size: var(--textarea-h); margin: 0; padding: var(--space-s) var(--space); color: inherit; font: inherit; font-size: var(--step-base); line-height: 1.5; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); resize: vertical; }
  .d-field input.d-input:focus, .d-field textarea.d-textarea:focus { border-color: var(--accent); outline: var(--focus-ring) solid var(--focus-color); outline-offset: 0; }
  .d-field.is-invalid input.d-input, .d-field.is-invalid textarea.d-textarea { border: calc(var(--line) * 2) solid var(--error); }
  .d-counter { margin: 0; justify-self: end; color: var(--text-2); font-size: var(--step-small); font-variant-numeric: tabular-nums; }
  .d-counter.is-over { color: var(--error); font-weight: 600; }
  .d-privacy { display: grid; grid-template-columns: var(--icon) minmax(0, 1fr); align-items: start; gap: var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-privacy .icon { color: var(--accent-ink); }
  .d-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-m); }
  button.d-submit { min-block-size: var(--field-h); margin: 0; padding-inline: var(--space-l); font-size: var(--step-base); }
  button.d-submit[aria-busy="true"] { opacity: 0.7; cursor: progress; }
  .d-submit-note { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-contact-aside { flex: 1 1 var(--form-side-min); position: sticky; inset-block-start: var(--contact-sticky); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--form-side-min)), 1fr)); align-items: start; gap: var(--space); min-inline-size: 0; }
  .d-aside-card { padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-aside-title { margin: 0 0 var(--space); font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-direct { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-direct-link { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr); align-items: center; gap: var(--space-s); padding: var(--space-s); color: var(--text); text-decoration: none; border-radius: var(--radius); }
  .d-direct-link > span:last-child { display: grid; min-inline-size: 0; color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-direct-link strong { color: var(--text); font-size: var(--step-base); }
  .d-steps { display: grid; gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .d-step { display: grid; grid-template-columns: var(--step-dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); color: var(--text-2); line-height: 1.45; }
  .d-step-number { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); margin-block-start: var(--space-2xs); color: var(--text); font-size: var(--step-caption); font-weight: 700; border: var(--line) solid var(--field-border); border-radius: 50%; }
  .d-places { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-places li { padding: var(--space-xs) var(--space-s); font-size: var(--step-small); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .contact-sent { display: grid; justify-items: center; gap: var(--space); max-inline-size: var(--consent-wide); margin: var(--space-xl) auto; padding: var(--space-xl) var(--space-l); text-align: center; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .contact-sent-badge { display: grid; place-items: center; inline-size: calc(var(--badge) * 1.25); block-size: calc(var(--badge) * 1.25); color: var(--accent-text); background: var(--accent); border-radius: 50%; }
  .contact-sent-badge .icon { inline-size: calc(var(--badge) * 0.6); block-size: calc(var(--badge) * 0.6); stroke-width: 2.4; }
  .contact-sent-title { margin: 0; font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.01em; }
  .contact-sent-text { max-inline-size: var(--measure); margin: 0; color: var(--text-2); font-size: var(--step-1); line-height: 1.45; }
  .contact-sent-ref { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: var(--space-s); margin: 0; padding: var(--space-s) var(--space-l); background: var(--accent-soft); border-radius: var(--radius-l); }
  .contact-sent-ref-label { color: var(--text-2); }
  .contact-sent-ref-code { font: 700 var(--step-2)/1.2 var(--font-mono); letter-spacing: 0.04em; user-select: all; }
  .contact-sent-ref-hint { max-inline-size: var(--measure); margin: 0; color: var(--text-2); line-height: 1.45; }
  .contact-sent-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-m); }
  .contact-sent-actions .button { margin: 0; }
  .contact-sent-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  /* mobile contact tree: hidden on desktop */
  .m-section { display: none; }
  button.m-submit { display: none; }
  button.m-submit[aria-busy="true"] { display: none; }
  .m-contact { display: none; }
  .m-direct { display: none; }
  .m-direct li + li { display: none; }
  .m-direct-link { display: none; }
  .m-direct-text { display: none; }
  .m-direct-text span { display: none; }
  .m-contact-form-title { display: none; }
  .m-contact-note { display: none; }
  .m-error-summary { display: none; }
  .m-error-summary:focus { display: none; }
  .m-error-summary-title { display: none; }
  .m-error-summary-list { display: none; }
  .m-error-summary-list a { display: none; }
  .m-contact-form { display: none; }
  .m-topics { display: none; }
  .m-group { display: none; }
  .m-legend { display: none; }
  .m-topic-list { display: none; }
  .m-topic { display: none; }
  .m-topic + .m-topic { display: none; }
  .m-topic-input { display: none; }
  .m-topic-face { display: none; }
  .m-topic-text { display: none; }
  .m-topic-text span { display: none; }
  .m-topic-radio { display: none; }
  .m-topic-radio .icon { display: none; }
  .m-topic-input:checked + .m-topic-face { display: none; }
  .m-topic-input:checked + .m-topic-face .m-topic-radio { display: none; }
  .m-topic-input:focus-visible + .m-topic-face { display: none; }
  .m-topics.is-invalid .m-topic-list { display: none; }
  .m-field-list { display: none; }
  .m-field { display: none; }
  .m-label { display: none; }
  .m-optional { display: none; }
  .m-hint { display: none; }
  .m-error { display: none; }
  .m-field input.m-input { display: none; }
  .m-field textarea.m-textarea { display: none; }
  .m-field input.m-input:focus { display: none; }
  .m-field textarea.m-textarea:focus { display: none; }
  .m-field.is-invalid input.m-input { display: none; }
  .m-field.is-invalid textarea.m-textarea { display: none; }
  .m-counter { display: none; }
  .m-counter.is-over { display: none; }
  .m-privacy { display: none; }
  .m-privacy .icon { display: none; }
  .m-submit-note { display: none; }
  .m-section-title { display: none; }
  .m-steps { display: none; }
  .m-step { display: none; }
  .m-step-number { display: none; }
  .m-places { display: none; }
  .m-places li { display: none; }
  /* ---- admin area (desktop: d-admin-side, d-overview, d-enq, d-appearance) ---- */
  .admin { display: grid; grid-template-columns: var(--admin-rail) minmax(0, 1fr); align-items: start; gap: var(--space-l); margin-block: var(--space) var(--space-xl); }
  .admin-main { display: grid; gap: var(--space-m); min-inline-size: 0; }
  .admin-head { display: grid; gap: var(--space-xs); }
  .admin-title { margin: 0; font: 700 var(--step-4)/1.1 var(--font-display); letter-spacing: -0.02em; }
  .admin-lead { max-inline-size: var(--prose-max); margin: 0; color: var(--text-2); }
  .admin-updated { color: var(--text-2); font-size: var(--step-small); }
  .admin-card { display: grid; align-content: start; gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .admin-card-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .admin-card-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .admin-empty { margin: 0; padding: var(--space-m); color: var(--text-2); text-align: center; background: var(--fill); border-radius: var(--radius-l); }
  .admin-status { display: inline-flex; align-items: center; min-block-size: calc(var(--space) * 1.5); padding-inline: var(--space-s); font-size: var(--step-caption); font-weight: 700; white-space: nowrap; border-radius: var(--radius-pill); }
  .admin-health { display: grid; gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .admin-health li { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); }
  .admin-health-text { display: grid; min-inline-size: 0; }
  .admin-health-text span { color: var(--text-2); font-size: var(--step-small); }
  .admin-dot { display: block; inline-size: var(--dot); block-size: var(--dot); margin-block-start: calc(var(--space-xs) * 1.5); border-radius: 50%; }
  .admin-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-m); }
  .admin-env { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  button.admin-button { margin: 0; }
  .d-admin-side { position: sticky; inset-block-start: var(--contact-sticky); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-admin-menu { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-admin-link { display: grid; grid-template-columns: var(--tile) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding: var(--space-s); color: var(--text); text-decoration: none; border-radius: var(--radius-l); transition: background var(--dur-fast); }
  .d-admin-link:hover { background: var(--fill); }
  .d-admin-link[aria-current="page"] { background: var(--accent-soft); }
  .d-admin-link[aria-current="page"] strong { color: var(--accent-ink); }
  .d-admin-link-text { display: grid; min-inline-size: 0; }
  .d-admin-link-text span { color: var(--text-2); font-size: var(--step-caption); }
  .d-admin-badge { min-inline-size: calc(var(--space) * 1.5); padding: var(--space-2xs) var(--space-xs); color: var(--accent-text); font-size: var(--step-caption); font-weight: 700; text-align: center; background: var(--accent); border-radius: var(--radius-pill); }
  .d-overview { display: grid; gap: var(--space-m); }
  .d-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .d-kpi-link { display: grid; align-content: start; gap: var(--space-xs); block-size: 100%; padding: var(--space-m); color: var(--text); text-decoration: none; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); transition: transform var(--dur-fast) var(--ease-out); }
  .d-kpi-link:hover { transform: translateY(calc(var(--space-2xs) * -1)); }
  .d-kpi-label { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-kpi-value { font: 700 var(--step-4)/1 var(--font-display); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
  .d-kpi-hint { color: var(--text-2); font-size: var(--step-caption); }
  .d-kpi.is-alert .d-kpi-link { background: var(--accent-soft); box-shadow: 0 0 0 var(--line) var(--accent-line), var(--card-shadow); }
  .d-kpi.is-alert .d-kpi-value { color: var(--accent-ink); }
  .d-kpi.is-warn .d-kpi-value { color: var(--error); }
  .d-overview-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-m); }
  .d-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space); }
  .d-card-more { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .d-card-more .icon { inline-size: 1em; block-size: 1em; }
  .d-latest { display: grid; margin: 0; padding: 0; list-style: none; }
  .d-latest-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: var(--space); padding-block: var(--space-s); }
  .d-latest-row + .d-latest-row { border-block-start: var(--line) solid var(--separator); }
  .d-latest-who { display: grid; min-inline-size: 0; }
  .d-latest-who span { overflow: hidden; color: var(--text-2); font-size: var(--step-small); text-overflow: ellipsis; white-space: nowrap; }
  .d-latest-topic { color: var(--text-2); font-size: var(--step-small); }
  .d-latest-time { color: var(--text-2); font-size: var(--step-small); font-variant-numeric: tabular-nums; }
  .d-enq { display: grid; gap: var(--space); }
  .d-filters { display: flex; flex-wrap: wrap; justify-self: start; gap: var(--space-2xs); padding: var(--space-2xs); background: var(--fill); border-radius: var(--radius-pill); }
  .d-filter { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; border-radius: var(--radius-pill); }
  .d-filter:hover { background: var(--surface); }
  .d-filter[aria-current="true"] { background: var(--surface); box-shadow: var(--card-shadow); }
  .d-filter-count { color: var(--text-2); font-size: var(--step-caption); font-variant-numeric: tabular-nums; }
  .d-enq-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-enq-item { display: grid; gap: var(--space-s); padding: var(--space) var(--space-m); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-enq-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1.3fr) auto; align-items: center; gap: var(--space-m); }
  .d-enq-ref { display: grid; }
  .d-enq-ref strong { font: 600 var(--step-small)/1.3 var(--font-mono); }
  .d-enq-ref span { color: var(--text-2); font-size: var(--step-caption); }
  .d-enq-who { display: grid; min-inline-size: 0; }
  .d-enq-who span { color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-enq-topic { display: flex; align-items: center; gap: var(--space-xs); font-size: var(--step-small); }
  .d-enq-topic .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); }
  .d-enq-message { background: var(--bg); border-radius: var(--radius); }
  .d-enq-summary { padding: var(--space-xs) var(--space); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .d-enq-text { max-inline-size: var(--prose-max); margin: 0; padding: 0 var(--space) var(--space); line-height: 1.55; }
  .d-enq-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-s); }
  .d-enq-reply { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); color: var(--accent-text); font-size: var(--step-small); font-weight: 700; text-decoration: none; background: var(--accent); border-radius: var(--radius-pill); }
  .d-enq-reply .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-enq-actions { display: flex; align-items: center; gap: var(--space-2xs); margin: 0; padding: var(--space-2xs); background: var(--fill); border-radius: var(--radius-pill); }
  .d-enq-actions-label { padding-inline: var(--space-s) var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  button.d-enq-status { min-block-size: calc(var(--control) - var(--space-xs)); margin: 0; padding-inline: var(--space-s); color: var(--text); font-size: var(--step-caption); font-weight: 600; background: none; border-radius: var(--radius-pill); }
  button.d-enq-status:hover { background: var(--surface); }
  button.d-enq-status[aria-pressed="true"] { color: var(--accent-ink); background: var(--surface); box-shadow: var(--card-shadow); cursor: default; }
  .d-appearance { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-m); }
  .d-design { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-m); }
  .d-design-side { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--space); }
  .d-design-styles { display: grid; }
  .d-design-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-design-item { margin: 0; }
  .d-design-link { display: grid; gap: var(--space-2xs); padding: var(--space-s); border-radius: var(--radius); color: var(--text); text-decoration: none; transition: background var(--dur-fast); }
  .d-design-link[aria-current="page"] { background: var(--accent-soft); }
  .d-design-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-design-confirm { display: grid; gap: var(--space-xs); }
  .d-design-confirm > .d-design-button { display: inline-grid; place-items: center; justify-self: start; min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); list-style: none; cursor: pointer; }
  .d-design-confirm-text { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-design-action { margin: 0; }
  .d-design-action .d-design-button, .d-design-duplicate .d-design-button { min-block-size: var(--tap); padding-inline: var(--space); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); cursor: pointer; }
  .d-design-duplicate { display: grid; gap: var(--space-xs); }
  .d-design-duplicate-row { display: grid; gap: var(--space-xs); }
  .d-design-name { inline-size: 100%; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .d-design-form { display: grid; gap: var(--space); }
  .d-design-group { display: grid; min-inline-size: 0; border: 0; }
  .d-design-save { justify-self: start; min-block-size: var(--tap); padding-inline: var(--space-l); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: 600 var(--step-base)/1 var(--font-body); cursor: pointer; }
  .d-design-aside { position: sticky; inset-block-start: calc(var(--tap) + var(--space-xl)); }
  /* Design styles page (/admin/design): token rows and the live preview phone are shared (not interactive trees) */
  .dtok { display: grid; gap: var(--space-2xs); padding-block: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .dtok-name { margin: 0; font-weight: 600; }
  .dtok-code { font: var(--step-tiny)/1 var(--font-mono); color: var(--text-2); }
  .dtok-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .dtok-fields { display: grid; gap: var(--space-s); }
  .dtok-field { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) 6.5rem minmax(1.5rem, auto); align-items: center; gap: var(--space-xs); inline-size: 100%; }
  .dtok-field .dtok-scheme { grid-column: auto; }
  .dtok-field .dtok-input { inline-size: 100%; min-inline-size: 0; }
  .dtok-field .dtok-range { inline-size: 100%; }
  .dtok-field .dtok-error { grid-column: 1 / -1; }
  .dtok-scheme { color: var(--text-2); font-size: var(--step-small); }
  .dtok-input { inline-size: 9rem; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .dtok-unit { color: var(--text-2); font-size: var(--step-small); }
  .dtok.is-bad .dtok-input { border-color: var(--error); }
  .dtok-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .dtok-changed { padding: calc(var(--space-2xs) / 2) var(--space-xs); color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); font-size: var(--step-tiny); font-weight: 700; }
  .dtok-reset { min-block-size: var(--tap); padding-inline: var(--space-s); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--accent-ink); font: 600 var(--step-small)/1 var(--font-body); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
  .dtok-default { color: var(--text-2); font-size: var(--step-tiny); white-space: nowrap; }
  .dtok-presets { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .dtok-chip { min-block-size: calc(var(--tap) * 0.8); padding-inline: var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-2); font: 500 var(--step-tiny)/1 var(--font-body); cursor: pointer; }
  .dtok-range { inline-size: 8rem; accent-color: var(--accent); }
  .dtok-text { inline-size: 11rem; }
  .dtok-error { flex-basis: 100%; color: var(--error); font-size: var(--step-small); }
  .dtok.is-changed .dtok-name { color: var(--accent-ink); }
  .dgroup-summary { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); cursor: pointer; font: 700 var(--step-1)/1.25 var(--font-display); }
  .dgroup-title { min-inline-size: 0; }
  .dgroup-count { color: var(--accent-ink); font-size: var(--step-small); }
  .dgroup-take { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); }
  .dgroup-take-label { color: var(--text-2); font-size: var(--step-small); }
  .dgroup-take-button { min-block-size: var(--tap); padding-inline: var(--space); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); cursor: pointer; }
  .dtools { position: sticky; inset-block-start: calc(var(--tap) + var(--space-l)); z-index: 4; display: grid; gap: var(--space-xs); }
  .dtools-label { font-weight: 600; }
  .dtools-filter { inline-size: 100%; min-block-size: var(--tap); padding: 0 var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .dtools-only { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .dtools-jump { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .dtools-chip { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-size: var(--step-small); text-decoration: none; }
  .dtools-chip-count { color: var(--accent-ink); font-weight: 700; }
  .dbar-count { min-inline-size: 0; font-weight: 600; }
  .dbar-discard { min-block-size: var(--tap); padding-inline: var(--space); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: 600 var(--step-small)/1 var(--font-body); cursor: pointer; }
  .dbar-save { min-block-size: var(--tap); padding-inline: var(--space-l); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: 600 var(--step-base)/1 var(--font-body); cursor: pointer; }
  .dbar { position: sticky; inset-block-end: var(--space); z-index: 5; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); padding-inline: var(--space-m) var(--space-xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border: var(--line) solid var(--glass-rim); border-radius: var(--radius-pill); box-shadow: var(--glass-shadow); }
  .dpv { display: grid; gap: var(--space-xs); --glass-bg: color-mix(in srgb, var(--glass-tint) calc(var(--glass-bg-a) * 100%), transparent); --glass-nav: color-mix(in srgb, var(--glass-tint-nav) calc(var(--glass-nav-a) * 100%), transparent); --glass-rim: color-mix(in srgb, var(--shade-light) calc(var(--rim-a) * 100%), transparent); --glass-sheen: inset 0 var(--line) 0 color-mix(in srgb, var(--shade-light) calc(var(--sheen-a) * 100%), transparent); }
  .dpv-title { margin: 0; color: var(--text-2); font: 600 var(--step-tiny)/1.2 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; }
  .dpv-phone { position: relative; inline-size: 100%; max-inline-size: 15rem; block-size: 28rem; margin-inline: auto; overflow: hidden; border: var(--line) solid var(--separator); border-radius: var(--radius-xl); background: var(--bg); }
  .dpv-bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); margin: var(--bar-inset) var(--bar-inset) 0; padding: var(--space-2xs) var(--space-xs); border: var(--line) solid var(--glass-rim); border-radius: var(--bar-radius); background: var(--glass-bg); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .dpv-mark { inline-size: 1.5rem; block-size: 1.5rem; border-radius: var(--radius-pill); background: var(--mark-bg); }
  .dpv-name { overflow: hidden; font: 600 var(--step-tiny)/1.2 var(--font-display); white-space: nowrap; text-overflow: ellipsis; }
  .dpv-burger { inline-size: 1.5rem; block-size: 1.5rem; border-radius: var(--radius-pill); background: var(--fill); }
  .dpv-body { display: grid; gap: var(--space-xs); padding: calc(var(--space) + var(--viewing-area-h) * var(--viewing-area) * 0.5) var(--space) var(--space); }
  .dpv-heading { inline-size: 70%; block-size: 1rem; border-radius: var(--radius-s); background: var(--text); }
  .dpv-line { block-size: 0.5rem; border-radius: var(--radius-s); background: var(--fill); }
  .dpv-group { display: grid; margin-block-start: var(--space-xs); overflow: hidden; border-radius: var(--group-radius); background: var(--surface); }
  .dpv-row { block-size: 2rem; border-block-end: var(--line) solid var(--separator); }
  .dpv-island { position: absolute; inset-inline: var(--island-inset); inset-block-end: var(--island-inset); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-xs); }
  .dpv-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--space-2xs); padding: var(--space-2xs); border: var(--line) solid var(--glass-rim); border-radius: var(--island-radius); background: var(--glass-nav); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .dpv-tab { position: relative; block-size: calc(var(--island-h) * 0.6); border-radius: var(--tab-radius); }
  .dpv-pill { position: absolute; inset: 0; border-radius: inherit; background: color-mix(in srgb, var(--accent-soft) calc(var(--tab-fill) * 100%), var(--glass-selected)); transition: background var(--dur) var(--ease-spring); }
  .dpv-menu { inline-size: calc(var(--island-h) * 0.75); block-size: calc(var(--island-h) * 0.75); border: var(--line) solid var(--glass-rim); border-radius: var(--menu-radius); background: var(--glass-nav); box-shadow: var(--glass-shadow), var(--glass-sheen); }
  .d-set-form { gap: var(--space); }
  .d-phones { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0 0 var(--space); border: 0; border-block-end: var(--line) solid var(--separator); }
  .d-phone-head { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 3fr) var(--phone-actions-w); gap: var(--space-s); padding-inline: var(--space-s); }
  .d-phone-head span { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-phone-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-phone-row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 3fr) var(--phone-actions-w); align-items: center; gap: var(--space-s); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius); background: var(--fill); }
  .d-phone-row.is-new { background: transparent; border: var(--line) dashed var(--separator); }
  .d-phone-row.is-removed { background: transparent; border: var(--line) dashed var(--separator); }
  .d-phone-row.is-removed .d-phone-field { opacity: var(--phone-removed-opacity); }
  .d-phone-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-phone-field span { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-phone-row:first-child .d-phone-field span { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-phone-num { grid-column: 1; }
  .d-phone-lab { grid-column: 2; }
  .d-phone-kind { grid-column: 3; }
  .d-phone-field input[type], .d-phone-field select { inline-size: 100%; min-block-size: var(--control); padding-block: var(--space-2xs); }
  .d-phone-field select { padding: var(--space-s) var(--space-s); font: inherit; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-phone-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-xs); grid-column: 4; }
  button.d-phone-up { display: inline-flex; align-items: center; justify-content: center; inline-size: var(--control); block-size: var(--control); min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); border: var(--line) solid var(--border); }
  .d-phone-up .icon { inline-size: 1.25em; block-size: 1.25em; }
  button.d-phone-minus { display: inline-flex; align-items: center; justify-content: center; inline-size: var(--control); block-size: var(--control); min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); border: var(--line) solid var(--border); }
  .d-phone-minus .icon { inline-size: 1.25em; block-size: 1.25em; }
  .d-phone-minus .icon.is-restore { display: none; }
  .d-phone-row.is-removed .d-phone-minus .icon { display: none; }
  .d-phone-row.is-removed .d-phone-minus .icon.is-restore { display: inline-block; }
  .d-phones.is-enhanced .d-phone-remove { display: none; }
  .d-phone-remove { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .d-phone-foot { display: flex; align-items: center; gap: var(--space-s); }
  button.d-phone-add { display: inline-flex; align-items: center; gap: var(--space-xs); inline-size: auto; min-block-size: var(--control); margin: 0; padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); font-weight: 600; border: var(--line) solid var(--border); }
  .d-phone-add .icon { inline-size: 1.25em; block-size: 1.25em; }
  .d-phone-status { margin: 0; }
  .d-set-group { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0 0 var(--space); border: 0; border-block-end: var(--line) solid var(--separator); }
  /* Admin -> Organisation (2026-10-04): desktop tree - the form (2fr) beside a sticky aside (1fr): meter + live JSON-LD. */
  .d-org { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-l); }
  .d-org-form { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-org-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s) var(--space); }
  .d-org-field { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .d-org-field label { font-size: var(--step-small); font-weight: 600; color: var(--text-2); }
  .d-org-field input { inline-size: 100%; min-block-size: var(--control); }
  .d-org-field select { inline-size: 100%; min-block-size: var(--control); padding-inline: var(--space-s); font: inherit; color: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-org-field textarea { inline-size: 100%; min-block-size: calc(var(--control) * 1.6); font: inherit; overflow-wrap: anywhere; }
  .d-org-field.is-invalid input { border-color: var(--error); }
  .d-org-field.is-invalid textarea { border-color: var(--error); }
  .d-org-rows { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-org-row { display: grid; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius); background: var(--fill); }
  .d-org-row.is-new { background: transparent; border: var(--line) dashed var(--separator); }
  .d-org-row-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .d-org-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; align-items: end; }
  .d-org-remove { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); }
  .d-org-aside { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space); min-inline-size: 0; }
  .d-org-meter { display: grid; gap: var(--space-xs); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-org-meter-title { margin: 0; font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-org-meter-count { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; font-weight: 600; }
  .d-org-meter-count meter { inline-size: 100%; block-size: var(--space-s); }
  .d-org-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs) var(--space-s); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); }
  .d-org-check { display: inline-flex; align-items: center; gap: var(--space-2xs); min-inline-size: 0; color: var(--text-2); overflow-wrap: anywhere; }
  .d-org-check .icon { inline-size: 1em; block-size: 1em; flex: none; }
  .d-org-check.is-done { color: var(--ok); font-weight: 600; }
  .d-org-preview { display: grid; gap: var(--space-xs); padding: var(--space); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-org-json { max-block-size: calc(var(--space) * 24); margin: 0; padding: var(--space-s); overflow: auto; font: var(--step-small)/1.45 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--fill); border-radius: var(--radius); }
  .d-org-test { color: var(--accent-ink); font-weight: 600; }
  /* Admin -> Webhooks (2026-10-04): desktop tree - endpoint cards (2fr) beside the add form and how-to (1fr). */
  .d-wh { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-l); }
  .d-wh-main { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-wh-aside { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space); min-inline-size: 0; }
  .d-wh-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-wh-card { display: grid; min-inline-size: 0; border-radius: var(--radius-l); }
  .d-wh-card.is-open { outline: var(--focus-ring) solid var(--accent-line); }
  .d-wh-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); }
  .d-wh-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); overflow-wrap: anywhere; }
  .d-wh-title a { color: inherit; text-decoration: none; }
  .d-wh-state { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 600; }
  .d-wh-state .icon { inline-size: 1em; block-size: 1em; }
  .d-wh-state.is-ok { color: var(--ok); background: var(--ok-bg); }
  .d-wh-state.is-warn { color: var(--text); background: var(--fill); }
  .d-wh-state.is-off { color: var(--error); background: var(--error-bg); }
  .d-wh-url { margin: 0; font: var(--step-small)/1.4 var(--font-mono); overflow-wrap: anywhere; }
  .d-wh-events { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); }
  .d-wh-event { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); min-block-size: var(--tap); font-size: var(--step-small); font-weight: 400; color: var(--text-2); }
  .d-wh-event input { margin-block-start: calc(var(--space-2xs) * 0.5); }
  .d-wh-actions { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .d-wh-confirm { display: inline-flex; align-items: center; gap: var(--space-2xs); font-size: var(--step-small); }
  .d-wh-secret { overflow-wrap: anywhere; }
  /* Admin -> SEO (2026-10-04): desktop tree - tabs as a segmented bar, overview 2fr + 1fr, bulk-edit table. */
  .d-seo { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-seo-tabs { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); padding: var(--space-2xs); border-radius: var(--radius-pill); background: var(--fill); inline-size: fit-content; }
  .d-seo-tab { display: inline-flex; align-items: center; min-block-size: var(--control); padding-inline: var(--space); border-radius: var(--radius-pill); color: var(--text); font-weight: 600; text-decoration: none; }
  .d-seo-tab[aria-current="page"] { background: var(--surface); box-shadow: var(--card-shadow); color: var(--accent-ink); }
  .d-seo-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-l); }
  .d-seo-col { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-seo-score { gap: var(--space-s); }
  .d-seo-score-row { display: flex; align-items: center; font-size: var(--step-2); }
  .d-seo-bands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-seo-band a { display: grid; justify-items: start; gap: var(--space-2xs); padding: var(--space-s); border-radius: var(--radius); background: var(--fill); color: var(--text); text-decoration: none; }
  .d-seo-band strong { font: 700 var(--step-2)/1 var(--font-display); }
  .d-seo-band .icon { inline-size: 1.2em; block-size: 1.2em; }
  .d-seo-band.is-good .icon { color: var(--ok); }
  .d-seo-band.is-poor .icon { color: var(--error); }
  .d-seo-issues { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-seo-issue { display: grid; min-inline-size: 0; }
  .d-seo-issue a { justify-self: start; }
  .d-seo-log { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-seo-filters { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-s); }
  .d-seo-filters label { display: grid; gap: var(--space-2xs); font-size: var(--step-small); font-weight: 600; }
  .d-seo-filters select { min-block-size: var(--control); padding-inline: var(--space-s); font: inherit; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-seo-filters input { min-block-size: var(--control); }
  .d-seo-bulk-form { display: grid; gap: var(--space); }
  .d-seo-bulk-wrap { overflow-x: auto; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-seo-bulk { inline-size: 100%; border-collapse: collapse; font-size: var(--step-small); }
  .d-seo-bulk caption { padding: var(--space-s) var(--space); text-align: start; color: var(--text-2); }
  .d-seo-bulk th { padding: var(--space-xs) var(--space-s); text-align: start; vertical-align: top; border-block-start: var(--line) solid var(--separator); overflow-wrap: anywhere; }
  .d-seo-bulk td { padding: var(--space-xs) var(--space-s); vertical-align: top; border-block-start: var(--line) solid var(--separator); }
  .d-seo-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-seo-field span { font-weight: 600; color: var(--text-2); }
  .d-seo-field input { inline-size: 100%; min-inline-size: calc(var(--space) * 8); min-block-size: var(--control); }
  .d-seo-field textarea { inline-size: 100%; min-inline-size: calc(var(--space) * 12); font: inherit; }
  .d-seo-sticky { position: sticky; inset-block-end: 0; padding-block: var(--space-s); background: var(--bg); }
  .d-seo-settings { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); max-inline-size: calc(var(--read-max) * 1.4); }
  .d-seo-row { display: grid; grid-template-columns: minmax(0, 3fr) repeat(3, minmax(0, 1fr)); align-items: end; gap: var(--space-s); padding-block: var(--space-xs); border-block-end: var(--line) solid var(--separator); }
  .seo-badge { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-weight: 600; white-space: nowrap; background: var(--fill); color: var(--text); }
  .seo-badge .icon { inline-size: 1em; block-size: 1em; }
  .seo-badge.is-good { background: var(--ok-bg); color: var(--ok); }
  .seo-badge.is-poor { background: var(--error-bg); color: var(--error); }
  .seo-chip { display: inline-flex; align-items: center; padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 600; background: var(--fill); color: var(--text-2); }
  .seo-chip.is-google { background: var(--accent-soft); color: var(--accent-ink); }
  .seo-problem { color: var(--error); font-weight: 600; }
  /* Editor: SEO score + share previews (card "SEO & social", 2026-10-04) - desktop tree. */
  .d-ed-seo-score { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .d-ed-seo-todo { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-ed-seo-todo li { padding-inline-start: var(--space-xs); border-inline-start: var(--focus-ring) solid var(--separator); }
  .d-ed-seo-todo li.is-fail { border-inline-start-color: var(--error); }
  .d-ed-share { display: grid; gap: var(--space-2xs); margin: 0; padding: var(--space-s); border: var(--line) solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: clip; }
  .d-ed-share-img { display: block; inline-size: 100%; aspect-ratio: 1.91 / 1; object-fit: cover; border-radius: var(--radius-s); background: var(--fill); }
  .d-ed-share-host { margin: 0; color: var(--text-2); font-size: var(--step-caption); text-transform: uppercase; }
  .d-ed-share-title { margin: 0; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  .d-ed-share-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; }
  /* Icons referenced in article HTML (<span data-icon="check">, App\RichHtml): the site's own line icons, at text size. */
.ax-figure-link { display: block; color: inherit; text-decoration: none; }
  .ax-icon { display: inline-block; inline-size: 1em; block-size: 1em; vertical-align: -0.125em; fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  /* the phone tree of the editor's SEO panel */
  .m-ed-seo-score { display: none; }
  .m-ed-seo-todo { display: none; }
  .m-ed-seo-todo li { display: none; }
  .m-ed-seo-todo li.is-fail { display: none; }
  .m-ed-share { display: none; }
  .m-ed-share-img { display: none; }
  .m-ed-share-host { display: none; }
  .m-ed-share-title { display: none; }
  .m-ed-share-desc { display: none; }
  /* the phone tree of Admin -> SEO */
  .m-seo { display: none; }
  .m-seo-tabs { display: none; }
  .m-seo-tab { display: none; }
  .m-seo-tab[aria-current="page"] { display: none; }
  .m-seo-score { display: none; }
  .m-seo-score-row { display: none; }
  .m-seo-bands { display: none; }
  .m-seo-band a { display: none; }
  .m-seo-band strong { display: none; }
  .m-seo-band .icon { display: none; }
  .m-seo-band.is-good .icon { display: none; }
  .m-seo-band.is-poor .icon { display: none; }
  .m-seo-issues { display: none; }
  .m-seo-issue { display: none; }
  .m-seo-issue a { display: none; }
  .m-seo-log { display: none; }
  .m-seo-filters { display: none; }
  .m-seo-filters label { display: none; }
  .m-seo-filters select { display: none; }
  .m-seo-filters input { display: none; }
  .m-seo-bulk-form { display: none; }
  .m-seo-cards { display: none; }
  .m-seo-card { display: none; }
  .m-seo-card-head { display: none; }
  .m-seo-field { display: none; }
  .m-seo-field span { display: none; }
  .m-seo-field input { display: none; }
  .m-seo-field textarea { display: none; }
  .m-seo-sticky { display: none; }
  .m-seo-settings { display: none; }
  .m-seo-row { display: none; }
  /* the phone tree of Admin -> Webhooks */
  .m-wh { display: none; }
  .m-wh-list { display: none; }
  .m-wh-card { display: none; }
  .m-wh-card.is-open { display: none; }
  .m-wh-head { display: none; }
  .m-wh-title { display: none; }
  .m-wh-title a { display: none; }
  .m-wh-state { display: none; }
  .m-wh-state .icon { display: none; }
  .m-wh-state.is-ok { display: none; }
  .m-wh-state.is-warn { display: none; }
  .m-wh-state.is-off { display: none; }
  .m-wh-url { display: none; }
  .m-wh-events { display: none; }
  .m-wh-event { display: none; }
  .m-wh-event input { display: none; }
  .m-wh-actions { display: none; }
  .m-wh-confirm { display: none; }
  .m-wh-secret { display: none; }
  .m-wh-more { display: none; }
  .m-wh-more summary { display: none; }
  .d-stack { display: grid; gap: var(--space-s); min-inline-size: 0; max-inline-size: calc(var(--read-max) * 1.6); }
  .d-stack-title { margin: var(--space-s) 0 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-stack-facts { display: grid; gap: var(--space-2xs); margin: 0; }
  .d-stack-facts div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--space-2xs) var(--space-s); padding-block: var(--space-2xs); border-block-end: var(--line) solid var(--separator); }
  .d-stack-facts dt { color: var(--text-2); font-size: var(--step-small); }
  .d-stack-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
  .d-stack-list { display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: var(--space); }
  .d-stack-win { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; padding: var(--space-s) var(--space); border-radius: var(--radius-l); background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) both; }
  .d-stack-win .icon { inline-size: 1.25em; block-size: 1.25em; }
  .m-stack { display: none; }
  .m-stack-title { display: none; }
  .m-stack-facts { display: none; }
  .m-stack-facts div { display: none; }
  .m-stack-facts dt { display: none; }
  .m-stack-facts dd { display: none; }
  .m-stack-list { display: none; }
  .m-stack-win { display: none; }
  .m-stack-win .icon { display: none; }
  .d-fold { min-inline-size: 0; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: box-shadow var(--dur-fast) var(--ease-out); }
  .d-fold.is-problem { box-shadow: 0 0 0 calc(var(--line) * 2) var(--error), var(--card-shadow); }
  .d-fold-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-xs) var(--space-s); min-block-size: var(--row-h); padding: var(--space-s) var(--space); cursor: pointer; list-style: none; border-radius: inherit; }
  .d-fold-head::-webkit-details-marker { display: none; }
  .d-fold-icon { display: grid; place-items: center; inline-size: calc(var(--icon) * 1.8); block-size: calc(var(--icon) * 1.8); border-radius: var(--radius); background: var(--fill); color: var(--text-2); transition: background var(--dur-fast), color var(--dur-fast); }
  .d-fold-icon .icon { inline-size: var(--icon); block-size: var(--icon); }
  .d-fold.is-done .d-fold-icon { background: var(--ok-bg); color: var(--ok); }
  .d-fold.is-todo .d-fold-icon { background: var(--info-bg); color: var(--info); }
  .d-fold.is-problem .d-fold-icon { background: var(--error-bg); color: var(--error); }
  .d-fold-text { display: grid; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; }
  .d-fold-title { font: 650 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .d-fold-gist { overflow: hidden; color: var(--text-2); font-size: var(--step-small); white-space: nowrap; text-overflow: ellipsis; }
  .d-fold-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 650; white-space: nowrap; background: var(--fill); color: var(--text-2); }
  .d-fold-chip .icon { inline-size: 1em; block-size: 1em; }
  .d-fold-chip.is-done { background: var(--ok-bg); color: var(--ok); }
  .d-fold-chip.is-todo { background: var(--info-bg); color: var(--info); }
  .d-fold-chip.is-problem { background: var(--error-bg); color: var(--error); }
  .d-fold-chevron { inline-size: 1em; block-size: 1em; color: var(--text-2); transition: transform var(--dur-fast) var(--ease-out); }
  .d-fold[open] > .d-fold-head { border-end-start-radius: 0; border-end-end-radius: 0; border-block-end: var(--line) solid var(--separator); }
  .d-fold[open] > .d-fold-head .d-fold-chevron { transform: rotate(180deg); }
  .d-fold-body { display: grid; gap: var(--space-s); min-inline-size: 0; padding: var(--space-s) var(--space); }
  .d-fold[open] > .d-fold-body { animation: fold-open var(--dur) var(--ease-out); }
  .d-ring { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 var(--space-s); }
  .d-ring-svg { grid-row: 1 / span 3; inline-size: calc(var(--tap) * 2.2); block-size: calc(var(--tap) * 2.2); transform: rotate(-90deg); }
  .d-ring-track { fill: none; stroke: var(--fill); stroke-width: 3.4; }
  .d-ring-value { fill: none; stroke: var(--accent); stroke-width: 3.4; stroke-linecap: round; animation: ring-draw 1.1s var(--ease-out) both; }
  .d-ring.is-good .d-ring-value { stroke: var(--ok); }
  .d-ring.is-complete .d-ring-value { stroke: var(--ok); }
  .d-ring-number { font: 800 var(--step-3)/1 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; animation: rise var(--dur) var(--ease-out) both; }
  .d-ring-caption { color: var(--text-2); font-size: var(--step-small); }
  .d-ring-badge { display: inline-flex; justify-self: start; align-items: center; gap: var(--space-2xs); margin-block-start: var(--space-2xs); padding: calc(var(--space-2xs) * 0.6) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 700; background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) 0.9s both; }
  .d-ring-badge .icon { inline-size: 1em; block-size: 1em; }
  .d-seo-win { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space); padding: var(--space-s) var(--space); border-radius: var(--radius-l); background: var(--ok-bg); color: var(--ok); animation: win-pop 0.7s var(--ease-spring) both; }
  .d-seo-win .icon { inline-size: 1.25em; block-size: 1.25em; }
  .d-seo-issue > .d-fold { background: var(--bg); box-shadow: none; }
  .m-fold { display: none; }
  .m-fold.is-problem { display: none; }
  .m-fold-head { display: none; }
  .m-fold-head::-webkit-details-marker { display: none; }
  .m-fold-icon { display: none; }
  .m-fold-icon .icon { display: none; }
  .m-fold.is-done .m-fold-icon { display: none; }
  .m-fold.is-todo .m-fold-icon { display: none; }
  .m-fold.is-problem .m-fold-icon { display: none; }
  .m-fold-text { display: none; }
  .m-fold-title { display: none; }
  .m-fold-gist { display: none; }
  .m-fold-chip { display: none; }
  .m-fold-chip .icon { display: none; }
  .m-fold-chip.is-done { display: none; }
  .m-fold-chip.is-todo { display: none; }
  .m-fold-chip.is-problem { display: none; }
  .m-fold-chevron { display: none; }
  .m-fold[open] > .m-fold-head { display: none; }
  .m-fold[open] > .m-fold-head .m-fold-chevron { display: none; }
  .m-fold-body { display: none; }
  .m-fold[open] > .m-fold-body { display: none; }
  .m-ring { display: none; }
  .m-ring-svg { display: none; }
  .m-ring-track { display: none; }
  .m-ring-value { display: none; }
  .m-ring.is-good .m-ring-value { display: none; }
  .m-ring.is-complete .m-ring-value { display: none; }
  .m-ring-number { display: none; }
  .m-ring-caption { display: none; }
  .m-ring-badge { display: none; }
  .m-ring-badge .icon { display: none; }
  .m-seo-win { display: none; }
  .m-seo-win .icon { display: none; }
  .m-seo-issue > .m-fold { display: none; }
  /* the phone tree of Admin -> Organisation */
  .m-org { display: none; }
  .m-org-form { display: none; }
  .m-org-grid { display: none; }
  .m-org-field { display: none; }
  .m-org-field label { display: none; }
  .m-org-field input { display: none; }
  .m-org-field select { display: none; }
  .m-org-field textarea { display: none; }
  .m-org-field.is-invalid input { display: none; }
  .m-org-field.is-invalid textarea { display: none; }
  .m-org-rows { display: none; }
  .m-org-row { display: none; }
  .m-org-row.is-new { display: none; }
  .m-org-row-grid { display: none; }
  .m-org-pair { display: none; }
  .m-org-remove { display: none; }
  .m-org-aside { display: none; }
  .m-org-meter { display: none; }
  .m-org-meter-title { display: none; }
  .m-org-meter-count { display: none; }
  .m-org-meter-count meter { display: none; }
  .m-org-checks { display: none; }
  .m-org-check { display: none; }
  .m-org-check .icon { display: none; }
  .m-org-check.is-done { display: none; }
  .m-org-preview { display: none; }
  .m-org-json { display: none; }
  .m-org-test { display: none; }
  .m-set-actions { display: none; }
  .d-set-label { margin: 0; padding: 0; font-weight: 600; }
  .d-set-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-colour { display: flex; align-items: center; gap: var(--space-s); }
  .d-set-form input.d-colour-input { inline-size: calc(var(--tap) * 1.5); block-size: var(--tap); min-block-size: var(--tap); padding: var(--space-2xs); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); cursor: pointer; }
  .d-colour-value { font: 600 var(--step-base)/1 var(--font-mono); }
  .d-range { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); max-inline-size: var(--measure); }
  .d-set-form input.d-range-input { inline-size: 100%; min-block-size: var(--tap); padding: 0; accent-color: var(--accent); background: none; border: 0; }
  .d-range-value { min-inline-size: calc(var(--space) * 3); font: 600 var(--step-base)/1 var(--font-mono); text-align: end; }
  .d-bars { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-l); }
  .d-bar { display: flex; align-items: center; gap: var(--space-s); margin: 0; font-weight: 500; }
  .d-set-actions { display: flex; flex-wrap: wrap; gap: var(--space-s); }
  button.d-set-save { margin: 0; }
  .sd-inline-form { display: inline-flex; margin-block: 0; margin-inline: var(--space-xs) 0; }
  .sd-find { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-s); }
  .sd-crumbs { margin: 0; }
  .sd-crumbs-list { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-xs); margin: 0; padding: 0; color: var(--text-2); font-size: var(--step-small); list-style: none; }
  .sd-crumbs-list li + li::before { content: "›"; margin-inline-end: var(--space-xs); color: var(--text-2); }
  .sd-crumbs-list a { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .sd-sub-title { margin: var(--space) 0 0; font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-sd-settings { display: contents; }
  .api-select { inline-size: auto; min-inline-size: calc(var(--space) * 16); max-inline-size: 100%; min-block-size: var(--tap); padding-inline: var(--space-s); font: inherit; color: var(--text); background: var(--surface); border: var(--line) solid var(--field-border); border-radius: var(--radius-s); }
  .api-scopes { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--space) * 14), 1fr)); gap: var(--space-2xs) var(--space); }
  .api-select-all { display: flex; align-items: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 0.8); margin: 0; font-weight: 700; inline-size: fit-content; }
  .api-scope { display: flex; align-items: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 0.8); margin: 0; font-weight: 400; }
  .api-secret { border: var(--line) solid var(--accent-line); background: var(--accent-soft); }
  .api-confirm { gap: var(--space-2xs); }
  .api-confirm-input { inline-size: calc(var(--space) * 9); min-block-size: calc(var(--tap) * 0.85); font-family: var(--font-mono); font-size: var(--step-small); }
  .cron-form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0 0 var(--space-xs); }
  .cron-interval { min-block-size: calc(var(--tap) * 0.8); inline-size: auto; padding-inline: var(--space-s); font: inherit; font-size: var(--step-small); color: var(--text); background: var(--surface); border: var(--line) solid var(--field-border); border-radius: var(--radius-s); }
  .d-site-contact { display: grid; }
  .m-site-contact { display: none; }
  .sd-action, .sd-inline-form button.sd-action { inline-size: auto; filter: none; display: inline-flex; align-items: center; min-block-size: calc(var(--tap) * 0.85); margin: 0; padding: 0 var(--space); color: var(--accent-ink); font: 600 var(--step-small)/1.2 var(--font-body); white-space: nowrap; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); cursor: pointer; }
  .sd-action:hover, .sd-inline-form button.sd-action:hover { background: var(--surface); border-color: var(--accent-line); }
  .sd-nowrap { white-space: nowrap; }
  .api-prepare { display: grid; gap: var(--space-xs); justify-items: start; margin: 0 0 var(--space-s); }
  .api-prepare .api-select { inline-size: auto; max-inline-size: 100%; }
  button.api-prepare-button { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; white-space: normal; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-curl-list { display: grid; gap: var(--space-2xs); }
  .d-curl { border-block-start: var(--line) solid var(--border); padding-block: var(--space-2xs); }
  .d-curl-summary { display: flex; align-items: center; min-block-size: var(--tap); cursor: pointer; overflow-wrap: anywhere; }
  .m-curl-list { display: none; }
  .m-curl { display: none; }
  .m-curl-summary { display: none; }
  .admin-dot-row { display: inline-flex; align-items: center; gap: var(--space-2xs); }
  .admin-dot-row .admin-dot { margin: 0; }
  .api-ref-path { white-space: nowrap; }
  .api-ref-need { white-space: nowrap; }
  .d-sd-field:last-child { border-block-end: 0; }
  .m-sd-field:last-child { display: none; }
  .d-sd-fields { display: grid; gap: 0; }
  .d-sd-field-list { display: grid; margin: 0; padding: 0; list-style: none; }
  .d-sd-field { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); align-items: start; gap: var(--space); padding-block: var(--space-s); border-block-end: var(--line) solid var(--separator); scroll-margin-block-start: calc(var(--tap) * 2.5); }
  .d-sd-label-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); padding-block-start: var(--space-xs); }
  .d-sd-label { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
  .d-sd-kind { color: var(--text-2); background: var(--fill); padding: 0 var(--space-xs); font-size: var(--step-caption); font-weight: 600; border-radius: var(--radius-pill); }
  .d-sd-changed { color: var(--accent-ink); background: var(--accent-soft); padding: 0 var(--space-xs); font-size: var(--step-caption); font-weight: 600; border-radius: var(--radius-pill); }
  .d-sd-control { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-sd-input { inline-size: 100%; min-block-size: var(--tap); font: inherit; overflow-wrap: anywhere; }
  .d-sd-input.is-number { max-inline-size: calc(var(--space) * 16); font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
  .d-sd-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .d-sd-problem { margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .d-sd-field.is-invalid .d-sd-input { border-color: var(--error); }
  .d-sd-actions { position: sticky; inset-block-end: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space); padding-block: var(--space-s); background: var(--surface); border-block-start: var(--line) solid var(--separator); }
  .d-sd-actions-hint { color: var(--text-2); font-size: var(--step-small); }
  .m-sd-settings { display: none; }
  .m-sd-fields { display: none; }
  .m-sd-field-list { display: none; }
  .m-sd-field { display: none; }
  .m-sd-label-row { display: none; }
  .m-sd-label { display: none; }
  .m-sd-kind { display: none; }
  .m-sd-changed { display: none; }
  .m-sd-control { display: none; }
  .m-sd-input { display: none; }
  .m-sd-input.is-number { display: none; }
  .m-sd-note { display: none; }
  .m-sd-problem { display: none; }
  .m-sd-field.is-invalid .m-sd-input { display: none; }
  .m-sd-actions { display: none; }
  .m-sd-actions-hint { display: none; }
  button.d-set-reset { margin: 0; color: var(--text); background: var(--fill); }
  .d-set-aside { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space); }
  .d-contrast { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-contrast-row { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); font-size: var(--step-small); }
  .d-contrast-row .admin-dot { margin: 0; }
  .d-contrast-ratio { font: 600 var(--step-small)/1 var(--font-mono); }
  .d-contrast-row.is-bad .d-contrast-ratio { color: var(--error); }
  .d-preview { display: grid; justify-items: start; gap: var(--space-s); padding: var(--pv-space, var(--space-m)); background: var(--surface); border-radius: var(--pv-radius, var(--radius-xl)); box-shadow: var(--card-shadow); }
  .d-preview-title { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .d-preview-button { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-m); color: var(--pv-text, var(--accent-text)); font-weight: 700; background: var(--pv-fill, var(--accent)); border-radius: var(--radius-pill); }
  .d-preview-button .icon { inline-size: 1em; block-size: 1em; }
  .d-preview-link { color: var(--pv-ink, var(--accent-ink)); font-weight: 600; text-decoration: underline; }
  .d-preview-chip { padding: var(--space-2xs) var(--space-s); color: var(--pv-ink, var(--accent-ink)); font-size: var(--step-caption); font-weight: 700; background: var(--pv-soft, var(--accent-soft)); border-radius: var(--radius-pill); }
  .d-set-problems { padding: var(--space) var(--space-m); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--radius-l); }
  .d-set-problems-title { margin: 0 0 var(--space-xs); font-weight: 700; }
  .d-set-problems ul { margin: 0; padding-inline-start: var(--space-m); }
  /* mobile admin tree: hidden on desktop */
  .m-admin-tile .tile-icon { display: none; }
  .m-admin-nav { display: none; }
  .m-admin-fold { display: none; }
  .m-admin-fold-head { display: none; }
  .m-admin-fold-head::-webkit-details-marker { display: none; }
  .m-admin-fold-head .tile-icon { display: none; }
  .m-admin-fold-text { display: none; }
  .m-admin-fold-label { display: none; }
  .m-admin-fold-chevron { display: none; }
  .m-admin-fold[open] .m-admin-fold-chevron { display: none; }
  .m-admin-fold[open] > .m-admin-tiles { display: none; }
  .m-admin-tiles { display: none; }
  .m-admin-tile { display: none; }
  .m-admin-tile[aria-current="page"] { display: none; }
  .m-admin-tile-label { display: none; }
  .m-admin-badge { display: none; }
  .m-overview { display: none; }
  .m-kpis { display: none; }
  .m-kpi-link { display: none; }
  .m-kpi-value { display: none; }
  .m-kpi-label { display: none; }
  .m-kpi.is-alert .m-kpi-link { display: none; }
  .m-kpi.is-alert .m-kpi-value { display: none; }
  .m-kpi.is-warn .m-kpi-value { display: none; }
  .m-latest { display: none; }
  .m-latest-row { display: none; }
  .m-latest-row + .m-latest-row { display: none; }
  .m-latest-top { display: none; }
  .m-latest-meta { display: none; }
  .m-card-more { display: none; }
  .m-card-more .icon { display: none; }
  .m-enq { display: none; }
  .m-filters { display: none; }
  .m-filter { display: none; }
  .m-filter[aria-current="true"] { display: none; }
  .m-filter-count { display: none; }
  .m-enq-list { display: none; }
  .m-enq-card { display: none; }
  .m-enq-top { display: none; }
  .m-enq-ref { display: none; }
  .m-enq-name { display: none; }
  .m-enq-meta { display: none; }
  .m-enq-message { display: none; }
  .m-enq-summary { display: none; }
  .m-enq-text { display: none; }
  .m-enq-reply { display: none; }
  .m-enq-reply .icon { display: none; }
  .m-enq-actions { display: none; }
  .m-enq-actions-label { display: none; }
  button.m-enq-status { display: none; }
  button.m-enq-status[aria-pressed="true"] { display: none; }
  .m-appearance { display: none; }
  .m-design { display: none; }
  .m-design-styles { display: none; }
  .m-design-list { display: none; }
  .m-design-item { display: none; }
  .m-design-link { display: none; }
  .m-design-link[aria-current="page"] { display: none; }
  .m-design-actions { display: none; }
  .m-design-confirm { display: none; }
  .m-design-confirm > .m-design-button { display: none; }
  .m-design-confirm-text { display: none; }
  .m-design-action { display: none; }
  .m-design-action .m-design-button, .m-design-duplicate .m-design-button { display: none; }
  .m-design-duplicate { display: none; }
  .m-design-duplicate-row { display: none; }
  .m-design-name { display: none; }
  .m-design-form { display: none; }
  .m-design-group { display: none; }
  .m-design-save { display: none; }
  .m-set-form { display: none; }
  .m-phones { display: none; }
  .m-phone-head { display: none; }
  .m-phone-head span { display: none; }
  .m-phone-list { display: none; }
  .m-phone-row { display: none; }
  .m-phone-row.is-new { display: none; }
  .m-phone-row.is-removed { display: none; }
  .m-phone-field { display: none; }
  .m-phone-field span { display: none; }
  .m-phone-row:first-child .m-phone-field span { display: none; }
  .m-phone-num { display: none; }
  .m-phone-lab { display: none; }
  .m-phone-kind { display: none; }
  .m-phone-field input[type], .m-phone-field select { display: none; }
  .m-phone-field select { display: none; }
  .m-phone-actions { display: none; }
  button.m-phone-up { display: none; }
  .m-phone-up .icon { display: none; }
  .m-phone-remove { display: none; }
  button.m-phone-minus { display: none; }
  .m-phone-minus .icon { display: none; }
  .m-phone-minus .icon.is-restore { display: none; }
  .m-phone-foot { display: none; }
  button.m-phone-add { display: none; }
  .m-phone-add .icon { display: none; }
  .m-phone-status { display: none; }
  .m-phone-row.is-removed .m-phone-field { display: none; }
  .m-phone-row.is-removed .m-phone-minus .icon { display: none; }
  .m-phone-row.is-removed .m-phone-minus .icon.is-restore { display: none; }
  .m-phones.is-enhanced .m-phone-remove { display: none; }
  .m-set-group { display: none; }
  .m-set-group:last-child { display: none; }
  .m-set-label { display: none; }
  .m-set-hint { display: none; }
  .m-colour { display: none; }
  .m-set-form input.m-colour-input { display: none; }
  .m-colour-value { display: none; }
  .m-range { display: none; }
  .m-set-form input.m-range-input { display: none; }
  .m-range-value { display: none; }
  .m-bars { display: none; }
  .m-bar { display: none; }
  .m-contrast { display: none; }
  .m-contrast-row { display: none; }
  .m-contrast-row .admin-dot { display: none; }
  .m-contrast-ratio { display: none; }
  .m-contrast-row.is-bad .m-contrast-ratio { display: none; }
  .m-preview { display: none; }
  .m-preview-title { display: none; }
  .m-preview-button { display: none; }
  .m-preview-button .icon { display: none; }
  .m-preview-link { display: none; }
  .m-preview-chip { display: none; }
  .m-set-problems { display: none; }
  .m-set-problems-title { display: none; }
  .m-set-problems ul { display: none; }
  button.m-set-save { display: none; }
  button.m-set-reset { display: none; }
  /* ---- article page (desktop: d-article-aside, d-toc, d-related) - serious editorial, natural colours ---- */
  .article-head { display: grid; gap: calc(var(--space-s) * var(--head-gap)); max-inline-size: var(--article-head-max); margin-block: var(--space-s) var(--space-l); }
  .article-eyebrow { display: flex; align-items: center; justify-self: start; inline-size: fit-content; gap: calc(var(--space-s) * (1 - var(--eyebrow-pill))); margin: 0; padding: calc(var(--space-2xs) * var(--eyebrow-pill)) calc(var(--space-s) * var(--eyebrow-pill)); color: color-mix(in srgb, var(--accent-ink) calc(var(--eyebrow-pill) * 100%), var(--text-2)); background: color-mix(in srgb, var(--accent-soft) calc(var(--eyebrow-pill) * 100%), transparent); border-radius: var(--radius-pill); font-size: var(--step-small); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
  .article-eyebrow::before { content: ""; flex: none; inline-size: calc(var(--space-l) * (1 - var(--eyebrow-pill))); block-size: calc(var(--line) * 2); background: var(--accent); }
  .article-title { margin: 0; color: var(--text); font: 700 var(--step-4)/1.08 var(--font-display); letter-spacing: -0.025em; }
  .article-standfirst { max-inline-size: var(--read-max); margin: 0; padding: calc(var(--space-m) * var(--standfirst-box)); color: var(--text-2); background: color-mix(in srgb, var(--surface) calc(var(--standfirst-box) * 100%), transparent); border-radius: var(--group-radius); box-shadow: 0 0 0 calc(var(--line) * var(--standfirst-box)) var(--separator); font-size: calc(var(--step-1) * var(--standfirst-scale)); line-height: 1.45; }
  .article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; padding-block-start: var(--space); color: var(--text-2); font-size: var(--step-small); border-block-start: var(--line) solid color-mix(in srgb, var(--border) calc((1 - var(--meta-chips)) * 100%), transparent); }
  .article-meta > span:not(.article-meta-sep) { padding: calc(var(--space-2xs) * var(--meta-chips)) calc(var(--space-s) * var(--meta-chips)); background: color-mix(in srgb, var(--fill) calc(var(--meta-chips) * 100%), transparent); border-radius: var(--radius-pill); }
  .article-meta-sep { color: var(--text-2); opacity: calc(1 - var(--meta-chips)); }
  .article-figure { margin: 0 0 var(--space-xl); }
  .article-figure-caption { max-inline-size: var(--prose-max); margin-block-start: var(--ax-flow-tight); color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .article-image { display: block; inline-size: 100%; block-size: auto; aspect-ratio: var(--slide-ratio-desktop); object-fit: cover; border-radius: var(--radius-xl); }
  /* Tall/square photos (App\Content::img adds is-tall): whole product on a plate, never a cropped slice */
  img.is-tall { object-fit: contain; background: var(--surface); }
  /* Logos are never put on a plate: their own transparency shows (header, footer, Appearance preview). */
  img.is-tall.brand-logo-img { background: none; }
  img.is-tall.d-footer-logo-img { background: none; }
  img.is-tall.d-brand-logo-img { background: none; }
  img.is-tall.m-footer-logo-img { display: none; }
  img.is-tall.m-brand-logo-img { display: none; }
  .article-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--article-aside); align-items: start; gap: var(--space-xl); }
  .article-body { display: grid; grid-column: 1; grid-row: 1; gap: var(--space-l); min-inline-size: 0; }
  .article-prose { max-inline-size: var(--read-max); color: var(--text); font-size: calc(var(--step-base) * 1.0625); line-height: 1.72; }
  .article-prose p { margin-block: 0 var(--space-m); }
  .article-prose h2 { margin-block: var(--space-xl) var(--space); padding-block-start: var(--space-m); font: 700 var(--step-2)/1.2 var(--font-display); letter-spacing: -0.015em; border-block-start: var(--line) solid var(--border); scroll-margin-block-start: var(--contact-sticky); }
  .article-prose h3 { margin-block: var(--space-l) var(--space-s); font: 600 var(--step-1)/1.3 var(--font-display); }
  .article-prose a { color: var(--accent-ink); text-decoration-thickness: var(--line); text-underline-offset: 0.18em; }
  .article-prose ul, .article-prose ol { padding-inline-start: var(--space-l); }
  .article-prose li::marker { color: var(--text-2); }
  .article-prose blockquote { margin: var(--space-l) 0; padding: var(--space-m); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .d-article-aside { position: sticky; inset-block-start: var(--contact-sticky); display: grid; grid-column: 2; grid-row: 1; gap: var(--space-m); }
  .d-toc { display: grid; gap: var(--space-s); }
  .d-toc-title { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--step-caption); font-weight: 700; letter-spacing: calc(0.08em * var(--label-track)); text-transform: var(--label-case); }
  .d-toc-list { display: grid; margin: 0; padding: 0; list-style: none; border-inline-start: var(--line) solid var(--border); }
  .d-toc-link { display: block; margin-inline-start: calc(var(--line) * -1); padding: var(--space-xs) var(--space-s); color: var(--text-2); font-size: var(--step-small); line-height: 1.35; text-decoration: none; border-inline-start: calc(var(--line) * 2) solid transparent; transition: color var(--dur-fast), border-color var(--dur-fast); }
  .d-toc-link:hover { color: var(--text); border-inline-start-color: var(--text-2); }
  .d-facts { display: grid; margin: 0; padding: var(--space-xs) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .d-fact { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-s); padding-block: var(--space-xs); font-size: var(--step-small); }
  .d-fact + .d-fact { border-block-start: var(--line) solid var(--separator); }
  .d-fact dt { color: var(--text-2); white-space: nowrap; }
  .d-fact dd { margin: 0; font-weight: 600; text-align: end; overflow-wrap: anywhere; }
  .d-article-cta { display: grid; gap: var(--space-xs); padding: var(--space); color: var(--bg); background: var(--text); border-radius: var(--radius-l); }
  .d-article-cta-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-article-cta-text { margin: 0; font-size: var(--step-small); line-height: 1.45; }
  .d-article-cta-link { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); margin-block-start: var(--space-xs); color: var(--accent-text); font-weight: 700; text-decoration: none; background: var(--accent); border-radius: var(--radius-pill); }
  .d-article-cta-link .icon { inline-size: 1em; block-size: 1em; }
  .related { display: grid; gap: var(--space-m); margin-block: var(--space-xl); padding-block-start: var(--space-l); border-block-start: var(--line) solid var(--border); }
  .related-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space); }
  .related-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); }
  .related-all { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  .related-all .icon { inline-size: 1em; block-size: 1em; }
  .d-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none; }
  .d-related-card { position: relative; display: grid; align-content: start; overflow: hidden; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); transition: box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
  .d-related-card:hover { box-shadow: var(--card-shadow); transform: translateY(calc(var(--space-2xs) * -1)); }
  .d-related-card:has(.card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-related-image { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; }
  .d-related-body { display: grid; gap: var(--space-xs); padding: var(--space); }
  .d-related-section { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--step-caption); font-weight: 700; letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); }
  .d-related-title { margin: 0; font: 600 var(--step-base)/1.35 var(--font-display); }
  /* mobile article parts: hidden on desktop */
  .m-toc { display: none; }
  .m-toc-summary { display: none; }
  .m-toc-summary::-webkit-details-marker { display: none; }
  .m-toc-count { display: none; }
  .m-toc-chevron { display: none; }
  .m-toc[open] .m-toc-chevron { display: none; }
  .m-toc-list { display: none; }
  .m-toc-list li { display: none; }
  .m-toc-link { display: none; }
  .m-article-end { display: none; }
  .d-article-tags { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); margin-block: var(--space-l); padding-block-start: var(--space-m); border-block-start: var(--line) solid var(--separator); }
  .d-article-tags-title { margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-article-tags-list { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-article-tag { display: inline-flex; align-items: center; padding: var(--space-2xs) var(--space-s); color: var(--accent-ink); font-size: var(--step-small); font-weight: 500; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); transition: border-color var(--dur-fast); }
  .m-article-tags { display: none; }
  .m-article-tags-title { display: none; }
  .m-article-tags-list { display: none; }
  .m-article-tag { display: none; }
  .m-facts { display: none; }
  .m-fact { display: none; }
  .m-fact dt { display: none; }
  .m-fact dd { display: none; }
  .m-article-cta-title { display: none; }
  .m-article-cta-text { display: none; }
  .m-article-cta-link { display: none; }
  .m-article-cta-link .icon { display: none; }
  .m-related { display: none; }
  .m-related-row { display: none; }
  .m-related-row:active { display: none; }
  .m-related-row:not(:has(.m-related-image)) { display: none; }
  .m-related-row + .m-related-row { display: none; }
  .m-related-image { display: none; }
  .m-related-body { display: none; }
  .m-related-section { display: none; }
  .m-related-title { display: none; }
  /* ---- insights list (desktop: d-insights) ---- */
  .insights-head { display: grid; gap: var(--space-s); max-inline-size: var(--article-head-max); margin-block: var(--space-s) var(--space-l); padding-block-end: var(--space-m); border-block-end: var(--line) solid var(--border); }
  .insights-title { margin: 0; font: 700 var(--step-4)/1.08 var(--font-display); letter-spacing: -0.025em; }
  .insights-lead { max-inline-size: var(--read-max); margin: 0; color: var(--text-2); font-size: var(--step-1); line-height: 1.45; }
  .d-insights { display: grid; gap: var(--space-l); margin-block-end: var(--space-xl); }
  .d-lead { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); overflow: hidden; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-xl); transition: box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
  .d-lead:hover { box-shadow: var(--card-shadow); }
  .d-lead:not(:has(.d-lead-image)) { grid-template-columns: minmax(0, 1fr); }
  .d-lead:has(.card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-lead-image { display: block; inline-size: 100%; block-size: 100%; min-block-size: var(--slide-min-desktop); object-fit: cover; }
  .d-lead-body { display: grid; align-content: center; gap: var(--space-s); padding: var(--space-l); }
  .d-lead-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); letter-spacing: -0.015em; }
  .d-lead-text { margin: 0; color: var(--text-2); line-height: 1.55; }
  .d-card-section { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--step-caption); font-weight: 700; letter-spacing: calc(0.06em * var(--label-track)); text-transform: var(--label-case); }
  .d-card-meta { display: flex; align-items: center; gap: var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-go { display: flex; align-items: center; justify-content: flex-end; margin-inline-start: auto; color: var(--text-2); }
  .d-go-icon { inline-size: var(--go-size); block-size: var(--go-size); stroke-width: var(--go-stroke); transition: transform var(--dur) var(--ease-spring), color var(--dur-fast); }
  .d-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-m); margin: 0; padding: 0; list-style: none; }
  .d-card { position: relative; display: grid; grid-template-rows: auto 1fr; overflow: hidden; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); transition: box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out); }
  .d-card:hover { box-shadow: var(--card-shadow); transform: translateY(calc(var(--space-2xs) * -1)); }
  .d-card:has(.card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-card-image { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; }
  .d-card-body { display: grid; align-content: start; gap: var(--space-xs); padding: var(--space); }
  .d-card-title { margin: 0; font: 600 var(--step-base)/1.35 var(--font-display); }
  .d-card-text { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  /* mobile insights tree: hidden on desktop */
  .m-insights { display: none; }
  .m-lead { display: none; }
  .m-lead-image { display: none; }
  .m-lead-body { display: none; }
  .m-lead-title { display: none; }
  .m-lead-text { display: none; }
  .m-card-section { display: none; }
  .m-card-meta { display: none; }
  .m-go { display: none; }
  .m-go-icon { display: none; }
  .m-lead:active { display: none; }
  .m-rows { display: none; }
  .m-row { display: none; }
  .m-row:active { display: none; }
  .m-row:not(:has(.m-row-image)) { display: none; }
  .m-row + .m-row { display: none; }
  .m-row-image { display: none; }
  .m-row-body { display: none; }
  .m-row-title { display: none; }
  /* ---- inside articles (desktop): lists, Q&A, spec tables - neutral, hairlines, no colour blocks ---- */
  .article-prose > p:first-of-type { color: var(--text); font-size: calc(var(--step-base) * 1.1875); line-height: 1.6; }
  .article-prose strong { color: var(--text); font-weight: 650; }
  .article-prose em { color: var(--text-2); }
  .article-prose ul { display: grid; margin: 0 0 var(--space-l); padding: 0; list-style: none; border-block: var(--line) solid var(--border); }
  .article-prose ul > li { position: relative; margin: 0; padding-block: var(--space-s); padding-inline: var(--space-l) 0; line-height: 1.6; }
  .article-prose ul > li + li { border-block-start: var(--line) solid var(--separator); }
  .article-prose ul > li::before { content: ""; position: absolute; inset-inline-start: var(--space-xs); inset-block-start: calc(var(--space-s) + 0.6em); inline-size: calc(var(--space-xs) * 1.25); block-size: calc(var(--space-xs) * 1.25); background: var(--text-2); }
  .article-prose h3 + p { padding-inline-start: var(--space-m); border-inline-start: calc(var(--line) * 2) solid var(--border); }
  .article-prose .d-table-wrap { margin-block: var(--space-s) var(--space-l); border: var(--line) solid var(--border); border-radius: var(--radius); box-shadow: none; }
  .article-prose .d-spec-table th[scope="row"] { font-size: var(--step-caption); letter-spacing: 0.05em; text-transform: uppercase; }
  .article-prose .m-spec { display: none; }
  .article-prose .m-spec-row dt { display: none; }

  /* ---- Article editor + article components (Rule 23) ---- */
  .m-ed-insert, .m-ed-linkdlg { display: none; }
  .m-ed-insert::backdrop, .m-ed-linkdlg::backdrop { display: none; }
  .m-ed-dialog-head { display: none; }
  .m-ed-dialog-title { display: none; }
  .m-ed-insert-list { display: none; }
  .m-ed-insert-item { display: none; }
  .m-ed-insert-item:hover, .m-ed-insert-item:focus-visible { display: none; }
  .m-ed-insert-item .icon { display: none; }
  .m-ed-link-list { display: none; }
  .m-ed-link-pick { display: none; }
  .m-ed-link-pick:hover, .m-ed-link-pick:focus-visible { display: none; }
  .m-ed-link-pick strong { display: none; }
  .m-ed-link-pick span { display: none; }
  .m-ed-dialog-actions { display: none; }
  .m-ed-dialog-actions button.m-ed-primary { display: none; }
  .m-ed-toast { display: none; }
  button.m-ed-toast-undo { display: none; }
  .m-ed-draft { display: none; }
  .m-ed-draft-text { display: none; }
  .m-ed-draft button.m-ed-primary, .m-ed-draft button.m-ed-ghost { display: none; }
  .m-ed-stats { display: none; }
  .m-ed-checks { display: none; }
  .m-ed-check-row { display: none; }
  .m-ed-check-dot { display: none; }
  .m-ed-check-row.is-warn .m-ed-check-dot { display: none; }
  .m-ed-check-row.is-bad .m-ed-check-dot { display: none; }
  .m-ed-check-row.is-bad { display: none; }
  .m-ed-outline { display: none; }
  .m-ed-outline-item.is-h3 { display: none; }
  .m-ed-outline-item.is-h4 { display: none; }
  .m-ed-outline-link { display: none; }
  .m-ed-outline-link:hover, .m-ed-outline-link:focus-visible { display: none; }
  .m-ed-outline-empty { display: none; }
  .m-ed-serp { display: none; }
  .m-ed-serp-site { display: none; }
  .m-ed-serp-name { display: none; }
  .m-ed-serp-url { display: none; }
  .m-ed-serp-title { display: none; }
  .m-ed-serp-desc { display: none; }
  .d-ed-insert, .d-ed-linkdlg, .d-ed-keys { inline-size: min(100%, calc(var(--space) * 36)); max-inline-size: 100%; max-block-size: calc(100% - var(--space-xl)); margin: auto; padding: var(--space); color: var(--text); background: var(--bg); border: 0; border-radius: var(--radius-xl); box-shadow: var(--card-shadow); overflow-y: auto; }
  .d-ed-insert::backdrop, .d-ed-linkdlg::backdrop, .d-ed-keys::backdrop { background: var(--backdrop); }
  .d-ed-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space); margin-block-end: var(--space-s); }
  .d-ed-dialog-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .d-ed-insert-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); margin: var(--space-s) 0 0; padding: 0; list-style: none; }
  .d-ed-insert-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .d-ed-insert-item:hover, .d-ed-insert-item:focus-visible { border-color: var(--accent-line); background: var(--accent-50); }
  .d-ed-insert-item .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .d-ed-link-list { display: grid; gap: var(--space-2xs); margin: var(--space-xs) 0; padding: 0; list-style: none; max-block-size: calc(var(--space) * 16); overflow-y: auto; }
  .d-ed-link-pick { display: grid; gap: var(--space-2xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .d-ed-link-pick:hover, .d-ed-link-pick:focus-visible { border-color: var(--accent-line); }
  .d-ed-link-pick strong { font-size: var(--step-small); line-height: 1.3; overflow-wrap: anywhere; }
  .d-ed-link-pick span { color: var(--text-2); font: var(--step-caption)/1.3 var(--font-mono); overflow-wrap: anywhere; }
  .d-ed-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-xs); margin-block-start: var(--space-s); }
  .d-ed-dialog-actions button.d-ed-primary { inline-size: auto; padding-inline: var(--space-m); }
  .d-ed-keys-list { display: grid; gap: var(--space-2xs); margin: 0; }
  .d-ed-keys-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: center; gap: var(--space-s); padding: var(--space-xs) 0; border-block-end: var(--line) solid var(--separator); }
  .d-ed-keys-row dt, .d-ed-keys-row dd { margin: 0; }
  .d-ed-keys-row kbd { display: inline-block; padding: var(--space-2xs) var(--space-xs); font: 600 var(--step-caption)/1.2 var(--font-mono); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  button.d-ed-keys-open { display: inline-flex; align-items: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.7); margin: 0; padding-inline: var(--space-xs); font-size: var(--step-caption); font-weight: 600; color: var(--accent-ink); background: none; border: 0; cursor: pointer; }
  .d-ed-toast { position: fixed; z-index: 60; inset-inline-start: var(--space-l); inset-block-end: var(--space-l); display: flex; align-items: center; justify-content: space-between; gap: var(--space); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); color: var(--bg); font-size: var(--step-small); background: var(--text); border-radius: var(--radius-pill); box-shadow: var(--card-shadow); }
  button.d-ed-toast-undo { display: inline-flex; align-items: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.8); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-ed-draft { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); padding: var(--space-s) var(--space); color: var(--info); background: var(--info-bg); border-radius: var(--radius-l); }
  .d-ed-draft-text { flex: 1 1 calc(var(--space) * 14); margin: 0; font-size: var(--step-small); font-weight: 600; }
  .d-ed-draft button.d-ed-primary, .d-ed-draft button.d-ed-ghost { inline-size: auto; flex: 0 0 auto; }
  .d-ed-stats { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 600; font-variant-numeric: tabular-nums; }
  .d-ed-checks { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-ed-check-row { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); align-items: start; gap: var(--space-xs); font-size: var(--step-caption); line-height: 1.4; }
  .d-ed-check-dot { inline-size: var(--dot); block-size: var(--dot); margin-block-start: calc(var(--space-xs) * 1.2); border-radius: 50%; background: var(--ok); }
  .d-ed-check-row.is-warn .d-ed-check-dot { background: var(--accent-ink); }
  .d-ed-check-row.is-bad .d-ed-check-dot { background: var(--error); }
  .d-ed-check-row.is-bad { color: var(--error); }
  .d-ed-outline { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-ed-outline-item.is-h3 { padding-inline-start: var(--space); }
  .d-ed-outline-item.is-h4 { padding-inline-start: var(--space-l); }
  .d-ed-outline-link { display: block; inline-size: 100%; min-block-size: calc(var(--tap) * 0.7); margin: 0; padding: var(--space-2xs) var(--space-xs); font: inherit; font-size: var(--step-small); color: var(--text); text-align: start; background: none; border: 0; border-inline-start: calc(var(--line) * 2) solid var(--border); cursor: pointer; overflow-wrap: anywhere; }
  .d-ed-outline-link:hover, .d-ed-outline-link:focus-visible { color: var(--accent-ink); border-inline-start-color: var(--accent-ink); }
  .d-ed-outline-empty { color: var(--text-2); font-size: var(--step-caption); }
  .d-ed-serp { display: grid; gap: var(--space-2xs); padding: var(--space-s) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); overflow-wrap: anywhere; }
  .d-ed-serp-site { display: grid; margin: 0; line-height: 1.3; }
  .d-ed-serp-name { font-size: var(--step-small); font-weight: 600; }
  .d-ed-serp-url { color: var(--text-2); font-size: var(--step-caption); }
  .d-ed-serp-title { margin: 0; color: var(--info); font-size: var(--step-1); line-height: 1.3; }
  .d-ed-serp-desc { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .m-text-actions { display: none; }
  button.m-text-cancel { display: none; }
  .m-text-status { display: none; }
  .m-text-status[data-state="busy"] { display: none; }
  .m-text-status[data-state="bad"] { display: none; }
  .m-text-status:empty { display: none; }
  .d-text-status { display: inline-flex; align-items: center; color: var(--ok); font-size: var(--step-small); font-weight: 600; }
  .d-text-status[data-state="busy"] { color: var(--text-2); }
  .d-text-status[data-state="bad"] { color: var(--error); }
  .d-text-status:empty { display: none; }
  .d-text-actions { display: flex; gap: var(--space-xs); }
  button.d-text-cancel { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.8); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 600; color: var(--text); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); cursor: pointer; }
  .texts-hit { padding: 0 var(--space-2xs); color: inherit; background: var(--accent-100); border-radius: var(--radius-s); }
  .texts-clear { display: inline-flex; align-items: center; min-block-size: calc(var(--tap) * 0.8); padding-inline: var(--space); color: var(--accent-ink); font-size: var(--step-small); font-weight: 700; text-decoration: none; background: var(--accent-50); border-radius: var(--radius-pill); }
  .m-texts { display: none; }
  .m-texts-stats { display: none; }
  .m-texts-pick { display: none; }
  .m-texts-pick-label { display: none; }
  .m-texts-group { display: none; }
  button.m-texts-open { display: none; }
  .m-texts-head { display: none; }
  .m-texts-search { display: none; }
  .m-texts-q { display: none; }
  button.m-texts-go { display: none; }
  .m-texts-filter { display: none; }
  .m-texts-filter[aria-current="true"] { display: none; }
  .m-texts-filter-count { display: none; }
  .m-texts-title { display: none; }
  .m-texts-sub { display: none; }
  .m-texts-list { display: none; }
  .m-text { display: none; }
  .m-text:target { display: none; }
  .m-text.is-invalid { display: none; }
  .m-text-form { display: none; }
  .m-text-head { display: none; }
  .m-text-label { display: none; }
  .m-text-badge { display: none; }
  .m-text-badge.is-seo { display: none; }
  .m-text-badge.is-locked { display: none; }
  .m-text-badge.is-edited { display: none; }
  .m-text-key { display: none; }
  .m-text-key code { display: none; }
  button.m-text-copy { display: none; }
  .m-text-value { display: none; }
  .m-text-value:focus-visible { display: none; }
  .m-text-value:invalid { display: none; }
  .m-text-value[readonly] { display: none; }
  .m-text-problem { display: none; }
  .m-text-foot { display: none; }
  .m-text-meta { display: none; }
  .m-text-count { display: none; }
  .m-text-count[data-state="ok"] { display: none; }
  .m-text-count[data-state="bad"] { display: none; }
  .m-text-keep code { display: none; }
  .m-text-locked { display: none; }
  button.m-text-save { display: none; }
  button.m-text-save.is-changed { display: none; }
  .m-text-history { display: none; }
  .m-text-history-summary { display: none; }
  .m-text-history-list { display: none; }
  .m-text-change { display: none; }
  .m-text-change-when { display: none; }
  .m-text-change-old { display: none; }
  .m-text-change-new { display: none; }
  .m-text-change-tag { display: none; }
  .m-text-restore { display: none; }
  button.m-text-restore-button { display: none; }
  .d-texts { display: grid; grid-template-columns: minmax(calc(var(--space) * 18), 1.2fr) minmax(0, 3fr); align-items: start; gap: var(--space-m); }
  .d-texts-side { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space-s); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-texts-group-list { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-texts-group { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 0.9); padding: var(--space-2xs) var(--space-xs); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; border-radius: var(--radius); }
  .d-texts-group .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: var(--radius-s); }
  .d-texts-group:hover { background: var(--fill); }
  .d-texts-group[aria-current="page"] { color: var(--accent-ink); background: var(--accent-soft); }
  .d-texts-group-name { overflow-wrap: anywhere; }
  .d-texts-count { color: var(--text-2); font-size: var(--step-caption); font-weight: 500; }
  .d-texts-main { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-texts-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); margin: 0; }
  .d-texts-stat { display: grid; gap: var(--space-2xs); padding: var(--space) var(--space-m); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-texts-stat dt { order: 2; color: var(--text-2); font-size: var(--step-small); }
  .d-texts-stat dd { order: 1; margin: 0; font: 700 var(--step-3)/1 var(--font-display); }
  .d-texts-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .d-texts-head-icon { inline-size: var(--tap); block-size: var(--tap); border-radius: var(--radius); }
  .d-texts-head-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-texts-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs); margin: 0; }
  .d-texts-q { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: var(--step-small); color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  button.d-texts-go { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  .d-texts-filter { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .d-texts-filter[aria-current="true"] { color: var(--accent-ink); background: var(--accent-soft); border-color: var(--accent-line); }
  .d-texts-filter-count { min-inline-size: calc(var(--space) * 1.5); padding: 0 var(--space-xs); color: var(--text-2); font-size: var(--step-caption); text-align: center; background: var(--fill); border-radius: var(--radius-pill); }
  .d-texts-title { margin: 0; font: 700 var(--step-2)/1.2 var(--font-display); overflow-wrap: anywhere; }
  .d-texts-sub { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .d-texts-list { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-text { display: grid; gap: var(--space-xs); padding: var(--space) var(--space-m); background: var(--surface); border: var(--line) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); scroll-margin-block-start: var(--contact-sticky); }
  .d-text:target { border-color: var(--accent-line); }
  .d-text.is-invalid { border-color: var(--error); }
  .d-text-form { display: grid; gap: var(--space-xs); margin: 0; }
  .d-text-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); }
  .d-text-label { margin: 0; margin-inline-end: auto; font-size: var(--step-base); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
  .d-text-badge { display: inline-flex; align-items: center; min-block-size: calc(var(--space) * 1.4); padding-inline: var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; background: var(--fill); border-radius: var(--radius-pill); }
  .d-text-badge.is-seo { color: var(--info); background: var(--info-bg); }
  .d-text-badge.is-locked { color: var(--text-2); background: var(--fill); }
  .d-text-badge.is-edited { color: var(--ok); background: var(--ok-bg); }
  .d-text-key { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  .d-text-key code { color: var(--text-2); font: var(--step-caption)/1.3 var(--font-mono); overflow-wrap: anywhere; }
  button.d-text-copy { display: inline-flex; align-items: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.6); margin: 0; padding-inline: var(--space-xs); font-size: var(--step-caption); font-weight: 600; color: var(--accent-ink); background: none; border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-text-value { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: var(--step-small); line-height: 1.5; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); resize: vertical; overflow-wrap: anywhere; }
  .d-text-value:focus-visible { border-color: var(--accent-line); }
  .d-text-value:invalid { border-color: var(--error); }
  .d-text-value[readonly] { color: var(--text-2); background: var(--fill); }
  .d-text-problem { margin: 0; padding: var(--space-2xs) var(--space-xs); color: var(--error); font-size: var(--step-caption); background: var(--error-bg); border-radius: var(--radius-s); }
  .d-text-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); }
  .d-text-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-text-count { font-variant-numeric: tabular-nums; font-weight: 600; }
  .d-text-count[data-state="ok"] { color: var(--ok); }
  .d-text-count[data-state="bad"] { color: var(--error); }
  .d-text-keep code { padding: 0 var(--space-2xs); color: var(--accent-ink); font-family: var(--font-mono); background: var(--accent-50); border-radius: var(--radius-s); }
  .d-text-locked { font-style: italic; }
  button.d-text-save { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.8); margin: 0; padding-inline: var(--space-m); font-size: var(--step-small); font-weight: 700; color: var(--text-2); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  button.d-text-save.is-changed { color: var(--accent-text); background: var(--accent); }
  .d-text-history { padding-block-start: var(--space-2xs); border-block-start: var(--line) solid var(--separator); }
  .d-text-history-summary { display: flex; align-items: center; min-block-size: calc(var(--tap) * 0.7); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; cursor: pointer; }
  .d-text-history-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-text-change { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs) var(--space-s); padding: var(--space-xs) var(--space-s); background: var(--bg); border-radius: var(--radius-s); }
  .d-text-change-when { grid-column: 1; color: var(--text-2); font-size: var(--step-caption); }
  .d-text-change-old { grid-column: 1; color: var(--text-2); font-size: var(--step-small); text-decoration: line-through; text-decoration-color: var(--separator); overflow-wrap: anywhere; }
  .d-text-change-new { grid-column: 1; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-text-change-tag { font-weight: 700; text-decoration: none; display: inline-block; }
  .d-text-restore { margin: 0; grid-column: 2; grid-row: 1 / span 3; }
  button.d-text-restore-button { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.8); margin: 0; padding-inline: var(--space); font-size: var(--step-caption); font-weight: 700; color: var(--text); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .m-font-select { display: none; }
  .m-font-sample { display: none; }
  .d-font-select { inline-size: 100%; min-block-size: var(--tap); margin: 0 0 var(--space-2xs); padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .d-font-sample { margin: 0 0 var(--space-s); padding: var(--space-xs) var(--space-s); font-size: var(--step-1); line-height: 1.3; background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .preset-swatch { display: block; inline-size: calc(var(--tap) * 0.9); block-size: auto; flex: none; }
  .m-presets { display: none; }
  .m-brand { display: none; }
  .m-brand-now { display: none; }
  .m-brand-label { display: none; }
  .m-brand-logo { display: none; }
  .m-brand-logo-img { display: none; }
  .m-brand-mark { display: none; }
  .m-brand-form { display: none; }
  .m-brand-input { display: none; }
  .m-brand-help { display: none; }
  .m-brand-save { display: none; }
  .m-preset-list { display: none; }
  .m-preset-item { display: none; }
  .m-preset-form, .m-preset-delete, .m-preset-save { display: none; }
  button.m-preset { display: none; }
  button.m-preset:hover { display: none; }
  button.m-preset[aria-current="true"] { display: none; }
  .m-preset-text { display: none; }
  .m-preset-text strong { display: none; }
  .m-preset-text span { display: none; }
  .m-preset-on { display: none; }
  button.m-preset-remove { display: none; }
  .m-preset-save-row { display: none; }
  .m-preset-name { display: none; }
  button.m-preset-save-button { display: none; }
  .d-presets { grid-column: 1 / -1; display: grid; gap: var(--space-s); }
  .d-brand { display: grid; gap: var(--space-s); grid-column: 1 / -1; }
  .d-brand-now { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-brand-label { font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .d-brand-logo { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; block-size: var(--brand-preview-h); inline-size: fit-content; min-inline-size: 0; max-inline-size: calc(var(--brand-preview-h) * var(--logo-wide)); overflow: clip; flex: none; }
  .d-brand-logo-img { display: block; inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; object-fit: contain; }
  .d-brand-mark { display: grid; place-items: center; min-inline-size: var(--tap); block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-pill); background: var(--mark-bg); color: var(--bg); font: 800 var(--step-small)/1 var(--font-display); letter-spacing: 0.06em; }
  .d-brand-form { display: grid; gap: var(--space-xs); grid-template-columns: minmax(0, 1fr); max-inline-size: var(--field-max); margin: 0; }
  .d-brand-input { min-block-size: var(--field-h); padding-inline: var(--space-s); border-radius: var(--radius); border: var(--line) solid var(--field-border); background: var(--field-bg); color: var(--text); font: inherit; min-inline-size: 0; inline-size: 100%; }
  .d-brand-help { margin: 0 0 var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .d-brand-save { justify-self: start; min-block-size: var(--tap); padding-inline: var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; }

  /* Media picker (App\MediaPicker, 2026-10-05) + logo card parts: DESIGN-SYSTEM §11n */
  .d-brand-part { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .d-brand-form:has(input[name="brand_mark"][value="text"]:checked) .d-brand-part.is-logo { display: none; }
  .d-brand-form:has(input[name="brand_mark"][value="logo"]:checked) .d-brand-part.is-text { display: none; }
  .d-mp { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .d-mp-label { margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-mp-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-mp-current { display: grid; align-items: center; gap: var(--space-xs) var(--space-s); min-inline-size: 0; padding: var(--space-xs); border: var(--line) solid var(--separator); border-radius: var(--radius-l); background: var(--surface); grid-template-columns: var(--mp-current) minmax(0, 1fr) auto; }
  .d-mp-current .d-mp-frame { inline-size: var(--mp-current); block-size: var(--mp-current); }
  .d-mp-current-text { display: grid; gap: 0; min-inline-size: 0; overflow-wrap: anywhere; }
  .d-mp-current-text strong { font-size: var(--step-small); line-height: 1.3; }
  .d-mp-current-text span { color: var(--text-2); font-size: var(--step-tiny); }
  button.d-mp-open { margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; min-block-size: var(--control); }
  button.d-mp-open:hover { background: var(--fill); }
  .d-mp-frame { position: relative; display: grid; place-items: center; overflow: clip; border-radius: var(--radius); background: var(--fill); }
  .d-mp-frame.is-empty { color: var(--text-2); }
  .d-mp-frame .icon { inline-size: 40%; block-size: 40%; }
  .d-mp-img { position: absolute; inset: 0; display: block; max-inline-size: 100%; max-block-size: 100%; margin: auto; object-fit: contain; }
  img.d-mp-img { inline-size: 100%; block-size: 100%; }
  .d-mp-dialog { grid-template-rows: auto auto auto minmax(0, 1fr) auto; gap: var(--space-xs); margin: auto; padding: var(--space-s) var(--space); border: 0; background: var(--bg); color: var(--text); box-shadow: var(--card-shadow); overflow: hidden; inline-size: min(var(--mp-dialog-w), calc(100% - var(--space-xl))); block-size: min(var(--mp-dialog-h), calc(100% - var(--space-xl))); max-inline-size: none; max-block-size: none; border-radius: var(--radius-xl); }
  .d-mp-dialog[open] { display: grid; }
  .d-mp-dialog::backdrop { background: var(--backdrop); }
  .d-mp-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-inline-size: 0; }
  .d-mp-title { margin: 0; font-size: var(--step-1); line-height: 1.25; overflow-wrap: anywhere; }
  button.d-mp-close { display: grid; place-items: center; flex: none; inline-size: var(--tap); block-size: var(--tap); margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--fill); color: var(--text); cursor: pointer; }
  button.d-mp-close .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-mp-tools { display: grid; gap: var(--space-xs); min-inline-size: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .d-mp-search { min-inline-size: 0; min-block-size: var(--field-h); padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius-pill); background: var(--field-bg); color: var(--text); font: inherit; }
  .d-mp-chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  button.d-mp-chip { margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; min-block-size: var(--control); }
  button.d-mp-chip[aria-pressed="true"] { border-color: var(--text); background: var(--text); color: var(--bg); }
  .d-mp-count { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-mp-body { display: grid; align-content: start; gap: var(--space-s); min-block-size: 0; overflow-y: auto; overscroll-behavior: contain; }
  .d-mp-set { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-mp-grid { display: grid; gap: var(--space-xs); margin: 0; padding: var(--space-2xs); list-style: none; grid-template-columns: repeat(auto-fill, minmax(var(--mp-tile), 1fr)); }
  .d-mp-cell { min-inline-size: 0; }
  .d-mp-tile { position: relative; display: grid; grid-template-rows: auto auto auto; gap: var(--space-2xs); min-inline-size: 0; padding: var(--space-2xs); border-radius: var(--radius); cursor: pointer; }
  .d-mp-tile:hover { background: var(--fill); }
  .d-mp-tile .d-mp-frame { aspect-ratio: 1; inline-size: 100%; }
  .d-mp-radio { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .d-mp-tile:has(.d-mp-radio:checked) { background: var(--accent-soft); outline: calc(var(--line) * 2) solid var(--accent); }
  .d-mp-tile:has(.d-mp-radio:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--line); }
  .d-mp-name { display: -webkit-box; block-size: 2.5em; overflow: hidden; font-size: var(--step-tiny); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .d-mp-meta { overflow: hidden; color: var(--text-2); font-size: var(--step-tiny); font-weight: 400; white-space: nowrap; text-overflow: ellipsis; }
  .d-mp-badge { position: absolute; inset-block-start: calc(var(--space-2xs) * 2); inset-inline-start: calc(var(--space-2xs) * 2); padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-tiny); font-weight: 700; box-shadow: var(--card-shadow); pointer-events: none; }
  button.d-mp-more { justify-self: center; margin: 0; padding: 0 var(--space-m); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; min-block-size: var(--control); }
  .d-mp-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs); padding-block-start: var(--space-xs); border-block-start: var(--line) solid var(--separator); }
  .d-mp-foot-hint { flex: 1 1 0; min-inline-size: 0; margin: 0; color: var(--text-2); font-size: var(--step-tiny); }
  button.d-mp-use { margin: 0; padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; min-block-size: var(--control); }
  .m-brand-part { display: none; }
  .m-brand-form:has(input[name="brand_mark"][value="text"]:checked) .m-brand-part.is-logo { display: none; }
  .m-brand-form:has(input[name="brand_mark"][value="logo"]:checked) .m-brand-part.is-text { display: none; }
  .m-mp { display: none; }
  .m-mp-label { display: none; }
  .m-mp-hint { display: none; }
  .m-mp-current { display: none; }
  .m-mp-current .m-mp-frame { display: none; }
  .m-mp-current-text { display: none; }
  .m-mp-current-text strong { display: none; }
  .m-mp-current-text span { display: none; }
  button.m-mp-open { display: none; }
  button.m-mp-open:hover { display: none; }
  .m-mp-frame { display: none; }
  .m-mp-frame.is-empty { display: none; }
  .m-mp-frame .icon { display: none; }
  .m-mp-img { display: none; }
  img.m-mp-img { display: none; }
  .m-mp-dialog { display: none; }
  .m-mp-dialog[open] { display: none; }
  .m-mp-dialog::backdrop { display: none; }
  .m-mp-head { display: none; }
  .m-mp-title { display: none; }
  button.m-mp-close { display: none; }
  button.m-mp-close .icon { display: none; }
  .m-mp-tools { display: none; }
  .m-mp-search { display: none; }
  .m-mp-chips { display: none; }
  button.m-mp-chip { display: none; }
  button.m-mp-chip[aria-pressed="true"] { display: none; }
  .m-mp-count { display: none; }
  .m-mp-body { display: none; }
  .m-mp-set { display: none; }
  .m-mp-grid { display: none; }
  .m-mp-cell { display: none; }
  .m-mp-tile { display: none; }
  .m-mp-tile:hover { display: none; }
  .m-mp-tile .m-mp-frame { display: none; }
  .m-mp-radio { display: none; }
  .m-mp-tile:has(.m-mp-radio:checked) { display: none; }
  .m-mp-tile:has(.m-mp-radio:focus-visible) { display: none; }
  .m-mp-name { display: none; }
  .m-mp-meta { display: none; }
  .m-mp-badge { display: none; }
  button.m-mp-more { display: none; }
  .m-mp-foot { display: none; }
  .m-mp-foot-hint { display: none; }
  button.m-mp-use { display: none; }
  .d-preset-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--space) * 17), 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-preset-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs); }
  .d-preset-form, .d-preset-delete, .d-preset-save { margin: 0; }
  button.d-preset { display: flex; align-items: center; gap: var(--space-s); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  button.d-preset:hover { border-color: var(--accent-line); }
  button.d-preset[aria-current="true"] { border-color: var(--accent-ink); box-shadow: 0 0 0 var(--line) var(--accent-ink); }
  .d-preset-text { display: grid; flex: 1 1 auto; min-inline-size: 0; }
  .d-preset-text strong { font-size: var(--step-small); }
  .d-preset-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; overflow-wrap: anywhere; }
  .d-preset-on { flex: none; padding: var(--space-2xs) var(--space-xs); font-size: var(--step-caption); font-weight: 700; color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); }
  button.d-preset-remove { inline-size: auto; min-block-size: calc(var(--tap) * 0.8); margin: 0; padding-inline: var(--space-s); font-size: var(--step-caption); font-weight: 600; color: var(--error); background: none; border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-preset-save-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xs); margin-block-start: var(--space-2xs); }
  .d-preset-name { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  button.d-preset-save-button { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  .mfa { display: grid; gap: var(--space-m); max-inline-size: calc(var(--space) * 56); margin: var(--space-l) auto var(--space-xl); }
  .mfa-head { display: grid; gap: var(--space-xs); }
  .mfa-title { margin: 0; font: 700 var(--step-4)/1.1 var(--font-display); letter-spacing: -0.02em; }
  .mfa-lead { margin: 0; max-inline-size: var(--prose-max); color: var(--text-2); }
  .qr { display: block; inline-size: 100%; block-size: auto; }
  .qr .qr-plate { fill: var(--qr-plate); }
  .qr .qr-ink { fill: var(--qr-ink); }
  .m-mfa { display: none; }
  .m-mfa-open { display: none; }
  .m-mfa-manual { display: none; }
  .m-mfa-manual-summary { display: none; }
  .m-mfa-manual-hint { display: none; }
  /* Desktop: the otpauth link is secondary under the QR; the setup key is a closed disclosure at the end */
  .d-mfa-open { display: inline-flex; align-items: center; min-block-size: var(--tap); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; }
  .d-mfa-manual { padding: var(--space-s) var(--space); background: var(--fill); border-radius: var(--radius); }
  .d-mfa-manual-summary { min-block-size: var(--tap); display: flex; align-items: center; color: var(--text-2); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .d-mfa-manual-hint { margin-block: var(--space-2xs) var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  .m-mfa-other { display: none; }
  .m-mfa-other-summary { display: none; }
  .m-mfa-qr-plate { display: none; }
  .m-mfa-list { display: none; }
  .m-mfa-step { display: none; }
  .m-mfa-step::before { display: none; }
  .m-mfa-step > span { display: none; }
  .m-mfa-key { display: none; }
  .m-mfa-key-label { display: none; }
  .m-mfa-key-value { display: none; }
  button.m-mfa-copy { display: none; }
  .m-mfa-meta { display: none; }
  .m-mfa-form { display: none; }
  .m-mfa-label { display: none; }
  .m-mfa-code { display: none; }
  .m-mfa-code:focus-visible { display: none; }
  button.m-mfa-submit { display: none; }
  .m-mfa-note { display: none; }
  .d-mfa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--space-l); }
  .d-mfa-steps { display: grid; gap: var(--space-m); padding: var(--space-l); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-mfa-qr { display: grid; justify-items: center; gap: var(--space); margin: 0; padding: var(--space-l); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-mfa-qr-plate { inline-size: var(--qr-size-d); padding: var(--space-xs); background: var(--qr-plate); border-radius: var(--radius-l); box-shadow: 0 0 0 var(--line) var(--border); }
  .d-mfa-qr-caption { color: var(--text-2); font-size: var(--step-small); }
  .d-mfa-list { display: grid; gap: var(--space); margin: 0; padding: 0; list-style: none; counter-reset: mfa; }
  .d-mfa-step { position: relative; display: grid; gap: var(--space-2xs); padding-inline-start: calc(var(--tile) + var(--space-s)); counter-increment: mfa; }
  .d-mfa-step::before { content: counter(mfa); position: absolute; inset-inline-start: 0; inset-block-start: 0; display: grid; place-items: center; inline-size: var(--tile); block-size: var(--tile); font-weight: 700; color: var(--accent-text); background: var(--accent); border-radius: 50%; }
  .d-mfa-step > span { color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .d-mfa-key { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs) var(--space-s); inline-size: 100%; padding: var(--space-s) var(--space); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-mfa-key-label { grid-column: 1 / -1; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
  .d-mfa-key-value { font: 600 var(--step-1)/1.4 var(--font-mono); letter-spacing: 0.06em; overflow-wrap: anywhere; user-select: all; }
  button.d-mfa-copy { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.85); margin: 0; padding-inline: var(--space); font-size: var(--step-small); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-mfa-meta { grid-column: 1 / -1; color: var(--text-2); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .d-mfa-form { display: grid; gap: var(--space-xs); margin: 0; }
  .d-mfa-label { margin: 0; font-size: var(--step-small); font-weight: 600; }
  .d-mfa-code { inline-size: 100%; min-block-size: calc(var(--tap) * 1.2); padding: var(--space-s) var(--space); font: 600 var(--step-2)/1 var(--font-mono); letter-spacing: 0.3em; text-align: center; color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-mfa-code:focus-visible { border-color: var(--accent); }
  button.d-mfa-submit { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  .d-mfa-note { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .m-ed-tool .icon { display: none; }
  .m-ed-toolbar { display: none; }
  .d-ed-tool .icon { inline-size: calc(var(--icon) * 0.9); block-size: calc(var(--icon) * 0.9); fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .d-ed-toolbar { position: sticky; inset-block-start: var(--contact-sticky); z-index: 1; }
  .admin-links { display: flex; flex-wrap: wrap; gap: var(--space-s); margin: 0; }
  /* Article quality (admin_enhance.php) */
  .enhance-switch { display: inline-flex; margin-block: 0 var(--space-2xs); margin-inline: 0 var(--space-s); }
  button.enhance-switch-button { inline-size: auto; min-block-size: var(--tap); margin: 0; padding: 0; color: var(--accent-ink); background: none; border: 0; font: inherit; font-weight: 600; cursor: pointer; }
  .enhance-apply { display: inline-flex; margin-block: 0 var(--space-xs); margin-inline: 0 var(--space-s); }
  /* WordPress import (admin_wordpress.php) */
  .wp-import-form { display: grid; gap: var(--space-s); }
  .wp-import-options { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-xs); }
  .wp-import-option { display: flex; align-items: center; gap: var(--space-xs); }
  .wp-import-progress { margin: 0; font-weight: 600; }
  .wp-import-pause { background: transparent; color: var(--text); }
  .admin-link { display: inline-flex; align-items: center; min-block-size: calc(var(--tap) * 0.85); padding-inline: var(--space); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; text-decoration: none; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-pill); }
  .admin-link:hover { border-color: var(--accent-line); }
  .admin-code { margin: 0; padding: var(--space-s) var(--space); font: var(--step-small)/1.5 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--fill); border-radius: var(--radius-s); }
  .admin-card-subtitle { margin: var(--space) 0 0; font-size: var(--step-body); font-weight: 700; }
  .ed-data { display: none; }
  .ax-preview-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); margin: var(--space) 0; padding: var(--space-s) var(--space); font-size: var(--step-small); color: var(--info); background: var(--info-bg); border-radius: var(--radius-l); }
  .ax-preview-back { color: inherit; font-weight: 700; }
  .article-prose { font-family: var(--article-font-body, var(--font-body)); }
  .article-title, .article-prose h2, .article-prose h3, .article-prose h4, .ax-faq-q h3 { font-family: var(--article-font-heading, var(--font-display)); }
  .ax-layout-wide .article-prose { max-inline-size: var(--prose-wide); }
  .ax-figure { display: grid; gap: var(--space-s); margin: var(--space-l) 0; }
  .ax-figure-image { max-inline-size: 100%; block-size: auto; border-radius: var(--radius-l); } /* width = its width attribute (display size) */
  .ax-figure-inline { max-inline-size: var(--prose-max); }
  .ax-figure-wide { max-inline-size: 100%; }
  /* Related image cards (image-card-seo, kept with their WordPress tags inside the altriora.com ImageRELATED markers;
     2026-10-04): a grid of photo cards, each clickable through its caption link (stretched link, DESIGN-SYSTEM §6b). */
  .image-card-seo-wrap { --cards-cols: repeat(3, minmax(0, 1fr)); display: grid; gap: var(--space-s); margin-block: var(--ax-flow); }
  .image-card-seo-row { display: grid; grid-template-columns: var(--cards-cols); gap: var(--space-s); }
  /* image-card-seo-{N} = cards per row on WordPress: N picks the grid (desktop: one or two cards at half width, else N). */
  .image-card-seo-1 { --cards-cols: repeat(2, minmax(0, 1fr)); }
  .image-card-seo-2 { --cards-cols: repeat(2, minmax(0, 1fr)); }
  .image-card-seo-3 { --cards-cols: repeat(3, minmax(0, 1fr)); }
  .image-card-seo-4 { --cards-cols: repeat(4, minmax(0, 1fr)); }
  .image-card-seo-item { display: grid; min-inline-size: 0; }
  .image-card-seo-figure { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: calc(var(--space-xs) * 0.75); margin: 0; padding: calc(var(--space-xs) * 0.75); border-radius: var(--ax-radius); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: transform var(--dur) var(--ease-spring), box-shadow var(--dur) var(--ease-out); }
  .image-card-seo-figure:has(.image-card-seo-caption-link:hover) { transform: translateY(var(--go-lift)); }
  .image-card-seo-img { position: relative; margin: 0; border-radius: var(--ax-radius-inner); overflow: clip; aspect-ratio: var(--card-photo-ratio); min-block-size: 0; background: var(--fill); }
  .image-card-seo-img img { position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%; max-inline-size: 100%; object-fit: cover; border-radius: 0; background: none; }
  .image-card-seo-caption { margin: 0; padding-inline: var(--space-2xs); font-size: var(--step-small); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
  .image-card-seo-caption-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-2xs); color: var(--accent-ink); text-decoration: none; }
  .image-card-seo-text { min-inline-size: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--card-title-lines-d); line-clamp: var(--card-title-lines-d); overflow: clip; }
  .image-card-seo-go { inline-size: var(--go-size); block-size: var(--go-size); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease-spring); }
  .image-card-seo-caption-link:hover .image-card-seo-go { transform: translateX(calc(var(--go-shift) * var(--dir))); }
  .image-card-seo-caption-link::after { content: ''; position: absolute; inset: 0; border-radius: var(--ax-radius); }
  .image-card-seo-caption-link:focus-visible::after { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  /* Content-tool photo cards (cb-imgcard: photo, caption, link line; kept with their WordPress classes between the
     imageCard markers, 2026-10-04). One card per block: a framed photo, the caption, the link stretched over the card. */
  .cb-imgcard { position: relative; display: grid; gap: calc(var(--space-xs) * 0.75); margin-block: var(--ax-flow); margin-inline: 0; padding: calc(var(--space-xs) * 0.75); border-radius: var(--ax-radius); background: var(--surface); box-shadow: var(--card-shadow); overflow: clip; transition: transform var(--dur) var(--ease-spring); }
  .cb-imgcard:has(.cb-imgcard-href:hover) { transform: translateY(var(--go-lift)); }
  .cb-imgcard-img { margin: 0; border-radius: var(--ax-radius-inner); overflow: clip; background: var(--fill); }
  .cb-imgcard-img img { display: block; inline-size: 100%; block-size: auto; max-inline-size: 100%; border-radius: 0; }
  .cb-imgcard-caption { display: grid; gap: var(--space-2xs); margin: 0; padding-inline: var(--space-2xs); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; }
  .cb-imgcard-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--card-title-lines-d); line-clamp: var(--card-title-lines-d); overflow: clip; font-weight: 600; }
  .cb-imgcard-href { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--accent-ink); text-decoration: none; }
  .cb-imgcard-href::after { content: ''; position: absolute; inset: 0; border-radius: var(--ax-radius); }
  .cb-imgcard-href:focus-visible::after { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .cb-imgcard-go { inline-size: var(--go-size); block-size: var(--go-size); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease-spring); }
  .cb-imgcard-href:hover .cb-imgcard-go { transform: translateX(calc(var(--go-shift) * var(--dir))); }
  .ax-figure-full { max-inline-size: 100%; }
  .ax-figure-full .ax-figure-image { border-radius: var(--radius-xl); }
  .ax-figure-caption { color: var(--text-2); font-size: var(--step-small); line-height: 1.5; }
  .ax-spec-sheet .d-table th[scope="row"] { white-space: nowrap; } /* spec sheets: the model name stays on one line */
  .ax-embed { display: grid; gap: var(--space-s); margin: var(--space-l) 0; max-inline-size: var(--prose-max); }
  .ax-embed-stage { position: relative; display: grid; place-items: center; overflow: hidden; background: var(--fill); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .ax-ratio-16-9 .ax-embed-stage { aspect-ratio: 16 / 9; }
  .ax-ratio-4-3 .ax-embed-stage { aspect-ratio: 4 / 3; }
  .ax-ratio-1-1 .ax-embed-stage { aspect-ratio: 1 / 1; }
  .ax-ratio-9-16 .ax-embed-stage { aspect-ratio: 9 / 16; max-inline-size: calc(var(--space) * 22); }
  .ax-ratio-21-9 .ax-embed-stage { aspect-ratio: 21 / 9; }
  .ax-embed-card { display: grid; gap: var(--space-s); max-inline-size: var(--embed-card-max); padding: var(--space-m); text-align: center; }
  .ax-embed-provider { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .ax-embed-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .ax-embed-note { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.45; }
  .ax-embed-load { justify-self: center; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font: inherit; font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .ax-embed-settings { justify-self: center; margin: 0; padding: var(--space-2xs) var(--space-s); font: inherit; font-size: var(--step-small); color: var(--accent-ink); background: none; border: 0; text-decoration: underline; cursor: pointer; }
  .ax-embed-frame { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
  .ax-embed-caption { font-size: var(--step-small); }
  .ax-embed-caption a { color: var(--accent-ink); }
  .ax-html { display: block; min-inline-size: 0; }
  .ax-quote { margin: var(--space-l) 0; padding: var(--space-m) var(--space-l); font: 500 var(--step-2)/1.4 var(--article-font-heading, var(--font-display)); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-xl); }
  .ax-quote p { margin: 0 0 var(--space-s); }
  .ax-quote-cite { color: var(--text-2); font: 400 var(--step-small)/1.4 var(--article-font-body, var(--font-body)); }
  .ax-quote-cite cite { font-style: normal; font-weight: 600; }
  .ax-callout { display: grid; gap: var(--space-s); margin: var(--space-l) 0; padding: var(--space) var(--space-m); border-radius: var(--radius-l); color: var(--text); background: var(--fill); }
  .ax-callout > :last-child { margin-block-end: 0; }
  .ax-callout-tip { color: var(--info); background: var(--info-bg); }
  .ax-callout-warning { color: var(--accent-ink); background: var(--accent-soft); }
  .ax-callout-success { color: var(--ok); background: var(--ok-bg); }
  .ax-callout a, .ax-callout strong { color: inherit; }
  .ax-actions { display: flex; flex-wrap: wrap; gap: var(--space-s); margin: var(--space-l) 0; }
  .article-prose .ax-btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--tap); padding-inline: var(--space-l); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .article-prose .ax-btn-primary { color: var(--accent-text); background: var(--accent); }
  .article-prose .ax-btn-secondary { color: var(--text); background: var(--surface); border: var(--line) solid var(--border); }
  .article-prose .ax-btn:hover { filter: brightness(1.06); }
  .ax-divider { margin: var(--space-xl) 0; border: 0; border-block-start: var(--line) solid var(--border); }
  .ax-faq { display: grid; margin: var(--space-l) 0; border-block: var(--line) solid var(--border); }
  .ax-faq-item + .ax-faq-item { border-block-start: var(--line) solid var(--separator); }
  .ax-faq-q { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space); padding-block: var(--space); cursor: pointer; list-style: none; }
  .ax-faq-q::-webkit-details-marker { display: none; }
  .ax-faq-q::after { content: "+"; color: var(--accent-ink); font-size: var(--step-1); font-weight: 600; }
  .ax-faq-item[open] .ax-faq-q::after { content: "\2212"; }
  .article-prose .ax-faq-q h3 { margin: 0; font-size: var(--step-base); line-height: 1.35; }
  .ax-faq-a { padding-block-end: var(--space); }
  .ax-cols { display: grid; gap: var(--space-l); margin: var(--space-l) 0; }
  .ax-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ax-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ax-col > :first-child { margin-block-start: 0; }
  .ax-grid-2, .ax-grid-3 { display: grid; gap: var(--space-m); margin: var(--space-l) 0; }
  .ax-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ax-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ax-card { display: grid; align-content: start; gap: var(--space-s); min-inline-size: 0; padding: var(--space-m); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-xl); }
  .ax-card > * { margin: 0; }
  .ax-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(var(--space) * 10), 1fr)); gap: var(--space); margin: var(--space-l) 0; }
  .ax-stats > div { display: grid; gap: var(--space-xs); padding: var(--space-m); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-xl); }
  .ax-stats dt { order: 2; color: var(--text-2); font-size: var(--step-small); }
  .ax-stats dd { order: 1; margin: 0; font: 700 var(--stat-size)/1 var(--article-font-heading, var(--font-display)); color: var(--accent-ink); }
  .ax-box { margin: var(--space-l) 0; padding: var(--space-m); background: var(--accent-50); border-radius: var(--radius-xl); }
  .ax-box > :last-child { margin-block-end: 0; }
  .ax-lead { font-size: var(--step-1); line-height: 1.5; }
  .ax-muted { color: var(--text-2); }
  .ax-center { text-align: center; }
  .ax-badge { display: inline-block; padding: var(--space-2xs) var(--space-s); font-size: var(--step-caption); font-weight: 700; color: var(--accent-ink); background: var(--accent-soft); border-radius: var(--radius-pill); }
  .ax-details { margin: var(--space) 0; padding: var(--space-s) var(--space); background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); }
  .ax-details summary { display: flex; align-items: center; min-block-size: calc(var(--tap) * 0.85); font-weight: 700; cursor: pointer; }
  .m-arts { display: none; }
  .m-arts-new, .m-arts-fonts { display: none; }
  .m-arts-new { display: none; }
  .m-arts-fonts { display: none; }
  .m-arts-list { display: none; }
  .m-arts-card { display: none; }
  .m-arts-thumb { display: none; }
  .m-arts-body { display: none; }
  .m-arts-title { display: none; }
  .m-arts-meta { display: none; }
  .m-arts-view { display: none; }
  .m-fonts { display: none; }
  .m-font-card { display: none; }
  .m-font-name { display: none; }
  .m-font-name span { display: none; }
  .m-font-sample { display: none; }
  .m-revs { display: none; }
  .m-revs-card { display: none; }
  .m-revs-when, .m-revs-title, .m-revs-meta { display: none; }
  .m-revs-when { display: none; }
  .m-revs-when span, .m-revs-meta { display: none; }
  .m-revs-title { display: none; }
  .m-revs-form { display: none; }
  button.m-revs-restore { display: none; }
  .m-editor { display: none; }
  .m-ed-title { display: none; }
  .m-ed-title:focus-visible { display: none; }
  .m-ed-canvas { display: none; }
  .m-ed-canvas[data-empty]:not([data-empty=""])::before { display: none; }
  .m-ed-block { display: none; }
  .m-ed-block:focus-within { display: none; }
  .m-ed-block.is-dragging { display: none; }
  .m-ed-block-bar { display: none; }
  .m-ed-block-kind { display: none; }
  .m-ed-block-kind .icon { display: none; }
  .m-ed-block-tools { display: none; }
  .m-ed-block-body { display: none; }
  .m-ed-tool { display: none; }
  .m-ed-tool:hover { display: none; }
  .m-ed-toolbar { display: none; }
  .m-ed-rich-wrap { display: none; }
  .m-ed-rich { display: none; }
  .m-ed-rich:focus-visible { display: none; }
  .m-ed-rich p, .m-ed-rich ul, .m-ed-rich ol, .m-ed-rich blockquote { display: none; }
  .m-ed-rich h3, .m-ed-rich h4 { display: none; }
  .m-ed-rich a { display: none; }
  .m-ed-rich blockquote { display: none; }
  .m-ed-rich table { display: none; }
  .m-ed-rich th, .m-ed-rich td { display: none; }
  .m-ed-field { display: none; }
  .m-ed-label { display: none; }
  .m-ed-hint { display: none; }
  .m-ed-input { display: none; }
  .m-ed-input:focus-visible { display: none; }
  .m-ed-area { display: none; }
  .m-ed-code { display: none; }
  .m-ed-heading-input { display: none; }
  .m-ed-count { display: none; }
  .m-ed-count[data-state="bad"] { display: none; }
  .m-ed-count[data-state="ok"] { display: none; }
  .m-ed-slug { display: none; }
  .m-ed-slug-prefix { display: none; }
  .m-ed-slug .m-ed-input { display: none; }
  .m-ed-row { display: none; }
  .m-ed-grow { display: none; }
  .m-ed-stack { display: none; }
  .m-ed-segment { display: none; }
  .m-ed-segment-option { display: none; }
  .m-ed-segment-option input { display: none; }
  .m-ed-segment-option span { display: none; }
  .m-ed-segment-option input:checked + span { display: none; }
  .m-ed-segment-option input:focus-visible + span { display: none; }
  .m-ed-check { display: none; }
  .m-ed-ghost { display: none; }
  .m-ed-ghost:hover { display: none; }
  .m-ed-ghost .icon, .m-ed-add-item .icon, .m-ed-bar-add .icon { display: none; }
  .m-ed-divider { display: none; }
  .m-ed-detected { display: none; }
  .m-ed-image-frame, .m-ed-cover-frame { display: none; }
  .m-ed-image-preview, .m-ed-cover-image { display: none; }
  .m-ed-image-empty, .m-ed-cover-empty { display: none; }
  .m-ed-cover { display: none; }
  .m-ed-library { display: none; }
  .m-ed-library::backdrop { display: none; }
  .m-ed-library-head { display: none; }
  .m-ed-library-title { display: none; }
  .m-ed-icon-button { display: none; }
  .m-ed-icon-button .icon { display: none; }
  .m-ed-upload { display: none; }
  .m-ed-upload-title { display: none; }
  .m-ed-file { display: none; }
  .m-ed-progress { display: none; }
  .m-ed-upload-status { display: none; }
  .m-ed-library-grid { display: none; }
  .m-ed-library-item { display: none; }
  .m-ed-library-item:hover, .m-ed-library-item:focus-visible { display: none; }
  .m-ed-library-image { display: none; }
  .m-ed-library-alt { display: none; }
  .m-ed-table-grid { display: none; }
  .m-ed-cell { display: none; }
  .m-ed-cell:focus-visible { display: none; }
  .m-ed-cell.is-head { display: none; }
  .m-ed-faq { display: none; }
  .m-ed-faq-item { display: none; }
  .m-ed-items { display: none; }
  .m-ed-item { display: none; }
  .m-ed-item-actions { display: none; }
  .m-ed-cols { display: none; }
  .m-ed-cols[data-count="3"] { display: none; }
  .m-ed-html-preview { display: none; }
  .m-ed-preview-problem { display: none; }
  .m-ed-add { display: none; }
  .m-ed-add-title { display: none; }
  .m-ed-add-grid { display: none; }
  .m-ed-add-item { display: none; }
  .m-ed-add-item:hover, .m-ed-add-item:focus-visible { display: none; }
  .m-ed-add-text { display: none; }
  .m-ed-add-text strong { display: none; }
  .m-ed-add-text span { display: none; }
  .m-ed-card { display: none; }
  .m-ed-card-title { display: none; }
  .m-ed-card-summary { display: none; }
  .m-ed-switch { display: none; }
  .m-ed-switch input { display: none; }
  .m-ed-switch-track { display: none; }
  .m-ed-switch-track::after { display: none; }
  .m-ed-switch input:checked + .m-ed-switch-track { display: none; }
  .m-ed-switch input:checked + .m-ed-switch-track::after { display: none; }
  .m-ed-switch input:focus-visible + .m-ed-switch-track { display: none; }
  .m-ed-switch-label { display: none; }
  .m-ed-actions { display: none; }
  button.m-ed-save, button.m-ed-save-preview, button.m-ed-primary { display: none; }
  button.m-ed-save-preview { display: none; }
  .m-ed-primary { display: none; }
  .m-ed-status { display: none; }
  .m-ed-css-result { display: none; }
  .m-ed-css-ok { display: none; }
  .m-ed-css-bad { display: none; }
  .m-ed-css-wait { display: none; }
  .m-ed-font-sample { display: none; }
  .m-ed-problems { display: none; }
  .m-ed-problems-title { display: none; }
  .m-ed-problems ul { display: none; }
  .m-ed-delete { display: none; }
  button.m-ed-danger { display: none; }
  .m-ed-danger-zone { display: none; }
  .m-ed-status-line { display: none; }
  .m-ed-status-card { display: none; }
  .m-ed-status-form { display: none; }
  button.m-ed-status-primary { display: none; }
  button.m-ed-status-secondary { display: none; }
  .m-ed-proposals-card { display: none; }
  .m-ed-proposals { display: none; }
  .m-ed-proposal { display: none; }
  .m-ed-proposal-by { display: none; }
  .m-ed-proposal-note { display: none; }
  .m-ed-proposal-actions { display: none; }
  .m-ed-proposal-form { display: none; }
  button.m-ed-proposal-accept { display: none; }
  button.m-ed-proposal-reject { display: none; }
  .m-ed-blocks-out { display: none; }
  .m-ed-tabs { display: none; }
  .m-ed-tab { display: none; }
  .m-ed-tab[aria-selected="true"] { display: none; }
  .m-ed-panel { display: none; }
  .m-ed-bar { display: none; }
  .m-ed-bar-add { display: none; }
  .d-arts { display: grid; gap: var(--space); }
  .d-arts-bar { display: flex; flex-wrap: wrap; gap: var(--space-s); }
  .d-arts-new, .d-arts-fonts { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space) var(--space-m); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .d-arts-new { color: var(--accent-text); background: var(--accent); }
  .d-arts-fonts { color: var(--text); background: var(--surface); border: var(--line) solid var(--border); }
  .d-arts-list { display: grid; margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-arts-item { display: grid; grid-template-columns: var(--ed-thumb) minmax(0, 3fr) minmax(0, 1.2fr) minmax(0, 1.2fr) auto; align-items: center; gap: var(--space); padding: var(--space-s) var(--space); }
  .d-arts-item + .d-arts-item { border-block-start: var(--line) solid var(--separator); }
  .d-arts-thumb { inline-size: var(--ed-thumb); aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-s); background: var(--fill); }
  .d-arts-main { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-arts-title { color: var(--text); font-weight: 700; line-height: 1.3; text-decoration: none; }
  .d-arts-title:hover { color: var(--accent-ink); text-decoration: underline; }
  .d-arts-path { color: var(--text-2); font: var(--step-caption)/1.3 var(--font-mono); overflow-wrap: anywhere; }
  .d-arts-sphere { color: var(--text-2); font-size: var(--step-small); }
  .d-arts-state { display: grid; justify-items: start; gap: var(--space-2xs); }
  .d-arts-when { color: var(--text-2); font-size: var(--step-caption); }
  .d-arts-actions { display: flex; gap: var(--space-xs); }
  .d-arts-edit, .d-arts-view { display: inline-flex; align-items: center; min-block-size: calc(var(--tap) * 0.8); padding-inline: var(--space); font-size: var(--step-small); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .d-arts-edit { color: var(--accent-text); background: var(--accent); }
  .d-arts-view { color: var(--text); background: var(--fill); }
  .d-fonts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .d-font-card { display: grid; gap: var(--space-xs); padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  /* AI disclosure tag (owner, 2026-10-04; EU AI Act Art. 50): glass label in the photo's corner, words from ui_texts. */
  :where(figure, div, span, li, a, p, picture):has(> .ai-tag) { position: relative; }
  .ai-tag { position: absolute; inset-block-start: var(--space-m); inset-inline-start: var(--space-m); z-index: 2; display: inline-flex; align-items: center; padding: calc(var(--space-2xs) * 0.75) var(--space-s); border-radius: var(--radius-pill); background: var(--glass-dark-bg); color: var(--on-image); font-size: var(--step-small); font-weight: 600; line-height: 1.2; letter-spacing: 0.02em; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: inset 0 0 0 var(--line) var(--glass-dark-rim); pointer-events: none; max-inline-size: calc(100% - var(--space-m) * 2); overflow-wrap: anywhere; }
  .ai-tag.is-compact { inset-block-start: var(--space-2xs); inset-inline-start: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) var(--space-xs); font-size: var(--step-tiny); }
  .media-labels-form { margin: 0; }
  .media-labels-state { display: flex; flex-wrap: wrap; gap: var(--space-s); align-items: center; margin: 0; }
  .media-find { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xs); margin-block: var(--space-m) var(--space-s); max-inline-size: var(--field-max); }
  .media-find input { min-block-size: var(--field-h); padding-inline: var(--space-s); border-radius: var(--radius-pill); border: var(--line) solid var(--field-border); background: var(--field-bg); color: var(--text); font: inherit; min-inline-size: 0; }
  .media-filters { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-end: var(--space-m); }
  .media-filter[aria-current="page"] { background: var(--accent); color: var(--accent-text); }
  .media-count { opacity: 0.75; font-weight: 500; }
  .media-pages { display: flex; gap: var(--space-s); align-items: center; justify-content: center; margin-block: var(--space-l); }
  .m-media { display: none; }
  .m-media-card { display: none; }
  .m-media-thumb { display: none; }
  .m-media-image { display: none; }
  .m-media-name { display: none; }
  .m-media-form { display: none; }
  .m-media-choice { display: none; }
  .m-media-option { display: none; }
  .m-media-save { display: none; }
  /* Admin -> Menus v2 (2026-10-04): desktop rendering (panel editor, drag and drop); the phone tree only hidden. */
  .d-mn { display: grid; gap: var(--space); }
  .d-mn-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); }
  .d-mn-tab { display: grid; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-xs) var(--space-s); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); color: var(--text); text-decoration: none; }
  .d-mn-tab[aria-current="page"] { background: var(--accent); color: var(--accent-text); }
  .d-mn-tab-name { font-weight: 700; overflow-wrap: anywhere; }
  .d-mn-tab-count { font-size: var(--step-small); opacity: 0.8; }
  .d-mn-tab-count.is-over { font-weight: 700; opacity: 1; text-decoration: underline; }
  .d-mn-editor { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-mn-editor-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space); }
  .d-mn-preview { display: grid; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-mn-mock { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); min-inline-size: 0; font-size: var(--step-small); }
  .d-mn-mock .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; flex: none; }
  .d-mn-mock-island { justify-content: space-around; flex-wrap: nowrap; padding: var(--space-xs); border-radius: var(--island-radius); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-mn-mock-tab { display: grid; justify-items: center; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; flex: 1 1 0; font-size: var(--step-tiny); text-align: center; overflow-wrap: anywhere; }
  .d-mn-mock-tab.is-menu { flex: 0 0 auto; place-self: center; padding: var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); }
  .d-mn-mock-desktop { padding: var(--space-xs) var(--space-s); border-radius: var(--radius-pill); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-mn-mock-brand { inline-size: var(--icon); block-size: var(--icon); border-radius: var(--radius-pill); background: var(--mark-bg); margin-inline-end: var(--space-xs); }
  .d-mn-mock-link { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-pill); }
  .d-mn-mock-link.is-cta { background: var(--accent); color: var(--accent-text); font-weight: 600; }
  .d-mn-mock-sheet { display: grid; gap: var(--space-xs); align-items: stretch; }
  .d-mn-mock-footer { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(var(--tap) * 3), 1fr)); gap: var(--space-s); align-items: start; }
  .d-mn-mock-group { display: grid; gap: var(--space-2xs); padding: var(--space-xs); border-radius: var(--radius); background: var(--surface); }
  .d-mn-mock-row { display: flex; align-items: center; gap: var(--space-xs); min-inline-size: 0; overflow-wrap: anywhere; }
  .d-mn-mock-row .tile-icon { inline-size: calc(var(--icon) * 1.4); block-size: calc(var(--icon) * 1.4); }
  .d-mn-mock .is-off { opacity: 0.45; text-decoration: line-through; }
  .d-mn-mock-empty { color: var(--text-2); }
  .d-mn-note { margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .d-mn-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-mn-children { display: grid; gap: var(--space-xs); margin: var(--space-xs) 0 0; padding-block: 0; padding-inline: var(--mn-indent) 0; list-style: none; border-inline-start: calc(var(--line) * 2) solid var(--separator); }
  .d-mn-item { display: grid; min-inline-size: 0; }
  .d-mn-item.is-off > .d-mn-row { opacity: 0.6; }
  .d-mn-row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-s); padding-block: var(--space-xs); padding-inline: var(--space-2xs) var(--space-xs); border-radius: var(--radius-l); background: var(--fill); }
  .d-mn-item.is-group > .d-mn-row { background: var(--surface); box-shadow: inset 0 0 0 var(--line) var(--separator); }
  .d-mn-row-text { display: grid; gap: calc(var(--space-2xs) * 0.5); min-inline-size: 0; }
  .d-mn-row-where { color: var(--text-2); font-size: var(--step-small); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .d-mn-badges { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .d-mn-badge { padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-tiny); font-weight: 600; white-space: nowrap; }
  .d-mn-badge.is-cta { background: var(--accent-soft); color: var(--accent-ink); }
  .d-mn-badge.is-hidden { background: var(--error-bg); color: var(--error); }
  .d-mn-badge.is-required { background: var(--info-bg); color: var(--info); }
  .d-mn-row-actions { display: grid; grid-template-columns: repeat(var(--mn-slots), var(--mn-control)) auto; align-items: center; gap: var(--space-2xs); }
  .d-mn-move { margin: 0; display: grid; }
  button.d-mn-iconbtn { display: grid; place-items: center; margin: 0; padding: 0; filter: none; inline-size: var(--mn-control); block-size: var(--mn-control); min-inline-size: 0; min-block-size: 0; border: 0; border-radius: var(--radius-pill); background: var(--surface); color: var(--text); cursor: pointer; }
  button.d-mn-iconbtn:disabled { opacity: 0.3; cursor: default; }
  button.d-mn-iconbtn .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  button.d-mn-iconbtn.is-up .icon { transform: rotate(-90deg); }
  button.d-mn-iconbtn.is-down .icon { transform: rotate(90deg); }
  button.d-mn-iconbtn.is-out .icon { transform: rotate(180deg); scale: var(--dir) 1; }
  button.d-mn-edit { display: inline-flex; align-items: center; justify-content: center; margin: 0; min-block-size: var(--control); padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font: inherit; font-weight: 600; cursor: pointer; }
  button.d-mn-iconbtn:focus-visible, button.d-mn-edit:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); }
  .d-mn-sheet { position: fixed; inset: 0; margin: auto; inline-size: min(calc(var(--field-max) * 1.6), calc(100% - var(--space-l) * 2)); block-size: fit-content; max-block-size: calc(100% - var(--space-l) * 2); padding: var(--space-m); border: 0; border-radius: var(--radius-xl); background: var(--surface); color: var(--text); box-shadow: var(--glass-shadow); overflow-y: auto; }
  .d-mn-sheet::backdrop { background: var(--backdrop); }
  .d-mn-sheet-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); margin-block-end: var(--space-s); }
  .d-mn-sheet-title { margin: 0; font-size: var(--step-1); overflow-wrap: anywhere; }
  button.d-mn-sheet-close { display: grid; place-items: center; margin: 0; padding: 0; inline-size: var(--tap); block-size: var(--tap); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); cursor: pointer; }
  button.d-mn-sheet-close .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; }
  .d-mn-sheet-form { display: grid; gap: var(--space-s); margin: 0; }
  .d-mn-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-mn-field-label { margin: 0; padding: 0; font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .d-mn-field-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-mn-input { min-block-size: var(--field-h); inline-size: 100%; min-inline-size: 0; padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .d-mn-picker { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; border: 0; min-inline-size: 0; }
  .d-mn-icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--tap), 1fr)); gap: var(--space-2xs); }
  .d-mn-icon-choice { position: relative; display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); color: var(--text); cursor: pointer; }
  .d-mn-icon-choice input, .d-mn-swatch input { position: absolute; opacity: 0; inline-size: 100%; block-size: 100%; margin: 0; cursor: pointer; }
  .d-mn-icon-choice .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; stroke-linejoin: round; }
  .d-mn-icon-choice:has(input:checked), .d-mn-swatch:has(input:checked) { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--accent); color: var(--accent-ink); }
  .d-mn-icon-choice:has(input:focus-visible), .d-mn-swatch:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); }
  .d-mn-icon-none { font-size: var(--step-1); color: var(--text-2); }
  .d-mn-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--tap), 1fr)); gap: var(--space-2xs); }
  .d-mn-swatch { position: relative; display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); cursor: pointer; }
  .d-mn-swatch .tile-icon { inline-size: 60%; block-size: 60%; }
  .d-mn-toggles { display: grid; gap: var(--space-2xs); }
  .d-mn-toggle { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); cursor: pointer; }
  .d-mn-toggle input { inline-size: calc(var(--icon) * 0.9); block-size: calc(var(--icon) * 0.9); accent-color: var(--accent); flex: none; }
  .d-mn-sheet-actions { display: grid; grid-template-columns: auto auto; justify-content: start; gap: var(--space-xs); margin-block-start: var(--space-xs); }
  button.d-mn-primary { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); margin: 0; inline-size: auto; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font: inherit; font-weight: 600; cursor: pointer; }
  button.d-mn-secondary { display: inline-flex; align-items: center; justify-content: center; margin: 0; inline-size: auto; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
  button.d-mn-danger { display: inline-flex; align-items: center; justify-content: center; margin: 0; inline-size: auto; justify-self: start; min-block-size: var(--tap); padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--error-bg); color: var(--error); font: inherit; font-weight: 600; cursor: pointer; }
  button.d-mn-primary:focus-visible, button.d-mn-secondary:focus-visible, button.d-mn-danger:focus-visible, button.d-mn-sheet-close:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); }
  button.d-mn-add { justify-self: end; }
  .d-mn-danger-zone { display: grid; gap: var(--space-xs); margin: var(--space) 0 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--error-bg); }
  .d-mn-empty { display: grid; place-items: center; padding: var(--space-l) var(--space); border-radius: var(--radius-l); background: var(--fill); color: var(--text-2); text-align: center; }
  .d-mn-wp { display: grid; gap: var(--space-s); min-inline-size: 0; align-content: start; }
  .d-mn-step { display: flex; align-items: center; gap: var(--space-xs); margin-block-start: var(--space-xs); }
  .d-mn-step-n { display: grid; place-items: center; inline-size: calc(var(--icon) * 1.3); block-size: calc(var(--icon) * 1.3); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 700; font-size: var(--step-small); flex: none; }
  .d-mn-step-title { margin: 0; font-size: var(--step-base); }
  .d-mn-wp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--tap) * 3.5), 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-mn-wp-card { display: grid; gap: var(--space-2xs); align-content: start; min-block-size: 100%; padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); color: var(--text); text-decoration: none; }
  .d-mn-wp-card[aria-current="true"] { background: var(--accent-soft); box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--accent); }
  .d-mn-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
  .d-mn-compare-col { display: grid; gap: var(--space-xs); align-content: start; min-inline-size: 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-mn-wp-tree { display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: calc(var(--space) * 1.25); font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-mn-wp-label { font-weight: 600; margin-inline-end: var(--space-2xs); }
  .d-mn-import { display: grid; gap: var(--space-s); margin: 0; }
  .d-mn-rebuild { margin-block-start: var(--space-s); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-mn-rebuild-summary { cursor: pointer; min-block-size: var(--tap); display: flex; align-items: center; font-weight: 600; color: var(--text-2); }
  .d-mn-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); align-items: start; }
  .d-mn-handle { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: var(--radius); color: var(--text-2); cursor: grab; }
  .d-mn-handle .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--go-stroke); stroke-linecap: round; }
  .d-mn-item.is-dragging { opacity: 0.5; }
  .d-mn-item.is-drop-target > .d-mn-row { box-shadow: inset 0 calc(var(--line) * 3) 0 var(--accent); }
  .d-mn-order { margin: 0; }
  .m-mn { display: none; }
  .m-mn-tabs { display: none; }
  .m-mn-tab { display: none; }
  .m-mn-tab[aria-current="page"] { display: none; }
  .m-mn-tab-name { display: none; }
  .m-mn-tab-count { display: none; }
  .m-mn-tab-count.is-over { display: none; }
  .m-mn-editor { display: none; }
  .m-mn-editor-head { display: none; }
  .m-mn-preview { display: none; }
  .m-mn-mock { display: none; }
  .m-mn-mock .icon { display: none; }
  .m-mn-mock-island { display: none; }
  .m-mn-mock-tab { display: none; }
  .m-mn-mock-tab.is-menu { display: none; }
  .m-mn-mock-desktop { display: none; }
  .m-mn-mock-brand { display: none; }
  .m-mn-mock-link { display: none; }
  .m-mn-mock-link.is-cta { display: none; }
  .m-mn-mock-sheet { display: none; }
  .m-mn-mock-footer { display: none; }
  .m-mn-mock-group { display: none; }
  .m-mn-mock-row { display: none; }
  .m-mn-mock-row .tile-icon { display: none; }
  .m-mn-mock .is-off { display: none; }
  .m-mn-mock-empty { display: none; }
  .m-mn-note { display: none; }
  .m-mn-list { display: none; }
  .m-mn-children { display: none; }
  .m-mn-item { display: none; }
  .m-mn-item.is-off > .m-mn-row { display: none; }
  .m-mn-row { display: none; }
  .m-mn-item.is-group > .m-mn-row { display: none; }
  .m-mn-row-text { display: none; }
  .m-mn-row-where { display: none; }
  .m-mn-badges { display: none; }
  .m-mn-badge { display: none; }
  .m-mn-badge.is-cta { display: none; }
  .m-mn-badge.is-hidden { display: none; }
  .m-mn-badge.is-required { display: none; }
  .m-mn-row-actions { display: none; }
  .m-mn-move { display: none; }
  button.m-mn-iconbtn { display: none; }
  button.m-mn-iconbtn:disabled { display: none; }
  button.m-mn-iconbtn .icon { display: none; }
  button.m-mn-iconbtn.is-up .icon { display: none; }
  button.m-mn-iconbtn.is-down .icon { display: none; }
  button.m-mn-iconbtn.is-out .icon { display: none; }
  button.m-mn-edit { display: none; }
  button.m-mn-iconbtn:focus-visible, button.m-mn-edit:focus-visible { display: none; }
  .m-mn-sheet { display: none; }
  .m-mn-sheet::backdrop { display: none; }
  .m-mn-sheet-head { display: none; }
  .m-mn-sheet-title { display: none; }
  button.m-mn-sheet-close { display: none; }
  button.m-mn-sheet-close .icon { display: none; }
  .m-mn-sheet-form { display: none; }
  .m-mn-field { display: none; }
  .m-mn-field-label { display: none; }
  .m-mn-field-hint { display: none; }
  .m-mn-input { display: none; }
  .m-mn-picker { display: none; }
  .m-mn-icons { display: none; }
  .m-mn-icon-choice { display: none; }
  .m-mn-icon-choice input, .m-mn-swatch input { display: none; }
  .m-mn-icon-choice .icon { display: none; }
  .m-mn-icon-choice:has(input:checked), .m-mn-swatch:has(input:checked) { display: none; }
  .m-mn-icon-choice:has(input:focus-visible), .m-mn-swatch:has(input:focus-visible) { display: none; }
  .m-mn-icon-none { display: none; }
  .m-mn-swatches { display: none; }
  .m-mn-swatch { display: none; }
  .m-mn-swatch .tile-icon { display: none; }
  .m-mn-toggles { display: none; }
  .m-mn-toggle { display: none; }
  .m-mn-toggle input { display: none; }
  .m-mn-sheet-actions { display: none; }
  button.m-mn-primary { display: none; }
  button.m-mn-secondary { display: none; }
  button.m-mn-danger { display: none; }
  button.m-mn-primary:focus-visible, button.m-mn-secondary:focus-visible, button.m-mn-danger:focus-visible, button.m-mn-sheet-close:focus-visible { display: none; }
  button.m-mn-add { display: none; }
  .m-mn-danger-zone { display: none; }
  .m-mn-empty { display: none; }
  .m-mn-wp { display: none; }
  .m-mn-step { display: none; }
  .m-mn-step-n { display: none; }
  .m-mn-step-title { display: none; }
  .m-mn-wp-cards { display: none; }
  .m-mn-wp-card { display: none; }
  .m-mn-wp-card[aria-current="true"] { display: none; }
  .m-mn-compare { display: none; }
  .m-mn-compare-col { display: none; }
  .m-mn-wp-tree { display: none; }
  .m-mn-wp-label { display: none; }
  .m-mn-import { display: none; }
  .m-mn-rebuild { display: none; }
  .m-mn-rebuild-summary { display: none; }
  /* end Admin -> Menus v2 (desktop) */
  .m-media-name span { display: none; }
  .d-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .d-media-card { display: grid; grid-template-rows: auto auto 1fr; gap: var(--space-xs); padding: var(--space-s); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-media-thumb { border-radius: var(--radius-l); overflow: hidden; background: var(--fill); aspect-ratio: 16 / 10; }
  .d-media-image { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-media-name { display: grid; gap: var(--space-2xs); margin: 0; overflow-wrap: anywhere; }
  .d-media-name span { color: var(--text-2); font-size: var(--step-small); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .d-media-form { display: grid; gap: var(--space-xs); align-content: end; margin: 0; }
  .d-media-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); margin: 0; padding: 0; border: 0; }
  .d-media-option { display: flex; align-items: center; gap: var(--space-2xs); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); background: var(--fill); font-size: var(--step-small); cursor: pointer; }
  .d-media-option:has(input:checked) { background: var(--accent-soft); box-shadow: inset 0 0 0 var(--line) var(--accent-line); }
  .d-media-save { justify-self: start; }
  .d-font-name { display: grid; gap: var(--space-2xs); margin: 0; }
  .d-font-name span { color: var(--text-2); font-size: var(--step-caption); }
  .d-font-sample { margin: 0; font-size: var(--step-2); line-height: 1.3; overflow-wrap: anywhere; }
  .d-revs { display: grid; margin: 0; padding: 0; list-style: none; background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-revs-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) minmax(0, 1fr) auto; align-items: center; gap: var(--space); padding: var(--space-s) var(--space); }
  .d-revs-row + .d-revs-row { border-block-start: var(--line) solid var(--separator); }
  .d-revs-when { display: grid; gap: var(--space-2xs); }
  .d-revs-when span, .d-revs-meta { color: var(--text-2); font-size: var(--step-caption); }
  .d-revs-title { font-weight: 600; }
  .d-revs-form { margin: 0; }
  button.d-revs-restore { display: inline-flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: calc(var(--tap) * 0.85); margin: 0; padding-inline: var(--space); font-size: var(--step-small); color: var(--text); background: var(--fill); border-radius: var(--radius-pill); }
  .d-editor { display: grid; gap: var(--space); }
  .d-ed-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--ed-side); align-items: start; gap: var(--space-l); }
  .d-ed-main { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-ed-side { display: grid; align-content: start; gap: var(--space-s); min-inline-size: 0; }
  .d-ed-publish { position: sticky; inset-block-start: var(--contact-sticky); z-index: 1; }
  .d-ed-title { inline-size: 100%; min-block-size: calc(var(--step-4) * 1.4); margin: 0; padding: var(--space-s) 0; font: 700 var(--step-4)/1.15 var(--font-display); letter-spacing: -0.01em; color: var(--text); background: none; border: 0; border-block-end: var(--line) solid var(--border); resize: none; overflow-y: hidden; }
  .d-ed-title:focus-visible { outline: none; border-block-end-color: var(--accent); }
  .d-ed-canvas { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-ed-canvas[data-empty]:not([data-empty=""])::before { content: attr(data-empty); padding: var(--space-m); color: var(--text-2); text-align: center; background: var(--fill); border-radius: var(--radius-l); }
  .d-ed-block { display: grid; min-inline-size: 0; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-ed-block:focus-within { border-color: var(--accent-line); }
  .d-ed-block.is-dragging { opacity: var(--drag-opacity); }
  .d-ed-block-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); border-block-end: var(--line) solid var(--separator); cursor: grab; }
  .d-ed-block-kind { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
  .d-ed-block-kind .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .d-ed-block-tools { display: flex; gap: var(--space-2xs); }
  .d-ed-block-body { display: grid; gap: var(--space-s); min-inline-size: 0; padding: var(--space); }
  .d-ed-tool { display: inline-grid; place-items: center; min-inline-size: var(--ed-tool); min-block-size: var(--ed-tool); margin: 0; padding: 0 var(--space-xs); font: 700 var(--step-small)/1 var(--font-body); color: var(--text); background: none; border: 0; border-radius: var(--radius-s); cursor: pointer; }
  .d-ed-tool:hover { background: var(--fill); }
  .d-ed-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding: var(--space-2xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border-block-end: var(--line) solid var(--panel-glass-edge); border-radius: var(--radius) var(--radius) 0 0; }
  .d-ed-rich-wrap { display: grid; min-inline-size: 0; border: var(--line) solid var(--border); border-radius: var(--radius); }
  .d-ed-rich { min-block-size: var(--ed-rich-min); padding: var(--space-s) var(--space); line-height: 1.6; overflow-wrap: anywhere; font-family: var(--font-body); outline: none; }
  .d-ed-rich:focus-visible { box-shadow: inset 0 0 0 var(--focus-ring) var(--accent-line); }
  .d-ed-rich p, .d-ed-rich ul, .d-ed-rich ol, .d-ed-rich blockquote { margin: 0 0 var(--space-s); }
  .d-ed-rich h3, .d-ed-rich h4 { margin: var(--space) 0 var(--space-xs); font-family: var(--font-display); }
  .d-ed-rich a { color: var(--accent-ink); }
  .d-ed-rich blockquote { padding-inline-start: var(--space); border-inline-start: var(--focus-ring) solid var(--border); }
  .d-ed-rich table { inline-size: 100%; border-collapse: collapse; }
  .d-ed-rich th, .d-ed-rich td { padding: var(--space-2xs) var(--space-xs); border: var(--line) solid var(--border); overflow-wrap: anywhere; }
  .d-ed-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-ed-label { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs); margin: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; }
  .d-ed-hint { margin: 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .d-ed-input { inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; font-size: var(--step-small); color: var(--text); background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .d-ed-input:focus-visible { border-color: var(--accent-line); }
  .d-ed-area { resize: vertical; line-height: 1.5; }
  .d-ed-code { min-block-size: var(--ed-code-min); font: var(--step-small)/1.55 var(--font-mono); tab-size: 2; resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; }
  .d-ed-heading-input { font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-ed-count { color: var(--text-2); font-size: var(--step-caption); font-weight: 500; }
  .d-ed-count[data-state="bad"] { color: var(--error); }
  .d-ed-count[data-state="ok"] { color: var(--ok); }
  .d-ed-slug { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; background: var(--bg); border: var(--line) solid var(--border); border-radius: var(--radius-s); }
  .d-ed-slug-prefix { padding-inline: var(--space-s) 0; color: var(--text-2); font: var(--step-caption)/1 var(--font-mono); }
  .d-ed-slug .d-ed-input { border: 0; background: none; font-family: var(--font-mono); }
  .d-ed-row { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-s); }
  .d-ed-grow { flex: 1 1 calc(var(--space) * 14); }
  .d-ed-stack { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-ed-segment { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--space-2xs); padding: var(--space-2xs); background: var(--fill); border-radius: var(--radius-s); }
  .d-ed-segment-option { position: relative; display: grid; margin: 0; font-weight: 600; }
  .d-ed-segment-option input { position: absolute; opacity: 0; inline-size: 100%; block-size: 100%; margin: 0; cursor: pointer; }
  .d-ed-segment-option span { display: grid; place-items: center; min-block-size: calc(var(--tap) * 0.75); padding-inline: var(--space-xs); font-size: var(--step-caption); text-align: center; border-radius: calc(var(--radius-s) - var(--space-2xs)); }
  .d-ed-segment-option input:checked + span { color: var(--text); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-ed-segment-option input:focus-visible + span { outline: var(--focus-ring) solid var(--focus-color); }
  .d-ed-check { display: inline-flex; align-items: center; gap: var(--space-xs); margin: 0; font-size: var(--step-small); }
  .d-ed-ghost { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 0.85); margin: 0; padding-inline: var(--space); font: inherit; font-size: var(--step-small); font-weight: 600; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-ed-ghost:hover { background: var(--accent-soft); }
  .d-ed-ghost .icon, .d-ed-add-item .icon, .d-ed-bar-add .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .d-ed-marker { display: block; padding: var(--space-xs) var(--space-s); color: var(--text-2); font: var(--step-caption)/1.4 var(--font-mono); background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .m-ed-marker { display: none; }
  .d-ed-divider { margin: var(--space-s) 0; border: 0; border-block-start: var(--line) solid var(--border); }
  .d-ed-detected { margin: 0; color: var(--accent-ink); font-size: var(--step-caption); font-weight: 600; }
  .d-ed-image-frame, .d-ed-cover-frame { display: grid; place-items: center; min-block-size: calc(var(--space) * 8); overflow: hidden; background: var(--fill); border-radius: var(--radius); }
  .d-ed-image-preview, .d-ed-cover-image { inline-size: 100%; block-size: auto; border-radius: var(--radius); }
  .d-ed-image-empty, .d-ed-cover-empty { padding: var(--space); color: var(--text-2); font-size: var(--step-small); }
  .d-ed-cover { display: grid; gap: var(--space-s); }
  .d-ed-library { inline-size: min(100%, calc(var(--space) * 56)); max-inline-size: 100%; max-block-size: calc(100% - var(--space-xl)); margin: auto; padding: 0; color: var(--text); background: var(--bg); border: 0; border-radius: var(--radius-xl); box-shadow: var(--card-shadow); overflow-y: auto; }
  .d-ed-library::backdrop { background: var(--backdrop); }
  .d-ed-library-head { position: sticky; inset-block-start: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: var(--space); padding: var(--space-s) var(--space); background: var(--bg); border-block-end: var(--line) solid var(--separator); }
  .d-ed-library-title { margin: 0; font: 700 var(--step-1)/1.2 var(--font-display); }
  .d-ed-icon-button { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); margin: 0; padding: 0; color: var(--text); background: var(--fill); border: 0; border-radius: 50%; cursor: pointer; }
  .d-ed-icon-button .icon { inline-size: var(--icon); block-size: var(--icon); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  .d-ed-upload { display: grid; gap: var(--space-xs); margin: var(--space); padding: var(--space); background: var(--surface); border-radius: var(--radius-l); }
  .d-ed-upload-title { margin: 0; font-weight: 700; }
  .d-ed-file { inline-size: 100%; font: inherit; font-size: var(--step-small); }
  .d-ed-progress { inline-size: 100%; block-size: var(--space-s); accent-color: var(--accent); }
  .d-ed-upload-status { margin: 0; font-size: var(--step-small); font-weight: 600; }
  .d-ed-library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--ed-library-min), 1fr)); gap: var(--space-s); margin: 0; padding: 0 var(--space) var(--space); list-style: none; }
  .d-ed-library-item { display: grid; gap: var(--space-2xs); inline-size: 100%; margin: 0; padding: var(--space-2xs); font: inherit; color: var(--text); text-align: start; background: var(--surface); border: var(--line) solid var(--border); border-radius: var(--radius); cursor: pointer; }
  .d-ed-library-item:hover, .d-ed-library-item:focus-visible { border-color: var(--accent); }
  .d-ed-library-image { inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--radius) - var(--space-2xs)); }
  .d-ed-library-alt { font-size: var(--step-caption); line-height: 1.3; color: var(--text-2); overflow-wrap: anywhere; }
  .d-ed-table-grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: var(--line); padding: var(--line); background: var(--border); border-radius: var(--radius-s); }
  .d-ed-cell { min-block-size: var(--tap); padding: var(--space-xs); font-size: var(--step-small); line-height: 1.4; overflow-wrap: anywhere; background: var(--surface); outline: none; }
  .d-ed-cell:focus-visible { box-shadow: inset 0 0 0 var(--focus-ring) var(--accent-line); }
  .d-ed-cell.is-head { font-weight: 700; background: var(--fill); }
  .d-ed-faq { display: grid; gap: var(--space-s); }
  .d-ed-faq-item { display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--bg); border-radius: var(--radius); }
  .d-ed-items { display: grid; gap: var(--space-s); }
  .d-ed-item { display: grid; gap: var(--space-xs); padding: var(--space-s); background: var(--bg); border-radius: var(--radius); }
  .d-ed-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-xs); }
  .d-ed-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
  .d-ed-cols[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .d-ed-html-preview { min-block-size: calc(var(--space) * 4); padding: var(--space); background: var(--bg); border: var(--line) dashed var(--border); border-radius: var(--radius); overflow-wrap: anywhere; }
  .d-ed-preview-problem { margin: 0; color: var(--error); }
  .d-ed-add { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border: var(--line) dashed var(--border); border-radius: var(--radius-l); }
  .d-ed-add-title { margin: 0; font-weight: 700; }
  .d-ed-add-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--space) * 13), 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-ed-add-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); inline-size: 100%; min-block-size: var(--tap); margin: 0; padding: var(--space-xs) var(--space-s); font: inherit; color: var(--text); text-align: start; background: var(--bg); border: var(--line) solid transparent; border-radius: var(--radius); cursor: pointer; }
  .d-ed-add-item:hover, .d-ed-add-item:focus-visible { border-color: var(--accent-line); background: var(--accent-50); }
  .d-ed-add-text { display: grid; min-inline-size: 0; }
  .d-ed-add-text strong { font-size: var(--step-small); }
  .d-ed-add-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.3; }
  .d-ed-card { display: grid; gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space); background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-ed-card-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-ed-card-summary { font-weight: 700; cursor: pointer; }
  .d-ed-switch { position: relative; display: grid; grid-template-columns: var(--switch-w) minmax(0, 1fr); align-items: center; gap: var(--space-s); margin: 0; cursor: pointer; }
  .d-ed-switch input { position: absolute; opacity: 0; inline-size: var(--switch-w); block-size: var(--switch-h); margin: 0; }
  .d-ed-switch-track { position: relative; inline-size: var(--switch-w); block-size: var(--switch-h); background: var(--switch-off); border-radius: var(--radius-pill); transition: background var(--dur-fast) var(--ease-out); }
  .d-ed-switch-track::after { content: ""; position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); background: var(--knob); border-radius: 50%; box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  .d-ed-switch input:checked + .d-ed-switch-track { background: var(--switch-on); }
  .d-ed-switch input:checked + .d-ed-switch-track::after { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .d-ed-switch input:focus-visible + .d-ed-switch-track { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) / 1.5); }
  .d-ed-switch-label { font-weight: 700; }
  .d-ed-actions { display: grid; gap: var(--space-xs); }
  button.d-ed-save, button.d-ed-save-preview, button.d-ed-primary { display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: var(--tap); margin: 0; padding-inline: var(--space); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); }
  button.d-ed-save-preview { color: var(--text); background: var(--fill); }
  .d-ed-primary { cursor: pointer; }
  .d-ed-status { min-block-size: 1.2em; margin: 0; color: var(--accent-ink); font-size: var(--step-caption); font-weight: 600; }
  .d-ed-css-result { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-caption); }
  .d-ed-css-ok { color: var(--ok); font-weight: 600; }
  .d-ed-css-bad { padding: var(--space-2xs) var(--space-xs); color: var(--error); background: var(--error-bg); border-radius: var(--radius-s); }
  .d-ed-css-wait { color: var(--text-2); }
  .d-ed-font-sample { margin: 0; padding: var(--space-xs) var(--space-s); font-size: var(--step-1); line-height: 1.3; background: var(--fill); border-radius: var(--radius-s); overflow-wrap: anywhere; }
  .d-ed-problems { display: grid; gap: var(--space-2xs); padding: var(--space) var(--space-m); color: var(--error); background: var(--error-bg); border-radius: var(--radius-l); }
  .d-ed-problems-title { margin: 0; font-weight: 700; }
  .d-ed-problems ul { margin: 0; padding-inline-start: var(--space); }
  .d-ed-delete { display: grid; gap: var(--space-xs); margin: 0; }
  button.d-ed-danger { display: flex; align-items: center; justify-content: center; inline-size: auto; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--error); background: var(--error-bg); border: 0; border-radius: var(--radius-pill); }
  .d-ed-danger-zone { border: var(--line) solid var(--error-bg); }
  .d-ed-status-line { margin: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-ed-status-card { border: var(--line) solid var(--border); }
  .d-ed-status-form { display: grid; gap: var(--space-xs); margin: 0; }
  button.d-ed-status-primary { display: flex; align-items: center; justify-content: center; inline-size: auto; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  button.d-ed-status-secondary { display: flex; align-items: center; justify-content: center; inline-size: auto; justify-self: start; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-ed-proposals-card { border: var(--line) solid var(--border); }
  .d-ed-proposals { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-ed-proposal { display: grid; gap: var(--space-2xs); padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--border); }
  .d-ed-proposal-by { margin: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-ed-proposal-note { margin: 0; overflow-wrap: anywhere; }
  .d-ed-proposal-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-ed-proposal-form { margin: 0; }
  button.d-ed-proposal-accept { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  button.d-ed-proposal-reject { display: flex; align-items: center; justify-content: center; inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); font-weight: 700; color: var(--text); background: var(--fill); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
  .d-ed-blocks-out { display: none; }

  /* ===== Price & delivery + customer reviews, DESKTOP (Rule 28): collapsed like the article's own "On this page" card ===== */
  .ax-stars { color: var(--accent-ink); letter-spacing: 0.06em; white-space: nowrap; }
  .ax-stars-off { color: var(--border); }
  .d-ax-price { margin: 0; overflow: hidden; background: var(--surface); border: var(--ax-frame); border-radius: var(--radius-l); }
  .d-ax-reviews { margin: 0; overflow: hidden; background: var(--surface); border: var(--ax-frame); border-radius: var(--radius-l); }
  .d-ax-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-s) var(--space); min-block-size: var(--row-h); padding: var(--space-s) var(--ax-pad-wide); cursor: pointer; list-style: none; }
  .d-ax-summary-title { font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-ax-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-xs); }
  .d-ax-summary::-webkit-details-marker { display: none; }
  .d-ax-summary:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * -1); }
  .d-ax-badge { padding: var(--space-2xs) var(--space-s); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; white-space: nowrap; background: var(--fill); border-radius: var(--radius-pill); }
  .d-ax-badge-rating { color: var(--accent-ink); background: var(--accent-soft); }
  .d-ax-chevron { color: var(--text-2); transition: transform var(--dur) var(--ease-spring); }
  .d-ax-price[open] .d-ax-chevron { transform: rotate(180deg); }
  .d-ax-reviews[open] .d-ax-chevron { transform: rotate(180deg); }
  .d-ax-panel { padding: var(--ax-pad) var(--ax-pad-wide) var(--ax-pad-wide); border-block-start: var(--ax-rule); }
  .d-ax-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); margin: 0; }
  .d-ax-price-fact:last-child:nth-child(3n+2) { grid-column: span 2; }
  .d-ax-price-fact:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
  .d-ax-price-fact { display: grid; align-content: start; gap: var(--ax-label-gap); padding: var(--ax-pad); background: var(--bg); border-radius: var(--radius); }
  .d-ax-price-fact dt { color: var(--text-2); font-size: var(--ax-label-size); font-weight: 700; letter-spacing: var(--ax-label-track); text-transform: uppercase; }
  .d-ax-price-fact dd { display: grid; gap: var(--ax-label-gap); margin: 0; font: 700 var(--step-base)/1.35 var(--font-display); overflow-wrap: anywhere; }
  .d-ax-price-note { color: var(--text-2); font: 400 var(--step-caption)/1.4 var(--font-body); }
  .ax-price-star { margin-inline-start: 0.08em; color: var(--accent-ink); font-size: 0.85em; font-weight: 700; vertical-align: 0.3em; line-height: 0; }
  .d-ax-price-value { overflow-wrap: anywhere; }
  .d-ax-footnote { margin: var(--space-s) 0 0; color: var(--text-2); font-size: var(--step-caption); line-height: 1.45; }
  .d-ax-policy { display: grid; gap: var(--space-2xs); margin: var(--space) 0 0; padding-block-start: var(--space); border-block-start: var(--ax-rule); }
  .d-ax-policy-title { margin: 0; color: color-mix(in srgb, var(--accent-ink) calc(var(--label-accent) * 100%), var(--text-2)); font-size: var(--ax-label-size); font-weight: 700; letter-spacing: var(--ax-label-track); text-transform: var(--label-case); }
  .d-ax-policy-text { max-inline-size: calc(var(--space) * 44); margin: 0; color: var(--text-2); font: 400 var(--step-caption)/1.5 var(--font-body); }
  .d-ax-price-link { margin: var(--space-2xs) 0 0; }
  .d-ax-price-link a { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; }
  .d-ax-price-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "note quote"; align-items: center; gap: 0 var(--space); margin-block-start: var(--space); padding-block-start: var(--space); border-block-start: var(--ax-rule); }
  .d-ax-quote { grid-area: quote; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: calc(var(--space) * 1.25); color: var(--accent-text); font-weight: 700; text-decoration: none; background: var(--accent); border-radius: var(--radius-pill); }
  .d-ax-quote .icon { inline-size: 1em; block-size: 1em; }
  .d-ax-quote:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-ax-quote-note { grid-area: note; margin: 0; color: var(--text-2); font-size: var(--step-small); }
  /* Variants and calls to action (App\BlockTrees, owner 2026-10-06): desktop = name | note grid list, one row of buttons. */
  .article-prose .ax-variants { margin-block: var(--ax-flow-wide); }
  .article-prose .ax-cta { margin-block: var(--ax-flow-wide); }
  .article-prose .ax-cta-intro { color: var(--text-2); }
  .d-ax-variants { display: grid; margin: 0; padding: 0; list-style: none; border-block-start: var(--ax-rule); }
  .d-ax-variant { display: grid; grid-template-columns: var(--ax-label-cols); grid-template-areas: "name note" "name sku"; column-gap: var(--ax-flow); align-items: start; margin: 0; padding-block: var(--space-s); border-block-end: var(--ax-rule); }
  .d-ax-variant:has(> .d-ax-variant-photo) { grid-template-columns: var(--ax-variant-cols); grid-template-areas: "photo name note" "photo name sku"; }
  .d-ax-variant-photo { grid-area: photo; inline-size: 100%; block-size: auto; border-radius: var(--ax-radius-inner); }
  .d-ax-variant-name { grid-area: name; margin: 0; color: var(--text); font-weight: 700; overflow-wrap: anywhere; }
  .d-ax-variant-link { color: var(--accent-ink); }
  .d-ax-variant-note { grid-area: note; margin: 0; color: var(--text-2); }
  .d-ax-variant-sku { grid-area: sku; margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-ax-variant-sku-label { font-weight: 700; text-transform: var(--label-case); letter-spacing: var(--ax-label-track); }
  .d-ax-cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ax-flow-tight); }
  .d-ax-cta-btn { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--ax-btn-pad); font-weight: 700; text-decoration: none; border-radius: var(--radius-pill); }
  .d-ax-cta-primary { color: var(--accent-text); background: var(--accent); }
  .d-ax-cta-secondary { color: var(--accent-ink); background: transparent; box-shadow: inset 0 0 0 var(--line) var(--border); }
  .d-ax-cta-icon { flex: none; inline-size: var(--icon); block-size: var(--icon); }
  .d-ax-cta-label { min-inline-size: 0; }
  .d-ax-cta-btn:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .article-prose .d-ax-variants { margin: 0; border-block: 0; border-block-start: var(--ax-rule); }
  .article-prose .d-ax-variants > li { margin: 0; padding: var(--space-s) 0; line-height: inherit; }
  .article-prose .d-ax-variants > li::before { content: none; }
  .article-prose .d-ax-variants > li + li { border-block-start: 0; }
  .article-prose .m-ax-variants { display: none; }
  .article-prose .m-ax-variants > li { display: none; }
  .article-prose .m-ax-variants > li::before { display: none; }
  .article-prose .m-ax-variants > li + li { display: none; }
  .m-ax-variants { display: none; }
  .m-ax-variant { display: none; }
  .m-ax-variant-photo { display: none; }
  .m-ax-variant-name { display: none; }
  .m-ax-variant-link { display: none; }
  .m-ax-variant-note { display: none; }
  .m-ax-variant-sku { display: none; }
  .m-ax-variant-sku-label { display: none; }
  .m-ax-cta { display: none; }
  .m-ax-cta-btn { display: none; }
  .m-ax-cta-primary { display: none; }
  .m-ax-cta-secondary { display: none; }
  .m-ax-cta-icon { display: none; }
  .m-ax-cta-label { display: none; }
  .m-ax-cta-btn:focus-visible { display: none; }
  .d-ax-reviews-panel { display: grid; grid-template-columns: var(--ax-label-cols); gap: var(--ax-flow); align-items: start; }
  .d-ax-rating { position: sticky; inset-block-start: calc(var(--tap) * 2.5); display: grid; gap: var(--space-s); }
  .d-ax-rating-value { margin: 0; font: 800 var(--step-4)/1 var(--font-display); }
  .d-ax-rating-best { color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-ax-rating-meta { display: grid; gap: var(--space-2xs); margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-ax-filters { display: grid; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-ax-filter { position: relative; display: grid; margin: 0; grid-template-columns: calc(var(--space) * 2.5) minmax(0, 1fr) calc(var(--space) * 1.5); align-items: center; gap: var(--space-s); min-block-size: var(--tap); padding-inline: var(--space-s); font-size: var(--step-small); border-radius: var(--radius); cursor: pointer; }
  .d-ax-filter-all { grid-template-columns: minmax(0, 1fr); font-weight: 600; }
  .d-ax-filter input { position: absolute; inline-size: var(--line); block-size: var(--line); margin: 0; opacity: 0; }
  .d-ax-filter:has(input:checked) { color: var(--accent-ink); background: var(--accent-soft); }
  .d-ax-filter:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-ax-filter:has(input:disabled) { opacity: 0.45; cursor: default; }
  .d-ax-filter-star { font-weight: 600; white-space: nowrap; }
  .d-ax-filter-count { color: var(--text-2); font-size: var(--step-caption); text-align: end; }
  .d-ax-bar { inline-size: 100%; block-size: calc(var(--space-xs) * 2); appearance: none; background: var(--fill); border: 0; border-radius: var(--radius-pill); overflow: hidden; }
  .d-ax-bar::-webkit-meter-bar { block-size: calc(var(--space-xs) * 2); background: var(--fill); border: 0; border-radius: var(--radius-pill); }
  .d-ax-bar::-webkit-meter-optimum-value { background: var(--accent); border-radius: var(--radius-pill); }
  .d-ax-bar::-moz-meter-bar { background: var(--accent); border-radius: var(--radius-pill); }
  .d-ax-review-area { display: grid; gap: var(--space-s); }
  .d-ax-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-ax-review { display: grid; align-content: start; gap: var(--space-xs); padding: var(--ax-pad); background: var(--bg); border-radius: var(--radius); }
  .d-ax-review[data-extra] { display: none; }
  .d-ax-review-area:has(.d-ax-more-input:checked) .d-ax-review[data-extra] { display: grid; }
  .d-ax-reviews-panel:has(.d-ax-filters input:not([value="all"]):checked) .d-ax-review[data-extra] { display: grid; }
  .d-ax-reviews-panel:has(.d-ax-filters input:not([value="all"]):checked) .d-ax-more { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="1"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="1"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="2"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="2"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="3"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="3"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="4"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="4"]) { display: none; }
  .d-ax-reviews-panel:has(.d-ax-filters input[value="5"]:checked) .d-ax-review-list > .d-ax-review:not([data-stars="5"]) { display: none; }
  .d-ax-review-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  .d-ax-review-score { font-size: var(--step-small); font-weight: 700; }
  .d-ax-review-body { margin: 0; }
  .d-ax-review-body p { margin: 0; line-height: 1.55; }
  .d-ax-review-by { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-s); margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-ax-review-author { color: var(--text); font-weight: 600; }
  .d-ax-review-date { color: var(--text-2); }
  .d-ax-more { position: relative; display: flex; margin: 0; align-items: center; justify-content: center; min-block-size: var(--tap); color: var(--accent-ink); font-weight: 600; border: var(--ax-frame); border-radius: var(--radius-pill); cursor: pointer; justify-self: start; padding-inline: var(--space-m); }
  .d-ax-more-input { position: absolute; inline-size: var(--line); block-size: var(--line); margin: 0; opacity: 0; }
  .d-ax-more:has(input:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-ax-more-hide { display: none; }
  .d-ax-more:has(input:checked) .d-ax-more-show { display: none; }
  .d-ax-more:has(input:checked) .d-ax-more-hide { display: inline; }
  .d-ax-filter:hover { background: var(--fill); }
  .m-ax-price { display: none; }
  .m-ax-reviews { display: none; }
  .m-ax-summary { display: none; }
  .m-ax-summary-title { display: none; }
  .m-ax-badges { display: none; }
  .m-ax-summary::-webkit-details-marker { display: none; }
  .m-ax-summary:focus-visible { display: none; }
  .m-ax-badge { display: none; }
  .m-ax-badge-rating { display: none; }
  .m-ax-chevron { display: none; }
  .m-ax-price[open] .m-ax-chevron { display: none; }
  .m-ax-reviews[open] .m-ax-chevron { display: none; }
  .m-ax-panel { display: none; }
  .m-ax-price-list { display: none; }
  .m-ax-price-fact { display: none; }
  .m-ax-price-fact:last-child { display: none; }
  .m-ax-price-fact dt { display: none; }
  .m-ax-price-fact dd { display: none; }
  .m-ax-price-note { display: none; }
  .m-ax-price-value { display: none; }
  .m-ax-footnote { display: none; }
  .m-ax-policy { display: none; }
  .m-ax-policy-title { display: none; }
  .m-ax-policy-text { display: none; }
  .m-ax-price-link { display: none; }
  .m-ax-price-link a { display: none; }
  .m-ax-price-actions { display: none; }
  .m-ax-quote { display: none; }
  .m-ax-quote .icon { display: none; }
  .m-ax-quote:focus-visible { display: none; }
  .m-ax-quote-note { display: none; }
  .m-ax-reviews-panel { display: none; }
  .m-ax-rating { display: none; }
  .m-ax-rating-value { display: none; }
  .m-ax-rating-best { display: none; }
  .m-ax-rating-meta { display: none; }
  .m-ax-filters { display: none; }
  .m-ax-filter { display: none; }
  .m-ax-filter-all { display: none; }
  .m-ax-filter input { display: none; }
  .m-ax-filter:has(input:checked) { display: none; }
  .m-ax-filter:has(input:focus-visible) { display: none; }
  .m-ax-filter:has(input:disabled) { display: none; }
  .m-ax-filter-star { display: none; }
  .m-ax-filter-count { display: none; }
  .m-ax-bar { display: none; }
  .m-ax-bar::-webkit-meter-bar { display: none; }
  .m-ax-bar::-webkit-meter-optimum-value { display: none; }
  .m-ax-bar::-moz-meter-bar { display: none; }
  .m-ax-review-area { display: none; }
  .m-ax-review-list { display: none; }
  .m-ax-review { display: none; }
  .m-ax-review[data-extra] { display: none; }
  .m-ax-review-area:has(.m-ax-more-input:checked) .m-ax-review[data-extra] { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input:not([value="all"]):checked) .m-ax-review[data-extra] { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input:not([value="all"]):checked) .m-ax-more { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="1"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="1"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="2"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="2"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="3"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="3"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="4"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="4"]) { display: none; }
  .m-ax-reviews-panel:has(.m-ax-filters input[value="5"]:checked) .m-ax-review-list > .m-ax-review:not([data-stars="5"]) { display: none; }
  .m-ax-review-head { display: none; }
  .m-ax-review-score { display: none; }
  .m-ax-review-body { display: none; }
  .m-ax-review-body p { display: none; }
  .m-ax-review-by { display: none; }
  .m-ax-review-author { display: none; }
  .m-ax-review-date { display: none; }
  .m-ax-more { display: none; }
  .m-ax-more-input { display: none; }
  .m-ax-more:has(input:focus-visible) { display: none; }
  .m-ax-more-hide { display: none; }
  .m-ax-more:has(input:checked) .m-ax-more-show { display: none; }
  .m-ax-more:has(input:checked) .m-ax-more-hide { display: none; }
  /* ===== Article system, DESKTOP rendering (Rule 27) - datasheet tables, label | value grids, actions in a row ===== */
  .article-prose > * + .ax-callout, .article-prose > * + .ax-quote, .article-prose > * + .ax-faq { margin-block-start: var(--ax-flow-wide); }
  .article-prose .ax-callout { gap: var(--ax-flow-tight); margin-block: var(--ax-flow-wide); padding: var(--ax-pad) var(--ax-pad-wide); border-radius: var(--ax-radius); box-shadow: inset 0 0 0 var(--line) var(--separator); }
  .article-prose .ax-callout p { margin: 0; }
  .article-prose .ax-callout ul { display: grid; margin: 0; padding: 0; border-block: 0; column-gap: var(--ax-flow); }
  .article-prose .ax-callout ul > li { padding-block: var(--ax-flow-tight); padding-inline-start: var(--space-m); }
  .article-prose .ax-callout ul > li + li { border-block-start: var(--ax-rule); }
  .article-prose .ax-callout ul:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-prose .ax-callout ul:has(> li:nth-child(4)) > li:nth-child(2) { border-block-start: 0; } /* two columns: each column starts without a rule */
  .article-prose .ax-quote { margin-block: var(--ax-flow-wide); padding: var(--ax-pad-wide); font-size: var(--step-1); border-radius: var(--ax-radius); }
  .article-prose .ax-quote::before { content: "\201C"; display: block; block-size: calc(var(--ax-quote-mark) * 0.55); color: var(--accent-ink); font: 700 var(--ax-quote-mark)/1 var(--font-display); }
  .article-prose .ax-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ax-flow-tight); margin-block: var(--ax-flow-wide); }
  .article-prose .ax-actions .ax-btn { inline-size: auto; padding-inline: var(--ax-btn-pad); }
  .article-prose .ax-btn-secondary { color: var(--accent-ink); background: transparent; border: 0; box-shadow: inset 0 0 0 var(--line) var(--border); }
  .article-prose ul > li:has(> strong:first-child) { display: grid; grid-template-columns: var(--ax-label-cols); align-items: baseline; column-gap: var(--ax-flow); padding-inline-start: 0; }
  .article-prose ul > li:has(> strong:first-child)::before { content: none; }
  .article-prose ul > li:has(> strong:first-child) > strong:first-child { display: block; margin-block-end: 0; color: var(--text-2); font-size: var(--ax-label-size); font-weight: 700; letter-spacing: var(--ax-label-track); text-transform: uppercase; }
  .article-prose .ax-faq { margin-block: var(--ax-flow-wide); }
  .article-prose .ax-faq-q h3 { margin: 0; font-size: var(--step-1); line-height: 1.3; }
  .article-prose .ax-faq-a p { margin-block: 0 var(--ax-flow-tight); max-inline-size: calc(var(--prose-max) * 0.9); }
  .article-prose .m-spec { display: none; }
  .article-prose .m-spec-row { display: none; }
  .article-prose .m-spec-row:nth-child(even) { display: none; }
  .article-prose .m-spec-row dt { display: none; }
  .article-prose .m-spec-row dd { display: none; }
  .article-prose .d-spec-table tbody tr:nth-child(even) { background: var(--ax-zebra); }
  .article-prose .d-spec-table td { font-weight: 600; vertical-align: baseline; }
  .article-prose .d-spec-table th[scope="row"] { inline-size: var(--ax-label-share); vertical-align: baseline; }

  /* Admin -> Menus, rebuilt 2026-10-05 (list + detail) + Admin -> Icons (docs/audit/MENU-SYSTEM-AUDIT-2026-10-05.md) */
  .d-mn-listcard { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-mn-list-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space); }
  a.d-mn-add { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); padding: 0 var(--space-s); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 700; text-decoration: none; white-space: nowrap; }
  a.d-mn-edit { display: inline-flex; align-items: center; justify-content: center; grid-column: -2 / -1; min-block-size: var(--mn-control); padding: 0 var(--space-s); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font-weight: 600; text-decoration: none; }
  a.d-mn-edit[aria-current="true"] { background: var(--accent); color: var(--accent-text); }
  .d-mn-kind { margin-inline-end: var(--space-xs); padding: 0 var(--space-2xs); border-radius: var(--radius); background: var(--surface); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; }
  .d-mn-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: calc(var(--space-2xs) * 0.5) var(--space-xs); border-radius: var(--radius-pill); font-size: var(--step-tiny); font-weight: 700; white-space: nowrap; }
  .d-mn-chip .icon { inline-size: 1em; block-size: 1em; }
  .d-mn-chip.is-problem { background: var(--error-bg); color: var(--error); }
  .d-mn-chip.is-todo { background: var(--info-bg); color: var(--info); }
  .d-mn-chip.is-quiet { background: var(--surface); color: var(--text-2); font-weight: 600; }
  .d-mn-row { grid-template-columns: auto auto minmax(0, 1fr) auto; }
  .d-mn-row-text .d-mn-row-where { display: flex; align-items: center; min-inline-size: 0; }
  .d-mn-row-addr { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-inline-size: 0; }
  .d-mn-row-text .d-mn-badges { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); margin-inline-start: var(--space-xs); flex: none; }
  .d-mn-grid:not(.is-editing) .d-mn-side { order: -1; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
  .d-mn-grid.is-editing .d-mn-row .d-mn-move { display: none; }
  .m-mn-row-addr { display: none; }
  a.m-mn-row .m-mn-row-where { display: none; }
  .d-mn-row-text > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-mn-row-actions > .d-mn-move.is-up { grid-column: 1; }
  .d-mn-row-actions > .d-mn-move.is-down { grid-column: 2; }
  .d-mn-row-actions > .d-mn-move.is-out, .d-mn-row-actions > .d-mn-move.is-in { grid-column: 3; }
  .d-mn-item.is-group > .d-mn-row button.d-mn-iconbtn { background: var(--fill); }
  .d-mn-grid.is-editing .d-mn-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .d-mn-grid.is-editing .d-mn-handle { display: none; }
  .d-mn-grid.is-editing .d-mn-children { padding-inline-start: var(--mn-indent-tight); }
  .d-mn-grid.is-editing .d-mn-row-actions { grid-template-columns: auto; }
  button.d-mn-linkbtn { inline-size: auto; min-block-size: var(--mn-control); margin: 0; padding: 0 var(--space-s); background: var(--accent-soft); color: var(--accent-ink); font-size: var(--step-small); }
  button.d-mn-linkbtn[type="submit"] { background: var(--accent); color: var(--accent-text); }
  a.m-mn-row .m-mn-row-text > strong { display: none; }
  button.m-mn-linkbtn { display: none; }
  button.m-mn-linkbtn[type="submit"] { display: none; }
  .d-mn-item.is-current > .d-mn-row { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--accent); }
  .d-mn-allgood { display: flex; align-items: center; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius-l); background: var(--surface); color: var(--ok); font-weight: 600; font-size: var(--step-small); }
  .d-mn-allgood .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-mn-health { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
  .d-mn-health-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); padding-block: var(--space-xs); border-block-start: var(--line) solid var(--separator); }
  .d-mn-health-text { display: grid; gap: calc(var(--space-2xs) * 0.5); font-size: var(--step-small); color: var(--text-2); overflow-wrap: anywhere; }
  .d-mn-health-text strong { color: var(--text); }
  .d-mn-health-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
  .d-mn-fix { margin: 0; display: contents; }
  .d-mn-linkbtn { display: inline-flex; align-items: center; flex: none; max-inline-size: 100%; min-block-size: var(--mn-control); margin: 0; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; }
  .d-mn-grid { grid-template-columns: minmax(0, 1fr); }
  .d-mn-grid.is-editing { grid-template-columns: minmax(0, 1fr) minmax(0, var(--mn-editor-w)); }
  .d-mn-side { display: grid; gap: var(--space-s); align-content: start; min-inline-size: 0; }
  .d-mn-back { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; text-decoration: none; }
  .d-mn-back .icon { inline-size: 1em; block-size: 1em; transform: rotate(180deg); scale: var(--dir) 1; }
  .d-mn-editor-title { margin: 0; font-size: var(--step-1); overflow-wrap: anywhere; }
  .d-mn-editor .d-mn-editor-head { grid-template-columns: minmax(0, 1fr); justify-items: start; gap: var(--space-2xs); }
  .m-mn-editor .m-mn-editor-head { display: none; }
  .d-mn-form { display: grid; gap: var(--space-s); margin: 0; }
  .d-mn-actions { position: sticky; inset-block-end: 0; display: flex; gap: var(--space-xs); padding-block: var(--space-xs); background: var(--surface); }
  .d-mn-actions .d-mn-secondary { display: inline-flex; align-items: center; min-block-size: var(--control); padding: 0 var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-weight: 600; text-decoration: none; }
  .d-mn-position { display: grid; gap: var(--space-xs); }
  .d-mn-position-moves { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-mn-danger-zone button.d-mn-danger { background: var(--surface); }
  .m-mn-position-moves > .m-mn-move.is-out, .m-mn-position-moves > .m-mn-move.is-in { display: none; }
  .m-mn-danger-zone button.m-mn-danger { display: none; }
  button.d-mn-iconbtn.has-text { display: inline-flex; align-items: center; inline-size: auto; block-size: auto; min-block-size: var(--mn-control); gap: var(--space-xs); padding-inline: var(--space-s); background: var(--fill); font: inherit; font-size: var(--step-small); font-weight: 600; }
  .d-mn-find { position: relative; }
  .d-mn-find-box { position: relative; display: grid; min-inline-size: 0; }
  .d-mn-find-list { position: absolute; inset-inline: 0; inset-block-start: calc(100% + var(--space-2xs)); z-index: 5; display: grid; margin: 0; padding: var(--space-2xs); list-style: none; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); max-block-size: calc(var(--control) * 9); overflow-y: auto; }
  .d-mn-find-option { display: grid; grid-template-columns: calc(var(--space-xl) * 1.6) minmax(0, 1fr); align-items: center; gap: var(--space-xs); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); cursor: pointer; }
  .d-mn-find-option[aria-selected="true"] { background: var(--accent-soft); color: var(--accent-ink); }
  .d-mn-find-kind { justify-self: start; padding: 0 var(--space-2xs); border-radius: var(--radius); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; }
  .d-mn-find-text { display: grid; min-inline-size: 0; font-size: var(--step-small); }
  .d-mn-find-text strong { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-mn-find-text span:last-child { color: var(--text-2); font-size: var(--step-tiny); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-mn-find-typed { font-weight: 400; }
  .d-mn-icon-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); }
  .d-mn-icon-manage { color: var(--accent-ink); font-size: var(--step-small); font-weight: 600; }
  .d-mn-icon-group { margin: var(--space-xs) 0 0; color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
  .d-mn-icons { grid-template-columns: repeat(auto-fill, minmax(calc(var(--control) * 1.8), 1fr)); }
  .d-mn-icon-choice { aspect-ratio: auto; gap: calc(var(--space-2xs) * 0.5); min-block-size: calc(var(--control) * 1.7); padding: var(--space-2xs); }
  .d-mn-icon-name { max-inline-size: 100%; font-size: var(--step-tiny); line-height: 1.15; text-align: center; color: var(--text-2); overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
  .d-ic { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space); align-items: start; }
  .d-ic-add { position: sticky; inset-block-start: calc(var(--space-xl) * 2); display: grid; gap: var(--space-s); }
  .d-ic-library { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-ic-form { display: grid; gap: var(--space-s); margin: 0; }
  .d-ic-field { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-ic-label { margin: 0; padding: 0; font-weight: 600; font-size: var(--step-small); color: var(--text-2); }
  .d-ic-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-ic-code { inline-size: 100%; min-inline-size: 0; padding: var(--space-xs); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: var(--step-small)/1.4 ui-monospace, monospace; resize: vertical; }
  .d-ic-file { display: inline-flex; align-items: center; gap: var(--space-xs); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .d-ic-file input { font-size: var(--step-small); }
  .d-ic-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--space-s); }
  .d-ic-input { min-block-size: var(--field-h); inline-size: 100%; min-inline-size: 0; padding-inline: var(--space-s); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; }
  .d-ic-result { display: grid; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-ic-result.is-ok { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--ok); }
  .d-ic-result.is-problem { box-shadow: inset 0 0 0 calc(var(--line) * 2) var(--error); }
  .d-ic-preview { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }
  .d-ic-size { display: grid; place-items: center; border-radius: var(--radius); background: var(--surface); color: var(--text); }
  .d-ic-size.is-s { inline-size: var(--control); block-size: var(--control); }
  .d-ic-size.is-m { inline-size: calc(var(--control) * 1.5); block-size: calc(var(--control) * 1.5); }
  .d-ic-size.is-l { inline-size: calc(var(--control) * 2.2); block-size: calc(var(--control) * 2.2); }
  .d-ic-size.is-m .icon { inline-size: calc(var(--icon) * 1.5); block-size: calc(var(--icon) * 1.5); }
  .d-ic-size.is-l .icon { inline-size: calc(var(--icon) * 2.6); block-size: calc(var(--icon) * 2.6); }
  .d-ic-inrow { display: inline-flex; align-items: center; gap: var(--space-xs); font-weight: 600; }
  .d-ic-meta { margin: 0; color: var(--text-2); font-size: var(--step-tiny); }
  .d-ic-problem { display: flex; gap: var(--space-xs); margin: 0; color: var(--error); font-size: var(--step-small); font-weight: 600; overflow-wrap: anywhere; }
  .d-ic-note { margin: 0; color: var(--info); font-size: var(--step-small); }
  .d-ic-good { display: flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--ok); font-weight: 700; }
  .d-ic-problem .icon, .d-ic-good .icon { inline-size: 1.1em; block-size: 1.1em; flex: none; }
  .d-ic-actions { display: flex; gap: var(--space-xs); }
  .d-ic-primary, .d-ic-secondary, .d-ic-danger { min-block-size: var(--control); margin: 0; padding: 0 var(--space); border: 0; border-radius: var(--radius-pill); font: inherit; font-weight: 700; cursor: pointer; }
  .d-ic-primary { background: var(--accent); color: var(--accent-text); }
  .d-ic-secondary { background: var(--fill); color: var(--text); }
  .d-ic-danger { background: var(--error-bg); color: var(--error); }
  .d-ic-delete { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: var(--space-xs) 0 0; }
  .d-ic-toggle { display: flex; align-items: center; gap: var(--space-xs); font-size: var(--step-small); }
  .d-ic-tools { display: grid; max-inline-size: calc(var(--measure) * 0.7); }
  .d-ic-group { display: grid; gap: var(--space-xs); }
  .d-ic-group-title { margin: var(--space-xs) 0 0; font-size: var(--step-small); color: var(--text-2); text-transform: uppercase; letter-spacing: 0.04em; }
  .d-ic-count { padding: 0 var(--space-2xs); border-radius: var(--radius-pill); background: var(--fill); }
  .d-ic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--space-xl) * 4.5), 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-ic-tile { display: grid; min-inline-size: 0; }
  .d-ic-more { display: grid; }
  .d-ic-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-xs); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-l); background: var(--fill); cursor: pointer; list-style: none; }
  .d-ic-summary::-webkit-details-marker { display: none; }
  .d-ic-glyph { display: grid; place-items: center; inline-size: calc(var(--control) * 1.1); block-size: calc(var(--control) * 1.1); border-radius: var(--radius); background: var(--surface); }
  .d-ic-text { display: grid; min-inline-size: 0; font-size: var(--step-small); }
  .d-ic-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-ic-text code { color: var(--text-2); font-size: var(--step-tiny); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-ic-uses { color: var(--text-2); font-size: var(--step-tiny); }
  .m-mn-listcard { display: none; }
  .m-mn-list-head { display: none; }
  a.m-mn-add { display: none; }
  a.m-mn-row { display: none; }
  a.m-mn-row:focus-visible { display: none; }
  .m-mn-item.is-off > a.m-mn-row { display: none; }
  .m-mn-item.is-group > a.m-mn-row { display: none; }
  .m-mn-row-go { display: none; }
  a.m-mn-row .m-mn-badges { display: none; }
  .m-mn-kind { display: none; }
  .m-mn-chip { display: none; }
  .m-mn-chip .icon { display: none; }
  .m-mn-chip.is-problem { display: none; }
  .m-mn-chip.is-todo { display: none; }
  .m-mn-chip.is-quiet { display: none; }
  .m-mn-allgood { display: none; }
  .m-mn-allgood .icon { display: none; }
  .m-mn-health { display: none; }
  .m-mn-health-item { display: none; }
  .m-mn-health-text { display: none; }
  .m-mn-health-text strong { display: none; }
  .m-mn-health-actions { display: none; }
  .m-mn-fix { display: none; }
  .m-mn-linkbtn { display: none; }
  .m-mn-side { display: none; }
  .m-mn-grid { display: none; }
  .m-mn-back { display: none; }
  .m-mn-back .icon { display: none; }
  .m-mn-editor-title { display: none; }
  .m-mn-form { display: none; }
  .m-mn-actions { display: none; }
  .m-mn-actions .m-mn-secondary { display: none; }
  .m-mn-position { display: none; }
  .m-mn-position-moves { display: none; }
  button.m-mn-iconbtn.has-text { display: none; }
  .m-mn-find { display: none; }
  .m-mn-find-box { display: none; }
  .m-mn-find-list { display: none; }
  .m-mn-find-option { display: none; }
  .m-mn-find-option[aria-selected="true"] { display: none; }
  .m-mn-find-kind { display: none; }
  .m-mn-find-text { display: none; }
  .m-mn-find-text strong { display: none; }
  .m-mn-find-text span:last-child { display: none; }
  .m-mn-find-typed { display: none; }
  .m-mn-icon-tools { display: none; }
  .m-mn-icon-manage { display: none; }
  .m-mn-icon-group { display: none; }
  .m-mn-icon-name { display: none; }
  .m-ic { display: none; }
  .m-ic-add { display: none; }
  .m-ic-library { display: none; }
  .m-ic-form { display: none; }
  .m-ic-field { display: none; }
  .m-ic-label { display: none; }
  .m-ic-hint { display: none; }
  .m-ic-code { display: none; }
  .m-ic-file { display: none; }
  .m-ic-file input { display: none; }
  .m-ic-pair { display: none; }
  .m-ic-input { display: none; }
  .m-ic-result { display: none; }
  .m-ic-result.is-ok { display: none; }
  .m-ic-result.is-problem { display: none; }
  .m-ic-preview { display: none; }
  .m-ic-size { display: none; }
  .m-ic-size.is-s { display: none; }
  .m-ic-size.is-m { display: none; }
  .m-ic-size.is-l { display: none; }
  .m-ic-size.is-m .icon { display: none; }
  .m-ic-size.is-l .icon { display: none; }
  .m-ic-inrow { display: none; }
  .m-ic-meta { display: none; }
  .m-ic-problem { display: none; }
  .m-ic-note { display: none; }
  .m-ic-good { display: none; }
  .m-ic-problem .icon, .m-ic-good .icon { display: none; }
  .m-ic-actions { display: none; }
  .m-ic-primary, .m-ic-secondary, .m-ic-danger { display: none; }
  .m-ic-primary { display: none; }
  .m-ic-secondary { display: none; }
  .m-ic-danger { display: none; }
  .m-ic-delete { display: none; }
  .m-ic-toggle { display: none; }
  .m-ic-tools { display: none; }
  .m-ic-group { display: none; }
  .m-ic-group-title { display: none; }
  .m-ic-count { display: none; }
  .m-ic-grid { display: none; }
  .m-ic-tile { display: none; }
  .m-ic-more { display: none; }
  .m-ic-summary { display: none; }
  .m-ic-summary::-webkit-details-marker { display: none; }
  .m-ic-glyph { display: none; }
  .m-ic-text { display: none; }
  .m-ic-text code { display: none; }
  .m-ic-uses { display: none; }

  /* Admin -> Head code (2026-10-05, redesigned): summary, decisions, codes with their sites, verification, aside */
  .d-hc { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space); }
  .d-hc-main { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-hc-aside { position: sticky; inset-block-start: var(--space); display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-hc-aside .d-ic-pair { grid-template-columns: minmax(0, 1fr); }
  .d-hc-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-hc-ask { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); background: var(--fill); font-size: var(--step-small); }
  .d-hc-code-grid { display: grid; gap: var(--space-s); }
  .d-hc-mini { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); margin: 0; }
  .d-hc-mini.is-row { flex-wrap: nowrap; max-inline-size: var(--field-max); }
  .d-hc-h2 { margin: 0; font-size: var(--step-1); line-height: 1.25; }
  .d-hc-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-hc-summary li { display: grid; align-content: start; gap: 0; min-inline-size: 0; padding: var(--space-xs) var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius); background: var(--surface); }
  .d-hc-summary strong { font-size: var(--step-2); line-height: 1.1; font-variant-numeric: tabular-nums; }
  .d-hc-summary span { color: var(--text-2); font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-hc-summary li.is-todo { border-color: var(--accent-line); background: var(--accent-soft); }
  .d-hc-summary li.is-done strong { color: var(--ok); }
  .d-hc-decide { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .d-hc-asks { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-hc-ask form { margin: 0; }
  .d-hc-ask-text { display: grid; gap: 0; min-inline-size: 0; overflow-wrap: anywhere; }
  .d-hc-ask-text span { color: var(--text-2); font-size: var(--step-tiny); }
  .d-hc-codes { display: grid; gap: var(--space-xs); min-inline-size: 0; margin: 0; }
  .d-hc-facts { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .d-hc-label { margin: 0; color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; letter-spacing: var(--label-track); }
  .d-hc-label label { color: inherit; font: inherit; }
  .d-hc-addr { margin: 0 0 var(--space-2xs); font-size: var(--step-small); overflow-wrap: anywhere; word-break: break-all; }
  .d-hc-mini.is-stack { display: grid; align-items: stretch; }
  .d-hc-select { min-block-size: var(--control); flex: 1 1 0; min-inline-size: 0; padding: 0 var(--space-xs); border: var(--line) solid var(--field-border); border-radius: var(--radius); background: var(--field-bg); color: var(--text); font: inherit; font-size: var(--step-small); }
  button.d-hc-btn { min-block-size: var(--control); flex: none; margin: 0; padding: 0 var(--space-s); border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  button.d-hc-btn:hover { background: var(--fill); }
  button.d-hc-btn.is-primary { border-color: var(--accent); background: var(--accent); color: var(--accent-text); }
  button.d-hc-btn.is-danger { border-color: var(--error); background: var(--surface); color: var(--error); }
  button.d-hc-btn.is-on { border-color: transparent; background: var(--ok-bg); color: var(--ok); }
  .d-hc-sites-box { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; }
  .d-hc-sites { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-hc-site { display: grid; gap: 0; min-inline-size: 0; padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius); background: var(--fill); }
  .d-hc-site-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); min-inline-size: 0; }
  .d-hc-site-name { font-size: var(--step-small); font-weight: 600; overflow-wrap: anywhere; }
  .d-hc-role { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-2); font-size: var(--step-tiny); font-weight: 700; }
  .d-hc-role.is-main { background: var(--accent-soft); color: var(--accent-ink); }
  .d-hc-allowed { margin: 0; color: var(--text-2); font-size: var(--step-tiny); overflow-wrap: anywhere; }
  .d-hc-shared { margin: 0; color: var(--text-2); font-size: var(--step-tiny); font-style: italic; overflow-wrap: anywhere; }
  .d-hc-change { margin: 0; }
  .d-hc-change-sum { inline-size: fit-content; color: var(--accent-ink); font-size: var(--step-tiny); font-weight: 600; cursor: pointer; }
  .d-hc-sws { display: grid; margin: 0; padding: 0; list-style: none; }
  .d-hc-sw { margin: 0; border-block-end: var(--line) solid var(--separator); }
  .d-hc-sw form { margin: 0; }
  button.d-hc-sw-btn { min-block-size: var(--control); display: flex; justify-content: space-between; align-items: center; gap: var(--space-xs); inline-size: 100%; margin: 0; padding: 0; border: 0; background: none; color: var(--text); font: inherit; font-size: var(--step-small); text-align: start; cursor: pointer; }
  button.d-hc-sw-btn:disabled { opacity: 0.4; cursor: default; }
  .d-hc-sw-text { display: grid; min-inline-size: 0; overflow-wrap: anywhere; }
  .d-hc-sw-name { font-weight: 600; }
  .d-hc-sw-why { color: var(--text-2); font-size: var(--step-tiny); }
  .d-hc-sw-track { position: relative; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); border-radius: var(--radius-pill); background: var(--switch-off); transition: background var(--dur-fast) var(--ease-out); }
  .d-hc-sw-thumb { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  .d-hc-sw.is-on .d-hc-sw-track { background: var(--switch-on); }
  .d-hc-sw.is-on .d-hc-sw-thumb { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  .d-hc-danger { margin-block-start: var(--space-xs); padding-block-start: var(--space-2xs); border-block-start: var(--line) solid var(--separator); }
  .d-hc-danger-sum { inline-size: fit-content; color: var(--text-2); font-size: var(--step-tiny); font-weight: 600; cursor: pointer; }
  .d-hc-check { display: flex; align-items: center; gap: var(--space-2xs); font-size: var(--step-small); }
  .d-hc-verify { display: grid; gap: var(--space-xs); min-inline-size: 0; }
  .d-hc-vlist { display: grid; margin: 0; padding: 0; list-style: none; }
  .d-hc-vrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); border-block-end: var(--line) solid var(--separator); padding-block: var(--space-2xs); }
  .d-hc-vrow:last-child { border-block-end: 0; }
  .d-hc-vrow form { margin: 0; }
  .d-hc-vrow.is-off .d-hc-vtext { opacity: 0.6; }
  .d-hc-vtext { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--space-xs); min-inline-size: 0; font-size: var(--step-small); overflow-wrap: anywhere; }
  .d-hc-vtext code { color: var(--text-2); font-size: var(--step-tiny); }
  .d-hc-add { display: grid; gap: var(--space-s); min-inline-size: 0; }
  .d-hc-known { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: var(--space-2xs) 0 0; padding: 0; list-style: none; }
  .d-hc-known li { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-tiny); }

  .m-hc { display: none; }
  .m-hc-summary { display: none; }
  .m-hc-ask { display: none; }
  .m-hc-code-grid { display: none; }
  .m-hc-mini { display: none; }
  .m-hc-mini.is-row { display: none; }
  .m-hc-h2 { display: none; }
  .m-hc-hint { display: none; }
  .m-hc-summary li { display: none; }
  .m-hc-summary strong { display: none; }
  .m-hc-summary span { display: none; }
  .m-hc-summary li.is-todo { display: none; }
  .m-hc-summary li.is-done strong { display: none; }
  .m-hc-decide { display: none; }
  .m-hc-asks { display: none; }
  .m-hc-ask form { display: none; }
  .m-hc-ask-text { display: none; }
  .m-hc-ask-text span { display: none; }
  .m-hc-codes { display: none; }
  .m-hc-facts { display: none; }
  .m-hc-label { display: none; }
  .m-hc-label label { display: none; }
  .m-hc-addr { display: none; }
  .m-hc-mini.is-stack { display: none; }
  .m-hc-select { display: none; }
  button.m-hc-btn { display: none; }
  button.m-hc-btn:hover { display: none; }
  button.m-hc-btn.is-primary { display: none; }
  button.m-hc-btn.is-danger { display: none; }
  button.m-hc-btn.is-on { display: none; }
  .m-hc-sites-box { display: none; }
  .m-hc-sites { display: none; }
  .m-hc-site { display: none; }
  .m-hc-site-head { display: none; }
  .m-hc-site-name { display: none; }
  .m-hc-role { display: none; }
  .m-hc-role.is-main { display: none; }
  .m-hc-allowed { display: none; }
  .m-hc-shared { display: none; }
  .m-hc-change { display: none; }
  .m-hc-change-sum { display: none; }
  .m-hc-sws { display: none; }
  .m-hc-sw { display: none; }
  .m-hc-sw form { display: none; }
  button.m-hc-sw-btn { display: none; }
  button.m-hc-sw-btn:disabled { display: none; }
  .m-hc-sw-text { display: none; }
  .m-hc-sw-name { display: none; }
  .m-hc-sw-why { display: none; }
  .m-hc-sw-track { display: none; }
  .m-hc-sw-thumb { display: none; }
  .m-hc-sw.is-on .m-hc-sw-track { display: none; }
  .m-hc-sw.is-on .m-hc-sw-thumb { display: none; }
  .m-hc-danger { display: none; }
  .m-hc-danger-sum { display: none; }
  .m-hc-check { display: none; }
  .m-hc-verify { display: none; }
  .m-hc-vlist { display: none; }
  .m-hc-vrow { display: none; }
  .m-hc-vrow:last-child { display: none; }
  .m-hc-vrow form { display: none; }
  .m-hc-vrow.is-off .m-hc-vtext { display: none; }
  .m-hc-vtext { display: none; }
  .m-hc-vtext code { display: none; }
  .m-hc-add { display: none; }
  .m-hc-known { display: none; }
  .m-hc-known li { display: none; }

  /* ---- Languages (App\Lang): the switch, mirrored icons, Arabic script --------------------------------- */
  .m-lang { display: none; }
  .m-lang-opt { display: none; }
  .m-lang-opt[aria-current="true"] { display: none; }
  .m-lang-opt:focus-visible { display: none; }
  .d-lang { display: inline-grid; grid-auto-flow: column; gap: var(--segment-pad); margin-inline-start: var(--space-xs); padding: var(--segment-pad); border-radius: var(--radius-pill); background: var(--fill); }
  .d-lang-opt { display: inline-flex; align-items: center; min-block-size: calc(var(--tap) - var(--segment-pad) * 2); padding-inline: var(--space-s); border-radius: var(--radius-pill); color: var(--text-2); font-size: var(--step-small); font-weight: 600; text-decoration: none; white-space: nowrap; transition: background var(--dur-fast), color var(--dur-fast); }
  .d-lang-opt[aria-current="true"] { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .d-lang-opt:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .is-mirror { scale: var(--dir) 1; }
  body:lang(ar) { line-height: 1.8; }
  .article-prose:lang(ar) :is(p, li, dd, blockquote) { line-height: 1.9; }
  :lang(ar) :is(em, i, cite) { font-style: normal; }
  :lang(ar), :lang(ar)::before, :lang(ar)::after { letter-spacing: 0 !important; }
  :root[dir="rtl"] :is(p, h1, h2, h3, h4, h5, h6, li, dt, dd, figcaption, blockquote, summary, legend, label, .brand-name, .sheet-title):not([dir]) { unicode-bidi: plaintext; }

  /* ---- Home sections understood from WordPress (home_section.php): desktop tree d-hs-*; m-hs-* hidden ---- */
  .m-hs-title { display: none; }
  .d-hs-title { margin: 0 0 var(--space-s); font: 700 var(--step-3)/1.15 var(--font-display); text-wrap: balance; }
  .m-hs-lead { display: none; }
  .d-hs-lead { max-inline-size: var(--hs-lead); color: var(--text-2); }
  .m-hs-button { display: none; }
  .d-hs-button { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-m); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 600; text-decoration: none; }
  .m-hs-feature { display: none; }
  .m-hs-feature-media { display: none; }
  .m-hs-feature-img { display: none; }
  .m-hs-feature-text { display: none; }
  .d-hs-feature { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-xl); align-items: center; margin-block: var(--space-xl); }
  .d-hs-feature.is-flipped .d-hs-feature-media { order: 2; }
  .d-hs-feature-media { overflow: hidden; aspect-ratio: var(--hs-photo-ratio); border-radius: var(--radius-xl); background: var(--fill); box-shadow: var(--card-shadow); }
  .d-hs-feature-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hs-feature-text { display: grid; gap: var(--space-s); }
  .m-hs-stats { display: none; }
  .m-hs-stats-grid { display: none; }
  .m-hs-stat { display: none; }
  .m-hs-stat-value { display: none; }
  .m-hs-stat-label { display: none; }
  .d-hs-stats { margin-block: var(--space-xl); padding: var(--space-l); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-hs-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--hs-stat-min)), 1fr)); gap: var(--space-l); margin: 0; }
  .d-hs-stat { display: flex; flex-direction: column-reverse; gap: var(--space-2xs); text-align: center; }
  .d-hs-stat-value { margin: 0; color: var(--accent-ink); font: 800 var(--step-4)/1 var(--font-display); }
  .d-hs-stat-label { color: var(--text-2); font-size: var(--step-small); }
  .m-hs-cards { display: none; }
  .m-hs-card-list { display: none; }
  .m-hs-card { display: none; }
  .m-hs-card-thumb { display: none; }
  .m-hs-card-img { display: none; }
  .m-hs-card-body { display: none; }
  .m-hs-card-title { display: none; }
  .m-hs-card-text { display: none; }
  .m-hs-card-go { display: none; }
  .d-hs-cards { margin-block: var(--space-xl); }
  .d-hs-card-grid { display: flex; flex-wrap: wrap; gap: var(--space-m); margin: var(--space) 0 0; padding: 0; list-style: none; }
  .d-hs-card { position: relative; display: flex; flex: 1 1 calc((100% - var(--space-m) * 2) / 3); flex-direction: column; overflow: hidden; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-hs-card-grid.cols-2 .d-hs-card { flex-basis: calc((100% - var(--space-m)) / 2); }
  .d-hs-card-grid.cols-4 .d-hs-card { flex-basis: calc((100% - var(--space-m) * 3) / 4); }
  .d-hs-card-media { overflow: hidden; aspect-ratio: var(--hs-card-ratio); background: var(--fill); }
  .d-hs-card-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transition: scale var(--dur-fast); }
  .d-hs-card.is-linked:hover .d-hs-card-img { scale: 1.03; }
  .d-hs-card-body { display: grid; gap: var(--space-2xs); padding: var(--space) var(--space) var(--space-l); }
  .d-hs-card-title { margin: 0; font: 600 var(--step-1)/1.25 var(--font-display); }
  .d-hs-card-text { display: -webkit-box; margin: 0; overflow: hidden; color: var(--text-2); font-size: var(--step-small); -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
  .d-hs-card-go { position: absolute; inset-inline-end: var(--space); inset-block-end: var(--space-s); color: var(--text-2); }
  .d-hs-cards.is-links .d-hs-card { flex-basis: calc((100% - var(--space-m) * 3) / 4); flex-direction: row; align-items: center; }
  .m-hs-gallery { display: none; }
  .m-hs-gallery-grid { display: none; }
  .m-hs-gallery-item { display: none; }
  .m-hs-gallery-link { display: none; }
  .m-hs-gallery-img { display: none; }
  .m-hs-gallery-more { display: none; }
  .m-hs-gallery-summary { display: none; }
  .d-hs-gallery { margin-block: var(--space-xl); }
  .d-hs-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--hs-gallery-min)), 1fr)); gap: var(--space-xs); margin: var(--space) 0 0; padding: 0; list-style: none; }
  .d-hs-gallery-item { overflow: hidden; aspect-ratio: 1; border-radius: var(--radius); background: var(--fill); }
  .d-hs-gallery-link { display: block; block-size: 100%; }
  .d-hs-gallery-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transition: scale var(--dur-fast); }
  .d-hs-gallery-link:hover .d-hs-gallery-img { scale: 1.04; }
  .d-hs-gallery-more { margin-block-start: var(--space); }
  .d-hs-gallery-summary { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-m); border-radius: var(--radius-pill); background: var(--fill); font-weight: 600; cursor: pointer; }
  .hs-embed { margin-block: var(--space-xl); }
  .hs-embed-frame { margin-block-start: var(--space); }
  .m-hs-band { display: none; }
  .m-hs-band-media { display: none; }
  .m-hs-band-img { display: none; }
  .m-hs-band-text { display: none; }
  .d-hs-band { position: relative; isolation: isolate; display: grid; align-items: center; min-block-size: var(--hs-band-min); overflow: hidden; margin-block: var(--space-xl); border-radius: var(--radius-xl); }
  .d-hs-band-media { position: absolute; inset: 0; z-index: -1; }
  .d-hs-band-media::after { position: absolute; inset: 0; background: var(--hs-scrim); content: ""; }
  .d-hs-band-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hs-band-text { display: grid; gap: var(--space-s); max-inline-size: var(--hs-band-text); padding: var(--space-xl); color: var(--hs-on-photo); }
  .d-hs-band-text .d-hs-lead { color: var(--hs-on-photo); }
  .m-hs-strip-row { display: none; }
  .m-hs-strip-item { display: none; }
  .m-hs-strip-img { display: none; }
  .d-hs-strip-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--space-s); margin: var(--space-xl) 0; padding: 0; list-style: none; }
  .d-hs-strip-item { overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-l); background: var(--fill); }
  .d-hs-strip-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .cta-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); margin-inline-start: var(--space-xs); padding-inline: var(--space-m); border-radius: var(--radius-pill); background: var(--fill); color: var(--text); font-weight: 600; text-decoration: none; }
  .hs-embed .ax-embed { max-inline-size: var(--hs-embed-w); margin-inline: auto; }

  /* ---- Admin -> Hero (admin_hero.php): desktop tree d-hero-*; m-hero-* hidden ---- */
  .d-hero-summary { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0 0 var(--space); padding: 0; list-style: none; }
  .d-hero-chip { padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-small); }
  .d-hero-main { display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 11fr); gap: var(--space-l); align-items: start; margin-block-end: var(--space-l); }
  .d-hero-h { margin: 0 0 var(--space-s); font: 700 var(--step-1)/1.2 var(--font-display); }
  .d-hero-side { position: sticky; inset-block-start: var(--space-l); }
  .d-hero-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-hero-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-s); align-items: center; padding: var(--space-xs); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-hero-row.is-current { outline: var(--focus-ring) solid var(--accent); }
  .d-hero-row.is-off .d-hero-thumb { opacity: 0.45; }
  .d-hero-row.is-off .d-hero-row-title { color: var(--text-2); }
  .d-hero-thumb { display: block; overflow: hidden; inline-size: var(--hs-thumb); aspect-ratio: 16 / 9; border-radius: var(--radius); background: var(--fill); }
  .d-hero-thumb-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hero-row-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-hero-row-title { display: -webkit-box; overflow: hidden; color: var(--text); font-size: var(--step-small); font-weight: 600; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: var(--hero-title-lines); line-clamp: var(--hero-title-lines); }
  .d-hero-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-xs); }
  .d-hero-sw-form { margin: 0; }
  button.d-hero-sw { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); margin: 0; padding: 0; border: 0; background: none; color: var(--text-2); font: inherit; font-size: var(--step-caption); cursor: pointer; }
  .d-hero-sw-track { position: relative; flex: none; inline-size: var(--switch-w); block-size: var(--switch-h); border-radius: var(--radius-pill); background: var(--switch-off); transition: background var(--dur-fast) var(--ease-out); }
  .d-hero-sw-thumb { position: absolute; inset-block-start: calc((var(--switch-h) - var(--knob-size)) / 2); inset-inline-start: calc((var(--switch-h) - var(--knob-size)) / 2); inline-size: var(--knob-size); block-size: var(--knob-size); border-radius: 50%; background: var(--knob); box-shadow: var(--knob-shadow); transition: transform var(--dur-fast) var(--ease-spring); }
  button.d-hero-sw[aria-checked="true"] .d-hero-sw-track { background: var(--switch-on); }
  button.d-hero-sw[aria-checked="true"] .d-hero-sw-thumb { transform: translateX(calc((var(--switch-w) - var(--switch-h)) * var(--dir))); }
  button.d-hero-sw:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: calc(var(--focus-ring) * 0.5); border-radius: var(--radius-pill); }
  .d-hero-sw-text { font-weight: 600; }
  .d-hero-tag { display: inline-flex; margin: 0; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); }
  .d-hero-acts { display: grid; gap: var(--space-2xs); }
  .d-hero-act-form { margin: 0; }
  button.d-hero-act { display: grid; place-items: center; inline-size: var(--control); block-size: calc(var(--control) * 0.8); margin: 0; padding: 0; border: 0; border-radius: var(--radius); background: var(--fill); color: var(--text-2); cursor: pointer; }
  button.d-hero-act .icon { inline-size: var(--icon); block-size: var(--icon); }
  button.d-hero-act[data-do="up"] .icon { rotate: 180deg; }
  button.d-hero-act:disabled { opacity: 0.35; cursor: default; }
  .d-hero-editor { display: grid; gap: var(--space-s); padding: var(--space-l); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-hero-form { gap: var(--space); }
  .d-hero-previews { display: grid; grid-template-columns: minmax(0, 20fr) minmax(0, 9fr); gap: var(--space-s); align-items: stretch; }
  .d-hero-frame { display: grid; grid-template-rows: auto 1fr; gap: var(--space-xs); margin: 0; }
  .d-hero-frame.is-desktop { display: grid; }
  .d-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .d-hero-frame.is-desktop { display: grid; }
  .d-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .d-hero-frame.is-phone { display: grid; }
  .d-hero-frame.is-phone .d-hero-pick { aspect-ratio: 4 / 5; }
  .d-hero-frame.is-desktop .d-hero-pick { aspect-ratio: 16 / 9; }
  button.d-hero-pick { position: relative; display: block; overflow: hidden; inline-size: 100%; margin: 0; padding: 0; border: 0; border-radius: var(--radius-l); background: var(--fill); cursor: crosshair; }
  .d-hero-frame-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hero-dot { position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: calc(var(--icon) * 1.2); aspect-ratio: 1; border: 0.15rem solid var(--hs-on-photo); border-radius: 50%; translate: calc(-50% * var(--dir)) -50%; box-shadow: var(--card-shadow); pointer-events: none; }
  .d-hero-frame-cap { display: grid; align-content: space-between; gap: var(--space-2xs); color: var(--text-2); font-size: var(--step-small); }
  .d-hero-frame-name { font-weight: 600; }
  .d-hero-nums { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-hero-num-label { display: grid; gap: 0; font-size: var(--step-caption); }
  .d-hero-form input.d-hero-num[type="number"] { inline-size: 4em; min-block-size: var(--control); padding-inline: var(--space-xs); }
  .d-hero-why { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-hero-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space); align-items: start; }
  .d-hero-danger { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-s); margin: 0; padding-block-start: var(--space); border-block-start: var(--line) solid var(--separator); }
  .d-hero-confirm { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-small); }
  button.d-hero-danger-btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--control); margin: 0; padding: 0 var(--space-m); border: 0; border-radius: var(--radius-pill); background: var(--error-bg); color: var(--error); font: inherit; font-weight: 600; cursor: pointer; }
  .d-hero-sugs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--hero-sug-min)), 1fr)); gap: var(--space); margin: 0; padding: 0; list-style: none; }
  .d-hero-sug { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-hero-sug-media { overflow: hidden; aspect-ratio: 16 / 9; background: var(--fill); }
  .d-hero-sug-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
  .d-hero-sug-text { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-s); }
  .d-hero-use-form { margin: auto 0 0; }
  .d-hero-sug-title { display: -webkit-box; overflow: hidden; margin: 0; font-size: var(--step-small); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: var(--hero-sug-lines); line-clamp: var(--hero-sug-lines); }
  .d-hero-sug-score { display: flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-hero-meter { flex: 1; min-inline-size: 0; inline-size: auto; }
  .d-hero-reasons { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .d-hero-reason { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); line-height: 1.7; }
  .d-hero-reason.is-good { background: var(--ok-bg); color: var(--ok); }
  .d-hero-reason.is-warn { background: var(--hero-warn-bg); color: var(--hero-warn); }
  button.d-hero-use { display: inline-flex; align-items: center; justify-self: start; min-block-size: var(--control); margin: 0; padding: 0 var(--space-s); border: 0; border-radius: var(--radius-pill); background: var(--fill); color: var(--accent-ink); font: inherit; font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .d-hero-more { margin-block-start: var(--space); }
  .d-hero-more-head { display: flex; align-items: center; min-block-size: var(--control); margin-block-end: var(--space-s); color: var(--accent-ink); font-weight: 600; cursor: pointer; }
  .d-hero-weights { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--hero-sug-min)), 1fr)); gap: var(--space) var(--space-l); }
  .d-hero-weight { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-xs); align-items: center; }
  .d-hero-weight-name { font-size: var(--step-small); font-weight: 600; }
  .d-hero-weight-value { font-variant-numeric: tabular-nums; font-weight: 600; }
  .d-hero-weight .d-range-input { grid-column: 1 / -1; }
  .d-hero-weight .d-hero-tag { grid-column: 1 / -1; justify-self: start; }
  .m-hero-summary { display: none; }
  .m-hero-chip { display: none; }
  .m-hero-main { display: none; }
  .m-hero-h { display: none; }
  .m-hero-side { display: none; }
  .m-hero-list { display: none; }
  .m-hero-row { display: none; }
  .m-hero-row.is-current { display: none; }
  .m-hero-row.is-off .m-hero-thumb { display: none; }
  .m-hero-row.is-off .m-hero-row-title { display: none; }
  .m-hero-thumb { display: none; }
  .m-hero-thumb-img { display: none; }
  .m-hero-row-text { display: none; }
  .m-hero-row-title { display: none; }
  .m-hero-row-meta { display: none; }
  .m-hero-sw-form { display: none; }
  button.m-hero-sw { display: none; }
  .m-hero-sw-track { display: none; }
  .m-hero-sw-thumb { display: none; }
  button.m-hero-sw[aria-checked="true"] .m-hero-sw-track { display: none; }
  button.m-hero-sw[aria-checked="true"] .m-hero-sw-thumb { display: none; }
  button.m-hero-sw:focus-visible { display: none; }
  .m-hero-sw-text { display: none; }
  .m-hero-tag { display: none; }
  .m-hero-acts { display: none; }
  .m-hero-act-form { display: none; }
  button.m-hero-act { display: none; }
  button.m-hero-act .icon { display: none; }
  button.m-hero-act[data-do="up"] .icon { display: none; }
  button.m-hero-act:disabled { display: none; }
  .m-hero-editor { display: none; }
  .m-hero-form { display: none; }
  .m-hero-previews { display: none; }
  .m-hero-frame { display: none; }
  .m-hero-frame.is-desktop { display: none; }
  .m-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .m-hero-frame.is-desktop { display: none; }
  .m-hero-form:has(input[name="hero_crop"][value="desktop"]:checked) .m-hero-frame.is-phone { display: none; }
  .m-hero-frame.is-phone .m-hero-pick { display: none; }
  .m-hero-frame.is-desktop .m-hero-pick { display: none; }
  button.m-hero-pick { display: none; }
  .m-hero-frame-img { display: none; }
  .m-hero-dot { display: none; }
  .m-hero-frame-cap { display: none; }
  .m-hero-frame-name { display: none; }
  .m-hero-nums { display: none; }
  .m-hero-num-label { display: none; }
  .m-hero-form input.m-hero-num[type="number"] { display: none; }
  .m-hero-why { display: none; }
  .m-hero-pair { display: none; }
  .m-hero-danger { display: none; }
  .m-hero-confirm { display: none; }
  button.m-hero-danger-btn { display: none; }
  .m-hero-sugs { display: none; }
  .m-hero-sug { display: none; }
  .m-hero-sug-media { display: none; }
  .m-hero-sug-img { display: none; }
  .m-hero-sug-text { display: none; }
  .m-hero-use-form { display: none; }
  .m-hero-sug-title { display: none; }
  .m-hero-sug-score { display: none; }
  .m-hero-meter { display: none; }
  .m-hero-reasons { display: none; }
  .m-hero-reason { display: none; }
  .m-hero-reason.is-good { display: none; }
  .m-hero-reason.is-warn { display: none; }
  button.m-hero-use { display: none; }
  .m-hero-more { display: none; }
  .m-hero-more-head { display: none; }
  .m-hero-weights { display: none; }
  .m-hero-weight { display: none; }
  .m-hero-weight-name { display: none; }
  .m-hero-weight-value { display: none; }
  .m-hero-weight .m-range-input { display: none; }
  .m-hero-weight .m-hero-tag { display: none; }

  /* ---- field system (DESIGN-SYSTEM §11o) ---- */
  /* ---- field system (owner, 2026-10-09: "compact, constrained, neat - whatever the label, the input or its type"; DESIGN-SYSTEM §11o) ----
     One box height for every text box and list on staff pages; the label sits right on its box (the page gap separates
     fields, never a label margin); a box is as wide as its answer needs (GOV.UK: width says what is expected) and never
     wider than its column; boxes side by side line up whatever their labels say (subgrid rows: label, box, hint). */
  .admin-main label { margin-block-start: 0; }
  .admin-main :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="submit"], [type="button"], [type="image"]), select):not([class*="-fm-"]) { block-size: var(--field-h-d); min-block-size: 0; padding-block: 0; padding-inline: var(--field-pad); line-height: 1.25; }
  .admin-main textarea:not([class*="-fm-"], [class*="-ed-title"], [class*="-ed-code"], [class*="-ic-code"], [class*="-text-value"], [class*="-sd-input"]) { min-block-size: calc(var(--field-h-d) * 2); max-block-size: var(--field-area-max); padding: var(--space-s) var(--field-pad); line-height: 1.45; field-sizing: content; resize: vertical; }
  .admin-main :where(input[type="number"]:not([class*="-fm-"]), input[inputmode="numeric"]:not([class*="-fm-"]), input[inputmode="decimal"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-num); }
  .admin-main :where(input[type="date"]:not([class*="-fm-"]), input[type="month"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-date); }
  .admin-main :where(input[type="datetime-local"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-datetime); }
  .admin-main :where(input[type="time"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-time); }
  .admin-main :where(input[type="tel"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-tel); }
  .admin-main :where(input[type="email"]:not([class*="-fm-"]), input[type="url"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-mail); }
  .admin-main :where(input[type="password"]:not([class*="-fm-"])) { max-inline-size: var(--field-w-pass); }
  .admin-main :where(input[type="text"]:not([class*="-fm-"]), input:not([type]):not([class*="-fm-"])) { max-inline-size: var(--field-w-text); max-inline-size: min(var(--field-w-text), max(var(--field-w-min), calc(attr(maxlength type(<number>), 400) * var(--field-char) + var(--field-pad) * 2 + 1em))); }
  .admin-main :where(select:not([class*="-fm-"])) { max-inline-size: min(100%, var(--field-w-text)); }
  .admin-main :where(textarea:not([class*="-fm-"])) { max-inline-size: var(--field-w-area); }
  .admin-main :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair, .d-phone-row) :is(input, select, textarea) { inline-size: 100%; max-inline-size: none; }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field { grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field > label { align-self: end; margin-block-end: var(--field-gap); }
  :is(.d-org-grid, .d-org-row-grid, .d-wh-grid, .d-hero-pair, .d-fb-pair) > .d-org-field > .d-set-hint { margin-block-start: var(--field-gap); }
  .d-org-field { gap: var(--field-gap); }
  .d-org-field label { line-height: 1.3; overflow-wrap: anywhere; text-wrap: pretty; }
  .d-org-field .d-set-hint { line-height: 1.4; text-wrap: pretty; }
  .admin-health-text { overflow-wrap: anywhere; }
  /* a tick box inside a field stays a tick box (a field's "every input fills the width" rule drew it as a wide empty box) */
  .d-org-field :is(input[type="checkbox"], input[type="radio"]) { inline-size: auto; block-size: auto; min-block-size: 0; flex: none; accent-color: var(--accent); }
  /* a segmented choice with long words wraps inside its segment instead of being cut ("nly when neede") */
  .d-segment-face { padding-block: var(--space-2xs); white-space: normal; text-align: center; text-wrap: balance; line-height: 1.15; overflow-wrap: break-word; hyphens: auto; }
  /* Google's facts list: one name per row when the side column is narrow, never a name broken in two ("numberOfEm ployees") */
  .d-org-checks { grid-template-columns: repeat(auto-fill, minmax(min(100%, 10em), 1fr)); }
  .d-org-check { overflow-wrap: normal; }
  /* Admin -> Site phone rows: "Remove when saving" breaks between words only */
  .d-phone-remove { overflow-wrap: normal; hyphens: manual; }
  /* ---- shapes (owner, 2026-10-09: "headers super round - we don't need them oval"): a bar or a strip of tabs is a rounded
     rectangle with the segmented control's corners; only a single one-line button stays a pill. Staff pages only: the
     public site keeps its floating capsule (Rule 8). Found by script: radius >= half the height on a wide or tall box. */
  body:has(.admin) .site-header .bar { border-radius: var(--tool-bar-radius); }
  .d-fb-selection, .d-fs-actions { border-radius: var(--tool-bar-radius); }
  .d-fm-tabs, .d-seo-tabs, .d-filters, .d-fb-views { border-radius: var(--tool-strip-radius); }
  .d-fm-tab, .d-seo-tab, .d-filter, .d-fb-view { border-radius: var(--tool-strip-inner-radius); }
  .d-texts-filter { border-radius: var(--radius); }
  /* field system: the phone trees, hidden on computers */
  .admin-main :is(.m-fb-pair, .m-phone-row) :is(input, select, textarea) { display: none; }
  .m-fb-pair > .m-org-field { display: none; }
  .m-fb-pair > .m-org-field > label { display: none; }
  .m-fb-pair > .m-org-field > .m-set-hint { display: none; }
  .m-org-field { display: none; }
  .m-org-field label { display: none; }
  .m-org-field .m-set-hint { display: none; }
  .m-org-field :is(input[type="checkbox"], input[type="radio"]) { display: none; }
  .m-segment-face { display: none; }
  .m-org-check { display: none; }
  .m-phone-row { display: none; }
  .m-phone-remove { display: none; }
  .m-ed-bar, .m-fs-actions { display: none; }
  .m-ed-tabs, .m-seo-tabs { display: none; }
  .m-ed-tab, .m-seo-tab { display: none; }
  .m-texts-filter { display: none; }
  /* ---- end field system ---- */
  /* ---- forms module (App\Forms; DESIGN-SYSTEM §11r, plan §4.12 / §4.13): computers ---- */
  .fm { display: block; container: fm / inline-size; margin-block-end: var(--space-xl); }
  .fm-head { display: grid; gap: var(--space-s); max-inline-size: var(--article-head-max); margin-block: var(--space) var(--space-l); }
  .fm-title { margin: 0; font: 700 var(--step-4)/1.08 var(--font-display); letter-spacing: -0.02em; }
  .fm-intro { margin: 0; max-inline-size: var(--read-max); color: var(--text-2); font-size: var(--step-1); line-height: 1.45; }
  .fm-meta { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space); margin: 0; padding: 0; list-style: none; }
  .fm-chip { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .fm-chip .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-fm { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); align-items: start; gap: var(--space-l); }
  .d-fm:has(.d-fm-aside:empty) { grid-template-columns: minmax(0, 1fr); }
  .d-fm-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; }
  .d-fm-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--fm-gap); margin: 0; }
  .d-fm-summary { padding: var(--space) var(--space-m); color: var(--error); background: var(--error-bg); border: var(--focus-ring) solid var(--error); border-radius: var(--group-radius); }
  .d-fm-summary:focus { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fm-summary-title { margin: 0 0 var(--space-xs); color: var(--error); font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-fm-summary-list { display: grid; gap: var(--space-2xs); margin: 0; padding-inline-start: var(--space-m); }
  .d-fm-summary-list a { color: var(--error); font-weight: 600; }
  .d-fm-sections { display: grid; grid-template-columns: repeat(var(--fm-tracks-d), minmax(0, 1fr)); align-items: start; gap: var(--fm-gap); }
  .d-fm-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; padding: var(--fm-section-pad); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); transition: box-shadow var(--dur) var(--ease-out); }
  .d-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) { box-shadow: var(--card-shadow), 0 0 0 calc(var(--line) * 2) var(--fm-done-ring); }
  .d-fm-section-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .d-fm-section-head:not(:has(.d-fm-section-icon)) { grid-template-columns: minmax(0, 1fr) auto; }
  .d-fm-section-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-fm-section-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); letter-spacing: -0.01em; }
  .d-fm-section-hint { color: var(--text-2); font-size: var(--step-small); }
  .d-fm-section-done { display: inline-flex; align-items: center; gap: var(--space-2xs); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--ok-bg); color: var(--ok); font-size: var(--step-caption); font-weight: 700; opacity: 0; scale: 0.85; transition: opacity var(--dur) var(--ease-out), scale var(--dur) var(--ease-spring); }
  .d-fm-section-done .icon { inline-size: 1em; block-size: 1em; stroke-width: 3; }
  .d-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .d-fm-section-done { opacity: 1; scale: 1; }
  .d-fm-grid { display: grid; grid-template-columns: repeat(var(--fm-tracks-d), minmax(0, 1fr)); align-items: stretch; gap: var(--fm-row-gap) var(--fm-col-gap); }
  .d-fm-w-quarter { grid-column: span 3; }
  .d-fm-w-third { grid-column: span 4; }
  .d-fm-w-half { grid-column: span 6; }
  .d-fm-w-two-thirds { grid-column: span 8; }
  .d-fm-w-three-quarters { grid-column: span 9; }
  .d-fm-w-full { grid-column: 1 / -1; }
  .d-fm-field { display: flex; flex-direction: column; gap: var(--space-2xs); min-inline-size: 0; margin: 0; padding: 0; border: 0; }
  .d-fm-field .d-fm-label { float: none; display: block; margin: 0; padding: 0; color: var(--text); font-size: var(--step-small); font-weight: 600; }
  .d-fm-optional { color: var(--text-2); font-weight: 400; }
  .d-fm-hint { margin: 0; max-inline-size: none; color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .d-fm-error { margin: 0; max-inline-size: none; color: var(--error); font-size: var(--step-small); font-weight: 600; }
  .d-fm-control { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); margin-block-start: auto; }
  .d-fm-control input.d-fm-input, .d-fm-control textarea.d-fm-textarea, .d-fm-control select.d-fm-select { inline-size: 100%; min-inline-size: 0; min-block-size: var(--fm-field-h); margin: 0; padding-block: var(--space-xs); padding-inline: var(--space-s) calc(var(--fm-tick) + var(--space-s)); font: inherit; font-size: var(--step-base); color: var(--text); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--fm-radius); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
  .d-fm-control textarea.d-fm-textarea { min-block-size: var(--fm-text-min); max-block-size: var(--fm-text-max); padding-block: var(--space-s); line-height: 1.5; resize: vertical; field-sizing: content; }
  .d-fm-control select.d-fm-select { cursor: pointer; }
  .d-fm-control :is(input, textarea, select):focus-visible { outline: none; border-color: var(--focus-color); box-shadow: 0 0 0 var(--focus-ring) color-mix(in srgb, var(--focus-color) 30%, transparent); }
  .d-fm-control :is(input, textarea, select):user-invalid, .d-fm-field.is-invalid .d-fm-control :is(input, textarea, select) { border-color: var(--error); }
  .d-fm-tick { position: absolute; inset-block-start: calc((var(--fm-field-h) - var(--fm-tick)) / 2); inset-inline-end: var(--space-s); display: grid; place-items: center; inline-size: var(--fm-tick); block-size: var(--fm-tick); border-radius: 50%; background: var(--fm-win); color: var(--fm-win-on); opacity: 0; scale: 0.4; transition: opacity var(--dur-fast) var(--ease-out), scale var(--dur) var(--ease-spring); pointer-events: none; }
  .d-fm-tick .icon { inline-size: 70%; block-size: 70%; stroke-width: 3.2; }
  .d-fm-control [required]:user-valid + .d-fm-tick { opacity: 1; scale: 1; }
  .d-fm-tiles { display: grid; grid-template-columns: var(--fm-choice-cols); gap: var(--space-xs); }
  .d-fm-tiles.is-list { grid-template-columns: minmax(0, 1fr); }
  .d-fm-tile { position: relative; display: grid; margin: 0; font-weight: 400; }
  .d-fm-tile-input { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .d-fm-tile-face { display: grid; grid-template-columns: minmax(0, 1fr) var(--radio); align-items: center; gap: var(--space-s); min-block-size: var(--fm-field-h); padding: var(--fm-tile-pad); background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: calc(var(--fm-tile-radius) * (1 - var(--fm-tile-pills)) + var(--radius-pill) * var(--fm-tile-pills)); transition: border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast), scale var(--dur) var(--ease-spring); }
  .d-fm-tile-face:has(.tile-icon) { grid-template-columns: var(--tile) minmax(0, 1fr) var(--radio); }
  .d-fm-tile-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-fm-tile-text strong { font-weight: 600; }
  .d-fm-tile-text span { color: var(--text-2); font-size: var(--step-small); line-height: 1.35; }
  .d-fm-tile-mark { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: 50%; transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
  .d-fm-tile-mark.is-box { border-radius: calc(var(--radio) * 0.3); }
  .d-fm-tile-mark .icon { inline-size: 65%; block-size: 65%; stroke-width: 3.2; }
  .d-fm-tile-input:checked + .d-fm-tile-face { background: var(--accent-soft); border-color: var(--accent-ink); box-shadow: 0 0 0 var(--line) var(--accent-ink); }
  .d-fm-tile-input:checked + .d-fm-tile-face .d-fm-tile-mark { background: var(--accent-ink); border-color: var(--accent-ink); color: var(--surface); }
  .d-fm-tile-input:focus-visible + .d-fm-tile-face { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fm-tile:active .d-fm-tile-face { scale: 0.98; }
  .d-fm-field.is-invalid .d-fm-tile-face { border-color: var(--error); }
  .d-fm-segment .d-segment-face { min-block-size: calc(var(--fm-field-h) - var(--segment-pad) * 2); font-size: var(--step-small); }
  .d-fm-consent { position: relative; display: grid; grid-template-columns: var(--radio) minmax(0, 1fr); align-items: start; gap: var(--space-s); margin: 0; padding: var(--fm-tile-pad); font-weight: 400; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--fm-tile-radius); cursor: pointer; }
  .d-fm-check { position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .d-fm-consent-mark { display: grid; place-items: center; inline-size: var(--radio); block-size: var(--radio); color: transparent; border: calc(var(--line) * 2) solid var(--field-border); border-radius: calc(var(--radio) * 0.3); transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
  .d-fm-consent-mark .icon { inline-size: 65%; block-size: 65%; stroke-width: 3.2; }
  .d-fm-consent-text { line-height: 1.45; }
  .d-fm-consent:has(.d-fm-check:checked) { background: var(--accent-soft); border-color: var(--accent-ink); }
  .d-fm-consent:has(.d-fm-check:checked) .d-fm-consent-mark { background: var(--accent-ink); border-color: var(--accent-ink); color: var(--surface); }
  .d-fm-consent:has(.d-fm-check:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fm-field.is-invalid .d-fm-consent { border-color: var(--error); }
  .d-fm-text { display: grid; gap: var(--space-2xs); margin: 0; max-inline-size: none; color: var(--text-2); }
  .d-fm-text span { font-size: var(--step-caption); }
  .d-fm-send { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space); }
  .d-fm-send button.d-fm-submit { margin: 0; min-block-size: var(--fm-field-h); padding-inline: var(--space-l); font-size: var(--step-base); border-radius: var(--radius-pill); }
  .d-fm-send button.d-fm-submit.is-busy { opacity: 0.7; cursor: progress; }
  .d-fm-ready { display: inline-flex; align-items: center; gap: var(--space-2xs); margin: 0; max-inline-size: none; color: var(--ok); font-size: var(--step-small); font-weight: 700; opacity: 0; translate: calc(var(--space-s) * -1 * var(--dir)) 0; transition: opacity var(--dur) var(--ease-out), translate var(--dur) var(--ease-spring); }
  .d-fm-ready .icon { inline-size: 1.1em; block-size: 1.1em; stroke-width: 3; }
  .d-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .d-fm-ready { opacity: 1; translate: 0 0; }
  .d-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) button.d-fm-submit { animation: fm-wake 1.6s var(--ease-out) 1; }
  .d-fm-aside { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space); min-inline-size: 0; }
  .d-fm-aside:empty { display: none; }
  .d-fm-progress { display: grid; gap: var(--space-xs); padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .d-fm-meter { inline-size: 100%; block-size: var(--space-xs); appearance: none; border: 0; border-radius: var(--radius-pill); background: var(--fill); overflow: hidden; accent-color: var(--fm-win); }
  .d-fm-meter::-webkit-progress-bar { background: var(--fill); border-radius: var(--radius-pill); }
  .d-fm-meter::-webkit-progress-value { background: var(--fm-win); border-radius: var(--radius-pill); transition: inline-size var(--dur) var(--ease-spring); }
  .d-fm-meter::-moz-progress-bar { background: var(--fm-win); border-radius: var(--radius-pill); }
  .d-fm-progress-text { margin: 0; max-inline-size: none; color: var(--text-2); font-size: var(--step-small); font-weight: 600; }
  .d-fm-progress.is-complete .d-fm-progress-text { color: var(--ok); }
  .d-fm-next { display: grid; gap: var(--space-s); padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .d-fm-next-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-fm-steps { display: grid; gap: var(--space-s); margin: 0; padding: 0; list-style: none; }
  .d-fm-step { display: grid; grid-template-columns: var(--step-dot) minmax(0, 1fr); align-items: start; gap: var(--space-s); font-size: var(--step-small); }
  .d-fm-step-n { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); border-radius: 50%; background: var(--accent-soft); color: var(--accent-ink); font-size: var(--step-caption); font-weight: 700; }
  .d-fm-privacy { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); margin: 0; max-inline-size: none; padding-inline: var(--space-2xs); color: var(--text-2); font-size: var(--step-caption); line-height: 1.4; }
  .d-fm-privacy .icon { inline-size: 1.2em; block-size: 1.2em; }
  .fm-done { display: grid; justify-items: center; gap: var(--space-s); max-inline-size: var(--prose-wide); margin: var(--space-l) auto var(--space-xl); text-align: center; }
  .fm-done-badge { position: relative; display: grid; place-items: center; inline-size: var(--fm-badge); block-size: var(--fm-badge); border-radius: 50%; background: var(--fm-win); color: var(--fm-win-on); }
  .fm-done-badge .icon { inline-size: 50%; block-size: 50%; stroke-width: 2.8; }
  .fm-done-ring { position: absolute; inset: 0; border: calc(var(--line) * 3) solid var(--fm-win); border-radius: 50%; opacity: 0; }
  .fm-done-title { margin: var(--space-xs) 0 0; font: 700 var(--step-3)/1.15 var(--font-display); letter-spacing: -0.015em; }
  .fm-done-text { margin: 0; max-inline-size: var(--read-max); color: var(--text-2); font-size: var(--step-1); }
  .fm-done-ref { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space); border-radius: var(--radius-pill); background: var(--fill); font-size: var(--step-small); }
  .d-done { display: grid; justify-items: center; gap: var(--space); inline-size: 100%; margin-block-start: var(--space); }
  .d-done-next-title { margin: 0; font: 700 var(--step-1)/1.3 var(--font-display); }
  .d-done-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--fm-tile-min)), 1fr)); gap: var(--space); inline-size: 100%; margin: 0; padding: 0; list-style: none; text-align: start; }
  .d-done-step { display: grid; align-content: start; gap: var(--space-s); padding: var(--space); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .d-done-step-n { display: grid; place-items: center; inline-size: var(--step-dot); block-size: var(--step-dot); border-radius: 50%; background: var(--ok-bg); color: var(--ok); font-size: var(--step-caption); font-weight: 700; }
  .d-done-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space); }
  .d-done-actions .button { margin: 0; }
  .d-done-link { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--accent-ink); font-weight: 600; }
  .d-done-link .icon { inline-size: 1em; block-size: 1em; }
  .fm-closed { display: grid; justify-items: center; gap: var(--space-s); margin: var(--space-l) auto var(--space-xl); text-align: center; }
  .fm-closed-badge { display: grid; place-items: center; inline-size: var(--badge); block-size: var(--badge); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .fm-closed-badge .icon { inline-size: 50%; block-size: 50%; }
  .fm-closed-title { margin: 0; font: 700 var(--step-3)/1.15 var(--font-display); }
  .fm-closed-text { margin: 0; color: var(--text-2); }
  .fm-closed-actions .button { margin: 0; }
  /* Admin -> Forms: gallery (d-fg), builder (d-fb), inbox (d-fi) */
  .d-fg { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--fg-card-min)), 1fr)); align-items: stretch; gap: var(--space); }
  .d-fg-new { grid-column: 1 / -1; display: grid; gap: var(--space-xs); margin: 0; padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fg-new-title { display: flex; align-items: center; gap: var(--space-xs); margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-fg-new-hint { margin: 0; color: var(--text-2); font-size: var(--step-small); }
  .d-fg-starts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(var(--fg-card-min) * 0.72)), 1fr)); gap: var(--space-s); margin-block-start: var(--space-xs); }
  .d-fg-starts button.d-fg-start { display: grid; align-content: start; justify-items: start; gap: var(--space-2xs); inline-size: 100%; min-block-size: calc(var(--tap) * 1.6); margin: 0; padding: var(--space-s) var(--space); text-align: start; color: var(--text); font-weight: 400; background: var(--bg); border: var(--line) solid var(--separator); border-radius: var(--radius-l); transition: border-color var(--dur-fast), translate var(--dur) var(--ease-spring); }
  .d-fg-starts button.d-fg-start:hover { background: var(--bg); border-color: var(--accent-line); filter: none; translate: 0 calc(var(--space-2xs) * -1); }
  .d-fg-start strong { font-weight: 700; }
  .d-fg-start span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; }
  .d-fg-card { position: relative; display: grid; align-content: start; gap: var(--space-s); padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fg-card:has(.d-fg-card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fg-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-s); }
  .d-fg-card-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-fg-card-title { margin: 0; font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-fg-card-link { color: var(--text); text-decoration: none; outline: none; }
  .d-fg-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
  .d-fg-card-path { color: var(--text-2); font-size: var(--step-caption); }
  .d-fg-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); margin: 0; }
  .d-fg-figures div { display: grid; gap: var(--space-2xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--bg); }
  .d-fg-figures dt { color: var(--text-2); font-size: var(--step-caption); }
  .d-fg-figures dd { margin: 0; font: 700 var(--step-2)/1.1 var(--font-display); }
  .d-fg-card-foot { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-fg-card-actions { position: relative; z-index: 1; margin: 0; }
  .d-fb { display: grid; grid-template-columns: minmax(0, 1fr) var(--fb-side); align-items: start; gap: var(--space); }
  .d-fb-right { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-fb-center { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; }
  .d-fb-strip { display: grid; gap: var(--space-xs); padding: var(--space-s) var(--space); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fb-strip-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-fb-strip-title span { color: var(--text-2); font-size: var(--step-caption); font-weight: 400; }
  .d-fb-selection { position: sticky; inset-block-start: var(--contact-sticky); z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space); padding-block: var(--space-xs); padding-inline: var(--space) var(--space-xs); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); border: var(--line) solid var(--panel-glass-edge); border-radius: var(--tool-bar-radius); box-shadow: var(--glass-shadow); }
  .d-fb-selection-name { display: grid; min-inline-size: 0; margin: 0; }
  .d-fb-selection-name span { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .d-fb-selection-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-fb-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-s); }
  .d-fb-views { display: inline-flex; gap: var(--segment-pad); padding: var(--segment-pad); border-radius: var(--radius-pill); background: var(--fill); }
  .d-fb-view { display: inline-flex; align-items: center; min-block-size: var(--segment-h); padding-inline: var(--space); border-radius: var(--radius-pill); color: var(--text-2); font-size: var(--step-small); font-weight: 600; text-decoration: none; }
  .d-fb-view.is-on { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .d-fb-stage { container: fm / inline-size; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); padding: var(--space-m); background: color-mix(in srgb, var(--fill) 50%, var(--bg)); border: var(--line) dashed var(--separator); border-radius: var(--radius-xl); }
  .d-fb-stage-title { margin: 0; font: 700 var(--step-2)/1.15 var(--font-display); }
  .d-fb-stage-send { margin: 0; }
  .d-fb-stage-send span { display: inline-flex; align-items: center; min-block-size: var(--fm-field-h); padding-inline: var(--space-l); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-weight: 600; }
  .d-fb-canvas { position: relative; display: grid; grid-template-columns: repeat(var(--fm-tracks-d), minmax(0, 1fr)); align-items: start; gap: var(--fm-gap); }
  .d-fb-canvas.is-phone { grid-template-columns: minmax(0, 1fr); inline-size: 100%; max-inline-size: var(--fb-phone); margin-inline: auto; }
  .d-fb-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; padding: var(--fm-section-pad); background: var(--surface); border-radius: var(--group-radius); box-shadow: var(--card-shadow); }
  .d-fb-canvas.is-phone .d-fb-section { grid-column: 1 / -1; padding: var(--space); }
  .d-fb-section-head { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); margin: calc(var(--space-xs) * -1); padding: var(--space-xs); border-radius: var(--radius); outline: calc(var(--line) * 1.5) dashed transparent; transition: outline-color var(--dur-fast), background var(--dur-fast); }
  .d-fb-section-head:not(:has(.tile-icon)) { grid-template-columns: minmax(0, 1fr); }
  .d-fb-section-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-fb-section-text strong { font: 700 var(--step-1)/1.25 var(--font-display); }
  .d-fb-section-text span { color: var(--text-2); font-size: var(--step-small); }
  .d-fb-grid { display: grid; grid-template-columns: repeat(var(--fm-tracks-d), minmax(0, 1fr)); align-items: stretch; gap: var(--fm-row-gap) var(--fm-col-gap); }
  .d-fb-canvas.is-phone .d-fb-grid { grid-template-columns: repeat(var(--fm-tracks-m), minmax(0, 1fr)); gap: var(--space) var(--space-s); }
  .d-fb-wm-third { grid-column: span 2; }
  .d-fb-wm-half { grid-column: span 3; }
  .d-fb-wm-full { grid-column: 1 / -1; }
  .d-fb-block { position: relative; display: flex; flex-direction: column; min-inline-size: 0; margin: calc(var(--space-xs) * -1); padding: var(--space-xs); border-radius: var(--radius); outline: calc(var(--line) * 1.5) dashed transparent; transition: outline-color var(--dur-fast), background var(--dur-fast); }
  .d-fb-block:hover, .d-fb-section-head:hover { background: color-mix(in srgb, var(--accent-soft) 45%, transparent); outline-color: var(--accent-line); }
  .d-fb-block.is-selected, .d-fb-section-head.is-selected { background: var(--accent-soft); outline: calc(var(--line) * 2) solid var(--accent-ink); }
  .d-fb-block.is-dragging { opacity: var(--drag-opacity); }
  .d-fb-block.is-resizing { outline-style: solid; }
  .d-fb-pick { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
  .d-fb-pick:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fb-grip { position: absolute; z-index: 2; inset-block-start: var(--space-2xs); inset-inline-end: var(--space-2xs); display: grid; place-items: center; inline-size: var(--control); block-size: calc(var(--control) * 0.8); border-radius: var(--radius-s); background: var(--surface); color: var(--text-2); box-shadow: var(--card-shadow); opacity: 0; cursor: grab; touch-action: none; transition: opacity var(--dur-fast); }
  .d-fb-block:hover .d-fb-grip, .d-fb-block.is-selected .d-fb-grip { opacity: 1; }
  .d-fb-grip .icon { inline-size: 1em; block-size: 1em; }
  .d-fb-auto { position: absolute; z-index: 2; inset-block-start: calc(var(--space-s) * -1); inset-inline-end: calc(var(--space-xl) + var(--space-s)); padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; box-shadow: var(--card-shadow); opacity: 0; transition: opacity var(--dur-fast); }
  .d-fb-block:hover .d-fb-auto, .d-fb-block.is-selected .d-fb-auto { opacity: 1; }
  .d-fb-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); margin: 0; padding: 0; }
  .d-fb-widths { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); padding-inline-end: var(--space-2xs); border-inline-end: var(--line) solid var(--separator); }
  .d-fb-tools button.d-fb-width { inline-size: auto; min-inline-size: var(--control); min-block-size: var(--control); margin: 0; padding: 0 var(--space-xs); color: var(--text); font-size: var(--step-small); font-weight: 600; background: none; border-radius: var(--radius-pill); }
  .d-fb-tools button.d-fb-width.is-on { background: var(--accent-ink); color: var(--surface); }
  .d-fb-tools button.d-fb-tool { display: grid; place-items: center; inline-size: var(--control); min-block-size: var(--control); margin: 0; padding: 0; color: var(--text); background: none; border-radius: var(--radius-pill); }
  .d-fb-tools button.d-fb-tool.is-danger { color: var(--error); }
  .d-fb-tools button.d-fb-width:hover, .d-fb-tools button.d-fb-tool:hover { background: var(--fill); filter: none; }
  .d-fb-tools button.d-fb-width.is-on:hover { background: var(--accent-ink); }
  .d-fb-tool .icon { inline-size: var(--icon); block-size: var(--icon); }
  .d-fb-handle { position: absolute; z-index: 3; inset-block: var(--space-xs); inset-inline-end: calc(var(--fb-handle) * -0.5); inline-size: var(--fb-handle); border-radius: var(--radius-pill); background: var(--accent-ink); cursor: ew-resize; touch-action: none; }
  .d-fb-drop { position: absolute; z-index: 4; block-size: calc(var(--line) * 3); border-radius: var(--radius-pill); background: var(--accent-ink); pointer-events: none; }
  .d-fb-empty { grid-column: 1 / -1; margin: 0; padding: var(--space); max-inline-size: none; color: var(--text-2); font-size: var(--step-small); text-align: center; border: var(--line) dashed var(--separator); border-radius: var(--radius); }
  .d-fb-palette-form { margin: 0; }
  .d-fb-palette button.d-fb-add { display: inline-flex; align-items: center; gap: var(--space-xs); inline-size: auto; min-block-size: var(--control); margin: 0; padding-block: var(--space-2xs); padding-inline: var(--space-2xs) var(--space-s); color: var(--text); font-weight: 400; background: var(--bg); border-radius: var(--radius-pill); }
  .d-fb-palette button.d-fb-add:hover { background: var(--accent-soft); filter: none; }
  .d-fb-palette button.d-fb-add .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; }
  .d-fb-add-text { display: grid; min-inline-size: 0; }
  .d-fb-add-text strong { font-size: var(--step-small); font-weight: 600; }
  .d-fb-add-text span { display: none; }
  .d-fb-palette-more { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-fb-coach { display: grid; gap: var(--space-s); }
  .d-fb-coach-line { margin: 0; font-weight: 600; }
  .d-fb-checks { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-fb-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs) var(--space-s); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--bg); }
  .d-fb-check .sd-action, .d-fb-check .sd-inline-form { grid-column: 2; justify-self: start; }
  .d-fb-check-icon { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; background: var(--fill); color: var(--text-2); }
  .d-fb-check.is-must .d-fb-check-icon { background: var(--error-bg); color: var(--error); }
  .d-fb-check.is-advice .d-fb-check-icon { background: var(--accent-soft); color: var(--accent-ink); }
  .d-fb-check.is-ok .d-fb-check-icon { background: var(--ok-bg); color: var(--ok); }
  .d-fb-check-icon .icon { inline-size: 60%; block-size: 60%; stroke-width: 2.6; }
  .d-fb-check-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; font-size: var(--step-small); }
  .d-fb-check-text span { color: var(--text-2); font-size: var(--step-caption); line-height: 1.35; }
  .d-fb-check-text em { color: var(--error); font-size: var(--step-caption); font-style: normal; font-weight: 700; }
  .d-fb-passed summary { color: var(--text-2); font-size: var(--step-small); font-weight: 600; cursor: pointer; }
  .d-fb-passed .d-fb-checks { margin-block-start: var(--space-xs); }
  .d-fb-type { justify-self: start; margin: 0; padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .d-fb-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
  .d-fb-sub { margin: var(--space-s) 0 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-fi { display: grid; gap: var(--space); }
  .d-fi-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space); margin: 0; }
  .d-fi-figures div { display: grid; gap: var(--space-2xs); padding: var(--space) var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fi-figures dt { color: var(--text-2); font-size: var(--step-small); }
  .d-fi-figures dd { margin: 0; font: 700 var(--stat-size)/1 var(--font-display); }
  .d-fi-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-fi-chip { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-small); font-weight: 600; text-decoration: none; box-shadow: var(--card-shadow); }
  .d-fi-chip span { color: var(--text-2); }
  .d-fi-chip.is-on { background: var(--text); color: var(--bg); }
  .d-fi-chip.is-on span { color: inherit; opacity: 0.75; }
  .d-fi-split { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: start; gap: var(--space); }
  .d-fi-master { min-inline-size: 0; }
  .d-fi-list { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-fi-card { display: grid; gap: var(--space-2xs); padding: var(--space-s) var(--space); color: var(--text); text-decoration: none; background: var(--surface); border: var(--line) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-fi-card.is-open { border-color: var(--accent-ink); box-shadow: 0 0 0 var(--line) var(--accent-ink); }
  .d-fi-card-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-s); min-inline-size: 0; }
  .d-fi-card-top strong { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d-fi-card.is-new .d-fi-card-top strong::before { content: ""; display: inline-block; inline-size: var(--space-xs); block-size: var(--space-xs); margin-inline-end: var(--space-xs); border-radius: 50%; background: var(--accent); vertical-align: middle; }
  .d-fi-status { flex: none; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .d-fi-status.is-new { background: var(--accent); color: var(--accent-text); }
  .d-fi-status.is-answered { background: var(--ok-bg); color: var(--ok); }
  .d-fi-preview { display: -webkit-box; overflow: hidden; color: var(--text-2); font-size: var(--step-small); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .d-fi-meta { color: var(--text-2); font-size: var(--step-caption); }
  .d-fi-detail { position: sticky; inset-block-start: var(--contact-sticky); display: grid; gap: var(--space); padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fi-detail.is-empty { place-items: center; min-block-size: calc(var(--tap) * 5); }
  .d-fi-detail-head { display: grid; gap: var(--space-2xs); }
  .d-fi-answers { display: grid; grid-template-columns: repeat(var(--fm-tracks-d), minmax(0, 1fr)); gap: var(--space-s); margin: 0; }
  .d-fi-answer { display: grid; align-content: start; gap: var(--space-2xs); min-inline-size: 0; padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--bg); }
  .d-fi-answer dt { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .d-fi-answer dd { margin: 0; overflow-wrap: anywhere; }
  .d-fi-actions { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-s); margin: 0; }
  /* Harmony with the container (owner, 2026-10-09): the form answers to the width of the box it sits in, not the screen -
     an article column, a half-width home section or a narrow admin pane gets fewer, wider tracks (container queries,
     Baseline 2025). Breakpoints in em like the media queries; widths stay named fractions. */
  @container fm (max-width: 52em) {
    .d-fm { grid-template-columns: minmax(0, 1fr); }
    .d-fm-aside { position: static; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--fm-tile-min)), 1fr)); }
    .d-fm-sections > .d-fm-w-half, .d-fb-canvas:not(.is-phone) > .d-fm-w-half { grid-column: 1 / -1; }
    .d-fm-grid > .d-fm-w-quarter, .d-fb-grid > .d-fm-w-quarter { grid-column: span 4; }
    .d-fm-grid > .d-fm-w-third, .d-fb-grid > .d-fm-w-third { grid-column: span 6; }
    .d-fm-grid > .d-fm-w-two-thirds, .d-fm-grid > .d-fm-w-three-quarters, .d-fb-grid > .d-fm-w-two-thirds, .d-fb-grid > .d-fm-w-three-quarters { grid-column: 1 / -1; }
  }
  @container fm (max-width: 34em) {
    .d-fm-grid > .d-fm-w-quarter, .d-fm-grid > .d-fm-w-third, .d-fb-grid > .d-fm-w-quarter, .d-fb-grid > .d-fm-w-third { grid-column: span 6; }
    .d-fm-grid > .d-fm-w-half, .d-fb-grid > .d-fm-w-half { grid-column: 1 / -1; }
    .d-fm-tiles { grid-template-columns: var(--fm-choice-cols); } /* short answers still pair up; a long one takes its own row */
  }
  /* Saving in place (house rule 34): the page's status region doubles as a short toast; forms-admin.js writes it. */
  .fm-admin-status { position: fixed; z-index: 60; inset-block-end: var(--space-l); inset-inline-start: 50%; max-inline-size: min(calc(100% - var(--space) * 2), var(--read-max)); margin: 0; padding: var(--space-xs) var(--space); border-radius: var(--radius-pill); background: var(--surface); color: var(--text); font-size: var(--step-small); font-weight: 600; box-shadow: var(--glass-shadow); translate: calc(-50% * var(--dir)) var(--space); opacity: 0; pointer-events: none; transition: opacity var(--dur) var(--ease-out), translate var(--dur) var(--ease-spring); }
  .fm-admin-status:empty { display: none; }
  .fm-admin-status.is-shown { opacity: 1; translate: calc(-50% * var(--dir)) 0; }
  .fm-admin-status[data-tone="success"] { background: var(--ok-bg); color: var(--ok); }
  .fm-admin-status[data-tone="error"] { background: var(--error-bg); color: var(--error); }
  /* Webhooks of a form (phase 2) */
  .d-wh-form { gap: var(--space-s); }
  .d-wh-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-wh-secret { display: grid; gap: var(--space-xs); padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--ok-bg); color: var(--ok); }
  .d-wh-secret p { margin: 0; }
  .d-wh-secret code { overflow-wrap: anywhere; padding: var(--space-xs); border-radius: var(--radius-s); background: var(--surface); color: var(--text); font-family: var(--font-mono); font-size: var(--step-small); user-select: all; }
  .d-wh-reason { margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--error-bg); color: var(--error); font-size: var(--step-small); }
  .d-wh-log { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-wh-entry { display: grid; gap: var(--space-2xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--bg); font-size: var(--step-small); }
  .d-wh-entry .sd-inline-form { justify-self: start; }
  .d-wh-entry-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs); min-inline-size: 0; }
  .d-wh-entry-top strong { min-inline-size: 0; overflow-wrap: anywhere; }
  .d-wh-state { flex: none; padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; }
  .d-wh-entry.is-sent .d-wh-state { background: var(--ok-bg); color: var(--ok); }
  .d-wh-entry.is-failed .d-wh-state { background: var(--error-bg); color: var(--error); }
  .d-wh-entry-meta { color: var(--text-2); font-size: var(--step-caption); }
  .d-wh-entry-error { color: var(--error); font-size: var(--step-caption); overflow-wrap: anywhere; }
  @supports selector(:has(*)) {
    .d-wh-only { display: none; }
    .d-wh-form:has([name="auth_kind"] option[value="basic"]:checked) .d-wh-only-basic, .d-wh-form:has([name="auth_kind"] option[value="header"]:checked) .d-wh-only-header, .d-wh-form:has([name="auth_kind"] option[value="jwt"]:checked) .d-wh-only-jwt, .d-wh-form:has([name="auth_kind"] option[value="signed"]:checked) .d-wh-only-signed { display: grid; }
    .d-wh-form:not(:has([name="auth_kind"] option[value="none"]:checked)) .d-wh-only-secret { display: grid; }
    .d-wh-form:has([name="method"][value="GET"]:checked) .d-wh-only-post { display: none; }
  }
  /* The tabs of one form (Build · Connect · Settings · Answers) */
  .d-fm-tabs { display: flex; flex-wrap: wrap; gap: var(--segment-pad); inline-size: fit-content; max-inline-size: 100%; margin-block-start: var(--space-s); padding: var(--segment-pad); border-radius: var(--tool-strip-radius); background: var(--fill); }
  .d-fm-tab { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); border-radius: var(--tool-strip-inner-radius); color: var(--text-2); font-size: var(--step-small); font-weight: 600; text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast); }
  .d-fm-tab .icon { inline-size: 1.1em; block-size: 1.1em; }
  .d-fm-tab.is-current { background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); }
  .d-fm-tab-badge { display: inline-grid; place-items: center; min-inline-size: calc(var(--step-base) * 1.25); padding-inline: var(--space-2xs); border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-text); font-size: var(--step-caption); font-weight: 700; }
  /* Connect: webhook cards, the editor below them, the history */
  .d-fc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); }
  .d-fc-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); }
  .d-fc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--fc-card-min)), 1fr)); gap: var(--space-s); }
  .d-fc-card { position: relative; display: grid; align-content: start; gap: var(--space-xs); padding: var(--space); background: var(--surface); border: calc(var(--line) * 1.5) solid transparent; border-radius: var(--radius-l); box-shadow: var(--card-shadow); }
  .d-fc-card.is-problem { border-color: color-mix(in srgb, var(--error) 45%, transparent); }
  .d-fc-card.is-open { border-color: var(--accent-ink); }
  .d-fc-card:has(.d-fc-card-link:focus-visible) { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fc-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); }
  .d-fc-card-title { min-inline-size: 0; margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .d-fc-card-link { color: var(--text); text-decoration: none; outline: none; }
  .d-fc-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
  .d-fc-tags { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; }
  .d-fc-tags span { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--fill); color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .d-fc-address { margin: 0; color: var(--text-2); font-family: var(--font-mono); font-size: var(--step-caption); overflow-wrap: anywhere; }
  .d-fc-last { margin: 0; color: var(--text-2); font-size: var(--step-caption); }
  .d-fc-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
  .d-fc-add { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); min-block-size: calc(var(--tap) * 2); padding: var(--space); color: var(--accent-ink); text-decoration: none; border: calc(var(--line) * 1.5) dashed var(--separator); border-radius: var(--radius-l); }
  .d-fc-add.is-open { border-style: solid; border-color: var(--accent-ink); background: var(--accent-soft); }
  .d-fc-add .icon { inline-size: var(--icon); block-size: var(--icon); }
  .d-fc-add span { display: grid; gap: var(--space-2xs); }
  .d-fc-add span span { color: var(--text-2); font-size: var(--step-caption); }
  .d-fc-editor { scroll-margin-block-start: var(--contact-sticky); }
  .d-fc-empty { justify-items: start; scroll-margin-block-start: var(--contact-sticky); }
  .d-fc-empty .button { margin: 0; }
  .d-fc-danger { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .d-fc-log { display: grid; gap: var(--space-s); padding: var(--space-m); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-fc-preview { min-inline-size: 0; }
  .d-wh-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s) var(--space); }
  .d-wh-wide { grid-column: 1 / -1; }
  .d-wh-pair { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space); }
  .d-wh-code { margin: 0; max-block-size: calc(var(--tap) * 9); overflow: auto; padding: var(--space-s); border-radius: var(--radius); background: var(--bg); font: var(--step-caption)/1.5 var(--font-mono); white-space: pre; }
  .d-wh-expr { margin: 0; overflow-wrap: anywhere; }
  .d-wh-expr code { padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-s); background: var(--bg); font-family: var(--font-mono); font-size: var(--step-caption); }
  /* Settings: packed cards, one Save that stays in reach */
  .d-fs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); margin: 0; }
  .d-fs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--fs-group-min)), 1fr)); align-items: start; gap: var(--space); }
  .d-fs-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space-m); border: 0; border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--card-shadow); }
  .d-fs-legend { display: flex; align-items: center; gap: var(--space-xs); float: inline-start; inline-size: 100%; margin: 0; padding: 0; font: 700 var(--step-base)/1.3 var(--font-display); }
  .d-fs-legend .tile-icon { inline-size: var(--tile-s); block-size: var(--tile-s); }
  .d-fs-actions { position: sticky; inset-block-end: var(--space-s); z-index: 4; display: flex; inline-size: fit-content; padding: var(--space-xs); border: var(--line) solid var(--panel-glass-edge); border-radius: var(--tool-bar-radius); background: var(--panel-glass-bg); -webkit-backdrop-filter: var(--panel-glass-blur); backdrop-filter: var(--panel-glass-blur); box-shadow: var(--glass-shadow); }
  .d-fs-actions button.d-set-save { margin: 0; }
  .d-fs-danger { justify-items: start; }
  .d-fs-group textarea { padding: var(--space-xs) var(--space-s); line-height: 1.5; background: var(--field-bg); border: var(--line) solid var(--field-border); border-radius: var(--radius); }
  .d-wh-rotation { display: grid; gap: var(--space-xs); justify-items: start; padding: var(--space-s) var(--space); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .d-wh-rotation p { margin: 0; }
  .d-sure { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); margin: 0; }
  .d-sure-check { display: inline-flex; align-items: center; gap: var(--space-xs); margin: 0; color: var(--text-2); font-size: var(--step-small); font-weight: 400; }
  .d-fm-send button.d-fm-submit:active { scale: 0.98; }
  .fb-head-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-s) var(--space); }
  .fb-head-row .admin-title { margin: 0; }
  .d-fb-publish { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin: 0; }
  .d-fb-publish button.d-fb-live { display: inline-flex; align-items: center; gap: var(--space-xs); inline-size: auto; min-block-size: var(--tap); margin: 0; padding-inline: var(--space-m); border-radius: var(--radius-pill); }
  .d-fb-live-count { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--accent-text) 14%, transparent); font-size: var(--step-caption); font-weight: 700; }
  .d-fb-palette { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space); }
  .d-fb-pgroup { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); }
  .d-fb-pgroup-label { color: var(--text-2); font-size: var(--step-caption); font-weight: 600; text-transform: var(--label-case); letter-spacing: calc(0.04em * var(--label-track)); }
  .d-fb-undo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space); padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space); border-radius: var(--radius-pill); background: var(--info-bg); color: var(--info); font-size: var(--step-small); font-weight: 600; }
  /* phase 3: Cloudflare's check on the form, the site-wide settings page, "not checked" answers */
  .d-fm-check { flex: 1 1 100%; min-inline-size: 0; max-inline-size: 100%; }
  .d-fm-noscript { flex: 1 1 100%; margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--info-bg); color: var(--info); font-size: var(--step-small); }
  .d-fm-privacy a { color: var(--accent-ink); }
  .d-fset { display: grid; grid-template-columns: minmax(0, 1fr) var(--fb-side); align-items: start; gap: var(--space); }
  .d-fset-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space); min-inline-size: 0; }
  .d-fset-side { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-fset-state { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); }
  .d-fset-state-text { display: grid; justify-items: start; gap: var(--space-2xs); color: var(--text-2); font-size: var(--step-small); }
  .d-fset-forms { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; font-size: var(--step-small); }
  .d-fset-forms a { color: var(--accent-ink); font-weight: 600; }
  .d-fset-tools { display: grid; justify-items: start; gap: var(--space-s); }
  .d-fi-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); margin: 0; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--ok-bg); color: var(--ok); font-size: var(--step-small); }
  .d-fi-check.is-unverified { background: var(--accent-soft); color: var(--accent-ink); }
  .d-fi-check .icon { inline-size: 1.2em; block-size: 1.2em; }
  .d-fi-flag { padding: 0 var(--space-xs); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-ink); font-weight: 700; }
  .d-fi-release { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-s); margin: 0; padding: var(--space-s); border-radius: var(--radius-l); background: var(--accent-soft); }
  .d-fi-release .admin-card-hint { margin: 0; color: var(--accent-ink); }
  /* notification center (App\Notices, Admin -> Notices) and the red badge that goes when the problem is fixed */
  .d-admin-badge.is-alert { background: var(--error); color: var(--bg); }
  .d-nc { display: grid; grid-template-columns: minmax(0, 1fr) var(--fb-side); align-items: start; gap: var(--space); }
  .d-nc-main { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(var(--fc-card-min) * 1.4)), 1fr)); align-items: start; gap: var(--space); min-inline-size: 0; }
  .d-nc-side { display: grid; gap: var(--space); min-inline-size: 0; }
  .d-nc-card { display: grid; align-content: start; gap: var(--space-s); min-inline-size: 0; padding: var(--space-m); background: var(--surface); border: calc(var(--line) * 1.5) solid transparent; border-radius: var(--radius-xl); box-shadow: var(--card-shadow); }
  .d-nc-card.is-problem { border-color: color-mix(in srgb, var(--error) 55%, transparent); }
  .d-nc-card.is-warning { border-color: color-mix(in srgb, var(--accent-ink) 45%, transparent); }
  .d-nc-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-s); }
  .d-nc-card-text { display: grid; gap: var(--space-2xs); min-inline-size: 0; }
  .d-nc-card-title { margin: 0; font: 700 var(--step-base)/1.3 var(--font-display); overflow-wrap: anywhere; }
  .d-nc-meta { color: var(--text-2); font-size: var(--step-caption); }
  .d-nc-what { margin: 0; color: var(--text-2); font-size: var(--step-small); line-height: 1.5; overflow-wrap: anywhere; }
  .d-nc-sub { margin: 0; font-size: var(--step-small); font-weight: 700; }
  .d-nc-steps { display: grid; gap: var(--space-xs); margin: 0; padding-inline-start: var(--space-l); font-size: var(--step-small); line-height: 1.5; }
  .d-nc-steps li { overflow-wrap: anywhere; }
  .d-nc-code { display: grid; justify-items: start; gap: var(--space-xs); padding: var(--space-s); border-radius: var(--radius-l); background: var(--fill); }
  .d-nc-code pre { max-inline-size: 100%; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--font-mono); font-size: var(--step-caption); }
  .d-nc-code-label { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 600; }
  .d-nc-go { margin: 0; }
  .d-nc-closed { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
  .d-nc-closed li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-xs); font-size: var(--step-small); }
  .d-nc-closed li span span { display: block; color: var(--text-2); font-size: var(--step-caption); }
  .d-nc-closed-mark { color: var(--ok); }
  .d-nc-closed-mark .icon { inline-size: 1.2em; block-size: 1.2em; }
  .d-nc-clear { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-s); }
  .d-nc-clear span span { display: block; color: var(--text-2); font-size: var(--step-small); }
  .d-nc-clear-mark { display: grid; place-items: center; inline-size: var(--tile-s); block-size: var(--tile-s); border-radius: 50%; background: var(--ok-bg); color: var(--ok); }
  .d-fi-more { margin: var(--space-s) 0 0; }
  /* the score as a dropdown in the header (owner, 2026-10-09: the card was too big): badge + list on demand */
  .d-fb-score { position: relative; flex: none; margin-inline-start: auto; }
  .d-fb-score-summary { display: inline-grid; grid-auto-flow: column; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-s) var(--space-2xs) var(--space-2xs); list-style: none; border: var(--line) solid var(--separator); border-radius: var(--radius-pill); background: var(--surface); cursor: pointer; }
  .d-fb-score-summary::-webkit-details-marker { display: none; }
  .d-fb-score-summary:focus-visible { outline: var(--focus-ring) solid var(--focus-color); outline-offset: var(--space-2xs); }
  .d-fb-score-ring { inline-size: calc(var(--tap) * 0.72); block-size: calc(var(--tap) * 0.72); rotate: -90deg; }
  .d-fb-score-track { fill: none; stroke: var(--fill); stroke-width: 4; }
  .d-fb-score-value { fill: none; stroke: var(--accent-ink); stroke-width: 4; stroke-linecap: round; }
  .d-fb-score.is-done .d-fb-score-value { stroke: var(--ok); }
  .d-fb-score.is-problem .d-fb-score-value { stroke: var(--error); }
  .d-fb-score-num { font: 700 var(--step-base)/1 var(--font-display); font-variant-numeric: tabular-nums; }
  .d-fb-score-line { color: var(--text-2); font-size: var(--step-small); font-weight: 600; white-space: nowrap; }
  .d-fb-score.is-problem .d-fb-score-line { color: var(--error); }
  .d-fb-score-chevron { inline-size: 1em; block-size: 1em; color: var(--text-2); transition: rotate var(--dur) var(--ease-out); }
  .d-fb-score[open] .d-fb-score-chevron { rotate: 180deg; }
  .d-fb-score-panel { position: absolute; inset-block-start: calc(100% + var(--space-xs)); inset-inline-end: 0; z-index: 30; display: grid; gap: var(--space-s); inline-size: calc(var(--fb-side) * 1.35); max-block-size: calc(var(--tap) * 11); overflow: auto; padding: var(--space-m); border: var(--line) solid var(--separator); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--glass-shadow); }
  .d-fb-score-title { margin: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; text-transform: var(--label-case); letter-spacing: calc(0.04em * var(--label-track)); }
  .d-fb.is-settings { grid-template-columns: minmax(0, 1fr); }
  .d-fb-block > .d-fm-field { flex: 1 1 auto; }
  /* the inspector in groups (owner, 2026-10-09: "scattered"): a quiet line and a small heading per decision, the rare part folded */
  .d-fi-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); min-inline-size: 0; margin: 0; padding: var(--space-s) 0 0; border: 0; border-block-start: var(--line) solid var(--separator); }
  .d-fi-group:first-of-type { padding-block-start: 0; border-block-start: 0; }
  .d-fi-legend { float: inline-start; inline-size: 100%; margin: 0; padding: 0; color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  .d-fi-more { margin: 0; padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); }
  .d-fi-more-summary { display: flex; align-items: center; gap: var(--space-s); min-block-size: var(--control); color: var(--text-2); font-size: var(--step-caption); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; list-style: none; cursor: pointer; }
  .d-fi-more-summary code { padding: 0 var(--space-xs); border-radius: var(--radius); background: var(--fill); color: var(--text); font-size: var(--step-caption); letter-spacing: 0; text-transform: none; }
  .d-fi-more-body { display: grid; gap: var(--space-s); padding-block-start: var(--space-xs); }
  .d-fi-more-summary::-webkit-details-marker { display: none; }
  .d-fi-more-chevron { inline-size: 1.1em; block-size: 1.1em; margin-inline-start: auto; transition: rotate var(--dur-fast) var(--ease-out); }
  .d-fi-more[open] .d-fi-more-chevron { rotate: 180deg; }
  /* forms module: the phone trees, hidden on computers */
  .m-fm { display: none; }
  .m-fm-main { display: none; }
  .m-fm-form { display: none; }
  .m-fm-summary { display: none; }
  .m-fm-summary:focus { display: none; }
  .m-fm-summary-title { display: none; }
  .m-fm-summary-list { display: none; }
  .m-fm-summary-list a { display: none; }
  .m-fm-sections { display: none; }
  .m-fm-section { display: none; }
  .m-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) { display: none; }
  .m-fm-section-head { display: none; }
  .m-fm-section-head:not(:has(.m-fm-section-icon)) { display: none; }
  .m-fm-section-text { display: none; }
  .m-fm-section-title { display: none; }
  .m-fm-section-hint { display: none; }
  .m-fm-section-done { display: none; }
  .m-fm-section-done span { display: none; }
  .m-fm-section-done .icon { display: none; }
  .m-fm-section.has-required:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .m-fm-section-done { display: none; }
  .m-fm-grid { display: none; }
  .m-fm-w-third { display: none; }
  .m-fm-w-half { display: none; }
  .m-fm-w-full { display: none; }
  .m-fm-field { display: none; }
  .m-fm-field .m-fm-label { display: none; }
  .m-fm-optional { display: none; }
  .m-fm-hint { display: none; }
  .m-fm-error { display: none; }
  .m-fm-control { display: none; }
  .m-fm-control input.m-fm-input, .m-fm-control textarea.m-fm-textarea, .m-fm-control select.m-fm-select { display: none; }
  .m-fm-control textarea.m-fm-textarea { display: none; }
  .m-fm-control select.m-fm-select { display: none; }
  .m-fm-control :is(input, textarea, select):focus-visible { display: none; }
  .m-fm-control :is(input, textarea, select):user-invalid, .m-fm-field.is-invalid .m-fm-control :is(input, textarea, select) { display: none; }
  .m-fm-tick { display: none; }
  .m-fm-tick .icon { display: none; }
  .m-fm-control [required]:user-valid + .m-fm-tick { display: none; }
  .m-fm-tiles { display: none; }
  .m-fm-tiles.is-list { display: none; }
  .m-fm-tile { display: none; }
  .m-fm-tile-input { display: none; }
  .m-fm-tile-face { display: none; }
  .m-fm-tile-face:has(.tile-icon) { display: none; }
  .m-fm-tile-text { display: none; }
  .m-fm-tile-text strong { display: none; }
  .m-fm-tile-text span { display: none; }
  .m-fm-tile-mark { display: none; }
  .m-fm-tile-mark.is-box { display: none; }
  .m-fm-tile-mark .icon { display: none; }
  .m-fm-tile-input:checked + .m-fm-tile-face { display: none; }
  .m-fm-tile-input:checked + .m-fm-tile-face .m-fm-tile-mark { display: none; }
  .m-fm-tile-input:focus-visible + .m-fm-tile-face { display: none; }
  .m-fm-tile:active .m-fm-tile-face { display: none; }
  .m-fm-field.is-invalid .m-fm-tile-face { display: none; }
  .m-fm-segment .m-segment-face { display: none; }
  .m-fm-consent { display: none; }
  .m-fm-check { display: none; }
  .m-fm-consent-mark { display: none; }
  .m-fm-consent-mark .icon { display: none; }
  .m-fm-consent-text { display: none; }
  .m-fm-consent:has(.m-fm-check:checked) { display: none; }
  .m-fm-consent:has(.m-fm-check:checked) .m-fm-consent-mark { display: none; }
  .m-fm-consent:has(.m-fm-check:focus-visible) { display: none; }
  .m-fm-field.is-invalid .m-fm-consent { display: none; }
  .m-fm-text { display: none; }
  .m-fm-text span { display: none; }
  .m-fm-send { display: none; }
  .m-fm-send button.m-fm-submit { display: none; }
  .m-fm-send button.m-fm-submit.is-busy { display: none; }
  .m-fm-ready { display: none; }
  .m-fm-ready .icon { display: none; }
  .m-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) .m-fm-ready { display: none; }
  .m-fm-form:not(:has(:invalid)):not(:has([data-fm-required]:not(:has(:checked)))) button.m-fm-submit { display: none; }
  .m-fm-progress { display: none; }
  .m-fm-meter { display: none; }
  .m-fm-meter::-webkit-progress-bar { display: none; }
  .m-fm-meter::-webkit-progress-value { display: none; }
  .m-fm-meter::-moz-progress-bar { display: none; }
  .m-fm-progress-text { display: none; }
  .m-fm-progress.is-complete .m-fm-progress-text { display: none; }
  .m-fm-next { display: none; }
  .m-fm-next-title { display: none; }
  .m-fm-steps { display: none; }
  .m-fm-step { display: none; }
  .m-fm-step-n { display: none; }
  .m-fm-privacy { display: none; }
  .m-fm-privacy .icon { display: none; }
  .m-done { display: none; }
  .m-done-next-title { display: none; }
  .m-done-steps { display: none; }
  .m-done-step { display: none; }
  .m-done-step-n { display: none; }
  .m-done-actions { display: none; }
  .m-done-actions .button { display: none; }
  .m-done-link { display: none; }
  .m-done-link .icon { display: none; }
  .m-fg { display: none; }
  .m-fg-new { display: none; }
  .m-fg-new-title { display: none; }
  .m-fg-new-hint { display: none; }
  .m-fg-starts { display: none; }
  .m-fg-starts button.m-fg-start { display: none; }
  .m-fg-starts button.m-fg-start:hover { display: none; }
  .m-fg-start strong { display: none; }
  .m-fg-start span { display: none; }
  .m-fg-card { display: none; }
  .m-fg-card:has(.m-fg-card-link:focus-visible) { display: none; }
  .m-fg-card-head { display: none; }
  .m-fg-card-text { display: none; }
  .m-fg-card-title { display: none; }
  .m-fg-card-link { display: none; }
  .m-fg-card-link::after { display: none; }
  .m-fg-card-path { display: none; }
  .m-fg-figures { display: none; }
  .m-fg-figures div { display: none; }
  .m-fg-figures dt { display: none; }
  .m-fg-figures dd { display: none; }
  .m-fg-card-foot { display: none; }
  .m-fg-card-actions { display: none; }
  .m-fb { display: none; }
  .m-fb-stage { display: none; }
  .m-fb-stage-title { display: none; }
  .m-fb-canvas { display: none; }
  .m-fb-section { display: none; }
  .m-fb-section-head { display: none; }
  .m-fb-section-head:not(:has(.tile-icon)) { display: none; }
  .m-fb-section-text { display: none; }
  .m-fb-section-text strong { display: none; }
  .m-fb-section-text span { display: none; }
  .m-fb-grid { display: none; }
  .m-fb-block { display: none; }
  .m-fb-block.is-selected, .m-fb-section-head.is-selected { display: none; }
  .m-fb-pick { display: none; }
  .m-fb-pick:focus-visible { display: none; }
  .m-fb-grip { display: none; }
  .m-fb-auto { display: none; }
  .m-fb-tools { display: none; }
  .m-fb-selection { display: none; }
  .m-fb-selection-name { display: none; }
  .m-fb-selection-name span { display: none; }
  .m-fb-selection-name strong { display: none; }
  .m-fb-widths { display: none; }
  .m-fb-tools button.m-fb-width { display: none; }
  .m-fb-tools button.m-fb-width.is-on { display: none; }
  .m-fb-tools button.m-fb-tool { display: none; }
  .m-fb-tools button.m-fb-tool.is-danger { display: none; }
  .m-fb-tools button.m-fb-width:hover, .m-fb-tools button.m-fb-tool:hover { display: none; }
  .m-fb-tools button.m-fb-width.is-on:hover { display: none; }
  .m-fb-tool .icon { display: none; }
  .m-fb-empty { display: none; }
  .m-fb-palette-form { display: none; }
  .m-fb-palette { display: none; }
  .m-fb-palette button.m-fb-add { display: none; }
  .m-fb-palette button.m-fb-add:hover { display: none; }
  .m-fb-add-text { display: none; }
  .m-fb-add-text strong { display: none; }
  .m-fb-add-text span { display: none; }
  .m-fb-palette-more { display: none; }
  .m-fb-coach { display: none; }
  .m-fb-coach-line { display: none; }
  .m-fb-checks { display: none; }
  .m-fb-check { display: none; }
  .m-fb-check .sd-action, .m-fb-check .sd-inline-form { display: none; }
  .m-fb-check-icon { display: none; }
  .m-fb-check.is-must .m-fb-check-icon { display: none; }
  .m-fb-check.is-advice .m-fb-check-icon { display: none; }
  .m-fb-check.is-ok .m-fb-check-icon { display: none; }
  .m-fb-check-icon .icon { display: none; }
  .m-fb-check-text { display: none; }
  .m-fb-check-text span { display: none; }
  .m-fb-check-text em { display: none; }
  .m-fb-passed summary { display: none; }
  .m-fb-passed .m-fb-checks { display: none; }
  .m-fb-type { display: none; }
  .m-fb-pair { display: none; }
  .m-fb-sub { display: none; }
  .m-fi { display: none; }
  .m-fi-figures { display: none; }
  .m-fi-figures div { display: none; }
  .m-fi-figures dt { display: none; }
  .m-fi-figures dd { display: none; }
  .m-fi-chips { display: none; }
  .m-fi-chip { display: none; }
  .m-fi-chip span { display: none; }
  .m-fi-chip.is-on { display: none; }
  .m-fi-chip.is-on span { display: none; }
  .m-fi-master { display: none; }
  .m-fi-list { display: none; }
  .m-fi-card { display: none; }
  .m-fi-card.is-open { display: none; }
  .m-fi-card-top { display: none; }
  .m-fi-card-top strong { display: none; }
  .m-fi-card.is-new .m-fi-card-top strong::before { display: none; }
  .m-fi-status { display: none; }
  .m-fi-status.is-new { display: none; }
  .m-fi-status.is-answered { display: none; }
  .m-fi-preview { display: none; }
  .m-fi-meta { display: none; }
  .m-fi-detail { display: none; }
  .m-fi-detail.is-empty { display: none; }
  .m-fi-detail-head { display: none; }
  .m-fi-answers { display: none; }
  .m-fi-answer { display: none; }
  .m-fi-answer dt { display: none; }
  .m-fi-answer dd { display: none; }
  .m-fi-actions { display: none; }
  .m-wh-form { display: none; }
  .m-wh-actions { display: none; }
  .m-wh-secret { display: none; }
  .m-wh-secret p { display: none; }
  .m-wh-secret code { display: none; }
  .m-wh-reason { display: none; }
  .m-wh-log { display: none; }
  .m-wh-entry { display: none; }
  .m-wh-entry .sd-inline-form { display: none; }
  .m-wh-entry-top { display: none; }
  .m-wh-entry-top strong { display: none; }
  .m-wh-state { display: none; }
  .m-wh-entry.is-sent .m-wh-state { display: none; }
  .m-wh-entry.is-failed .m-wh-state { display: none; }
  .m-wh-entry-meta { display: none; }
  .m-wh-entry-error { display: none; }
  .m-wh-only { display: none; }
  .m-wh-form:has([name="auth_kind"] option[value="basic"]:checked) .m-wh-only-basic, .m-wh-form:has([name="auth_kind"] option[value="header"]:checked) .m-wh-only-header, .m-wh-form:has([name="auth_kind"] option[value="jwt"]:checked) .m-wh-only-jwt, .m-wh-form:has([name="auth_kind"] option[value="signed"]:checked) .m-wh-only-signed { display: none; }
  .m-wh-form:not(:has([name="auth_kind"] option[value="none"]:checked)) .m-wh-only-secret { display: none; }
  .m-wh-form:has([name="method"][value="GET"]:checked) .m-wh-only-post { display: none; }
  .m-fm-tabs { display: none; }
  .m-fm-tab { display: none; }
  .m-fm-tab .icon { display: none; }
  .m-fm-tab.is-current { display: none; }
  .m-fm-tab-badge { display: none; }
  .m-fc { display: none; }
  .m-fc-list { display: none; }
  .m-fc-cards { display: none; }
  .m-fc-card { display: none; }
  .m-fc-card.is-problem { display: none; }
  .m-fc-card.is-open { display: none; }
  .m-fc-card:has(.m-fc-card-link:focus-visible) { display: none; }
  .m-fc-card-head { display: none; }
  .m-fc-card-title { display: none; }
  .m-fc-card-link { display: none; }
  .m-fc-card-link::after { display: none; }
  .m-fc-tags { display: none; }
  .m-fc-tags span { display: none; }
  .m-fc-address { display: none; }
  .m-fc-last { display: none; }
  .m-fc-actions { display: none; }
  .m-fc-add { display: none; }
  .m-fc-add.is-open { display: none; }
  .m-fc-add .icon { display: none; }
  .m-fc-add span { display: none; }
  .m-fc-add span span { display: none; }
  .m-fc-editor { display: none; }
  .m-fc-empty { display: none; }
  .m-fc-empty .button { display: none; }
  .m-fc-danger { display: none; }
  .m-fc-log { display: none; }
  .m-fc-preview { display: none; }
  .m-wh-grid { display: none; }
  .m-wh-wide { display: none; }
  .m-wh-pair { display: none; }
  .m-wh-code { display: none; }
  .m-wh-expr { display: none; }
  .m-wh-expr code { display: none; }
  .m-fs { display: none; }
  .m-fs-grid { display: none; }
  .m-fs-group { display: none; }
  .m-fs-legend { display: none; }
  .m-fs-legend .tile-icon { display: none; }
  .m-fs-actions { display: none; }
  .m-fs-actions button.m-set-save { display: none; }
  .m-fs-danger { display: none; }
  .m-fs-group textarea { display: none; }
  .m-wh-rotation { display: none; }
  .m-wh-rotation p { display: none; }
  .m-sure { display: none; }
  .m-sure-check { display: none; }
  .m-fm-send button.m-fm-submit:active { display: none; }
  .m-fb-publish { display: none; }
  .m-fb-publish button.m-fb-live { display: none; }
  .m-fb-live-count { display: none; }
  .m-fb-pgroup { display: none; }
  .m-fb-pgroup-label { display: none; }
  .m-fb-undo { display: none; }
  .m-fm-noscript { display: none; }
  .m-fm-privacy a { display: none; }
  .m-fset { display: none; }
  .m-fset-state { display: none; }
  .m-fset-state-text { display: none; }
  .m-fset-forms { display: none; }
  .m-fset-forms a { display: none; }
  .m-fset-tools { display: none; }
  .m-fset-fold { display: none; }
  .m-fset-fold summary { display: none; }
  .m-fi-check { display: none; }
  .m-fi-check.is-unverified { display: none; }
  .m-fi-check .icon { display: none; }
  .m-fi-flag { display: none; }
  .m-fi-release { display: none; }
  .m-fi-release .admin-card-hint { display: none; }
  .m-admin-badge.is-alert { display: none; }
  .m-nc { display: none; }
  .m-nc-card { display: none; }
  .m-nc-card.is-problem { display: none; }
  .m-nc-card.is-warning { display: none; }
  .m-nc-card-head { display: none; }
  .m-nc-card-head .m-fold-chip { display: none; }
  .m-nc-card-text { display: none; }
  .m-nc-card-title { display: none; }
  .m-nc-meta { display: none; }
  .m-nc-what { display: none; }
  .m-nc-sub { display: none; }
  .m-nc-steps { display: none; }
  .m-nc-steps li { display: none; }
  .m-nc-code { display: none; }
  .m-nc-code pre { display: none; }
  .m-nc-code-label { display: none; }
  .m-nc-go { display: none; }
  .m-nc-fold summary { display: none; }
  .m-nc-closed { display: none; }
  .m-nc-closed li { display: none; }
  .m-nc-closed li span span { display: none; }
  .m-nc-closed-mark { display: none; }
  .m-nc-closed-mark .icon { display: none; }
  .m-nc-clear { display: none; }
  .m-nc-clear span span { display: none; }
  .m-nc-clear-mark { display: none; }
  .m-fi-more { display: none; }
  .m-fb-score { display: none; }
  .m-fb-score-summary { display: none; }
  .m-fb-score-summary::-webkit-details-marker { display: none; }
  .m-fb-score-summary:focus-visible { display: none; }
  .m-fb-score-ring { display: none; }
  .m-fb-score-track { display: none; }
  .m-fb-score-value { display: none; }
  .m-fb-score.is-done .m-fb-score-value { display: none; }
  .m-fb-score.is-problem .m-fb-score-value { display: none; }
  .m-fb-score-num { display: none; }
  .m-fb-score-line { display: none; }
  .m-fb-score.is-problem .m-fb-score-line { display: none; }
  .m-fb-score-chevron { display: none; }
  .m-fb-score[open] .m-fb-score-chevron { display: none; }
  .m-fb-score-panel { display: none; }
  .m-fb-score-title { display: none; }
  .m-fb-block > .m-fm-field { display: none; }
  .m-fi-group { display: none; }
  .m-fi-group:first-of-type { display: none; }
  .m-fi-legend { display: none; }
  .m-fi-more-summary { display: none; }
  .m-fi-more-summary code { display: none; }
  .m-fi-more-body { display: none; }
  .m-fi-more-summary::-webkit-details-marker { display: none; }
  .m-fi-more-chevron { display: none; }
  .m-fi-more[open] .m-fi-more-chevron { display: none; }
}

/* ---- 6. Motion (shared; all disabled for prefers-reduced-motion) -------- */
@view-transition { navigation: auto; }
/* No white wash between pages (owner, 2026-10-05: "remove white flashes when we click links"). The browser's default
   root cross-fade fades the old page OUT while the new one fades IN (plus-lighter blend): half-way both are see-through
   and a dark page washes out pale. Here the old page stays solid underneath and the new one fades in over it, quickly. */
::view-transition-old(root) { animation: none; mix-blend-mode: normal; }
::view-transition-new(root) { animation: vt-page-in var(--dur-fast) var(--ease-out) both; mix-blend-mode: normal; }
@keyframes vt-page-in { from { opacity: 0; } }
/* iOS 26 tab bar: the selection pill slides from the old tab to the new one across pages (owner, 2026-10-03). */
::view-transition-group(island-pill), ::view-transition-group(desk-pill) { animation-duration: var(--dur-sheet); animation-timing-function: var(--ease-spring); }

@starting-style {
  .sheet[open] { transform: translateY(100%); }
  .sheet[open]::backdrop { background: transparent; }
  .mega:popover-open { opacity: 0; transform: translateY(calc(var(--space-s) * -1)) scale(0.98); }
  .m-consent[open] { transform: translateY(calc(100% + var(--space-xl))); }
  .d-consent[open] { opacity: 0; transform: translateY(var(--space)) scale(0.98); }
  .m-consent[open]::backdrop, .d-consent[open]::backdrop { background: transparent; }
}

@keyframes kb-zoom-in { from { transform: scale(1); } to { transform: scale(1.09); } }
@keyframes kb-zoom-out { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes kb-pan-left { from { transform: scale(1.1) translateX(2.5%); } to { transform: scale(1.1) translateX(-2.5%); } }
@keyframes kb-pan-right { from { transform: scale(1.1) translateX(-2.5%); } to { transform: scale(1.1) translateX(2.5%); } }
@keyframes rise { from { opacity: 0; transform: translateY(0.75rem); } to { opacity: 1; transform: none; } }
@keyframes ring-draw { from { stroke-dasharray: 0 100; } }
@keyframes win-pop { 0% { opacity: 0; transform: scale(0.86); } 60% { opacity: 1; transform: scale(1.04); } 100% { opacity: 1; transform: none; } }
@keyframes fold-open { from { opacity: 0; transform: translateY(calc(var(--space-2xs) * -1)); } to { opacity: 1; transform: none; } }
@keyframes dot-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
/* Forms module: the celebrated end (peak-end rule, plan §4.13) - the badge pops, the check draws itself, one soft ring
   goes out twice, the words rise in. The send button wakes once when the form is ready. All off under reduced motion. */
@keyframes fm-pop { 0% { opacity: 0; scale: 0.4; } 60% { opacity: 1; scale: 1.08; } 100% { opacity: 1; scale: 1; } }
@keyframes fm-draw { from { stroke-dasharray: 0 60; } to { stroke-dasharray: 60 0; } }
@keyframes fm-ring { 0% { opacity: 0.6; scale: 1; } 100% { opacity: 0; scale: 1.9; } }
@keyframes fm-wake { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); } 100% { box-shadow: 0 0 0 var(--space-s) transparent; } }
.fm-done.is-celebrating .fm-done-badge { animation: fm-pop 0.7s var(--ease-spring) both; }
.fm-done.is-celebrating .fm-done-badge .icon { stroke-dasharray: 60 0; animation: fm-draw 0.55s var(--ease-out) 0.3s both; }
.fm-done.is-celebrating .fm-done-ring { animation: fm-ring 1.1s var(--ease-out) 0.4s 2 both; }
.fm-done.is-celebrating .fm-done-title, .fm-done.is-celebrating .fm-done-text, .fm-done.is-celebrating .fm-done-ref { animation: rise 0.6s var(--ease-out) 0.35s both; }
.fm-done.is-celebrating .fm-done-text { animation-delay: 0.45s; }
.fm-done.is-celebrating .fm-done-ref { animation-delay: 0.55s; }

.slider.is-enhanced .slide.is-active .slide-image { animation: kb-zoom-in calc(var(--slide-duration) + 2s) linear both; }
.slider.is-enhanced .motion-zoom-out.is-active .slide-image { animation-name: kb-zoom-out; }
.slider.is-enhanced .motion-pan-left.is-active .slide-image { animation-name: kb-pan-left; }
.slider.is-enhanced .motion-pan-right.is-active .slide-image { animation-name: kb-pan-right; }
.slider.is-enhanced .slide.is-active .slide-caption > * { animation: rise 0.7s var(--ease-out) both; }
.slider.is-enhanced .slide.is-active .slide-caption > :nth-child(2) { animation-delay: 0.08s; }
.slider.is-enhanced .slide.is-active .slide-caption > :nth-child(3) { animation-delay: 0.16s; }
.slider.is-enhanced .slide.is-active .slide-caption > :nth-child(4) { animation-delay: 0.24s; }
.slider.is-enhanced .slider-dot.is-active .slider-dot-fill { animation: dot-fill var(--slide-duration) linear both; }
.slider.is-paused .slide.is-active .slide-image { animation-play-state: paused; }

@media (hover: hover) {
  .d-notfound-link:hover { background: var(--glass-selected); }
  .d-notfound-link:hover .icon-go-d { transform: translateX(calc(var(--space-2xs) * var(--dir))); }
  .d-crumbs-link:hover { text-decoration: underline; }
  .d-fold-head:hover { background: var(--fill); }
  .d-article-tag:hover { border-color: var(--accent); text-decoration: underline; }
  .button:hover, button[type="submit"]:hover, .desk-cta:hover, .slide-button:hover { background: var(--accent-hover); filter: none; }
  .feature-card.is-linked:hover .more { text-decoration-color: var(--accent); }
  .feature-card.is-linked:hover .more .icon, .more-link:hover .icon { transform: translateX(calc(var(--space-2xs) * var(--dir))); }
  .more-link:hover { color: var(--accent-ink-hover); }
  .d-table tbody tr:hover { background: var(--glass-selected); }
  .d-feature:hover { transform: translateY(calc(var(--space-xs) * -1)); box-shadow: var(--glass-shadow); }
  .feature-card:hover { transform: translateY(calc(var(--space-xs) * -1)); box-shadow: var(--glass-shadow); }
  .slide-button:hover .icon { transform: translateX(calc(var(--space-2xs) * var(--dir))); }
  .desk-group:hover .icon-chevron { transform: translateY(var(--space-2xs)); }
  /* §6e: a clickable card lifts a little and its narrow arrow moves on (Material 3 hover: low-emphasis state + elevation). */
  .d-lead:hover { transform: translateY(var(--go-lift)); }
  .d-lead:hover .d-go-icon, .d-card:hover .d-go-icon, .d-related-card:hover .d-go-icon, .mega-item:hover .mega-go-icon,
  .feature-card.is-linked:hover .more .icon, .d-notfound-link:hover .icon-go-d { transform: translateX(calc(var(--go-shift) * var(--dir))); color: var(--accent-ink); }
}
/* §6e: keyboard focus gets the same cue as hover, on every device (WCAG 2.4.7; the ring itself is in the blocks). */
.d-lead:has(.card-link:focus-visible) .d-go-icon, .d-card:has(.card-link:focus-visible) .d-go-icon, .d-related-card:has(.card-link:focus-visible) .d-go-icon,
.mega-item:focus-visible .mega-go-icon, .m-lead:has(.card-link:focus-visible) .m-go-icon, .m-row:has(.card-link:focus-visible) .m-go-icon,
.m-related-row:has(.card-link:focus-visible) .m-go-icon { transform: translateX(calc(var(--go-shift) * var(--dir))); color: var(--accent-ink); }
/* Touch: the pressed card shows its arrow in the accent (Material 3 pressed state); no movement needed. */
.m-lead:active .m-go-icon, .m-row:active .m-go-icon, .m-related-row:active .m-go-icon, .sheet-item:active .icon-go { color: var(--accent-ink); }

:root[data-motion="reduce"] *, :root[data-motion="reduce"] *::before, :root[data-motion="reduce"] *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
:root[data-motion="reduce"] .d-go-icon, :root[data-motion="reduce"] .m-go-icon, :root[data-motion="reduce"] .mega-go-icon, :root[data-motion="reduce"] .d-lead, :root[data-motion="reduce"] .d-card, :root[data-motion="reduce"] .d-related-card { transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .d-go-icon, .m-go-icon, .mega-go-icon, .d-lead, .d-card, .d-related-card { transform: none !important; }
}

/* ---- 7. State colours (tokens only, same meaning on every device) ------ */
.notice-error { background: var(--error-bg); color: var(--error); }
.notice-success { background: var(--ok-bg); color: var(--ok); font-weight: 600; animation: win-pop 0.6s var(--ease-spring) both; }
.notice-success::before { content: "\2713"; margin-inline-end: var(--space-xs); font-weight: 800; }
.notice-info { background: var(--info-bg); color: var(--info); }
.status-new { background: var(--accent); color: var(--accent-text); }
.status-read { background: var(--info-bg); color: var(--info); }
.status-answered { background: var(--ok-bg); color: var(--ok); }
.status-closed { background: var(--fill); color: var(--text-2); }
.admin-dot.is-ok { background: var(--ok); }
.admin-dot.is-bad { background: var(--error); }

/* Footer accordion reveal (mobile); the reduced-motion switch above turns animations off. */
@keyframes footer-reveal { from { opacity: 0; transform: translateY(calc(var(--space-xs) * -1)); } to { opacity: 1; transform: none; } }
