/* The token values of the drawing, copied VERBATIM from the Application PoC's
 * generated `oberflaeche/tokens.css` (order 28). That file is generated by the
 * PoC's `werkzeug/tokens-erzeugen.mjs` from
 * platform/packages/design-tokens/src/sets/base-tokens.ts and plait.ts; no
 * value here is invented.
 *
 * Auftrag 35: the SOURCE carries again what this file carries, held by
 * tests/look.test.ts (`35-A1-source`): every colour of both sets, both type
 * families, and every size as the source's value times the window step (below).
 * The four colours order 32 repaired here because they fell below the contrast
 * limit of Tokensatz E7 (dark `text-muted` #828282; light `danger` #cd262a,
 * `warn` #965d08, `ok` #157b3d) now stand in design-tokens too.
 *
 * 🔴 EXCEPT THE EDGES, declared in order 32b (WCAG 1.4.11, 3 to 1): `border`
 * dark #2a2a2a -> #666666 (was 1.21 on surface-elevated), light #dcdcdc ->
 * #888888 (1.16). The source still carries the old values on purpose: the Hub
 * draws every card edge with that token, and the change would be a visible
 * change of the Hub that no order of the Hub asked for. Named in the stone's
 * exception list and in the report of Auftrag 35 as a question to the owner.
 *
 * 🔴 OWNER 2026-10-22: of PLAIT's own suits only GOLD stays, and Gold is the
 * STANDARD. The base block (`:root`, worn as `dark`), the device's light and
 * the suit `light` carry design-tokens' Gold sets (`SUIT_SETS.dark` / `.light`,
 * `plaitGoldDark` / `plaitGoldLight`), the edge included: Gold's edge is
 * Ship's and holds 3 to 1, so no exception is needed there. The suits PLAIT
 * Suite (Ship), Control (`control-*`) and Dark Blue (`dark-blue`) are gone; the
 * customers' suits stay. The decor colours are the carrier's chosen values per
 * suit, as before.
 */

/* Order 33, step 5b: the editor's stage may wear a suit of its own (the view); the frame then carries the suit's tokens itself.
   🔴 Auftrag 38d (c): the element standing for the DOCUMENT in a portal (`data-plait-page`, a shadow root where `:root`
   matches nothing) carries this base as `:root` does, whatever suit it wears: the suit blocks below override their
   colours (same weight, later), and the values no suit carries (motion, type families, devices) stand only here. */
/* Owner 2026-10-22: PLAIT Gold is the standard and wears the ids `dark`/`light`. The ids `gold-dark`/`gold-light`
   stay accepted as ALIASES because the installed APK still hands them (PortalPage.webSuitOf, Planner App changes it
   to dark/light); remove the aliases once that APK is out. */
