/* Cenovel website tokens (owner, 2026-10-18 evening): the website shares the brand, not the console's chrome. Plain
   paper, open sections, a website type scale, website-sized buttons in the brand blue, a simple header that turns
   translucent once the page scrolls, and the animated network drawings. Earlier today the site wore the console's
   material (Platinum and Titanium fields, frost cards, glass bar, the console's type scale); the owner judged that
   too far. Kept from the brand: the Cenovel Systems lockups, Public Sans, the brand blue, the drawings, light and dark.
   One file for cenovel.com: custom properties only, no selectors beyond :root, no fonts, no components. Light is the
   default. Dark follows the visitor's system setting unless a page pins a theme with data-theme="light" or
   data-theme="dark" on <html>. Text pairs hold WCAG AA (4.5:1) on the surfaces they sit on. */
:root{
  color-scheme:light;
  /* Paper: white, a quiet near-white for a toned section, no wash. */
  --cv-page:#ffffff;
  --cv-page-low:#f5f7f9;
  --cv-field:linear-gradient(#ffffff,#ffffff);
  /* Cards only where a whole block is a link: opaque, a hairline, a soft lift on hover. */
  --cv-card:#ffffff;
  --cv-card-edge:rgba(27,31,36,.12);
  --cv-card-shadow:0 1px 2px rgba(16,24,40,.04);
  --cv-card-shadow-hover:0 0 0 1px rgba(23,100,155,.35),0 12px 28px -14px rgba(16,24,40,.22);
  --cv-well:#f3f5f7;
  --cv-control:#ffffff;
  --cv-input:#ffffff;
  --cv-selected:rgba(23,100,155,.08);
  /* Text */
  --cv-ink:#1b1f24;
  --cv-muted:#4a5562;
  --cv-faint:#5b6673;
  /* Lines: hairlines, and the stronger line that outlines a ghost button (3:1). */
  --cv-line:rgba(27,31,36,.13);
  --cv-line-soft:rgba(27,31,36,.08);
  --cv-line-strong:#8a949f;
  /* The header: no bar of its own at the top of a page; once scrolled, translucent paper with a blur, a hairline and
     a soft shadow. --cv-header-solid is the fallback where blur is unavailable or transparency is reduced. */
  --cv-header-glass:rgba(255,255,255,.74);
  --cv-header-solid:#ffffff;
  --cv-header-edge:rgba(27,31,36,.1);
  --cv-header-shadow:0 8px 24px -16px rgba(16,24,40,.35);
  /* Kept for the documentation's hover tints and the footer's rule (no glass look). */
  --cv-glass:transparent;
  --cv-glass-muted:#4a5562;
  --cv-glass-line:rgba(27,31,36,.13);
  --cv-glass-edge:rgba(27,31,36,.1);
  --cv-glass-lift:rgba(27,31,36,.05);
  --cv-glass-rim:transparent;
  /* The lockup that suits the paper: ink on light, white on dark (display values). */
  --cv-logo-ink:block;
  --cv-logo-white:none;
  /* Code and recordings: a calm reading surface in the page's own tone. */
  --cv-chrome-1:#262c35;
  --cv-chrome-2:#12161c;
  --cv-on-chrome:#f2f4f6;
  --cv-on-chrome-muted:#c3cad2;
  --cv-chrome-line:rgba(210,219,232,.13);
  --cv-chrome-line-strong:rgba(210,219,232,.22);
  --cv-lift:rgba(255,255,255,.06);
  --cv-chrome-focus:#8ab4ff;
  --cv-chrome-action:#17649b;
  --cv-chrome-action-hover:#0f4f80;
  --cv-on-chrome-action:#ffffff;
  --cv-code:#f5f7f9;
  --cv-code-ink:#1b1f24;
  --cv-code-edge:rgba(27,31,36,.1);
  /* Cenovel blue: actions, links and the current place. */
  --cv-blue:#17649b;
  --cv-blue-hover:#0f4f80;
  --cv-blue-text:#17649b;
  --cv-blue-soft:#e6f1fa;
  --cv-on-blue:#ffffff;
  /* States, used sparingly: a refusal and a confirmation. */
  --cv-ok:#1f6b45;
  --cv-ok-soft:#e3f1e9;
  --cv-warn:#8a4b14;
  --cv-warn-soft:#f8eddf;
  --cv-bad:#a02c2c;
  --cv-bad-soft:#f8e5e5;
  /* The hairline on framed product screens. */
  --cv-silver-1:#ffffff;
  --cv-silver-2:#d5dbe2;
  --cv-silver-3:#ffffff;
  --cv-silver-4:#b7c2cf;
  --cv-shadow:0 0 0 1px rgba(27,31,36,.08),0 20px 44px -18px rgba(16,24,40,.28);
  --cv-shadow-hover:0 0 0 1px rgba(27,31,36,.08),0 12px 28px -12px rgba(16,24,40,.28);
  /* Behind a modal (the search dialog). */
  --cv-scrim:rgba(16,22,30,.42);
  /* The page head: a quiet tone with the line field over it, fading into the paper. The words are the page's ink. */
  --cv-hero:radial-gradient(60% 120% at 100% 0%,rgba(23,100,155,.07),transparent 70%),linear-gradient(#f1f5f9,#f6f8fa);
  --cv-hero-ink:#1b1f24;
  --cv-hero-muted:#4a5562;
  --cv-hero-label:#17649b;
  --cv-hero-line:rgba(23,100,155,.17);
  --cv-hero-pulse:rgba(23,100,155,.6);
  --cv-hero-card:#ffffff;
  --cv-hero-btn:#17649b;
  --cv-hero-btn-ink:#ffffff;
  --cv-hero-ghost-line:#8a949f;
  --cv-hero-lift:rgba(23,100,155,.06);
  /* Section backgrounds: line motifs, barely there. */
  --cv-motif:rgba(23,100,155,.1);
  /* Opaque surfaces: sticky table cells and the hardware faceplates in the documentation. */
  --cv-surface:#ffffff;
  --cv-surface-strong:#eef1f4;
  --cv-canvas:#f7f8fa;
  --cv-border:#c6cbd1;
  /* Shape and layout: 8 px controls, 10 px link cards, 14 px panels and frames. */
  --cv-radius-sm:8px;
  --cv-radius:10px;
  --cv-radius-lg:14px;
  --cv-container:1200px;
  /* The side margin of the page column, the header and the footer. */
  --cv-gutter:40px;
  --cv-bar:72px;
  /* Type: Public Sans (the branding pack), weights 400 and 600, on a website scale: body 17 px on 1.6, larger heads
     and leads, and a 70-character measure for prose and the documentation. */
  --cv-font:'Public Sans',Arial,sans-serif;
  --cv-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --cv-fs-display:56px;
  --cv-fs-title:44px;
  --cv-fs-section:32px;
  --cv-fs-subhead:24px;
  --cv-fs-card:19px;
  --cv-fs-lead:20px;
  --cv-fs-body:17px;
  --cv-fs-small:15px;
  --cv-fs-meta:14px;
  --cv-measure:70ch;
  /* Buttons: website sized. */
  --cv-btn-h:44px;
  /* Motion: one 150 ms crossfade on the productive curve; lifts settle on a spring. */
  --cv-ease:cubic-bezier(.2,0,.38,.9);
  --cv-ease-spring:cubic-bezier(.34,1.56,.64,1);
  --cv-dur:150ms;
  /* Website motion (2026-10-12): entrances decelerate in; drawings and travel run at their own pace. */
  --cv-ease-enter:cubic-bezier(0,0,.3,1);
  --cv-dur-enter:480ms;
  --cv-dur-draw:900ms;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --cv-page:#0d1014;--cv-page-low:#12161c;--cv-field:linear-gradient(#0d1014,#0d1014);
    --cv-card:#13171d;--cv-card-edge:rgba(230,237,245,.11);--cv-card-shadow:none;
    --cv-card-shadow-hover:0 0 0 1px rgba(140,188,240,.4),0 16px 32px -16px rgba(0,0,0,.7);
    --cv-well:#161b22;--cv-control:#13171d;--cv-input:#11151a;--cv-selected:rgba(110,170,240,.14);
    --cv-ink:#eef1f4;--cv-muted:#b4bdc7;--cv-faint:#9aa4af;
    --cv-line:rgba(230,237,245,.13);--cv-line-soft:rgba(230,237,245,.08);--cv-line-strong:#5f6975;
    --cv-header-glass:rgba(13,16,20,.72);--cv-header-solid:#0d1014;--cv-header-edge:rgba(230,237,245,.1);--cv-header-shadow:0 8px 24px -14px rgba(0,0,0,.8);
    --cv-glass:transparent;--cv-glass-muted:#b4bdc7;--cv-glass-line:rgba(230,237,245,.14);--cv-glass-edge:rgba(230,237,245,.1);
    --cv-glass-lift:rgba(230,237,245,.06);--cv-glass-rim:transparent;
    --cv-logo-ink:none;--cv-logo-white:block;
    --cv-chrome-action:#2c6fae;--cv-chrome-action-hover:#3274b6;
    --cv-code:#12161c;--cv-code-ink:#e6eaee;--cv-code-edge:rgba(230,237,245,.1);
    --cv-blue:#2c6fae;--cv-blue-hover:#3274b6;--cv-blue-text:#8cbcf0;--cv-blue-soft:#16283b;--cv-on-blue:#ffffff;
    --cv-ok:#7fcfa4;--cv-ok-soft:#173226;--cv-warn:#e8b86a;--cv-warn-soft:#33281a;--cv-bad:#f09a9a;--cv-bad-soft:#3a1f22;
    --cv-silver-1:#3a424c;--cv-silver-2:#1c2128;--cv-silver-3:#333b45;--cv-silver-4:#262c34;
    --cv-shadow:0 0 0 1px rgba(230,237,245,.08),0 20px 44px -16px rgba(0,0,0,.7);--cv-shadow-hover:0 0 0 1px rgba(230,237,245,.08),0 12px 28px -12px rgba(0,0,0,.7);
    --cv-scrim:rgba(0,0,0,.6);
    --cv-hero:radial-gradient(60% 120% at 100% 0%,rgba(58,120,224,.13),transparent 70%),linear-gradient(#131922,#0f1318);
    --cv-hero-ink:#eef1f4;--cv-hero-muted:#b4bdc7;--cv-hero-label:#8cbcf0;--cv-hero-line:rgba(184,198,217,.12);--cv-hero-pulse:rgba(140,188,240,.85);
    --cv-hero-card:#13171d;--cv-hero-btn:#2c6fae;--cv-hero-btn-ink:#ffffff;--cv-hero-ghost-line:#5f6975;--cv-hero-lift:rgba(230,237,245,.06);
    --cv-motif:rgba(184,198,217,.075);
    --cv-surface:#13171d;--cv-surface-strong:#1e242c;--cv-canvas:#101317;--cv-border:#3d4653;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --cv-page:#0d1014;--cv-page-low:#12161c;--cv-field:linear-gradient(#0d1014,#0d1014);
  --cv-card:#13171d;--cv-card-edge:rgba(230,237,245,.11);--cv-card-shadow:none;
  --cv-card-shadow-hover:0 0 0 1px rgba(140,188,240,.4),0 16px 32px -16px rgba(0,0,0,.7);
  --cv-well:#161b22;--cv-control:#13171d;--cv-input:#11151a;--cv-selected:rgba(110,170,240,.14);
  --cv-ink:#eef1f4;--cv-muted:#b4bdc7;--cv-faint:#9aa4af;
  --cv-line:rgba(230,237,245,.13);--cv-line-soft:rgba(230,237,245,.08);--cv-line-strong:#5f6975;
  --cv-header-glass:rgba(13,16,20,.72);--cv-header-solid:#0d1014;--cv-header-edge:rgba(230,237,245,.1);--cv-header-shadow:0 8px 24px -14px rgba(0,0,0,.8);
  --cv-glass:transparent;--cv-glass-muted:#b4bdc7;--cv-glass-line:rgba(230,237,245,.14);--cv-glass-edge:rgba(230,237,245,.1);
  --cv-glass-lift:rgba(230,237,245,.06);--cv-glass-rim:transparent;
  --cv-logo-ink:none;--cv-logo-white:block;
  --cv-chrome-action:#2c6fae;--cv-chrome-action-hover:#3274b6;
  --cv-code:#12161c;--cv-code-ink:#e6eaee;--cv-code-edge:rgba(230,237,245,.1);
  --cv-blue:#2c6fae;--cv-blue-hover:#3274b6;--cv-blue-text:#8cbcf0;--cv-blue-soft:#16283b;--cv-on-blue:#ffffff;
  --cv-ok:#7fcfa4;--cv-ok-soft:#173226;--cv-warn:#e8b86a;--cv-warn-soft:#33281a;--cv-bad:#f09a9a;--cv-bad-soft:#3a1f22;
  --cv-silver-1:#3a424c;--cv-silver-2:#1c2128;--cv-silver-3:#333b45;--cv-silver-4:#262c34;
  --cv-shadow:0 0 0 1px rgba(230,237,245,.08),0 20px 44px -16px rgba(0,0,0,.7);--cv-shadow-hover:0 0 0 1px rgba(230,237,245,.08),0 12px 28px -12px rgba(0,0,0,.7);
  --cv-scrim:rgba(0,0,0,.6);
  --cv-hero:radial-gradient(60% 120% at 100% 0%,rgba(58,120,224,.13),transparent 70%),linear-gradient(#131922,#0f1318);
  --cv-hero-ink:#eef1f4;--cv-hero-muted:#b4bdc7;--cv-hero-label:#8cbcf0;--cv-hero-line:rgba(184,198,217,.12);--cv-hero-pulse:rgba(140,188,240,.85);
  --cv-hero-card:#13171d;--cv-hero-btn:#2c6fae;--cv-hero-btn-ink:#ffffff;--cv-hero-ghost-line:#5f6975;--cv-hero-lift:rgba(230,237,245,.06);
  --cv-motif:rgba(184,198,217,.075);
  --cv-surface:#13171d;--cv-surface-strong:#1e242c;--cv-canvas:#101317;--cv-border:#3d4653;
}
