/* Shared semantic colours. Light mode preserves the original palette. */
.theme-pixel-overlay { position:fixed; inset:0; z-index:2000; pointer-events:none; overflow:hidden; }
.theme-pixel-overlay span { position:absolute; background:var(--pixel-colour); animation:theme-pixel-clear 80ms steps(1,end) both; }
@keyframes theme-pixel-clear { from { opacity:1; } to { opacity:0; } }
@media(prefers-reduced-motion:reduce) { .theme-pixel-overlay { display:none; } }
:root {
  color-scheme:light;
  --color-copy:#333;
  --color-muted:#656061;
  --color-border:#332f30;
  --color-pattern-surface:#ece9e3;
  --color-pattern-ink:#332f30;
  --color-pixel-empty:#ddd9d2;
  --color-overlay:rgba(243,241,236,.92);
  --color-placeholder:#757575;
  --brand-filter:brightness(0);
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --color-background:#1c1a1b;
  --color-dark:#f3f1ec;
  --color-copy:#f3f1ec;
  --color-muted:#b8b3ad;
  --color-border:#817879;
  --color-pattern-surface:#242122;
  --color-pattern-ink:#b8b3ad;
  --color-pixel-empty:#443e40;
  --color-overlay:rgba(28,26,27,.94);
  --color-placeholder:#b8b3ad;
  --brand-filter:brightness(0) invert(1);
}
/* A usable system theme even if JavaScript is disabled or fails to download. */
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) {
    color-scheme:dark;
    --color-background:#1c1a1b;
    --color-dark:#f3f1ec;
    --color-copy:#f3f1ec;
    --color-muted:#b8b3ad;
    --color-border:#817879;
    --color-pattern-surface:#242122;
    --color-pattern-ink:#b8b3ad;
    --color-pixel-empty:#443e40;
    --color-overlay:rgba(28,26,27,.94);
    --color-placeholder:#b8b3ad;
    --brand-filter:brightness(0) invert(1);
  }
  :root:not([data-theme]) .theme-logo-light { display:none; }
  :root:not([data-theme]) .theme-logo-dark { display:block; }
}
.theme-logo-dark, .brand .theme-logo-dark { display:none; }
:root[data-theme="dark"] .theme-logo-light { display:none; }
:root[data-theme="dark"] .theme-logo-dark { display:block; }
.site-header { position:relative; }
.navbar-controls { display:contents; }
.theme-toggle {
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-height:44px;
  height:44px;
  box-sizing:border-box;
  flex:0 0 44px;
  padding:0;
  border:0;
  border-left:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  border-radius:0;
  background:transparent;
  color:var(--color-dark);
  cursor:pointer;
}
.theme-toggle[hidden] { display:none; }
.theme-toggle:hover { color:var(--color-orange); }
.theme-toggle svg { width:16px; height:16px; fill:currentColor; stroke:none; shape-rendering:crispEdges; }
.theme-sun { display:none; }
:root[data-theme="dark"] .theme-moon { display:none; }
:root[data-theme="dark"] .theme-sun { display:block; }
.waitlist-fields input::placeholder { color:var(--color-placeholder); opacity:1; }
.about-logo-fallback { width:100%; }
.about-logo-fallback img { display:block; margin-inline:auto; }
.about-logo-fallback .theme-logo-dark { display:none; }
:root[data-theme="dark"] .about-logo-fallback .theme-logo-light { display:none; }
:root[data-theme="dark"] .about-logo-fallback .theme-logo-dark { display:block; }
@media(min-width:761px) { .navbar { padding-right:max(var(--section-gutter), 60px); } }
@media(min-width:761px) {
  .theme-toggle { width:32px; min-height:32px; height:32px; }
  .theme-toggle svg { width:12px; height:12px; }
}
@media(max-width:760px) {
  .theme-toggle { border:0; align-items:flex-start; justify-content:flex-end; }
  .theme-toggle::before { content:''; position:absolute; top:0; right:0; width:32px; height:32px; box-sizing:border-box; border-left:1px solid var(--color-border); border-bottom:1px solid var(--color-border); pointer-events:none; }
  .theme-toggle svg { width:14px; height:14px; margin:9px; }
  .navbar-controls { display:flex; order:0; margin-left:auto; }
  .navbar { padding-right:56px; }
  .navigation-panel:not([hidden]) {
    flex-basis:calc(100% + var(--section-gutter) + 56px);
    margin-left:calc(-1 * var(--section-gutter));
    margin-right:-56px;
    min-width:0;
  }
}
@media print {
  :root, :root[data-theme] {
    color-scheme:light;
    --color-background:#fff;
    --color-dark:#332f30;
    --color-copy:#333;
    --color-muted:#656061;
    --color-border:#332f30;
    --color-pattern-surface:#ece9e3;
    --color-pattern-ink:#332f30;
    --brand-filter:brightness(0);
  }
  .theme-toggle { display:none; }
  .theme-logo-light { display:block !important; }
  .theme-logo-dark { display:none !important; }
}
