:root { --site-bg: #fff; --site-ink: #171717; --site-muted: #626262; --site-line: #c9c9c9; --preferences-bg: #f6f6f6; --preferences-ink: #080808; }
:root[data-theme="dark"] { color-scheme: dark; --site-bg: #171717; --site-ink: #f6f6f6; --site-muted: #b4b4b4; --site-line: #494949; --preferences-bg: #282828; --preferences-ink: #fff; }
.sp-root { position: fixed; bottom: max(24px, env(safe-area-inset-bottom)); left: max(24px, env(safe-area-inset-left)); z-index: 2147483645; font-family: "Neue Montreal Obscura", "Neue Montreal", Arial, sans-serif; color: var(--preferences-ink); }
.sp-root * { box-sizing: border-box; }
.sp-root [hidden] { display: none !important; }
.sp-trigger { width: 56px; height: 56px; border-radius: 19px; border: 0; background: var(--preferences-bg); color: inherit; display: grid; place-items: center; cursor: pointer; }
.sp-panel { position: absolute; bottom: 68px; left: 0; width: max-content; max-width: calc(100vw - 48px); max-height: calc(100dvh - 116px); overflow: auto; border-radius: 24px; background: var(--preferences-bg); padding: 20px 24px; }
.sp-panel button { display: block; min-height: 44px; text-align: left; color: inherit; background: none; border: 0; padding: 6px 0; cursor: pointer; font: 500 18px/1.35 "Neue Montreal Obscura", "Neue Montreal", Arial, sans-serif; letter-spacing: -.025em; }
.sp-panel button:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.sp-panel .sp-privacy { border-top: 1px solid var(--site-line); margin-top: 10px; padding-top: 14px; width: 100%; }
.sp-root :focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.sp-status:not(:empty) { position: absolute; bottom: 0; left: 68px; width: 220px; padding: 10px; border-radius: 8px; background: var(--preferences-bg); font-size: 12px; }
.has-site-preferences .cc-reopen { display: none; }
.has-site-preferences .cc-status:not(:empty) { left: auto; right: 14px; }
:root[data-theme="dark"] .cc-root { color-scheme: dark; color: var(--site-ink); }
:root[data-theme="dark"] .cc-panel, :root[data-theme="dark"] .cc-dialog { background: #202020; color: var(--site-ink); border-color: var(--site-line); }
:root[data-theme="dark"] .cc-root h2 { color: var(--site-ink); }
:root[data-theme="dark"] .cc-root p, :root[data-theme="dark"] .cc-description, :root[data-theme="dark"] .cc-links a, :root[data-theme="dark"] .cc-eyebrow::after { color: var(--site-muted); }
:root[data-theme="dark"] .cc-category, :root[data-theme="dark"] .cc-head, :root[data-theme="dark"] .cc-eyebrow { border-color: var(--site-line); }
:root[data-theme="dark"] .cc-button { color: #fff; background: #202020; border-color: #666; }
:root[data-theme="dark"] .cc-primary { background: #eee; color: #171717; border-color: #eee; }
:root[data-theme="dark"] .cc-root :focus-visible { outline-color: #fff; }
@media(max-width: 540px) { .sp-root { left: 16px; bottom: max(16px, env(safe-area-inset-bottom)); } .sp-trigger { width: 56px; height: 56px; border-radius: 19px; } .sp-panel { bottom: 68px; padding: 20px 24px; max-width: calc(100vw - 32px); border-radius: 24px; } .sp-panel button { font-size: 18px; min-height: 44px; } }

.sp-panel .sp-credit { display: block; margin-top: 14px; padding: 8px 0; color: var(--site-muted); font-size: 12px; line-height: 1.5; letter-spacing: 0; text-decoration: none; }
.sp-credit span { color: var(--preferences-ink); }
.sp-credit:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* Glass surfaces: backdrop blur plus directional edge highlights. */
:root {
  --sp-glass-tint: rgba(255, 255, 255, .48);
  --sp-glass-highlight: rgba(255, 255, 255, .76);
  --sp-glass-edge: rgba(255, 255, 255, .7);
  --sp-glass-shadow: rgba(20, 24, 32, .12);
  --sp-glass-divider: rgba(45, 50, 60, .16);
}
:root[data-theme="dark"] {
  --sp-glass-tint: rgba(28, 30, 35, .54);
  --sp-glass-highlight: rgba(255, 255, 255, .15);
  --sp-glass-edge: rgba(255, 255, 255, .23);
  --sp-glass-shadow: rgba(0, 0, 0, .3);
  --sp-glass-divider: rgba(255, 255, 255, .17);
}
.sp-trigger, .sp-panel {
  background: var(--preferences-bg);
  border: 1px solid var(--sp-glass-edge);
  box-shadow:
    0 12px 32px -12px var(--sp-glass-shadow),
    0 2px 7px rgba(0, 0, 0, .035),
    inset 0 1px 1px var(--sp-glass-highlight),
    inset 0 -1px 1px rgba(255, 255, 255, .12);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .sp-trigger, .sp-panel {
    background:
      linear-gradient(135deg, var(--sp-glass-highlight) 0%, transparent 32%, transparent 68%, rgba(255, 255, 255, .09) 100%),
      var(--sp-glass-tint);
    -webkit-backdrop-filter: blur(26px) saturate(165%);
    backdrop-filter: blur(26px) saturate(165%);
  }
}
.sp-trigger { position: relative; transition: transform 180ms ease, box-shadow 180ms ease; }
.sp-trigger:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -10px var(--sp-glass-shadow), inset 0 1px 2px var(--sp-glass-highlight); }
.sp-trigger:active { transform: scale(.96); }
.sp-panel .sp-privacy { border-top-color: var(--sp-glass-divider); }
.sp-panel button, .sp-trigger svg { filter: drop-shadow(0 1px 1px rgba(255, 255, 255, .12)); }
.sp-panel .sp-credit { color: var(--preferences-ink); opacity: .78; }
.sp-panel .sp-credit:hover, .sp-panel .sp-credit:focus-visible { opacity: 1; }
@media (prefers-reduced-transparency: reduce) {
  .sp-trigger, .sp-panel { background: var(--preferences-bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-trigger { transition: none; }
  .sp-trigger:hover, .sp-trigger:active { transform: none; }
}
@media (forced-colors: active) {
  .sp-trigger, .sp-panel { background: Canvas; color: CanvasText; border: 1px solid ButtonText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Keep the tiny source pixels crisp when displayed at the usual layout size. */
:root[data-low-res="true"] img[data-full-src][data-low-src] {
  image-rendering: crisp-edges;
  image-rendering: pixelated;
}

.sp-trigger svg { width: 24px; height: 24px; }
