/* Color worlds: clear surfaces, polished pixel controls and tiny native previews. */
html[data-theme] {
  --pd-text: var(--theme-text, #f5f7fc);
  --text: var(--pd-text);
  --pd-panel: var(--theme-panel);
  --pd-line: color-mix(in srgb, var(--theme-bright) 22%, var(--theme-panel));
}
.v93-site { --px-edge: color-mix(in srgb, var(--pd-accent) 33%, var(--pd-panel)); }
.v93-site :is(.topbar, .pd-shell-topbar, .gallery-topbar, .lc-header) {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pd-panel) 42%, var(--pd-bg)), var(--pd-bg));
  border-bottom-color: color-mix(in srgb, var(--pd-accent) 42%, var(--pd-bg));
  box-shadow: 0 3px 0 #0004, inset 0 1px 0 color-mix(in srgb, var(--pd-accent-2) 9%, transparent);
}
.v93-site :is(.home-art-mosaic, .home-return, .home-spotlight, .home-canvas-feature, .exhibition-card, .artwork-card, .asset-card) {
  background-color: var(--pd-panel);
  background-image: linear-gradient(145deg, color-mix(in srgb, var(--pd-accent-2) 5%, transparent), transparent 55%);
  border-color: var(--px-edge);
}
.v93-site :is(.primary, .primary-btn, .pd-button.primary, .exhibition-actions .enter),
.v93-site #view-home .hero-actions .v65-discover-btn {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pd-accent) 88%, #fff), var(--pd-accent));
  color: var(--theme-ink);
}
.v93-site #themeToggleBtn {
  border-color: var(--pd-accent-2); color: var(--pd-accent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--pd-accent) 13%, var(--pd-bg)), var(--pd-panel));
  box-shadow: inset 0 2px 0 #ffffff15, 2px 2px 0 #0005;
}
.v93-site #themeToggleBtn[aria-expanded=true] { color: var(--theme-ink); background: var(--pd-accent); }

