/* Brightness is independent of the theme, its layout and the rendered artwork. */
:root[data-appearance=dark]{--ui-paper:#15121c;--ui-panel:#25212d;--ui-solid:#25212d;--ui-ink:#ece5ef;--ui-muted:#bcb1c6;--ui-mark:#d3b2f2;--ui-flare:#efa2d5;--ui-etch:#82758f;--ui-hatch:#d8b7ef13;--ui-disc:#24202b;--ui-disc-line:#d9ccbc;--ui-highlight:#e9d6ff30;--ui-shadow:#0007;--ui-chrome:#39323f}
:root[data-appearance=light]{--ui-paper:#dedde2;--ui-panel:#f1edf1;--ui-solid:#f1edf1;--ui-ink:#2a2333;--ui-muted:#62586d;--ui-mark:#703c97;--ui-flare:#9b397b;--ui-etch:#8d7c97;--ui-hatch:#35204415;--ui-disc:#ded4e2;--ui-disc-line:#4b365c;--ui-highlight:#ffffffc9;--ui-shadow:#39204729;--ui-chrome:#c7bdcf}
:root[data-theme=ink][data-appearance=light]{--ui-paper:#e0dfd7;--ui-panel:#ebe9e0;--ui-solid:#ebe9e0;--ui-ink:#201c25;--ui-muted:#514b58;--ui-mark:#75349c;--ui-flare:#ae267f;--ui-etch:#75667f;--ui-disc:#d5d0cb;--ui-disc-line:#352d41;--ui-chrome:#c7c3ba}
:root[data-theme=ink][data-appearance=dark]{--ui-paper:#101013;--ui-panel:#202024;--ui-solid:#202024;--ui-ink:#e9e5dc;--ui-muted:#b7b2ae;--ui-mark:#dac5e3;--ui-flare:#e1b6cd;--ui-etch:#88818d;--ui-disc:#16151a;--ui-disc-line:#ded8cf;--ui-chrome:#353337}
:root[data-theme=ultraviolet][data-appearance=dark]{--ui-paper:#100c17;--ui-panel:#1b1324;--ui-solid:#1b1324;--ui-ink:#e0d5e8;--ui-muted:#b7a5c6;--ui-mark:#d1a7ff;--ui-flare:#fa80cc;--ui-etch:#a086b7;--ui-disc:#120c1b;--ui-disc-line:#cca4ec;--ui-chrome:#332041}
:root[data-theme=ultraviolet][data-appearance=light]{--ui-paper:#e8d9fa;--ui-panel:#f6eeff;--ui-solid:#f6eeff;--ui-ink:#34204a;--ui-muted:#69507c;--ui-mark:#762cb5;--ui-flare:#b02185;--ui-etch:#9772b0;--ui-disc:#dbc3f0;--ui-disc-line:#673298;--ui-chrome:#cbb0e5}
:root[data-theme=botanical][data-appearance=light]{--ui-paper:#d8d7be;--ui-panel:#e8e5ce;--ui-solid:#e8e5ce;--ui-ink:#213d2e;--ui-muted:#4d5e47;--ui-mark:#406330;--ui-flare:#824c29;--ui-etch:#718465;--ui-hatch:#425d301a;--ui-disc:#c5cdaa;--ui-disc-line:#2f4b29;--ui-chrome:#b3c09c}
:root[data-theme=botanical][data-appearance=dark]{--ui-paper:#101e17;--ui-panel:#203329;--ui-solid:#203329;--ui-ink:#e1e7cd;--ui-muted:#b0c0a2;--ui-mark:#b4d480;--ui-flare:#e0ba7a;--ui-etch:#829972;--ui-hatch:#cdd9af15;--ui-disc:#193025;--ui-disc-line:#d8df9e;--ui-chrome:#354e39}
:root[data-theme=aero][data-appearance=light]{--ui-paper:#d4f2ff;--ui-panel:#effaff;--ui-solid:#effaff;--ui-ink:#18485f;--ui-muted:#416779;--ui-mark:#086991;--ui-flare:#386d20;--ui-etch:#6596ad;--ui-hatch:transparent;--ui-disc:#8bddf1;--ui-disc-line:#134c6b;--ui-chrome:#a6dcec;--ui-sky:#5ac8f4;--ui-lime:#b5e57b}
:root[data-theme=aero][data-appearance=dark]{--ui-paper:#071b2c;--ui-panel:#102e40;--ui-solid:#102e40;--ui-ink:#e0f7ff;--ui-muted:#a5cbdc;--ui-mark:#8cddff;--ui-flare:#bae77c;--ui-etch:#56849a;--ui-hatch:transparent;--ui-disc:#135874;--ui-disc-line:#c9f5ff;--ui-chrome:#23506a;--ui-sky:#174d70;--ui-lime:#29482d}
:root[data-theme=workstation][data-appearance=light]{--ui-paper:#d6d8e2;--ui-panel:#edf0f7;--ui-solid:#edf0f7;--ui-ink:#272938;--ui-muted:#56596c;--ui-mark:#663780;--ui-flare:#903963;--ui-etch:#818297;--ui-disc:#c8cadb;--ui-disc-line:#393449;--ui-chrome:#bcc0d1}
:root[data-theme=custom][data-appearance]{--ui-paper:var(--custom-display-paper);--ui-panel:var(--custom-display-panel);--ui-solid:var(--custom-display-solid-panel);--ui-ink:var(--custom-display-ink);--ui-muted:var(--custom-display-ink);--ui-mark:var(--custom-display-mark);--ui-flare:var(--custom-display-flare);--ui-etch:var(--custom-display-etch);--ui-hatch:var(--custom-display-hatch);--ui-disc:var(--custom-display-solid-panel);--ui-disc-line:var(--custom-display-mark);--ui-chrome:var(--custom-display-solid-panel)}

:root[data-theme][data-appearance] body{
 --paper:var(--ui-paper);--panel:var(--ui-panel);--ink:var(--ui-ink);--soft-ink:var(--ui-muted);--mark:var(--ui-mark);--flare:var(--ui-flare);--etch:var(--ui-etch);--hatch:var(--ui-hatch);--disc:var(--ui-disc);--disc-line:var(--ui-disc-line);
 --text:var(--ui-ink);--muted:var(--ui-muted);--acid:var(--ui-mark);--violet:var(--ui-flare);--edge:var(--ui-etch);
 color:var(--ui-ink);background:repeating-linear-gradient(112deg,var(--ui-hatch) 0 1px,transparent 1px 7px),var(--ui-paper);
 --raised:inset 1px 1px var(--ui-highlight),inset -1px -1px var(--ui-shadow),0 1px 0 var(--ui-shadow);
 --recessed:inset 1px 1px var(--ui-shadow),inset -1px -1px var(--ui-highlight);
 scrollbar-color:var(--ui-etch) var(--ui-paper);
}
:root[data-theme][data-appearance] body:before{border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body header{background:linear-gradient(110deg,var(--ui-chrome),var(--ui-panel));color:var(--ui-ink);border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body :is(.identity,.brand-letters,.identity small,.live,.theme-picker,.plugin-steady,.rack-heading strong,.rack-heading span,.section-title h2,.seed-heading h2,.rotary-control label,.plugin-signal strong,.orbit-heading h2){color:var(--ui-ink);text-shadow:none}
:root[data-theme][data-appearance] body :is(.identity small,.live,.plugin-steady,.rack-heading span,.view-help,.follow-detail,.under p,.plugin-footer,footer,.plugin-signal small,.dial-hint,.micro){color:var(--ui-muted)}
:root[data-theme][data-appearance] body :is(aside,.plugin-performance,.seed-shelf){color:var(--ui-ink);background:linear-gradient(120deg,var(--ui-panel),var(--ui-solid));border-color:var(--ui-etch);box-shadow:inset 0 0 0 3px var(--ui-highlight),0 3px 9px var(--ui-shadow)}
:root[data-theme][data-appearance] body :is(.rack-heading,.command-rail){background:linear-gradient(var(--ui-chrome),var(--ui-panel));border-color:var(--ui-etch);box-shadow:var(--raised)}
:root[data-theme][data-appearance] body :is(.rack-tabs,.plugin-download,.dial-hint,.preset-strip,.image-picker,.audio-pick){background:var(--ui-paper);border-color:var(--ui-etch);color:var(--ui-ink)}
:root[data-theme][data-appearance] body :is(button,select,.family-control select,.plugin-preset){color:var(--ui-ink);background:var(--ui-panel);border-color:var(--ui-etch);text-shadow:none}
:root[data-theme][data-appearance] body button:hover:not(:disabled){background:var(--ui-paper);color:var(--ui-mark);border-color:var(--ui-mark)}
:root[data-theme][data-appearance] body :is(button.active,button.strong,button[aria-selected=true],#hostHold.active){background:var(--ui-ink);color:var(--ui-solid);border-color:var(--ui-ink);text-shadow:none}
:root[data-theme][data-appearance] body :is(.block,.family-control,.plugin-signal,.orbit-heading){border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body :is(.command-symbol,.command-key:nth-child(2) .command-symbol,.section-title>span,.seed-heading a,.under button,.seed-shelf>.micro){color:var(--ui-mark);text-shadow:none}
:root[data-theme][data-appearance] body a{color:var(--ui-mark)}
:root[data-theme][data-appearance] body .download-plugin{background:var(--ui-ink);color:var(--ui-solid);border-color:var(--ui-etch);box-shadow:var(--raised)}
:root[data-theme][data-appearance] body :is(input[type=range],input[type=checkbox]){accent-color:var(--ui-mark)}
:root[data-theme][data-appearance] body .rotary-control output{background:var(--ui-paper);color:var(--ui-mark);border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body .knob:before{background:radial-gradient(ellipse at 30% 18%,var(--ui-highlight),transparent 62%),var(--ui-disc);box-shadow:0 3px 7px var(--ui-shadow),inset 0 1px 1px var(--ui-highlight),0 0 0 1px var(--ui-etch)}
:root[data-theme][data-appearance] body :is(.knob-halo,.knob-ring,.knob-engraving){stroke:var(--ui-etch)}
:root[data-theme][data-appearance] body :is(.knob-core,.knob-sigil){stroke:var(--ui-disc-line)}
:root[data-theme][data-appearance] body .knob-pointer{stroke:var(--ui-flare)}
:root[data-theme][data-appearance] body .knob-pointer circle{fill:var(--ui-flare);stroke:var(--ui-disc)}
:root[data-theme][data-appearance] body .knob-stop{fill:var(--ui-etch)}
:root[data-theme][data-appearance] body .monitor{border-color:var(--ui-etch);box-shadow:0 0 0 3px var(--ui-paper),0 0 0 4px var(--ui-etch),0 5px 15px var(--ui-shadow)}
:root[data-theme][data-appearance] body :is(.screen-top span,.screen-bottom span,.view-controls,.plugin-spectrum){color:var(--ui-ink);background:var(--ui-solid);border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body .view-controls output{color:var(--ui-mark)}
:root[data-theme][data-appearance] body .audio-meters i{background:linear-gradient(90deg,var(--ui-mark),var(--ui-flare))}
:root[data-theme][data-appearance] body .plugin-spectrum i{background:var(--ui-mark);box-shadow:none}
:root[data-theme][data-appearance] body .plugin-spectrum i[data-voice="1"]{background:var(--ui-flare)}
:root[data-theme][data-appearance] body .plugin-spectrum i[data-voice="2"]{background:var(--ui-ink)}
:root[data-theme][data-appearance] body .seed-grid button{background:var(--ui-disc);border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body .seed-grid button.active{border-color:var(--ui-flare);box-shadow:0 0 0 1px var(--ui-flare)}
:root[data-theme][data-appearance] body .seed-grid span{color:var(--ui-disc-line)}
:root[data-theme][data-appearance] body :is(#quickTour,#toast,#themeEditor,#dropHint){background:var(--ui-solid);color:var(--ui-ink);border-color:var(--ui-etch);box-shadow:0 8px 28px var(--ui-shadow);color-scheme:inherit}
:root[data-theme][data-appearance] body #quickTour p{color:var(--ui-ink)}
:root[data-theme][data-appearance] body :is(button,a,input,select):focus-visible{outline:2px solid var(--ui-flare);outline-offset:3px}
:root[data-theme][data-appearance] body .tour-target{outline-color:var(--ui-flare)}
:root[data-theme][data-appearance] body .monitor:fullscreen{border:0;box-shadow:none}
:root[data-theme][data-appearance] body :is(aside,.stage){scrollbar-color:var(--ui-etch) var(--ui-paper)}

/* Retain each theme's surface treatment in both palettes. */
:root[data-theme=botanical][data-appearance] body :is(aside,.plugin-performance,.seed-shelf){background:linear-gradient(100deg,var(--ui-panel) 20%,color-mix(in srgb,var(--ui-solid) 89%,transparent) 72%,color-mix(in srgb,var(--ui-solid) 76%,transparent)),url('botanical-fern.png') right bottom/180px auto no-repeat,var(--ui-panel);box-shadow:inset 0 0 0 3px var(--ui-panel),0 0 0 3px var(--ui-paper),0 0 0 4px var(--ui-etch)}
:root[data-theme=botanical][data-appearance] body .knob:before{background:repeating-radial-gradient(ellipse at 48% 52%,var(--ui-disc) 0 3px,var(--ui-etch) 3px 3.7px,var(--ui-disc) 3.7px 7px);box-shadow:0 0 0 1px var(--ui-etch),0 0 0 3px var(--ui-panel),0 0 0 4px var(--ui-etch)}
:root[data-theme=aero][data-appearance] body{background:radial-gradient(ellipse at 12% -10%,var(--ui-highlight),transparent 43%),radial-gradient(ellipse at 100% 125%,var(--ui-lime),transparent 53%),linear-gradient(140deg,var(--ui-sky),var(--ui-paper) 56%,var(--ui-chrome))}
:root[data-theme=aero][data-appearance] body :is(header,button,select,.family-control select,.command-rail){background:linear-gradient(var(--ui-panel),var(--ui-panel) 49%,var(--ui-chrome) 50%,var(--ui-panel));box-shadow:inset 0 1px var(--ui-highlight),0 2px 5px var(--ui-shadow)}
:root[data-theme=aero][data-appearance] body :is(button.active,button.strong,button[aria-selected=true]){background:var(--ui-ink);color:var(--ui-solid)}
:root[data-theme=aero][data-appearance] body .knob:before{background:radial-gradient(ellipse at 45% 10%,var(--ui-highlight),transparent 43%),linear-gradient(var(--ui-panel),var(--ui-disc) 45%,var(--ui-chrome) 50%,var(--ui-disc) 88%,var(--ui-lime));box-shadow:inset 0 0 0 1px var(--ui-highlight),0 0 0 1px var(--ui-etch),0 3px 5px var(--ui-shadow)}
:root[data-theme=custom][data-appearance] body{background-color:var(--ui-paper);background-image:linear-gradient(var(--custom-display-wash),var(--custom-display-wash)),var(--custom-image);background-size:cover,var(--custom-size);background-position:center,var(--custom-position);background-attachment:fixed;background-repeat:no-repeat}
:root[data-theme=custom][data-appearance] body :is(aside,.plugin-performance,.seed-shelf){background:var(--ui-panel)}

/* Dialog controls use the same palette, even above a custom photograph. */
:root[data-theme][data-appearance] body #themeEditor :is(h2,.theme-editor-top button){color:var(--ui-ink)}
:root[data-theme][data-appearance] body #themeEditor :is(.theme-note,input[type=file]){color:var(--ui-muted)}
:root[data-theme][data-appearance] body #themeEditor :is(.theme-upload,.theme-editor-bottom,input[type=color]){border-color:var(--ui-etch)}
:root[data-theme][data-appearance] body #themeEditor output{color:var(--ui-mark)}
:root[data-theme][data-appearance] body #themeEditor input::file-selector-button{background:var(--ui-panel);color:var(--ui-ink);border-color:var(--ui-etch)}

.appearance-toggle{display:flex;align-items:center;gap:2px;flex-shrink:0;border:1px solid var(--ui-etch);padding:2px;border-radius:5px;background:var(--ui-paper)}
:root[data-theme][data-appearance] body .appearance-toggle button,:root[data-wallpaper][data-appearance] body .appearance-toggle button{min-width:43px;margin:0;padding:7px 6px;border:1px solid transparent;border-radius:3px;background:none;color:var(--ui-muted);box-shadow:none;font:12px/1.1 Arial,sans-serif;letter-spacing:0;text-transform:none;text-shadow:none}
:root[data-theme][data-appearance] body .appearance-toggle button[aria-pressed=true],:root[data-wallpaper][data-appearance] body .appearance-toggle button[aria-pressed=true]{background:var(--ui-ink);color:var(--ui-solid);border-color:var(--ui-ink);box-shadow:none}
:root[data-theme][data-appearance] body .appearance-toggle button:hover{border-color:var(--ui-mark)}
:root[data-theme][data-appearance] .instrument-panel .appearance-toggle button{min-width:34px;padding:6px 4px;font-size:11px}
@media(max-width:1100px){.instrument-panel header .theme-picker>span{display:none}.instrument-panel header .theme-tools{gap:4px}.instrument-panel header .live{display:none}}
@media(max-width:950px){.instrument-panel header{gap:7px}.instrument-panel .identity small{display:none}.instrument-panel .theme-picker select{min-width:95px;width:95px}.instrument-panel .wordmark .brand-letters{display:none}}
@media(max-width:760px){body:not(.instrument-panel) .theme-tools{flex-wrap:wrap}body:not(.instrument-panel) .theme-picker{min-width:180px}}
@media(forced-colors:active){.appearance-toggle{border-color:ButtonText}:root[data-appearance] body .appearance-toggle button[aria-pressed=true]{outline:2px solid Highlight}}
