/* theme.css — the else-if.org look for every files/img page: the blog's own
   palettes (Acord's dark "KiCad" and light "Latte", as acord.css defines
   them), its fonts, and the day/night toggle. Dark is the default; the
   `light` class on <html> (set before first paint from the shared `theme`
   cookie, which the blog reads too) switches to light.

   Pages use these tokens; nothing outside this file names a theme colour. */

@font-face {
  font-family: 'Atkinson Hyperlegible Mono';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/static/fonts/AtkinsonHyperlegibleMono-normal-latin-ext.6815df031c.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Atkinson Hyperlegible Mono';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/static/fonts/AtkinsonHyperlegibleMono-normal-latin.f0230cab68.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/static/fonts/Inter-italic-latin-ext.7d263a256b.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/static/fonts/Inter-italic-latin.124b693f9b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/static/fonts/Inter-normal-latin-ext.8bc9dee39d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/static/fonts/Inter-normal-latin.dd8a4575be.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 100 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/static/fonts/IBMPlexSans-italic-latin-ext.8e5c23cef1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-weight: 100 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/static/fonts/IBMPlexSans-italic-latin.add25efa61.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/static/fonts/IBMPlexSans-normal-latin-ext.ae1d854fef.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/static/fonts/IBMPlexSans-normal-latin.056e4e2459.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    color-scheme: dark;
    --bg: #17181d;           /* ac-base */
    --panel: #13141a;        /* ac-mantle */
    --panel-border: #2a2c33;
    --text: #f6f3f7;         /* ac-text */
    --muted: #adaab9;        /* ac-subtext0 */
    --link: #4fa4fd;         /* ac-blue */
    --accent: #bd7efb;       /* ac-mauve */
    --header-bg: #13141a;
    --header-text: #f6f3f7;
    --drop-border: #72747f;
    --drop-active: #4fa4fd;
    --code-bg: #1f2024;      /* ac-surface1 */
    --code-text: #97ecab;    /* ac-green */
    --plate: #0f0f0f;        /* ac-crust: behind thumbnails */
    --grid: #2a2c33;         /* table rules */
    --grid-head: #1f2024;
    --zebra: #1a1c20;
    --hover: #222b3a;
    --h1: #ffa192; --h2: #40d9c1; --h3: #ed9ee5;
    --h4: #f2c55c; --h5: #62b0ff; --h6: #fba962;
    --st-red: #ff6b6b;
    --font: "IBM Plex Sans", sans-serif;
    --font-heading: "Inter", sans-serif;
    --font-mono: "Atkinson Hyperlegible Mono", monospace;
}

html.light {
    color-scheme: light;
    --bg: #ffffff;
    --panel: #e6e9ef;
    --panel-border: #bcc0cc;
    --text: #4c4f69;
    --muted: #6c6f85;
    --link: #1e66f5;
    --accent: #8839ef;
    --header-bg: #e6e9ef;
    --header-text: #4c4f69;
    --drop-border: #8c8fa1;
    --drop-active: #1e66f5;
    --code-bg: #e6e9ef;
    --code-text: #40a02b;
    --plate: #ffffff;       /* picture area: white, like the page */
    --grid: #dce0e8;
    --grid-head: #eff1f5;
    --zebra: #f7f8fa;
    --hover: #e7eefc;
    --h1: #d86353; --h2: #01a38f; --h3: #be67b7;
    --h4: #a87700; --h5: #1f6fd6; --h6: #cc7200;
    --st-red: #d20f39;
}

/* Day/night toggle, top-right on every page (theme.js). */
#theme-toggle {
    position: fixed;
    top: 10px;
    right: 12px;
    z-index: 1000;
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid var(--panel-border);
    background: var(--panel);
    color: var(--text);
    cursor: pointer;
    opacity: 0.85;
}
#theme-toggle:hover { opacity: 1; border-color: var(--link); }
#theme-toggle svg { width: 18px; height: 18px; }
#theme-toggle .sun { display: none; }
html.light #theme-toggle .sun { display: block; }
html.light #theme-toggle .moon { display: none; }

/* Pictures drawn for a dark page carry a light-mode twin (same rule as the
   blog's svgart.go): show the one for the active theme. */
.art-light { display: none !important; }
html.light .art-dark { display: none !important; }
html.light .art-light { display: block !important; }

/* Converted-PDF equations are black ink on transparent: flip them on dark. */
html:not(.light) .eq svg,
html:not(.light) img.eq-img { filter: invert(0.92) hue-rotate(180deg); }

/* Magnetic point-group stereograms (groups.go), drawn inline in the page. */
.stereo { color: var(--text); }
.stereo .st-red { color: var(--st-red); }
.stereo .st-bg { fill: var(--panel); stroke: var(--muted); }
.stereo .st-edge { stroke: var(--panel); }
