:root {
      color-scheme: light;
      --site-bg: #f6f4ee;
      --site-text: #101114;
      --site-muted: rgba(16, 17, 20, 0.68);
      --site-border: rgba(0, 0, 0, 0.24);
      --site-border-strong: rgba(0, 0, 0, 0.9);
      --site-panel: #ffffff;
      --site-panel-soft: #f1efe7;
      --site-shadow: rgba(0, 0, 0, 0.12);
      --site-shadow-strong: rgba(0, 0, 0, 0.5);
      --site-link: #0f62fe;
    }

    html.dark {
      color-scheme: dark;
      --site-bg: #0d1016;
      --site-text: #f5f7fb;
      --site-muted: rgba(245, 247, 251, 0.72);
      --site-border: rgba(255, 255, 255, 0.16);
      --site-border-strong: rgba(255, 255, 255, 0.9);
      --site-panel: #131823;
      --site-panel-soft: #0f141d;
      --site-shadow: rgba(0, 0, 0, 0.38);
      --site-shadow-strong: rgba(255, 255, 255, 0.3);
      --site-link: #8bb7ff;
    }

    body {
      background: var(--site-bg);
      color: var(--site-text);
    }

    .theme-toggle {
      width: 2rem;
      height: 2rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--site-border-strong);
      background: var(--site-panel);
      color: var(--site-text);
      box-shadow: 3px 3px 0 var(--site-shadow-strong);
      font-family: "IBM Plex Mono", monospace;
      font-size: 0.84rem;
      line-height: 1;
    }

    .theme-toggle:hover {
      background: var(--site-text);
      color: var(--site-panel);
    }

    html.dark .theme-toggle {
      color: #ffffff;
    }

    .theme-toggle-glyph {
      width: 1rem;
      height: 1rem;
      display: block;
      background-color: currentColor;
      mask-repeat: no-repeat;
      mask-position: center;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      -webkit-mask-size: contain;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 14.5A8.5 8.5 0 1 1 9.5 4 6.8 6.8 0 0 0 20 14.5Z'/%3E%3C/svg%3E");
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 14.5A8.5 8.5 0 1 1 9.5 4 6.8 6.8 0 0 0 20 14.5Z'/%3E%3C/svg%3E");
    }

    .theme-toggle-glyph.is-sun {
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Crect x='11.3' y='1.8' width='1.4' height='4.1' rx='0.7'/%3E%3Crect x='11.3' y='18.1' width='1.4' height='4.1' rx='0.7'/%3E%3Crect x='18.1' y='11.3' width='4.1' height='1.4' rx='0.7'/%3E%3Crect x='1.8' y='11.3' width='4.1' height='1.4' rx='0.7'/%3E%3Crect x='16.85' y='4.25' width='1.4' height='4' rx='0.7' transform='rotate(45 17.55 6.25)'/%3E%3Crect x='5.75' y='15.35' width='1.4' height='4' rx='0.7' transform='rotate(45 6.45 17.35)'/%3E%3Crect x='15.35' y='16.85' width='4' height='1.4' rx='0.7' transform='rotate(45 17.35 17.55)'/%3E%3Crect x='4.25' y='5.75' width='4' height='1.4' rx='0.7' transform='rotate(45 6.25 6.45)'/%3E%3C/g%3E%3C/svg%3E");
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Crect x='11.3' y='1.8' width='1.4' height='4.1' rx='0.7'/%3E%3Crect x='11.3' y='18.1' width='1.4' height='4.1' rx='0.7'/%3E%3Crect x='18.1' y='11.3' width='4.1' height='1.4' rx='0.7'/%3E%3Crect x='1.8' y='11.3' width='4.1' height='1.4' rx='0.7'/%3E%3Crect x='16.85' y='4.25' width='1.4' height='4' rx='0.7' transform='rotate(45 17.55 6.25)'/%3E%3Crect x='5.75' y='15.35' width='1.4' height='4' rx='0.7' transform='rotate(45 6.45 17.35)'/%3E%3Crect x='15.35' y='16.85' width='4' height='1.4' rx='0.7' transform='rotate(45 17.35 17.55)'/%3E%3Crect x='4.25' y='5.75' width='4' height='1.4' rx='0.7' transform='rotate(45 6.25 6.45)'/%3E%3C/g%3E%3C/svg%3E");
    }
