:root, :host {
  --em-paper: #fffaf3;
  --em-surface: #ffffff;
  --em-paper-warm: #fef1e0;
  --em-peach: #fbe0c7;
  --em-peach-deep: #f3cfa9;
  --em-ink: #1f2566;
  --em-text: #2a2a3a;
  --em-muted: #55576a;
  --em-line: #eadfce;
  --em-line-strong: #d8c8b0;
  --em-terracotta: #a3452a;
  --em-band: #323b8d;
  --em-band-raised: rgba(255, 255, 255, 0.08);
  --em-band-line: rgba(255, 255, 255, 0.16);
  --em-band-text: #ffffff;
  --em-band-muted: #d6daf3;
  --em-header: rgba(255, 250, 243, 0.9);
  --em-veil: rgba(20, 22, 43, 0.86);
  --em-shadow: 0 18px 40px -22px rgba(31, 37, 102, 0.45);
  --em-disc-rim: #cfd5ef;
  --em-map-land: #f2ead9;
  --em-map-hill: #e7ecd9;
  --em-map-river: #b9c4ec;
  --em-glow-warm: rgba(251, 196, 150, 0.6);
  --em-glow-cool: rgba(150, 164, 236, 0.42);
  --em-sheen: rgba(255, 255, 255, 0.36);
  --em-shadow-lift: 0 34px 60px -28px rgba(31, 37, 102, 0.6);
  --em-grain: 0.07;
  --em-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --em-spring: cubic-bezier(0.3, 1.4, 0.5, 1);
  --em-action: #323b8d;
  --em-action-hover: #272f78;
  --em-action-text: #ffffff;
  --em-link: #323b8d;
  --em-accent: #323b8d;
  --em-accent-soft: #e9ebf7;
  --em-focus: 0 0 0 4px rgba(50, 59, 141, 0.35);
}
@media (prefers-color-scheme: dark) {
  :root, :host {
    --em-paper: #13152b;
    --em-surface: #1b1e3a;
    --em-paper-warm: #1f2242;
    --em-peach: #3a3047;
    --em-peach-deep: #4a3c52;
    --em-ink: #f6efe4;
    --em-text: #e7e3dc;
    --em-muted: #b9b7c9;
    --em-line: #2c3054;
    --em-line-strong: #3d4270;
    --em-terracotta: #f0a58a;
    --em-band: #1c2152;
    --em-band-raised: rgba(255, 255, 255, 0.06);
    --em-band-line: rgba(255, 255, 255, 0.12);
    --em-band-text: #f6efe4;
    --em-band-muted: #c3c8ea;
    --em-header: rgba(19, 21, 43, 0.88);
    --em-veil: rgba(6, 7, 18, 0.92);
    --em-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.8);
    --em-disc-rim: #3b4589;
    --em-map-land: #1b1e3a;
    --em-map-hill: #1f2a3a;
    --em-map-river: #3b4a8f;
    --em-glow-warm: rgba(240, 165, 138, 0.17);
    --em-glow-cool: rgba(104, 120, 232, 0.3);
    --em-sheen: rgba(255, 255, 255, 0.1);
    --em-shadow-lift: 0 34px 60px -26px rgba(0, 0, 0, 0.9);
    --em-grain: 0.11;
    --em-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --em-spring: cubic-bezier(0.3, 1.4, 0.5, 1);
    --em-action: #fbe0c7;
    --em-action-hover: #ffeedd;
    --em-action-text: #1f2566;
    --em-link: #c6cdff;
    --em-accent: #c6cdff;
    --em-accent-soft: #262b55;
    --em-focus: 0 0 0 4px rgba(251, 224, 199, 0.45);
  }
}
:root[data-theme="light"], :host([data-theme="light"]) {
  --em-paper: #fffaf3;
  --em-surface: #ffffff;
  --em-paper-warm: #fef1e0;
  --em-peach: #fbe0c7;
  --em-peach-deep: #f3cfa9;
  --em-ink: #1f2566;
  --em-text: #2a2a3a;
  --em-muted: #55576a;
  --em-line: #eadfce;
  --em-line-strong: #d8c8b0;
  --em-terracotta: #a3452a;
  --em-band: #323b8d;
  --em-band-raised: rgba(255, 255, 255, 0.08);
  --em-band-line: rgba(255, 255, 255, 0.16);
  --em-band-text: #ffffff;
  --em-band-muted: #d6daf3;
  --em-header: rgba(255, 250, 243, 0.9);
  --em-veil: rgba(20, 22, 43, 0.86);
  --em-shadow: 0 18px 40px -22px rgba(31, 37, 102, 0.45);
  --em-disc-rim: #cfd5ef;
  --em-map-land: #f2ead9;
  --em-map-hill: #e7ecd9;
  --em-map-river: #b9c4ec;
  --em-glow-warm: rgba(251, 196, 150, 0.6);
  --em-glow-cool: rgba(150, 164, 236, 0.42);
  --em-sheen: rgba(255, 255, 255, 0.36);
  --em-shadow-lift: 0 34px 60px -28px rgba(31, 37, 102, 0.6);
  --em-grain: 0.07;
  --em-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --em-spring: cubic-bezier(0.3, 1.4, 0.5, 1);
  --em-action: #323b8d;
  --em-action-hover: #272f78;
  --em-action-text: #ffffff;
  --em-link: #323b8d;
  --em-accent: #323b8d;
  --em-accent-soft: #e9ebf7;
  --em-focus: 0 0 0 4px rgba(50, 59, 141, 0.35);
}
:root[data-theme="dark"], :host([data-theme="dark"]) {
  --em-paper: #13152b;
  --em-surface: #1b1e3a;
  --em-paper-warm: #1f2242;
  --em-peach: #3a3047;
  --em-peach-deep: #4a3c52;
  --em-ink: #f6efe4;
  --em-text: #e7e3dc;
  --em-muted: #b9b7c9;
  --em-line: #2c3054;
  --em-line-strong: #3d4270;
  --em-terracotta: #f0a58a;
  --em-band: #1c2152;
  --em-band-raised: rgba(255, 255, 255, 0.06);
  --em-band-line: rgba(255, 255, 255, 0.12);
  --em-band-text: #f6efe4;
  --em-band-muted: #c3c8ea;
  --em-header: rgba(19, 21, 43, 0.88);
  --em-veil: rgba(6, 7, 18, 0.92);
  --em-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.8);
  --em-disc-rim: #3b4589;
  --em-map-land: #1b1e3a;
  --em-map-hill: #1f2a3a;
  --em-map-river: #3b4a8f;
  --em-glow-warm: rgba(240, 165, 138, 0.17);
  --em-glow-cool: rgba(104, 120, 232, 0.3);
  --em-sheen: rgba(255, 255, 255, 0.1);
  --em-shadow-lift: 0 34px 60px -26px rgba(0, 0, 0, 0.9);
  --em-grain: 0.11;
  --em-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --em-spring: cubic-bezier(0.3, 1.4, 0.5, 1);
  --em-action: #fbe0c7;
  --em-action-hover: #ffeedd;
  --em-action-text: #1f2566;
  --em-link: #c6cdff;
  --em-accent: #c6cdff;
  --em-accent-soft: #262b55;
  --em-focus: 0 0 0 4px rgba(251, 224, 199, 0.45);
}
