@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Fira+Code:wght@400;500;600;700&family=Quicksand:wght@300;400;500;600;700&display=swap');

/**
 * Sunstone Base Layout Engine (Structural Mechanics)
 * Zero Inline Styles • Pure Semantic Classes & Data Attributes
 */

/* Box sizing and reset for presentation container */
.reveal, .reveal * {
  box-sizing: border-box;
}

.reveal .slides {
  text-align: left;
}

/* Slide Base Section: 16:9 full viewport scaling */
.reveal .slides section.slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 1.6rem 2.4rem 1.2rem 2.4rem !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background-color: var(--sunstone-bg, var(--bg-color, #0f172a));
  color: var(--sunstone-text-secondary, var(--text-color, #cbd5e1));
}

.reveal:not(.overview) .slides section.slide:not(.present) {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.reveal:not(.overview) .slides section.slide.present {
  display: flex !important;
  opacity: 1 !important;
  z-index: 10;
}

.reveal.overview .slides section.slide {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Master Slide Container */
.slide-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 2;
}

/* Slide Header */
.slide-header {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-bottom: 0.8rem;
  padding-bottom: 0.5rem;
}

.slide-header[data-align="split"] {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.slide-meta {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.badge::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* Upper-Right Corner Palette Badge (Base) */
.palette-corner-badge {
  position: absolute;
  top: 1.1rem;
  right: 2.2rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 9999px;
  z-index: 50;
  user-select: none;
  background: var(--sunstone-surface, rgba(30, 41, 59, 0.9));
  color: var(--sunstone-text-primary, #f8fafc);
  border: 1px solid var(--sunstone-border, #334155);
}

.palette-corner-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sunstone-accent, #38bdf8);
  display: inline-block;
  box-shadow: 0 0 6px var(--sunstone-accent, #38bdf8);
}

.reveal:not(.overview) .slides section.slide:not(.present) .palette-corner-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.slide-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.slide-subtitle {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  opacity: 0.85;
  line-height: 1.35 !important;
}

/* Slide Body */
.slide-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

/* Slide Footer */
.slide-footer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  user-select: none;
}

/* Window Chrome (Code & Terminal) via Pseudo-elements */
.code-window, .terminal-window {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: var(--sunstone-radius-md, 8px);
}

.window-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.8rem;
  font-size: 0.75rem;
  font-weight: 600;
  user-select: none;
  position: relative;
}

/* Ensure no pseudo-element generates duplicate window dots */
.window-header::before {
  content: none !important;
  display: none !important;
}

/* Semantic Window Header Dots */
.terminal-dots {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}

.terminal-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.terminal-dot.red { background-color: #ff5f56; }
.terminal-dot.yellow { background-color: #ffbd2e; }
.terminal-dot.green { background-color: #27c93f; }

.window-title {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.window-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.window-btn {
  display: none;
}

.lang-tag {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
}

.window-body, .code-window pre {
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  overflow: auto !important;
}

.code-window pre code {
  padding: 0 !important;
  background: transparent !important;
  font-family: var(--sunstone-font-mono, monospace) !important;
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
}

/* Density overrides via data-density */
[data-density="compact"] pre code {
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}

[data-density="dense"] pre code {
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
}

/* Cards & Lists */
.card {
  display: flex;
  flex-direction: column;
  padding: 0.9rem 1.1rem;
  border-radius: var(--sunstone-radius-md, 8px);
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.card-title {
  font-size: 1.05rem;
  font-weight: 700;
}

.card-list {
  margin: 0 !important;
  padding: 0 0 0 1.2rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.88rem;
  line-height: 1.4;
}

/* Two-Column Layout Grid Ratios */
.slide-body[data-layout*="two-column"],
[data-layout*="two-column"] .slide-body {
  display: grid !important;
  gap: 1.2rem;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

.slide-body[data-layout*="two-column"][data-ratio="1:1"],
[data-layout*="two-column"][data-ratio="1:1"] .slide-body,
[data-layout*="two-column"] .slide-body[data-ratio="1:1"] {
  grid-template-columns: 1fr 1fr !important;
}

.slide-body[data-layout*="two-column"][data-ratio="3:2"],
[data-layout*="two-column"][data-ratio="3:2"] .slide-body,
[data-layout*="two-column"] .slide-body[data-ratio="3:2"] {
  grid-template-columns: 3fr 2fr !important;
}

.slide-body[data-layout*="two-column"][data-ratio="2:3"],
[data-layout*="two-column"][data-ratio="2:3"] .slide-body,
[data-layout*="two-column"] .slide-body[data-ratio="2:3"] {
  grid-template-columns: 2fr 3fr !important;
}

.slide-body[data-layout*="two-column"][data-ratio="2:1"],
[data-layout*="two-column"][data-ratio="2:1"] .slide-body,
[data-layout*="two-column"] .slide-body[data-ratio="2:1"] {
  grid-template-columns: 2fr 1fr !important;
}

.slide-body[data-layout*="two-column"][data-ratio="1:2"],
[data-layout*="two-column"][data-ratio="1:2"] .slide-body,
[data-layout*="two-column"] .slide-body[data-ratio="1:2"] {
  grid-template-columns: 1fr 2fr !important;
}

.column, .col {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.8rem;
  min-height: 0;
  min-width: 0;
  flex: 1;
}

/* Three-Column & Four-Column Layouts */
.slide-body[data-layout*="three-column"],
[data-layout*="three-column"] .slide-body {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

.slide-body[data-layout*="four-column"],
[data-layout*="four-column"] .slide-body {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.8rem;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

/* Code Comparison Layout */
.slide-body[data-layout*="code-comparison"],
[data-layout*="code-comparison"] .slide-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

.comparison-pane {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-height: 0;
}

.critique-overlay {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.8rem;
  border-radius: var(--sunstone-radius-sm, 6px);
}

.takeaway-banner {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.6rem 1rem;
  border-radius: var(--sunstone-radius-sm, 6px);
  font-size: 0.88rem;
}

/* Matrix Layout */
[data-layout="matrix"] .matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  text-align: left;
}

[data-layout="matrix"] .matrix-table th,
[data-layout="matrix"] .matrix-table td {
  padding: 0.6rem 0.9rem;
}

/* Timeline Layout (Rail & Dots via CSS Pseudo-elements) */
[data-layout="timeline"] .timeline-track {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin: 1.5rem 2rem 2rem 2rem;
}

/* Horizontal connecting rail */
[data-layout="timeline"] .timeline-track::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--sunstone-border, #334155);
  z-index: 1;
}

.timeline-step {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}

/* Milestone Dot */
.timeline-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--sunstone-accent, #38bdf8);
  border: 3px solid var(--sunstone-bg, #0f172a);
}

.timeline-cards {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0.8rem;
}

/* Architecture Layout */
.arch-stack {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  height: 100%;
  justify-content: center;
}

.arch-tier {
  display: flex;
  flex-direction: column;
  padding: 0.75rem 1rem;
  border-radius: var(--sunstone-radius-sm, 6px);
}

/* Flow arrow between tiers rendered via CSS */
.arch-tier + .arch-tier {
  margin-top: 0.6rem;
  position: relative;
}

.arch-tier + .arch-tier::before {
  content: "▼";
  position: absolute;
  top: -0.75rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75rem;
  color: var(--sunstone-accent, #38bdf8);
}

.arch-tier-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.arch-grid {
  display: grid;
  gap: 0.6rem;
}

[data-cols="1"] { grid-template-columns: 1fr; }
[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
[data-cols="5"] { grid-template-columns: repeat(5, 1fr); }
[data-cols="6"] { grid-template-columns: repeat(6, 1fr); }

.arch-block {
  padding: 0.45rem 0.6rem;
  border-radius: 4px;
}

.arch-block-title {
  font-size: 0.82rem;
  font-weight: 700;
}

.arch-block-desc {
  font-size: 0.72rem;
  opacity: 0.85;
}

/* Chapter Layout (Section Transitions) */
.chapter-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  gap: 1.5rem;
}

.chapter-pillars-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* Intro / Hero Slide Universal Architecture */
.intro-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
  padding: 2.5rem 2rem 1.8rem;
  position: relative;
  z-index: 2;
}

.intro-top-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  max-width: 1000px;
}

.intro-topic-wrap {
  margin-bottom: 0.2rem;
}

.intro-topic-badge {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 0.35rem 1.25rem;
  border-radius: 9999px;
  text-transform: uppercase;
}

.intro-title {
  font-size: clamp(2.8rem, 5.2vw, 4.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em;
  margin: 0 !important;
}

.intro-subtitle {
  font-size: clamp(1.2rem, 2.2vw, 1.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  opacity: 0.85;
  max-width: 850px;
  margin: 0 !important;
}

.intro-middle-block {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto 0;
  width: 100%;
}

.intro-pills-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  max-width: 900px;
}

.intro-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.4rem;
  border-radius: 9999px;
  font-size: 0.95rem;
  font-weight: 600;
  background: var(--sunstone-surface, rgba(255, 255, 255, 0.05));
  border: 1px solid var(--sunstone-border, rgba(255, 255, 255, 0.15));
  color: var(--sunstone-text-primary, #ffffff);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.intro-pill:hover {
  transform: translateY(-2px);
  border-color: var(--sunstone-accent, #38bdf8);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.intro-bottom-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sunstone-border, rgba(255, 255, 255, 0.1));
  width: 100%;
  max-width: 520px;
}

.intro-author-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.intro-author-name {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.intro-author-role {
  font-size: 0.9rem;
  opacity: 0.75;
  font-weight: 500;
}

/* Quote Layout */
.quote-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  padding: 2rem 4rem;
}

.quote-text {
  font-size: 2rem;
  font-style: italic;
  line-height: 1.35;
  margin-bottom: 1.5rem;
  position: relative;
}

.quote-author {
  font-size: 1.1rem;
  font-weight: 700;
}

.quote-role {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* SVG Icon alignment */
.fa-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
}

/* ==========================================================================
   Comprehensive Spatial Layout Engine (CSS Grid & Flexbox Foundation)
   ========================================================================== */

/* Universal Layout Body: Strict flex column taking remaining vertical space */
.slide-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
}

/* 1. Profile / Speaker Layout */
.slide-body[data-layout*="profile"],
[data-layout*="profile"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.profile-stats-ribbon {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 0.75rem;
  width: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
}

.profile-stat-chip {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.85rem;
  border-radius: var(--sunstone-radius-sm, 6px);
  background: var(--sunstone-surface, #1e293b);
  border: 1px solid var(--sunstone-border, #334155);
  box-shadow: var(--sunstone-shadow, 0 2px 4px rgba(0,0,0,0.1));
  box-sizing: border-box;
  min-width: 0;
}

.profile-stat-chip .stat-icon {
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.profile-stat-chip .stat-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.1rem;
}

.profile-stat-chip .stat-value {
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}

.profile-stat-chip .stat-label {
  font-size: 0.68rem;
  opacity: 0.8;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-bento-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
}

.profile-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.85rem 1.1rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

/* 2. Dual Mode / Comparison Layout */
.slide-body[data-layout*="dual-mode"],
[data-layout*="dual-mode"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.dual-mode-banner {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.95rem;
  border-radius: var(--sunstone-radius-sm, 6px);
  background: var(--sunstone-surface, #1e293b);
  border: 1px solid var(--sunstone-border, #334155);
  font-size: 0.85rem;
  flex-shrink: 0;
}

.dual-mode-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.dual-mode-card {
  display: flex;
  flex-direction: column;
  padding: 0.85rem 1.1rem;
  gap: 0.55rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

.dual-mode-flow code {
  font-family: var(--sunstone-font-mono, monospace);
  font-size: 0.78rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}

.dual-mode-specs {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.dual-mode-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
  padding: 0.25rem 0;
  border-bottom: 1px dashed var(--sunstone-border, #334155);
}

.dual-mode-summary {
  padding: 0.5rem 0.95rem;
  border-radius: var(--sunstone-radius-sm, 6px);
  font-size: 0.82rem;
  flex-shrink: 0;
}

/* 3. Demo Roadmap Layout */
.slide-body[data-layout*="demo-roadmap"],
[data-layout*="demo-roadmap"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.demo-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.demo-steps-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr) !important; }
.demo-steps-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr) !important; }
.demo-steps-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr) !important; }

.demo-step-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

.demo-step-highlight {
  font-size: 0.78rem;
  padding: 0.35rem 0.6rem;
  border-radius: 4px;
  margin-top: auto;
}

.demo-roadmap-summary {
  padding: 0.5rem 0.95rem;
  border-radius: var(--sunstone-radius-sm, 6px);
  font-size: 0.82rem;
  flex-shrink: 0;
}

/* 4. Closing Layout */
.slide-body[data-layout*="closing"],
[data-layout*="closing"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.closing-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.closing-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.85rem 1.1rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

.closing-link {
  font-size: 0.82rem;
}

.closing-desc {
  font-size: 0.8rem;
  opacity: 0.85;
}

.closing-quickstart-bar {
  flex-shrink: 0;
  max-height: 120px;
}

.closing-signature {
  text-align: center;
  font-size: 0.85rem;
  font-style: italic;
  opacity: 0.8;
  flex-shrink: 0;
}

/* 5. Key Metrics / Stats Dashboard Layout (NEW) */
.slide-body[data-layout*="stats"],
[data-layout*="stats"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.stats-grid {
  display: grid !important;
  gap: 1rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.stats-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr) !important; }
.stats-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr) !important; }
.stats-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr) !important; }

.stat-kpi-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.1rem 1.3rem;
  border-radius: var(--sunstone-radius-md, 8px);
  background: var(--sunstone-surface, #1e293b);
  border: 1px solid var(--sunstone-border, #334155);
  box-shadow: var(--sunstone-shadow, 0 4px 6px rgba(0,0,0,0.1));
  box-sizing: border-box;
  min-height: 0;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.stat-kpi-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.stat-kpi-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.18rem 0.55rem;
  border-radius: 9999px;
  text-transform: uppercase;
}

.stat-kpi-value {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1;
  margin: 0.2rem 0 0.5rem 0;
  letter-spacing: -0.03em;
}

.stat-kpi-label {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.35rem;
}

.stat-kpi-desc {
  font-size: 0.8rem;
  opacity: 0.8;
  line-height: 1.35;
}

.stat-kpi-chart {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5rem 0;
  width: 100%;
  min-height: 48px;
}

.stat-kpi-chart svg {
  max-width: 100%;
  height: auto;
  overflow: visible;
}

/* Celestine SVG Chart Card (Universal) */
.chart-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

.chart-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  min-height: 0;
}

.chart-container svg {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  overflow: visible;
}

/* 6. Asymmetrical Feature Bento Grid Layout (NEW) */
.slide .slide-body[data-layout*="feature-grid"],
.slide[data-layout*="feature-grid"] .slide-body,
.slide-body[data-layout*="feature-grid"],
[data-layout*="feature-grid"] .slide-body {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 1.2rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.bento-hero-column {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.bento-side-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 0;
}

.bento-hero-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.1rem 1.3rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

.bento-code-window {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  margin: 0.5rem 0;
  border-radius: var(--sunstone-radius-sm, 4px);
  background: var(--sunstone-code-bg);
  border: 1px solid var(--sunstone-border);
}

.bento-code-window pre {
  margin: 0;
  padding: 0.75rem 1rem;
  height: 100%;
  overflow: auto;
  box-sizing: border-box;
}

.bento-desc {
  margin-top: 0.45rem;
  font-size: 0.85rem;
  line-height: 1.4;
  opacity: 0.9;
  flex-shrink: 0;
}

.bento-subcard {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0.95rem 1.15rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

/* 7. Process Flow / Pipeline Layout (NEW) */
.slide-body[data-layout*="process-flow"],
[data-layout*="process-flow"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem;
  flex: 1;
  min-height: 0;
  justify-content: center;
}

.process-pipeline {
  display: grid !important;
  gap: 0.9rem;
  width: 100%;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

.process-pipeline[data-steps="3"] { grid-template-columns: repeat(3, 1fr) !important; }
.process-pipeline[data-steps="4"] { grid-template-columns: repeat(4, 1fr) !important; }
.process-pipeline[data-steps="5"] { grid-template-columns: repeat(5, 1fr) !important; }

.process-step-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem 1.15rem;
  border-radius: var(--sunstone-radius-md, 8px);
  position: relative;
  min-height: 0;
  box-sizing: border-box;
}

.process-step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-weight: 800;
  font-size: 0.82rem;
  margin-bottom: 0.2rem;
}

.process-step-title {
  font-size: 1.05rem;
  font-weight: 700;
}

.process-step-desc {
  font-size: 0.82rem;
  opacity: 0.85;
  line-height: 1.35;
}

/* 8. Comparison / Benchmark Data Table Layout (NEW) */
.slide-body[data-layout*="table"],
[data-layout*="table"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.data-table-container {
  flex: 1;
  overflow: auto;
  border-radius: var(--sunstone-radius-md, 8px);
  border: 1px solid var(--sunstone-border, #334155);
  background: var(--sunstone-surface, #1e293b);
  box-shadow: var(--sunstone-shadow, 0 4px 6px rgba(0,0,0,0.1));
}

.sunstone-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  text-align: left;
}

.sunstone-table th {
  padding: 0.75rem 1rem;
  font-weight: 700;
  border-bottom: 2px solid var(--sunstone-border, #334155);
  background: var(--sunstone-code-bg, #090d16);
  position: sticky;
  top: 0;
  z-index: 2;
}

.sunstone-table td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--sunstone-border, #334155);
}

.sunstone-table tr.highlight-row {
  background: rgba(56, 189, 248, 0.12);
  font-weight: 700;
}

.table-footnote {
  font-size: 0.75rem;
  font-style: italic;
  opacity: 0.75;
  margin-top: 0.25rem;
}

/* 9. Q&A / FAQ Grid Layout (NEW) */
.slide-body[data-layout*="faq"],
[data-layout*="faq"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem;
  flex: 1;
  min-height: 0;
}

.faq-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.95rem;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}

.faq-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.95rem 1.15rem;
  border-radius: var(--sunstone-radius-md, 8px);
  min-height: 0;
  box-sizing: border-box;
}

.faq-question {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
}

.faq-q-badge {
  font-size: 0.68rem;
  font-weight: 800;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  flex-shrink: 0;
}

.faq-answer {
  font-size: 0.82rem;
  opacity: 0.88;
  line-height: 1.4;
}




/**
 * Lapis Presentation Theme for Reveal.js
 * Themed with SOL.VIN Aesthetic (https://www.sol.vin)
 * Optimized for 1280x720 (16:9) base resolution with large, readable typography
 */


:root {
  --code-font: 'Cascadia Code', 'JetBrains Mono', Consolas, monospace !important;
  --bg-dark: #0f172a;
  /* Slate 900 */
  --card-bg: #1e293b;
  /* Slate 800 */
  --card-border: #334155;
  /* Slate 700 */
  --code-bg: #0f111a;
  /* Dark Charcoal */
  --code-border: #475569;
  /* Slate 600 */

  --godot-blue: #478cbf;
  /* Godot Engine Blue */
  --crystal-purp: #a855f7;
  /* Crystal Vibrant Purple */
  --cyan-accent: var(--border-active, #06b6d4);
  --emerald-green: var(--border-active, #38bdf8);
  --coral-red: var(--border-color, #475569);
  --amber-gold: var(--accent-tertiary, #f59e0b);

  --text-white: #f8fafc;
  /* Slate 50 */
  --text-body: #cbd5e1;
  /* Slate 300 */
  --text-muted: #94a3b8;
  /* Slate 400 */
  --text-dim: #64748b;
  /* Slate 500 */
}

/* Global Reset for Reveal Presentation */
.reveal {
  font-family: "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: normal;
  color: var(--text-body);
  background-color: var(--bg-dark);
}

.reveal .slides {
  text-align: left;
}

.reveal .slides section {
  box-sizing: border-box;
  padding: 1.6rem 2.4rem 1.2rem 2.4rem;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  position: absolute !important;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
}

.reveal:not(.overview) .slides section:not(.present) {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.reveal:not(.overview) .slides section.present {
  display: flex !important;
  opacity: 1 !important;
  z-index: 10;
}

/* Reveal.js Overview Grid Mode (ESC / O) Support */
.reveal.overview .slides section {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Slide Header */
.slide-header {
  margin-bottom: 0.7rem;
  padding-bottom: 0.45rem;
  border-bottom: 1.5px solid var(--card-border);
  flex-shrink: 0;
}

.badge-pill {
  display: inline-block;
  padding: 0.22rem 0.8rem;
  background-color: var(--card-bg);
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  border: 1.5px solid var(--godot-blue);
  color: var(--godot-blue);
}

.badge-pill.blue {
  border-color: var(--godot-blue);
  color: var(--godot-blue);
}

.badge-pill.purple {
  border-color: var(--crystal-purp);
  color: var(--crystal-purp);
}

.badge-pill.cyan {
  border-color: var(--border-active, #06b6d4);
  color: var(--border-active, #06b6d4);
}

.badge-pill.emerald {
  border-color: var(--border-active, #38bdf8);
  color: var(--accent-color, #38bdf8);
}

.badge-pill.coral {
  border-color: var(--border-color, #475569);
  color: var(--text-dim, #94a3b8);
}

.badge-pill.amber {
  border-color: var(--accent-tertiary, #f59e0b);
  color: var(--accent-tertiary, #f59e0b);
}

.slide-title {
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--text-white);
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.01em;
}

.slide-subtitle {
  font-size: 0.95rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
  line-height: 1.25;
}

/* Slide Content Layout */
.slide-body {
  flex: 1;
  display: flex;
  gap: 1.2rem;
  overflow: hidden;
  align-items: stretch;
  min-height: 0;
}

.col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  min-width: 0;
}

.col-1 {
  flex: 1 !important;
  min-width: 0 !important;
}

.col-2 {
  flex: 2 !important;
  min-width: 0 !important;
}

.col-3 {
  flex: 3 !important;
  min-width: 0 !important;
}

.col-4 {
  flex: 4 !important;
  min-width: 0 !important;
}

/* Content Cards */
.card {
  background-color: var(--card-bg);
  border: 1.5px solid var(--card-border);
  border-radius: 10px;
  padding: 1.15rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  box-shadow: 0 4px 10px -1px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  flex: 1;
  justify-content: flex-start;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.card.blue {
  border-color: var(--godot-blue);
}

.card.purple {
  border-color: var(--crystal-purp);
}

.card.cyan {
  border-color: var(--cyan-accent);
}

.card.emerald {
  border-color: var(--border-active, #38bdf8);
}

.card.coral {
  border-color: var(--border-color, #475569);
}

.card.amber {
  border-color: var(--accent-tertiary, #f59e0b);
}

.card-title {
  font-size: 1.22rem;
  font-weight: 700;
  color: var(--text-white);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
  line-height: 1.2;
}

.card-title.blue {
  color: var(--godot-blue);
}

.card-title.purple {
  color: var(--crystal-purp);
}

.card-title.cyan {
  color: var(--border-active, #06b6d4);
}

.card-title.emerald {
  color: var(--accent-color, #38bdf8);
}

.card-title.coral {
  color: var(--text-color, #f8fafc);
}

.card-title.amber {
  color: var(--accent-tertiary, #f59e0b);
}

ul.card-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  flex: 1;
  justify-content: space-evenly;
}

ul.card-list li {
  font-size: 0.96rem;
  line-height: 1.45;
  color: var(--text-body);
  position: relative;
  padding-left: 1.25rem;
}

ul.card-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--cyan-accent);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.3;
}

ul.card-list li strong {
  color: #ffffff;
  font-weight: 700;
}

/* Card Proportions for Two-Column Layouts (Balanced Sizing for col-2 and compact) */
.card.compact,
.col-2 .card {
  padding: 0.85rem 1.15rem !important;
  gap: 0.40rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.card.compact .card-title,
.col-2 .card .card-title {
  font-size: 1.05rem !important;
  margin-bottom: 0.35rem !important;
  padding-bottom: 0.30rem !important;
}

.card.compact ul.card-list,
.col-2 .card ul.card-list {
  gap: 0.55rem !important;
  justify-content: space-evenly !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.col-2 .card ul.card-list li {
  font-size: 0.84rem !important;
  line-height: 1.40 !important;
  padding-left: 1.15rem !important;
}

.col-2 .card ul.card-list li code {
  font-size: 0.78rem !important;
  padding: 0.05rem 0.32rem !important;
}

/* Compact variant when 5 or more items are present */
.card.compact ul.card-list li,
.col-2 .card.compact ul.card-list li {
  font-size: 0.78rem !important;
  line-height: 1.32 !important;
  padding-left: 1.05rem !important;
}

.card.compact ul.card-list,
.col-2 .card.compact ul.card-list {
  gap: 0.35rem !important;
  justify-content: space-between !important;
}

/* Code Display & Highlight.js Integration */
.code-container {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid var(--code-border);
  background-color: var(--code-bg);
  box-sizing: border-box;
  flex: 1;
  min-height: 0;
  min-width: 0;
}

.code-container.cyan {
  border-color: var(--cyan-accent);
}

.code-container.emerald {
  border-color: var(--border-active, #38bdf8);
}

.code-container.amber {
  border-color: var(--accent-tertiary, #f59e0b);
}

.code-container.coral {
  border-color: var(--border-color, #475569);
}

.code-container.blue {
  border-color: var(--godot-blue);
}

.code-header {
  background-color: rgba(30, 41, 59, 0.85);
  padding: 0.45rem 1rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--card-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

/* Terminal Window Mockup */
.terminal-window {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid var(--code-border);
  background-color: #0c101c;
  box-sizing: border-box;
  flex: 1;
  min-height: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.terminal-window.blue {
  border-color: var(--godot-blue);
}

.terminal-window.cyan {
  border-color: var(--border-active, #06b6d4);
}

.terminal-window.emerald {
  border-color: var(--border-active, #38bdf8);
}

.terminal-window.amber {
  border-color: var(--accent-tertiary, #f59e0b);
}

.terminal-header {
  background-color: #151e32;
  padding: 0.42rem 0.9rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #94a3b8;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  user-select: none;
}

.terminal-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}

.terminal-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  background-color: var(--border-color);
  opacity: 0.55;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}

.terminal-dot.dot-1,
.terminal-dot.red {
  background-color: var(--border-color) !important;
  opacity: 0.55 !important;
}

.terminal-dot.dot-2,
.terminal-dot.yellow {
  background-color: var(--border-color) !important;
  opacity: 0.75 !important;
}

.terminal-dot.dot-3,
.terminal-dot.green {
  background-color: var(--accent-color, var(--border-active)) !important;
  opacity: 0.9 !important;
}

.terminal-dot:hover {
  opacity: 1 !important;
}

.terminal-title {
  font-family: var(--code-font);
  font-size: 0.75rem;
  color: #cbd5e1;
  letter-spacing: 0.03em;
}

.terminal-body {
  padding: 0.70rem 1.0rem !important;
  font-family: var(--code-font) !important;
  font-size: 0.82rem !important;
  line-height: 1.38 !important;
  color: #e2e8f0;
  overflow: hidden !important;
  flex: 1;
  margin: 0 !important;
  background: transparent !important;
  box-sizing: border-box;
}

.terminal-body:not(.asciinema-body) pre {
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  overflow: visible !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.terminal-body:not(.asciinema-body) code {
  padding: 0 !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: pre !important;
  display: block !important;
}

.term-prompt {
  color: #38bdf8;
  font-weight: 700;
}

.term-cmd {
  color: #ffffff;
  font-weight: 700;
}

.term-green {
  color: #34d399;
  font-weight: 600;
}

.term-cyan {
  color: #38bdf8;
}

.term-yellow {
  color: #fbbf24;
}

.term-magenta {
  color: #c084fc;
  font-weight: 600;
}

.term-dim {
  color: #64748b;
}

.term-bold {
  font-weight: 700;
  color: #f8fafc;
}

/* Suppress all scrollbars inside terminal-window */
.terminal-window:not(.asciinema-window) pre,
.terminal-window:not(.asciinema-window) .terminal-body pre,
.terminal-window:not(.asciinema-window) .terminal-body code {
  overflow: hidden !important;
  max-height: 100% !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.terminal-window:not(.asciinema-window) pre::-webkit-scrollbar,
.terminal-window:not(.asciinema-window) .terminal-body pre::-webkit-scrollbar,
.terminal-window:not(.asciinema-window) .terminal-body code::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.reveal pre:not(.ap-terminal),
.reveal pre.code-wrapper {
  position: relative !important;
  margin: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 100% !important;
  flex: 1;
  overflow: auto !important;
  display: block !important;
}

.reveal pre code {
  font-family: var(--code-font) !important;
  font-size: 0.80rem !important;
  line-height: 1.28 !important;
  padding: 0.45rem 0.8rem !important;
  max-height: none !important;
  background-color: transparent !important;
  border-radius: 0;
  display: block !important;
  box-sizing: border-box;
  position: relative !important;
}

/* RevealHighlight line numbers table integration */
.reveal pre code table.hljs-ln {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.reveal pre code td.hljs-ln-line {
  padding: 0 !important;
  line-height: 1.28 !important;
  font-size: inherit !important;
}

.reveal pre code td.hljs-ln-numbers {
  width: 28px !important;
  text-align: right !important;
  padding-right: 14px !important;
  color: var(--text-muted) !important;
  user-select: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  opacity: 0.45 !important;
}

.reveal pre code td.hljs-ln-code {
  padding-left: 14px !important;
  white-space: pre !important;
}

/* Guard against fragmented code overlays leaking out */
.reveal pre code.fragment {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Styled Inline Code Badges */
.reveal code:not(pre code) {
  font-family: var(--code-font);
  font-size: 0.88em;
  background-color: rgba(15, 23, 42, 0.85);
  color: #38bdf8;
  /* Neon Sky / Cyan */
  border: 1px solid rgba(56, 189, 248, 0.3);
  border-radius: 5px;
  padding: 0.1em 0.42em;
  font-weight: 600;
  vertical-align: baseline;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  letter-spacing: -0.01em;
  display: inline-block;
}

/* Four-Column Code Comparison Layout */
.slide-body.four-cols {
  gap: 0.5rem;
}

.slide-body.four-cols .code-container {
  min-width: 0;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
}

.slide-body.four-cols .code-container pre {
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.slide-body.four-cols .code-container pre code {
  font-size: 0.58rem !important;
  line-height: 1.25 !important;
  padding: 0.35rem 0.45rem !important;
  overflow-x: hidden !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.slide-body.four-cols .code-container.code-dense pre code,
.slide-body.four-cols .code-container pre code.code-dense {
  font-size: 0.52rem !important;
  line-height: 1.18 !important;
}

.slide-body.four-cols .code-container.code-compact pre code,
.slide-body.four-cols .code-container pre code.code-compact {
  font-size: 0.46rem !important;
  line-height: 1.14 !important;
}

.slide-body.four-cols .code-header {
  padding: 0.3rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
}

/* Architecture Layer Hierarchy Diagram */
.layer-stack {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
  justify-content: space-between;
}

.layer-tier {
  background-color: var(--card-bg);
  border: 1.5px solid var(--card-border);
  border-radius: 8px;
  padding: 0.55rem 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  position: relative;
  transition: transform 0.2s ease;
}

.layer-tier:hover {
  transform: translateX(4px);
}

.layer-tier.emerald {
  border-left: 5px solid var(--border-active);
  border-color: var(--border-color);
  border-left-color: var(--border-active);
}

.layer-tier.purple {
  border-left: 5px solid var(--crystal-purp);
  border-color: rgba(168, 85, 247, 0.4);
  border-left-color: var(--crystal-purp);
}

.layer-tier.cyan {
  border-left: 5px solid var(--cyan-accent);
  border-color: rgba(6, 182, 212, 0.4);
  border-left-color: var(--cyan-accent);
}

.layer-tier.amber {
  border-left: 5px solid var(--amber-gold);
  border-color: rgba(245, 158, 11, 0.4);
  border-left-color: var(--amber-gold);
}

.layer-tier.blue {
  border-left: 5px solid var(--godot-blue);
  border-color: rgba(71, 140, 191, 0.4);
  border-left-color: var(--godot-blue);
}

.layer-badge {
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  min-width: 85px;
  text-align: center;
}

.layer-badge.emerald {
  background: var(--bg-window);
  color: var(--accent-color);
  border: 1px solid var(--border-active);
}

.layer-badge.purple {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.4);
}

.layer-badge.cyan {
  background: rgba(6, 182, 212, 0.2);
  color: #38bdf8;
  border: 1px solid rgba(6, 182, 212, 0.4);
}

.layer-badge.amber {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
}

.layer-badge.blue {
  background: rgba(71, 140, 191, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(71, 140, 191, 0.4);
}

.layer-info {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  flex: 1;
  min-width: 0;
}

.layer-name {
  font-size: 0.92rem;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.layer-desc {
  font-size: 0.76rem;
  color: var(--text-muted);
  line-height: 1.25;
}

.layer-arrow {
  text-align: center;
  font-size: 0.75rem;
  color: var(--text-dim);
  line-height: 0.5;
  user-select: none;
}

/* Tables */
.matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.76rem;
  text-align: left;
  flex: 1;
}

.matrix-table th {
  background-color: var(--card-bg);
  color: var(--text-white);
  padding: 0.45rem 0.65rem;
  border: 1.5px solid var(--card-border);
  font-weight: 700;
  font-size: 0.8rem;
}

.matrix-table th.highlight {
  background-color: var(--godot-blue);
  color: #ffffff;
}

.matrix-table td {
  padding: 0.36rem 0.65rem;
  border: 1px solid var(--card-border);
  color: var(--text-body);
  line-height: 1.28;
}

.matrix-table tr:nth-child(even) td {
  background-color: rgba(30, 41, 59, 0.45);
}

.matrix-table td.dim-header {
  font-weight: 700;
  color: #ffffff;
  font-size: 0.78rem;
}

.matrix-table td.lapis-col {
  color: var(--cyan-accent);
  font-weight: 600;
}

/* Slide Footer */
.slide-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.6rem;
  margin-top: 0.6rem;
  font-size: 0.8rem;
  color: var(--text-dim);
  border-top: 1px solid rgba(51, 65, 85, 0.4);
  flex-shrink: 0;
}

/* Reveal Controls & Progress */
.reveal .progress {
  color: var(--cyan-accent);
  height: 5px;
}

.reveal .controls {
  color: var(--cyan-accent);
}

/* ==========================================================================
   SOL.VIN THEME SYSTEM (https://www.sol.vin)
   Dynamic per-slide retro console / OS palettes, terminal borders & typography
   ========================================================================== */

/* Persistent Sol.vin Deck Header Bar with Interactive 3D Wireframe Cube */
.solvin-deck-header {
  position: fixed;
  top: 0.65rem;
  left: 2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  z-index: 95;
  pointer-events: auto;
}

.deck-cube-app {
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.deck-cube-app:hover {
  transform: scale(1.08);
}

.deck-solvin-label {
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  color: var(--cube, var(--text-color, #f8f8f2));
  opacity: 0.8;
  user-select: none;
  transition: color 0.25s ease;
}

/* Vector 3D Cube Edges */
.cube-svg {
  width: 100%;
  height: 100%;
  display: block;
  user-select: none;
  touch-action: none;
  cursor: pointer;
}

.cube-edge {
  stroke: var(--cube, var(--cube-stroke-color, var(--text-color, #f8f8f2)));
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: stroke 0.2s ease;
}

.deck-cube-app:hover .cube-edge,
.cube-app-slot:hover .cube-edge,
.hero-cube:hover .cube-edge,
.cube-svg:hover .cube-edge {
  stroke: var(--cube-hover, var(--border-active, var(--accent-color, #fd971f)));
}

/* Upper-Right Corner Palette Badge - ONLY display on the currently active (.present) slide */
.reveal .slides section:not(.present) .palette-corner-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.reveal .slides section.present .palette-corner-badge {
  position: absolute;
  top: 1.1rem;
  right: 2.2rem;
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  padding: 0.32rem 0.8rem;
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  background: var(--bg-window, #1e1f1c);
  color: var(--text-color, #f8f8f2);
  border: 1.5px solid var(--border-color, #f92672);
  box-shadow: 3px 3px 0px var(--shadow-color, #141411);
  border-radius: 4px;
  z-index: 50;
  user-select: none;
  letter-spacing: 0.04em;
  transition: all 0.15s ease;
  opacity: 1 !important;
  visibility: visible !important;
}

.palette-corner-badge:hover {
  border-color: var(--border-active);
  box-shadow: 3px 3px 0px var(--border-active);
  transform: translate(-1px, -1px);
}

.palette-corner-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent-color, #fd971f);
  display: inline-block;
  box-shadow: 0 0 6px var(--accent-color, #fd971f);
}

/* Sol.vin Hidden Palette SVG Filter Engine */
.solvin-palette-filters {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* Sol.vin Slide Component Scoping */
.reveal .slides section.solvin-slide,
.solvin-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  font-family: 'Quicksand', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.solvin-slide .slide-body {
  gap: 1.2rem !important;
  align-items: stretch !important;
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.solvin-slide .col,
.solvin-slide .column {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.8rem !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.solvin-slide .slide-header {
  border-bottom: 1.5px dashed var(--border-color) !important;
}

.solvin-slide .slide-title {
  color: var(--text-color) !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 700 !important;
}

.solvin-slide .slide-subtitle {
  color: var(--text-color) !important;
  font-family: 'Quicksand', sans-serif !important;
  opacity: 0.88;
}

.hljs-comment,
.hljs-quote {
  color: #94a3b8 !important;
  font-style: italic;
}

.solvin-slide .badge-pill,
.solvin-slide .badge {
  background-color: var(--bg-window) !important;
  color: var(--accent-color) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
  border-radius: 4px !important;
}

.solvin-slide .badge-pill::before,
.solvin-slide .badge::before {
  display: none !important;
}

.solvin-slide .card {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3.5px 3.5px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
}

.solvin-slide .card.compact {
  padding: 0.75rem 1.05rem !important;
  gap: 0.35rem !important;
}

.solvin-slide .card-title {
  color: var(--accent-color, var(--text-color)) !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 700 !important;
  border-bottom: 1px dashed var(--border-color) !important;
  padding-bottom: 0.35rem;
  margin-bottom: 0.45rem;
}

.solvin-slide .card.compact .card-title {
  font-size: 1.05rem !important;
  margin-bottom: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.solvin-slide .card-list li,
.solvin-slide ul li {
  color: var(--text-color) !important;
}

.solvin-slide .card.compact .card-list li,
.solvin-slide .card.compact ul.card-list li {
  font-size: 0.78rem !important;
  line-height: 1.32 !important;
  padding-left: 1.05rem !important;
}

.solvin-slide .card-list li strong,
.solvin-slide ul li strong {
  color: var(--accent-color, var(--text-color)) !important;
}

/* Bullet points strictly follow the active slide palette */
.solvin-slide ul.card-list li::before,
.solvin-slide .card-list li::before,
.solvin-slide ul li::before {
  color: var(--accent-color, var(--border-color)) !important;
}

.solvin-slide ul li::marker {
  color: var(--accent-color, var(--border-color)) !important;
}

.solvin-slide .card:hover .card-list li::before,
.solvin-slide .card:hover ul li::before {
  color: var(--border-active) !important;
}

/* Palette-Scoped Badge Variants */
.solvin-slide .badge-pill.coral,
.solvin-slide .badge-pill.antipattern {
  border-color: var(--border-color) !important;
  color: var(--text-dim, var(--text-color)) !important;
  background-color: var(--bg-window) !important;
}

.solvin-slide .badge-pill.emerald,
.solvin-slide .badge-pill.solution {
  border-color: var(--border-color) !important;
  color: var(--accent-color) !important;
  background-color: var(--bg-window) !important;
}

.solvin-slide .badge-pill.cyan {
  border-color: var(--border-active) !important;
  color: var(--border-active) !important;
  background-color: var(--bg-window) !important;
}

.solvin-slide .badge-pill.purple {
  border-color: var(--accent-color) !important;
  color: var(--accent-color) !important;
  background-color: var(--bg-window) !important;
}

.solvin-slide .badge-pill.amber {
  border-color: var(--accent-tertiary, var(--accent-color)) !important;
  color: var(--accent-tertiary, var(--accent-color)) !important;
  background-color: var(--bg-window) !important;
}

.solvin-slide .badge-pill.blue {
  border-color: var(--link-color, var(--border-active)) !important;
  color: var(--link-color, var(--border-active)) !important;
  background-color: var(--bg-window) !important;
}

/* Palette-Scoped Card Variants */
.solvin-slide .card.coral,
.solvin-slide .card.emerald,
.solvin-slide .card.antipattern,
.solvin-slide .card.solution {
  border-color: var(--border-color) !important;
}

.solvin-slide .card.cyan {
  border-color: var(--border-active) !important;
}

.solvin-slide .card.purple {
  border-color: var(--accent-color) !important;
}

.solvin-slide .card.amber {
  border-color: var(--accent-tertiary, var(--accent-color)) !important;
}

.solvin-slide .card.blue {
  border-color: var(--link-color, var(--border-active)) !important;
}

/* ==========================================================================
   CODE EXAMPLE WINDOWS & TERMINAL WINDOWS (SOL.VIN PALETTE SYSTEM)
   ========================================================================== */
.solvin-slide .code-container {
  background-color: var(--bg-window) !important;
  border: 2px solid var(--border-color) !important;
  box-shadow: 4px 4px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.solvin-slide .code-container:hover {
  border-color: var(--border-active) !important;
  box-shadow: 4px 4px 0px var(--border-active) !important;
}

.solvin-slide .code-container.antipattern-code,
.solvin-slide .code-container.coral {
  border-color: var(--border-color) !important;
}

.solvin-slide .code-container.solution-code,
.solvin-slide .code-container.emerald {
  border-color: var(--border-active) !important;
}

.solvin-slide .code-container.cyan {
  border-color: var(--border-active) !important;
}

.solvin-slide .code-container.purple {
  border-color: var(--accent-color) !important;
}

.solvin-slide .code-container.amber {
  border-color: var(--accent-tertiary, var(--accent-color)) !important;
}

.solvin-slide .code-container.blue {
  border-color: var(--link-color, var(--border-active)) !important;
}

/* Terminal Window strictly styled with Slide Palette */
.solvin-slide .terminal-window {
  background-color: var(--bg-window) !important;
  border: 2px solid var(--border-color) !important;
  box-shadow: 4px 4px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.solvin-slide .terminal-window:hover {
  border-color: var(--border-active) !important;
  box-shadow: 4px 4px 0px var(--border-active) !important;
}

.solvin-slide .terminal-window .terminal-header {
  background-color: var(--bg-color) !important;
  border-bottom: 2px solid var(--border-color) !important;
  color: var(--text-color) !important;
}

.solvin-slide .terminal-window .terminal-title {
  color: var(--text-color) !important;
}

.solvin-slide .terminal-window:not(.asciinema-window) pre,
.solvin-slide .terminal-window:not(.asciinema-window) .terminal-body pre,
.solvin-slide .terminal-window:not(.asciinema-window) .terminal-body code {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
  font-family: var(--code-font) !important;
  font-size: 0.80rem !important;
  line-height: 1.35 !important;
}

.solvin-slide .terminal-window code.hljs {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
}

.solvin-slide .terminal-window .hljs-comment {
  color: var(--text-dim, var(--border-color)) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

.solvin-slide .terminal-window .hljs-string {
  color: var(--accent-secondary, var(--link-color)) !important;
}

.solvin-slide .terminal-window .hljs-keyword,
.solvin-slide .terminal-window .hljs-selector-tag {
  color: var(--accent-color) !important;
  font-weight: 700 !important;
}

.solvin-slide .terminal-window .hljs-built_in {
  color: var(--accent-tertiary, var(--border-active)) !important;
  font-weight: 700 !important;
}

/* Window Header Bar */
.solvin-slide .code-header,
.solvin-slide .terminal-header {
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  border-bottom: 2px solid var(--border-color) !important;
  font-family: var(--code-font) !important;
  font-weight: 700 !important;
  padding: 0.38rem 0.85rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.6rem !important;
  user-select: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.solvin-slide .code-container:hover .code-header,
.solvin-slide .terminal-window:hover .terminal-header {
  border-bottom-color: var(--border-active) !important;
}

.solvin-slide .code-title,
.solvin-slide .terminal-title {
  color: var(--text-color) !important;
  font-family: var(--code-font) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

/* Window Dots (Close, Min, Max) strictly follow the active palette */
.solvin-slide .terminal-dots,
.solvin-slide .window-dots {
  display: inline-flex !important;
  gap: 6px !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.solvin-slide .terminal-dot,
.solvin-slide .window-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  border: 1.2px solid var(--border-color) !important;
  box-shadow: 1px 1px 0px var(--shadow-color) !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
  cursor: pointer !important;
}

.solvin-slide .terminal-dots:hover .terminal-dot,
.solvin-slide .window-dots:hover .window-dot {
  transform: scale(1.18);
}

/* Dot 1: Close button in palette primary border */
.solvin-slide .terminal-dot.red,
.solvin-slide .window-dot.close {
  background-color: var(--border-color) !important;
  border-color: var(--border-color) !important;
}

/* Dot 2: Minimize button in palette accent color */
.solvin-slide .terminal-dot.yellow,
.solvin-slide .window-dot.min {
  background-color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
}

/* Dot 3: Maximize button in palette active border */
.solvin-slide .terminal-dot.green,
.solvin-slide .window-dot.max {
  background-color: var(--border-active) !important;
  border-color: var(--border-active) !important;
}

/* Window Controls & Retro Window Buttons (_ □ ✕) strictly following palette */
.solvin-slide .window-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.solvin-slide .window-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  font-family: 'Quicksand', monospace, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  border-radius: 2px !important;
  background-color: var(--bg-window, var(--bg-color)) !important;
  color: var(--text-color) !important;
  border: 1.2px solid var(--border-color) !important;
  box-shadow: 1.5px 1.5px 0px var(--shadow-color) !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.15s ease !important;
}

.solvin-slide .window-btn svg {
  width: 9px !important;
  height: 9px !important;
  display: block !important;
}

.solvin-slide .window-btn:hover {
  background-color: var(--border-active) !important;
  color: var(--bg-color) !important;
  border-color: var(--border-active) !important;
  box-shadow: 1.5px 1.5px 0px var(--border-active) !important;
  transform: translate(-1px, -1px) !important;
}

.solvin-slide .code-lang-tag,
.solvin-slide .terminal-badge {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  padding: 0.1rem 0.45rem !important;
  border-radius: 3px !important;
  background-color: var(--bg-window, var(--bg-color)) !important;
  color: var(--accent-color, var(--border-color)) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 1px 1px 0px var(--shadow-color) !important;
  margin-right: 0.3rem !important;
  transition: all 0.15s ease !important;
}

.solvin-slide .code-container:hover .code-lang-tag,
.solvin-slide .terminal-window:hover .terminal-badge {
  border-color: var(--border-active) !important;
  color: var(--border-active) !important;
}

.solvin-slide .code-icon {
  color: var(--accent-color);
  font-size: 0.85em;
  opacity: 0.9;
}

.solvin-slide .terminal-icon {
  color: var(--accent-color);
  font-weight: 800;
  font-size: 0.85em;
}

/* Four-column code headers (Slide 13) */
.slide-body.four-cols .code-header {
  padding: 0.28rem 0.45rem !important;
  font-size: 0.70rem !important;
  gap: 0.25rem !important;
}

.slide-body.four-cols .terminal-dots {
  gap: 4px !important;
}

.slide-body.four-cols .terminal-dot {
  width: 7px !important;
  height: 7px !important;
}

.slide-body.four-cols .code-title {
  font-size: 0.70rem !important;
}

.slide-body.four-cols .window-btn {
  width: 15px !important;
  height: 15px !important;
  font-size: 0.60rem !important;
}

.slide-body.four-cols .code-lang-tag {
  font-size: 0.62rem !important;
  padding: 0.05rem 0.3rem !important;
  margin-right: 0 !important;
}

/* Code Pre/Body Backgrounds */
.solvin-slide .code-container pre,
.solvin-slide .terminal-window:not(.asciinema-window) pre,
.solvin-slide .terminal-body:not(.asciinema-body) pre,
.solvin-slide .terminal-body:not(.asciinema-body) code {
  background-color: transparent !important;
  color: var(--text-color) !important;
}

.solvin-slide .code-container pre code,
.solvin-slide pre code {
  color: var(--text-color) !important;
  background-color: transparent !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* Line numbers in code blocks */
.solvin-slide .reveal pre code td.hljs-ln-numbers,
.solvin-slide pre code td.hljs-ln-numbers {
  color: var(--text-dim, var(--text-color)) !important;
  border-right: 1px solid var(--border-color) !important;
  opacity: 0.55 !important;
}

.solvin-slide .reveal pre code td.hljs-ln-code,
.solvin-slide pre code td.hljs-ln-code {
  color: var(--text-color) !important;
}

.solvin-slide .slide-footer {
  border-top: 1px dashed var(--border-color) !important;
  color: var(--text-dim, var(--text-color)) !important;
  opacity: 0.85;
}

.solvin-slide code:not(pre code) {
  background-color: var(--bg-window) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--accent-color) !important;
  border-radius: 3px;
  padding: 0.1rem 0.35rem;
}

/* Matrix Table Scoping under Sol.vin */
.solvin-slide .matrix-table th {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
  border: 1.5px solid var(--border-color) !important;
}

.solvin-slide .matrix-table td {
  border: 1px solid var(--border-color) !important;
  color: var(--text-color) !important;
}

.solvin-slide .matrix-table tr:nth-child(even) td {
  background-color: rgba(128, 128, 128, 0.08) !important;
}

.solvin-slide .matrix-table td.lapis-col {
  color: var(--accent-color) !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   COMPREHENSIVE SYNTAX HIGHLIGHTING STRICTLY FOLLOWING ACTIVE PALETTE
   Overrides Atom One Dark defaults on every slide
   ========================================================================== */
.solvin-slide .hljs,
.solvin-slide pre code.hljs {
  background: transparent !important;
  color: var(--text-color) !important;
}

.solvin-slide .hljs-keyword,
.solvin-slide .hljs-selector-tag,
.solvin-slide .hljs-section {
  color: var(--accent-color) !important;
  font-weight: 700 !important;
}

.solvin-slide .hljs-string,
.solvin-slide .hljs-attr,
.solvin-slide .hljs-template-variable,
.solvin-slide .hljs-regexp,
.solvin-slide .hljs-addition {
  color: var(--accent-secondary) !important;
}

.solvin-slide .hljs-title,
.solvin-slide .hljs-title.class_,
.solvin-slide .hljs-title.function_,
.solvin-slide .hljs-function,
.solvin-slide .hljs-class {
  color: var(--border-active, var(--link-color)) !important;
  font-weight: 700 !important;
}

.solvin-slide .hljs-type,
.solvin-slide .hljs-built_in,
.solvin-slide .hljs-literal {
  color: var(--border-active, var(--accent-color)) !important;
  font-weight: 600 !important;
}

.solvin-slide .hljs-comment,
.solvin-slide .hljs-quote,
.solvin-slide .hljs-doctag {
  color: var(--text-dim) !important;
  font-style: italic !important;
  opacity: 0.75 !important;
}

.solvin-slide .hljs-number,
.solvin-slide .hljs-symbol,
.solvin-slide .hljs-bullet {
  color: var(--accent-quaternary, var(--accent-color)) !important;
}

.solvin-slide .hljs-meta,
.solvin-slide .hljs-meta .hljs-keyword,
.solvin-slide .hljs-meta .hljs-string {
  color: var(--accent-color) !important;
  font-weight: 600 !important;
}

.solvin-slide .hljs-variable,
.solvin-slide .hljs-params,
.solvin-slide .hljs-punctuation,
.solvin-slide .hljs-property,
.solvin-slide .hljs-operator {
  color: var(--text-color) !important;
}

.solvin-slide .hljs-deletion {
  color: var(--border-color) !important;
}

/* ==========================================================================
   Syntax Highlighting for Code Containers (Slide Palette Scoped)
   ========================================================================== */
.code-container pre {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding: 0.65rem 0.95rem !important;
  flex: 1;
  min-height: 0;
  box-sizing: border-box !important;
  overflow: auto !important;
}

.code-container pre code {
  background-color: transparent !important;
  color: var(--text-color) !important;
  font-family: var(--code-font) !important;
  font-size: 0.82rem !important;
  line-height: 1.40 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  display: block !important;
}

.code-container.code-dense pre code,
.code-container pre code.code-dense,
.code-container[data-density="dense"] pre code,
.solvin-slide .code-container[data-density="dense"] pre code {
  font-size: 0.76rem !important;
  line-height: 1.32 !important;
}

.code-container.code-compact pre code,
.code-container pre code.code-compact,
.code-container[data-density="compact"] pre code,
.solvin-slide .code-container[data-density="compact"] pre code,
.solvin-slide .code-container.code-compact pre code,
.solvin-slide pre code.code-compact {
  font-size: 0.72rem !important;
  line-height: 1.25 !important;
}

.code-container pre code .hljs-keyword,
.code-container pre code .hljs-selector-tag {
  color: var(--accent-color) !important;
  font-weight: 700 !important;
}

.code-container pre code .hljs-string,
.code-container pre code .hljs-attr {
  color: var(--accent-secondary, var(--link-color)) !important;
}

.code-container pre code .hljs-title,
.code-container pre code .hljs-title.function_,
.code-container pre code .hljs-title.class_ {
  color: var(--border-active, var(--accent-color)) !important;
  font-weight: 700 !important;
}

.code-container pre code .hljs-type,
.code-container pre code .hljs-built_in,
.code-container pre code .hljs-symbol {
  color: var(--accent-tertiary, var(--border-active)) !important;
}

.code-container pre code .hljs-number,
.code-container pre code .hljs-literal {
  color: var(--accent-quaternary, var(--accent-color)) !important;
}

.code-container pre code .hljs-comment,
.code-container pre code .hljs-quote {
  color: var(--text-dim, var(--border-color)) !important;
  font-style: italic !important;
  opacity: 1 !important;
}

.code-container pre code .hljs-params,
.code-container pre code .hljs-variable {
  color: var(--accent-color) !important;
}

/* Terminal text styles strictly scoped to Active Slide Palette */
.solvin-slide .term-prompt {
  color: var(--accent-color) !important;
  font-weight: 700;
}

.solvin-slide .term-cmd {
  color: var(--text-color) !important;
  font-weight: 700;
}

.solvin-slide .term-green {
  color: var(--accent-secondary) !important;
  font-weight: 600;
}

.solvin-slide .term-cyan {
  color: var(--border-active) !important;
}

.solvin-slide .term-yellow {
  color: var(--accent-color) !important;
}

.solvin-slide .term-magenta {
  color: var(--accent-quaternary) !important;
  font-weight: 600;
}

.solvin-slide .term-dim {
  color: var(--text-dim) !important;
  opacity: 0.75;
}

.solvin-slide .term-bold {
  font-weight: 700;
  color: var(--text-color) !important;
}

/* ==========================================================================
   SLIDE 38: 5-LAYER ARCHITECTURE BRIDGE (DEDICATED ARCHITECTURE LAYOUT)
   Strictly themed to Sol.vin active palette tokens with black shape icons
   ========================================================================== */
.arch-layout-body {
  display: grid !important;
  grid-template-columns: 1.52fr 1fr !important;
  gap: 1.1rem !important;
  align-items: stretch !important;
  max-height: 505px !important;
  height: 505px !important;
  overflow: hidden !important;
}

.arch-main-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.arch-side-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.65rem;
  height: 100%;
}

.arch-layer-card {
  background: var(--bg-window);
  border: 1.5px solid var(--border-color);
  box-shadow: 2px 2px 0px var(--shadow-color);
  border-radius: 6px;
  padding: 0.30rem 0.65rem 0.26rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.arch-layer-card:hover {
  transform: translate(-1px, -1px);
  box-shadow: 2.5px 2.5px 0px var(--border-active);
}

.arch-layer-card.l5, .arch-layer-card.layer5 {
  border-left: 4.5px solid var(--border-active);
}

.arch-layer-card.l4, .arch-layer-card.layer4 {
  border-left: 4.5px solid var(--accent-secondary);
}

.arch-layer-card.l3, .arch-layer-card.layer3 {
  border-left: 4.5px solid var(--accent-color);
}

.arch-layer-card.l2, .arch-layer-card.layer2 {
  border-left: 4.5px solid var(--border-color);
}

.arch-layer-card.l1, .arch-layer-card.layer1 {
  border-left: 4.5px solid var(--text-dim);
}

.arch-layer-header {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.arch-layer-num {
  font-family: 'Quicksand', monospace;
  font-weight: 800;
  font-size: 0.64rem;
  padding: 0.08rem 0.36rem;
  border-radius: 4px;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.arch-layer-num.l5, .arch-layer-num.layer5 {
  background: var(--border-active);
  color: #000000;
}

.arch-layer-num.l4, .arch-layer-num.layer4 {
  background: var(--accent-secondary);
  color: #ffffff;
}

.arch-layer-num.l3, .arch-layer-num.layer3 {
  background: var(--accent-color);
  color: #ffffff;
}

.arch-layer-num.l2, .arch-layer-num.layer2 {
  background: var(--border-color);
  color: #ffffff;
}

.arch-layer-num.l1, .arch-layer-num.layer1 {
  background: var(--text-dim);
  color: #ffffff;
}

.arch-num-text {
  font-weight: 800;
}

/* Distinct high-contrast black shape badge */
.arch-shape-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border-radius: 3px !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin-left: 0.35rem !important;
  filter: none !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.40) !important;
  flex-shrink: 0 !important;
}

.arch-shape-icon .emoji-tint {
  filter: none !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.arch-layer-title {
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.83rem;
  color: var(--text-color);
  white-space: nowrap;
}

.arch-layer-pills {
  display: flex;
  align-items: center;
  gap: 0.20rem;
  margin-left: auto;
}

.arch-pill {
  font-family: var(--code-font);
  font-size: 0.58rem;
  font-weight: 600;
  padding: 0.04rem 0.28rem;
  border-radius: 3px;
  background: rgba(0, 67, 156, 0.16);
  border: 1px solid var(--border-color);
  white-space: nowrap;
}

.arch-pill.l5, .arch-pill.layer5 {
  border-color: var(--border-active);
  color: var(--border-active);
}

.arch-pill.l4, .arch-pill.layer4 {
  border-color: var(--accent-secondary);
  color: var(--accent-secondary);
}

.arch-pill.l3, .arch-pill.layer3 {
  border-color: var(--accent-color);
  color: var(--accent-color);
}

.arch-pill.l2, .arch-pill.layer2 {
  border-color: var(--border-color);
  color: var(--text-color);
}

.arch-pill.l1, .arch-pill.layer1 {
  border-color: var(--text-dim);
  color: var(--text-color);
}

.arch-layer-desc {
  font-size: 0.67rem;
  line-height: 1.22;
  color: var(--text-color);
  opacity: 0.92;
  padding-left: 0.10rem;
}

.arch-layer-desc code {
  font-family: var(--code-font);
  font-size: 0.65rem;
  background: var(--bg-color);
  color: var(--border-active);
  padding: 0.02rem 0.25rem;
  border-radius: 2px;
  border: 1px solid var(--border-color);
}

/* Architecture bus connector lines */
.arch-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 0.06rem 0;
  height: 18px;
}

.arch-connector-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-color) 40%, var(--border-color) 60%, transparent);
  opacity: 0.75;
}

.arch-connector-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 0.06rem 0.55rem;
  font-family: 'Quicksand', monospace;
  font-size: 0.53rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--accent-tertiary);
  box-shadow: 0 1px 2px var(--shadow-color);
  white-space: nowrap;
}

.arch-flow-part {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.arch-flow-dot {
  color: var(--text-dim);
  font-size: 0.65rem;
  line-height: 1;
  opacity: 0.8;
}

/* Side deep-dive cards */
.arch-side-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
  padding: 0.60rem 0.80rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  flex: 1;
}

.arch-side-card.cyan {
  border-left: 4px solid var(--border-active) !important;
}

.arch-side-card.blue {
  border-left: 4px solid var(--accent-secondary) !important;
}

.arch-side-card-header {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  border-bottom: 1px dashed var(--border-color);
  padding-bottom: 0.30rem;
}

.arch-side-badge {
  font-family: var(--code-font);
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  width: fit-content;
}

.arch-side-badge.cyan {
  color: var(--border-active);
}

.arch-side-badge.blue {
  color: var(--accent-secondary);
}

.arch-side-card-title {
  font-family: 'Quicksand', sans-serif !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.arch-card-list {
  font-size: 0.68rem !important;
  line-height: 1.35 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding-left: 1.1rem !important;
  color: var(--text-color) !important;
}

.arch-card-list li {
  margin: 0 !important;
}

.arch-card-list code {
  font-family: var(--code-font);
  font-size: 0.65rem;
  background: var(--bg-color);
  color: var(--border-active);
  padding: 0.04rem 0.26rem;
  border-radius: 3px;
  border: 1px solid var(--border-color);
}


/* ==========================================================================
   TIMELINE COMPONENT (SLIDE 4 & CHRONOLOGICAL SLIDES)
   Strictly themed to Sol.vin active palette tokens
   ========================================================================== */
.timeline-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  justify-content: flex-start;
  gap: 0.50rem;
}

.timeline-rail-wrap {
  position: relative;
  width: 100%;
  margin: 0.15rem 0 0.25rem 0;
}

.timeline-line {
  position: absolute;
  left: 12.5%;
  right: 12.5%;
  height: 3px;
  background: var(--border-color);
  bottom: 7px;
  z-index: 1;
  opacity: 0.85;
}

.timeline-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
  width: 100%;
  z-index: 2;
}

.timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.timeline-year {
  font-family: 'Quicksand', monospace;
  font-size: 0.82rem;
  font-weight: 800;
  padding: 0.10rem 0.55rem;
  border-radius: 3px;
  background: var(--bg-window);
  border: 1.5px solid var(--border-color);
  box-shadow: 1.5px 1.5px 0px var(--shadow-color);
  color: var(--accent-color);
  letter-spacing: 0.05em;
  transition: all 0.15s ease;
}

.timeline-step:hover .timeline-year {
  border-color: var(--border-active);
  color: var(--border-active);
  transform: translateY(-1px);
}

.timeline-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--bg-window);
  border: 3px solid var(--accent-color);
  box-shadow: 0 0 0 3px var(--bg-color);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  z-index: 3;
}

.timeline-step:hover .timeline-dot {
  transform: scale(1.3);
  border-color: var(--border-active);
  background: var(--border-active);
}

.timeline-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
  flex: 1;
  align-items: stretch;
}

.timeline-card {
  background: var(--bg-window);
  border: 1.5px solid var(--border-color);
  box-shadow: 2px 2px 0px var(--shadow-color);
  border-radius: 4px;
  padding: 0.55rem 0.70rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.timeline-card:hover {
  transform: translate(-1px, -2px);
  border-color: var(--border-active);
  box-shadow: 3px 3px 0px var(--border-active);
}

.timeline-card-header {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  border-bottom: 1px dashed var(--border-color);
  padding-bottom: 0.30rem;
}

.timeline-card-title {
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.86rem;
  line-height: 1.2;
  color: var(--text-color);
}

.timeline-card-pill {
  align-self: flex-start;
  font-size: 0.60rem;
  font-weight: 700;
  padding: 0.05rem 0.32rem;
  border-radius: 2px;
  border: 1px solid var(--border-color);
  background: var(--bg-color);
  color: var(--accent-color);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.timeline-card .card-list {
  font-size: 0.69rem;
  line-height: 1.26;
  margin: 0;
  padding-left: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.timeline-card .card-list li {
  word-break: normal;
  overflow-wrap: break-word;
}

.timeline-card .card-list code {
  font-family: var(--code-font);
  font-size: 0.65rem;
  background: var(--bg-color);
  color: var(--border-active);
  padding: 0.03rem 0.28rem;
  border-radius: 3px;
  border: 1px solid var(--border-color);
  white-space: nowrap;
}


/* ==========================================================================
   FontAwesome Pro 7.1.0 Inline SVG System
   Theme-Aware, Zero-CORS, Resolution-Independent Vector Glyphs
   ========================================================================== */
.fa-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
  margin: 0 0.15em;
  flex-shrink: 0;
  transition: transform 0.15s ease, fill 0.15s ease;
}

.window-btn .fa-icon {
  width: 0.65em;
  height: 0.65em;
  vertical-align: middle;
  margin: 0;
}

.stat-icon .fa-icon,
.closing-icon .fa-icon,
.banner-icon .fa-icon,
.spec-icon .fa-icon {
  margin: 0;
  vertical-align: middle;
}

.intro-pill .fa-icon {
  margin-right: 0.35em;
  vertical-align: -0.1em;
}

.card-title .fa-icon {
  vertical-align: -0.1em;
  margin-right: 0.25em;
}

.quickstart-label .fa-icon {
  margin-right: 0.3em;
  vertical-align: -0.1em;
}

.emoji-tint {
  display: inline-block;
  vertical-align: -0.12em;
  margin: 0 0.12em;
}

/* ==========================================================================
   Two-Step Code Comparison & Critique Overlay System
   ========================================================================== */
.code-only-mode .code-container pre {
  max-height: calc(100% - 2.5rem);
  font-size: 0.92rem;
  line-height: 1.5;
}

.with-overlay-mode {
  position: relative !important;
}

.dimmed-code {
  opacity: 0.18 !important;
  filter: blur(1.5px) !important;
  pointer-events: none !important;
  transition: opacity 0.35s ease, filter 0.35s ease;
}

.ide-notes-overlay {
  position: absolute !important;
  top: 2.2rem !important;
  bottom: 0.25rem !important;
  left: 0 !important;
  right: 0 !important;
  display: flex !important;
  gap: 1rem !important;
  align-items: stretch !important;
  z-index: 15 !important;
  pointer-events: none !important;
}

.overlay-card {
  flex: 1 !important;
  background-color: var(--bg-window) !important;
  border: 2px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 1.15rem 1.35rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  box-shadow: 4px 4px 0px var(--shadow-color) !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  min-width: 0 !important;
  animation: overlayCardIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.overlay-card.antipattern,
.overlay-card.solution,
.overlay-card.coral,
.overlay-card.emerald {
  border-color: var(--border-color) !important;
  background-color: var(--bg-window) !important;
  box-shadow: 4px 4px 0px var(--shadow-color) !important;
}

.overlay-card:hover {
  border-color: var(--border-active) !important;
}

.overlay-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 0.15rem !important;
  border-bottom: 1.5px solid var(--border-color) !important;
  padding-bottom: 0.45rem !important;
}

.overlay-card .card-title {
  font-size: 1.15rem !important;
  margin-bottom: 0 !important;
  font-weight: 700 !important;
  color: var(--text-color) !important;
}

.overlay-card.antipattern .card-title,
.overlay-card.coral .card-title {
  color: var(--text-color) !important;
}

.overlay-card.solution .card-title,
.overlay-card.emerald .card-title {
  color: var(--accent-color) !important;
}

.overlay-card .badge-pill {
  background-color: var(--bg-window) !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
}

.overlay-card.antipattern .badge-pill,
.overlay-card.coral .badge-pill {
  border-color: var(--border-color) !important;
  color: var(--text-dim, var(--text-color)) !important;
}

.overlay-card.solution .badge-pill,
.overlay-card.emerald .badge-pill {
  border-color: var(--border-color) !important;
  color: var(--accent-color) !important;
}

.overlay-card ul.card-list {
  gap: 0.6rem !important;
  justify-content: space-evenly !important;
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.overlay-card ul.card-list li {
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  color: var(--text-color) !important;
  position: relative !important;
  padding-left: 1.25rem !important;
}

.overlay-card ul.card-list li strong {
  color: var(--accent-color, var(--text-color)) !important;
  font-weight: 700 !important;
}

.overlay-card ul.card-list li code {
  background: var(--bg-color) !important;
  color: var(--accent-color) !important;
  border: 1px solid var(--border-color) !important;
  padding: 0.12rem 0.35rem !important;
  border-radius: 4px !important;
}

.overlay-card ul.card-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--border-color) !important;
  font-weight: bold;
  font-size: 1.1rem;
}

.overlay-card.antipattern ul.card-list li::before,
.overlay-card.coral ul.card-list li::before {
  color: var(--border-color) !important;
}

.overlay-card.solution ul.card-list li::before,
.overlay-card.emerald ul.card-list li::before {
  color: var(--accent-color) !important;
}

/* ==========================================================================
   Quantitative Benchmark Bar Charts (Strict Palette Compliance)
   ========================================================================== */
.barchart-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  padding: 0.95rem 1.15rem !important;
  background-color: var(--bg-window) !important;
  border: 2px solid var(--border-color) !important;
  border-radius: 8px !important;
  box-shadow: 4px 4px 0px var(--shadow-color) !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.barchart-card .card-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--text-color) !important;
  margin-bottom: 0.1rem !important;
  border-bottom: 1.5px solid var(--border-color) !important;
  padding-bottom: 0.4rem !important;
}

.barchart-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  flex: 1 !important;
  justify-content: space-around !important;
}

.barchart-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

.barchart-row-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 0.80rem !important;
  font-weight: 700 !important;
  color: var(--text-color) !important;
}

.barchart-name {
  color: var(--text-color) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.barchart-speedup.badge-pill {
  border: 1px solid var(--accent-color) !important;
  color: var(--accent-color) !important;
  background: var(--bg-window) !important;
  font-size: 0.66rem !important;
  padding: 0.1rem 0.45rem !important;
  font-weight: 800 !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
}

.barchart-bars {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.18rem !important;
}

.barchart-bar-line {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  font-size: 0.72rem !important;
}

.bar-platform {
  width: 65px !important;
  color: var(--text-dim, var(--text-color)) !important;
  font-family: var(--code-font) !important;
  font-size: 0.70rem !important;
  flex-shrink: 0 !important;
}

.bar-track {
  flex: 1 !important;
  height: 12px !important;
  background-color: var(--bg-color) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  position: relative !important;
}

.bar-fill.gdscript {
  height: 100% !important;
  background-color: var(--border-color) !important;
  opacity: 0.8 !important;
  border-radius: 2px !important;
}

.bar-fill.crystal {
  height: 100% !important;
  background-color: var(--accent-color) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 5px var(--accent-color) !important;
}

.bar-fill.cpp {
  height: 100% !important;
  background-color: #569cd6 !important;
  border-radius: 2px !important;
  box-shadow: 0 0 4px rgba(86, 156, 214, 0.6) !important;
}

.bar-fill.rust {
  height: 100% !important;
  background-color: #dea584 !important;
  border-radius: 2px !important;
  box-shadow: 0 0 4px rgba(222, 165, 132, 0.6) !important;
}

.bar-fill.csharp {
  height: 100% !important;
  background-color: #d2a8ff !important;
  border-radius: 2px !important;
  box-shadow: 0 0 4px rgba(210, 168, 255, 0.6) !important;
}

.bar-val {
  width: 68px !important;
  text-align: right !important;
  font-family: var(--code-font) !important;
  font-size: 0.71rem !important;
  color: var(--text-color) !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
}

@keyframes overlayCardIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ==========================================================================
   Four-Column Layout Tight Card Proportions
   ========================================================================== */
.four-cols .card {
  padding: 0.75rem 0.85rem !important;
  gap: 0.45rem !important;
}

.four-cols .card .card-title {
  font-size: 0.95rem !important;
  margin-bottom: 0.15rem !important;
}

.four-cols .card ul.card-list {
  gap: 0.35rem !important;
}

.four-cols .card ul.card-list li {
  font-size: 0.73rem !important;
  line-height: 1.34 !important;
  padding-left: 0.95rem !important;
}

/* ==========================================================================
   Profile & Bento Grid Layout (Slide 2 / Author Presentation)
   ========================================================================== */
.profile-layout-body,
.slide-body[data-layout*="profile"],
[data-layout*="profile"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  flex: 1 !important;
  min-height: 0 !important;
  width: 100% !important;
}

.profile-stats-ribbon {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.75rem !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}

.profile-stat-chip {
  display: flex !important;
  align-items: center !important;
  gap: 0.70rem !important;
  padding: 0.48rem 0.95rem !important;
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 2.5px 2.5px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.profile-stat-chip:hover {
  border-color: var(--border-active) !important;
  box-shadow: 2.5px 2.5px 0px var(--border-active) !important;
  transform: translateY(-1px) !important;
}

.profile-stat-chip .stat-icon {
  font-size: 1.45rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.profile-stat-chip .stat-meta {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  gap: 0.05rem !important;
}

.profile-stat-chip .stat-value {
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: var(--text-color) !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.profile-stat-chip .stat-label {
  font-size: 0.67rem !important;
  font-weight: 600 !important;
  color: var(--text-dim, var(--accent-tertiary, #545458)) !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.profile-bento-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 0.75rem !important;
  flex: 1 !important;
  min-height: 0 !important;
  width: 100% !important;
}

.card.profile-card {
  padding: 0.75rem 1.10rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.28rem !important;
  border-radius: 6px !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
}

.card.profile-card:hover {
  box-shadow: 3px 3px 0px var(--border-active) !important;
}

.card.profile-card .card-title {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  padding-bottom: 0.30rem !important;
  margin-bottom: 0.28rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  line-height: 1.2 !important;
}

.card.profile-card .card-title > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.card.profile-card .badge-pill {
  font-size: 0.60rem !important;
  padding: 0.12rem 0.50rem !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
}

.card.profile-card ul.card-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.28rem !important;
  margin: 0 !important;
  padding: 0 0 0 1.05rem !important;
  flex: 1 !important;
  justify-content: space-evenly !important;
}

.card.profile-card ul.card-list li {
  font-size: 0.78rem !important;
  line-height: 1.34 !important;
  color: var(--text-color) !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.card.profile-card ul.card-list li strong {
  color: var(--accent-color, var(--text-color)) !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   Modular Architectural Stack Layout (Raylib Architecture Style)
   ========================================================================== */
.arch-stack-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  flex: 1 !important;
  width: 100% !important;
  min-height: 0 !important;
  justify-content: space-between !important;
}

.arch-tier-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.22rem !important;
  width: 100% !important;
}

.arch-tier-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0.25rem !important;
  line-height: 1.1 !important;
}

.arch-tier-name {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--accent-color) !important;
}

.arch-tier-label {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  color: var(--text-dim, var(--accent-tertiary)) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin-right: auto !important;
  margin-left: 0.8rem !important;
}

.arch-tier-grid {
  display: grid !important;
  gap: 0.45rem !important;
  width: 100% !important;
}

.arch-tier-grid.cols-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

.arch-tier-grid.cols-2 {
  grid-template-columns: 1fr 1fr !important;
}

.arch-block {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  border-radius: 5px !important;
  padding: 0.40rem 0.65rem !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  box-sizing: border-box !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.arch-block:hover {
  border-color: var(--border-active) !important;
  box-shadow: 2px 2px 0px var(--border-active) !important;
  transform: translateY(-1px) !important;
}

.arch-block.cyan {
  border-color: var(--border-active) !important;
}

.arch-block.purple {
  border-color: var(--accent-color) !important;
}

.arch-block.amber {
  border-color: var(--accent-tertiary, var(--accent-color)) !important;
}

.arch-block.blue {
  border-color: var(--link-color, var(--border-active)) !important;
}

.arch-block-title {
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  color: var(--text-color) !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}

.arch-block-desc {
  font-size: 0.64rem !important;
  color: var(--text-dim, var(--accent-tertiary)) !important;
  line-height: 1.25 !important;
}

.arch-block-desc code {
  font-family: var(--code-font) !important;
  font-size: 0.60rem !important;
  background: var(--bg-color) !important;
  color: var(--border-active) !important;
  padding: 0.02rem 0.25rem !important;
  border-radius: 3px !important;
  border: 1px solid var(--border-color) !important;
}

.arch-tier-flow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 12px !important;
  line-height: 1 !important;
  margin: -0.1rem 0 !important;
}

.arch-flow-arrow {
  font-size: 0.62rem !important;
  color: var(--border-active, var(--accent-color)) !important;
  opacity: 0.75 !important;
}

/* ==========================================================================
   Dual Mode Layout (Mode A vs Mode B)
   ========================================================================== */

.dual-mode-body,
.slide-body[data-layout*="dual-mode"],
[data-layout*="dual-mode"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.6rem !important;
  flex: 1 !important;
}

.self-hosted-banner,
.dual-mode-banner {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: var(--bg-window) !important;
  border: 1.5px solid var(--accent-color, #c88e00) !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.8rem !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
}

.self-hosted-banner .banner-icon {
  font-size: 1.1rem !important;
}

.self-hosted-banner .banner-text {
  font-size: 0.72rem !important;
  color: var(--text-color) !important;
  line-height: 1.3 !important;
}

.self-hosted-banner .banner-text strong {
  color: var(--accent-color, #c88e00) !important;
}

.dual-mode-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.9rem !important;
  flex: 1 !important;
}

.dual-mode-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 0.7rem 0.85rem !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.dual-mode-card.cyan {
  border-left: 4px solid var(--border-active, #00a88f) !important;
}

.dual-mode-card.amber {
  border-left: 4px solid var(--accent-color, #c88e00) !important;
}

.dual-mode-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 0.35rem !important;
}

.dual-mode-title-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.dual-mode-title {
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
}

.dual-mode-flow code {
  font-family: var(--code-font) !important;
  font-size: 0.63rem !important;
  background: var(--bg-color) !important;
  color: var(--link-color, var(--border-active)) !important;
  padding: 0.12rem 0.35rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--border-color) !important;
  display: inline-block !important;
}

.dual-mode-specs {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.3rem !important;
  flex: 1 !important;
}

.dual-mode-spec-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  font-size: 0.68rem !important;
  line-height: 1.3 !important;
  padding: 0.12rem 0 !important;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.08) !important;
}

.spec-label {
  font-weight: 700 !important;
  color: var(--text-color) !important;
  white-space: nowrap !important;
  margin-right: 0.6rem !important;
}

.spec-icon {
  font-size: 0.72rem !important;
  margin-right: 0.2rem !important;
}

.spec-value {
  color: var(--text-dim, var(--accent-tertiary)) !important;
  text-align: right !important;
}

.spec-value code {
  font-family: var(--code-font) !important;
  font-size: 0.62rem !important;
  background: var(--bg-color) !important;
  color: var(--text-color) !important;
  padding: 0.05rem 0.25rem !important;
  border-radius: 3px !important;
}

.dual-mode-desc {
  font-size: 0.66rem !important;
  color: var(--text-dim) !important;
  line-height: 1.3 !important;
  font-style: italic !important;
  background: rgba(0, 0, 0, 0.1) !important;
  padding: 0.3rem 0.5rem !important;
  border-radius: 4px !important;
}

.dual-mode-summary {
  font-size: 0.70rem !important;
  color: var(--text-color) !important;
  background: var(--bg-window) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px !important;
  padding: 0.3rem 0.7rem !important;
  line-height: 1.35 !important;
}

/* ==========================================================================
   Demo Roadmap Layout (Step 1 -> Step 4)
   ========================================================================== */

.demo-roadmap-body,
.slide-body[data-layout*="demo-roadmap"],
[data-layout*="demo-roadmap"] .slide-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  flex: 1 !important;
}

.demo-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
  gap: 0.5rem !important;
  flex: 1 !important;
}

.demo-step-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  border-top: 3.5px solid var(--border-active) !important;
  border-radius: 8px !important;
  padding: 0.45rem 0.5rem !important;
  box-shadow: 2px 2px 0px var(--shadow-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.38rem !important;
  min-width: 0 !important;
}

.demo-step-card.cyan {
  border-top: 3.5px solid var(--border-active, #00a88f) !important;
}

.demo-step-card.purple {
  border-top: 3.5px solid var(--accent-secondary, #df0024) !important;
}

.demo-step-card.green {
  border-top: 3.5px solid var(--link-color, #0063be) !important;
}

.demo-step-card.amber {
  border-top: 3.5px solid var(--accent-color, #c88e00) !important;
}

.demo-step-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 0.25rem !important;
}

.demo-step-title {
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  color: var(--text-color) !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.demo-step-box {
  background: var(--bg-color) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 5px !important;
  padding: 0.28rem 0.35rem !important;
  overflow: hidden !important;
}

.demo-step-box pre {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  scrollbar-width: none !important;
}

.demo-step-box pre::-webkit-scrollbar,
.demo-step-box::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.demo-step-box code {
  font-family: var(--code-font) !important;
  font-size: 0.54rem !important;
  line-height: 1.25 !important;
  display: block !important;
  white-space: pre !important;
  overflow: hidden !important;
}

.demo-step-box.terminal-box code {
  color: var(--border-active, var(--link-color)) !important;
}

.demo-step-box.code-box code {
  color: var(--accent-color, #c88e00) !important;
}

.demo-step-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
  flex: 1 !important;
}

.demo-step-list li {
  font-size: 0.59rem !important;
  line-height: 1.26 !important;
  color: var(--text-dim, var(--accent-tertiary)) !important;
  position: relative !important;
  padding-left: 0.7rem !important;
}

.demo-step-list li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--border-active, var(--accent-color)) !important;
  font-weight: bold !important;
}

.demo-step-list li code {
  font-family: var(--code-font) !important;
  font-size: 0.55rem !important;
  background: var(--bg-color) !important;
  color: var(--text-color) !important;
  padding: 0.02rem 0.2rem !important;
  border-radius: 3px !important;
}

.demo-step-highlight {
  font-size: 0.56rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 0.15rem 0.3rem !important;
  border-radius: 4px !important;
  background: rgba(0, 0, 0, 0.15) !important;
  border: 1px dashed var(--border-color) !important;
  color: var(--accent-color) !important;
}

.demo-step-highlight.cyan { color: var(--border-active) !important; }
.demo-step-highlight.purple { color: var(--accent-secondary) !important; }
.demo-step-highlight.green { color: var(--link-color) !important; }
.demo-step-highlight.amber { color: var(--accent-color) !important; }

.demo-roadmap-summary {
  font-size: 0.68rem !important;
  color: var(--text-color) !important;
  background: var(--bg-window) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px !important;
  padding: 0.3rem 0.65rem !important;
  line-height: 1.35 !important;
}

/* ==========================================================================
   Closing Layout (Slide 44: Thanks for Watching)
   ========================================================================== */

.closing-cube {
  position: absolute !important;
  top: 48% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1 !important;
  pointer-events: auto !important;
  width: 440px !important;
  height: 440px !important;
  opacity: 0.85 !important;
  transition: opacity 0.3s ease !important;
}

.closing-cube:hover {
  opacity: 1 !important;
}

.closing-cube .cube-svg {
  width: 100% !important;
  height: 100% !important;
}

.closing-cube .cube-edge {
  stroke: var(--accent-color, var(--cube, #f0c018)) !important;
  stroke-width: 2.8px !important;
  stroke-linecap: round !important;
}

.closing-cube:hover .cube-edge {
  stroke: var(--cube-hover, #ffffff) !important;
}

.closing-content {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.7rem !important;
  flex: 1 !important;
}

.closing-cards-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 15rem !important;
  row-gap: 1.1rem !important;
  flex: 1 !important;
  align-content: center !important;
}

.closing-card {
  background: rgba(22, 22, 28, 0.72) !important;
  backdrop-filter: blur(6px) !important;
  border: 1.5px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 0.75rem 0.95rem !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}

.closing-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--accent-color) !important;
  background: rgba(22, 22, 28, 0.90) !important;
}

.closing-card.cyan { border-left: 4.5px solid var(--border-active) !important; }
.closing-card.amber { border-left: 4.5px solid var(--accent-color) !important; }
.closing-card.purple { border-left: 4.5px solid var(--accent-secondary) !important; }
.closing-card.green { border-left: 4.5px solid var(--link-color) !important; }

.closing-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.closing-card-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}

.closing-icon {
  font-size: 1.1rem !important;
}

.closing-title {
  font-size: 0.90rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.closing-link code {
  font-family: var(--code-font) !important;
  font-size: 0.68rem !important;
  background: rgba(15, 15, 20, 0.85) !important;
  color: var(--accent-color, #f0c018) !important;
  padding: 0.12rem 0.4rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--border-color) !important;
  display: inline-block !important;
}

.closing-desc {
  font-size: 0.66rem !important;
  color: #c0c0c8 !important;
  line-height: 1.35 !important;
}

.closing-quickstart-bar {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  background: rgba(28, 28, 34, 0.82) !important;
  backdrop-filter: blur(6px) !important;
  border: 1.5px solid var(--accent-color) !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.85rem !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
}

.quickstart-label {
  font-size: 0.70rem !important;
  font-weight: 800 !important;
  color: var(--accent-color, #f0c018) !important;
  white-space: nowrap !important;
}

.quickstart-code {
  font-family: var(--code-font) !important;
  font-size: 0.65rem !important;
  color: #ffffff !important;
  background: rgba(15, 15, 20, 0.85) !important;
  padding: 0.08rem 0.4rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--border-color) !important;
  flex: 1 !important;
}

.closing-signature {
  font-size: 0.66rem !important;
  color: var(--text-dim) !important;
  text-align: center !important;
  font-style: italic !important;
}

/* ==========================================================================
   Intro Layout (Slide 1: Hero Title Slide)
   ========================================================================== */

.intro-cube {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  width: 310px !important;
  height: 310px !important;
  opacity: 0.95 !important;
  transition: opacity 0.3s ease !important;
}

.intro-cube:hover {
  opacity: 1 !important;
}

.intro-cube .cube-svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.intro-cube .cube-edge {
  stroke: var(--accent-color, var(--cube, #4090ff)) !important;
  stroke-width: 2.6px !important;
  stroke-linecap: round !important;
}

.intro-cube:hover .cube-edge {
  stroke: var(--cube-hover, #ffffff) !important;
}

.intro-content {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 100% !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  pointer-events: none !important;
  padding: 0.3rem 0 !important;
}

.intro-top-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.25rem !important;
  pointer-events: auto !important;
  flex-shrink: 0 !important;
}

.intro-topic-wrap {
  margin-bottom: 0.15rem !important;
}

.intro-topic-badge {
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  padding: 0.25rem 1.2rem !important;
  border-radius: 9999px !important;
  background-color: var(--card-bg, rgba(22, 24, 32, 0.90)) !important;
  border: 1.5px solid var(--border-active, #4090ff) !important;
  color: var(--border-active, #4090ff) !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.45) !important;
}

.intro-title {
  font-size: 2.9rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7) !important;
}

.intro-subtitle {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #94a3b8) !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
}

.intro-cube-spacer {
  flex: 1 !important;
  min-height: 220px !important;
  pointer-events: none !important;
}

.intro-bottom-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.4rem !important;
  pointer-events: auto !important;
  flex-shrink: 0 !important;
  margin-bottom: 0.1rem !important;
}

.intro-author-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.15rem !important;
}

.intro-author-name {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: 0.01em !important;
}

.intro-author-alias {
  color: var(--accent-color, #4090ff) !important;
  font-weight: 700 !important;
}

.intro-author-role {
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: var(--text-dim, #7b8c9e) !important;
  letter-spacing: 0.02em !important;
}

.intro-pills-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.55rem !important;
  margin-top: 0.15rem !important;
}

.intro-pill {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: var(--text-color, #f0f4f9) !important;
  background: rgba(25, 30, 42, 0.88) !important;
  backdrop-filter: blur(6px) !important;
  border: 1.2px solid var(--border-color, #1f5ac8) !important;
  border-radius: 9999px !important;
  padding: 0.22rem 0.85rem !important;
  box-shadow: 2px 2px 0px var(--shadow-color, #0a0d12) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.intro-pill code {
  font-family: var(--code-font) !important;
  font-size: 0.70rem !important;
  color: var(--accent-color, #4090ff) !important;
}

/* ==========================================================================
   Chapter / Section Title Card Layout Styles
   ========================================================================== */
.chapter-content {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 100% !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 0.8rem 1.5rem 0.5rem 1.5rem !important;
}

.chapter-top {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.35rem !important;
  flex-shrink: 0 !important;
}

.chapter-badge-wrap {
  margin-bottom: 0.2rem !important;
}

.chapter-act-badge {
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  padding: 0.28rem 1.3rem !important;
  border-radius: 9999px !important;
  background-color: var(--bg-window, rgba(22, 24, 32, 0.92)) !important;
  border: 2px solid var(--border-active, #4090ff) !important;
  color: var(--border-active, #4090ff) !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

.chapter-title {
  font-size: 2.7rem !important;
  font-weight: 900 !important;
  color: var(--text-color, #ffffff) !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.6) !important;
}

.chapter-subtitle {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #94a3b8) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  max-width: 860px !important;
  letter-spacing: 0.01em !important;
}

.chapter-cube-wrap {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 160px !important;
  max-height: 200px !important;
  margin: 0.5rem 0 !important;
}

.chapter-cube {
  position: relative !important;
  margin: 0 auto !important;
  cursor: grab !important;
}

.chapter-cube:active {
  cursor: grabbing !important;
}

.chapter-pillars-row {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 1.1rem !important;
  width: 100% !important;
  max-width: 1080px !important;
  flex-shrink: 0 !important;
}

.chapter-pillar-card {
  flex: 1 1 0 !important;
  background-color: var(--bg-window, #1e293b) !important;
  border: 1.5px solid var(--border-color, #334155) !important;
  border-radius: 8px !important;
  padding: 0.75rem 1rem !important;
  box-shadow: 3px 3px 0px var(--shadow-color, rgba(0, 0, 0, 0.4)) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  text-align: left !important;
  transition: transform 0.15s ease, border-color 0.15s ease !important;
}

.chapter-pillar-card:hover {
  border-color: var(--border-active, #4090ff) !important;
  transform: translateY(-2px) !important;
}

.chapter-pillar-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.chapter-pillar-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.3rem !important;
  height: 1.3rem !important;
}

.chapter-pillar-icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
}

.chapter-pillar-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--text-color, #ffffff) !important;
  letter-spacing: 0.01em !important;
}

.chapter-pillar-desc {
  font-size: 0.74rem !important;
  color: var(--text-muted, #94a3b8) !important;
  line-height: 1.25 !important;
}

/* ==========================================================================
   Slide 71 (34b_r2_test_suite): 1.5X Bigger Code Text Size
   ========================================================================== */
.slide-34b_r2_test_suite .code-container pre code,
[data-slide-id="34b_r2_test_suite"] .code-container pre code {
  font-size: 0.94rem !important;
  line-height: 1.25 !important;
}

/* ==========================================================================
   Asciinema Player Sol.vin Dynamic Terminal Integration
   ========================================================================== */
.asciinema-window {
  flex: 1 1 0 !important;
  height: 100% !important;
  min-height: 420px;
  max-height: 525px;
  display: flex !important;
  flex-direction: column !important;
}

.solvin-slide .asciinema-window {
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3.5px 3.5px 0px var(--shadow-color) !important;
  border-radius: 6px !important;
}

.solvin-slide .asciinema-window .terminal-header {
  background-color: var(--bg-window) !important;
  color: var(--text-color) !important;
  border-bottom: 1.5px dashed var(--border-color) !important;
  padding: 0.35rem 0.8rem;
  font-size: 0.76rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  user-select: none;
}

.solvin-slide .asciinema-window .terminal-title {
  font-family: var(--code-font) !important;
  font-size: 0.75rem !important;
  color: var(--accent-color, var(--text-color)) !important;
  letter-spacing: 0.03em;
}

.asciinema-window .window-controls .code-lang-tag {
  cursor: pointer;
  user-select: none;
  transition: all 0.15s ease-in-out;
}

.solvin-slide .asciinema-window .window-controls .code-lang-tag {
  background-color: var(--bg-color, var(--bg-window)) !important;
  color: var(--accent-color) !important;
  border: 1px solid var(--border-color) !important;
  font-size: 0.65rem;
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
}

.asciinema-window .window-controls .code-lang-tag:hover {
  filter: brightness(1.2);
  transform: translateY(-1px);
}

.solvin-slide .asciinema-window .window-controls .code-lang-tag:hover {
  border-color: var(--border-active) !important;
  color: var(--border-active) !important;
}

.asciinema-window .asciinema-body {
  flex: 1 1 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0.4rem !important;
  background: var(--bg-window, #181818) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.asciinema-player-mount {
  flex: 1 1 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  position: relative !important;
}

.asciinema-player-mount .ap-wrapper {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Dynamic Palette Mapping for Asciinema Player & Terminal Colors */
.solvin-slide .asciinema-player-mount .ap-player,
.asciinema-player-mount .ap-player {
  background-color: var(--bg-window) !important;
  border-radius: 6px !important;
  box-shadow: none !important;

  /* Terminal Colors dynamically mapped from Sol.vin palette */
  --term-color-background: var(--bg-window) !important;
  --term-color-foreground: var(--text-color) !important;
  --term-color-0: var(--bg-window) !important;
  --term-color-1: #e11d48 !important; /* High-contrast Red */
  --term-color-2: var(--accent-secondary, #10b981) !important; /* Palette Green */
  --term-color-3: #d97706 !important; /* High-contrast Amber/Gold */
  --term-color-4: var(--border-active, #0284c7) !important; /* Palette Blue */
  --term-color-5: var(--accent-color, #9333ea) !important; /* Palette Magenta */
  --term-color-6: var(--border-active, #0891b2) !important; /* Palette Cyan */
  --term-color-7: var(--text-color, #f8fafc) !important; /* Palette Foreground */
  --term-color-8: var(--text-dim, #64748b) !important; /* Palette Dim */
  --term-color-9: #f43f5e !important; /* Bright Red */
  --term-color-10: var(--accent-secondary, #34d399) !important; /* Bright Green */
  --term-color-11: #f59e0b !important; /* Bright Amber */
  --term-color-12: var(--link-color, #38bdf8) !important; /* Bright Blue */
  --term-color-13: var(--accent-color, #c084fc) !important; /* Bright Magenta */
  --term-color-14: var(--border-active, #38bdf8) !important; /* Bright Cyan */
  --term-color-15: var(--text-color, #ffffff) !important; /* Bright White */
}

/* Asciinema Terminal font scaling and typography */
.solvin-slide .asciinema-player-mount pre.ap-terminal,
.asciinema-player-mount pre.ap-terminal,
.asciinema-player-mount .ap-line,
.asciinema-player-mount pre {
  background-color: var(--bg-window) !important;
  border-color: var(--bg-window) !important;
  font-family: 'Cascadia Code', 'JetBrains Mono', Consolas, monospace !important;
  font-feature-settings: "liga" 0, "calt" 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.asciinema-player-mount .ap-control-bar {
  opacity: 0.85;
  transition: opacity 0.2s ease-in-out;
  background: var(--bg-color, rgba(20, 20, 20, 0.95)) !important;
  border-top: 1px solid var(--border-color, rgba(255, 255, 255, 0.1)) !important;
  color: var(--text-color) !important;
}

/* ==========================================================================
   Sol.vin Styles for New Layouts (Stats, Feature-Grid, Process-Flow, Table, FAQ)
   ========================================================================== */

/* Sol.vin KPI Stat Cards */
.solvin-slide .stat-kpi-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  border-radius: 8px !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.solvin-slide .stat-kpi-card:hover {
  border-color: var(--border-active) !important;
  box-shadow: 4px 4px 0px var(--border-active) !important;
  transform: translateY(-2px) !important;
}

.solvin-slide .stat-kpi-badge {
  background: var(--border-color) !important;
  color: var(--bg-color) !important;
}

.solvin-slide .stat-kpi-value {
  color: var(--accent-color, var(--border-active)) !important;
  font-family: var(--code-font, monospace) !important;
}

.solvin-slide .stat-kpi-label {
  color: var(--text-color) !important;
  font-weight: 700 !important;
}

.solvin-slide .stat-kpi-desc {
  color: var(--text-dim, #94a3b8) !important;
}

/* Sol.vin Feature Bento Grid */
.solvin-slide .slide-body[data-layout*="feature-grid"],
.solvin-slide[data-layout*="feature-grid"] .slide-body,
[data-layout*="feature-grid"] .slide-body {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 1.2rem !important;
  align-items: stretch !important;
}

.solvin-slide .bento-hero-column {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.solvin-slide .bento-side-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  min-height: 0 !important;
}

.solvin-slide .bento-hero-card,
.solvin-slide .bento-subcard {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  border-radius: 8px !important;
}

.solvin-slide .bento-hero-card:hover,
.solvin-slide .bento-subcard:hover {
  border-color: var(--border-active) !important;
}

/* Sol.vin Process Flow */
.solvin-slide .process-step-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  border-radius: 8px !important;
  border-top: 3.5px solid var(--border-active) !important;
}

.solvin-slide .process-step-badge {
  background: var(--border-color) !important;
  color: var(--bg-color) !important;
  font-family: var(--code-font, monospace) !important;
}

.solvin-slide .process-step-title {
  color: var(--text-color) !important;
}

.solvin-slide .process-step-desc {
  color: var(--text-dim, #94a3b8) !important;
}

/* Sol.vin Table Layout */
.solvin-slide .data-table-container {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  border-radius: 8px !important;
}

.solvin-slide .sunstone-table th {
  background: rgba(0, 0, 0, 0.25) !important;
  border-bottom: 2px solid var(--border-color) !important;
  color: var(--text-color) !important;
  font-family: var(--code-font, monospace) !important;
}

.solvin-slide .sunstone-table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: var(--text-color) !important;
}

.solvin-slide .sunstone-table tr.highlight-row {
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Sol.vin FAQ Grid */
.solvin-slide .faq-card {
  background: var(--bg-window) !important;
  border: 1.5px solid var(--border-color) !important;
  box-shadow: 3px 3px 0px var(--shadow-color) !important;
  border-radius: 8px !important;
}

.solvin-slide .faq-q-badge {
  background: var(--accent-color, var(--border-active)) !important;
  color: var(--bg-color) !important;
}

.solvin-slide .faq-question {
  color: var(--text-color) !important;
}

.solvin-slide .faq-answer {
  color: var(--text-dim, #94a3b8) !important;
}

.asciinema-player-mount:hover .ap-control-bar {
  opacity: 1;
}




/* Theme-Scoped Palette CSS Rules */
.slide[data-palette="warm_paper"], .solvin-slide.warm_paper, [data-palette="warm_paper"] {
  /* Sol.vin Theme Variables */
  --bg-color: #faf6ee;
  --bg-window: #faf6ee;
  --text-color: #1c1c1e;
  --text-dim: #1c1c1e;
  --link-color: #303030;
  --border-color: #1c1c1e;
  --border-active: #1c1c1e;
  --accent-color: #1c1c1e;
  --accent-secondary: #3a3a3c;
  --accent-tertiary: #545458;
  --accent-quaternary: #303030;
  --shadow-color: #1c1c1e;
  --cube: #1c1c1e;
  --cube-hover: #303030;
  --emoji-filter: url(#emoji-filter-warm_paper);

  /* Sunstone Modern Variables */
  --sunstone-bg: #faf6ee;
  --sunstone-surface: #faf6ee;
  --sunstone-surface-hover: #1c1c1e;
  --sunstone-text-primary: #1c1c1e;
  --sunstone-text-secondary: #1c1c1e;
  --sunstone-text-muted: #1c1c1e;
  --sunstone-accent: #1c1c1e;
  --sunstone-accent-secondary: #3a3a3c;
  --sunstone-accent-tertiary: #545458;
  --sunstone-border: #1c1c1e;
  --sunstone-border-active: #1c1c1e;
  --sunstone-code-bg: #faf6ee;
}
.slide[data-palette="monochrome"], .solvin-slide.monochrome, [data-palette="monochrome"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ffffff;
  --bg-window: #ffffff;
  --text-color: #000000;
  --text-dim: #555555;
  --link-color: #000000;
  --border-color: #000000;
  --border-active: #000000;
  --accent-color: #000000;
  --accent-secondary: #333333;
  --accent-tertiary: #555555;
  --accent-quaternary: #777777;
  --shadow-color: #000000;
  --cube: #000000;
  --cube-hover: #333333;
  --emoji-filter: url(#emoji-filter-monochrome);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ffffff;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #000000;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #555555;
  --sunstone-text-muted: #555555;
  --sunstone-accent: #000000;
  --sunstone-accent-secondary: #333333;
  --sunstone-accent-tertiary: #555555;
  --sunstone-border: #000000;
  --sunstone-border-active: #000000;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="inversion"], .solvin-slide.inversion, [data-palette="inversion"] {
  /* Sol.vin Theme Variables */
  --bg-color: #000000;
  --bg-window: #000000;
  --text-color: #ffffff;
  --text-dim: #aaaaaa;
  --link-color: #ffffff;
  --border-color: #ffffff;
  --border-active: #ffffff;
  --accent-color: #ffffff;
  --accent-secondary: #dddddd;
  --accent-tertiary: #aaaaaa;
  --accent-quaternary: #888888;
  --shadow-color: #ffffff;
  --cube: #ffffff;
  --cube-hover: #aaaaaa;
  --emoji-filter: url(#emoji-filter-inversion);

  /* Sunstone Modern Variables */
  --sunstone-bg: #000000;
  --sunstone-surface: #000000;
  --sunstone-surface-hover: #ffffff;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #aaaaaa;
  --sunstone-text-muted: #aaaaaa;
  --sunstone-accent: #ffffff;
  --sunstone-accent-secondary: #dddddd;
  --sunstone-accent-tertiary: #aaaaaa;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #ffffff;
  --sunstone-code-bg: #000000;
}
.slide[data-palette="monokai"], .solvin-slide.monokai, [data-palette="monokai"] {
  /* Sol.vin Theme Variables */
  --bg-color: #272822;
  --bg-window: #1e1f1c;
  --text-color: #f8f8f2;
  --text-dim: #75715e;
  --link-color: #66d9ef;
  --border-color: #f92672;
  --border-active: #a6e22e;
  --accent-color: #fd971f;
  --accent-secondary: #a6e22e;
  --accent-tertiary: #66d9ef;
  --accent-quaternary: #f92672;
  --shadow-color: #141411;
  --cube: #f8f8f2;
  --cube-hover: #f92672;
  --emoji-filter: url(#emoji-filter-monokai);

  /* Sunstone Modern Variables */
  --sunstone-bg: #272822;
  --sunstone-surface: #1e1f1c;
  --sunstone-surface-hover: #a6e22e;
  --sunstone-text-primary: #f8f8f2;
  --sunstone-text-secondary: #75715e;
  --sunstone-text-muted: #75715e;
  --sunstone-accent: #fd971f;
  --sunstone-accent-secondary: #a6e22e;
  --sunstone-accent-tertiary: #66d9ef;
  --sunstone-border: #f92672;
  --sunstone-border-active: #a6e22e;
  --sunstone-code-bg: #1e1f1c;
}
.slide[data-palette="candy"], .solvin-slide.candy, [data-palette="candy"] {
  /* Sol.vin Theme Variables */
  --bg-color: #fdf0f8;
  --bg-window: #ffffff;
  --text-color: #4a2c58;
  --text-dim: #8c6899;
  --link-color: #d84b9b;
  --border-color: #e5a8d8;
  --border-active: #d84b9b;
  --accent-color: #b8388c;
  --accent-secondary: #d84b9b;
  --accent-tertiary: #b8388c;
  --accent-quaternary: #e5a8d8;
  --shadow-color: #d6b2dc;
  --cube: #4a2c58;
  --cube-hover: #d84b9b;
  --emoji-filter: url(#emoji-filter-candy);

  /* Sunstone Modern Variables */
  --sunstone-bg: #fdf0f8;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #d84b9b;
  --sunstone-text-primary: #4a2c58;
  --sunstone-text-secondary: #8c6899;
  --sunstone-text-muted: #8c6899;
  --sunstone-accent: #b8388c;
  --sunstone-accent-secondary: #d84b9b;
  --sunstone-accent-tertiary: #b8388c;
  --sunstone-border: #e5a8d8;
  --sunstone-border-active: #d84b9b;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="pastel"], .solvin-slide.pastel, [data-palette="pastel"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f7f5ff;
  --bg-window: #ffffff;
  --text-color: #2d2738;
  --text-dim: #786b8e;
  --link-color: #ff6b8b;
  --border-color: #a288e3;
  --border-active: #ff6b8b;
  --accent-color: #9b5de5;
  --accent-secondary: #ff6b8b;
  --accent-tertiary: #9b5de5;
  --accent-quaternary: #a288e3;
  --shadow-color: #d0c4e8;
  --cube: #2d2738;
  --cube-hover: #a288e3;
  --emoji-filter: url(#emoji-filter-pastel);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f7f5ff;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #ff6b8b;
  --sunstone-text-primary: #2d2738;
  --sunstone-text-secondary: #786b8e;
  --sunstone-text-muted: #786b8e;
  --sunstone-accent: #9b5de5;
  --sunstone-accent-secondary: #ff6b8b;
  --sunstone-accent-tertiary: #9b5de5;
  --sunstone-border: #a288e3;
  --sunstone-border-active: #ff6b8b;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="fos"], .solvin-slide.fos, [data-palette="fos"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0000aa;
  --bg-window: #0000aa;
  --text-color: #ffffff;
  --text-dim: #aaaaaa;
  --link-color: #55ffff;
  --border-color: #ffffff;
  --border-active: #55ffff;
  --accent-color: #ffffff;
  --accent-secondary: #55ffff;
  --accent-tertiary: #ffff55;
  --accent-quaternary: #aaaaaa;
  --shadow-color: #000000;
  --cube: #ffffff;
  --cube-hover: #55ffff;
  --emoji-filter: url(#emoji-filter-fos);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0000aa;
  --sunstone-surface: #0000aa;
  --sunstone-surface-hover: #55ffff;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #aaaaaa;
  --sunstone-text-muted: #aaaaaa;
  --sunstone-accent: #ffffff;
  --sunstone-accent-secondary: #55ffff;
  --sunstone-accent-tertiary: #ffff55;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #55ffff;
  --sunstone-code-bg: #0000aa;
}
.slide[data-palette="a64_pal"], .solvin-slide.a64_pal, [data-palette="a64_pal"] {
  /* Sol.vin Theme Variables */
  --bg-color: #40318d;
  --bg-window: #40318d;
  --text-color: #7869c4;
  --text-dim: #787878;
  --link-color: #94e089;
  --border-color: #8b3f96;
  --border-active: #7869c4;
  --accent-color: #bfce72;
  --accent-secondary: #94e089;
  --accent-tertiary: #67b6bd;
  --accent-quaternary: #8b3f96;
  --shadow-color: #000000;
  --cube: #7869c4;
  --cube-hover: #bfce72;
  --emoji-filter: url(#emoji-filter-a64_pal);

  /* Sunstone Modern Variables */
  --sunstone-bg: #40318d;
  --sunstone-surface: #40318d;
  --sunstone-surface-hover: #7869c4;
  --sunstone-text-primary: #7869c4;
  --sunstone-text-secondary: #787878;
  --sunstone-text-muted: #787878;
  --sunstone-accent: #bfce72;
  --sunstone-accent-secondary: #94e089;
  --sunstone-accent-tertiary: #67b6bd;
  --sunstone-border: #8b3f96;
  --sunstone-border-active: #7869c4;
  --sunstone-code-bg: #40318d;
}
.slide[data-palette="a64_ntsc"], .solvin-slide.a64_ntsc, [data-palette="a64_ntsc"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0000aa;
  --bg-window: #0000aa;
  --text-color: #0088ff;
  --text-dim: #777777;
  --link-color: #aaff66;
  --border-color: #cc44cc;
  --border-active: #0088ff;
  --accent-color: #eeee77;
  --accent-secondary: #aaff66;
  --accent-tertiary: #aaffee;
  --accent-quaternary: #cc44cc;
  --shadow-color: #000000;
  --cube: #0088ff;
  --cube-hover: #eeee77;
  --emoji-filter: url(#emoji-filter-a64_ntsc);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0000aa;
  --sunstone-surface: #0000aa;
  --sunstone-surface-hover: #0088ff;
  --sunstone-text-primary: #0088ff;
  --sunstone-text-secondary: #777777;
  --sunstone-text-muted: #777777;
  --sunstone-accent: #eeee77;
  --sunstone-accent-secondary: #aaff66;
  --sunstone-accent-tertiary: #aaffee;
  --sunstone-border: #cc44cc;
  --sunstone-border-active: #0088ff;
  --sunstone-code-bg: #0000aa;
}
.slide[data-palette="amigo"], .solvin-slide.amigo, [data-palette="amigo"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0055aa;
  --bg-window: #0055aa;
  --text-color: #ffffff;
  --text-dim: #aaaaaa;
  --link-color: #ff5500;
  --border-color: #ffffff;
  --border-active: #ff5500;
  --accent-color: #ff9900;
  --accent-secondary: #ff9900;
  --accent-tertiary: #ff5500;
  --accent-quaternary: #aaaaaa;
  --shadow-color: #000000;
  --cube: #ffffff;
  --cube-hover: #ff5500;
  --emoji-filter: url(#emoji-filter-amigo);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0055aa;
  --sunstone-surface: #0055aa;
  --sunstone-surface-hover: #ff5500;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #aaaaaa;
  --sunstone-text-muted: #aaaaaa;
  --sunstone-accent: #ff9900;
  --sunstone-accent-secondary: #ff9900;
  --sunstone-accent-tertiary: #ff5500;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #ff5500;
  --sunstone-code-bg: #0055aa;
}
.slide[data-palette="trash80"], .solvin-slide.trash80, [data-palette="trash80"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0a0d0a;
  --bg-window: #121612;
  --text-color: #33ff33;
  --text-dim: #1e881e;
  --link-color: #66ff66;
  --border-color: #33ff33;
  --border-active: #66ff66;
  --accent-color: #33ff33;
  --accent-secondary: #66ff66;
  --accent-tertiary: #99ff99;
  --accent-quaternary: #00cc00;
  --shadow-color: #000000;
  --cube: #33ff33;
  --cube-hover: #66ff66;
  --emoji-filter: url(#emoji-filter-trash80);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0a0d0a;
  --sunstone-surface: #121612;
  --sunstone-surface-hover: #66ff66;
  --sunstone-text-primary: #33ff33;
  --sunstone-text-secondary: #1e881e;
  --sunstone-text-muted: #1e881e;
  --sunstone-accent: #33ff33;
  --sunstone-accent-secondary: #66ff66;
  --sunstone-accent-tertiary: #99ff99;
  --sunstone-border: #33ff33;
  --sunstone-border-active: #66ff66;
  --sunstone-code-bg: #121612;
}
.slide[data-palette="classic_green"], .solvin-slide.classic_green, [data-palette="classic_green"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0a0a0a;
  --bg-window: #121212;
  --text-color: #33ff33;
  --text-dim: #1e881e;
  --link-color: #66ff66;
  --border-color: #00cc00;
  --border-active: #66ff66;
  --accent-color: #33ff33;
  --accent-secondary: #66ff66;
  --accent-tertiary: #33ff33;
  --accent-quaternary: #1e881e;
  --shadow-color: #0a0a0a;
  --cube: #33ff33;
  --cube-hover: #66ff66;
  --emoji-filter: url(#emoji-filter-classic_green);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0a0a0a;
  --sunstone-surface: #121212;
  --sunstone-surface-hover: #66ff66;
  --sunstone-text-primary: #33ff33;
  --sunstone-text-secondary: #1e881e;
  --sunstone-text-muted: #1e881e;
  --sunstone-accent: #33ff33;
  --sunstone-accent-secondary: #66ff66;
  --sunstone-accent-tertiary: #33ff33;
  --sunstone-border: #00cc00;
  --sunstone-border-active: #66ff66;
  --sunstone-code-bg: #121212;
}
.slide[data-palette="aperture"], .solvin-slide.aperture, [data-palette="aperture"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1f232a;
  --bg-window: #262a33;
  --text-color: #ffee55;
  --text-dim: #c4a63a;
  --link-color: #ff9900;
  --border-color: #ffcc00;
  --border-active: #ff9100;
  --accent-color: #ffcc00;
  --accent-secondary: #ff9900;
  --accent-tertiary: #ffee55;
  --accent-quaternary: #ff6600;
  --shadow-color: #101216;
  --cube: #ffee55;
  --cube-hover: #ff9900;
  --emoji-filter: url(#emoji-filter-aperture);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1f232a;
  --sunstone-surface: #262a33;
  --sunstone-surface-hover: #ff9100;
  --sunstone-text-primary: #ffee55;
  --sunstone-text-secondary: #c4a63a;
  --sunstone-text-muted: #c4a63a;
  --sunstone-accent: #ffcc00;
  --sunstone-accent-secondary: #ff9900;
  --sunstone-accent-tertiary: #ffee55;
  --sunstone-border: #ffcc00;
  --sunstone-border-active: #ff9100;
  --sunstone-code-bg: #262a33;
}
.slide[data-palette="smile_os"], .solvin-slide.smile_os, [data-palette="smile_os"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e6e6ea;
  --bg-window: #c0c0c0;
  --text-color: #000000;
  --text-dim: #444444;
  --link-color: #b30000;
  --border-color: #8b0000;
  --border-active: #c00000;
  --accent-color: #b30000;
  --accent-secondary: #c00000;
  --accent-tertiary: #8b0000;
  --accent-quaternary: #b30000;
  --shadow-color: #a0a0a8;
  --cube: #000000;
  --cube-hover: #b30000;
  --emoji-filter: url(#emoji-filter-smile_os);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e6e6ea;
  --sunstone-surface: #c0c0c0;
  --sunstone-surface-hover: #c00000;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #444444;
  --sunstone-text-muted: #444444;
  --sunstone-accent: #b30000;
  --sunstone-accent-secondary: #c00000;
  --sunstone-accent-tertiary: #8b0000;
  --sunstone-border: #8b0000;
  --sunstone-border-active: #c00000;
  --sunstone-code-bg: #c0c0c0;
}
.slide[data-palette="former_rain"], .solvin-slide.former_rain, [data-palette="former_rain"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1b1726;
  --bg-window: #261e34;
  --text-color: #e8ddf5;
  --text-dim: #8a7b9c;
  --link-color: #c77dff;
  --border-color: #a076c5;
  --border-active: #c77dff;
  --accent-color: #d896ff;
  --accent-secondary: #c77dff;
  --accent-tertiary: #d896ff;
  --accent-quaternary: #a076c5;
  --shadow-color: #100c19;
  --cube: #e8ddf5;
  --cube-hover: #c77dff;
  --emoji-filter: url(#emoji-filter-former_rain);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1b1726;
  --sunstone-surface: #261e34;
  --sunstone-surface-hover: #c77dff;
  --sunstone-text-primary: #e8ddf5;
  --sunstone-text-secondary: #8a7b9c;
  --sunstone-text-muted: #8a7b9c;
  --sunstone-accent: #d896ff;
  --sunstone-accent-secondary: #c77dff;
  --sunstone-accent-tertiary: #d896ff;
  --sunstone-border: #a076c5;
  --sunstone-border-active: #c77dff;
  --sunstone-code-bg: #261e34;
}
.slide[data-palette="ranger"], .solvin-slide.ranger, [data-palette="ranger"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1f1914;
  --bg-window: #2c241d;
  --text-color: #d4c39e;
  --text-dim: #8c7355;
  --link-color: #e06d20;
  --border-color: #8c603b;
  --border-active: #e57c25;
  --accent-color: #e57c25;
  --accent-secondary: #e06d20;
  --accent-tertiary: #e57c25;
  --accent-quaternary: #8c603b;
  --shadow-color: #120e0b;
  --cube: #d4c39e;
  --cube-hover: #e57c25;
  --emoji-filter: url(#emoji-filter-ranger);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1f1914;
  --sunstone-surface: #2c241d;
  --sunstone-surface-hover: #e57c25;
  --sunstone-text-primary: #d4c39e;
  --sunstone-text-secondary: #8c7355;
  --sunstone-text-muted: #8c7355;
  --sunstone-accent: #e57c25;
  --sunstone-accent-secondary: #e06d20;
  --sunstone-accent-tertiary: #e57c25;
  --sunstone-border: #8c603b;
  --sunstone-border-active: #e57c25;
  --sunstone-code-bg: #2c241d;
}
.slide[data-palette="bring_me_hope"], .solvin-slide.bring_me_hope, [data-palette="bring_me_hope"] {
  /* Sol.vin Theme Variables */
  --bg-color: #002b55;
  --bg-window: #003a70;
  --text-color: #00c8ff;
  --text-dim: #3a7ca5;
  --link-color: #66e0ff;
  --border-color: #00a8e8;
  --border-active: #00e5ff;
  --accent-color: #00e5ff;
  --accent-secondary: #66e0ff;
  --accent-tertiary: #00e5ff;
  --accent-quaternary: #00a8e8;
  --shadow-color: #00152b;
  --cube: #00c8ff;
  --cube-hover: #00e5ff;
  --emoji-filter: url(#emoji-filter-bring_me_hope);

  /* Sunstone Modern Variables */
  --sunstone-bg: #002b55;
  --sunstone-surface: #003a70;
  --sunstone-surface-hover: #00e5ff;
  --sunstone-text-primary: #00c8ff;
  --sunstone-text-secondary: #3a7ca5;
  --sunstone-text-muted: #3a7ca5;
  --sunstone-accent: #00e5ff;
  --sunstone-accent-secondary: #66e0ff;
  --sunstone-accent-tertiary: #00e5ff;
  --sunstone-border: #00a8e8;
  --sunstone-border-active: #00e5ff;
  --sunstone-code-bg: #003a70;
}
.slide[data-palette="disinherited"], .solvin-slide.disinherited, [data-palette="disinherited"] {
  /* Sol.vin Theme Variables */
  --bg-color: #16120e;
  --bg-window: #281f18;
  --text-color: #faf4e1;
  --text-dim: #857458;
  --link-color: #f2a81d;
  --border-color: #d48815;
  --border-active: #c01111;
  --accent-color: #f2a81d;
  --accent-secondary: #f2a81d;
  --accent-tertiary: #d48815;
  --accent-quaternary: #857458;
  --shadow-color: #0c0906;
  --cube: #faf4e1;
  --cube-hover: #f2a81d;
  --emoji-filter: url(#emoji-filter-disinherited);

  /* Sunstone Modern Variables */
  --sunstone-bg: #16120e;
  --sunstone-surface: #281f18;
  --sunstone-surface-hover: #c01111;
  --sunstone-text-primary: #faf4e1;
  --sunstone-text-secondary: #857458;
  --sunstone-text-muted: #857458;
  --sunstone-accent: #f2a81d;
  --sunstone-accent-secondary: #f2a81d;
  --sunstone-accent-tertiary: #d48815;
  --sunstone-border: #d48815;
  --sunstone-border-active: #c01111;
  --sunstone-code-bg: #281f18;
}
.slide[data-palette="game_station"], .solvin-slide.game_station, [data-palette="game_station"] {
  /* Sol.vin Theme Variables */
  --bg-color: #d2d2d6;
  --bg-window: #e8e8ec;
  --text-color: #141418;
  --text-dim: #585860;
  --link-color: #0063be;
  --border-color: #df0024;
  --border-active: #00a88f;
  --accent-color: #c88e00;
  --accent-secondary: #0063be;
  --accent-tertiary: #00a88f;
  --accent-quaternary: #df0024;
  --shadow-color: #a0a0a8;
  --cube: #141418;
  --cube-hover: #df0024;
  --emoji-filter: url(#emoji-filter-game_station);

  /* Sunstone Modern Variables */
  --sunstone-bg: #d2d2d6;
  --sunstone-surface: #e8e8ec;
  --sunstone-surface-hover: #00a88f;
  --sunstone-text-primary: #141418;
  --sunstone-text-secondary: #585860;
  --sunstone-text-muted: #585860;
  --sunstone-accent: #c88e00;
  --sunstone-accent-secondary: #0063be;
  --sunstone-accent-tertiary: #00a88f;
  --sunstone-border: #df0024;
  --sunstone-border-active: #00a88f;
  --sunstone-code-bg: #e8e8ec;
}
.slide[data-palette="game_station_2"], .solvin-slide.game_station_2, [data-palette="game_station_2"] {
  /* Sol.vin Theme Variables */
  --bg-color: #090a10;
  --bg-window: #121520;
  --text-color: #e0e6f0;
  --text-dim: #4a5870;
  --link-color: #0088ff;
  --border-color: #00439c;
  --border-active: #00a2e8;
  --accent-color: #0072ce;
  --accent-secondary: #0088ff;
  --accent-tertiary: #00a2e8;
  --accent-quaternary: #00439c;
  --shadow-color: #040508;
  --cube: #e0e6f0;
  --cube-hover: #0088ff;
  --emoji-filter: url(#emoji-filter-game_station_2);

  /* Sunstone Modern Variables */
  --sunstone-bg: #090a10;
  --sunstone-surface: #121520;
  --sunstone-surface-hover: #00a2e8;
  --sunstone-text-primary: #e0e6f0;
  --sunstone-text-secondary: #4a5870;
  --sunstone-text-muted: #4a5870;
  --sunstone-accent: #0072ce;
  --sunstone-accent-secondary: #0088ff;
  --sunstone-accent-tertiary: #00a2e8;
  --sunstone-border: #00439c;
  --sunstone-border-active: #00a2e8;
  --sunstone-code-bg: #121520;
}
.slide[data-palette="digital_guy"], .solvin-slide.digital_guy, [data-palette="digital_guy"] {
  /* Sol.vin Theme Variables */
  --bg-color: #000000;
  --bg-window: #110000;
  --text-color: #ff0000;
  --text-dim: #880000;
  --link-color: #ff3333;
  --border-color: #ff0000;
  --border-active: #ff5555;
  --accent-color: #ff0000;
  --accent-secondary: #ff3333;
  --accent-tertiary: #ff5555;
  --accent-quaternary: #880000;
  --shadow-color: #330000;
  --cube: #ff0000;
  --cube-hover: #ff5555;
  --emoji-filter: url(#emoji-filter-digital_guy);

  /* Sunstone Modern Variables */
  --sunstone-bg: #000000;
  --sunstone-surface: #110000;
  --sunstone-surface-hover: #ff5555;
  --sunstone-text-primary: #ff0000;
  --sunstone-text-secondary: #880000;
  --sunstone-text-muted: #880000;
  --sunstone-accent: #ff0000;
  --sunstone-accent-secondary: #ff3333;
  --sunstone-accent-tertiary: #ff5555;
  --sunstone-border: #ff0000;
  --sunstone-border-active: #ff5555;
  --sunstone-code-bg: #110000;
}
.slide[data-palette="playtoy"], .solvin-slide.playtoy, [data-palette="playtoy"] {
  /* Sol.vin Theme Variables */
  --bg-color: #8bac0f;
  --bg-window: #9bbc0f;
  --text-color: #0f380f;
  --text-dim: #1b3f1b;
  --link-color: #0f380f;
  --border-color: #0f380f;
  --border-active: #306230;
  --accent-color: #0f380f;
  --accent-secondary: #1b3f1b;
  --accent-tertiary: #306230;
  --accent-quaternary: #0f380f;
  --shadow-color: #0f380f;
  --cube: #0f380f;
  --cube-hover: #306230;
  --emoji-filter: url(#emoji-filter-playtoy);

  /* Sunstone Modern Variables */
  --sunstone-bg: #8bac0f;
  --sunstone-surface: #9bbc0f;
  --sunstone-surface-hover: #306230;
  --sunstone-text-primary: #0f380f;
  --sunstone-text-secondary: #1b3f1b;
  --sunstone-text-muted: #1b3f1b;
  --sunstone-accent: #0f380f;
  --sunstone-accent-secondary: #1b3f1b;
  --sunstone-accent-tertiary: #306230;
  --sunstone-border: #0f380f;
  --sunstone-border-active: #306230;
  --sunstone-code-bg: #9bbc0f;
}
.slide[data-palette="entertainment_system"], .solvin-slide.entertainment_system, [data-palette="entertainment_system"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e8e8ec;
  --bg-window: #d8d8dc;
  --text-color: #101012;
  --text-dim: #505055;
  --link-color: #c80018;
  --border-color: #202024;
  --border-active: #c80018;
  --accent-color: #c80018;
  --accent-secondary: #c80018;
  --accent-tertiary: #202024;
  --accent-quaternary: #a0a0a8;
  --shadow-color: #a0a0a8;
  --cube: #101012;
  --cube-hover: #c80018;
  --emoji-filter: url(#emoji-filter-entertainment_system);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e8e8ec;
  --sunstone-surface: #d8d8dc;
  --sunstone-surface-hover: #c80018;
  --sunstone-text-primary: #101012;
  --sunstone-text-secondary: #505055;
  --sunstone-text-muted: #505055;
  --sunstone-accent: #c80018;
  --sunstone-accent-secondary: #c80018;
  --sunstone-accent-tertiary: #202024;
  --sunstone-border: #202024;
  --sunstone-border-active: #c80018;
  --sunstone-code-bg: #d8d8dc;
}
.slide[data-palette="super_es"], .solvin-slide.super_es, [data-palette="super_es"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f0f0f5;
  --bg-window: #e2e2ea;
  --text-color: #1b1924;
  --text-dim: #605c70;
  --link-color: #5c439b;
  --border-color: #4f3880;
  --border-active: #785dba;
  --accent-color: #4f3880;
  --accent-secondary: #785dba;
  --accent-tertiary: #5c439b;
  --accent-quaternary: #605c70;
  --shadow-color: #b0b0c0;
  --cube: #4f3880;
  --cube-hover: #5c439b;
  --emoji-filter: url(#emoji-filter-super_es);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f0f0f5;
  --sunstone-surface: #e2e2ea;
  --sunstone-surface-hover: #785dba;
  --sunstone-text-primary: #1b1924;
  --sunstone-text-secondary: #605c70;
  --sunstone-text-muted: #605c70;
  --sunstone-accent: #4f3880;
  --sunstone-accent-secondary: #785dba;
  --sunstone-accent-tertiary: #5c439b;
  --sunstone-border: #4f3880;
  --sunstone-border-active: #785dba;
  --sunstone-code-bg: #e2e2ea;
}
.slide[data-palette="m64"], .solvin-slide.m64, [data-palette="m64"] {
  /* Sol.vin Theme Variables */
  --bg-color: #232328;
  --bg-window: #32323a;
  --text-color: #d0d0d8;
  --text-dim: #80808a;
  --link-color: #1e68d8;
  --border-color: #1e68d8;
  --border-active: #f0c018;
  --accent-color: #f0c018;
  --accent-secondary: #24ac4c;
  --accent-tertiary: #e62828;
  --accent-quaternary: #f0c018;
  --shadow-color: #121215;
  --cube: #f0c018;
  --cube-hover: #e62828;
  --emoji-filter: url(#emoji-filter-m64);

  /* Sunstone Modern Variables */
  --sunstone-bg: #232328;
  --sunstone-surface: #32323a;
  --sunstone-surface-hover: #f0c018;
  --sunstone-text-primary: #d0d0d8;
  --sunstone-text-secondary: #80808a;
  --sunstone-text-muted: #80808a;
  --sunstone-accent: #f0c018;
  --sunstone-accent-secondary: #24ac4c;
  --sunstone-accent-tertiary: #e62828;
  --sunstone-border: #1e68d8;
  --sunstone-border-active: #f0c018;
  --sunstone-code-bg: #32323a;
}
.slide[data-palette="playbox"], .solvin-slide.playbox, [data-palette="playbox"] {
  /* Sol.vin Theme Variables */
  --bg-color: #2d224b;
  --bg-window: #563f91;
  --text-color: #ffffff;
  --text-dim: #b0a4d0;
  --link-color: #22c55e;
  --border-color: #8b75c8;
  --border-active: #22c55e;
  --accent-color: #ef4444;
  --accent-secondary: #22c55e;
  --accent-tertiary: #ef4444;
  --accent-quaternary: #8b75c8;
  --shadow-color: #19122c;
  --cube: #ffffff;
  --cube-hover: #22c55e;
  --emoji-filter: url(#emoji-filter-playbox);

  /* Sunstone Modern Variables */
  --sunstone-bg: #2d224b;
  --sunstone-surface: #563f91;
  --sunstone-surface-hover: #22c55e;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #b0a4d0;
  --sunstone-text-muted: #b0a4d0;
  --sunstone-accent: #ef4444;
  --sunstone-accent-secondary: #22c55e;
  --sunstone-accent-tertiary: #ef4444;
  --sunstone-border: #8b75c8;
  --sunstone-border-active: #22c55e;
  --sunstone-code-bg: #563f91;
}
.slide[data-palette="oui"], .solvin-slide.oui, [data-palette="oui"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e8ecef;
  --bg-window: #ffffff;
  --text-color: #2c3238;
  --text-dim: #788490;
  --link-color: #00a3e0;
  --border-color: #0095d0;
  --border-active: #00c3ff;
  --accent-color: #0095d0;
  --accent-secondary: #00a3e0;
  --accent-tertiary: #00c3ff;
  --accent-quaternary: #788490;
  --shadow-color: #c8d0d8;
  --cube: #2c3238;
  --cube-hover: #00a3e0;
  --emoji-filter: url(#emoji-filter-oui);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e8ecef;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #00c3ff;
  --sunstone-text-primary: #2c3238;
  --sunstone-text-secondary: #788490;
  --sunstone-text-muted: #788490;
  --sunstone-accent: #0095d0;
  --sunstone-accent-secondary: #00a3e0;
  --sunstone-accent-tertiary: #00c3ff;
  --sunstone-border: #0095d0;
  --sunstone-border-active: #00c3ff;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="cross_cube"], .solvin-slide.cross_cube, [data-palette="cross_cube"] {
  /* Sol.vin Theme Variables */
  --bg-color: #121412;
  --bg-window: #1a1d1a;
  --text-color: #e2ece2;
  --text-dim: #556855;
  --link-color: #107c41;
  --border-color: #107c41;
  --border-active: #00ff2b;
  --accent-color: #52b736;
  --accent-secondary: #00ff2b;
  --accent-tertiary: #52b736;
  --accent-quaternary: #107c41;
  --shadow-color: #080a08;
  --cube: #e2ece2;
  --cube-hover: #00ff2b;
  --emoji-filter: url(#emoji-filter-cross_cube);

  /* Sunstone Modern Variables */
  --sunstone-bg: #121412;
  --sunstone-surface: #1a1d1a;
  --sunstone-surface-hover: #00ff2b;
  --sunstone-text-primary: #e2ece2;
  --sunstone-text-secondary: #556855;
  --sunstone-text-muted: #556855;
  --sunstone-accent: #52b736;
  --sunstone-accent-secondary: #00ff2b;
  --sunstone-accent-tertiary: #52b736;
  --sunstone-border: #107c41;
  --sunstone-border-active: #00ff2b;
  --sunstone-code-bg: #1a1d1a;
}
.slide[data-palette="cross_cube_360"], .solvin-slide.cross_cube_360, [data-palette="cross_cube_360"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e4e8ec;
  --bg-window: #ffffff;
  --text-color: #1e242b;
  --text-dim: #606d7a;
  --link-color: #107c41;
  --border-color: #107c41;
  --border-active: #7fba00;
  --accent-color: #7fba00;
  --accent-secondary: #107c41;
  --accent-tertiary: #7fba00;
  --accent-quaternary: #606d7a;
  --shadow-color: #b8c0c8;
  --cube: #1e242b;
  --cube-hover: #107c41;
  --emoji-filter: url(#emoji-filter-cross_cube_360);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e4e8ec;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #7fba00;
  --sunstone-text-primary: #1e242b;
  --sunstone-text-secondary: #606d7a;
  --sunstone-text-muted: #606d7a;
  --sunstone-accent: #7fba00;
  --sunstone-accent-secondary: #107c41;
  --sunstone-accent-tertiary: #7fba00;
  --sunstone-border: #107c41;
  --sunstone-border-active: #7fba00;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="creation"], .solvin-slide.creation, [data-palette="creation"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141518;
  --bg-window: #1e2024;
  --text-color: #e8e8ed;
  --text-dim: #7a7e85;
  --link-color: #d81b24;
  --border-color: #c81018;
  --border-active: #e6222b;
  --accent-color: #d4af37;
  --accent-secondary: #d81b24;
  --accent-tertiary: #e6222b;
  --accent-quaternary: #c81018;
  --shadow-color: #0a0b0d;
  --cube: #e8e8ed;
  --cube-hover: #e6222b;
  --emoji-filter: url(#emoji-filter-creation);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141518;
  --sunstone-surface: #1e2024;
  --sunstone-surface-hover: #e6222b;
  --sunstone-text-primary: #e8e8ed;
  --sunstone-text-secondary: #7a7e85;
  --sunstone-text-muted: #7a7e85;
  --sunstone-accent: #d4af37;
  --sunstone-accent-secondary: #d81b24;
  --sunstone-accent-tertiary: #e6222b;
  --sunstone-border: #c81018;
  --sunstone-border-active: #e6222b;
  --sunstone-code-bg: #1e2024;
}
.slide[data-palette="game_sprocket"], .solvin-slide.game_sprocket, [data-palette="game_sprocket"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1c1e22;
  --bg-window: #262930;
  --text-color: #f4f6fa;
  --text-dim: #767e8c;
  --link-color: #0088ff;
  --border-color: #e6001a;
  --border-active: #00c878;
  --accent-color: #0088ff;
  --accent-secondary: #00c878;
  --accent-tertiary: #0088ff;
  --accent-quaternary: #e6001a;
  --shadow-color: #0a0c0e;
  --cube: #f4f6fa;
  --cube-hover: #00c878;
  --emoji-filter: url(#emoji-filter-game_sprocket);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1c1e22;
  --sunstone-surface: #262930;
  --sunstone-surface-hover: #00c878;
  --sunstone-text-primary: #f4f6fa;
  --sunstone-text-secondary: #767e8c;
  --sunstone-text-muted: #767e8c;
  --sunstone-accent: #0088ff;
  --sunstone-accent-secondary: #00c878;
  --sunstone-accent-tertiary: #0088ff;
  --sunstone-border: #e6001a;
  --sunstone-border-active: #00c878;
  --sunstone-code-bg: #262930;
}
.slide[data-palette="spaces_31"], .solvin-slide.spaces_31, [data-palette="spaces_31"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ffffff;
  --bg-window: #c0c0c0;
  --text-color: #000000;
  --text-dim: #404040;
  --link-color: #000080;
  --border-color: #000080;
  --border-active: #008080;
  --accent-color: #000080;
  --accent-secondary: #008080;
  --accent-tertiary: #004080;
  --accent-quaternary: #000080;
  --shadow-color: #004040;
  --cube: #000000;
  --cube-hover: #004080;
  --emoji-filter: url(#emoji-filter-spaces_31);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ffffff;
  --sunstone-surface: #c0c0c0;
  --sunstone-surface-hover: #008080;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #404040;
  --sunstone-text-muted: #404040;
  --sunstone-accent: #000080;
  --sunstone-accent-secondary: #008080;
  --sunstone-accent-tertiary: #004080;
  --sunstone-border: #000080;
  --sunstone-border-active: #008080;
  --sunstone-code-bg: #c0c0c0;
}
.slide[data-palette="spaces_95"], .solvin-slide.spaces_95, [data-palette="spaces_95"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f0f4f4;
  --bg-window: #c0c0c0;
  --text-color: #000000;
  --text-dim: #333333;
  --link-color: #000080;
  --border-color: #000080;
  --border-active: #104e8b;
  --accent-color: #000080;
  --accent-secondary: #104e8b;
  --accent-tertiary: #008080;
  --accent-quaternary: #000080;
  --shadow-color: #004040;
  --cube: #000000;
  --cube-hover: #000080;
  --emoji-filter: url(#emoji-filter-spaces_95);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f0f4f4;
  --sunstone-surface: #c0c0c0;
  --sunstone-surface-hover: #104e8b;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #333333;
  --sunstone-text-muted: #333333;
  --sunstone-accent: #000080;
  --sunstone-accent-secondary: #104e8b;
  --sunstone-accent-tertiary: #008080;
  --sunstone-border: #000080;
  --sunstone-border-active: #104e8b;
  --sunstone-code-bg: #c0c0c0;
}
.slide[data-palette="spaces_97"], .solvin-slide.spaces_97, [data-palette="spaces_97"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f0f4f8;
  --bg-window: #d4d0c8;
  --text-color: #000000;
  --text-dim: #333333;
  --link-color: #000080;
  --border-color: #2b579a;
  --border-active: #1084d0;
  --accent-color: #000080;
  --accent-secondary: #1084d0;
  --accent-tertiary: #2b579a;
  --accent-quaternary: #000080;
  --shadow-color: #1a385c;
  --cube: #000000;
  --cube-hover: #000080;
  --emoji-filter: url(#emoji-filter-spaces_97);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f0f4f8;
  --sunstone-surface: #d4d0c8;
  --sunstone-surface-hover: #1084d0;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #333333;
  --sunstone-text-muted: #333333;
  --sunstone-accent: #000080;
  --sunstone-accent-secondary: #1084d0;
  --sunstone-accent-tertiary: #2b579a;
  --sunstone-border: #2b579a;
  --sunstone-border-active: #1084d0;
  --sunstone-code-bg: #d4d0c8;
}
.slide[data-palette="spaces_98"], .solvin-slide.spaces_98, [data-palette="spaces_98"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f0f4f4;
  --bg-window: #c0c0c0;
  --text-color: #000000;
  --text-dim: #444444;
  --link-color: #000080;
  --border-color: #000080;
  --border-active: #10549c;
  --accent-color: #000080;
  --accent-secondary: #10549c;
  --accent-tertiary: #008080;
  --accent-quaternary: #000080;
  --shadow-color: #004040;
  --cube: #000000;
  --cube-hover: #10549c;
  --emoji-filter: url(#emoji-filter-spaces_98);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f0f4f4;
  --sunstone-surface: #c0c0c0;
  --sunstone-surface-hover: #10549c;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #444444;
  --sunstone-text-muted: #444444;
  --sunstone-accent: #000080;
  --sunstone-accent-secondary: #10549c;
  --sunstone-accent-tertiary: #008080;
  --sunstone-border: #000080;
  --sunstone-border-active: #10549c;
  --sunstone-code-bg: #c0c0c0;
}
.slide[data-palette="spaces_2000"], .solvin-slide.spaces_2000, [data-palette="spaces_2000"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f0f4f8;
  --bg-window: #d4d0c8;
  --text-color: #000000;
  --text-dim: #404040;
  --link-color: #0a246a;
  --border-color: #2c5aa0;
  --border-active: #18429c;
  --accent-color: #0a246a;
  --accent-secondary: #18429c;
  --accent-tertiary: #5b7b9a;
  --accent-quaternary: #0a246a;
  --shadow-color: #203858;
  --cube: #000000;
  --cube-hover: #18429c;
  --emoji-filter: url(#emoji-filter-spaces_2000);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f0f4f8;
  --sunstone-surface: #d4d0c8;
  --sunstone-surface-hover: #18429c;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #404040;
  --sunstone-text-muted: #404040;
  --sunstone-accent: #0a246a;
  --sunstone-accent-secondary: #18429c;
  --sunstone-accent-tertiary: #5b7b9a;
  --sunstone-border: #2c5aa0;
  --sunstone-border-active: #18429c;
  --sunstone-code-bg: #d4d0c8;
}
.slide[data-palette="spaces_xp"], .solvin-slide.spaces_xp, [data-palette="spaces_xp"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e2ebf4;
  --bg-window: #ffffff;
  --text-color: #0f2545;
  --text-dim: #4e6580;
  --link-color: #0055ea;
  --border-color: #0055ea;
  --border-active: #2e7d32;
  --accent-color: #0055ea;
  --accent-secondary: #2e7d32;
  --accent-tertiary: #d84315;
  --accent-quaternary: #0055ea;
  --shadow-color: #a0b4cc;
  --cube: #0f2545;
  --cube-hover: #d84315;
  --emoji-filter: url(#emoji-filter-spaces_xp);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e2ebf4;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #2e7d32;
  --sunstone-text-primary: #0f2545;
  --sunstone-text-secondary: #4e6580;
  --sunstone-text-muted: #4e6580;
  --sunstone-accent: #0055ea;
  --sunstone-accent-secondary: #2e7d32;
  --sunstone-accent-tertiary: #d84315;
  --sunstone-border: #0055ea;
  --sunstone-border-active: #2e7d32;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="spaces_xp_royale"], .solvin-slide.spaces_xp_royale, [data-palette="spaces_xp_royale"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141820;
  --bg-window: #1f2430;
  --text-color: #f0f4f9;
  --text-dim: #7b8c9e;
  --link-color: #4090ff;
  --border-color: #1f5ac8;
  --border-active: #4090ff;
  --accent-color: #4090ff;
  --accent-secondary: #10b981;
  --accent-tertiary: #4090ff;
  --accent-quaternary: #1f5ac8;
  --shadow-color: #0a0d12;
  --cube: #f0f4f9;
  --cube-hover: #4090ff;
  --emoji-filter: url(#emoji-filter-spaces_xp_royale);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141820;
  --sunstone-surface: #1f2430;
  --sunstone-surface-hover: #4090ff;
  --sunstone-text-primary: #f0f4f9;
  --sunstone-text-secondary: #7b8c9e;
  --sunstone-text-muted: #7b8c9e;
  --sunstone-accent: #4090ff;
  --sunstone-accent-secondary: #10b981;
  --sunstone-accent-tertiary: #4090ff;
  --sunstone-border: #1f5ac8;
  --sunstone-border-active: #4090ff;
  --sunstone-code-bg: #1f2430;
}
.slide[data-palette="spaces_vista"], .solvin-slide.spaces_vista, [data-palette="spaces_vista"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141c24;
  --bg-window: #1f2b37;
  --text-color: #f0f4f8;
  --text-dim: #7890a8;
  --link-color: #00c3ff;
  --border-color: #0084b4;
  --border-active: #00c3ff;
  --accent-color: #00c3ff;
  --accent-secondary: #34d399;
  --accent-tertiary: #00c3ff;
  --accent-quaternary: #0084b4;
  --shadow-color: #080d12;
  --cube: #f0f4f8;
  --cube-hover: #00c3ff;
  --emoji-filter: url(#emoji-filter-spaces_vista);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141c24;
  --sunstone-surface: #1f2b37;
  --sunstone-surface-hover: #00c3ff;
  --sunstone-text-primary: #f0f4f8;
  --sunstone-text-secondary: #7890a8;
  --sunstone-text-muted: #7890a8;
  --sunstone-accent: #00c3ff;
  --sunstone-accent-secondary: #34d399;
  --sunstone-accent-tertiary: #00c3ff;
  --sunstone-border: #0084b4;
  --sunstone-border-active: #00c3ff;
  --sunstone-code-bg: #1f2b37;
}
.slide[data-palette="spaces_7"], .solvin-slide.spaces_7, [data-palette="spaces_7"] {
  /* Sol.vin Theme Variables */
  --bg-color: #dce8f5;
  --bg-window: #ffffff;
  --text-color: #1a2b3c;
  --text-dim: #5a7086;
  --link-color: #0066cc;
  --border-color: #3385d6;
  --border-active: #00a0e9;
  --accent-color: #0066cc;
  --accent-secondary: #00a0e9;
  --accent-tertiary: #3385d6;
  --accent-quaternary: #0066cc;
  --shadow-color: #abcced;
  --cube: #1a2b3c;
  --cube-hover: #00a0e9;
  --emoji-filter: url(#emoji-filter-spaces_7);

  /* Sunstone Modern Variables */
  --sunstone-bg: #dce8f5;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #00a0e9;
  --sunstone-text-primary: #1a2b3c;
  --sunstone-text-secondary: #5a7086;
  --sunstone-text-muted: #5a7086;
  --sunstone-accent: #0066cc;
  --sunstone-accent-secondary: #00a0e9;
  --sunstone-accent-tertiary: #3385d6;
  --sunstone-border: #3385d6;
  --sunstone-border-active: #00a0e9;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="spaces_8"], .solvin-slide.spaces_8, [data-palette="spaces_8"] {
  /* Sol.vin Theme Variables */
  --bg-color: #eff3f8;
  --bg-window: #ffffff;
  --text-color: #1e1e1e;
  --text-dim: #555555;
  --link-color: #0078d7;
  --border-color: #2b579a;
  --border-active: #00a300;
  --accent-color: #0078d7;
  --accent-secondary: #00a300;
  --accent-tertiary: #9f00a7;
  --accent-quaternary: #2b579a;
  --shadow-color: #d0d7e0;
  --cube: #1e1e1e;
  --cube-hover: #00a300;
  --emoji-filter: url(#emoji-filter-spaces_8);

  /* Sunstone Modern Variables */
  --sunstone-bg: #eff3f8;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #00a300;
  --sunstone-text-primary: #1e1e1e;
  --sunstone-text-secondary: #555555;
  --sunstone-text-muted: #555555;
  --sunstone-accent: #0078d7;
  --sunstone-accent-secondary: #00a300;
  --sunstone-accent-tertiary: #9f00a7;
  --sunstone-border: #2b579a;
  --sunstone-border-active: #00a300;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="spaces_10"], .solvin-slide.spaces_10, [data-palette="spaces_10"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1f1f1f;
  --bg-window: #2c2c2c;
  --text-color: #f3f3f3;
  --text-dim: #9e9e9e;
  --link-color: #26b5ff;
  --border-color: #0078d4;
  --border-active: #26b5ff;
  --accent-color: #26b5ff;
  --accent-secondary: #26b5ff;
  --accent-tertiary: #0078d4;
  --accent-quaternary: #9e9e9e;
  --shadow-color: #121212;
  --cube: #f3f3f3;
  --cube-hover: #26b5ff;
  --emoji-filter: url(#emoji-filter-spaces_10);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1f1f1f;
  --sunstone-surface: #2c2c2c;
  --sunstone-surface-hover: #26b5ff;
  --sunstone-text-primary: #f3f3f3;
  --sunstone-text-secondary: #9e9e9e;
  --sunstone-text-muted: #9e9e9e;
  --sunstone-accent: #26b5ff;
  --sunstone-accent-secondary: #26b5ff;
  --sunstone-accent-tertiary: #0078d4;
  --sunstone-border: #0078d4;
  --sunstone-border-active: #26b5ff;
  --sunstone-code-bg: #2c2c2c;
}
.slide[data-palette="spaces_11"], .solvin-slide.spaces_11, [data-palette="spaces_11"] {
  /* Sol.vin Theme Variables */
  --bg-color: #18191c;
  --bg-window: #24272c;
  --text-color: #f8f9fa;
  --text-dim: #8e96a0;
  --link-color: #4cc2ff;
  --border-color: #383d44;
  --border-active: #60cdff;
  --accent-color: #4cc2ff;
  --accent-secondary: #60cdff;
  --accent-tertiary: #4cc2ff;
  --accent-quaternary: #383d44;
  --shadow-color: #0d0e10;
  --cube: #f8f9fa;
  --cube-hover: #60cdff;
  --emoji-filter: url(#emoji-filter-spaces_11);

  /* Sunstone Modern Variables */
  --sunstone-bg: #18191c;
  --sunstone-surface: #24272c;
  --sunstone-surface-hover: #60cdff;
  --sunstone-text-primary: #f8f9fa;
  --sunstone-text-secondary: #8e96a0;
  --sunstone-text-muted: #8e96a0;
  --sunstone-accent: #4cc2ff;
  --sunstone-accent-secondary: #60cdff;
  --sunstone-accent-tertiary: #4cc2ff;
  --sunstone-border: #383d44;
  --sunstone-border-active: #60cdff;
  --sunstone-code-bg: #24272c;
}
.slide[data-palette="fruit_os"], .solvin-slide.fruit_os, [data-palette="fruit_os"] {
  /* Sol.vin Theme Variables */
  --bg-color: #d6d6d6;
  --bg-window: #ffffff;
  --text-color: #000000;
  --text-dim: #555555;
  --link-color: #0000aa;
  --border-color: #000000;
  --border-active: #3333cc;
  --accent-color: #0000aa;
  --accent-secondary: #3333cc;
  --accent-tertiary: #0000aa;
  --accent-quaternary: #555555;
  --shadow-color: #888888;
  --cube: #000000;
  --cube-hover: #3333cc;
  --emoji-filter: url(#emoji-filter-fruit_os);

  /* Sunstone Modern Variables */
  --sunstone-bg: #d6d6d6;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #3333cc;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #555555;
  --sunstone-text-muted: #555555;
  --sunstone-accent: #0000aa;
  --sunstone-accent-secondary: #3333cc;
  --sunstone-accent-tertiary: #0000aa;
  --sunstone-border: #000000;
  --sunstone-border-active: #3333cc;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="fruit_osx"], .solvin-slide.fruit_osx, [data-palette="fruit_osx"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e8ecef;
  --bg-window: #ffffff;
  --text-color: #1d1d1f;
  --text-dim: #6e6e73;
  --link-color: #007aff;
  --border-color: #007aff;
  --border-active: #34c759;
  --accent-color: #007aff;
  --accent-secondary: #34c759;
  --accent-tertiary: #ff9500;
  --accent-quaternary: #ff3b30;
  --shadow-color: #c0c8d0;
  --cube: #1d1d1f;
  --cube-hover: #ff3b30;
  --emoji-filter: url(#emoji-filter-fruit_osx);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e8ecef;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #34c759;
  --sunstone-text-primary: #1d1d1f;
  --sunstone-text-secondary: #6e6e73;
  --sunstone-text-muted: #6e6e73;
  --sunstone-accent: #007aff;
  --sunstone-accent-secondary: #34c759;
  --sunstone-accent-tertiary: #ff9500;
  --sunstone-border: #007aff;
  --sunstone-border-active: #34c759;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="community"], .solvin-slide.community, [data-palette="community"] {
  /* Sol.vin Theme Variables */
  --bg-color: #2c001e;
  --bg-window: #380c2a;
  --text-color: #f7f7f7;
  --text-dim: #aea79f;
  --link-color: #ff6331;
  --border-color: #e95420;
  --border-active: #ff6331;
  --accent-color: #ff6331;
  --accent-secondary: #ff6331;
  --accent-tertiary: #e95420;
  --accent-quaternary: #aea79f;
  --shadow-color: #180010;
  --cube: #f7f7f7;
  --cube-hover: #ff6331;
  --emoji-filter: url(#emoji-filter-community);

  /* Sunstone Modern Variables */
  --sunstone-bg: #2c001e;
  --sunstone-surface: #380c2a;
  --sunstone-surface-hover: #ff6331;
  --sunstone-text-primary: #f7f7f7;
  --sunstone-text-secondary: #aea79f;
  --sunstone-text-muted: #aea79f;
  --sunstone-accent: #ff6331;
  --sunstone-accent-secondary: #ff6331;
  --sunstone-accent-tertiary: #e95420;
  --sunstone-border: #e95420;
  --sunstone-border-active: #ff6331;
  --sunstone-code-bg: #380c2a;
}
.slide[data-palette="pico_8"], .solvin-slide.pico_8, [data-palette="pico_8"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1d2b53;
  --bg-window: #1d2b53;
  --text-color: #fff1e8;
  --text-dim: #83769c;
  --link-color: #29adff;
  --border-color: #83769c;
  --border-active: #29adff;
  --accent-color: #ffff27;
  --accent-secondary: #00e436;
  --accent-tertiary: #ff004d;
  --accent-quaternary: #ffa300;
  --shadow-color: #000000;
  --cube: #29adff;
  --cube-hover: #ffff27;
  --emoji-filter: url(#emoji-filter-pico_8);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1d2b53;
  --sunstone-surface: #1d2b53;
  --sunstone-surface-hover: #29adff;
  --sunstone-text-primary: #fff1e8;
  --sunstone-text-secondary: #83769c;
  --sunstone-text-muted: #83769c;
  --sunstone-accent: #ffff27;
  --sunstone-accent-secondary: #00e436;
  --sunstone-accent-tertiary: #ff004d;
  --sunstone-border: #83769c;
  --sunstone-border-active: #29adff;
  --sunstone-code-bg: #1d2b53;
}
.slide[data-palette="playdate"], .solvin-slide.playdate, [data-palette="playdate"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ffc72c;
  --bg-window: #ffc72c;
  --text-color: #111110;
  --text-dim: #3a3a36;
  --link-color: #111110;
  --border-color: #111110;
  --border-active: #111110;
  --accent-color: #111110;
  --accent-secondary: #20201d;
  --accent-tertiary: #3a3a36;
  --accent-quaternary: #111110;
  --shadow-color: #111110;
  --cube: #111110;
  --cube-hover: #20201d;
  --emoji-filter: url(#emoji-filter-playdate);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ffc72c;
  --sunstone-surface: #ffc72c;
  --sunstone-surface-hover: #111110;
  --sunstone-text-primary: #111110;
  --sunstone-text-secondary: #3a3a36;
  --sunstone-text-muted: #3a3a36;
  --sunstone-accent: #111110;
  --sunstone-accent-secondary: #20201d;
  --sunstone-accent-tertiary: #3a3a36;
  --sunstone-border: #111110;
  --sunstone-border-active: #111110;
  --sunstone-code-bg: #ffc72c;
}
.slide[data-palette="sweetie_80"], .solvin-slide.sweetie_80, [data-palette="sweetie_80"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1a1c2c;
  --bg-window: #333c57;
  --text-color: #f4f4f4;
  --text-dim: #94b0c2;
  --link-color: #41a6f6;
  --border-color: #3b5dc9;
  --border-active: #73eff7;
  --accent-color: #ffcd75;
  --accent-secondary: #38b764;
  --accent-tertiary: #ef7d57;
  --accent-quaternary: #a7f070;
  --shadow-color: #1a1c2c;
  --cube: #41a6f6;
  --cube-hover: #73eff7;
  --emoji-filter: url(#emoji-filter-sweetie_80);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1a1c2c;
  --sunstone-surface: #333c57;
  --sunstone-surface-hover: #73eff7;
  --sunstone-text-primary: #f4f4f4;
  --sunstone-text-secondary: #94b0c2;
  --sunstone-text-muted: #94b0c2;
  --sunstone-accent: #ffcd75;
  --sunstone-accent-secondary: #38b764;
  --sunstone-accent-tertiary: #ef7d57;
  --sunstone-border: #3b5dc9;
  --sunstone-border-active: #73eff7;
  --sunstone-code-bg: #333c57;
}
.slide[data-palette="oled_micro"], .solvin-slide.oled_micro, [data-palette="oled_micro"] {
  /* Sol.vin Theme Variables */
  --bg-color: #05080c;
  --bg-window: #05080c;
  --text-color: #00f0ff;
  --text-dim: #0099aa;
  --link-color: #ffffff;
  --border-color: #00f0ff;
  --border-active: #ffffff;
  --accent-color: #f59e0b;
  --accent-secondary: #ffffff;
  --accent-tertiary: #f59e0b;
  --accent-quaternary: #0099aa;
  --shadow-color: #1f2937;
  --cube: #00f0ff;
  --cube-hover: #ffffff;
  --emoji-filter: url(#emoji-filter-oled_micro);

  /* Sunstone Modern Variables */
  --sunstone-bg: #05080c;
  --sunstone-surface: #05080c;
  --sunstone-surface-hover: #ffffff;
  --sunstone-text-primary: #00f0ff;
  --sunstone-text-secondary: #0099aa;
  --sunstone-text-muted: #0099aa;
  --sunstone-accent: #f59e0b;
  --sunstone-accent-secondary: #ffffff;
  --sunstone-accent-tertiary: #f59e0b;
  --sunstone-border: #00f0ff;
  --sunstone-border-active: #ffffff;
  --sunstone-code-bg: #05080c;
}
.slide[data-palette="dreamcast"], .solvin-slide.dreamcast, [data-palette="dreamcast"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ececec;
  --bg-window: #dcdcdc;
  --text-color: #232328;
  --text-dim: #55555c;
  --link-color: #ff6600;
  --border-color: #232328;
  --border-active: #ff6600;
  --accent-color: #ff6600;
  --accent-secondary: #0055a5;
  --accent-tertiary: #6dc5b8;
  --accent-quaternary: #232328;
  --shadow-color: #232328;
  --cube: #232328;
  --cube-hover: #ff6600;
  --emoji-filter: url(#emoji-filter-dreamcast);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ececec;
  --sunstone-surface: #dcdcdc;
  --sunstone-surface-hover: #ff6600;
  --sunstone-text-primary: #232328;
  --sunstone-text-secondary: #55555c;
  --sunstone-text-muted: #55555c;
  --sunstone-accent: #ff6600;
  --sunstone-accent-secondary: #0055a5;
  --sunstone-accent-tertiary: #6dc5b8;
  --sunstone-border: #232328;
  --sunstone-border-active: #ff6600;
  --sunstone-code-bg: #dcdcdc;
}
.slide[data-palette="saturn"], .solvin-slide.saturn, [data-palette="saturn"] {
  /* Sol.vin Theme Variables */
  --bg-color: #dcdde1;
  --bg-window: #cbccd1;
  --text-color: #22252a;
  --text-dim: #555f6d;
  --link-color: #192a56;
  --border-color: #192a56;
  --border-active: #0f1830;
  --accent-color: #192a56;
  --accent-secondary: #192a56;
  --accent-tertiary: #0f1830;
  --accent-quaternary: #555f6d;
  --shadow-color: #192a56;
  --cube: #192a56;
  --cube-hover: #0f1830;
  --emoji-filter: url(#emoji-filter-saturn);

  /* Sunstone Modern Variables */
  --sunstone-bg: #dcdde1;
  --sunstone-surface: #cbccd1;
  --sunstone-surface-hover: #0f1830;
  --sunstone-text-primary: #22252a;
  --sunstone-text-secondary: #555f6d;
  --sunstone-text-muted: #555f6d;
  --sunstone-accent: #192a56;
  --sunstone-accent-secondary: #192a56;
  --sunstone-accent-tertiary: #0f1830;
  --sunstone-border: #192a56;
  --sunstone-border-active: #0f1830;
  --sunstone-code-bg: #cbccd1;
}
.slide[data-palette="atomic_purple"], .solvin-slide.atomic_purple, [data-palette="atomic_purple"] {
  /* Sol.vin Theme Variables */
  --bg-color: #4b3869;
  --bg-window: #6a528f;
  --text-color: #e8e0f5;
  --text-dim: #bdaece;
  --link-color: #ad9cc1;
  --border-color: #7e68a0;
  --border-active: #c83e74;
  --accent-color: #c83e74;
  --accent-secondary: #ad9cc1;
  --accent-tertiary: #2d572c;
  --accent-quaternary: #bdaece;
  --shadow-color: #261b36;
  --cube: #e8e0f5;
  --cube-hover: #c83e74;
  --emoji-filter: url(#emoji-filter-atomic_purple);

  /* Sunstone Modern Variables */
  --sunstone-bg: #4b3869;
  --sunstone-surface: #6a528f;
  --sunstone-surface-hover: #c83e74;
  --sunstone-text-primary: #e8e0f5;
  --sunstone-text-secondary: #bdaece;
  --sunstone-text-muted: #bdaece;
  --sunstone-accent: #c83e74;
  --sunstone-accent-secondary: #ad9cc1;
  --sunstone-accent-tertiary: #2d572c;
  --sunstone-border: #7e68a0;
  --sunstone-border-active: #c83e74;
  --sunstone-code-bg: #6a528f;
}
.slide[data-palette="pocket_advance"], .solvin-slide.pocket_advance, [data-palette="pocket_advance"] {
  /* Sol.vin Theme Variables */
  --bg-color: #3f427b;
  --bg-window: #282a52;
  --text-color: #e0e4f0;
  --text-dim: #9fa5b5;
  --link-color: #39ff14;
  --border-color: #9fa5b5;
  --border-active: #39ff14;
  --accent-color: #39ff14;
  --accent-secondary: #ff5500;
  --accent-tertiary: #9fa5b5;
  --accent-quaternary: #39ff14;
  --shadow-color: #1a1b36;
  --cube: #e0e4f0;
  --cube-hover: #39ff14;
  --emoji-filter: url(#emoji-filter-pocket_advance);

  /* Sunstone Modern Variables */
  --sunstone-bg: #3f427b;
  --sunstone-surface: #282a52;
  --sunstone-surface-hover: #39ff14;
  --sunstone-text-primary: #e0e4f0;
  --sunstone-text-secondary: #9fa5b5;
  --sunstone-text-muted: #9fa5b5;
  --sunstone-accent: #39ff14;
  --sunstone-accent-secondary: #ff5500;
  --sunstone-accent-tertiary: #9fa5b5;
  --sunstone-border: #9fa5b5;
  --sunstone-border-active: #39ff14;
  --sunstone-code-bg: #282a52;
}
.slide[data-palette="indiglo_light"], .solvin-slide.indiglo_light, [data-palette="indiglo_light"] {
  /* Sol.vin Theme Variables */
  --bg-color: #124742;
  --bg-window: #092623;
  --text-color: #66fcd4;
  --text-dim: #258575;
  --link-color: #2de2b6;
  --border-color: #2de2b6;
  --border-active: #66fcd4;
  --accent-color: #66fcd4;
  --accent-secondary: #2de2b6;
  --accent-tertiary: #258575;
  --accent-quaternary: #66fcd4;
  --shadow-color: #041210;
  --cube: #66fcd4;
  --cube-hover: #2de2b6;
  --emoji-filter: url(#emoji-filter-indiglo_light);

  /* Sunstone Modern Variables */
  --sunstone-bg: #124742;
  --sunstone-surface: #092623;
  --sunstone-surface-hover: #66fcd4;
  --sunstone-text-primary: #66fcd4;
  --sunstone-text-secondary: #258575;
  --sunstone-text-muted: #258575;
  --sunstone-accent: #66fcd4;
  --sunstone-accent-secondary: #2de2b6;
  --sunstone-accent-tertiary: #258575;
  --sunstone-border: #2de2b6;
  --sunstone-border-active: #66fcd4;
  --sunstone-code-bg: #092623;
}
.slide[data-palette="gamestation_portable"], .solvin-slide.gamestation_portable, [data-palette="gamestation_portable"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0c0d10;
  --bg-window: #181b22;
  --text-color: #e0f7fa;
  --text-dim: #758294;
  --link-color: #29b6f6;
  --border-color: #c8d1dc;
  --border-active: #29b6f6;
  --accent-color: #29b6f6;
  --accent-secondary: #c8d1dc;
  --accent-tertiary: #e0f7fa;
  --accent-quaternary: #758294;
  --shadow-color: #050607;
  --cube: #c8d1dc;
  --cube-hover: #29b6f6;
  --emoji-filter: url(#emoji-filter-gamestation_portable);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0c0d10;
  --sunstone-surface: #181b22;
  --sunstone-surface-hover: #29b6f6;
  --sunstone-text-primary: #e0f7fa;
  --sunstone-text-secondary: #758294;
  --sunstone-text-muted: #758294;
  --sunstone-accent: #29b6f6;
  --sunstone-accent-secondary: #c8d1dc;
  --sunstone-accent-tertiary: #e0f7fa;
  --sunstone-border: #c8d1dc;
  --sunstone-border-active: #29b6f6;
  --sunstone-code-bg: #181b22;
}
.slide[data-palette="gamestation_3"], .solvin-slide.gamestation_3, [data-palette="gamestation_3"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0e0f14;
  --bg-window: #191b22;
  --text-color: #d4dae2;
  --text-dim: #8a95a5;
  --link-color: #ff1744;
  --border-color: #d4dae2;
  --border-active: #00e676;
  --accent-color: #ff1744;
  --accent-secondary: #00e676;
  --accent-tertiary: #d4dae2;
  --accent-quaternary: #8a95a5;
  --shadow-color: #060709;
  --cube: #d4dae2;
  --cube-hover: #ff1744;
  --emoji-filter: url(#emoji-filter-gamestation_3);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0e0f14;
  --sunstone-surface: #191b22;
  --sunstone-surface-hover: #00e676;
  --sunstone-text-primary: #d4dae2;
  --sunstone-text-secondary: #8a95a5;
  --sunstone-text-muted: #8a95a5;
  --sunstone-accent: #ff1744;
  --sunstone-accent-secondary: #00e676;
  --sunstone-accent-tertiary: #d4dae2;
  --sunstone-border: #d4dae2;
  --sunstone-border-active: #00e676;
  --sunstone-code-bg: #191b22;
}
.slide[data-palette="nds_aqua"], .solvin-slide.nds_aqua, [data-palette="nds_aqua"] {
  /* Sol.vin Theme Variables */
  --bg-color: #008b9e;
  --bg-window: #005d6b;
  --text-color: #ffffff;
  --text-dim: #80deea;
  --link-color: #80deea;
  --border-color: #ffffff;
  --border-active: #80deea;
  --accent-color: #80deea;
  --accent-secondary: #ffffff;
  --accent-tertiary: #80deea;
  --accent-quaternary: #266973;
  --shadow-color: #0f1318;
  --cube: #ffffff;
  --cube-hover: #80deea;
  --emoji-filter: url(#emoji-filter-nds_aqua);

  /* Sunstone Modern Variables */
  --sunstone-bg: #008b9e;
  --sunstone-surface: #005d6b;
  --sunstone-surface-hover: #80deea;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #80deea;
  --sunstone-text-muted: #80deea;
  --sunstone-accent: #80deea;
  --sunstone-accent-secondary: #ffffff;
  --sunstone-accent-tertiary: #80deea;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #80deea;
  --sunstone-code-bg: #005d6b;
}
.slide[data-palette="atarl"], .solvin-slide.atarl, [data-palette="atarl"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1a1a1a;
  --bg-window: #5c3a21;
  --text-color: #f0e6d2;
  --text-dim: #997a54;
  --link-color: #ff4500;
  --border-color: #b0b0b0;
  --border-active: #ff4500;
  --accent-color: #ff4500;
  --accent-secondary: #b0b0b0;
  --accent-tertiary: #5c3a21;
  --accent-quaternary: #997a54;
  --shadow-color: #111111;
  --cube: #f0e6d2;
  --cube-hover: #ff4500;
  --emoji-filter: url(#emoji-filter-atarl);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1a1a1a;
  --sunstone-surface: #5c3a21;
  --sunstone-surface-hover: #ff4500;
  --sunstone-text-primary: #f0e6d2;
  --sunstone-text-secondary: #997a54;
  --sunstone-text-muted: #997a54;
  --sunstone-accent: #ff4500;
  --sunstone-accent-secondary: #b0b0b0;
  --sunstone-accent-tertiary: #5c3a21;
  --sunstone-border: #b0b0b0;
  --sunstone-border-active: #ff4500;
  --sunstone-code-bg: #5c3a21;
}
.slide[data-palette="mega_shock"], .solvin-slide.mega_shock, [data-palette="mega_shock"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141416;
  --bg-window: #222329;
  --text-color: #f5f5f5;
  --text-dim: #8f7524;
  --link-color: #d4af37;
  --border-color: #d4af37;
  --border-active: #e53935;
  --accent-color: #e53935;
  --accent-secondary: #1e88e5;
  --accent-tertiary: #fbc02d;
  --accent-quaternary: #43a047;
  --shadow-color: #141416;
  --cube: #d4af37;
  --cube-hover: #e53935;
  --emoji-filter: url(#emoji-filter-mega_shock);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141416;
  --sunstone-surface: #222329;
  --sunstone-surface-hover: #e53935;
  --sunstone-text-primary: #f5f5f5;
  --sunstone-text-secondary: #8f7524;
  --sunstone-text-muted: #8f7524;
  --sunstone-accent: #e53935;
  --sunstone-accent-secondary: #1e88e5;
  --sunstone-accent-tertiary: #fbc02d;
  --sunstone-border: #d4af37;
  --sunstone-border-active: #e53935;
  --sunstone-code-bg: #222329;
}
.slide[data-palette="engine_16"], .solvin-slide.engine_16, [data-palette="engine_16"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f2f4f7;
  --bg-window: #e4e7eb;
  --text-color: #33373d;
  --text-dim: #8e95a0;
  --link-color: #ff3b30;
  --border-color: #33373d;
  --border-active: #ff3b30;
  --accent-color: #ff3b30;
  --accent-secondary: #007aff;
  --accent-tertiary: #8e95a0;
  --accent-quaternary: #33373d;
  --shadow-color: #33373d;
  --cube: #33373d;
  --cube-hover: #ff3b30;
  --emoji-filter: url(#emoji-filter-engine_16);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f2f4f7;
  --sunstone-surface: #e4e7eb;
  --sunstone-surface-hover: #ff3b30;
  --sunstone-text-primary: #33373d;
  --sunstone-text-secondary: #8e95a0;
  --sunstone-text-muted: #8e95a0;
  --sunstone-accent: #ff3b30;
  --sunstone-accent-secondary: #007aff;
  --sunstone-accent-tertiary: #8e95a0;
  --sunstone-border: #33373d;
  --sunstone-border-active: #ff3b30;
  --sunstone-code-bg: #e4e7eb;
}
.slide[data-palette="phosphor_vector"], .solvin-slide.phosphor_vector, [data-palette="phosphor_vector"] {
  /* Sol.vin Theme Variables */
  --bg-color: #070709;
  --bg-window: #070709;
  --text-color: #39ff14;
  --text-dim: #1a660a;
  --link-color: #00e5ff;
  --border-color: #39ff14;
  --border-active: #ffffff;
  --accent-color: #ffffff;
  --accent-secondary: #00e5ff;
  --accent-tertiary: #ff007f;
  --accent-quaternary: #1a660a;
  --shadow-color: #070709;
  --cube: #39ff14;
  --cube-hover: #ffffff;
  --emoji-filter: url(#emoji-filter-phosphor_vector);

  /* Sunstone Modern Variables */
  --sunstone-bg: #070709;
  --sunstone-surface: #070709;
  --sunstone-surface-hover: #ffffff;
  --sunstone-text-primary: #39ff14;
  --sunstone-text-secondary: #1a660a;
  --sunstone-text-muted: #1a660a;
  --sunstone-accent: #ffffff;
  --sunstone-accent-secondary: #00e5ff;
  --sunstone-accent-tertiary: #ff007f;
  --sunstone-border: #39ff14;
  --sunstone-border-active: #ffffff;
  --sunstone-code-bg: #070709;
}
.slide[data-palette="deck_handheld"], .solvin-slide.deck_handheld, [data-palette="deck_handheld"] {
  /* Sol.vin Theme Variables */
  --bg-color: #17191e;
  --bg-window: #0f1013;
  --text-color: #f1f3f6;
  --text-dim: #667085;
  --link-color: #1a9fff;
  --border-color: #1a9fff;
  --border-active: #ff7700;
  --accent-color: #1a9fff;
  --accent-secondary: #ff7700;
  --accent-tertiary: #1a9fff;
  --accent-quaternary: #667085;
  --shadow-color: #0f1013;
  --cube: #f1f3f6;
  --cube-hover: #1a9fff;
  --emoji-filter: url(#emoji-filter-deck_handheld);

  /* Sunstone Modern Variables */
  --sunstone-bg: #17191e;
  --sunstone-surface: #0f1013;
  --sunstone-surface-hover: #ff7700;
  --sunstone-text-primary: #f1f3f6;
  --sunstone-text-secondary: #667085;
  --sunstone-text-muted: #667085;
  --sunstone-accent: #1a9fff;
  --sunstone-accent-secondary: #ff7700;
  --sunstone-accent-tertiary: #1a9fff;
  --sunstone-border: #1a9fff;
  --sunstone-border-active: #ff7700;
  --sunstone-code-bg: #0f1013;
}
.slide[data-palette="orchard_2"], .solvin-slide.orchard_2, [data-palette="orchard_2"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e3d8be;
  --bg-window: #e3d8be;
  --text-color: #4a3728;
  --text-dim: #735945;
  --link-color: #61bb46;
  --border-color: #4a3728;
  --border-active: #61bb46;
  --accent-color: #e03a3e;
  --accent-secondary: #fdb827;
  --accent-tertiary: #009ddc;
  --accent-quaternary: #963d97;
  --shadow-color: #4a3728;
  --cube: #4a3728;
  --cube-hover: #61bb46;
  --emoji-filter: url(#emoji-filter-orchard_2);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e3d8be;
  --sunstone-surface: #e3d8be;
  --sunstone-surface-hover: #61bb46;
  --sunstone-text-primary: #4a3728;
  --sunstone-text-secondary: #735945;
  --sunstone-text-muted: #735945;
  --sunstone-accent: #e03a3e;
  --sunstone-accent-secondary: #fdb827;
  --sunstone-accent-tertiary: #009ddc;
  --sunstone-border: #4a3728;
  --sunstone-border-active: #61bb46;
  --sunstone-code-bg: #e3d8be;
}
.slide[data-palette="snow_white"], .solvin-slide.snow_white, [data-palette="snow_white"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ded7c4;
  --bg-window: #ffffff;
  --text-color: #000000;
  --text-dim: #888888;
  --link-color: #34312d;
  --border-color: #000000;
  --border-active: #34312d;
  --accent-color: #000000;
  --accent-secondary: #34312d;
  --accent-tertiary: #888888;
  --accent-quaternary: #000000;
  --shadow-color: #34312d;
  --cube: #000000;
  --cube-hover: #34312d;
  --emoji-filter: url(#emoji-filter-snow_white);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ded7c4;
  --sunstone-surface: #ffffff;
  --sunstone-surface-hover: #34312d;
  --sunstone-text-primary: #000000;
  --sunstone-text-secondary: #888888;
  --sunstone-text-muted: #888888;
  --sunstone-accent: #000000;
  --sunstone-accent-secondary: #34312d;
  --sunstone-accent-tertiary: #888888;
  --sunstone-border: #000000;
  --sunstone-border-active: #34312d;
  --sunstone-code-bg: #ffffff;
}
.slide[data-palette="black_cube"], .solvin-slide.black_cube, [data-palette="black_cube"] {
  /* Sol.vin Theme Variables */
  --bg-color: #121214;
  --bg-window: #1c1c20;
  --text-color: #ffffff;
  --text-dim: #7d7f85;
  --link-color: #f9e01e;
  --border-color: #7d7f85;
  --border-active: #35b34b;
  --accent-color: #f32736;
  --accent-secondary: #35b34b;
  --accent-tertiary: #e52d7e;
  --accent-quaternary: #f9e01e;
  --shadow-color: #121214;
  --cube: #ffffff;
  --cube-hover: #35b34b;
  --emoji-filter: url(#emoji-filter-black_cube);

  /* Sunstone Modern Variables */
  --sunstone-bg: #121214;
  --sunstone-surface: #1c1c20;
  --sunstone-surface-hover: #35b34b;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #7d7f85;
  --sunstone-text-muted: #7d7f85;
  --sunstone-accent: #f32736;
  --sunstone-accent-secondary: #35b34b;
  --sunstone-accent-tertiary: #e52d7e;
  --sunstone-border: #7d7f85;
  --sunstone-border-active: #35b34b;
  --sunstone-code-bg: #1c1c20;
}
.slide[data-palette="yellow_tab"], .solvin-slide.yellow_tab, [data-palette="yellow_tab"] {
  /* Sol.vin Theme Variables */
  --bg-color: #dcdfe3;
  --bg-window: #eef0f3;
  --text-color: #141416;
  --text-dim: #36414e;
  --link-color: #c40000;
  --border-color: #234b75;
  --border-active: #ffc400;
  --accent-color: #234b75;
  --accent-secondary: #ffc400;
  --accent-tertiary: #c40000;
  --accent-quaternary: #36414e;
  --shadow-color: #234b75;
  --cube: #234b75;
  --cube-hover: #c40000;
  --emoji-filter: url(#emoji-filter-yellow_tab);

  /* Sunstone Modern Variables */
  --sunstone-bg: #dcdfe3;
  --sunstone-surface: #eef0f3;
  --sunstone-surface-hover: #ffc400;
  --sunstone-text-primary: #141416;
  --sunstone-text-secondary: #36414e;
  --sunstone-text-muted: #36414e;
  --sunstone-accent: #234b75;
  --sunstone-accent-secondary: #ffc400;
  --sunstone-accent-tertiary: #c40000;
  --sunstone-border: #234b75;
  --sunstone-border-active: #ffc400;
  --sunstone-code-bg: #eef0f3;
}
.slide[data-palette="silicon_indigo"], .solvin-slide.silicon_indigo, [data-palette="silicon_indigo"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1e3a8a;
  --bg-window: #14285e;
  --text-color: #ffffff;
  --text-dim: #c7d2fe;
  --link-color: #00f0ff;
  --border-color: #00f0ff;
  --border-active: #e91e63;
  --accent-color: #00f0ff;
  --accent-secondary: #e91e63;
  --accent-tertiary: #005952;
  --accent-quaternary: #5eead4;
  --shadow-color: #14285e;
  --cube: #00f0ff;
  --cube-hover: #e91e63;
  --emoji-filter: url(#emoji-filter-silicon_indigo);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1e3a8a;
  --sunstone-surface: #14285e;
  --sunstone-surface-hover: #e91e63;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #c7d2fe;
  --sunstone-text-muted: #c7d2fe;
  --sunstone-accent: #00f0ff;
  --sunstone-accent-secondary: #e91e63;
  --sunstone-accent-tertiary: #005952;
  --sunstone-border: #00f0ff;
  --sunstone-border-active: #e91e63;
  --sunstone-code-bg: #14285e;
}
.slide[data-palette="bento_pad"], .solvin-slide.bento_pad, [data-palette="bento_pad"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141416;
  --bg-window: #1e1e24;
  --text-color: #e6e6e6;
  --text-dim: #737373;
  --link-color: #e00000;
  --border-color: #e00000;
  --border-active: #0066cc;
  --accent-color: #e00000;
  --accent-secondary: #0066cc;
  --accent-tertiary: #43a047;
  --accent-quaternary: #737373;
  --shadow-color: #141416;
  --cube: #e6e6e6;
  --cube-hover: #e00000;
  --emoji-filter: url(#emoji-filter-bento_pad);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141416;
  --sunstone-surface: #1e1e24;
  --sunstone-surface-hover: #0066cc;
  --sunstone-text-primary: #e6e6e6;
  --sunstone-text-secondary: #737373;
  --sunstone-text-muted: #737373;
  --sunstone-accent: #e00000;
  --sunstone-accent-secondary: #0066cc;
  --sunstone-accent-tertiary: #43a047;
  --sunstone-border: #e00000;
  --sunstone-border-active: #0066cc;
  --sunstone-code-bg: #1e1e24;
}
.slide[data-palette="speccy_48k"], .solvin-slide.speccy_48k, [data-palette="speccy_48k"] {
  /* Sol.vin Theme Variables */
  --bg-color: #000000;
  --bg-window: #141414;
  --text-color: #ffffff;
  --text-dim: #666666;
  --link-color: #00d8d8;
  --border-color: #00d8d8;
  --border-active: #d8d800;
  --accent-color: #d80000;
  --accent-secondary: #00d800;
  --accent-tertiary: #d8d800;
  --accent-quaternary: #00d8d8;
  --shadow-color: #000000;
  --cube: #00d8d8;
  --cube-hover: #d8d800;
  --emoji-filter: url(#emoji-filter-speccy_48k);

  /* Sunstone Modern Variables */
  --sunstone-bg: #000000;
  --sunstone-surface: #141414;
  --sunstone-surface-hover: #d8d800;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #666666;
  --sunstone-text-muted: #666666;
  --sunstone-accent: #d80000;
  --sunstone-accent-secondary: #00d800;
  --sunstone-accent-tertiary: #d8d800;
  --sunstone-border: #00d8d8;
  --sunstone-border-active: #d8d800;
  --sunstone-code-bg: #141414;
}
.slide[data-palette="acorn_bbc"], .solvin-slide.acorn_bbc, [data-palette="acorn_bbc"] {
  /* Sol.vin Theme Variables */
  --bg-color: #ded6c4;
  --bg-window: #ded6c4;
  --text-color: #2b221a;
  --text-dim: #6b5847;
  --link-color: #e62b1e;
  --border-color: #2b221a;
  --border-active: #e62b1e;
  --accent-color: #e62b1e;
  --accent-secondary: #00e676;
  --accent-tertiary: #e62b1e;
  --accent-quaternary: #6b5847;
  --shadow-color: #2b221a;
  --cube: #2b221a;
  --cube-hover: #e62b1e;
  --emoji-filter: url(#emoji-filter-acorn_bbc);

  /* Sunstone Modern Variables */
  --sunstone-bg: #ded6c4;
  --sunstone-surface: #ded6c4;
  --sunstone-surface-hover: #e62b1e;
  --sunstone-text-primary: #2b221a;
  --sunstone-text-secondary: #6b5847;
  --sunstone-text-muted: #6b5847;
  --sunstone-accent: #e62b1e;
  --sunstone-accent-secondary: #00e676;
  --sunstone-accent-tertiary: #e62b1e;
  --sunstone-border: #2b221a;
  --sunstone-border-active: #e62b1e;
  --sunstone-code-bg: #ded6c4;
}
.slide[data-palette="twin_tower"], .solvin-slide.twin_tower, [data-palette="twin_tower"] {
  /* Sol.vin Theme Variables */
  --bg-color: #191b20;
  --bg-window: #0f1013;
  --text-color: #e8ebf0;
  --text-dim: #5c6370;
  --link-color: #00ff88;
  --border-color: #00ff88;
  --border-active: #ff9900;
  --accent-color: #ff9900;
  --accent-secondary: #00ff88;
  --accent-tertiary: #ff9900;
  --accent-quaternary: #5c6370;
  --shadow-color: #0f1013;
  --cube: #e8ebf0;
  --cube-hover: #00ff88;
  --emoji-filter: url(#emoji-filter-twin_tower);

  /* Sunstone Modern Variables */
  --sunstone-bg: #191b20;
  --sunstone-surface: #0f1013;
  --sunstone-surface-hover: #ff9900;
  --sunstone-text-primary: #e8ebf0;
  --sunstone-text-secondary: #5c6370;
  --sunstone-text-muted: #5c6370;
  --sunstone-accent: #ff9900;
  --sunstone-accent-secondary: #00ff88;
  --sunstone-accent-tertiary: #ff9900;
  --sunstone-border: #00ff88;
  --sunstone-border-active: #ff9900;
  --sunstone-code-bg: #0f1013;
}
.slide[data-palette="datacorder_464"], .solvin-slide.datacorder_464, [data-palette="datacorder_464"] {
  /* Sol.vin Theme Variables */
  --bg-color: #26282e;
  --bg-window: #1c1d22;
  --text-color: #f4f4f7;
  --text-dim: #6c727d;
  --link-color: #27ae60;
  --border-color: #c0392b;
  --border-active: #27ae60;
  --accent-color: #c0392b;
  --accent-secondary: #27ae60;
  --accent-tertiary: #2980b9;
  --accent-quaternary: #f39c12;
  --shadow-color: #1c1d22;
  --cube: #f4f4f7;
  --cube-hover: #27ae60;
  --emoji-filter: url(#emoji-filter-datacorder_464);

  /* Sunstone Modern Variables */
  --sunstone-bg: #26282e;
  --sunstone-surface: #1c1d22;
  --sunstone-surface-hover: #27ae60;
  --sunstone-text-primary: #f4f4f7;
  --sunstone-text-secondary: #6c727d;
  --sunstone-text-muted: #6c727d;
  --sunstone-accent: #c0392b;
  --sunstone-accent-secondary: #27ae60;
  --sunstone-accent-tertiary: #2980b9;
  --sunstone-border: #c0392b;
  --sunstone-border-active: #27ae60;
  --sunstone-code-bg: #1c1d22;
}
.slide[data-palette="rhythm_808"], .solvin-slide.rhythm_808, [data-palette="rhythm_808"] {
  /* Sol.vin Theme Variables */
  --bg-color: #18191d;
  --bg-window: #23252b;
  --text-color: #f5f0e1;
  --text-dim: #7a7e88;
  --link-color: #ff7700;
  --border-color: #ff7700;
  --border-active: #f5c400;
  --accent-color: #e02828;
  --accent-secondary: #f5c400;
  --accent-tertiary: #e02828;
  --accent-quaternary: #ede9de;
  --shadow-color: #18191d;
  --cube: #ff7700;
  --cube-hover: #f5c400;
  --emoji-filter: url(#emoji-filter-rhythm_808);

  /* Sunstone Modern Variables */
  --sunstone-bg: #18191d;
  --sunstone-surface: #23252b;
  --sunstone-surface-hover: #f5c400;
  --sunstone-text-primary: #f5f0e1;
  --sunstone-text-secondary: #7a7e88;
  --sunstone-text-muted: #7a7e88;
  --sunstone-accent: #e02828;
  --sunstone-accent-secondary: #f5c400;
  --sunstone-accent-tertiary: #e02828;
  --sunstone-border: #ff7700;
  --sunstone-border-active: #f5c400;
  --sunstone-code-bg: #23252b;
}
.slide[data-palette="acid_303"], .solvin-slide.acid_303, [data-palette="acid_303"] {
  /* Sol.vin Theme Variables */
  --bg-color: #c2c7cc;
  --bg-window: #c2c7cc;
  --text-color: #26282d;
  --text-dim: #50555e;
  --link-color: #ff0033;
  --border-color: #26282d;
  --border-active: #ff0033;
  --accent-color: #ff0033;
  --accent-secondary: #a6ff00;
  --accent-tertiary: #ff0033;
  --accent-quaternary: #50555e;
  --shadow-color: #26282d;
  --cube: #26282d;
  --cube-hover: #ff0033;
  --emoji-filter: url(#emoji-filter-acid_303);

  /* Sunstone Modern Variables */
  --sunstone-bg: #c2c7cc;
  --sunstone-surface: #c2c7cc;
  --sunstone-surface-hover: #ff0033;
  --sunstone-text-primary: #26282d;
  --sunstone-text-secondary: #50555e;
  --sunstone-text-muted: #50555e;
  --sunstone-accent: #ff0033;
  --sunstone-accent-secondary: #a6ff00;
  --sunstone-accent-tertiary: #ff0033;
  --sunstone-border: #26282d;
  --sunstone-border-active: #ff0033;
  --sunstone-code-bg: #c2c7cc;
}
.slide[data-palette="operator_1"], .solvin-slide.operator_1, [data-palette="operator_1"] {
  /* Sol.vin Theme Variables */
  --bg-color: #e2e4e2;
  --bg-window: #f0f2f0;
  --text-color: #1c1d20;
  --text-dim: #4e5158;
  --link-color: #1658b4;
  --border-color: #1c1d20;
  --border-active: #d96500;
  --accent-color: #d96500;
  --accent-secondary: #198c4f;
  --accent-tertiary: #1658b4;
  --accent-quaternary: #d96500;
  --shadow-color: #1c1d20;
  --cube: #1c1d20;
  --cube-hover: #d96500;
  --emoji-filter: url(#emoji-filter-operator_1);

  /* Sunstone Modern Variables */
  --sunstone-bg: #e2e4e2;
  --sunstone-surface: #f0f2f0;
  --sunstone-surface-hover: #d96500;
  --sunstone-text-primary: #1c1d20;
  --sunstone-text-secondary: #4e5158;
  --sunstone-text-muted: #4e5158;
  --sunstone-accent: #d96500;
  --sunstone-accent-secondary: #198c4f;
  --sunstone-accent-tertiary: #1658b4;
  --sunstone-border: #1c1d20;
  --sunstone-border-active: #d96500;
  --sunstone-code-bg: #f0f2f0;
}
.slide[data-palette="boom_bap_16"], .solvin-slide.boom_bap_16, [data-palette="boom_bap_16"] {
  /* Sol.vin Theme Variables */
  --bg-color: #d4cfc7;
  --bg-window: #d4cfc7;
  --text-color: #212328;
  --text-dim: #69717d;
  --link-color: #d32f2f;
  --border-color: #43484f;
  --border-active: #d32f2f;
  --accent-color: #d32f2f;
  --accent-secondary: #7ca4cc;
  --accent-tertiary: #43484f;
  --accent-quaternary: #69717d;
  --shadow-color: #43484f;
  --cube: #43484f;
  --cube-hover: #d32f2f;
  --emoji-filter: url(#emoji-filter-boom_bap_16);

  /* Sunstone Modern Variables */
  --sunstone-bg: #d4cfc7;
  --sunstone-surface: #d4cfc7;
  --sunstone-surface-hover: #d32f2f;
  --sunstone-text-primary: #212328;
  --sunstone-text-secondary: #69717d;
  --sunstone-text-muted: #69717d;
  --sunstone-accent: #d32f2f;
  --sunstone-accent-secondary: #7ca4cc;
  --sunstone-accent-tertiary: #43484f;
  --sunstone-border: #43484f;
  --sunstone-border-active: #d32f2f;
  --sunstone-code-bg: #d4cfc7;
}
.slide[data-palette="blue_cassette"], .solvin-slide.blue_cassette, [data-palette="blue_cassette"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1e4d8c;
  --bg-window: #133563;
  --text-color: #ffffff;
  --text-dim: #c8d1d9;
  --link-color: #ff6f00;
  --border-color: #c8d1d9;
  --border-active: #ff6f00;
  --accent-color: #ff6f00;
  --accent-secondary: #c8d1d9;
  --accent-tertiary: #ff6f00;
  --accent-quaternary: #8fa0b3;
  --shadow-color: #222629;
  --cube: #c8d1d9;
  --cube-hover: #ff6f00;
  --emoji-filter: url(#emoji-filter-blue_cassette);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1e4d8c;
  --sunstone-surface: #133563;
  --sunstone-surface-hover: #ff6f00;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #c8d1d9;
  --sunstone-text-muted: #c8d1d9;
  --sunstone-accent: #ff6f00;
  --sunstone-accent-secondary: #c8d1d9;
  --sunstone-accent-tertiary: #ff6f00;
  --sunstone-border: #c8d1d9;
  --sunstone-border-active: #ff6f00;
  --sunstone-code-bg: #133563;
}
.slide[data-palette="functionalist"], .solvin-slide.functionalist, [data-palette="functionalist"] {
  /* Sol.vin Theme Variables */
  --bg-color: #212121;
  --bg-window: #363636;
  --text-color: #ffffff;
  --text-dim: #7d7d7d;
  --link-color: #ff6d00;
  --border-color: #ffffff;
  --border-active: #ff6d00;
  --accent-color: #ff6d00;
  --accent-secondary: #556b2f;
  --accent-tertiary: #ff6d00;
  --accent-quaternary: #7d7d7d;
  --shadow-color: #212121;
  --cube: #ffffff;
  --cube-hover: #ff6d00;
  --emoji-filter: url(#emoji-filter-functionalist);

  /* Sunstone Modern Variables */
  --sunstone-bg: #212121;
  --sunstone-surface: #363636;
  --sunstone-surface-hover: #ff6d00;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #7d7d7d;
  --sunstone-text-muted: #7d7d7d;
  --sunstone-accent: #ff6d00;
  --sunstone-accent-secondary: #556b2f;
  --sunstone-accent-tertiary: #ff6d00;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #ff6d00;
  --sunstone-code-bg: #363636;
}
.slide[data-palette="resin_91"], .solvin-slide.resin_91, [data-palette="resin_91"] {
  /* Sol.vin Theme Variables */
  --bg-color: #18191c;
  --bg-window: #9eaa90;
  --text-color: #1b241a;
  --text-dim: #595e69;
  --link-color: #0088ff;
  --border-color: #d4af37;
  --border-active: #39ff14;
  --accent-color: #d4af37;
  --accent-secondary: #0088ff;
  --accent-tertiary: #39ff14;
  --accent-quaternary: #595e69;
  --shadow-color: #18191c;
  --cube: #d4af37;
  --cube-hover: #39ff14;
  --emoji-filter: url(#emoji-filter-resin_91);

  /* Sunstone Modern Variables */
  --sunstone-bg: #18191c;
  --sunstone-surface: #9eaa90;
  --sunstone-surface-hover: #39ff14;
  --sunstone-text-primary: #1b241a;
  --sunstone-text-secondary: #595e69;
  --sunstone-text-muted: #595e69;
  --sunstone-accent: #d4af37;
  --sunstone-accent-secondary: #0088ff;
  --sunstone-accent-tertiary: #39ff14;
  --sunstone-border: #d4af37;
  --sunstone-border-active: #39ff14;
  --sunstone-code-bg: #9eaa90;
}
.slide[data-palette="night_city"], .solvin-slide.night_city, [data-palette="night_city"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0d0d11;
  --bg-window: #15151c;
  --text-color: #ffffff;
  --text-dim: #5e5073;
  --link-color: #fcee0a;
  --border-color: #fcee0a;
  --border-active: #00f0ff;
  --accent-color: #fcee0a;
  --accent-secondary: #00f0ff;
  --accent-tertiary: #ff0055;
  --accent-quaternary: #5e5073;
  --shadow-color: #ff0055;
  --cube: #fcee0a;
  --cube-hover: #00f0ff;
  --emoji-filter: url(#emoji-filter-night_city);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0d0d11;
  --sunstone-surface: #15151c;
  --sunstone-surface-hover: #00f0ff;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #5e5073;
  --sunstone-text-muted: #5e5073;
  --sunstone-accent: #fcee0a;
  --sunstone-accent-secondary: #00f0ff;
  --sunstone-accent-tertiary: #ff0055;
  --sunstone-border: #fcee0a;
  --sunstone-border-active: #00f0ff;
  --sunstone-code-bg: #15151c;
}
.slide[data-palette="they_fear"], .solvin-slide.they_fear, [data-palette="they_fear"] {
  /* Sol.vin Theme Variables */
  --bg-color: #101014;
  --bg-window: #1c1c24;
  --text-color: #ffffff;
  --text-dim: #78879e;
  --link-color: #f5a623;
  --border-color: #3b7dd8;
  --border-active: #f5a623;
  --accent-color: #f5a623;
  --accent-secondary: #3b7dd8;
  --accent-tertiary: #b71c1c;
  --accent-quaternary: #e65100;
  --shadow-color: #101014;
  --cube: #f5a623;
  --cube-hover: #3b7dd8;
  --emoji-filter: url(#emoji-filter-they_fear);

  /* Sunstone Modern Variables */
  --sunstone-bg: #101014;
  --sunstone-surface: #1c1c24;
  --sunstone-surface-hover: #f5a623;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #78879e;
  --sunstone-text-muted: #78879e;
  --sunstone-accent: #f5a623;
  --sunstone-accent-secondary: #3b7dd8;
  --sunstone-accent-tertiary: #b71c1c;
  --sunstone-border: #3b7dd8;
  --sunstone-border-active: #f5a623;
  --sunstone-code-bg: #1c1c24;
}
.slide[data-palette="hero_of_time"], .solvin-slide.hero_of_time, [data-palette="hero_of_time"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0e2417;
  --bg-window: #163824;
  --text-color: #f5f0db;
  --text-dim: #527a63;
  --link-color: #ffd700;
  --border-color: #ffd700;
  --border-active: #00e5ff;
  --accent-color: #ffd700;
  --accent-secondary: #00e5ff;
  --accent-tertiary: #1565c0;
  --accent-quaternary: #527a63;
  --shadow-color: #0e2417;
  --cube: #f5f0db;
  --cube-hover: #ffd700;
  --emoji-filter: url(#emoji-filter-hero_of_time);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0e2417;
  --sunstone-surface: #163824;
  --sunstone-surface-hover: #00e5ff;
  --sunstone-text-primary: #f5f0db;
  --sunstone-text-secondary: #527a63;
  --sunstone-text-muted: #527a63;
  --sunstone-accent: #ffd700;
  --sunstone-accent-secondary: #00e5ff;
  --sunstone-accent-tertiary: #1565c0;
  --sunstone-border: #ffd700;
  --sunstone-border-active: #00e5ff;
  --sunstone-code-bg: #163824;
}
.slide[data-palette="kanto_red"], .solvin-slide.kanto_red, [data-palette="kanto_red"] {
  /* Sol.vin Theme Variables */
  --bg-color: #b71c1c;
  --bg-window: #c62828;
  --text-color: #f8f9fa;
  --text-dim: #e0d8d8;
  --link-color: #ffeb3b;
  --border-color: #f8f9fa;
  --border-active: #ffeb3b;
  --accent-color: #ffeb3b;
  --accent-secondary: #1565c0;
  --accent-tertiary: #5e35b1;
  --accent-quaternary: #e0d8d8;
  --shadow-color: #500b0b;
  --cube: #f8f9fa;
  --cube-hover: #ffeb3b;
  --emoji-filter: url(#emoji-filter-kanto_red);

  /* Sunstone Modern Variables */
  --sunstone-bg: #b71c1c;
  --sunstone-surface: #c62828;
  --sunstone-surface-hover: #ffeb3b;
  --sunstone-text-primary: #f8f9fa;
  --sunstone-text-secondary: #e0d8d8;
  --sunstone-text-muted: #e0d8d8;
  --sunstone-accent: #ffeb3b;
  --sunstone-accent-secondary: #1565c0;
  --sunstone-accent-tertiary: #5e35b1;
  --sunstone-border: #f8f9fa;
  --sunstone-border-active: #ffeb3b;
  --sunstone-code-bg: #c62828;
}
.slide[data-palette="hazard_suit"], .solvin-slide.hazard_suit, [data-palette="hazard_suit"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1f2127;
  --bg-window: #14151a;
  --text-color: #e0e0e0;
  --text-dim: #607d8b;
  --link-color: #ff6f00;
  --border-color: #ff6f00;
  --border-active: #76ff03;
  --accent-color: #ff6f00;
  --accent-secondary: #76ff03;
  --accent-tertiary: #d32f2f;
  --accent-quaternary: #607d8b;
  --shadow-color: #14151a;
  --cube: #e0e0e0;
  --cube-hover: #ff6f00;
  --emoji-filter: url(#emoji-filter-hazard_suit);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1f2127;
  --sunstone-surface: #14151a;
  --sunstone-surface-hover: #76ff03;
  --sunstone-text-primary: #e0e0e0;
  --sunstone-text-secondary: #607d8b;
  --sunstone-text-muted: #607d8b;
  --sunstone-accent: #ff6f00;
  --sunstone-accent-secondary: #76ff03;
  --sunstone-accent-tertiary: #d32f2f;
  --sunstone-border: #ff6f00;
  --sunstone-border-active: #76ff03;
  --sunstone-code-bg: #14151a;
}
.slide[data-palette="vault_101"], .solvin-slide.vault_101, [data-palette="vault_101"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0c2340;
  --bg-window: #071526;
  --text-color: #ffcc00;
  --text-dim: #a88700;
  --link-color: #f5f5f5;
  --border-color: #ffcc00;
  --border-active: #ffb000;
  --accent-color: #ffcc00;
  --accent-secondary: #1eff00;
  --accent-tertiary: #ffb000;
  --accent-quaternary: #a88700;
  --shadow-color: #071526;
  --cube: #ffcc00;
  --cube-hover: #f5f5f5;
  --emoji-filter: url(#emoji-filter-vault_101);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0c2340;
  --sunstone-surface: #071526;
  --sunstone-surface-hover: #ffb000;
  --sunstone-text-primary: #ffcc00;
  --sunstone-text-secondary: #a88700;
  --sunstone-text-muted: #a88700;
  --sunstone-accent: #ffcc00;
  --sunstone-accent-secondary: #1eff00;
  --sunstone-accent-tertiary: #ffb000;
  --sunstone-border: #ffcc00;
  --sunstone-border-active: #ffb000;
  --sunstone-code-bg: #071526;
}
.slide[data-palette="overworld_85"], .solvin-slide.overworld_85, [data-palette="overworld_85"] {
  /* Sol.vin Theme Variables */
  --bg-color: #5c94fc;
  --bg-window: #3f78e0;
  --text-color: #ffffff;
  --text-dim: #ffffff;
  --link-color: #fcd116;
  --border-color: #ffffff;
  --border-active: #fcd116;
  --accent-color: #fcd116;
  --accent-secondary: #e52521;
  --accent-tertiary: #00a800;
  --accent-quaternary: #b84418;
  --shadow-color: #28509e;
  --cube: #ffffff;
  --cube-hover: #fcd116;
  --emoji-filter: url(#emoji-filter-overworld_85);

  /* Sunstone Modern Variables */
  --sunstone-bg: #5c94fc;
  --sunstone-surface: #3f78e0;
  --sunstone-surface-hover: #fcd116;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #ffffff;
  --sunstone-text-muted: #ffffff;
  --sunstone-accent: #fcd116;
  --sunstone-accent-secondary: #e52521;
  --sunstone-accent-tertiary: #00a800;
  --sunstone-border: #ffffff;
  --sunstone-border-active: #fcd116;
  --sunstone-code-bg: #3f78e0;
}
.slide[data-palette="mineshaft"], .solvin-slide.mineshaft, [data-palette="mineshaft"] {
  /* Sol.vin Theme Variables */
  --bg-color: #141316;
  --bg-window: #1e1e24;
  --text-color: #f0f2f5;
  --text-dim: #9aa0a6;
  --link-color: #38e6d2;
  --border-color: #38e6d2;
  --border-active: #f5a623;
  --accent-color: #38e6d2;
  --accent-secondary: #ff3333;
  --accent-tertiary: #f5a623;
  --accent-quaternary: #5b8731;
  --shadow-color: #0b0a0d;
  --cube: #f0f2f5;
  --cube-hover: #38e6d2;
  --emoji-filter: url(#emoji-filter-mineshaft);

  /* Sunstone Modern Variables */
  --sunstone-bg: #141316;
  --sunstone-surface: #1e1e24;
  --sunstone-surface-hover: #f5a623;
  --sunstone-text-primary: #f0f2f5;
  --sunstone-text-secondary: #9aa0a6;
  --sunstone-text-muted: #9aa0a6;
  --sunstone-accent: #38e6d2;
  --sunstone-accent-secondary: #ff3333;
  --sunstone-accent-tertiary: #f5a623;
  --sunstone-border: #38e6d2;
  --sunstone-border-active: #f5a623;
  --sunstone-code-bg: #1e1e24;
}
.slide[data-palette="master"], .solvin-slide.master, [data-palette="master"] {
  /* Sol.vin Theme Variables */
  --bg-color: #3d4528;
  --bg-window: #2a301b;
  --text-color: #eef2e6;
  --text-dim: #707b53;
  --link-color: #e5a823;
  --border-color: #e5a823;
  --border-active: #00e5ff;
  --accent-color: #e5a823;
  --accent-secondary: #00e5ff;
  --accent-tertiary: #7b1fa2;
  --accent-quaternary: #707b53;
  --shadow-color: #2a301b;
  --cube: #eef2e6;
  --cube-hover: #e5a823;
  --emoji-filter: url(#emoji-filter-master);

  /* Sunstone Modern Variables */
  --sunstone-bg: #3d4528;
  --sunstone-surface: #2a301b;
  --sunstone-surface-hover: #00e5ff;
  --sunstone-text-primary: #eef2e6;
  --sunstone-text-secondary: #707b53;
  --sunstone-text-muted: #707b53;
  --sunstone-accent: #e5a823;
  --sunstone-accent-secondary: #00e5ff;
  --sunstone-accent-tertiary: #7b1fa2;
  --sunstone-border: #e5a823;
  --sunstone-border-active: #00e5ff;
  --sunstone-code-bg: #2a301b;
}
.slide[data-palette="faith"], .solvin-slide.faith, [data-palette="faith"] {
  /* Sol.vin Theme Variables */
  --bg-color: #f8f9fa;
  --bg-window: #f8f9fa;
  --text-color: #212529;
  --text-dim: #6c757d;
  --link-color: #e60000;
  --border-color: #212529;
  --border-active: #e60000;
  --accent-color: #e60000;
  --accent-secondary: #00b4d8;
  --accent-tertiary: #ffcc00;
  --accent-quaternary: #6c757d;
  --shadow-color: #212529;
  --cube: #212529;
  --cube-hover: #e60000;
  --emoji-filter: url(#emoji-filter-faith);

  /* Sunstone Modern Variables */
  --sunstone-bg: #f8f9fa;
  --sunstone-surface: #f8f9fa;
  --sunstone-surface-hover: #e60000;
  --sunstone-text-primary: #212529;
  --sunstone-text-secondary: #6c757d;
  --sunstone-text-muted: #6c757d;
  --sunstone-accent: #e60000;
  --sunstone-accent-secondary: #00b4d8;
  --sunstone-accent-tertiary: #ffcc00;
  --sunstone-border: #212529;
  --sunstone-border-active: #e60000;
  --sunstone-code-bg: #f8f9fa;
}
.slide[data-palette="ash_of_ember"], .solvin-slide.ash_of_ember, [data-palette="ash_of_ember"] {
  /* Sol.vin Theme Variables */
  --bg-color: #121214;
  --bg-window: #1e1e24;
  --text-color: #f5f5f5;
  --text-dim: #78909c;
  --link-color: #d84315;
  --border-color: #d84315;
  --border-active: #ffb300;
  --accent-color: #d84315;
  --accent-secondary: #ffb300;
  --accent-tertiary: #546e7a;
  --accent-quaternary: #78909c;
  --shadow-color: #121214;
  --cube: #f5f5f5;
  --cube-hover: #d84315;
  --emoji-filter: url(#emoji-filter-ash_of_ember);

  /* Sunstone Modern Variables */
  --sunstone-bg: #121214;
  --sunstone-surface: #1e1e24;
  --sunstone-surface-hover: #ffb300;
  --sunstone-text-primary: #f5f5f5;
  --sunstone-text-secondary: #78909c;
  --sunstone-text-muted: #78909c;
  --sunstone-accent: #d84315;
  --sunstone-accent-secondary: #ffb300;
  --sunstone-accent-tertiary: #546e7a;
  --sunstone-border: #d84315;
  --sunstone-border-active: #ffb300;
  --sunstone-code-bg: #1e1e24;
}
.slide[data-palette="disturbing_the_peace"], .solvin-slide.disturbing_the_peace, [data-palette="disturbing_the_peace"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0a0a0c;
  --bg-window: #16161c;
  --text-color: #ffffff;
  --text-dim: #6e6e78;
  --link-color: #e60012;
  --border-color: #e60012;
  --border-active: #ffe600;
  --accent-color: #e60012;
  --accent-secondary: #ffe600;
  --accent-tertiary: #ffffff;
  --accent-quaternary: #6e6e78;
  --shadow-color: #0a0a0c;
  --cube: #ffffff;
  --cube-hover: #e60012;
  --emoji-filter: url(#emoji-filter-disturbing_the_peace);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0a0a0c;
  --sunstone-surface: #16161c;
  --sunstone-surface-hover: #ffe600;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #6e6e78;
  --sunstone-text-muted: #6e6e78;
  --sunstone-accent: #e60012;
  --sunstone-accent-secondary: #ffe600;
  --sunstone-accent-tertiary: #ffffff;
  --sunstone-border: #e60012;
  --sunstone-border-active: #ffe600;
  --sunstone-code-bg: #16161c;
}
.slide[data-palette="iwasbornintheusa"], .solvin-slide.iwasbornintheusa, [data-palette="iwasbornintheusa"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0c0714;
  --bg-window: #180f26;
  --text-color: #ffffff;
  --text-dim: #5e3a8c;
  --link-color: #00ffff;
  --border-color: #ff1493;
  --border-active: #00ffff;
  --accent-color: #ff1493;
  --accent-secondary: #00ffff;
  --accent-tertiary: #ffe600;
  --accent-quaternary: #5e3a8c;
  --shadow-color: #0c0714;
  --cube: #ffffff;
  --cube-hover: #ff1493;
  --emoji-filter: url(#emoji-filter-iwasbornintheusa);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0c0714;
  --sunstone-surface: #180f26;
  --sunstone-surface-hover: #00ffff;
  --sunstone-text-primary: #ffffff;
  --sunstone-text-secondary: #5e3a8c;
  --sunstone-text-muted: #5e3a8c;
  --sunstone-accent: #ff1493;
  --sunstone-accent-secondary: #00ffff;
  --sunstone-accent-tertiary: #ffe600;
  --sunstone-border: #ff1493;
  --sunstone-border-active: #00ffff;
  --sunstone-code-bg: #180f26;
}
.slide[data-palette="solarized_dark"], .solvin-slide.solarized_dark, [data-palette="solarized_dark"] {
  /* Sol.vin Theme Variables */
  --bg-color: #002b36;
  --bg-window: #073642;
  --text-color: #839496;
  --text-dim: #586e75;
  --link-color: #268bd2;
  --border-color: #586e75;
  --border-active: #2aa198;
  --accent-color: #b58900;
  --accent-secondary: #2aa198;
  --accent-tertiary: #859900;
  --accent-quaternary: #cb4b16;
  --shadow-color: #002b36;
  --cube: #839496;
  --cube-hover: #2aa198;
  --emoji-filter: url(#emoji-filter-solarized_dark);

  /* Sunstone Modern Variables */
  --sunstone-bg: #002b36;
  --sunstone-surface: #073642;
  --sunstone-surface-hover: #2aa198;
  --sunstone-text-primary: #839496;
  --sunstone-text-secondary: #586e75;
  --sunstone-text-muted: #586e75;
  --sunstone-accent: #b58900;
  --sunstone-accent-secondary: #2aa198;
  --sunstone-accent-tertiary: #859900;
  --sunstone-border: #586e75;
  --sunstone-border-active: #2aa198;
  --sunstone-code-bg: #073642;
}
.slide[data-palette="solarized_light"], .solvin-slide.solarized_light, [data-palette="solarized_light"] {
  /* Sol.vin Theme Variables */
  --bg-color: #fdf6e3;
  --bg-window: #eee8d5;
  --text-color: #657b83;
  --text-dim: #93a1a1;
  --link-color: #268bd2;
  --border-color: #93a1a1;
  --border-active: #268bd2;
  --accent-color: #cb4b16;
  --accent-secondary: #2aa198;
  --accent-tertiary: #859900;
  --accent-quaternary: #b58900;
  --shadow-color: #93a1a1;
  --cube: #657b83;
  --cube-hover: #268bd2;
  --emoji-filter: url(#emoji-filter-solarized_light);

  /* Sunstone Modern Variables */
  --sunstone-bg: #fdf6e3;
  --sunstone-surface: #eee8d5;
  --sunstone-surface-hover: #268bd2;
  --sunstone-text-primary: #657b83;
  --sunstone-text-secondary: #93a1a1;
  --sunstone-text-muted: #93a1a1;
  --sunstone-accent: #cb4b16;
  --sunstone-accent-secondary: #2aa198;
  --sunstone-accent-tertiary: #859900;
  --sunstone-border: #93a1a1;
  --sunstone-border-active: #268bd2;
  --sunstone-code-bg: #eee8d5;
}
.slide[data-palette="nord_frost"], .solvin-slide.nord_frost, [data-palette="nord_frost"] {
  /* Sol.vin Theme Variables */
  --bg-color: #2e3440;
  --bg-window: #3b4252;
  --text-color: #eceff4;
  --text-dim: #a3b1c6;
  --link-color: #88c0d0;
  --border-color: #81a1c1;
  --border-active: #88c0d0;
  --accent-color: #88c0d0;
  --accent-secondary: #a3be8c;
  --accent-tertiary: #ebcb8b;
  --accent-quaternary: #bf616a;
  --shadow-color: #2e3440;
  --cube: #eceff4;
  --cube-hover: #88c0d0;
  --emoji-filter: url(#emoji-filter-nord_frost);

  /* Sunstone Modern Variables */
  --sunstone-bg: #2e3440;
  --sunstone-surface: #3b4252;
  --sunstone-surface-hover: #88c0d0;
  --sunstone-text-primary: #eceff4;
  --sunstone-text-secondary: #a3b1c6;
  --sunstone-text-muted: #a3b1c6;
  --sunstone-accent: #88c0d0;
  --sunstone-accent-secondary: #a3be8c;
  --sunstone-accent-tertiary: #ebcb8b;
  --sunstone-border: #81a1c1;
  --sunstone-border-active: #88c0d0;
  --sunstone-code-bg: #3b4252;
}
.slide[data-palette="catppuccin_mocha"], .solvin-slide.catppuccin_mocha, [data-palette="catppuccin_mocha"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1e1e2e;
  --bg-window: #181825;
  --text-color: #cdd6f4;
  --text-dim: #a6adc8;
  --link-color: #89b4fa;
  --border-color: #cba6f7;
  --border-active: #89b4fa;
  --accent-color: #cba6f7;
  --accent-secondary: #a6e3a1;
  --accent-tertiary: #fab387;
  --accent-quaternary: #f9e2af;
  --shadow-color: #11111b;
  --cube: #cdd6f4;
  --cube-hover: #89b4fa;
  --emoji-filter: url(#emoji-filter-catppuccin_mocha);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1e1e2e;
  --sunstone-surface: #181825;
  --sunstone-surface-hover: #89b4fa;
  --sunstone-text-primary: #cdd6f4;
  --sunstone-text-secondary: #a6adc8;
  --sunstone-text-muted: #a6adc8;
  --sunstone-accent: #cba6f7;
  --sunstone-accent-secondary: #a6e3a1;
  --sunstone-accent-tertiary: #fab387;
  --sunstone-border: #cba6f7;
  --sunstone-border-active: #89b4fa;
  --sunstone-code-bg: #181825;
}
.slide[data-palette="vampire_count"], .solvin-slide.vampire_count, [data-palette="vampire_count"] {
  /* Sol.vin Theme Variables */
  --bg-color: #282a36;
  --bg-window: #44475a;
  --text-color: #f8f8f2;
  --text-dim: #6272a4;
  --link-color: #8be9fd;
  --border-color: #bd93f9;
  --border-active: #ff79c6;
  --accent-color: #ff79c6;
  --accent-secondary: #50fa7b;
  --accent-tertiary: #ffb86c;
  --accent-quaternary: #f1fa8c;
  --shadow-color: #282a36;
  --cube: #f8f8f2;
  --cube-hover: #8be9fd;
  --emoji-filter: url(#emoji-filter-vampire_count);

  /* Sunstone Modern Variables */
  --sunstone-bg: #282a36;
  --sunstone-surface: #44475a;
  --sunstone-surface-hover: #ff79c6;
  --sunstone-text-primary: #f8f8f2;
  --sunstone-text-secondary: #6272a4;
  --sunstone-text-muted: #6272a4;
  --sunstone-accent: #ff79c6;
  --sunstone-accent-secondary: #50fa7b;
  --sunstone-accent-tertiary: #ffb86c;
  --sunstone-border: #bd93f9;
  --sunstone-border-active: #ff79c6;
  --sunstone-code-bg: #44475a;
}
.slide[data-palette="retro_groove"], .solvin-slide.retro_groove, [data-palette="retro_groove"] {
  /* Sol.vin Theme Variables */
  --bg-color: #282828;
  --bg-window: #3c3836;
  --text-color: #ebdbb2;
  --text-dim: #a89984;
  --link-color: #83a598;
  --border-color: #fabd2f;
  --border-active: #8ec07c;
  --accent-color: #fe8019;
  --accent-secondary: #b8bb26;
  --accent-tertiary: #fabd2f;
  --accent-quaternary: #d3869b;
  --shadow-color: #282828;
  --cube: #ebdbb2;
  --cube-hover: #8ec07c;
  --emoji-filter: url(#emoji-filter-retro_groove);

  /* Sunstone Modern Variables */
  --sunstone-bg: #282828;
  --sunstone-surface: #3c3836;
  --sunstone-surface-hover: #8ec07c;
  --sunstone-text-primary: #ebdbb2;
  --sunstone-text-secondary: #a89984;
  --sunstone-text-muted: #a89984;
  --sunstone-accent: #fe8019;
  --sunstone-accent-secondary: #b8bb26;
  --sunstone-accent-tertiary: #fabd2f;
  --sunstone-border: #fabd2f;
  --sunstone-border-active: #8ec07c;
  --sunstone-code-bg: #3c3836;
}
.slide[data-palette="tokyo_midnight"], .solvin-slide.tokyo_midnight, [data-palette="tokyo_midnight"] {
  /* Sol.vin Theme Variables */
  --bg-color: #1a1b26;
  --bg-window: #24283b;
  --text-color: #c0caf5;
  --text-dim: #565f89;
  --link-color: #7dcfff;
  --border-color: #7aa2f7;
  --border-active: #7dcfff;
  --accent-color: #bb9af7;
  --accent-secondary: #73daca;
  --accent-tertiary: #ff9e64;
  --accent-quaternary: #e0af68;
  --shadow-color: #1a1b26;
  --cube: #c0caf5;
  --cube-hover: #7dcfff;
  --emoji-filter: url(#emoji-filter-tokyo_midnight);

  /* Sunstone Modern Variables */
  --sunstone-bg: #1a1b26;
  --sunstone-surface: #24283b;
  --sunstone-surface-hover: #7dcfff;
  --sunstone-text-primary: #c0caf5;
  --sunstone-text-secondary: #565f89;
  --sunstone-text-muted: #565f89;
  --sunstone-accent: #bb9af7;
  --sunstone-accent-secondary: #73daca;
  --sunstone-accent-tertiary: #ff9e64;
  --sunstone-border: #7aa2f7;
  --sunstone-border-active: #7dcfff;
  --sunstone-code-bg: #24283b;
}
.slide[data-palette="dawnbringer_16"], .solvin-slide.dawnbringer_16, [data-palette="dawnbringer_16"] {
  /* Sol.vin Theme Variables */
  --bg-color: #140c1c;
  --bg-window: #30346d;
  --text-color: #deeed6;
  --text-dim: #8595a1;
  --link-color: #6dc2ca;
  --border-color: #597dce;
  --border-active: #6dc2ca;
  --accent-color: #dad45e;
  --accent-secondary: #6daa2c;
  --accent-tertiary: #d04648;
  --accent-quaternary: #d27d2c;
  --shadow-color: #140c1c;
  --cube: #deeed6;
  --cube-hover: #6dc2ca;
  --emoji-filter: url(#emoji-filter-dawnbringer_16);

  /* Sunstone Modern Variables */
  --sunstone-bg: #140c1c;
  --sunstone-surface: #30346d;
  --sunstone-surface-hover: #6dc2ca;
  --sunstone-text-primary: #deeed6;
  --sunstone-text-secondary: #8595a1;
  --sunstone-text-muted: #8595a1;
  --sunstone-accent: #dad45e;
  --sunstone-accent-secondary: #6daa2c;
  --sunstone-accent-tertiary: #d04648;
  --sunstone-border: #597dce;
  --sunstone-border-active: #6dc2ca;
  --sunstone-code-bg: #30346d;
}
.slide[data-palette="endesga_32"], .solvin-slide.endesga_32, [data-palette="endesga_32"] {
  /* Sol.vin Theme Variables */
  --bg-color: #0d080d;
  --bg-window: #1f1624;
  --text-color: #eef4f4;
  --text-dim: #756c7d;
  --link-color: #73a7c4;
  --border-color: #7f4e82;
  --border-active: #73a7c4;
  --accent-color: #edd666;
  --accent-secondary: #4fb377;
  --accent-tertiary: #f05b5b;
  --accent-quaternary: #756c7d;
  --shadow-color: #0d080d;
  --cube: #eef4f4;
  --cube-hover: #73a7c4;
  --emoji-filter: url(#emoji-filter-endesga_32);

  /* Sunstone Modern Variables */
  --sunstone-bg: #0d080d;
  --sunstone-surface: #1f1624;
  --sunstone-surface-hover: #73a7c4;
  --sunstone-text-primary: #eef4f4;
  --sunstone-text-secondary: #756c7d;
  --sunstone-text-muted: #756c7d;
  --sunstone-accent: #edd666;
  --sunstone-accent-secondary: #4fb377;
  --sunstone-accent-tertiary: #f05b5b;
  --sunstone-border: #7f4e82;
  --sunstone-border-active: #73a7c4;
  --sunstone-code-bg: #1f1624;
}
