228 lines
5.6 KiB
CSS
228 lines
5.6 KiB
CSS
/* 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: 190px;
|
|
}
|
|
|
|
/* ---- 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;
|
|
}
|
|
|
|
/* ---- live peak bar -------------------------------------------------------- */
|
|
.sb-peakbar { min-height: 6px; }
|
|
.sb-peakbar trough {
|
|
background-color: alpha(@bg, 0.6);
|
|
border-radius: 4px;
|
|
min-height: 6px;
|
|
}
|
|
.sb-peakbar block {
|
|
border-radius: 4px;
|
|
min-width: 2px;
|
|
}
|
|
.sb-peakbar block.filled {
|
|
background-color: #34E27A; /* signal present — distinct from the violet/accent UI chrome */
|
|
}
|
|
.sb-peakbar block.empty {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* ---- volume meter (Gtk.Scale) --------------------------------------------- */
|
|
.sb-meter-row { margin: 2px 0; }
|
|
.sb-meter-label {
|
|
color: @text;
|
|
opacity: 0.75;
|
|
font-size: 9pt;
|
|
min-width: 12px;
|
|
}
|
|
.sb-meter trough {
|
|
background-color: alpha(@bg, 0.55);
|
|
border-radius: 6px;
|
|
min-height: 10px;
|
|
}
|
|
.sb-meter highlight {
|
|
background-color: @accent;
|
|
border-radius: 6px;
|
|
}
|
|
.sb-meter slider {
|
|
background-color: @text;
|
|
border-radius: 50%;
|
|
min-width: 14px;
|
|
min-height: 14px;
|
|
}
|
|
.sb-meter.sb-meter-muted highlight { background-color: alpha(@text, 0.25); }
|
|
.sb-meter.sb-meter-muted slider { background-color: alpha(@text, 0.4); }
|
|
|
|
/* ---- 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; }
|