.stage-frame[data-topic="gold-dark"], .stage-frame[data-plait-page], .stage-frame[data-topic="dark"], :root {
  --plait-mark-glow-inward-from: 14%;
  --plait-mark-glow-inward-to: 0%;
  --plait-mark-glow-outward: 10%;
  --plait-mark-glow-core-width: 3px;
  --plait-mark-glow-core-mix: 20%;
  --plait-mark-glow-intensity: 1;
  --plait-mark-glow-scope: block;
  /* Owner 2026-10-10 (D8 of the Ship look, design-tokens sets/ship-look.ts): the standard suit may be blended stepless
     between its light and its dark set. Read by the carrier's brightness (render/brightness.ts); a suit that sets 0
     reaches its two ends only. The band its script cannot hold (`plait.blend.gap: skip`) is not a value here: the
     carrier never draws an unreadable page (order 32, E7) and MEASURES where that is, over all of its pairs. */
  --plait-blend-stepless: 1;
  /* Chosen design values, declared as tokens; they belong to plait-design
     later. Minimum sizes and touch targets are NOT here: sizes are measured,
     and the target size is ergonomics (given, with reason and source). */
  --plait-opacity-disabled: 0.5;
  --plait-opacity-veil-from: 22%;
  --plait-opacity-veil-to: 0%;
  /* Auftrag 35 (A1): the system's own faces, from design-tokens; the reason stands at the source. */
  --plait-type-ui-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --plait-type-mono-family: ui-monospace, "Cascadia Mono", "Roboto Mono", monospace;
  /* Owner 2026-10-13: PLAIT ist dezent, duennlinig (body and title 300, labels 400) */
  --plait-type-body-weight: 300;
  --plait-type-body-line-height: 1.45;
  --plait-type-label-weight: 400;
  --plait-type-title-weight: 300;
  --plait-type-tracking-label: 0.2em;

  --plait-color-bg: #14181d;
  --plait-color-surface: #1b2027;
  --plait-color-surface-elevated: #1d2228;
  --plait-color-text: #e8edf3;
  --plait-color-text-muted: #8e98a4;
  --plait-color-accent: #d4b06a;
  --plait-color-accent-muted: #a8843f;
  --plait-color-on-accent: #0b0e11;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #ff8330;
  /* owner 2026-10-19: the levels of the official weather warnings (MeteoAlarm yellow, orange, red), in every suit */
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #5f6f82;
  --plait-color-focus: #d4b06a;
  --plait-color-tile-gradient-1: #1d2228;
  --plait-color-tile-gradient-2: #181d23;
  --plait-color-tile-gradient-3: #13171c;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #b8975a;
  --plait-color-monogram-gradient-2: #d4b06a;
  --plait-color-monogram-gradient-3: #e2c27f;
  --plait-color-monogram-gradient-4: #efd49a;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  /* Auftrag 38a (D3): the hairline without meaning; (L2) the ground of a field and its rim; the quiet cover tones. */
  --plait-color-divider: #2c333c;
  --plait-color-piece: #1b2027;
  --plait-color-piece-edge: #2c333c;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;

  /* Auftrag 38a: MOTION, from design-tokens (base-tokens.ts). Every animation and transition reads one of these and
     stops when the device asks for less motion (style.css, one rule for all). */
  --plait-motion-breathe: 7s;
  --plait-motion-rise: 0.7s;
  --plait-motion-float-in: 0.8s;
  --plait-motion-equalizer: 1.1s;
  --plait-motion-quick: 0.25s;
  --plait-motion-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  /* Owner 2026-10-22 (render/spring.ts): the suit's spring (design-tokens ship-look D9, the same in every suit) */
  --plait-motion-spring: 0.36s;
  --plait-motion-spring-ease: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Order 32 (E40): the decor layer. Form, angle, colour, veil and motion are
     suit values, never numbers in code. The colours are measured against every
     text colour by suit-pairs.ts (Tokensatz E7); the veil is measured in the
     worst case, over a black and over a white picture. */
  /* Order 33: the reference devices of the editor's stage, the same in every
     suit (a stage shows how a surface lies on such a device, not how a suit
     looks). Short and long side; landscape turns them. */
  /* Order 33, step 6: the SMALLEST phone the check measures (320 wide, the narrowest width PLAIT promises to fit, "passt immer"). */
  --plait-device-small-short: 320px;
  --plait-device-small-long: 568px;
  --plait-device-phone-short: 390px;
  --plait-device-phone-long: 844px;
  --plait-device-tablet-short: 768px;
  --plait-device-tablet-long: 1024px;
  --plait-device-desktop-short: 800px;
  --plait-device-desktop-long: 1280px;
  --plait-decor-angle-flat: 0deg;
  --plait-decor-angle-gentle: 8deg;
  --plait-decor-angle-steep: 20deg;
  --plait-decor-motion-drift-slow: 40s;
  --plait-decor-drift-distance: -4%;
  --plait-decor-slant: rgba(232,237,243,.04);
  --plait-decor-accent: rgba(212,176,106,.07);
  --plait-decor-drift-scale: 1.1;
  --plait-decor-veil: rgba(20,24,29,.94);
  /* Auftrag 38a: the light of the glow block (behind a cover), measured under every text colour like the slant. */
  --plait-decor-glow: rgba(212,176,106,.08);
  /* Auftrag 41a: the look of PLAIT Control, from design-tokens (sets/control-look.ts, CONTROL_LOOK.dark, Gold); every suit
     carries every key itself, held by tests/auftrag-41a.test.ts. */
  --plait-color-relief-ground: #151a20;
  --plait-color-relief-face-from: #1d2228;
  --plait-color-relief-face-to: #13171c;
  --plait-color-led-off: #2c333c;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(27,32,39,.92);
  --plait-color-section-held-edge: rgba(212,176,106,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
  /* Auftrag 41a: the large figure (title times the factor, lighter than the body) and the angle a relief is lit from; base tokens. */
  --plait-type-figure-weight: 300;
  --plait-type-figure-scale: 1.75;
  --plait-relief-angle: 145deg;
  /* owner 2026-11-02 (PLAIT Pixel, Linien B1 and V1: „thinner than the line and dashed“): the thin width and the dash of
     a line drawn on a picture, design-tokens' DRAW_TOKENS (sets/draw-look.ts); a hairline, so it does not scale. */
  --plait-border-draw-line-thin: 1px;
  --plait-border-draw-dash: 6px;
  --plait-border-draw-dash-gap: 4px;
}

/* ── Auftrag 35 (A4): THE SIZES FOLLOW THE WINDOW, in declared steps.
   Every size of the drawing is the value of design-tokens (or, where the
   source has none, the carrier's chosen value, named below) times ONE factor,
   `--plait-step-scale`, which the width of the window sets. Anlass: on the
   owner's 3840 screen everything was as small as on a 1920 one and half as
   large to the eye ("Hässlich"). The steps, each with its reason:
   | from      | scale | why |
   | 0         | 1     | phones, tablets, laptops and full HD: the size the tokens were chosen for |
   | 2400 px   | 1.25  | QHD (2560) and the wide screens beside it: one quarter more, as the systems' own 125 % |
   | 3200 px   | 2     | 4K (3840) and 5K: twice, so a 3840 window reads like a 1920 one, as the systems' own 200 % |
   The least body type of a step is the body size times its scale; the stone
   `35-A4` measures the drawn body against exactly that.
   The STAGE of the editor is a picture of a device and keeps scale 1: a phone
   is shown as a phone, whatever the window of the editor (`.stage-frame`).
   The device sizes, the ergonomic target size and the border widths do not
   scale: the first are a device's own, the second is the finger's, the third
   a hairline. */
:root, .stage-frame {
  --plait-step-scale: 1;
  --plait-space-xs: calc(4px * var(--plait-step-scale));
  --plait-space-sm: calc(8px * var(--plait-step-scale));
  --plait-space-md: calc(16px * var(--plait-step-scale));
  --plait-space-lg: calc(24px * var(--plait-step-scale));
  --plait-space-xl: calc(32px * var(--plait-step-scale));
  --plait-radius-sm: calc(6px * var(--plait-step-scale));
  --plait-radius-md: calc(10px * var(--plait-step-scale));
  --plait-radius-lg: calc(14px * var(--plait-step-scale));
  --plait-radius-xl: calc(18px * var(--plait-step-scale));
  --plait-size-icon: calc(18px * var(--plait-step-scale));
  /* plait-platform-0204: the cap of a growing composer line, the name Crew's composer reads (`.plait-composer__input`,
     105bfe5c3: `var(--plait-size-composer-max, 160px)`); the source has none, so the carrier's chosen value is Crew's 160 */
  --plait-size-composer-max: calc(160px * var(--plait-step-scale));
  --plait-control-height: calc(34px * var(--plait-step-scale));
  --plait-control-radius: calc(8px * var(--plait-step-scale));
  --plait-field-radius: calc(8px * var(--plait-step-scale));
  --plait-control-gap: calc(12px * var(--plait-step-scale));
  --plait-space-tabs-stack: calc(12px * var(--plait-step-scale));
  --plait-space-tabs-content: calc(8px * var(--plait-step-scale));
  --plait-type-body-size: calc(0.9375rem * var(--plait-step-scale));
  --plait-type-label-size: calc(0.8125rem * var(--plait-step-scale));
  --plait-type-caption-size: calc(0.75rem * var(--plait-step-scale));
  --plait-type-title-size: calc(1.125rem * var(--plait-step-scale));
  /* The carrier's chosen values (no source in design-tokens yet; they belong to plait-design later). */
  --plait-diagram-height: calc(160px * var(--plait-step-scale));
  --plait-tile-handle-height: calc(72px * var(--plait-step-scale));
  /* Auftrag 35 (A3): the side columns of the editor are as wide as their content, at least a phone's width
     (`device.phone.short`, in the surface) and at most this: a column that still leaves the canvas the larger
     part of a full HD window (two columns of 480 beside a canvas of 900 at 1920), and grows with the step. */
  --plait-panel-widest: calc(480px * var(--plait-step-scale));
  /* Auftrag 35 (A2): the least width of one column of an open list; in a wide box the choices stand in as many
     columns as fit (the head), in a column of the editor in one. Three quarters of the smallest phone. */
  --plait-list-column-least: calc(240px * var(--plait-step-scale));
  /* 35-A5 (owner 2026-10-20 "ja"): the head of an application (the editor's menu of surfaces, standing open while nothing
     is chosen) is at most this tall, and more choices roll INSIDE it: since the Inventor bridge brought its cad surfaces
     the open list took so much of a 3840 x 2160 window that the settings field below kept 87 of its 437 pixels and its
     notice "nothing chosen" stood outside what one sees. As the side columns (`panel.widest`): a carrier's chosen
     value, half a full HD window, growing with the step. */
  --plait-head-tallest: calc(480px * var(--plait-step-scale));
  --plait-decor-thickness: var(--plait-space-xl);
  /* Auftrag 38a: the air inside a field; a suit that lays its fields flat lays them without it (dark-blue). */
  --plait-piece-padding: var(--plait-space-md);
  /* Auftrag 38a (L2): the cover as the template draws it, the large one at most a phone's column (300 of 390), the
     small one beside a row (44); the carrier's chosen values until plait-design names them. */
  --plait-cover-largest: calc(300px * var(--plait-step-scale));
  --plait-cover-small: calc(44px * var(--plait-step-scale));
  /* Auftrag 38a (L7, L8): the room the bar at the bottom takes (a finger's target and its air), and the gap the
     floating foot keeps above it and from the sides. */
  /* owner 2026-10-19 05:06 and 06:09 ("Footer ist viel zu hoch", "immer noch zu hoch"): a finger's target and nothing
     more (was 76 px with a md air above and below for one line of words and a dot, then 52) */
  --plait-bottom-room: var(--ergonomics-target-size);
  --plait-foot-gap: var(--plait-space-sm);
  /* Auftrag 09.10. (B): how far a docked page reaches below its place, and the room left below it down to the edge;
     MEASURED by ./render/reach.ts and set on the page itself, nothing until then (a page that fills its window) */
  --plait-page-reach: 0px;
  --plait-page-below: 0px;
  /* owner 2026-10-18 21:45: how far a docked page whose area stands on top reaches up under the band above its place
     (./render/reach.ts `reachToTop`); nothing until measured */
  --plait-page-above: 0px;
  /* Auftrag 38d (b, e): the ground of the foot (mini player) and of the bar at the bottom, and the glass behind them;
     opaque and without glass here, a suit may lay them as glass (dark-blue, after the template's fx-08). */
  --plait-foot-ground: var(--plait-color-surface-elevated);
  --plait-bar-ground: var(--plait-color-bg);
  --plait-glass: none;
  /* Auftrag 38d (e): the ground of a row under the pointer, a breath of the text colour over the page (fx "hover") */
  --plait-hover-ground: color-mix(in srgb, var(--plait-color-text) 6%, transparent);
  /* Auftrag 38d (c): the ground of a tile: the PLAIT suits keep their bevelled gradient, a suit may lay tiles flat */
  --plait-tile-ground: linear-gradient(var(--plait-color-tile-gradient-1), var(--plait-color-tile-gradient-3));
  /* Auftrag 38d (c): how a row of tabs is laid: framed, the active one filled with the accent */
  --plait-tab-edge: var(--plait-color-border);
  --plait-tab-active-text: var(--plait-color-on-accent);
  --plait-tab-active-ground: var(--plait-color-accent);
  --plait-tab-active-edge: var(--plait-color-accent);
  --plait-tab-active-mark: none;
  /* Owner 2026-10-20 (PLAIT Sketch in Gold: "Oben statt der Buttons sollen Tabs sein (die gleichen wie aktuell in Crew)"):
     how a row of tabs runs and how a tab is set: here a row that wraps, framed tabs in the label size; the Gold suits lay
     it as PLAIT Crew's strip (style.css, the Gold block) */
  --plait-tab-row-wrap: wrap;
  --plait-tab-row-overflow: visible;
  --plait-tab-row-rule: 0 solid transparent;
  --plait-tab-shrink: 1;
  --plait-tab-radius: var(--plait-control-radius);
  --plait-tab-inset: var(--plait-space-md);
  --plait-tab-size: var(--plait-type-label-size);
  --plait-tab-case: none;
  --plait-tab-tracking: normal;
  --plait-tab-space: normal;
  --plait-tab-hover-edge: var(--plait-color-accent);
  /* Owner 2026-10-20 ("die Inhalte darunter nicht in Cards"): the ground, rim and corner of a field; here the suit's card,
     the Gold suits lay every field flat on the page (style.css, the Gold block) */
  --plait-piece-ground: var(--plait-color-piece);
  --plait-piece-rim: var(--plait-color-piece-edge);
  --plait-piece-radius: var(--plait-radius-md);
  /* Auftrag 41a: the compositions of the look of PLAIT Control, made of the suit's values (they follow the suit like
     the hover ground): the face of a raised control, the light at the top of the page, the large figure. */
  --plait-relief-face: linear-gradient(var(--plait-relief-angle), var(--plait-color-relief-face-from), var(--plait-color-relief-face-to));
  --plait-page-glow: radial-gradient(120% 60% at 50% -10%, var(--plait-decor-glow), transparent var(--plait-decor-page-glow-reach));
  --plait-type-figure-size: calc(var(--plait-type-title-size) * var(--plait-type-figure-scale));
}
@media (min-width: 2400px) { :root { --plait-step-scale: 1.25; } }
@media (min-width: 3200px) { :root { --plait-step-scale: 2; } }

@media (prefers-color-scheme: light) {
  :root:not([data-topic="dark"]) {
    --plait-color-bg: #eaecef;
    --plait-color-surface: #fbfcfd;
    --plait-color-surface-elevated: #ffffff;
    --plait-color-text: #1a1d22;
    --plait-color-text-muted: #5f666f;
    --plait-color-accent: #82600e;
    --plait-color-accent-muted: #a9853d;
    --plait-color-on-accent: #ffffff;
    --plait-color-ok: #1c7445;
    --plait-color-warn: #9a4408;
    --plait-color-warning-yellow: #8a6d00;
    --plait-color-warning-orange: #b4500a;
    --plait-color-warning-red: #c0262b;
    --plait-color-danger: #bd3127;
    --plait-color-info: #006c8e;
    --plait-color-border: #768292;
    --plait-color-focus: #82600e;
    --plait-color-tile-gradient-1: #fbfcfd;
    --plait-color-tile-gradient-2: #f2f4f6;
    --plait-color-tile-gradient-3: #e9ecef;
    --plait-color-tile-border: rgba(0,0,0,.08);
    --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
    --plait-color-monogram-gradient-1: #82600e;
    --plait-color-monogram-gradient-2: #a9853d;
    --plait-color-monogram-gradient-3: #b6924b;
    --plait-color-monogram-gradient-4: #c6a25a;
    --plait-color-icon-folder: #b07d10;
    --plait-color-icon-text: #2a6fa0;
    --plait-color-icon-data: #a8466c;
    --plait-color-icon-code: #12796c;
    --plait-color-icon-image: #3a8542;
    --plait-color-icon-system: #586374;
    --plait-color-icon-neutral: #8a8f96;
    /* Auftrag 38a (D3): the hairline without meaning; (L2) the ground of a field and its rim; the quiet cover tones. */
    --plait-color-divider: #c9ced4;
    --plait-color-piece: #fbfcfd;
    --plait-color-piece-edge: #c9ced4;
    --plait-color-cover-graphite: #eceef0;
    --plait-color-cover-slate: #f0eeec;
    --plait-color-cover-moss: #ecefed;
    --plait-color-cover-rust: #f1edec;
    --plait-color-cover-steel: #ebeef2;
    --plait-color-cover-sand: #f0efe9;
    --plait-decor-slant: rgba(26,29,34,.04);
    --plait-decor-accent: rgba(169,133,61,.07);
    --plait-decor-veil: rgba(243,244,246,.94);
    --plait-decor-glow: rgba(169,133,61,.07);
    /* Auftrag 41a: the look of PLAIT Control, from design-tokens (sets/control-look.ts, CONTROL_LOOK.light, Gold); every suit
       carries every key itself, held by tests/auftrag-41a.test.ts. */
    --plait-color-relief-ground: #e9ecef;
    --plait-color-relief-face-from: #f7f8f9;
    --plait-color-relief-face-to: #e3e6e9;
    --plait-color-led-off: #c9ced4;
    --plait-color-accent-glow: rgba(0,149,195,.35);
    --plait-color-alarm-glow: rgba(217,79,69,.32);
    --plait-color-control-knob: #fbfcfd;
    --plait-color-control-track: #6b737d;
    --plait-color-point-icon: #ffffff;
    --plait-color-point-icon-on-warn: #ffffff;
    --plait-color-pill: rgba(251,252,253,.92);
    --plait-color-section-held-edge: rgba(169,133,61,.6);
    --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
    --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
    --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
    --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
    --plait-glow-strength: 0.6;
    --plait-led-rim-darken: 30%;
    --plait-led-rim-width: 1.5px;
    --plait-led-glow-blend: normal;
    --plait-point-ring-mix: 14%;
    --plait-point-glow-mix: 35%;
    --plait-point-glow-size: 12px;
    --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
    --plait-decor-page-glow-reach: 50%;
  }
}

:root[data-topic="gold-light"], .stage-frame[data-topic="gold-light"], :root[data-topic="light"], .stage-frame[data-topic="light"] {
  --plait-color-bg: #eaecef;
  --plait-color-surface: #fbfcfd;
  --plait-color-surface-elevated: #ffffff;
  --plait-color-text: #1a1d22;
  --plait-color-text-muted: #5f666f;
  --plait-color-accent: #82600e;
  --plait-color-accent-muted: #a9853d;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #9a4408;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #768292;
  --plait-color-focus: #82600e;
  --plait-color-tile-gradient-1: #fbfcfd;
  --plait-color-tile-gradient-2: #f2f4f6;
  --plait-color-tile-gradient-3: #e9ecef;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #82600e;
  --plait-color-monogram-gradient-2: #a9853d;
  --plait-color-monogram-gradient-3: #b6924b;
  --plait-color-monogram-gradient-4: #c6a25a;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  /* Auftrag 38a (D3): the hairline without meaning; (L2) the ground of a field and its rim; the quiet cover tones. */
  --plait-color-divider: #c9ced4;
  --plait-color-piece: #fbfcfd;
  --plait-color-piece-edge: #c9ced4;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(26,29,34,.04);
  --plait-decor-accent: rgba(169,133,61,.07);
  --plait-decor-veil: rgba(243,244,246,.94);
  --plait-decor-glow: rgba(169,133,61,.07);
  /* Auftrag 41a: the look of PLAIT Control, from design-tokens (sets/control-look.ts, CONTROL_LOOK.light, Gold); every suit
     carries every key itself, held by tests/auftrag-41a.test.ts. */
  --plait-color-relief-ground: #e9ecef;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #c9ced4;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #fbfcfd;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(251,252,253,.92);
  --plait-color-section-held-edge: rgba(169,133,61,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
}

/* 🔴 Owner 2026-10-22: the suit Ziptec dark, from design-tokens (SUIT_SETS["ziptec-dark"], sets/customer-suits.ts): PLAIT Suite
   dark in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="ziptec-dark"], .stage-frame[data-topic="ziptec-dark"] {
  --plait-color-bg: #14181d;
  --plait-color-surface: #1b2027;
  --plait-color-surface-elevated: #1d2228;
  --plait-color-text: #e8edf3;
  --plait-color-text-muted: #8e98a4;
  --plait-color-accent: #e98377;
  --plait-color-accent-muted: #e04f3c;
  --plait-color-on-accent: #0b0e11;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #5f6f82;
  --plait-color-focus: #e98377;
  --plait-color-tile-gradient-1: #1d2228;
  --plait-color-tile-gradient-2: #181d23;
  --plait-color-tile-gradient-3: #13171c;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #e36151;
  --plait-color-monogram-gradient-2: #e98377;
  --plait-color-monogram-gradient-3: #eea097;
  --plait-color-monogram-gradient-4: #f4bfb8;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #2c333c;
  --plait-color-piece: #1b2027;
  --plait-color-piece-edge: #2c333c;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(232,237,243,.04);
  --plait-decor-accent: rgba(233,131,119,.07);
  --plait-decor-veil: rgba(20,24,29,.94);
  --plait-decor-glow: rgba(233,131,119,.08);
  --plait-color-relief-ground: #151a20;
  --plait-color-relief-face-from: #1d2228;
  --plait-color-relief-face-to: #13171c;
  --plait-color-led-off: #2c333c;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(27,32,39,.92);
  --plait-color-section-held-edge: rgba(233,131,119,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
}

/* 🔴 Owner 2026-10-22: the suit Ziptec light, from design-tokens (SUIT_SETS["ziptec-light"], sets/customer-suits.ts): PLAIT Suite
   light in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="ziptec-light"], .stage-frame[data-topic="ziptec-light"] {
  --plait-color-bg: #ffffff;
  --plait-color-surface: #f7f8f9;
  --plait-color-surface-elevated: #f2f4f6;
  --plait-color-text: #404040;
  --plait-color-text-muted: #5f666f;
  --plait-color-accent: #be301e;
  --plait-color-accent-muted: #e36151;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #8b5b16;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #888c92;
  --plait-color-focus: #be301e;
  --plait-color-tile-gradient-1: #f7f8f9;
  --plait-color-tile-gradient-2: #f2f4f6;
  --plait-color-tile-gradient-3: #f2f4f6;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #be301e;
  --plait-color-monogram-gradient-2: #e36151;
  --plait-color-monogram-gradient-3: #e77869;
  --plait-color-monogram-gradient-4: #eb8d82;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #c9ced4;
  --plait-color-piece: #f7f8f9;
  --plait-color-piece-edge: #c9ced4;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(64,64,64,.04);
  --plait-decor-accent: rgba(227,97,81,.07);
  --plait-decor-veil: rgba(255,255,255,.94);
  --plait-decor-glow: rgba(227,97,81,.07);
  --plait-color-relief-ground: #f2f4f6;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #c9ced4;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #f7f8f9;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(247,248,249,.92);
  --plait-color-section-held-edge: rgba(227,97,81,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
}

/* 🔴 Owner 2026-10-22: the suit Latemar Reisen dark, from design-tokens (SUIT_SETS["latemar-dark"], sets/customer-suits.ts): PLAIT Suite
   dark in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="latemar-dark"], .stage-frame[data-topic="latemar-dark"] {
  --plait-color-bg: #282824;
  --plait-color-surface: #30302b;
  --plait-color-surface-elevated: #363631;
  --plait-color-text: #ffffff;
  --plait-color-text-muted: #a8a89f;
  --plait-color-accent: #00ace7;
  --plait-color-accent-muted: #008aba;
  --plait-color-on-accent: #0b0e11;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ff7b70;
  --plait-color-info: #0caddd;
  --plait-color-border: #85857c;
  --plait-color-focus: #00ace7;
  --plait-color-tile-gradient-1: #363631;
  --plait-color-tile-gradient-2: #2d2d29;
  --plait-color-tile-gradient-3: #252521;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #0094c8;
  --plait-color-monogram-gradient-2: #00ace7;
  --plait-color-monogram-gradient-3: #0fc1ff;
  --plait-color-monogram-gradient-4: #69d9ff;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #45453f;
  --plait-color-piece: #30302b;
  --plait-color-piece-edge: #45453f;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(255,255,255,.04);
  --plait-decor-accent: rgba(0,172,231,.07);
  --plait-decor-veil: rgba(40,40,36,.94);
  --plait-decor-glow: rgba(0,172,231,.08);
  --plait-color-relief-ground: #262622;
  --plait-color-relief-face-from: #363631;
  --plait-color-relief-face-to: #252521;
  --plait-color-led-off: #45453f;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(255,123,112,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(48,48,43,.92);
  --plait-color-section-held-edge: rgba(0,172,231,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
}

/* 🔴 Owner 2026-10-22: the suit Latemar Reisen light, from design-tokens (SUIT_SETS["latemar-light"], sets/customer-suits.ts): PLAIT Suite
   light in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="latemar-light"], .stage-frame[data-topic="latemar-light"] {
  --plait-color-bg: #f3f4f6;
  --plait-color-surface: #fbfcfd;
  --plait-color-surface-elevated: #e9ecef;
  --plait-color-text: #1a1d22;
  --plait-color-text-muted: #5f666f;
  --plait-color-accent: #006d93;
  --plait-color-accent-muted: #0094c8;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #8b5b16;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #768292;
  --plait-color-focus: #006d93;
  --plait-color-tile-gradient-1: #fbfcfd;
  --plait-color-tile-gradient-2: #f2f4f6;
  --plait-color-tile-gradient-3: #e9ecef;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #006d93;
  --plait-color-monogram-gradient-2: #0094c8;
  --plait-color-monogram-gradient-3: #00a2db;
  --plait-color-monogram-gradient-4: #00b2f0;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #c9ced4;
  --plait-color-piece: #fbfcfd;
  --plait-color-piece-edge: #c9ced4;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(26,29,34,.04);
  --plait-decor-accent: rgba(0,148,200,.07);
  --plait-decor-veil: rgba(243,244,246,.94);
  --plait-decor-glow: rgba(0,148,200,.07);
  --plait-color-relief-ground: #e9ecef;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #c9ced4;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #fbfcfd;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(251,252,253,.92);
  --plait-color-section-held-edge: rgba(0,148,200,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
}

/* 🔴 Owner 2026-10-26: the suit Tyrol Dolomites dark, from design-tokens (SUIT_SETS["tyrol-dolomites-dark"], sets/customer-suits.ts): PLAIT Suite
   dark in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Their FORM too (TYROL_DOLOMITES_FORM): square controls, a field 5px as theirs, since Auftrag 13 (owner 2026-10-27)
   2px the small and middle rounding and 5px the large ones, written as the set's values and so NOT times the step (a 0
   needs none; the 5px stay 5px on a large screen), and their interface face (Inter, `--plait-type-ui-family`). Since Auftrag 15
   (owner 2026-11-01, "1: ja") their bordeaux #8a282a with white on it, their bad #ad4726 and a white focus, never a pink;
   the accent and the danger as script come from suites.css (`--plait-color-accent-text`, `-danger-text`). Held to the source by
   tests/customer-suits.test.ts. */
:root[data-topic="tyrol-dolomites-dark"], .stage-frame[data-topic="tyrol-dolomites-dark"] {
  --plait-color-bg: #2a2a2a;
  --plait-color-surface: #322f2c;
  --plait-color-surface-elevated: #333333;
  --plait-color-text: #ffffff;
  --plait-color-text-muted: #a89e8f;
  --plait-color-accent: #8a282a;
  --plait-color-accent-muted: #b23436;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ad4726;
  --plait-color-info: #0caddd;
  --plait-color-border: #847a71;
  --plait-color-focus: #ffffff;
  --plait-color-tile-gradient-1: #333333;
  --plait-color-tile-gradient-2: #2f2d2b;
  --plait-color-tile-gradient-3: #292725;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #5e2125;
  --plait-color-monogram-gradient-2: #8a282a;
  --plait-color-monogram-gradient-3: #a63033;
  --plait-color-monogram-gradient-4: #b23436;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #4a4844;
  --plait-color-piece: #322f2c;
  --plait-color-piece-edge: #4a4844;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(255,255,255,.04);
  --plait-decor-accent: rgba(138,40,42,.07);
  --plait-decor-veil: rgba(42,42,42,.94);
  --plait-decor-glow: rgba(138,40,42,.08);
  --plait-color-relief-ground: #2a2826;
  --plait-color-relief-face-from: #333333;
  --plait-color-relief-face-to: #292725;
  --plait-color-led-off: #4a4844;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(173,71,38,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(50,47,44,.92);
  --plait-color-section-held-edge: rgba(138,40,42,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
  --plait-radius-sm: 2px;
  --plait-radius-md: 2px;
  --plait-radius-lg: 5px;
  --plait-radius-xl: 5px;
  --plait-control-radius: 0px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* 🔴 Owner 2026-10-26: the suit Tyrol Dolomites light, from design-tokens (SUIT_SETS["tyrol-dolomites-light"], sets/customer-suits.ts): PLAIT Suite
   light in the customer's colour (every Ship blue the customer's tone of the same luminance), the signal PLAIT's own
   blue, the grounds and script the customer's own page names; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Their FORM too (TYROL_DOLOMITES_FORM): square controls, a field 5px as theirs, since Auftrag 13 (owner 2026-10-27)
   2px the small and middle rounding and 5px the large ones, written as the set's values and so NOT times the step (a 0
   needs none; the 5px stay 5px on a large screen), and their interface face (Inter, `--plait-type-ui-family`). Held to the source by
   tests/customer-suits.test.ts. */
:root[data-topic="tyrol-dolomites-light"], .stage-frame[data-topic="tyrol-dolomites-light"] {
  --plait-color-bg: #ffffff;
  --plait-color-surface: #ffffff;
  --plait-color-surface-elevated: #eeebe6;
  --plait-color-text: #111111;
  --plait-color-text-muted: #686059;
  --plait-color-accent: #8a282a;
  --plait-color-accent-muted: #d46b6d;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #2f6f4f;
  --plait-color-warn: #8b5b16;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #ad4726;
  --plait-color-info: #006c8e;
  --plait-color-border: #928573;
  --plait-color-focus: #8a282a;
  --plait-color-tile-gradient-1: #ffffff;
  --plait-color-tile-gradient-2: #f7f5f3;
  --plait-color-tile-gradient-3: #eeebe6;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #8a282a;
  --plait-color-monogram-gradient-2: #d46b6d;
  --plait-color-monogram-gradient-3: #da7e80;
  --plait-color-monogram-gradient-4: #e09294;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #ece8e2;
  --plait-color-piece: #ffffff;
  --plait-color-piece-edge: #e2ddd5;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(17,17,17,.04);
  --plait-decor-accent: rgba(212,107,109,.07);
  --plait-decor-veil: rgba(255,255,255,.94);
  --plait-decor-glow: rgba(212,107,109,.07);
  --plait-color-relief-ground: #eeebe6;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #ece8e2;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #ffffff;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(255,255,255,.92);
  --plait-color-section-held-edge: rgba(212,107,109,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
  --plait-radius-sm: 2px;
  --plait-radius-md: 2px;
  --plait-radius-lg: 5px;
  --plait-radius-xl: 5px;
  --plait-control-radius: 0px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* 🔴 Owner 2026-11-01 (Service Suits Auftrag 17, "2: baue die suites für friedrich und mannius"): the suit Mannius dark, from design-tokens
   (SUIT_SETS["mannius-dark"], sets/customer-suits.ts, MANNIUS): their own page, their ground #231f20, white script, their gold
   #ccb774 with their ground as the script on it, the signal PLAIT's own blue; the carrier's own values (7) are Ship's block
   through the same `customerOf`. Their FORM (MANNIUS_FORM, 5px at a control and a field) and their interface face (Gudea,
   `--plait-type-ui-family`). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="mannius-dark"], .stage-frame[data-topic="mannius-dark"] {
  --plait-color-bg: #231f20;
  --plait-color-surface: #2b2728;
  --plait-color-surface-elevated: #302b2c;
  --plait-color-text: #ffffff;
  --plait-color-text-muted: #a8a0a1;
  --plait-color-accent: #ccb774;
  --plait-color-accent-muted: #bca25b;
  --plait-color-on-accent: #231f20;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #857c7d;
  --plait-color-focus: #ccb774;
  --plait-color-tile-gradient-1: #302b2c;
  --plait-color-tile-gradient-2: #2a2627;
  --plait-color-tile-gradient-3: #201c1d;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #bca25b;
  --plait-color-monogram-gradient-2: #ccb774;
  --plait-color-monogram-gradient-3: #cab36d;
  --plait-color-monogram-gradient-4: #d7c787;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #4e4748;
  --plait-color-piece: #2b2728;
  --plait-color-piece-edge: #4e4748;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(255,255,255,.04);
  --plait-decor-accent: rgba(204,183,116,.07);
  --plait-decor-veil: rgba(35,31,32,.94);
  --plait-decor-glow: rgba(204,183,116,.08);
  --plait-color-relief-ground: #211d1e;
  --plait-color-relief-face-from: #302b2c;
  --plait-color-relief-face-to: #201c1d;
  --plait-color-led-off: #4e4748;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(43,39,40,.92);
  --plait-color-section-held-edge: rgba(204,183,116,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 5px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Gudea", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* 🔴 Owner 2026-11-01 (Service Suits Auftrag 17): the suit Mannius light, from design-tokens (SUIT_SETS["mannius-light"],
   sets/customer-suits.ts, MANNIUS): derived from their dark page, white with their ground #231f20 as script and their grey
   #4e4748 as the muted script, their gold at Ship's luminance; the carrier's own values (7) are Ship's block through the
   same `customerOf`. Their FORM (5px) and their interface face (Gudea). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="mannius-light"], .stage-frame[data-topic="mannius-light"] {
  --plait-color-bg: #ffffff;
  --plait-color-surface: #ffffff;
  --plait-color-surface-elevated: #f2f0f0;
  --plait-color-text: #231f20;
  --plait-color-text-muted: #4e4748;
  --plait-color-accent: #75632b;
  --plait-color-accent-muted: #a1893b;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #8b5b16;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #8a8182;
  --plait-color-focus: #75632b;
  --plait-color-tile-gradient-1: #ffffff;
  --plait-color-tile-gradient-2: #f8f7f7;
  --plait-color-tile-gradient-3: #f2f0f0;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #75632b;
  --plait-color-monogram-gradient-2: #a1893b;
  --plait-color-monogram-gradient-3: #b09541;
  --plait-color-monogram-gradient-4: #bfa450;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #e2dede;
  --plait-color-piece: #ffffff;
  --plait-color-piece-edge: #e2dede;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(35,31,32,.04);
  --plait-decor-accent: rgba(161,137,59,.07);
  --plait-decor-veil: rgba(255,255,255,.94);
  --plait-decor-glow: rgba(161,137,59,.07);
  --plait-color-relief-ground: #f2f0f0;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #e2dede;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #ffffff;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(255,255,255,.92);
  --plait-color-section-held-edge: rgba(161,137,59,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 5px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Gudea", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}
/* 🔴 Owner 2026-11-01 (Service Suits Auftrag 17, "2: baue die suites für friedrich und mannius"): the suit Friedrich dark, from design-tokens
   (SUIT_SETS["friedrich-dark"], sets/customer-suits.ts, FRIEDRICH): their green band deepened until PLAIT's signal holds
   (#212b28, raised #28342f), white script, their grey-green #d9dddb as the muted script, their copper #ae7255 as the
   accent; the accent and the warning as script come from suites.css (`--plait-color-accent-text`, white, `-danger-text`, #ff7a1a); the carrier's own values (7)
   are Ship's block through the same `customerOf`. Their FORM (FRIEDRICH_FORM, 4px) and their interface face (Montserrat for
   their arboria). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="friedrich-dark"], .stage-frame[data-topic="friedrich-dark"] {
  --plait-color-bg: #212b28;
  --plait-color-surface: #25302c;
  --plait-color-surface-elevated: #28342f;
  --plait-color-text: #ffffff;
  --plait-color-text-muted: #d9dddb;
  --plait-color-accent: #ae7255;
  --plait-color-accent-muted: #986248;
  --plait-color-on-accent: #0b0e11;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #6c7f78;
  --plait-color-focus: #ae7255;
  --plait-color-tile-gradient-1: #28342f;
  --plait-color-tile-gradient-2: #26312d;
  --plait-color-tile-gradient-3: #1f2825;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #83553f;
  --plait-color-monogram-gradient-2: #ae7255;
  --plait-color-monogram-gradient-3: #b37b60;
  --plait-color-monogram-gradient-4: #b8846a;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #40534c;
  --plait-color-piece: #25302c;
  --plait-color-piece-edge: #40534c;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(255,255,255,.04);
  --plait-decor-accent: rgba(174,114,85,.07);
  --plait-decor-veil: rgba(33,43,40,.94);
  --plait-decor-glow: rgba(174,114,85,.08);
  --plait-color-relief-ground: #202a26;
  --plait-color-relief-face-from: #28342f;
  --plait-color-relief-face-to: #1f2825;
  --plait-color-led-off: #40534c;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(37,48,44,.92);
  --plait-color-section-held-edge: rgba(174,114,85,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 4px;
  --plait-field-radius: 4px;
  --plait-type-ui-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* 🔴 Owner 2026-11-01 (Service Suits Auftrag 17): the suit Friedrich light, from design-tokens (SUIT_SETS["friedrich-light"],
   sets/customer-suits.ts, FRIEDRICH): their own page, white, their green #40534c as script, their copper at Ship's
   luminance; the carrier's own values (7) are Ship's block through the same `customerOf`. Their FORM (4px) and their
   interface face (Montserrat). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="friedrich-light"], .stage-frame[data-topic="friedrich-light"] {
  --plait-color-bg: #ffffff;
  --plait-color-surface: #ffffff;
  --plait-color-surface-elevated: #eceeed;
  --plait-color-text: #2f3c37;
  --plait-color-text-muted: #5a6964;
  --plait-color-accent: #8a5a42;
  --plait-color-accent-muted: #b57e63;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #8b5b16;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #778882;
  --plait-color-focus: #8a5a42;
  --plait-color-tile-gradient-1: #ffffff;
  --plait-color-tile-gradient-2: #f6f7f6;
  --plait-color-tile-gradient-3: #eceeed;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #8a5a42;
  --plait-color-monogram-gradient-2: #b57e63;
  --plait-color-monogram-gradient-3: #bd8d76;
  --plait-color-monogram-gradient-4: #c89e8b;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #d9dddb;
  --plait-color-piece: #ffffff;
  --plait-color-piece-edge: #d9dddb;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(47,60,55,.04);
  --plait-decor-accent: rgba(181,126,99,.07);
  --plait-decor-veil: rgba(255,255,255,.94);
  --plait-decor-glow: rgba(181,126,99,.07);
  --plait-color-relief-ground: #eceeed;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #d9dddb;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #ffffff;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(255,255,255,.92);
  --plait-color-section-held-edge: rgba(181,126,99,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 4px;
  --plait-field-radius: 4px;
  --plait-type-ui-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

/* 🔴 Owner 2026-11-03 (Service Suits Auftrag 21, "Baue daraus einen OKeramik Suite. Beachte dabei die OKeramik PWA."): the
   suit OKeramik dark, from design-tokens (SUIT_SETS["okeramik-suite-dark"], sets/customer-suits.ts, OKERAMIK): their black head and
   foot #000503 as the page, their team band #232323 raised, white script, their green #009036 as the accent with their black
   on it; the accent as script comes from suites.css (`--plait-color-accent-text`, their green lightened, #00a33d); the
   carrier's own values (7) are Ship's block through the same `customerOf`. Their FORM (OKERAMIK_FORM, 5px) and their
   interface face (Poppins). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="okeramik-suite-dark"], .stage-frame[data-topic="okeramik-suite-dark"] {
  --plait-color-bg: #000503;
  --plait-color-surface: #121413;
  --plait-color-surface-elevated: #232323;
  --plait-color-text: #ffffff;
  --plait-color-text-muted: #c7c7c7;
  --plait-color-accent: #009036;
  --plait-color-accent-muted: #009438;
  --plait-color-on-accent: #000503;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #e9a23b;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #6c7174;
  --plait-color-focus: #009036;
  --plait-color-tile-gradient-1: #232323;
  --plait-color-tile-gradient-2: #1a1c1b;
  --plait-color-tile-gradient-3: #0a0d0c;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #00702a;
  --plait-color-monogram-gradient-2: #009036;
  --plait-color-monogram-gradient-3: #00b343;
  --plait-color-monogram-gradient-4: #00c74b;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #333333;
  --plait-color-piece: #121413;
  --plait-color-piece-edge: #333333;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(255,255,255,.04);
  --plait-decor-accent: rgba(0,144,54,.07);
  --plait-decor-veil: rgba(0,5,3,.94);
  --plait-decor-glow: rgba(0,144,54,.08);
  --plait-color-relief-ground: #0d100f;
  --plait-color-relief-face-from: #232323;
  --plait-color-relief-face-to: #0a0d0c;
  --plait-color-led-off: #333333;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(18,20,19,.92);
  --plait-color-section-held-edge: rgba(0,144,54,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 5px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Poppins", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* 🔴 Owner 2026-11-03 (Service Suits Auftrag 21): the suit OKeramik light, from design-tokens (SUIT_SETS["okeramik-suite-light"],
   sets/customer-suits.ts, OKERAMIK): the OKeramik PWA value for value (sets/okeramik-pwa.json), page #f7f7f7, surface
   white, script #000503, their green #009036; the carrier's own values (7) are Ship's block through the same `customerOf`.
   Their FORM (5px) and their interface face (Poppins). Held to the source by tests/customer-suits.test.ts. */
:root[data-topic="okeramik-suite-light"], .stage-frame[data-topic="okeramik-suite-light"] {
  --plait-color-bg: #f7f7f7;
  --plait-color-surface: #ffffff;
  --plait-color-surface-elevated: #efefef;
  --plait-color-text: #000503;
  --plait-color-text-muted: #666b6e;
  --plait-color-accent: #009036;
  --plait-color-accent-muted: #00a03c;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #2f6b4a;
  --plait-color-warn: #9a6b12;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #a3372b;
  --plait-color-info: #006c8e;
  --plait-color-border: #666b6e;
  --plait-color-focus: #009036;
  --plait-color-tile-gradient-1: #ffffff;
  --plait-color-tile-gradient-2: #f7f7f7;
  --plait-color-tile-gradient-3: #efefef;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #009036;
  --plait-color-monogram-gradient-2: #00a03c;
  --plait-color-monogram-gradient-3: #00b042;
  --plait-color-monogram-gradient-4: #00c048;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #d8d8d8;
  --plait-color-piece: #ffffff;
  --plait-color-piece-edge: #d8d8d8;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(0,5,3,.04);
  --plait-decor-accent: rgba(0,160,60,.07);
  --plait-decor-veil: rgba(247,247,247,.94);
  --plait-decor-glow: rgba(0,160,60,.07);
  --plait-color-relief-ground: #efefef;
  --plait-color-relief-face-from: #f7f7f7;
  --plait-color-relief-face-to: #efefef;
  --plait-color-led-off: #d8d8d8;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #ffffff;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(255,255,255,.92);
  --plait-color-section-held-edge: rgba(0,160,60,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
  --plait-control-radius: 5px;
  --plait-field-radius: 5px;
  --plait-type-ui-family: "Poppins", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* 🔴 Owner 2026-10-24: the suit PLAIT One ("Erstelle einen Neuen Suite PLAIT one. Kopiere dafür den aktuellen gold als
   basis."), from design-tokens (SUIT_SETS["one-dark"] / ["one-light"], a copy of Gold value for value); the carrier's own
   values (the warning tones and the decor) are Gold's base block and `light` block. Held by tests/one-suit.test.ts. */
:root[data-topic="one-dark"], .stage-frame[data-topic="one-dark"] {
  --plait-color-bg: #14181d;
  --plait-color-surface: #1b2027;
  --plait-color-surface-elevated: #1d2228;
  --plait-color-text: #e8edf3;
  --plait-color-text-muted: #8e98a4;
  --plait-color-accent: #d4b06a;
  --plait-color-accent-muted: #a8843f;
  --plait-color-on-accent: #0b0e11;
  --plait-color-ok: #3ccf7d;
  --plait-color-warn: #ff8330;
  --plait-color-warning-yellow: #f2c94c;
  --plait-color-warning-orange: #ff8c3a;
  --plait-color-warning-red: #ff5252;
  --plait-color-danger: #ef6a5f;
  --plait-color-info: #0caddd;
  --plait-color-border: #5f6f82;
  --plait-color-focus: #d4b06a;
  --plait-color-tile-gradient-1: #1d2228;
  --plait-color-tile-gradient-2: #181d23;
  --plait-color-tile-gradient-3: #13171c;
  --plait-color-tile-border: rgba(255,255,255,.06);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.6);
  --plait-color-monogram-gradient-1: #b8975a;
  --plait-color-monogram-gradient-2: #d4b06a;
  --plait-color-monogram-gradient-3: #e2c27f;
  --plait-color-monogram-gradient-4: #efd49a;
  --plait-color-icon-folder: #e0b04a;
  --plait-color-icon-text: #6fb4dc;
  --plait-color-icon-data: #cf8fa8;
  --plait-color-icon-code: #4fc3b0;
  --plait-color-icon-image: #6fbf73;
  --plait-color-icon-system: #98a3b3;
  --plait-color-icon-neutral: #6b737d;
  --plait-color-divider: #2c333c;
  --plait-color-piece: #1b2027;
  --plait-color-piece-edge: #2c333c;
  --plait-color-cover-graphite: #1f2226;
  --plait-color-cover-slate: #22201e;
  --plait-color-cover-moss: #1d2320;
  --plait-color-cover-rust: #24201f;
  --plait-color-cover-steel: #1e2228;
  --plait-color-cover-sand: #23221d;
  --plait-decor-slant: rgba(232,237,243,.04);
  --plait-decor-accent: rgba(212,176,106,.07);
  --plait-decor-veil: rgba(20,24,29,.94);
  --plait-decor-glow: rgba(212,176,106,.08);
  --plait-color-relief-ground: #151a20;
  --plait-color-relief-face-from: #1d2228;
  --plait-color-relief-face-to: #13171c;
  --plait-color-led-off: #2c333c;
  --plait-color-accent-glow: rgba(12,173,221,.55);
  --plait-color-alarm-glow: rgba(239,106,95,.5);
  --plait-color-control-knob: #e6e8eb;
  --plait-color-control-track: #0b0e11;
  --plait-color-point-icon: #0b0e11;
  --plait-color-point-icon-on-warn: #0b0e11;
  --plait-color-pill: rgba(27,32,39,.92);
  --plait-color-section-held-edge: rgba(212,176,106,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.05), 0px 10px 30px rgba(0,0,0,.53);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.05), 0px 4px 12px rgba(0,0,0,.45);
  --plait-elevation-inset: inset 0px 2px 6px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.6), inset 0px -1px 0px rgba(255,255,255,.04);
  --plait-glow-strength: 1;
  --plait-led-rim-darken: 0%;
  --plait-led-rim-width: 0px;
  --plait-led-glow-blend: screen;
  --plait-point-ring-mix: 16%;
  --plait-point-glow-mix: 55%;
  --plait-point-glow-size: 16px;
  --plait-section-shadow: none;
  --plait-decor-page-glow-reach: 50%;
}

:root[data-topic="one-light"], .stage-frame[data-topic="one-light"] {
  --plait-color-bg: #eaecef;
  --plait-color-surface: #fbfcfd;
  --plait-color-surface-elevated: #ffffff;
  --plait-color-text: #1a1d22;
  --plait-color-text-muted: #5f666f;
  --plait-color-accent: #82600e;
  --plait-color-accent-muted: #a9853d;
  --plait-color-on-accent: #ffffff;
  --plait-color-ok: #1c7445;
  --plait-color-warn: #9a4408;
  --plait-color-warning-yellow: #8a6d00;
  --plait-color-warning-orange: #b4500a;
  --plait-color-warning-red: #c0262b;
  --plait-color-danger: #bd3127;
  --plait-color-info: #006c8e;
  --plait-color-border: #768292;
  --plait-color-focus: #82600e;
  --plait-color-tile-gradient-1: #fbfcfd;
  --plait-color-tile-gradient-2: #f2f4f6;
  --plait-color-tile-gradient-3: #e9ecef;
  --plait-color-tile-border: rgba(0,0,0,.08);
  --plait-color-tile-bevel-shade: rgba(0,0,0,.1);
  --plait-color-monogram-gradient-1: #82600e;
  --plait-color-monogram-gradient-2: #a9853d;
  --plait-color-monogram-gradient-3: #b6924b;
  --plait-color-monogram-gradient-4: #c6a25a;
  --plait-color-icon-folder: #b07d10;
  --plait-color-icon-text: #2a6fa0;
  --plait-color-icon-data: #a8466c;
  --plait-color-icon-code: #12796c;
  --plait-color-icon-image: #3a8542;
  --plait-color-icon-system: #586374;
  --plait-color-icon-neutral: #8a8f96;
  --plait-color-divider: #c9ced4;
  --plait-color-piece: #fbfcfd;
  --plait-color-piece-edge: #c9ced4;
  --plait-color-cover-graphite: #eceef0;
  --plait-color-cover-slate: #f0eeec;
  --plait-color-cover-moss: #ecefed;
  --plait-color-cover-rust: #f1edec;
  --plait-color-cover-steel: #ebeef2;
  --plait-color-cover-sand: #f0efe9;
  --plait-decor-slant: rgba(26,29,34,.04);
  --plait-decor-accent: rgba(169,133,61,.07);
  --plait-decor-veil: rgba(243,244,246,.94);
  --plait-decor-glow: rgba(169,133,61,.07);
  --plait-color-relief-ground: #e9ecef;
  --plait-color-relief-face-from: #f7f8f9;
  --plait-color-relief-face-to: #e3e6e9;
  --plait-color-led-off: #c9ced4;
  --plait-color-accent-glow: rgba(0,149,195,.35);
  --plait-color-alarm-glow: rgba(217,79,69,.32);
  --plait-color-control-knob: #fbfcfd;
  --plait-color-control-track: #6b737d;
  --plait-color-point-icon: #ffffff;
  --plait-color-point-icon-on-warn: #ffffff;
  --plait-color-pill: rgba(251,252,253,.92);
  --plait-color-section-held-edge: rgba(169,133,61,.6);
  --plait-elevation-raised: inset 0px 1px 0px rgba(255,255,255,.9), 0px 10px 26px rgba(0,0,0,.1);
  --plait-elevation-raised-small: inset 0px 1px 0px rgba(255,255,255,.9), 0px 3px 8px rgba(0,0,0,.12);
  --plait-elevation-inset: inset 0px 2px 5px rgba(0,0,0,.12), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-elevation-inset-small: inset 0px 1px 3px rgba(0,0,0,.14), inset 0px -1px 0px rgba(255,255,255,.9);
  --plait-glow-strength: 0.6;
  --plait-led-rim-darken: 30%;
  --plait-led-rim-width: 1.5px;
  --plait-led-glow-blend: normal;
  --plait-point-ring-mix: 14%;
  --plait-point-glow-mix: 35%;
  --plait-point-glow-size: 12px;
  --plait-section-shadow: drop-shadow(0 10px 18px rgba(0,0,0,.1)) drop-shadow(0 2px 3px rgba(0,0,0,.08));
  --plait-decor-page-glow-reach: 50%;
}

/* Auftrag 39b: the colours of a floor plan (block floor-plan), per suit. The start values of `dark` are the
   display ESP's own (plan_ui.c 0.13.16-poc, the picture the owner accepted at the device), so the plan looks the
   same on both carriers; `light` (and the light suits of the customers) carries the same meaning in its own ground. One token per ART of
   the drawing and per MARK of a point; never violet (owner 2026-10-03). Not yet in design-tokens: they belong to
   plait-design later, like the carrier's other chosen values. */
:root, .stage-frame {
  --plait-color-plan-wall: #d0d6e0;
  --plait-color-plan-body: #b5927e;
  --plait-color-plan-floor: #1e2430;
  --plait-color-plan-floor-held: #283648;
  --plait-color-plan-outdoor: #162822;
  --plait-color-plan-rail: #466e60;
  --plait-color-plan-grid: #46546a;
  --plait-color-plan-window: #50bed7;
  --plait-color-plan-door-inner: #e6aa46;
  --plait-color-plan-door-balcony: #6ec86e;
  --plait-color-plan-door-entrance: #f06e50;
  --plait-color-plan-mark-1: #00c8aa;
  --plait-color-plan-mark-2: #ff9628;
  --plait-color-plan-mark-3: #46a0ff;
  --plait-color-plan-mark-4: #ffd23c;
  --plait-color-plan-mark-5: #78dc5a;
  --plait-color-plan-mark-6: #ff5a5a;
}
:root[data-topic="gold-light"], .stage-frame[data-topic="gold-light"], :root[data-topic="ziptec-light"], .stage-frame[data-topic="ziptec-light"], :root[data-topic="latemar-light"], .stage-frame[data-topic="latemar-light"], :root[data-topic="tyrol-dolomites-light"], .stage-frame[data-topic="tyrol-dolomites-light"], :root[data-topic="mannius-light"], .stage-frame[data-topic="mannius-light"], :root[data-topic="friedrich-light"], .stage-frame[data-topic="friedrich-light"], :root[data-topic="okeramik-suite-light"], .stage-frame[data-topic="okeramik-suite-light"], :root[data-topic="light"], .stage-frame[data-topic="light"] {
  --plait-color-plan-wall: #4a5260;
  --plait-color-plan-body: #8a6a58;
  --plait-color-plan-floor: #f2f4f7;
  --plait-color-plan-floor-held: #dde6f2;
  --plait-color-plan-outdoor: #dcefe5;
  --plait-color-plan-rail: #4f8a74;
  --plait-color-plan-grid: #b8c2d0;
  --plait-color-plan-window: #1d8fb0;
  --plait-color-plan-door-inner: #b8761a;
  --plait-color-plan-door-balcony: #2f8f3a;
  --plait-color-plan-door-entrance: #c2452a;
  --plait-color-plan-mark-1: #00897a;
  --plait-color-plan-mark-2: #c46a00;
  --plait-color-plan-mark-3: #1f6fd1;
  --plait-color-plan-mark-4: #a88a00;
  --plait-color-plan-mark-5: #3f9a2a;
  --plait-color-plan-mark-6: #d13a3a;
}
/* PLAIT One light wears the same (owner 2026-10-24, a copy of Gold) */
:root[data-topic="one-light"], .stage-frame[data-topic="one-light"] {
  --plait-color-plan-wall: #4a5260;
  --plait-color-plan-body: #8a6a58;
  --plait-color-plan-floor: #f2f4f7;
  --plait-color-plan-floor-held: #dde6f2;
  --plait-color-plan-outdoor: #dcefe5;
  --plait-color-plan-rail: #4f8a74;
  --plait-color-plan-grid: #b8c2d0;
  --plait-color-plan-window: #1d8fb0;
  --plait-color-plan-door-inner: #b8761a;
  --plait-color-plan-door-balcony: #2f8f3a;
  --plait-color-plan-door-entrance: #c2452a;
  --plait-color-plan-mark-1: #00897a;
  --plait-color-plan-mark-2: #c46a00;
  --plait-color-plan-mark-3: #1f6fd1;
  --plait-color-plan-mark-4: #a88a00;
  --plait-color-plan-mark-5: #3f9a2a;
  --plait-color-plan-mark-6: #d13a3a;
}

/* Planner Space (owner 2026-10-09, "Space ist der 3D Boss!"; picture approved "ja geil. freigegeben."): the colours of
   a floor as a tilted 2.5D section (block floor-section), per suit. Dark like the approved picture: dark walls with
   fine lighter crowns, the floor a shade under the walls, glass a cool light, the devices in the plan's six marks
   (`plan-mark-*`, shared with the floor plan so a device has ONE colour wherever it is drawn). The faces that look at
   the viewer are lighter than those turned sideways (`face-*-1` / `-2`), so the walls read as solid without a light
   source. Never violet (owner 2026-10-03). Not yet in design-tokens, like the plan's colours. */
:root, .stage-frame {
  --plait-color-section-floor: #191e28;
  --plait-color-section-floor-held: #1d3050;
  --plait-color-section-outdoor: #14181f;
  --plait-color-section-face-in-1: #2c3342;
  --plait-color-section-face-in-2: #232a37;
  --plait-color-section-face-out-1: #262d3a;
  --plait-color-section-face-out-2: #1d232e;
  --plait-color-section-crown: #3a4354;
  --plait-color-section-edge: #5d687d;
  --plait-color-section-glass: #6f9bd8;
  --plait-color-section-rail: #3a4352;
  --plait-color-section-pill: #12161d;
  --plait-color-section-pill-edge: #3a4354;
  --plait-color-section-body-1: #4a3d36;
  --plait-color-section-body-2: #3d322c;
  --plait-color-section-body-crown: #5c4a40;
  --plait-opacity-section-glass: 45%;
  --plait-opacity-section-dim: 35%;
  --plait-section-glow: 6px;
}
:root[data-topic="gold-light"], .stage-frame[data-topic="gold-light"], :root[data-topic="ziptec-light"], .stage-frame[data-topic="ziptec-light"], :root[data-topic="latemar-light"], .stage-frame[data-topic="latemar-light"], :root[data-topic="tyrol-dolomites-light"], .stage-frame[data-topic="tyrol-dolomites-light"], :root[data-topic="mannius-light"], .stage-frame[data-topic="mannius-light"], :root[data-topic="friedrich-light"], .stage-frame[data-topic="friedrich-light"], :root[data-topic="okeramik-suite-light"], .stage-frame[data-topic="okeramik-suite-light"], :root[data-topic="light"], .stage-frame[data-topic="light"] {
  --plait-color-section-floor: #e8ecf2;
  --plait-color-section-floor-held: #d4e2f6;
  --plait-color-section-outdoor: #eef1f4;
  --plait-color-section-face-in-1: #c9d0db;
  --plait-color-section-face-in-2: #b6bfcc;
  --plait-color-section-face-out-1: #bfc7d3;
  --plait-color-section-face-out-2: #aab3c1;
  --plait-color-section-crown: #f6f8fb;
  --plait-color-section-edge: #7d8899;
  --plait-color-section-glass: #5f95d6;
  --plait-color-section-rail: #a3adbb;
  --plait-color-section-pill: #ffffff;
  --plait-color-section-pill-edge: #b6bfcc;
  --plait-color-section-body-1: #c8b2a5;
  --plait-color-section-body-2: #b49c8e;
  --plait-color-section-body-crown: #ece2db;
  --plait-opacity-section-glass: 40%;
  --plait-opacity-section-dim: 40%;
  --plait-section-glow: 4px;
}
/* PLAIT One light wears the same (owner 2026-10-24, a copy of Gold) */
:root[data-topic="one-light"], .stage-frame[data-topic="one-light"] {
  --plait-color-section-floor: #e8ecf2;
  --plait-color-section-floor-held: #d4e2f6;
  --plait-color-section-outdoor: #eef1f4;
  --plait-color-section-face-in-1: #c9d0db;
  --plait-color-section-face-in-2: #b6bfcc;
  --plait-color-section-face-out-1: #bfc7d3;
  --plait-color-section-face-out-2: #aab3c1;
  --plait-color-section-crown: #f6f8fb;
  --plait-color-section-edge: #7d8899;
  --plait-color-section-glass: #5f95d6;
  --plait-color-section-rail: #a3adbb;
  --plait-color-section-pill: #ffffff;
  --plait-color-section-pill-edge: #b6bfcc;
  --plait-color-section-body-1: #c8b2a5;
  --plait-color-section-body-2: #b49c8e;
  --plait-color-section-body-crown: #ece2db;
  --plait-opacity-section-glass: 40%;
  --plait-opacity-section-dim: 40%;
  --plait-section-glow: 4px;
}

/* Planner Space: the section's colours where the device asks for light and no suit is set yet (before the first
   drawing sets `data-topic`), the same values as the suit `light` */
@media (prefers-color-scheme: light) {
  :root:not([data-topic]) {
    --plait-color-section-floor: #e8ecf2;
    --plait-color-section-floor-held: #d4e2f6;
    --plait-color-section-outdoor: #eef1f4;
    --plait-color-section-face-in-1: #c9d0db;
    --plait-color-section-face-in-2: #b6bfcc;
    --plait-color-section-face-out-1: #bfc7d3;
    --plait-color-section-face-out-2: #aab3c1;
    --plait-color-section-crown: #f6f8fb;
    --plait-color-section-edge: #7d8899;
    --plait-color-section-glass: #5f95d6;
    --plait-color-section-rail: #a3adbb;
    --plait-color-section-pill: #ffffff;
    --plait-color-section-pill-edge: #b6bfcc;
    --plait-color-section-body-1: #c8b2a5;
    --plait-color-section-body-2: #b49c8e;
    --plait-color-section-body-crown: #ece2db;
    --plait-opacity-section-glass: 40%;
    --plait-opacity-section-dim: 40%;
    --plait-section-glow: 4px;
}
}
