:root, :root[data-theme="ray"] {
    --bg: #050D18;
    --bg-raised: #08121F;
    --bg-sunken: #0a111b;
    --panel: #0D1928;
    --panel-border: #233e63;
    --panel-border-soft: #2C3640;
    --hover: #122033;
    --text: #F5F1E8;
    --text-dim: #BDB8AD;
    --text-faint: #aea592;
    --accent: #D4AF37;
    --accent-strong: #D4AF37;
    --accent-hover: #E3C454;
    --accent-ink: #050D18;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="violet"] {
    --bg: #111014;
    --bg-raised: #15131a;
    --bg-sunken: #121015;
    --panel: #19171f;
    --panel-border: #44384e;
    --panel-border-soft: #302b39;
    --hover: #211c29;
    --text: #f4f2f8;
    --text-dim: #aaa2b7;
    --text-faint: #9d94ac;
    --accent: #7444d4;
    --accent-strong: #bea2ff;
    --accent-hover: #8353e0;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="ocean"] {
    --bg: #101214;
    --bg-raised: #13171a;
    --bg-sunken: #101315;
    --panel: #171b1f;
    --panel-border: #38444e;
    --panel-border-soft: #2b3339;
    --hover: #1c2329;
    --text: #f2f5f8;
    --text-dim: #a2aeb7;
    --text-faint: #94a1ac;
    --accent: #4493d4;
    --accent-strong: #a2d5ff;
    --accent-hover: #53a1e0;
    --accent-ink: #050D18;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="forest"] {
    --bg: #101412;
    --bg-raised: #131a17;
    --bg-sunken: #101513;
    --panel: #171f1c;
    --panel-border: #384e46;
    --panel-border-soft: #2b3934;
    --hover: #1c2924;
    --text: #f2f8f6;
    --text-dim: #a2b7af;
    --text-faint: #94aca3;
    --accent: #44d49d;
    --accent-strong: #a2ffdb;
    --accent-hover: #53e0aa;
    --accent-ink: #050D18;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="ruby"] {
    --bg: #141011;
    --bg-raised: #1a1314;
    --bg-sunken: #151011;
    --panel: #1f1718;
    --panel-border: #4e383c;
    --panel-border-soft: #392b2d;
    --hover: #291c1e;
    --text: #f8f2f3;
    --text-dim: #b7a2a6;
    --text-faint: #ac9498;
    --accent: #a8243a;
    --accent-strong: #ffa2b2;
    --accent-hover: #8f1e31;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="coral"] {
    --bg: #141110;
    --bg-raised: #1a1413;
    --bg-sunken: #151110;
    --panel: #1f1917;
    --panel-border: #4e3c38;
    --panel-border-soft: #392e2b;
    --hover: #291f1c;
    --text: #f8f3f2;
    --text-dim: #b7a6a2;
    --text-faint: #ac9994;
    --accent: #87321d;
    --accent-strong: #ffb5a2;
    --accent-hover: #722a18;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="copper"] {
    --bg: #141210;
    --bg-raised: #1a1613;
    --bg-sunken: #151210;
    --panel: #1f1a17;
    --panel-border: #4e4138;
    --panel-border-soft: #39312b;
    --hover: #29211c;
    --text: #f8f4f2;
    --text-dim: #b7aba2;
    --text-faint: #ac9e94;
    --accent: #87491d;
    --accent-strong: #ffc9a2;
    --accent-hover: #723d18;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="amber"] {
    --bg: #141310;
    --bg-raised: #1a1813;
    --bg-sunken: #151310;
    --panel: #1f1c17;
    --panel-border: #4e4738;
    --panel-border-soft: #39342b;
    --hover: #29251c;
    --text: #f8f6f2;
    --text-dim: #b7b0a2;
    --text-faint: #aca494;
    --accent: #87631d;
    --accent-strong: #ffe0a2;
    --accent-hover: #725418;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="citrus"] {
    --bg: #141410;
    --bg-raised: #191a13;
    --bg-sunken: #151510;
    --panel: #1e1f17;
    --panel-border: #4c4e38;
    --panel-border-soft: #38392b;
    --hover: #28291c;
    --text: #f7f8f2;
    --text-dim: #b5b7a2;
    --text-faint: #aaac94;
    --accent: #7e871d;
    --accent-strong: #f7ffa2;
    --accent-hover: #6a7218;
    --accent-ink: #050D18;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="olive"] {
    --bg: #121410;
    --bg-raised: #171a13;
    --bg-sunken: #131510;
    --panel: #1c1f17;
    --panel-border: #454e38;
    --panel-border-soft: #33392b;
    --hover: #24291c;
    --text: #f5f8f2;
    --text-dim: #aeb7a2;
    --text-faint: #a2ac94;
    --accent: #5a871d;
    --accent-strong: #d8ffa2;
    --accent-hover: #4c7218;
    --accent-ink: #050D18;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="mint"] {
    --bg: #101413;
    --bg-raised: #131a18;
    --bg-sunken: #101514;
    --panel: #171f1d;
    --panel-border: #384e48;
    --panel-border-soft: #2b3936;
    --hover: #1c2926;
    --text: #f2f8f6;
    --text-dim: #a2b7b2;
    --text-faint: #94aca6;
    --accent: #1d876c;
    --accent-strong: #a2ffe8;
    --accent-hover: #18725b;
    --accent-ink: #000000;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="cyan"] {
    --bg: #101414;
    --bg-raised: #13191a;
    --bg-sunken: #101515;
    --panel: #171e1f;
    --panel-border: #384c4e;
    --panel-border-soft: #2b3839;
    --hover: #1c2829;
    --text: #f2f7f8;
    --text-dim: #a2b5b7;
    --text-faint: #94aaac;
    --accent: #1d7e87;
    --accent-strong: #a2f7ff;
    --accent-hover: #186a72;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="cobalt"] {
    --bg: #101114;
    --bg-raised: #13151a;
    --bg-sunken: #101115;
    --panel: #17191f;
    --panel-border: #383d4e;
    --panel-border-soft: #2b2f39;
    --hover: #1c1f29;
    --text: #f2f3f8;
    --text-dim: #a2a7b7;
    --text-faint: #949aac;
    --accent: #2445a8;
    --accent-strong: #a2b9ff;
    --accent-hover: #1e3b8f;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="indigo"] {
    --bg: #101014;
    --bg-raised: #14131a;
    --bg-sunken: #101015;
    --panel: #18171f;
    --panel-border: #3a384e;
    --panel-border-soft: #2c2b39;
    --hover: #1d1c29;
    --text: #f2f2f8;
    --text-dim: #a4a2b7;
    --text-faint: #9694ac;
    --accent: #2f24a8;
    --accent-strong: #aaa2ff;
    --accent-hover: #281e8f;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="orchid"] {
    --bg: #131014;
    --bg-raised: #19131a;
    --bg-sunken: #141015;
    --panel: #1e171f;
    --panel-border: #4a384e;
    --panel-border-soft: #372b39;
    --hover: #271c29;
    --text: #f7f2f8;
    --text-dim: #b3a2b7;
    --text-faint: #a894ac;
    --accent: #9224a8;
    --accent-strong: #efa2ff;
    --accent-hover: #7c1e8f;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="rose"] {
    --bg: #141012;
    --bg-raised: #1a1317;
    --bg-sunken: #151013;
    --panel: #1f171c;
    --panel-border: #4e3845;
    --panel-border-soft: #392b33;
    --hover: #291c24;
    --text: #f8f2f5;
    --text-dim: #b7a2ae;
    --text-faint: #ac94a2;
    --accent: #a82471;
    --accent-strong: #ffa2d8;
    --accent-hover: #8f1e60;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="mono"] {
    --bg: #121212;
    --bg-raised: #161616;
    --bg-sunken: #121212;
    --panel: #1b1b1b;
    --panel-border: #434343;
    --panel-border-soft: #323232;
    --hover: #232323;
    --text: #f5f5f5;
    --text-dim: #acacac;
    --text-faint: #a0a0a0;
    --accent: #525252;
    --accent-strong: #d0d0d0;
    --accent-hover: #454545;
    --accent-ink: #ffffff;
    color-scheme: dark;
    --green: #10B981;
    --red: #EF4444;
    --amber: #F59E0B;
    --gold: #D4AF37;
    --work-soft: rgba(212, 175, 55, 0.16);
    --work-strong: #D4AF37;
}
:root[data-theme="paper"] {
    --bg: #eeeeee;
    --bg-raised: #ebebeb;
    --bg-sunken: #eeeeee;
    --panel: #e8e8e8;
    --panel-border: #cecece;
    --panel-border-soft: #d9d9d9;
    --hover: #e3e3e3;
    --text: #1f1f1f;
    --text-dim: #525252;
    --text-faint: #5f5f5f;
    --accent: #525252;
    --accent-strong: #2f2f2f;
    --accent-hover: #454545;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}
:root[data-theme="lavender"] {
    --bg: #eeecf0;
    --bg-raised: #ebe8ee;
    --bg-sunken: #edecf0;
    --panel: #e8e5ec;
    --panel-border: #cdc6d6;
    --panel-border-soft: #d9d4df;
    --hover: #e3dee9;
    --text: #1d1528;
    --text-dim: #51485d;
    --text-faint: #5d536b;
    --accent: #5b24a8;
    --accent-strong: #29104d;
    --accent-hover: #4d1e8f;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}
:root[data-theme="sky"] {
    --bg: #eceef0;
    --bg-raised: #e8ebee;
    --bg-sunken: #eceef0;
    --panel: #e5e8ec;
    --panel-border: #c6ced6;
    --panel-border-soft: #d4d9df;
    --hover: #dee3e9;
    --text: #151f28;
    --text-dim: #48525d;
    --text-faint: #535f6b;
    --accent: #2466a8;
    --accent-strong: #102e4d;
    --accent-hover: #1e578f;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}
:root[data-theme="sage"] {
    --bg: #ecf0ee;
    --bg-raised: #e8eeeb;
    --bg-sunken: #ecf0ed;
    --panel: #e5ece8;
    --panel-border: #c6d6cd;
    --panel-border-soft: #d4dfd9;
    --hover: #dee9e3;
    --text: #15281d;
    --text-dim: #485d51;
    --text-faint: #536b5d;
    --accent: #1d8749;
    --accent-strong: #104d29;
    --accent-hover: #18723d;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}
:root[data-theme="sand"] {
    --bg: #f0eeec;
    --bg-raised: #eeebe8;
    --bg-sunken: #f0edec;
    --panel: #ece8e5;
    --panel-border: #d6cdc6;
    --panel-border-soft: #dfd9d4;
    --hover: #e9e3de;
    --text: #281d15;
    --text-dim: #5d5148;
    --text-faint: #6b5d53;
    --accent: #87491d;
    --accent-strong: #4d2910;
    --accent-hover: #723d18;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}
:root[data-theme="blush"] {
    --bg: #f0ecee;
    --bg-raised: #eee8ea;
    --bg-sunken: #f0eced;
    --panel: #ece5e7;
    --panel-border: #d6c6cc;
    --panel-border-soft: #dfd4d8;
    --hover: #e9dee2;
    --text: #28151c;
    --text-dim: #5d484f;
    --text-faint: #6b535b;
    --accent: #a82450;
    --accent-strong: #4d1024;
    --accent-hover: #8f1e44;
    --accent-ink: #ffffff;
    color-scheme: light;
    --green: #047857;
    --red: #B91C1C;
    --amber: #A16207;
    --gold: #92720F;
    --work-soft: rgba(146, 114, 15, 0.14);
    --work-strong: #6B5409;
}

:root {
    --accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);
    --green-soft: color-mix(in srgb, var(--green) 12%, transparent);
    --red-soft: color-mix(in srgb, var(--red) 12%, transparent);
    --amber-soft: color-mix(in srgb, var(--amber) 12%, transparent);
    --gold-soft: color-mix(in srgb, var(--gold) 16%, transparent);
}

#step-up-dialog { background: var(--panel); color: var(--text); border: 1px solid var(--panel-border); border-radius: 10px; box-shadow: var(--shadow-modal); width: min(440px, calc(100vw - 32px)); padding: 24px; }
#step-up-dialog::backdrop { background: rgba(4, 5, 7, 0.65); }
#step-up-dialog h2 { font-size: 20px; margin: 0 0 12px; }
#step-up-dialog .dialog-intro { margin-bottom: 14px; }
#step-up-dialog .field { display: flex; flex-direction: column; gap: 6px; }
#step-up-dialog #step-up-status { display: block; min-height: 1.4em; margin-top: 8px; color: var(--text-dim); }
#step-up-dialog .step-up-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
