/* supersonic-booster — PipeWire mixer panel. Matches the astro-menu/beacon/ * transmitter-panel idiom: emitted-magenta text, violet holo-glass fills, * glow-violet/accent frames, Agave Nerd Font Mono, rounded panels. The * scanline/sweep/noise depth is Cairo-drawn on top by lib/hologram.py. */ @define-color text #EB00A6; /* emitted magenta, same override the rest of the suite uses */ * { font-family: "Agave Nerd Font Mono", monospace; font-size: 11pt; } /* Blank the structural nodes so the CyberQueer theme's `* { background-color: * #1a1a1a }` doesn't fill the surface/gaps with an opaque slab — the panel * asserts its own glass fill below (same trick as beacon/transmitter-panel). */ window, window.background, .sb-window, .sb-scroll-row, box, overlay, label, image, drawingarea { background: transparent; background-color: transparent; } /* the holo-glass panel */ .sb-panel { background-color: alpha(@violet, 0.40); border: 2px solid #8A5CFF; border-radius: 16px; padding: 14px 16px; box-shadow: 0 0 16px 1px alpha(#8A5CFF, 0.35); } .sb-header { margin: 0 64px 4px 0; } .sb-title { color: @text; font-weight: bold; font-size: 14pt; letter-spacing: 1px; } /* ---- tab switcher ------------------------------------------------------- */ .sb-tabbar { margin-bottom: 4px; } .sb-tab { color: @text; background-color: alpha(@violet, 0.35); border: 2px solid #8A5CFF; border-radius: 18px; padding: 4px 14px; min-height: 26px; transition: border-color 180ms ease, color 180ms ease, box-shadow 220ms ease, background 180ms ease; } .sb-tab:hover { border-color: @accent; color: @accent; } .sb-tab:checked { background-color: alpha(@accent, 0.55); border-color: @accent; color: @bg; box-shadow: 0 0 12px 1px alpha(@accent, 0.5); } .sb-tab-page { min-height: 250px; /* tall enough for a card with vertical meters */ } /* ---- horizontal scroll row of cards --------------------------------------- */ .sb-scroll-row { padding: 4px 2px 10px 2px; } .sb-row { padding: 2px; } .sb-empty { color: @text; opacity: 0.55; padding: 40px 20px; } /* ---- cards -------------------------------------------------------------- */ .sb-card { background-color: alpha(@violet, 0.30); border: 2px solid #8A5CFF; border-radius: 14px; padding: 8px 10px; min-width: 150px; } .sb-card-head { margin-bottom: 2px; } .sb-card-title { color: @text; font-weight: bold; font-size: 10.5pt; } .sb-field-label { color: @text; opacity: 0.65; font-size: 8.5pt; letter-spacing: 0.5px; } /* ---- vertical volume meter (Gtk.Scale) ------------------------------------ */ /* The magenta highlight is the volume you *selected*; the purple column the * live peak indicator paints inside it (ui/peakbar.py, Cairo — the only styling * here is the muted dimming) is the signal actually reaching the mix. */ .sb-meter-row { margin: 2px 0; } /* class-specificity re-assertion of the transparent-structure rule above: the * CyberQueer theme's `* { background-color: #1a1a1a }` otherwise paints a slab * behind the value label and, worse, behind the peak column overlaid on the * trough — which reads as a dark stripe punched through the magenta fill. */ .sb-meter-row, .sb-meter-stack, .sb-meter-value, .sb-meter-label, .sb-meter, .sb-peakbar { background-image: none; background-color: transparent; } .sb-meter-label { color: @text; opacity: 0.75; font-size: 9pt; } .sb-meter-value { color: @text; opacity: 0.85; font-size: 9pt; letter-spacing: 0.5px; } /* empty portion stays see-through — an idle meter and a silent monitor both * read as "nothing here", with only the violet outline holding the shape */ .sb-meter trough { background-color: transparent; border: 1px solid alpha(#8A5CFF, 0.45); border-radius: 10px; min-width: 20px; } .sb-meter highlight { background-color: @text; /* emitted magenta — the selected volume */ border-radius: 10px; /* tight core + wide bloom: the fill emits, like the rest of the suite's chrome */ box-shadow: 0 0 6px 1px alpha(@text, 0.95), 0 0 22px 6px alpha(@text, 0.55); } .sb-meter slider { background-color: #FFFFFF; /* the fader cap, riding on top of the fill */ border-radius: 3px; min-width: 24px; min-height: 10px; /* half of this is ui/meter.py's SLIDER_INSET */ } .sb-meter.sb-meter-muted highlight { background-color: alpha(@text, 0.25); } .sb-meter.sb-meter-muted slider { background-color: alpha(#FFFFFF, 0.4); } .sb-meter-row.sb-meter-muted .sb-peakbar { opacity: 0.35; } /* ---- controls (mute / L-R toggle / default) -------------------------------- */ .sb-card-controls { margin-top: 2px; } .sb-mute-btn, .sb-lr-toggle, .sb-default-btn { color: @text; background-color: alpha(@violet, 0.4); border: 2px solid #8A5CFF; border-radius: 16px; padding: 2px 10px; min-height: 24px; font-size: 9pt; transition: border-color 180ms ease, color 180ms ease, box-shadow 220ms ease, background 180ms ease; } .sb-mute-btn:hover, .sb-lr-toggle:hover, .sb-default-btn:hover { border-color: @accent; color: @accent; } .sb-mute-btn:checked { background-color: alpha(@danger, 0.55); border-color: @danger; color: @bg; } .sb-lr-toggle:checked { background-color: alpha(@accent, 0.55); border-color: @accent; color: @bg; } .sb-default-btn:checked { background-color: alpha(#34E27A, 0.4); border-color: #34E27A; color: @bg; } .sb-default-btn:disabled { opacity: 0.85; } /* ---- dropdowns ------------------------------------------------------------ */ .sb-device-dropdown { color: @text; background-color: alpha(@bg, 0.5); border: 2px solid #8A5CFF; border-radius: 10px; padding: 2px 6px; min-height: 26px; font-size: 9pt; } .sb-device-dropdown:hover { border-color: @accent; } /* ---- general settings tab -------------------------------------------------- */ .sb-general { padding: 6px 4px; } .sb-general-field { margin-bottom: 4px; } .sb-server-info { color: @text; opacity: 0.6; font-size: 9pt; margin-top: 8px; } /* floating panel-level close button (top-right) — copied verbatim from * astro-menu/style/style.css's .close-btn idiom. */ .close-btn { color: @text; background: alpha(@violet, 0.4); border: none; border-radius: 20px; min-width: 34px; min-height: 34px; margin: 16px 20px; transition: background 180ms ease, color 180ms ease, box-shadow 220ms ease; } .close-btn:hover { background: @accent; color: @bg; box-shadow: 0 0 14px 2px alpha(@accent, 0.55); } scrollbar slider { background: @violet; border-radius: 8px; min-width: 6px; min-height: 6px; } scrollbar slider:hover { background: @accent; } .sb-hologram { background: transparent; }