.v93-site .theme-panel-v96 {
  position: fixed; z-index: 450; top: 82px; right: clamp(12px, 2vw, 28px);
  width: min(570px, calc(100vw - 24px)); max-height: calc(100dvh - 108px);
  box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden;
  padding: 20px; border: 2px solid var(--px-edge); border-radius: 4px;
  color: var(--pd-text); background: var(--pd-bg); backdrop-filter: none;
  box-shadow: 7px 7px 0 #0006, 0 22px 55px #0006;
}
.v93-site .theme-panel-v96[hidden] { display: none !important; }
.theme-panel-v96 .theme-panel-head { flex: none; align-items: center; }
.theme-panel-v96 .theme-panel-head h2 { font: 400 1.25rem/1.5 var(--px-display, monospace); margin: 8px 0 0; }
.theme-panel-v96 .theme-panel-kicker { font: 750 .6875rem/1.4 var(--px-mono, monospace); letter-spacing: .15em; color: var(--pd-accent-2); }
.theme-panel-v96 .theme-panel-close { width: 44px; height: 44px; min-width: 44px; border-radius: 3px; font-size: 26px; color: var(--pd-text); border: 1px solid var(--px-edge); background: var(--pd-panel); cursor: pointer; }
.theme-panel-v96 .theme-panel-intro { flex: none; margin: 11px 0 16px; font-size: .875rem; line-height: 1.55; color: var(--pd-muted); }
.theme-panel-v96 .theme-panel-choices { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--pd-accent) var(--pd-panel); padding: 8px 12px 10px 8px; margin: -8px -12px 0 -8px; }
.theme-panel-v96 .theme-panel-choices h3 { font: 700 .6875rem/1.5 var(--px-mono, monospace); text-transform: uppercase; letter-spacing: .12em; color: var(--pd-accent-2); margin: 21px 0 10px; }
.theme-panel-v96 .theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.theme-panel-v96 .theme-option {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 82px auto 5px;
  align-items: stretch; gap: 0; min-height: 0; padding: 0; overflow: hidden; border-radius: 3px;
  border: 1px solid color-mix(in srgb, var(--preview-accent) 24%, var(--pd-panel));
  background: var(--pd-panel); color: var(--pd-text); text-align: left; cursor: pointer;
  box-shadow: 2px 3px 0 #0003; transition: border-color .12s ease;
}
.theme-panel-v96 .theme-option:hover { border-color: var(--preview-accent); background: var(--pd-panel); }
.theme-panel-v96 .theme-option.active { border: 2px solid var(--preview-accent); margin: -1px; background: var(--pd-panel); box-shadow: 0 0 0 1px var(--pd-bg), 3px 4px 0 #0005; }
.theme-panel-v96 .theme-scene { display: block; overflow: hidden; background: var(--preview-bg); }
.theme-panel-v96 .theme-scene svg { display: block; width: 100%; height: 100%; shape-rendering: crispEdges; }
.theme-panel-v96 .theme-option-copy { display: block; padding: 10px 11px 12px; }
.theme-panel-v96 .theme-option-copy b { font: 750 .8125rem/1.4 var(--px-mono, monospace); white-space: normal; color: var(--pd-text); }
.theme-panel-v96 .theme-option-copy small { margin-top: 5px; font: 400 .6875rem/1.5 var(--px-mono, monospace); white-space: normal; color: var(--pd-muted); }
.theme-panel-v96 .theme-color-strip { display: grid; grid-template-columns: repeat(4, 1fr); height: 5px; }
.theme-panel-v96 .theme-color-strip i { background: var(--preview-bg); }
.theme-panel-v96 .theme-color-strip i:nth-child(2) { background: var(--preview-raised); }
.theme-panel-v96 .theme-color-strip i:nth-child(3) { background: var(--preview-accent); }
.theme-panel-v96 .theme-color-strip i:nth-child(4) { background: var(--preview-bright); }
.theme-panel-v96 .theme-option-check { position: absolute; right: 8px; top: 8px; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid var(--preview-accent); color: var(--preview-bg); background: var(--preview-accent); font: 900 .875rem/1 monospace; box-shadow: 2px 2px 0 #0005; }
.theme-panel-v96 .theme-new-badge { position: absolute; top: 8px; left: 8px; padding: 3px 5px; color: var(--preview-bright); background: var(--preview-bg); border: 1px solid var(--preview-raised); font: 750 .5625rem/1.3 var(--px-mono, monospace); text-transform: uppercase; letter-spacing: .09em; }
.theme-panel-v96 .theme-option-auto { width: 100%; grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: minmax(94px, auto) 5px; }
.theme-panel-v96 .theme-option-auto .theme-color-strip { grid-column: 1 / -1; }
.theme-panel-v96 .theme-option-auto .theme-option-copy { align-self: center; padding: 12px 32px 12px 14px; }
.theme-panel-v96 .theme-option-auto .theme-option-copy b { font-size: .875rem; }
.theme-panel-v96 .theme-schedule { flex: none; border-top: 1px solid var(--pd-line); color: var(--pd-muted); padding-top: 12px; margin: 12px 0 0; font: 400 .6875rem/1.55 var(--px-mono, monospace); }

@media (max-width: 700px) {
  .v93-site .theme-panel-v96 { top: max(76px, calc(env(safe-area-inset-top) + 68px)); right: 12px; padding: 15px; max-height: calc(100dvh - 165px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .theme-panel-v96 .theme-panel-head h2 { font-size: 1rem; }
  .theme-panel-v96 .theme-grid { gap: 9px; }
  .theme-panel-v96 .theme-option { grid-template-rows: 66px auto 5px; }
  .theme-panel-v96 .theme-option-auto { grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: minmax(84px, auto) 5px; }
  .theme-panel-v96 .theme-option-copy { padding: 9px; }
  .theme-panel-v96 .theme-option-copy small { font-size: .625rem; }
  .theme-panel-v96 .theme-panel-intro { margin-bottom: 12px; }
}
@media (max-height: 520px) {
  .v93-site .theme-panel-v96 { top: 10px; max-height: calc(100dvh - 20px); }
  .theme-panel-v96 .theme-panel-intro, .theme-panel-v96 .theme-schedule { display: none; }
  .theme-panel-v96 .theme-panel-head { padding-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { .theme-panel-v96 .theme-option { transition: none; } }
@media (forced-colors: active) {
  .theme-panel-v96 .theme-option.active { outline: 3px solid Highlight; }
  .theme-panel-v96 .theme-option-check { color: HighlightText; background: Highlight; forced-color-adjust: none; }
}
