/* Light and Dark switch with no script. With neither radio chosen the page follows the visitor's system setting. Generated by scripts/gen-theme-switch.py from the page's own theme blocks. */
:root:has(#look-light:checked){
  --bg0:#F8F8F5;--bg1:#EFEEE9;--bg2:#FFFFFF;--bg3:#F3F2EE;
  --t1:#0B1220;--t2:#364154;--t3:#566176;
  --acc:#1B46C2;--acc-hi:#12358F;--on-acc:#FFFFFF;--on-bad:#FFFFFF;
  --acc-soft:rgba(27,70,194,.07);--acc-line:rgba(27,70,194,.38);
  --ok:#0F6446;--ok-soft:rgba(15,100,70,.09);
  --warn:#7F4F00;--warn-soft:rgba(127,79,0,.10);
  --bad:#AE241C;--bad-soft:rgba(174,36,28,.08);
  --ln1:rgba(11,18,32,.08);--ln2:rgba(11,18,32,.15);--ln3:rgba(11,18,32,.52);
  --shadow:0 20px 40px -24px rgba(11,18,32,.25);
  --glow:rgba(27,70,194,.07);
  --acc2:#6B3FD4;
  --grad-acc:linear-gradient(135deg,#1B46C2 0%,#6B3FD4 100%);
  --grad-text:linear-gradient(100deg,#0B1220 25%,#1B46C2 80%);
  --grad-aura:radial-gradient(60% 50% at 50% 0%,rgba(27,70,194,.10),transparent 70%);
  --grad-edge:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0) 40%);
  --hdr-bg:rgba(248,248,245,.80);
  --elev-1:0 1px 2px rgba(11,18,32,.08);
  --elev-2:0 1px 0 #fff inset,0 16px 36px -22px rgba(11,18,32,.28);
  --elev-glow:0 0 0 1px var(--acc-line),0 12px 32px -14px rgba(27,70,194,.30);
  --code-bg:#F1F0EB;
  /* Signal palette, light: >= 4.5:1 as text and >= 3:1 as lines on #F8F8F5 and white. */
  --sig:#2F57D8;--sig-ok:#1A7550;--on-sig:#FFFFFF;
  --sig-rgb:47 87 216;--sig-ok-rgb:26 117 80;--sig-bad-rgb:174 36 28;--sig-warn-rgb:127 79 0;
  --ln-ok:rgb(var(--sig-ok-rgb)/.75);--ln-ok-lo:rgb(var(--sig-ok-rgb)/.75);--ln-ok-mid:rgb(var(--sig-ok-rgb)/.75);--ln-ok-hi:rgb(var(--sig-ok-rgb)/.75);
  --ln-warn:rgb(var(--sig-warn-rgb)/.75);--ln-warn-lo:rgb(var(--sig-warn-rgb)/.75);--ln-warn-hi:rgb(var(--sig-warn-rgb)/.75);
  --ln-bad:rgb(var(--sig-bad-rgb)/.75);
  --aura-blue:rgba(47,87,216,.12);--aura-green:rgba(26,117,80,.08);
  --win-shadow:0 24px 60px -24px rgba(11,18,32,.3),0 0 48px rgba(47,87,216,.06);
  color-scheme:light;
}
:root:has(#look-dark:checked){
  --bg0:#07090D;   /* page: near-black, a touch blue */
  --bg1:#0C1018;   /* alternate band */
  --bg2:#121824;   /* card / raised */
  --bg3:#192131;   /* chip, code, hover */
  --t1:#F4F5F7;    /* headings, key text */
  --t2:#B7BFCC;    /* body */
  --t3:#8E98AA;    /* captions, labels (AA on every bg) */
  --acc:#8DB2FF;   /* signal blue: ring + dot of the logo */
  --acc-hi:#B8CEFF;
  --on-acc:#07090D;--on-bad:#07090D;
  --acc-soft:rgba(141,178,255,.10);
  --acc-line:rgba(141,178,255,.42);
  --ok:#5FD9A5;   --ok-soft:rgba(95,217,165,.12);
  --warn:#F2BB52; --warn-soft:rgba(242,187,82,.12);
  --bad:#FF9189;  --bad-soft:rgba(255,145,137,.12);
  --ln1:rgba(255,255,255,.07);
  --ln2:rgba(255,255,255,.13);
  --ln3:rgba(255,255,255,.44);   /* control borders: >= 3:1 on bg0 to bg3 */
  --shadow:0 24px 48px -24px rgba(0,0,0,.75);
  --glow:rgba(141,178,255,.09);
  --r1:4px;--r2:8px;--r3:12px;--r4:18px;
  /* new */
  --acc2:#B9A4FF;                       /* violet partner for gradients only, never for text on its own */
  --grad-acc:linear-gradient(135deg,#8DB2FF 0%,#B9A4FF 100%);
  --grad-text:linear-gradient(100deg,#F4F5F7 20%,#8DB2FF 75%,#B9A4FF 100%);
  --grad-aura:radial-gradient(60% 50% at 50% 0%,rgba(141,178,255,.16),transparent 70%);
  --grad-edge:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 40%);
  --hdr-bg:rgba(7,9,13,.72);
  --elev-1:0 1px 0 rgba(255,255,255,.04) inset,0 1px 2px rgba(0,0,0,.5);
  --elev-2:0 1px 0 rgba(255,255,255,.05) inset,0 18px 40px -22px rgba(0,0,0,.8);
  --elev-glow:0 0 0 1px var(--acc-line),0 12px 40px -12px rgba(141,178,255,.35);
  --code-bg:#0A0E15;
  /* Signal palette for the Z-route visuals (v6, diagram): blue start, green end, plus status lines. */
  --sig:#8CB0FF;--sig-ok:#5CD6A0;--on-sig:#07090D;
  --sig-rgb:140 176 255;--sig-ok-rgb:92 214 160;--sig-bad-rgb:255 107 107;--sig-warn-rgb:255 196 87;
  --ln-ok:rgb(var(--sig-ok-rgb)/.5);--ln-ok-lo:rgb(var(--sig-ok-rgb)/.4);--ln-ok-mid:rgb(var(--sig-ok-rgb)/.55);--ln-ok-hi:rgb(var(--sig-ok-rgb)/.6);
  --ln-warn:rgb(var(--sig-warn-rgb)/.5);--ln-warn-lo:rgb(var(--sig-warn-rgb)/.4);--ln-warn-hi:rgb(var(--sig-warn-rgb)/.6);
  --ln-bad:rgb(var(--sig-bad-rgb)/.55);
  --aura-blue:rgba(60,110,255,.26);--aura-green:rgba(92,214,160,.12);
  --win-shadow:0 30px 80px rgba(0,0,0,.4),0 0 60px rgba(140,176,255,.1);
  color-scheme:dark;
}
.look{display:inline-flex;border:1px solid var(--ln3);border-radius:999px;overflow:hidden}
.look input{position:absolute;opacity:0;pointer-events:none}
.look label{display:inline-grid;place-items:center;width:44px;min-height:40px;color:var(--t2);cursor:pointer}
.look label svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.look input:checked+label{background:var(--acc-soft);color:var(--t1);box-shadow:inset 0 0 0 1px var(--acc-line)}
.look input:focus-visible+label{outline:2px solid var(--acc);outline-offset:-2px}
.app-hdr .look{margin-left:auto}
