/* Treatment is structural. Color comes from a palette or the optional tint controller. */
[data-tw-treatment]{font-family:var(--tw-glass-font-ui);color:var(--tw-ink);--tw-surface-radius:12px;--tw-on-accent:var(--tw-appearance-on-accent,#ffffff)}
[data-tw-tint],[data-tw-tint][data-tw-mode]{--tw-case:var(--tw-appearance-case);--tw-case-light:var(--tw-appearance-case-light);--tw-case-low:var(--tw-appearance-case-low);--tw-seam:var(--tw-appearance-seam);--tw-plate:var(--tw-appearance-plate);--tw-plate-light:var(--tw-appearance-plate-light);--tw-plate-shadow:var(--tw-appearance-plate-shadow);--tw-ink:var(--tw-appearance-ink);--tw-muted:var(--tw-appearance-muted);--tw-recess:var(--tw-appearance-recess);--tw-recess-light:var(--tw-appearance-recess-light);--tw-glass:var(--tw-appearance-glass);--tw-glass-light:var(--tw-appearance-glass-light);--tw-glass-ink:var(--tw-appearance-glass-ink);--tw-glass-muted:var(--tw-appearance-glass-muted);--tw-accent:var(--tw-appearance-accent);--tw-accent-light:var(--tw-appearance-accent-light);--tw-accent-low:var(--tw-appearance-accent-low);--tw-stamp:var(--tw-appearance-stamp);--tw-rack-surface:var(--tw-appearance-rack-surface);--tw-window-surface:var(--tw-appearance-window-surface);--tw-focus:var(--tw-appearance-focus);--tw-control-edge:var(--tw-appearance-control-edge);--tw-window-ink:var(--tw-appearance-window-ink);--tw-on-accent:var(--tw-appearance-on-accent);--tw-on-signal:var(--tw-appearance-on-signal)}
[data-tw-treatment] :is(.tw-card,.tw-asset-card,.tw-readout,.tw-glass-panel){position:relative;background-image:none}
[data-tw-treatment] .tw-chip{color:var(--tw-on-accent)}
[data-tw-treatment="minimal"] :is(.tw-card,.tw-asset-card,.tw-readout,.tw-module-entry,.tw-guitar-entry,.tw-effect-picker__card,.tw-knob-face-study,.tw-choices,.tw-glass-panel){border:0;box-shadow:none;background-color:transparent;border-radius:var(--tw-surface-radius)}
[data-tw-treatment="minimal"] .tw-glass-plate__canvas{opacity:.14}
[data-tw-treatment="minimal"] .tw-card__header{border:0;box-shadow:none;background:transparent}
[data-tw-treatment="minimal"] :is(.tw-module-entry,.tw-guitar-entry,.tw-effect-picker__card):hover:not(:disabled){background:var(--tw-recess)}
[data-tw-treatment="minimal"] .tw-input{border:0;border-bottom:1px solid var(--tw-plate-shadow);border-radius:6px 6px 0 0;box-shadow:none;background:var(--tw-recess);color:var(--tw-ink);font:14px/1.4 var(--tw-glass-font-ui)}
[data-tw-treatment="minimal"] .tw-chip{border:0;border-radius:999px;background:var(--tw-recess);color:var(--tw-ink);font:11px var(--tw-glass-font-ui)}
[data-tw-treatment="minimal"] .tw-pedal-card{border:0;border-top:2px solid var(--tw-pedal-case);box-shadow:none;background:var(--tw-recess);color:var(--tw-ink)}
[data-tw-treatment="minimal"] .tw-dialog{border:0;border-radius:var(--tw-surface-radius);box-shadow:none;background:var(--tw-case);color:var(--tw-ink)}
[data-tw-treatment="minimal"] :is(.tw-button,.tw-tab){font:16px var(--tw-glass-font-display)}
[data-tw-treatment="minimal"] :is(.tw-field>span,.tw-knob>span,.tw-knob output,.tw-fader>span,.tw-fader output,.tw-toggle){font:13px/1.4 var(--tw-glass-font-ui)}
[data-tw-treatment="glass"] :is(.tw-card,.tw-asset-card,.tw-readout,.tw-module-entry,.tw-guitar-entry,.tw-effect-picker__card,.tw-knob-face-study,.tw-glass-panel){border:0;border-radius:var(--tw-surface-radius);box-shadow:none}
[data-tw-treatment="glass"] .tw-card__header{border:0;box-shadow:none}
[data-tw-treatment="glass"] .tw-glass-plate__canvas{border-radius:inherit}
[data-tw-treatment="glass"] .tw-input{border:1px solid var(--tw-plate-shadow);border-radius:7px;box-shadow:none}
[data-tw-treatment="hardware"]{--tw-surface-radius:12px}
[data-tw-treatment="hardware"] :is(.tw-card,.tw-readout){border:0;border-radius:var(--tw-surface-radius);box-shadow:none}
[data-tw-treatment="hardware"] .tw-glass-panel{border:0;border-radius:var(--tw-surface-radius);box-shadow:none}
/* Original source corner pixels. Per-component settings override inherited choices. */
[data-tw-corner-texture="dither"]{--tw-corner-content:"";--tw-corner-images:url("./assets/sf-plate-nw.png"),url("./assets/sf-plate-se.png")}
[data-tw-corner-texture="none"]{--tw-corner-content:none;--tw-corner-images:none}
:is(.tw-card,.tw-asset-card,.tw-readout,.tw-glass-panel)::after{content:var(--tw-corner-content,none);position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background-image:var(--tw-corner-images,none);background-position:2px 2px,right 2px bottom 2px;background-size:60px 60px;background-repeat:no-repeat;image-rendering:pixelated;opacity:.6}
/* Button colors are real semantic values. Texture never recolors a material.
 * Repeat approved glass.json roles on color roots to reset a monochrome parent. */
:is([data-tw-theme="spectral"],[data-tw-theme="cobaltGlass"]){--tw-button-neutral:#eeeddf;--tw-button-neutral-edge:#aaa99c;--tw-button-ink:#232322;--tw-button-primary:#293dc2;--tw-button-primary-edge:#1c2b91;--tw-button-on-primary:#faf8f0;--tw-button-signal:#d7fa48;--tw-button-signal-edge:#9ebc32;--tw-button-on-signal:#232322;--tw-button-base:#484a4b;--tw-button-on-base:#faf8f0;}
[data-tw-theme="monochrome"]{--tw-button-neutral:#eeeeee;--tw-button-neutral-edge:#b0b0b0;--tw-button-ink:#202020;--tw-button-primary:#262626;--tw-button-primary-edge:#080808;--tw-button-on-primary:#f6f6f6;--tw-button-signal:#d7d7d7;--tw-button-signal-edge:#888888;--tw-button-on-signal:#202020;--tw-button-base:#484848;--tw-button-on-base:#f6f6f6}
/* Inherited at each theme root: a colored child theme must not be grayscaled
 * merely because the surrounding shell uses monochrome. Disabled control roots
 * supply their own --tw-art-filter from components.css. */
[data-tw-theme]{--tw-art-filter:none}
[data-tw-theme="monochrome"]{--tw-art-filter:grayscale(1)}
:is(.tw-knob__face,.tw-navigation__knob,.tw-fader__input){filter:var(--tw-art-filter,none)}
[data-tw-theme]:not([data-tw-theme="spectral"]):not([data-tw-theme="cobaltGlass"]):not([data-tw-theme="monochrome"]):not([data-tw-mode="dark"]),[data-tw-tint]{--tw-button-neutral:var(--tw-glass);--tw-button-neutral-edge:var(--tw-plate-shadow);--tw-button-ink:var(--tw-glass-ink);--tw-button-primary:var(--tw-accent-fill,var(--tw-accent));--tw-button-primary-edge:var(--tw-accent-edge,var(--tw-accent-low));--tw-button-on-primary:var(--tw-on-accent-fill,var(--tw-appearance-on-accent,#ffffff));--tw-button-signal:var(--tw-accent-light);--tw-button-signal-edge:var(--tw-accent-edge,var(--tw-accent));--tw-button-on-signal:var(--tw-on-signal,var(--tw-seam));--tw-button-base:var(--tw-seam);--tw-button-on-base:var(--tw-glass-light)}
:is(.tw-card,.tw-asset-card,.tw-readout,.tw-glass-panel)::after{filter:var(--tw-art-filter,none)}
[data-tw-treatment] :focus-visible{outline:3px solid var(--tw-accent);outline-offset:3px}
@media(forced-colors:active){[data-tw-treatment] :is(.tw-card,.tw-asset-card,.tw-readout,.tw-module-entry,.tw-guitar-entry,.tw-effect-picker__card,.tw-glass-panel){background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}[data-tw-corner-texture] :is(.tw-card,.tw-asset-card,.tw-readout,.tw-glass-panel)::after{display:none}}

.tw-navigation__destination img{filter:var(--tw-art-filter,none)}
/* Product artwork carries tactile depth; quiet treatments do not add another frame. */
[data-tw-treatment="glass"] .tw-pedal-card{border:0;border-radius:8px;box-shadow:none;background:var(--tw-recess);color:var(--tw-ink)}
[data-tw-treatment="minimal"] .tw-pedal-card{border:0;box-shadow:none;background:transparent;color:var(--tw-ink)}

/* Mode belongs to each appearance root, not a page-wide filter. Local light roots
 * override dark ancestors through inherited semantic values and color-scheme. */
[data-tw-mode="light"]{color-scheme:light}
[data-tw-mode="dark"]{color-scheme:dark}
[data-tw-mode]{color:var(--tw-ink)}
[data-tw-mode].tw-scope{color:var(--tw-ink)}
/* Neutral tactile caps retain the approved light treatment. Dark caps use real
 * neutral material values, while selected/primary caps take the active accent. */
[data-tw-theme][data-tw-mode="dark"], [data-tw-tint][data-tw-mode]{--tw-button-neutral:var(--tw-glass);--tw-button-neutral-edge:var(--tw-control-edge);--tw-button-ink:var(--tw-glass-ink);--tw-button-primary:var(--tw-accent-fill,var(--tw-accent));--tw-button-primary-edge:var(--tw-accent-edge,var(--tw-accent-low));--tw-button-on-primary:var(--tw-on-accent-fill,var(--tw-on-accent));--tw-button-signal:var(--tw-accent-light);--tw-button-signal-edge:var(--tw-accent-edge,var(--tw-accent));--tw-button-on-signal:var(--tw-on-signal);--tw-button-base:var(--tw-recess);--tw-button-on-base:var(--tw-ink)}
/* Interaction-only ramps preserve legacy surfaces, field seeds and protected palettes.
 * Every nested theme or custom tint resets optional roles to the original behavior. */
[data-tw-theme],[data-tw-theme][data-tw-tint]{--tw-accent-fill:initial;--tw-accent-edge:initial;--tw-accent-indicator:initial;--tw-on-accent-fill:initial}
/* Native controls need the background and matching ink together, including the
 * browser's option popup. Textareas/readouts must never inherit dark hardware ink
 * on a light glass surface or light glass ink on a dark Minimal recess. */
[data-tw-mode] :is(.tw-input,.tw-control-input,.tw-control-select){color:var(--tw-glass-ink);background:var(--tw-glass);border-color:var(--tw-control-edge)}
[data-tw-mode] :is(.tw-input,.tw-control-input)::placeholder{color:var(--tw-glass-muted);opacity:1}
[data-tw-mode] :is(.tw-input,.tw-control-select) option{background:var(--tw-glass);color:var(--tw-glass-ink)}
[data-tw-mode] :is(.tw-input,.tw-control-input,.tw-control-select):disabled{-webkit-text-fill-color:var(--tw-glass-ink);opacity:1}
[data-tw-mode] .tw-pedal-card{color:var(--tw-ink);background:var(--tw-recess)}
[data-tw-mode] .tw-pedal-card__edit{color:var(--tw-accent)}
[data-tw-mode] .tw-chip{color:var(--tw-on-accent)}
[data-tw-mode][data-tw-treatment="minimal"] .tw-chip{color:var(--tw-ink)}
[data-tw-mode] .tw-toggle input{border-color:var(--tw-control-edge)}
/* A contrasting ring works on case, plate, recess, glass and transparent Minimal
 * controls. The inner surface gap keeps it distinguishable on selected caps. */
[data-tw-mode] :focus-visible{outline:3px solid var(--tw-focus);outline-offset:3px}
[data-tw-mode] :is(.tw-button,.tw-glass-button,.tw-tab):focus-visible{outline-color:var(--tw-focus);box-shadow:0 0 0 3px var(--tw-case)}
[data-tw-mode] :is(.tw-knob__face,.tw-control-knob-face):focus-within{outline:3px solid var(--tw-focus);outline-offset:3px}
[data-tw-mode] .tw-choice:has(input:focus-visible){outline:3px solid var(--tw-focus);outline-offset:3px}
@media(forced-colors:active){
 [data-tw-mode] :is(.tw-input,.tw-control-input,.tw-control-select){background:Field;color:FieldText;border-color:ButtonText}
 [data-tw-mode] :is(.tw-input,.tw-control-input,.tw-control-select):disabled{-webkit-text-fill-color:GrayText}
 [data-tw-mode] :is(.tw-input,.tw-control-input)::placeholder{color:GrayText}
 [data-tw-mode] :is(.tw-input,.tw-control-select) option{background:Field;color:FieldText}
 [data-tw-mode] :focus-visible{outline-color:Highlight!important}
}

/* Disabled controls stay monochrome in both modes. These inherited neutral roles
 * reset at each mode root, so a nested light example never inherits dark state. */
[data-tw-mode="light"]{--tw-disabled-case:#f6f6f6;--tw-disabled-case-light:#ffffff;--tw-disabled-case-low:#c3c3c3;--tw-disabled-seam:#202020;--tw-disabled-plate:#eeeeee;--tw-disabled-plate-light:#ffffff;--tw-disabled-plate-shadow:#b0b0b0;--tw-disabled-ink:#202020;--tw-disabled-muted:#575757;--tw-disabled-recess:#e6e6e6;--tw-disabled-recess-light:#ffffff;--tw-disabled-glass:#f6f6f6;--tw-disabled-glass-light:#ffffff;--tw-disabled-glass-ink:#202020;--tw-disabled-glass-muted:#575757;--tw-disabled-accent:#262626;--tw-disabled-accent-light:#d7d7d7;--tw-disabled-accent-low:#1b1b1b;--tw-disabled-stamp:#202020;--tw-disabled-rack-surface:#e6e6e6;--tw-disabled-window-surface:#202020;--tw-disabled-focus:#262626;--tw-disabled-control-edge:#575757;--tw-disabled-on-accent:#ffffff;--tw-disabled-on-signal:#101010;--tw-disabled-window-ink:#f6f6f6}
[data-tw-mode="dark"]{--tw-disabled-case:#0c0c0c;--tw-disabled-case-light:#222222;--tw-disabled-case-low:#060606;--tw-disabled-seam:#202020;--tw-disabled-plate:#1a1a1a;--tw-disabled-plate-light:#373737;--tw-disabled-plate-shadow:#060606;--tw-disabled-ink:#fefefe;--tw-disabled-muted:#bcbcbc;--tw-disabled-recess:#090909;--tw-disabled-recess-light:#272727;--tw-disabled-glass:#1d1d1d;--tw-disabled-glass-light:#3b3b3b;--tw-disabled-glass-ink:#fefefe;--tw-disabled-glass-muted:#bcbcbc;--tw-disabled-accent:#8a8a8a;--tw-disabled-accent-light:#d7d7d7;--tw-disabled-accent-low:#616161;--tw-disabled-stamp:#202020;--tw-disabled-rack-surface:#131313;--tw-disabled-window-surface:#060606;--tw-disabled-focus:#8a8a8a;--tw-disabled-control-edge:#bcbcbc;--tw-disabled-on-accent:#101010;--tw-disabled-on-signal:#101010;--tw-disabled-window-ink:#f6f6f6}
:is(.tw-image-toggle__button,.tw-button,.tw-glass-button,.tw-tab,.tw-input,.tw-control,.tw-fader__input,.tw-module-entry,.tw-guitar-entry,.tw-effect-picker__card,.tw-navigation__destination,.tw-navigation__knob,.tw-pedal__footswitch,.tw-pedal-card__switch,.tw-pedal-card__edit,.tw-toggle input,.tw-choice input,.tw-knob input,.tw-rocker button,.tw-menu [role^="menuitem"]):is(:disabled,[aria-disabled=true]),
:is(.tw-field,.tw-control-field,.tw-toggle,.tw-knob,.tw-fader,.tw-choice,.tw-control-choice,.tw-knob__face,.tw-control-knob-face):has(> :is(:disabled,[aria-disabled=true])),
:is(.tw-knob,.tw-control-field):has(> :is(.tw-knob__face,.tw-control-knob-face) > :is(:disabled,[aria-disabled=true])),
.tw-rocker:has(>button:disabled):not(:has(>button:not(:disabled))),
.tw-pedal:has(.tw-pedal__footswitch:is(:disabled,[aria-disabled=true])),
.tw-pedal-card:is([data-disabled=true],:has(.tw-pedal-card__switch:is(:disabled,[aria-disabled=true]))){
 --tw-case:var(--tw-disabled-case,#f6f6f6);--tw-case-light:var(--tw-disabled-case-light,#ffffff);--tw-case-low:var(--tw-disabled-case-low,#c3c3c3);--tw-seam:var(--tw-disabled-seam,#202020);--tw-plate:var(--tw-disabled-plate,#eeeeee);--tw-plate-light:var(--tw-disabled-plate-light,#ffffff);--tw-plate-shadow:var(--tw-disabled-plate-shadow,#b0b0b0);--tw-ink:var(--tw-disabled-ink,#202020);--tw-muted:var(--tw-disabled-muted,#575757);--tw-recess:var(--tw-disabled-recess,#e6e6e6);--tw-recess-light:var(--tw-disabled-recess-light,#ffffff);--tw-glass:var(--tw-disabled-glass,#f6f6f6);--tw-glass-light:var(--tw-disabled-glass-light,#ffffff);--tw-glass-ink:var(--tw-disabled-glass-ink,#202020);--tw-glass-muted:var(--tw-disabled-glass-muted,#575757);--tw-accent-fill:initial;--tw-accent-edge:initial;--tw-accent-indicator:initial;--tw-on-accent-fill:initial;--tw-accent:var(--tw-disabled-accent,#262626);--tw-accent-light:var(--tw-disabled-accent-light,#d7d7d7);--tw-accent-low:var(--tw-disabled-accent-low,#1b1b1b);--tw-stamp:var(--tw-disabled-stamp,#202020);--tw-rack-surface:var(--tw-disabled-rack-surface,#e6e6e6);--tw-window-surface:var(--tw-disabled-window-surface,#202020);--tw-focus:var(--tw-disabled-focus,#262626);--tw-control-edge:var(--tw-disabled-control-edge,#575757);--tw-on-accent:var(--tw-disabled-on-accent,#ffffff);--tw-on-signal:var(--tw-disabled-on-signal,#101010);--tw-window-ink:var(--tw-disabled-window-ink,#f6f6f6);
 --tw-button-neutral:var(--tw-disabled-plate,#eeeeee);--tw-button-neutral-edge:var(--tw-disabled-control-edge,#575757);--tw-button-ink:var(--tw-disabled-ink,#202020);--tw-button-primary:var(--tw-disabled-accent,#262626);--tw-button-primary-edge:var(--tw-disabled-accent-low,#080808);--tw-button-on-primary:var(--tw-disabled-on-accent,#f6f6f6);--tw-button-signal:var(--tw-disabled-accent-light,#d7d7d7);--tw-button-signal-edge:var(--tw-disabled-control-edge,#888888);--tw-button-on-signal:var(--tw-disabled-on-signal,#202020);--tw-button-base:var(--tw-disabled-recess,#484848);--tw-button-on-base:var(--tw-disabled-ink,#f6f6f6);--tw-appearance-on-accent:var(--tw-disabled-on-accent,#f6f6f6)
}

/* An unselected section card is neutral, not disabled. It inherits the current
 * mode family without resetting to the legacy light monochrome token selector. */
.tw-section-card[data-tw-theme="monochrome"]{--tw-case:var(--tw-disabled-case,#f6f6f6);--tw-case-light:var(--tw-disabled-case-light,#ffffff);--tw-case-low:var(--tw-disabled-case-low,#c3c3c3);--tw-seam:var(--tw-disabled-seam,#202020);--tw-plate:var(--tw-disabled-plate,#eeeeee);--tw-plate-light:var(--tw-disabled-plate-light,#ffffff);--tw-plate-shadow:var(--tw-disabled-plate-shadow,#b0b0b0);--tw-ink:var(--tw-disabled-ink,#202020);--tw-muted:var(--tw-disabled-muted,#575757);--tw-recess:var(--tw-disabled-recess,#e6e6e6);--tw-recess-light:var(--tw-disabled-recess-light,#ffffff);--tw-glass:var(--tw-disabled-glass,#f6f6f6);--tw-glass-light:var(--tw-disabled-glass-light,#ffffff);--tw-glass-ink:var(--tw-disabled-glass-ink,#202020);--tw-glass-muted:var(--tw-disabled-glass-muted,#575757);--tw-accent-fill:initial;--tw-accent-edge:initial;--tw-accent-indicator:initial;--tw-on-accent-fill:initial;--tw-accent:var(--tw-disabled-accent,#262626);--tw-accent-light:var(--tw-disabled-accent-light,#d7d7d7);--tw-accent-low:var(--tw-disabled-accent-low,#1b1b1b);--tw-stamp:var(--tw-disabled-stamp,#202020);--tw-rack-surface:var(--tw-disabled-rack-surface,#e6e6e6);--tw-window-surface:var(--tw-disabled-window-surface,#202020);--tw-focus:var(--tw-disabled-focus,#262626);--tw-control-edge:var(--tw-disabled-control-edge,#575757);--tw-on-accent:var(--tw-disabled-on-accent,#ffffff);--tw-on-signal:var(--tw-disabled-on-signal,#101010);--tw-window-ink:var(--tw-disabled-window-ink,#f6f6f6)}
