/* Light Theme (Default) */
:root {
  /* Header / Navbar — decoupled from the page theme so the always-dark
     header keeps consistent, readable colours when toggling light/dark.
     These are intentionally NOT overridden in the dark theme. */
  --navbar-bg: linear-gradient(135deg, #0f3460 0%, #164577 100%);
  --navbar-text: #f0f0f0;
  --navbar-text-hover: #66b2ff;
  --navbar-brand: #ffffff;

  /* Accent Colours - adjusted for WCAG AA compliance */
  --accent-blue: #0066cc;
  --accent-purple: #3b3b3b;
  --accent-teal: #0088aa;
  
  /* Background Colours */
  --bg-primary: #ffecdd;
  --bg-secondary: #f3e9d5;
  --bg-tertiary: #efede9;
  
  /* Text Colours */
  --text-primary: #012000;
  --text-secondary: #012000;
  --text-muted: #012000;

  /* On-Colour Text (text placed over accent/gradient backgrounds) */
  --text-on-accent: #012000;
  --text-on-gradient: #ffffff;
  --focus-ring: rgba(0, 102, 204, 0.25);
  
  /* Border & Divider */
  --border-color: #dee2e6;
  --divider-color: #e9ecef;
  /* Contrasting divider: uses the dark theme's background in light mode */
  --divider-strong: #091f00;
  
  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16);
  
  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #0f3460 0%, #164577 100%);
  --gradient-accent: linear-gradient(135deg, #1900ff85 0%, #9e9e9e 100%);
  
  /* Spacing & Layout */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  
  /* Transitions */
  --transition-fast: all 0.2s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
}

/* Dark Theme */
[data-theme="dark"] {
  
  /* Background Colours */
  --bg-primary: #000c35e6;
  --bg-secondary: #2b3863e6;
  --bg-tertiary: #000c35e6;
  
  /* Text Colours */
  --text-primary: #f0f0f0;
  --text-secondary: #c2c2c2;
  --text-muted: #ffecdd;

  /* On-Colour Text (text placed over accent/gradient backgrounds) */
  --text-on-accent: #ffffff;
  --text-on-gradient: #ffffff;
  --focus-ring: rgb(255, 255, 255);
  
  /* Border & Divider */
  --border-color: #333333;
  --divider-color: #2a2a2a;
  /* Contrasting divider: uses the light theme's background in dark mode */
  --divider-strong: #ffecdd;
  
  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
  
  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #1a2f4a 0%, #2a4070 100%);
  --gradient-accent: linear-gradient(135deg, #1900ff85 0%, #3f3f3f 100%);
  
  /* Spacing & Layout */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  
  /* Transitions */
  --transition-fast: all 0.2s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
  --transition-slow: all 0.5s ease-in-out;
}

/* Apply theme to body and common elements */
html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: var(--transition-slow);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
}

/* Links */
a {
  color: var(--accent-blue);
  text-decoration: none;
  transition: var(--transition-fast);
}

a:hover {
  color: var(--accent-purple);
  text-decoration: underline;
}

/* Buttons */
.btn {
  transition: var(--transition-fast);
  border-radius: var(--border-radius-md);
  font-weight: 600;
}

.btn-primary {
  background: transparent;
  border: 2px solid var(--accent-blue);
  color: var(--accent-blue);
}

.btn-primary:hover {
  background: var(--accent-blue);
  border-color: var(--accent-blue);
  color: var(--text-on-accent);
}

.btn-secondary {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.btn-secondary:hover {
  background-color: var(--border-color);
}

/* Cards */
.card {
  --bs-card-bg: var(--bg-secondary);
  --bs-card-color: var(--text-primary);
  --bs-card-border-color: var(--border-color);
  --bs-card-cap-bg: var(--bg-tertiary);
  --bs-card-cap-color: var(--text-primary);
  --bs-card-title-color: var(--text-primary);
  --bs-card-subtitle-color: var(--text-secondary);

  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-md);
  transition: var(--transition-normal);

  background-image: var(--card-art);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

/* Navbar */
.navbar {
  background: var(--navbar-bg) !important;
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(10px);
}

.navbar-brand {
  color: var(--navbar-brand) !important;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.nav-link {
  color: var(--navbar-text) !important;
  transition: var(--transition-fast);
  position: relative;
}

.nav-link:hover {
  color: var(--navbar-text-hover) !important;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--navbar-text-hover);
  transition: var(--transition-fast);
}

.nav-link:hover::after {
  width: 100%;
}

/* Footer */
footer {
  background-color: var(--bg-secondary);
  border-top: 1px solid var(--border-color);
  color: var(--text-secondary);
}

footer a {
  color: var(--text-secondary);
  transition: var(--transition-fast);
}

footer a:hover {
  color: var(--accent-blue);
  text-decoration: none;
}

/* Badges */
.badge {
  border-radius: var(--border-radius-md);
  padding: 0.5em 0.75em;
  font-weight: 600;
}

.badge-primary {
  background: var(--gradient-accent);
  color: var(--text-on-gradient);
}

/* Form inputs */
.form-control,
.form-select {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  transition: var(--transition-fast);
}

.form-control:focus,
.form-select:focus {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--accent-blue);
  box-shadow: 0 0 0 0.2rem var(--focus-ring);
}

.form-control::placeholder {
  color: var(--text-muted);
}

/* Code blocks */
code {
  background-color: var(--bg-tertiary);
  color: var(--accent-teal);
  padding: 0.2em 0.4em;
  border-radius: var(--border-radius-sm);
  font-family: 'Courier New', monospace;
}

pre {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
  padding: 1rem;
  border-radius: var(--border-radius-md);
  overflow-x: auto;
  border: 1px solid var(--border-color);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
  font-weight: 700;
}

h1 {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
}

h2 {
  font-size: 2rem;
  margin-bottom: 1.25rem;
}

h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

/* Horizontal rule */
hr {
  border-color: var(--divider-color);
  opacity: 1;
}

/* Utility classes */
.text-muted {
  color: var(--text-muted) !important;
}

.text-secondary {
  color: var(--text-secondary) !important;
}

.list-group-item {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

.bg-light {
  background-color: var(--bg-secondary) !important;
}

.bg-dark {
  background-color: var(--bg-primary) !important;
}

.border {
  border-color: var(--border-color) !important;
}

/* Card background art: Kings College Chapel + circuit line/dot watermark */
/* Theme-aware via --card-art; variant switch via [data-card-art] on <html>. */
:root {
  --card-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20480%20300%27%20preserveAspectRatio%3D%27xMidYMid%20slice%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%231a1a1a%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-opacity%3D%270.07%27%3E%3Cpath%20d%3D%27M40%20242%20H440%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M160%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M200%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M240%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M280%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M320%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M360%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M128%20232%20V178%20M152%20232%20V178%20M128%20232%20H152%20M128%20178%20L140%20158%20L152%20178%20M140%20232%20V158%20M128%20205%20H152%27%2F%3E%3Cpath%20d%3D%27M168%20232%20V178%20M192%20232%20V178%20M168%20232%20H192%20M168%20178%20L180%20158%20L192%20178%20M180%20232%20V158%20M168%20205%20H192%27%2F%3E%3Cpath%20d%3D%27M208%20232%20V178%20M232%20232%20V178%20M208%20232%20H232%20M208%20178%20L220%20158%20L232%20178%20M220%20232%20V158%20M208%20205%20H232%27%2F%3E%3Cpath%20d%3D%27M248%20232%20V178%20M272%20232%20V178%20M248%20232%20H272%20M248%20178%20L260%20158%20L272%20178%20M260%20232%20V158%20M248%20205%20H272%27%2F%3E%3Cpath%20d%3D%27M288%20232%20V178%20M312%20232%20V178%20M288%20232%20H312%20M288%20178%20L300%20158%20L312%20178%20M300%20232%20V158%20M288%20205%20H312%27%2F%3E%3Cpath%20d%3D%27M328%20232%20V178%20M352%20232%20V178%20M328%20232%20H352%20M328%20178%20L340%20158%20L352%20178%20M340%20232%20V158%20M328%20205%20H352%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V124%20H140%20V132%20H160%20V124%20H180%20V132%20H200%20V124%20H220%20V132%20H240%20V124%20H260%20V132%20H280%20V124%20H300%20V132%20H320%20V124%20H340%20V132%20H360%20V124%27%2F%3E%3Cpath%20d%3D%27M115%20132%20V96%20M125%20132%20V96%20M115%2096%20H125%20M115%2096%20L120%2078%20L125%2096%27%2F%3E%3Cpath%20d%3D%27M156%20132%20V108%20M164%20132%20V108%20M156%20108%20H164%20M156%20108%20L160%2094%20L164%20108%27%2F%3E%3Cpath%20d%3D%27M196%20132%20V108%20M204%20132%20V108%20M196%20108%20H204%20M196%20108%20L200%2094%20L204%20108%27%2F%3E%3Cpath%20d%3D%27M236%20132%20V108%20M244%20132%20V108%20M236%20108%20H244%20M236%20108%20L240%2094%20L244%20108%27%2F%3E%3Cpath%20d%3D%27M276%20132%20V108%20M284%20132%20V108%20M276%20108%20H284%20M276%20108%20L280%2094%20L284%20108%27%2F%3E%3Cpath%20d%3D%27M316%20132%20V108%20M324%20132%20V108%20M316%20108%20H324%20M316%20108%20L320%2094%20L324%20108%27%2F%3E%3Cpath%20d%3D%27M355%20132%20V96%20M365%20132%20V96%20M355%2096%20H365%20M355%2096%20L360%2078%20L365%2096%27%2F%3E%3Cpath%20d%3D%27M200%2094%20V60%20H150%27%2F%3E%3Cpath%20d%3D%27M280%2094%20V52%20H360%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H300%20V24%27%2F%3E%3Cpath%20d%3D%27M120%20108%20V70%20H90%27%2F%3E%3Cpath%20d%3D%27M340%20108%20V84%20H410%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%2760%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.09000000000000001%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27360%27%20cy%3D%2752%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.09000000000000001%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2724%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.09000000000000001%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2790%27%20cy%3D%2770%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.09000000000000001%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27410%27%20cy%3D%2784%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.09000000000000001%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
}
:root[data-theme="dark"] {
  --card-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20480%20300%27%20preserveAspectRatio%3D%27xMidYMid%20slice%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23f0f0f0%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-opacity%3D%270.09%27%3E%3Cpath%20d%3D%27M40%20242%20H440%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M160%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M200%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M240%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M280%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M320%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M360%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M128%20232%20V178%20M152%20232%20V178%20M128%20232%20H152%20M128%20178%20L140%20158%20L152%20178%20M140%20232%20V158%20M128%20205%20H152%27%2F%3E%3Cpath%20d%3D%27M168%20232%20V178%20M192%20232%20V178%20M168%20232%20H192%20M168%20178%20L180%20158%20L192%20178%20M180%20232%20V158%20M168%20205%20H192%27%2F%3E%3Cpath%20d%3D%27M208%20232%20V178%20M232%20232%20V178%20M208%20232%20H232%20M208%20178%20L220%20158%20L232%20178%20M220%20232%20V158%20M208%20205%20H232%27%2F%3E%3Cpath%20d%3D%27M248%20232%20V178%20M272%20232%20V178%20M248%20232%20H272%20M248%20178%20L260%20158%20L272%20178%20M260%20232%20V158%20M248%20205%20H272%27%2F%3E%3Cpath%20d%3D%27M288%20232%20V178%20M312%20232%20V178%20M288%20232%20H312%20M288%20178%20L300%20158%20L312%20178%20M300%20232%20V158%20M288%20205%20H312%27%2F%3E%3Cpath%20d%3D%27M328%20232%20V178%20M352%20232%20V178%20M328%20232%20H352%20M328%20178%20L340%20158%20L352%20178%20M340%20232%20V158%20M328%20205%20H352%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V124%20H140%20V132%20H160%20V124%20H180%20V132%20H200%20V124%20H220%20V132%20H240%20V124%20H260%20V132%20H280%20V124%20H300%20V132%20H320%20V124%20H340%20V132%20H360%20V124%27%2F%3E%3Cpath%20d%3D%27M115%20132%20V96%20M125%20132%20V96%20M115%2096%20H125%20M115%2096%20L120%2078%20L125%2096%27%2F%3E%3Cpath%20d%3D%27M156%20132%20V108%20M164%20132%20V108%20M156%20108%20H164%20M156%20108%20L160%2094%20L164%20108%27%2F%3E%3Cpath%20d%3D%27M196%20132%20V108%20M204%20132%20V108%20M196%20108%20H204%20M196%20108%20L200%2094%20L204%20108%27%2F%3E%3Cpath%20d%3D%27M236%20132%20V108%20M244%20132%20V108%20M236%20108%20H244%20M236%20108%20L240%2094%20L244%20108%27%2F%3E%3Cpath%20d%3D%27M276%20132%20V108%20M284%20132%20V108%20M276%20108%20H284%20M276%20108%20L280%2094%20L284%20108%27%2F%3E%3Cpath%20d%3D%27M316%20132%20V108%20M324%20132%20V108%20M316%20108%20H324%20M316%20108%20L320%2094%20L324%20108%27%2F%3E%3Cpath%20d%3D%27M355%20132%20V96%20M365%20132%20V96%20M355%2096%20H365%20M355%2096%20L360%2078%20L365%2096%27%2F%3E%3Cpath%20d%3D%27M200%2094%20V60%20H150%27%2F%3E%3Cpath%20d%3D%27M280%2094%20V52%20H360%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H300%20V24%27%2F%3E%3Cpath%20d%3D%27M120%20108%20V70%20H90%27%2F%3E%3Cpath%20d%3D%27M340%20108%20V84%20H410%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%2760%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.11%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27360%27%20cy%3D%2752%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.11%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2724%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.11%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2790%27%20cy%3D%2770%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.11%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27410%27%20cy%3D%2784%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.11%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
}
:root[data-card-art="dense"] {
  --card-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20480%20300%27%20preserveAspectRatio%3D%27xMidYMid%20slice%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%231a1a1a%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-opacity%3D%270.06%27%3E%3Cpath%20d%3D%27M40%20242%20H440%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M160%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M200%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M240%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M280%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M320%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M360%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M128%20232%20V178%20M152%20232%20V178%20M128%20232%20H152%20M128%20178%20L140%20158%20L152%20178%20M140%20232%20V158%20M128%20205%20H152%27%2F%3E%3Cpath%20d%3D%27M168%20232%20V178%20M192%20232%20V178%20M168%20232%20H192%20M168%20178%20L180%20158%20L192%20178%20M180%20232%20V158%20M168%20205%20H192%27%2F%3E%3Cpath%20d%3D%27M208%20232%20V178%20M232%20232%20V178%20M208%20232%20H232%20M208%20178%20L220%20158%20L232%20178%20M220%20232%20V158%20M208%20205%20H232%27%2F%3E%3Cpath%20d%3D%27M248%20232%20V178%20M272%20232%20V178%20M248%20232%20H272%20M248%20178%20L260%20158%20L272%20178%20M260%20232%20V158%20M248%20205%20H272%27%2F%3E%3Cpath%20d%3D%27M288%20232%20V178%20M312%20232%20V178%20M288%20232%20H312%20M288%20178%20L300%20158%20L312%20178%20M300%20232%20V158%20M288%20205%20H312%27%2F%3E%3Cpath%20d%3D%27M328%20232%20V178%20M352%20232%20V178%20M328%20232%20H352%20M328%20178%20L340%20158%20L352%20178%20M340%20232%20V158%20M328%20205%20H352%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V124%20H140%20V132%20H160%20V124%20H180%20V132%20H200%20V124%20H220%20V132%20H240%20V124%20H260%20V132%20H280%20V124%20H300%20V132%20H320%20V124%20H340%20V132%20H360%20V124%27%2F%3E%3Cpath%20d%3D%27M115%20132%20V96%20M125%20132%20V96%20M115%2096%20H125%20M115%2096%20L120%2078%20L125%2096%27%2F%3E%3Cpath%20d%3D%27M156%20132%20V108%20M164%20132%20V108%20M156%20108%20H164%20M156%20108%20L160%2094%20L164%20108%27%2F%3E%3Cpath%20d%3D%27M196%20132%20V108%20M204%20132%20V108%20M196%20108%20H204%20M196%20108%20L200%2094%20L204%20108%27%2F%3E%3Cpath%20d%3D%27M236%20132%20V108%20M244%20132%20V108%20M236%20108%20H244%20M236%20108%20L240%2094%20L244%20108%27%2F%3E%3Cpath%20d%3D%27M276%20132%20V108%20M284%20132%20V108%20M276%20108%20H284%20M276%20108%20L280%2094%20L284%20108%27%2F%3E%3Cpath%20d%3D%27M316%20132%20V108%20M324%20132%20V108%20M316%20108%20H324%20M316%20108%20L320%2094%20L324%20108%27%2F%3E%3Cpath%20d%3D%27M355%20132%20V96%20M365%20132%20V96%20M355%2096%20H365%20M355%2096%20L360%2078%20L365%2096%27%2F%3E%3Cpath%20d%3D%27M200%2094%20V60%20H150%27%2F%3E%3Cpath%20d%3D%27M280%2094%20V52%20H360%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H300%20V24%27%2F%3E%3Cpath%20d%3D%27M120%20108%20V70%20H90%27%2F%3E%3Cpath%20d%3D%27M340%20108%20V84%20H410%27%2F%3E%3Cpath%20d%3D%27M60%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M120%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M180%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M240%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M300%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M360%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M420%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%2070%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%20100%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M240%2094%20V40%20H180%27%2F%3E%3Cpath%20d%3D%27M300%20108%20V66%20H250%27%2F%3E%3Cpath%20d%3D%27M160%20108%20V48%20H110%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%2760%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27360%27%20cy%3D%2752%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2724%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2790%27%20cy%3D%2770%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27410%27%20cy%3D%2784%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%2740%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27250%27%20cy%3D%2766%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27110%27%20cy%3D%2748%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27420%27%20cy%3D%27100%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2760%27%20cy%3D%27110%27%20r%3D%273%27%20fill%3D%27%231a1a1a%27%20fill-opacity%3D%270.08%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
}
:root[data-theme="dark"][data-card-art="dense"] {
  --card-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20480%20300%27%20preserveAspectRatio%3D%27xMidYMid%20slice%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23f0f0f0%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-opacity%3D%270.08%27%3E%3Cpath%20d%3D%27M40%20242%20H440%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M160%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M200%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M240%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M280%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M320%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M360%20132%20V242%27%2F%3E%3Cpath%20d%3D%27M128%20232%20V178%20M152%20232%20V178%20M128%20232%20H152%20M128%20178%20L140%20158%20L152%20178%20M140%20232%20V158%20M128%20205%20H152%27%2F%3E%3Cpath%20d%3D%27M168%20232%20V178%20M192%20232%20V178%20M168%20232%20H192%20M168%20178%20L180%20158%20L192%20178%20M180%20232%20V158%20M168%20205%20H192%27%2F%3E%3Cpath%20d%3D%27M208%20232%20V178%20M232%20232%20V178%20M208%20232%20H232%20M208%20178%20L220%20158%20L232%20178%20M220%20232%20V158%20M208%20205%20H232%27%2F%3E%3Cpath%20d%3D%27M248%20232%20V178%20M272%20232%20V178%20M248%20232%20H272%20M248%20178%20L260%20158%20L272%20178%20M260%20232%20V158%20M248%20205%20H272%27%2F%3E%3Cpath%20d%3D%27M288%20232%20V178%20M312%20232%20V178%20M288%20232%20H312%20M288%20178%20L300%20158%20L312%20178%20M300%20232%20V158%20M288%20205%20H312%27%2F%3E%3Cpath%20d%3D%27M328%20232%20V178%20M352%20232%20V178%20M328%20232%20H352%20M328%20178%20L340%20158%20L352%20178%20M340%20232%20V158%20M328%20205%20H352%27%2F%3E%3Cpath%20d%3D%27M120%20132%20V124%20H140%20V132%20H160%20V124%20H180%20V132%20H200%20V124%20H220%20V132%20H240%20V124%20H260%20V132%20H280%20V124%20H300%20V132%20H320%20V124%20H340%20V132%20H360%20V124%27%2F%3E%3Cpath%20d%3D%27M115%20132%20V96%20M125%20132%20V96%20M115%2096%20H125%20M115%2096%20L120%2078%20L125%2096%27%2F%3E%3Cpath%20d%3D%27M156%20132%20V108%20M164%20132%20V108%20M156%20108%20H164%20M156%20108%20L160%2094%20L164%20108%27%2F%3E%3Cpath%20d%3D%27M196%20132%20V108%20M204%20132%20V108%20M196%20108%20H204%20M196%20108%20L200%2094%20L204%20108%27%2F%3E%3Cpath%20d%3D%27M236%20132%20V108%20M244%20132%20V108%20M236%20108%20H244%20M236%20108%20L240%2094%20L244%20108%27%2F%3E%3Cpath%20d%3D%27M276%20132%20V108%20M284%20132%20V108%20M276%20108%20H284%20M276%20108%20L280%2094%20L284%20108%27%2F%3E%3Cpath%20d%3D%27M316%20132%20V108%20M324%20132%20V108%20M316%20108%20H324%20M316%20108%20L320%2094%20L324%20108%27%2F%3E%3Cpath%20d%3D%27M355%20132%20V96%20M365%20132%20V96%20M355%2096%20H365%20M355%2096%20L360%2078%20L365%2096%27%2F%3E%3Cpath%20d%3D%27M200%2094%20V60%20H150%27%2F%3E%3Cpath%20d%3D%27M280%2094%20V52%20H360%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H300%20V24%27%2F%3E%3Cpath%20d%3D%27M120%20108%20V70%20H90%27%2F%3E%3Cpath%20d%3D%27M340%20108%20V84%20H410%27%2F%3E%3Cpath%20d%3D%27M60%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M120%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M180%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M240%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M300%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M360%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M420%2020%20V120%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%2040%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%2070%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M40%20100%20H440%27%20stroke-opacity%3D%270.5%27%2F%3E%3Cpath%20d%3D%27M240%2094%20V40%20H180%27%2F%3E%3Cpath%20d%3D%27M300%20108%20V66%20H250%27%2F%3E%3Cpath%20d%3D%27M160%20108%20V48%20H110%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%2760%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27360%27%20cy%3D%2752%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27300%27%20cy%3D%2724%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2790%27%20cy%3D%2770%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27410%27%20cy%3D%2784%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%2740%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27250%27%20cy%3D%2766%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27110%27%20cy%3D%2748%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27420%27%20cy%3D%27100%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%2760%27%20cy%3D%27110%27%20r%3D%273%27%20fill%3D%27%23f0f0f0%27%20fill-opacity%3D%270.1%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
}
