/* Four local themes. No fonts, trackers, image downloads or animated backgrounds. */
[data-theme=orbit]{--bg:#0d1525;--surface:#17243a;--border:#3a526f;--text:#e7eef8;--muted:#b4c4db;--primary:#99c8ff;--on-primary:#0a1c31;--success:#9ed6b5;--danger:#f1a9bb;--warning:#e4cd9b;--accent:#8da9f2;--accent-two:#86d9d0;--soft:#22334e;--side:#111e32;--radius:20px;--shadow:0 10px 30px #0003;--head-font:system-ui,sans-serif;color-scheme:dark}
[data-theme=quantum]{--bg:#181425;--surface:#251e39;--border:#55456d;--text:#efe9fa;--muted:#c8badb;--primary:#c9b1f2;--on-primary:#211530;--success:#b1dac3;--danger:#eeb0c3;--warning:#e4c99e;--accent:#b5a3e4;--accent-two:#d4a7c2;--soft:#332946;--side:#201a30;--radius:22px;--shadow:0 10px 30px #0003;--head-font:system-ui,sans-serif;color-scheme:dark}
[data-theme=tidal]{--bg:#0e1d24;--surface:#182e36;--border:#3b5962;--text:#e0eff1;--muted:#b1ccd1;--primary:#94d2d3;--on-primary:#092328;--success:#add9be;--danger:#efb2b5;--warning:#e0cd9e;--accent:#92bed5;--accent-two:#b1cfbb;--soft:#24414a;--side:#13272e;--radius:18px;--shadow:0 10px 30px #0003;--head-font:system-ui,sans-serif;color-scheme:dark}
[data-theme=graphite]{--bg:#181c22;--surface:#252c35;--border:#4b5968;--text:#e9eef3;--muted:#bcc8d4;--primary:#c0d0e3;--on-primary:#192532;--success:#aed0bb;--danger:#e8b0b8;--warning:#dbccaa;--accent:#a6bcd3;--accent-two:#b8b2d6;--soft:#343f4c;--side:#1e252e;--radius:14px;--shadow:0 10px 30px #0003;--head-font:system-ui,sans-serif;color-scheme:dark}
html[data-theme=orbit] body::before{background:radial-gradient(ellipse at 90% 0,#7ca7ea16,transparent 55%),linear-gradient(#90b1db06 1px,transparent 1px),linear-gradient(90deg,#90b1db06 1px,transparent 1px);background-size:100% 100%,52px 52px,52px 52px}
html[data-theme=quantum] body::before{background:radial-gradient(ellipse at 5% 0,#b7a0dc16,transparent 50%),radial-gradient(ellipse at 90% 90%,#d4a7c212,transparent 55%)}
html[data-theme=tidal] body::before{background:linear-gradient(135deg,#94d2d309,transparent 50%),radial-gradient(ellipse at 85% 5%,#92bed516,transparent 55%)}
html[data-theme=graphite] body::before{background:linear-gradient(#b5c7da04 1px,transparent 1px),linear-gradient(90deg,#b5c7da04 1px,transparent 1px);background-size:64px 64px}
html:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) .card{backdrop-filter:none}
html:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) :is(button,.btn){box-shadow:none}
:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) :is(input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.theme-preview:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]){background:var(--bg);color:var(--text)}
.theme-preview:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) .theme-preview-panel{background:var(--surface);border:1px solid var(--border);box-shadow:none}
.theme-preview:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) .theme-preview-side{background:var(--side)}
.theme-preview:is([data-theme=orbit],[data-theme=quantum],[data-theme=tidal],[data-theme=graphite]) .theme-preview-button{background:var(--primary);color:var(--on-primary)}
.ui-emoji{display:inline-block;flex:none;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:.98em;line-height:1.25;vertical-align:baseline;margin-inline-end:.45em;letter-spacing:0;font-weight:400}
button>.ui-emoji,a.btn>.ui-emoji{margin-inline-end:0}
@media print{.ui-emoji{display:none}}
