/* Optional tokens retain the original green light palette in existing styles. */
:root {
 --ink:var(--theme-ink,#344b39);--ink-deep:var(--theme-ink,#203329);--muted:var(--theme-muted,#89917d);
 --paper:var(--theme-bg,#f7f7f2);--white:var(--theme-surface,#fdfdf9);--line:var(--theme-line,#e1e7d7);
 --accent:var(--theme-accent,#61794f);--rail:var(--theme-rail,#293b32);
 --gold:var(--theme-gold-text,#bd9658);--red:var(--theme-danger-text,#aa6250);
 --appearance-surface:var(--theme-surface,#fdfdf9);--appearance-raised:var(--theme-raised,#edf2e3);
 --appearance-accent:var(--theme-accent,#61794f);--appearance-muted:var(--theme-muted,#6b7b5c);
 color-scheme:light;
}
:root[data-appearance="dark"] { color-scheme:dark; }

/* A compact selector stays available in the header and on the account screen. */
.topbar { position:relative; }
.topbar:has(.appearance-menu[open]) { z-index:120; }
.header-actions { min-width:0; }
.appearance-menu { position:relative;flex-shrink:0;font-size:11px; }
.appearance-menu summary { list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:35px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--appearance-raised);color:var(--ink);white-space:nowrap; }
.appearance-menu summary::-webkit-details-marker { display:none; }
.appearance-menu summary svg { width:15px;height:15px; }
.appearance-menu summary svg:last-child { width:12px;height:12px; }
.appearance-current { display:inline-block;width:78px; }
.appearance-menu summary:focus-visible { outline:2px solid var(--appearance-accent);outline-offset:3px; }
.appearance-menu[open] summary { border-color:var(--appearance-accent); }
.appearance-panel { position:fixed;z-index:160;top:60px;right:20px;width:310px;max-width:calc(100vw - 24px);padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--appearance-surface);color:var(--ink);box-shadow:0 12px 45px #00000030;overflow:auto; }
.appearance-panel fieldset { margin:0;padding:0;border:0;min-width:0; }
.appearance-panel fieldset+fieldset { margin-top:17px;padding-top:16px;border-top:1px solid var(--line); }
.appearance-panel legend { padding:0 0 10px;font-size:11px;font-weight:600;color:var(--appearance-muted); }
.appearance-themes { display:grid;grid-template-columns:1fr 1fr;gap:6px; }
.appearance-themes button { min-width:0;min-height:40px;padding:8px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:var(--appearance-surface);font-size:11px;text-align:left; }
.appearance-themes button:hover,.appearance-modes button:hover { background:var(--appearance-raised); }
.appearance-themes button[aria-pressed="true"] { border-color:var(--appearance-accent);background:var(--appearance-raised); }
.appearance-swatch { width:12px;height:12px;flex-shrink:0;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #ffffff25 inset; }
.appearance-check { display:flex;margin-left:auto;visibility:hidden;color:var(--appearance-accent); }
.appearance-check svg { width:13px;height:13px; }
[data-theme-choice][aria-pressed="true"] .appearance-check { visibility:visible; }
.appearance-modes { display:flex;gap:4px;background:var(--appearance-raised);padding:4px;border-radius:7px; }
.appearance-modes button { flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border-radius:5px;font-size:11px;color:var(--appearance-muted); }
.appearance-modes button svg { width:14px;height:14px; }
.appearance-modes button[aria-pressed="true"] { background:var(--appearance-surface);color:var(--ink);box-shadow:0 1px 4px #00000012; }
.landing-appearance { position:fixed;top:28px;right:30px;z-index:110; }
body:has(#landing[hidden]) .landing-appearance { display:none; }
.landing-brand { padding-right:140px; }

/* These roles must keep their contrast when an accent becomes pale in dark mode. */
html:not([data-theme="green"][data-appearance="light"]) .rail,
html:not([data-theme="green"][data-appearance="light"]) .brand-symbol,
html:not([data-theme="green"][data-appearance="light"]) .rail-button { color:var(--theme-rail-ink); }
html:not([data-theme="green"][data-appearance="light"]) .rail-button.active { background:var(--theme-rail-active,color-mix(in srgb,var(--theme-rail-ink) 14%,var(--theme-rail)));color:var(--theme-rail-ink); }
html:not([data-theme="green"][data-appearance="light"]) .rail-button:hover { background:color-mix(in srgb,var(--theme-rail-ink) 10%,var(--theme-rail));color:var(--theme-rail-ink); }
html:not([data-theme="green"][data-appearance="light"]) .button.primary,
html:not([data-theme="green"][data-appearance="light"]) .welcome-continue { background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent); }
html:not([data-theme="green"][data-appearance="light"]) .button.primary:hover,
html:not([data-theme="green"][data-appearance="light"]) .welcome-continue:hover { background:color-mix(in srgb,var(--theme-accent) 87%,var(--theme-ink)); }
html:not([data-theme="green"][data-appearance="light"]) .master-avatar { color:var(--theme-rail-ink); }
html[data-appearance="dark"] dialog::backdrop { background:#07090eb0; }
html[data-appearance="dark"] .toast { background:var(--theme-surface);color:var(--theme-ink);border:1px solid var(--theme-line); }
html[data-appearance="dark"] .inspiration-gem,
html[data-appearance="dark"] .inspiration-options>button,
html[data-appearance="dark"] .inspiration-spend-icon { --gem-color:var(--theme-accent)!important; }

/* Decorative assets stay specific to their theme and never intercept map input. */
.dust-decoration,.dust-brand-logo,.dust-inspiration-icon,.dust-inspiration-options { display:none; }
.inspiration-symbol,.ordinary-inspiration-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0; }
.resource-heading .inspiration-symbol svg { width:15px;height:15px; }
.inspiration-gem .inspiration-symbol svg { width:22px;height:22px; }
.brand-symbol { position:relative;display:flex;align-items:center;justify-content:center;z-index:1; }
.ordinary-brand { display:inline-flex; }
html[data-theme="dust"] .dust-brand-logo { display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:43px;height:55px;object-fit:contain; }
html[data-theme="dust"] .ordinary-brand { visibility:hidden; }
html[data-theme="dust"] .landing-brand .dust-brand-logo { position:static;transform:none;width:40px;height:51px; }
html[data-theme="dust"] .rail { position:relative;overflow:hidden; }
html[data-theme="dust"] .rail-nav,html[data-theme="dust"] .rail-bottom { position:relative;z-index:1; }
html[data-theme="dust"] .dust-decoration { display:block;pointer-events:none;user-select:none; }
.dust-rail-flower { position:absolute;top:36%;left:-11px;width:91px;height:245px;object-fit:contain;opacity:.86; }
.stage-footer { position:relative;container-type:inline-size; }
html[data-theme="dust"] .dust-footer-flower { position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);width:174px;height:39px;object-fit:contain;clip-path:inset(14% 0 0 0); }
.dust-drip { position:absolute;top:calc(100% - 1px);width:33px;height:44px;background:linear-gradient(180deg,var(--theme-blood),color-mix(in srgb,var(--theme-blood) 70%,var(--theme-rail)));border-radius:0;opacity:.84;z-index:2;-webkit-mask:url('./theme-assets/dust-drip.svg') center top/contain no-repeat;mask:url('./theme-assets/dust-drip.svg') center top/contain no-repeat;mask-mode:alpha; }
.dust-drip::after,.dust-drip::before { content:none; }
.drip-a { left:26%; }.drip-b { left:auto;right:calc(var(--panel-width) + 32px);width:24px;height:28px;opacity:.62;transform:scaleX(-1); }
html[data-theme="dust"] .map-viewport::before { content:"";position:absolute;z-index:12;top:0;left:52%;width:24px;height:31px;background:linear-gradient(180deg,var(--theme-blood),color-mix(in srgb,var(--theme-blood) 70%,var(--theme-rail)));border-radius:0;box-shadow:none;opacity:.74;pointer-events:none;-webkit-mask:url('./theme-assets/dust-drip.svg') center top/contain no-repeat;mask:url('./theme-assets/dust-drip.svg') center top/contain no-repeat;mask-mode:alpha; }
html[data-theme="dust"] .inspiration-symbol .ordinary-inspiration-icon { display:none; }
html[data-theme="dust"] .dust-inspiration-icon { display:inline-flex;color:var(--theme-blood); }
html[data-theme="dust"] .dust-inspiration-icon svg { fill:none;stroke-width:1.5; }
html[data-theme="dust"] .inspiration-gem,html[data-theme="dust"] .inspiration-spend-icon { --gem-color:var(--theme-blood)!important; }
html[data-theme="dust"] .ordinary-inspiration-options { display:none; }
html[data-theme="dust"] .dust-inspiration-options { display:flex;justify-content:center;margin:20px 0; }
html[data-theme="dust"] .dust-inspiration-options .button { gap:10px;background:var(--theme-raised);border:1px solid var(--line); }
html[data-theme="dust"] .inspiration-count { color:var(--theme-blood); }
html[data-theme="dust"] .health-fill { background:var(--theme-blood); }

/* The selector shares the header without squeezing the game controls. */
@media(max-width:1450px) { .topbar .campaign,.topbar .header-divider,.topbar .save-status { display:none; }.topbar { gap:14px;padding-inline:18px; } }
@media(max-width:1130px) { .topbar .seat-label { max-width:130px;overflow:hidden;text-overflow:ellipsis; }.topbar .upload-main { display:none; }.header-actions { gap:6px; }html[data-theme="dust"] .dust-footer-flower { max-width:110px; } }
@media(max-height:700px) { .dust-rail-flower { top:39%;height:140px;opacity:.75; } }
@media(max-width:900px) { .appearance-menu summary { min-height:32px;padding:6px 8px; }.topbar { padding-inline:13px;gap:10px; }.appearance-current { max-width:90px;overflow:hidden;text-overflow:ellipsis; }.dust-rail-flower { left:-20px;width:90px; }.drip-b { right:32px; } }
@media(max-width:650px) { .topbar .seat-label,.topbar .mode-button,.topbar .header-divider { display:none; }.topbar .header-actions>.button[data-action="room"] { font-size:0;gap:0;padding-inline:8px; }.topbar .header-actions>.button[data-action="room"] svg { width:17px;height:17px; }.topbar .wordmark { font-size:22px; }.topbar { padding-inline:11px;gap:7px; }html[data-theme="dust"] .dust-footer-flower { display:none; }.landing-appearance { top:22px;right:20px; }.landing-brand { padding-right:120px; } }
@media(max-width:410px) { .topbar .wordmark { font-size:19px; }.topbar { padding-inline:8px; }.appearance-menu summary { gap:5px;padding-inline:7px; }.appearance-menu summary>svg:first-child { display:none; }.appearance-current { max-width:73px; }.topbar .header-actions>.button[data-action="room"] { display:none; }.landing-brand { padding-right:90px; }.landing-brand>strong { font-size:25px; }.landing-appearance { right:15px; }.dust-drip.drip-b { display:none; }html[data-theme="dust"] .landing-brand .dust-brand-logo { width:29px;height:42px; } }
@media(pointer:coarse) { .appearance-themes button,.appearance-modes button,.appearance-menu summary { min-height:40px; } }
:root[data-theme="gray"][data-appearance="light"] {--theme-bg:#f2f3f5;--theme-surface:#ffffff;--theme-raised:#e9ebef;--theme-ink:#272b32;--theme-muted:#69707b;--theme-line:#dce0e6;--theme-accent-text:var(--theme-accent);--theme-accent:#535d6b;--theme-on-accent:#ffffff;--theme-rail:#252a32;--theme-rail-ink:#d8dce3;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#252a32;--theme-gold-text:#8a6b38;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="gray"][data-appearance="dark"] {--theme-bg:#15171b;--theme-surface:#202329;--theme-raised:#2c3038;--theme-ink:#edf0f5;--theme-muted:#b0b7c3;--theme-line:#3b414b;--theme-accent-text:var(--theme-accent);--theme-accent:#c5cedc;--theme-on-accent:#202631;--theme-rail:#111419;--theme-rail-ink:#d4dbe7;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="blue"][data-appearance="light"] {--theme-bg:#edf3f9;--theme-surface:#fbfdff;--theme-raised:#e2edf8;--theme-ink:#21364d;--theme-muted:#61778f;--theme-line:#d3e0ee;--theme-accent-text:var(--theme-accent);--theme-accent:#376fa6;--theme-on-accent:#ffffff;--theme-rail:#203b59;--theme-rail-ink:#d8e7f6;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#203b59;--theme-gold-text:#8a6b38;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="blue"][data-appearance="dark"] {--theme-bg:#111c2a;--theme-surface:#1a2a3e;--theme-raised:#263b54;--theme-ink:#e5effa;--theme-muted:#a7bbd3;--theme-line:#344c68;--theme-accent-text:var(--theme-accent);--theme-accent:#91bdeb;--theme-on-accent:#132a42;--theme-rail:#0d1725;--theme-rail-ink:#c6dbf3;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="purple"][data-appearance="light"] {--theme-bg:#f3f0f8;--theme-surface:#fdfbff;--theme-raised:#ece5f4;--theme-ink:#3c2e4c;--theme-muted:#80698f;--theme-line:#e2d8ec;--theme-accent-text:var(--theme-accent);--theme-accent:#7d5b9f;--theme-on-accent:#ffffff;--theme-rail:#3c2d50;--theme-rail-ink:#e6daf1;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#3c2d50;--theme-gold-text:#8a6b38;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="purple"][data-appearance="dark"] {--theme-bg:#1b1623;--theme-surface:#292033;--theme-raised:#372b45;--theme-ink:#f0e7f8;--theme-muted:#bcacd0;--theme-line:#493955;--theme-accent-text:var(--theme-accent);--theme-accent:#c9a5ee;--theme-on-accent:#2e1841;--theme-rail:#150f1d;--theme-rail-ink:#e4d6f2;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="burgundy"][data-appearance="light"] {--theme-bg:#f8f0f2;--theme-surface:#fffbfc;--theme-raised:#f2e3e9;--theme-ink:#472e37;--theme-muted:#8b6875;--theme-line:#ead5de;--theme-accent-text:var(--theme-accent);--theme-accent:#a6536c;--theme-on-accent:#ffffff;--theme-rail:#4b2c37;--theme-rail-ink:#f1dce4;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#4b2c37;--theme-gold-text:#8a6b38;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="burgundy"][data-appearance="dark"] {--theme-bg:#21151b;--theme-surface:#301e27;--theme-raised:#432a36;--theme-ink:#f8e9ef;--theme-muted:#cbaab8;--theme-line:#593949;--theme-accent-text:var(--theme-accent);--theme-accent:#e9a4bd;--theme-on-accent:#391525;--theme-rail:#190f15;--theme-rail-ink:#f1d2df;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="green"][data-appearance="dark"] {--theme-bg:#151e19;--theme-surface:#202c24;--theme-raised:#2c3c30;--theme-ink:#eaf0df;--theme-muted:#acbda1;--theme-line:#3a4e3d;--theme-accent-text:var(--theme-accent);--theme-accent:#b5cd91;--theme-on-accent:#1b2a18;--theme-rail:#101812;--theme-rail-ink:#d5e2c6;--theme-wash:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
:root[data-theme="dust"][data-appearance="light"] {--theme-bg:#ece6d9;--theme-surface:#f7f2e8;--theme-raised:#eee6da;--theme-ink:#3a2e2a;--theme-muted:#78685e;--theme-line:#dcd0c2;--theme-accent-text:var(--theme-accent);--theme-accent:#750c15;--theme-on-accent:#f8f0e1;--theme-rail:#241919;--theme-rail-ink:#e2d7c8;--theme-wash:#e9ddd0;--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#241919;--theme-gold-text:#8a6b38;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));--theme-blood:#94121d;--theme-rail-active:#67101a;}
:root[data-theme="dust"][data-appearance="dark"] {--theme-bg:#1b1717;--theme-surface:#241f1f;--theme-raised:#2d2525;--theme-ink:#ece3d7;--theme-muted:#baa99d;--theme-line:#423232;--theme-accent-text:var(--theme-accent);--theme-accent:#8b1520;--theme-on-accent:#f8eee1;--theme-rail:#130e0f;--theme-rail-ink:#e3d5c6;--theme-wash:#3b282b;--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-gold-text:#d8b77d;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));--theme-blood:#c3323d;--theme-rail-active:#63131e;}

:root[data-theme="dust"][data-appearance="dark"] { --theme-accent-text:#e5d8cb; }
html[data-theme="dust"][data-appearance="dark"] .inspiration-count { color:var(--theme-ink); }
html:not([data-theme="green"][data-appearance="light"]) .map-viewport { background:var(--theme-raised);border-color:var(--theme-line); }

/* Teren uses the approved monoline family for its die, oak and inspiration. */
.teren-decoration,.teren-brand-logo,.teren-inspiration-icon,.teren-inspiration-options { display:none; }
html[data-theme="teren"] .ordinary-brand { visibility:hidden; }
html[data-theme="teren"] .teren-brand-logo { display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45px;height:55px;object-fit:contain; }
html[data-theme="teren"] .landing-brand .teren-brand-logo { position:static;transform:none;width:40px;height:51px; }
html[data-theme="teren"] .teren-decoration { display:block;pointer-events:none;user-select:none; }
html[data-theme="teren"] .rail { position:relative;overflow:hidden; }
html[data-theme="teren"] .rail-nav,html[data-theme="teren"] .rail-bottom { position:relative;z-index:1; }
.teren-rail-grove { position:absolute;inset:0;overflow:hidden; }
.teren-grove-tree { position:absolute;top:36%;left:-32px;width:132px;height:188px;object-fit:contain;opacity:.86; }
.teren-grove-vine { position:absolute;top:calc(36% + 152px);left:28px;width:43px;height:145px;object-fit:contain;opacity:.82; }
html[data-theme="teren"] .teren-footer-branch { position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);width:83px;height:33px;object-fit:contain; }
html[data-theme="teren"][data-appearance="dark"] .teren-botanical { filter:brightness(1.25); }
html[data-theme="teren"] .inspiration-symbol .ordinary-inspiration-icon { display:none; }
html[data-theme="teren"] .teren-inspiration-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0; }
.teren-inspiration-icon img { width:22px;height:22px;object-fit:contain; }
.resource-heading .teren-inspiration-icon img { width:15px;height:15px; }
.inspiration-total .teren-inspiration-icon img { width:28px;height:28px; }
.inspiration-spend-icon .teren-inspiration-icon img { width:48px;height:48px; }
html[data-theme="teren"] .inspiration-gem,html[data-theme="teren"] .inspiration-spend-icon { --gem-color:var(--theme-gold-text)!important; }
html[data-theme="teren"] .ordinary-inspiration-options { display:none; }
html[data-theme="teren"] .teren-inspiration-options { display:flex;justify-content:center;margin:20px 0; }
html[data-theme="teren"] .teren-inspiration-options .button { gap:10px;background:var(--theme-raised);border:1px solid var(--line); }
html[data-theme="teren"] .health-fill { background:var(--theme-health); }
@container(max-width:500px) { html[data-theme="dust"] .dust-footer-flower,html[data-theme="teren"] .teren-footer-branch { display:none; } }
@media(max-width:650px) { html[data-theme="teren"] .teren-footer-branch { display:none; } }
@media(max-width:410px) { html[data-theme="teren"] .landing-brand .teren-brand-logo { width:29px;height:42px; } }

:root[data-theme="teren"][data-appearance="light"] {--theme-bg:#f0f2e7;--theme-surface:#fafbf2;--theme-raised:#e8edde;--theme-ink:#2d422f;--theme-muted:#65735c;--theme-line:#d7dfc8;--theme-accent:#3c593c;--theme-on-accent:#faf9ed;--theme-rail:#20392b;--theme-rail-ink:#e4e3c7;--theme-wash:#e0e8d5;--theme-gold-text:#a47832;--theme-rail-active:#38523c;--theme-health:#788d55;--theme-accent-text:var(--theme-accent);--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#20392b;--theme-danger-text:#a34e43;--theme-gold-solid:#9e7b42;--theme-danger-solid:#a45149;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}

:root[data-theme="teren"][data-appearance="dark"] {--theme-bg:#17231b;--theme-surface:#202f24;--theme-raised:#293b2d;--theme-ink:#e9ebd8;--theme-muted:#b7c1a5;--theme-line:#3c4f38;--theme-accent:#d3ad61;--theme-on-accent:#23311d;--theme-rail:#102219;--theme-rail-ink:#e2e5cc;--theme-wash:#344b32;--theme-gold-text:#d1ae66;--theme-rail-active:#365038;--theme-health:#b99a51;--theme-accent-text:var(--theme-accent);--theme-line-strong:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line));--theme-shadow:#000000;--theme-danger-text:#e6a592;--theme-gold-solid:#c6a56f;--theme-danger-solid:#ac6057;--theme-gold-bg:color-mix(in srgb,var(--theme-gold-text) 9%,var(--theme-surface));--theme-gold-wash:color-mix(in srgb,var(--theme-gold-text) 18%,var(--theme-surface));--theme-gold-line:color-mix(in srgb,var(--theme-gold-text) 32%,var(--theme-surface));--theme-danger-bg:color-mix(in srgb,var(--theme-danger-text) 9%,var(--theme-surface));--theme-danger-wash:color-mix(in srgb,var(--theme-danger-text) 18%,var(--theme-surface));--theme-danger-line:color-mix(in srgb,var(--theme-danger-text) 32%,var(--theme-surface));}
