<commit_before>/* Default color scheme */
@define-color base_color #ffffff;
@define-color bg_color #ededed;
@define-color tooltip_bg_color #343434;
@define-color selected_bg_color #4a90d9;
@define-color text_color #2e3436;
@define-color fg_color #2e3436;
@define-color tooltip_fg_color #ffffff;
@define-color selected_fg_color #ffffff;

/* Colormap actually used by the theme, to be overridden in other css files */
@define-color theme_base_color @base_color;
@define-color theme_text_color @text_color;
@define-color theme_bg_color @bg_color;
@define-color theme_fg_color @fg_color;
@define-color theme_tooltip_bg_color @tooltip_bg_color;
@define-color theme_tooltip_fg_color @tooltip_fg_color;
@define-color theme_selected_bg_color @selected_bg_color;
@define-color theme_selected_fg_color @selected_fg_color;


@define-color link_color #4a90d9;
@define-color frame_color #8a9580;
@define-color inactive_frame_color #c7ccc1;
@define-color warning_color #f57900;
@define-color error_color #cc0000;
@define-color success_color #4e9a06;

@define-color info_fg_color rgb (181, 171, 156);
@define-color info_bg_color rgb (252, 252, 189);
@define-color warning_fg_color rgb (173, 120, 41);
@define-color warning_bg_color rgb (250, 173, 61);
@define-color question_fg_color rgb (97, 122, 214);
@define-color question_bg_color rgb (138, 173, 212);
@define-color error_fg_color rgb (166, 38, 38);
@define-color error_bg_color rgb (237, 54, 54);

@define-color keyboard_focus_border_a #a2c9f1;
@define-color keyboard_focus_border_b #6794cf;

@define-color chrome_bg_color #1e1a17;
@define-color chrome_fg_color #fff;

@define-color focused_entry_border #579eea;

@define-color button_gradient_color_a #f4f6f4;
@define-color button_gradient_color_b #d7dad7;
@define-color button_border #a7aba7;
@define-color button_active_gradient_color #a2a9a2;

@define-color insensitive_bg_color #f4f4f2;
@define-color insensitive_fg_color #a7aba7;

@define-color trough_bg_color_a #ccccc7;
@define-color trough_bg_color_b #e4e4e1;

@define-color active_switch_bg_color_a #509ae7;
@define-color active_switch_bg_color_b #84b8ee;

@define-color switch_slider_color #eeeeec;
@define-color switch_slider_border #2a79cb;

@define-color progressbar_background_a #1f72c6;
@define-color progressbar_background_b #76b0ec;
@define-color progressbar_border #3277bf;

@define-color scale_fill_a #2c85e2;
@define-color scale_fill_b #b8d6f5;

@define-color menu_fg_color #2e87e3;
@define-color menu_controls_color #555753;

@define-color highlighted_border #8a8f8a;
@define-color internal_element_color #888a85;

@define-color notebook_border #a6a6a6;
@define-color notebook_active_tab_border #1372d3;

@define-color toolbar_gradient_base #aaaa9e;
@define-color toolbar_gradient_step1 #bcbcb4;
@define-color toolbar_gradient_step2 #d9d9d7;
@define-color toolbar_gradient_final #e5e5e2;

@define-color toolbar_active_button_color #909081;

* {
    engine: adwaita;
    padding: 1;

    /* Style properties */
    -GtkButton-child-displacement-x: 1;
    -GtkButton-child-displacement-y: 1;
    -GtkButton-default-border: 0;
    -GtkButton-image-spacing: 4;
    -GtkButton-interior-focus: true;
    -GtkToolButton-icon-spacing: 4;

    -GtkTextView-error-underline-color: @error_color;

    -GtkPaned-handle-size: 5;

    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;

    /* The size for scrollbars. The slider is 2px smaller, but we keep it
     * up so that the whole area is sensitive to button presses for the
     * slider. The stepper button is larger in both directions, the slider
     * only in the width
     */

    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;

    -GtkToolItemGroup-expander-size: 12;
    -GtkExpander-expander-size: 12;
    -GtkToolbar-internal-padding: 4;     /* ??? */

    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;

    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkHTML-link-color: @link_color;

    -GtkWidget-wide-separators: 1;

    -WnckTasklist-fade-overlay-rect: 0;

    -GtkEntry-inner-border: 2;
    -GtkButton-inner-border: 2;
    -GtkEntry-progress-border: 0;

    /* Style */
    background-color: @theme_bg_color;
    color: @theme_fg_color;
    border-radius: 3;

    -GtkWidget-focus-padding: 2;
    -GtkWidget-focus-line-width: 1;
    -adwaita-focus-border-color: alpha (@theme_text_color, 0.4);
    -adwaita-focus-border-radius: 2;
    -adwaita-focus-fill-color: none;
    -adwaita-focus-border-gradient: none;
    -adwaita-focus-border-dashes: 1;
}

/***************
 * Base States *
 ***************/
*:hover {
    background-color: shade (@theme_bg_color, 1.02);
    color: @theme_fg_color;
}

*:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

*:selected:focused {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

*:insensitive {
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

*:active {
    background-color: shade (@theme_bg_color, 0.915);
}

.background {
    border-style: none;
    border-width: 0;
    border-radius: 0;
}

.tooltip {
    padding: 4 4;
    border-style: none;
    background-color: @theme_tooltip_bg_color;
    color: @theme_tooltip_fg_color;
}

.grip {
    background-color: shade (@inactive_frame_color, 0.93);
}

.pane-separator {
    background-color: @theme_bg_color;
    color: shade (@inactive_frame_color, 0.80);
}

.pane-separator:prelight,
.pane-separator:selected {
    background-color: @theme_bg_color;
    border-color: shade (@highlighted_border, 0.964);
}

/****************
 * Text Entries *
 ****************/
.entry,
.toolbar.entry {
    background-color: @theme_base_color;
    background-image: none;

    border-radius: 2;
    border-width: 1;
    border-style: solid;
    border-color: @button_border;

    padding: 2;
}

.entry:focused {
    border-color: @focused_entry_border;    
}

.entry:insensitive {
    background-color: @insensitive_bg_color;
    border-color: shade (@inactive_frame_color, 0.945);
}

.entry.progressbar {
    /* FIXME: need correct colors/gradient */
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;

    border-width: 1;
    border-radius: 1;
    border-color: @progressbar_border;
}

/*****************
 * GtkSpinButton *
 *****************/
GtkSpinButton.button,
GtkSpinButton.button:insensitive,
GtkSpinButton.button:prelight,
GtkSpinButton.button:active {
    background-image: none;
    background-color: @theme_base_color;
    border-width: 1;
    border-style: none;
    padding: 0;
}

/****************
 * Progress bar *
 ****************/
GtkProgressBar.progressbar {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@progressbar_background_a),
                                     to (@progressbar_background_b));

    border-radius: 3;
    border-style: solid;
    border-color: @progressbar_border;
}

GtkProgressBar.trough {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (@trough_bg_color_b));

    border-width: 1;
    border-style: solid;
    border-radius: 3;
    border-color: shade (@inactive_frame_color, 0.925);
}

/************
 * GtkScale *
 ************/
GtkScale {
    -GtkScale-slider-length: 16;
    -GtkRange-slider-width: 22;
    -GtkRange-trough-border: 0;
}

GtkScale.slider {
    border-width: 1;
    border-radius: 3;
    border-color: shade (@internal_element_color, 0.90);

    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@theme_base_color),
                                     to (@switch_slider_color));
}

GtkScale.trough {
    border-width: 1;
    border-radius: 2;
    border-style: solid;
    border-color: @internal_element_color;
}

GtkScale.trough.horizontal {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (shade (@trough_bg_color_b, 1.20)));
}

GtkScale.trough.vertical {
    background-image: -gtk-gradient (linear,
                                     left top, right top,
                                     from (@trough_bg_color_a),
                                     to (shade (@trough_bg_color_b, 1.20)));
}

GtkScale.progressbar {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@scale_fill_a),
                                     to (@scale_fill_b));

    border-color: #1864b2;
    border-width: 1;
    border-radius: 3;
    border-style: solid;
}

GtkScale.mark {
    background-color: shade (@theme_bg_color, 0.56);
}

GtkFrame,
GtkCalendar {
    padding: 2;
}

.frame {
    color: lighter (@theme_fg_color);
    border-style: none;
    border-width: 0;
}

/*****************
 * Notebooks and *
 * tabs          *
 *****************/
.notebook {
    padding: 2;

    border-color: @notebook_border;
    border-style: solid;
    border-width: 1;
    border-radius: 0;

    background-color: @theme_base_color;

    -GtkNotebook-tab-overlap: 8;
    -GtkNotebook-tab-curvature: 6;
}

.notebook tab {
    padding: 3 8 0;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@theme_base_color),
                                     to (@switch_slider_color));

    -adwaita-focus-border-radius: 2;
}

.notebook tab:active {
    border-width: 1;

    -adwaita-border-gradient: -gtk-gradient (linear,
                                             left top, left bottom,
                                             from (@notebook_active_tab_border),
                                             to (@notebook_border));

    -adwaita-selected-tab-color: #8dc0f3;
    background-color: @theme_base_color;
    background-image: none;
}

.notebook tab .button,
.notebook tab .button:hover,
.notebook tab .button:hover:active {
    border-style: none;
    background-color: alpha (@theme_bg_color, 0.0);
    background-image: none;
}

/**************
 * ComboBoxes *
 **************/

GtkComboBox {
    -GtkComboBox-arrow-scaling: 0.5;
    -GtkComboBox-shadow-type: 2;
}

GtkComboBox.button {
    color: @internal_element_color;
}

/**************
 * Scrollbars *
 **************/

.scrollbar {
    background-image: none;
    border-style: solid;
    -GtkRange-trough-border: 2;
    -GtkRange-arrow-scaling: 0.444;
    -GtkRange-slider-width: 18;
    -GtkRange-stepper-size: 18;
    -GtkScrollbar-min-slider-length: 30; /* minimum size for the slider. sadly can't be in '.slider' where it belongs */

    -GtkRange-stepper-spacing: 1;
    -GtkRange-trough-under-steppers: 1;
}

.scrollbar.trough {
    background-image: none;
    background-color: shade (@theme_bg_color, 0.882);
    border-width: 0;
    border-radius: 0;
}

.scrollbar.slider,
.scrollbar.button {
    background-image: none;
    background-color: @theme_base_color;
    border-color: @button_border;
    border-radius: 3;
    border-width: 1;
}

.scrollbar.slider:prelight {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964);
}

.scrollbar.slider:prelight:active {
    background-image: none;
    background-color: @theme_base_color;
    border-color: @theme_selected_bg_color;
}

.scrollbar.button {
    color: @internal_element_color;
}

.scrollbar.button:prelight {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964)
}

.scrollbar.button:prelight:active {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964)
}

.scrollbar.button:insensitive {
    color: lighter (@internal_element_color);
    background-color: @theme_base_color;
}

.scrollbar.slider:insensitive {
    background-color: @theme_base_color;
}

.scrollbar.trough:insensitive {
    background-color: shade (@theme_bg_color, 0.882);
}

/***********
 * Buttons *
 ***********/
.button {
    padding: 3;

    -adwaita-focus-fill-color: alpha (@theme_base_color, 0.35);
    -adwaita-focus-border-gradient: -gtk-gradient (linear,
                                                   left top, left bottom,
                                                   from (alpha (@keyboard_focus_border_a, 0.62)),
                                                   to (alpha (@keyboard_focus_border_b, 0.62)));
    -adwaita-focus-border-radius: 1;
    -adwaita-focus-border-dashes: 0;
    -GtkWidget-focus-line-width: 2;

    border-radius: 2;
    border-width: 1;
    border-color: @button_border;
    border-style: solid;

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
                                     from (@button_gradient_color_a),
                                     to (@button_gradient_color_b));
}

.button:hover,
.toolbar.button:hover {
    border-color: @button_border;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_base_color),
				     to (shade (@button_gradient_color_a, 0.94)));
}

.button:active,
.toolbar .button:active,
.button:hover:active,
.toolbar.button:hover:active {
    background-image: -gtk-gradient (linear,
    				     left top, left bottom,
                                     from (@button_active_gradient_color),
				     to (alpha (shade (@button_active_gradient_color, 0.83), 0.13)));
    border-color: @highlighted_border;
}

.button:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

.button.default {
    border-width: 2;
    border-color: shade (@button_border, 1.10);
}

/*********
 * Menus *
 *********/

/* this controls the general appearance of the menubar */
.menubar {
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_bg_color),
				     color-stop (0.45, shade (@theme_bg_color, 0.97)),
				     to (shade (@theme_bg_color, 0.99)));
    border-width: 0;
    border-style: none;
    padding: 4;

    -GtkWidget-window-dragging: true;
    -GtkMenuBar-internal-padding: 0;
}

/* remove the image from the prelight areas */
.menubar.menuitem:prelight {
    background-image: none;
    background-color: @theme_base_color;
    color: @theme_text_color;

    border-style: solid;
    border-radius: 3;
    border-width: 1;
    border-color: @inactive_frame_color;
}

.menubar.menuitem {
    border-width: 1;
    border-style: none;
}

.menu {
    padding: 2;

    background-color: @theme_base_color;

    border-style: solid;
    border-width: 1;
    border-radius: 0;
    border-color: @inactive_frame_color;

    -GtkMenuItem-arrow-scaling: 0.4;

}

.menuitem {
    -adwaita-menuitem-arrow-color: @menu_controls_color;
}

.menuitem.accelerator {
    color: alpha (@theme_text_color, 0.66);
}

.menuitem.accelerator:prelight,
.menuitem.accelerator:active {
    color: alpha (@theme_base_color, 0.49);
}

.menuitem:active,
.menuitem:prelight {
    background-color: @selected_bg_color;
    color: @theme_selected_fg_color;
    border-style: solid;
    border-width: 1;
    border-radius: 1;
    border-color: darker (@selected_bg_color);
}

.menu.separator {
    border-color: @inactive_frame_color;

    -GtkSeparatorMenuItem-horizontal-padding: 0;
    -GtkWidget-separator-height: 1;
}

/* menu radio and check items are drawn differently */
.menu.check:active {
    color: @menu_controls_color;
}

.menu.radio:active {
    color: @menu_controls_color;
}

.menu.check:prelight {
    color: @selected_fg_color;
}

.menu.radio:prelight {
    color: @selected_fg_color;
}

/*************************
 * Check and Radio items *
 *************************/

/* draw regular check and radio items using our SVG assets */
.check,
.check row:selected,
.check row:selected:focused {
    background-image: url ("assets/checkbox-unchecked.svg");
}

.check:insensitive,
.check row:selected:insensitive,
.check row:selected:focused:insensitive {
    background-image: url ("assets/checkbox-unchecked-insensitive.svg");
}

.check:active,
.check row:selected:active,
.check row:selected:focused:active {
    background-image: url ("assets/checkbox-checked.svg");
}

.check:active:insensitive,
.check row:selected:active:insensitive,
.check row:selected:focused:active:insensitive
{
    background-image: url ("assets/checkbox-checked-insensitive.svg");
}

.check:inconsistent,
.check row:selected:inconsistent,
.check row:selected:focused:inconsistent {
    background-image: url ("assets/checkbox-mixed.svg");
}

.radio,
.radio row:selected,
.radio row:selected:focused {
    background-image: url ("assets/radio-unselected.svg");
}

.radio:insensitive,
.radio row:selected:insensitive,
.radio row:selected:focused:insensitive {
    background-image: url ("assets/radio-unselected-insensitive.svg");
}

.radio:active,
.radio row:selected:active,
.radio row:selected:focused:active {
    background-image: url ("assets/radio-selected.svg");
}

.radio:active:insensitive,
.radio row:selected:active:insensitive,
.radio row:selected:focused:active:insensitive {
    background-image: url ("assets/radio-selected-insensitive.svg");
}

.radio:inconsistent,
.radio row:selected:inconsistent,
.radio row:selected:focused:inconsistent {
    background-image: url ("assets/radio-mixed.svg");
}

/************
 * Toolbars *
 ************/
.toolbar {
    border-style: solid;
    border-color: darker (@theme_bg_color);
    border-width: 1;
    border-radius: 0;
    padding: 1;
}

.toolbar:insensitive {
    color: alpha (@theme_fg_color, 0.6);
}

/********************
 * Primary Toolbars *
 ********************/

.primary-toolbar.toolbar {
    background-image: -gtk-gradient (linear,
				     left top,
				     left bottom,
				     from (@toolbar_gradient_base),
                                     color-stop (0.01, shade (@theme_bg_color, 0.56)),
                                     color-stop (0.02, @toolbar_gradient_base),
				     color-stop (0.16, @toolbar_gradient_step1),
				     color-stop (0.90, @toolbar_gradient_step2),
				     color-stop (0.98, @toolbar_gradient_final),
                                     color-stop (0.99, shade (@theme_bg_color, 0.83)),
				     to (shade (@theme_bg_color, 0.83)));
    border-width: 0;
    border-radius: 0;
    border-style: none;

    padding: 4;

    -GtkWidget-window-dragging: true;
    -GtkToolbar-button-relief: 0;
    -GtkWidget-separator-width: 1;
    -GtkWidget-wide-separators: 1;
}

.primary-toolbar.toolbar:insensitive {
    background-image: none;
    background-color: shade (@theme_bg_color, 0.97);

    border-style: solid;
    border-width: 1;
    border-color: shade (@theme_bg_color, 0.91);
}

/* primary toolbar buttons */
.primary-toolbar.toolbar.button {
    border-style: none;
    border-width: 1;
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);

    -GtkWidget-focus-line-width: 0;
    -adwaita-focus-fill-color: none;
    -adwaita-focus-border-gradient: none;
}

.primary-toolbar.toolbar.button:insensitive {
    border-style: none;
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
    -GtkWidget-focus-line-width: 0;
}

.primary-toolbar.toolbar.button:hover {
    border-style: none;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (alpha (@theme_base_color, 0.0)),
				     color-stop (0.54, alpha (shade (@theme_base_color, 0.92), 0.49)),
			             to (alpha (@theme_base_color, 0.0)));
}

.primary-toolbar.toolbar.button:active {
    border-style: solid;
    border-radius: 4;
    -adwaita-border-gradient: -gtk-gradient (linear,
                                             left top, left bottom,
                                             from (@toolbar_active_button_color),
                                             to (shade (@toolbar_active_button_color, 1.83)));

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (shade (@toolbar_gradient_base, 0.85)),
			             to (alpha (shade (@toolbar_gradient_base, 0.85), 0.0)));

    color: @theme_base_color;
}

.primary-toolbar.toolbar.button:active:prelight {
    border-style: solid;
    border-radius: 3;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (alpha (shade (@toolbar_gradient_base, 0.76), 0.7)),
			             to (alpha (shade (@toolbar_gradient_base, 1.14), 0.0)));

    color: @theme_base_color;
}

.primary-toolbar.toolbar.button:active:insensitive {
    border-style: solid;
    border-radius: 3;
    border-color: @inactive_frame_color;
    -adwaita-border-gradient: none;
}

.primary-toolbar.toolbar.separator {
    border-style: solid;
    border-width: 1;
    border-color: shade (@theme_bg_color, 0.56);
}

/* primary toolbar raised buttons */
.primary-toolbar.toolbar.raised.button,
.primary-toolbar.toolbar.raised.button:insensitive {
    border-radius: 2;
    border-width: 1;
    border-color: @button_border;
    border-style: solid;

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
                                     from (@button_gradient_color_a),
                                     to (@button_gradient_color_b));

    -GtkWidget-focus-line-width: 2;
}

.primary-toolbar.toolbar.raised.button:hover {
    border-color: @button_border;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_base_color),
				     to (shade (@button_gradient_color_a, 0.94)));
    border-width: 1;
    border-style: solid;
}

.primary-toolbar.toolbar.raised.button:hover:active,
.primary-toolbar.toolbar.raised.button:active {
    background-image: -gtk-gradient (linear,
    				     left top, left bottom,
                                     from (@button_active_gradient_color),
				     to (alpha (shade (@button_active_gradient_color, 0.83), 0.13)));
    background-color: @theme_base_color;

    border-color: @highlighted_border;
    border-width: 1;
    border-style: solid;
}

/* progressbars on primary toolbar entries are special */
.primary-toolbar.toolbar.entry.progressbar {
    /* FIXME: need correct colors/gradient */
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (@trough_bg_color_b));

    border-width: 0;
    border-radius: 2;
    border-color: shade (@inactive_frame_color, 0.925);
}

/*************
 * GtkSwitch *
 *************/

GtkSwitch {
    font: bold condensed 10;
}

GtkSwitch.trough {<commit_msg>adwaita: add an initial class for inline toolbars<commit_after>/* Default color scheme */
@define-color base_color #ffffff;
@define-color bg_color #ededed;
@define-color tooltip_bg_color #343434;
@define-color selected_bg_color #4a90d9;
@define-color text_color #2e3436;
@define-color fg_color #2e3436;
@define-color tooltip_fg_color #ffffff;
@define-color selected_fg_color #ffffff;

/* Colormap actually used by the theme, to be overridden in other css files */
@define-color theme_base_color @base_color;
@define-color theme_text_color @text_color;
@define-color theme_bg_color @bg_color;
@define-color theme_fg_color @fg_color;
@define-color theme_tooltip_bg_color @tooltip_bg_color;
@define-color theme_tooltip_fg_color @tooltip_fg_color;
@define-color theme_selected_bg_color @selected_bg_color;
@define-color theme_selected_fg_color @selected_fg_color;


@define-color link_color #4a90d9;
@define-color frame_color #8a9580;
@define-color inactive_frame_color #c7ccc1;
@define-color warning_color #f57900;
@define-color error_color #cc0000;
@define-color success_color #4e9a06;

@define-color info_fg_color rgb (181, 171, 156);
@define-color info_bg_color rgb (252, 252, 189);
@define-color warning_fg_color rgb (173, 120, 41);
@define-color warning_bg_color rgb (250, 173, 61);
@define-color question_fg_color rgb (97, 122, 214);
@define-color question_bg_color rgb (138, 173, 212);
@define-color error_fg_color rgb (166, 38, 38);
@define-color error_bg_color rgb (237, 54, 54);

@define-color keyboard_focus_border_a #a2c9f1;
@define-color keyboard_focus_border_b #6794cf;

@define-color chrome_bg_color #1e1a17;
@define-color chrome_fg_color #fff;

@define-color focused_entry_border #579eea;

@define-color button_gradient_color_a #f4f6f4;
@define-color button_gradient_color_b #d7dad7;
@define-color button_border #a7aba7;
@define-color button_active_gradient_color #a2a9a2;

@define-color insensitive_bg_color #f4f4f2;
@define-color insensitive_fg_color #a7aba7;

@define-color trough_bg_color_a #ccccc7;
@define-color trough_bg_color_b #e4e4e1;

@define-color active_switch_bg_color_a #509ae7;
@define-color active_switch_bg_color_b #84b8ee;

@define-color switch_slider_color #eeeeec;
@define-color switch_slider_border #2a79cb;

@define-color progressbar_background_a #1f72c6;
@define-color progressbar_background_b #76b0ec;
@define-color progressbar_border #3277bf;

@define-color scale_fill_a #2c85e2;
@define-color scale_fill_b #b8d6f5;

@define-color menu_fg_color #2e87e3;
@define-color menu_controls_color #555753;

@define-color highlighted_border #8a8f8a;
@define-color internal_element_color #888a85;

@define-color notebook_border #a6a6a6;
@define-color notebook_active_tab_border #1372d3;

@define-color toolbar_gradient_base #aaaa9e;
@define-color toolbar_gradient_step1 #bcbcb4;
@define-color toolbar_gradient_step2 #d9d9d7;
@define-color toolbar_gradient_final #e5e5e2;

@define-color toolbar_active_button_color #909081;

* {
    engine: adwaita;
    padding: 1;

    /* Style properties */
    -GtkButton-child-displacement-x: 1;
    -GtkButton-child-displacement-y: 1;
    -GtkButton-default-border: 0;
    -GtkButton-image-spacing: 4;
    -GtkButton-interior-focus: true;
    -GtkToolButton-icon-spacing: 4;

    -GtkTextView-error-underline-color: @error_color;

    -GtkPaned-handle-size: 5;

    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;

    /* The size for scrollbars. The slider is 2px smaller, but we keep it
     * up so that the whole area is sensitive to button presses for the
     * slider. The stepper button is larger in both directions, the slider
     * only in the width
     */

    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;

    -GtkToolItemGroup-expander-size: 12;
    -GtkExpander-expander-size: 12;
    -GtkToolbar-internal-padding: 4;     /* ??? */

    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;

    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkHTML-link-color: @link_color;

    -GtkWidget-wide-separators: 1;

    -WnckTasklist-fade-overlay-rect: 0;

    -GtkEntry-inner-border: 2;
    -GtkButton-inner-border: 2;
    -GtkEntry-progress-border: 0;

    /* Style */
    background-color: @theme_bg_color;
    color: @theme_fg_color;
    border-radius: 3;

    -GtkWidget-focus-padding: 2;
    -GtkWidget-focus-line-width: 1;
    -adwaita-focus-border-color: alpha (@theme_text_color, 0.4);
    -adwaita-focus-border-radius: 2;
    -adwaita-focus-fill-color: none;
    -adwaita-focus-border-gradient: none;
    -adwaita-focus-border-dashes: 1;
}

/***************
 * Base States *
 ***************/
*:hover {
    background-color: shade (@theme_bg_color, 1.02);
    color: @theme_fg_color;
}

*:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

*:selected:focused {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

*:insensitive {
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

*:active {
    background-color: shade (@theme_bg_color, 0.915);
}

.background {
    border-style: none;
    border-width: 0;
    border-radius: 0;
}

.tooltip {
    padding: 4 4;
    border-style: none;
    background-color: @theme_tooltip_bg_color;
    color: @theme_tooltip_fg_color;
}

.grip {
    background-color: shade (@inactive_frame_color, 0.93);
}

.pane-separator {
    background-color: @theme_bg_color;
    color: shade (@inactive_frame_color, 0.80);
}

.pane-separator:prelight,
.pane-separator:selected {
    background-color: @theme_bg_color;
    border-color: shade (@highlighted_border, 0.964);
}

/****************
 * Text Entries *
 ****************/
.entry,
.toolbar.entry {
    background-color: @theme_base_color;
    background-image: none;

    border-radius: 2;
    border-width: 1;
    border-style: solid;
    border-color: @button_border;

    padding: 2;
}

.entry:focused {
    border-color: @focused_entry_border;    
}

.entry:insensitive {
    background-color: @insensitive_bg_color;
    border-color: shade (@inactive_frame_color, 0.945);
}

.entry.progressbar {
    /* FIXME: need correct colors/gradient */
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;

    border-width: 1;
    border-radius: 1;
    border-color: @progressbar_border;
}

/*****************
 * GtkSpinButton *
 *****************/
GtkSpinButton.button,
GtkSpinButton.button:insensitive,
GtkSpinButton.button:prelight,
GtkSpinButton.button:active {
    background-image: none;
    background-color: @theme_base_color;
    border-width: 1;
    border-style: none;
    padding: 0;
}

/****************
 * Progress bar *
 ****************/
GtkProgressBar.progressbar {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@progressbar_background_a),
                                     to (@progressbar_background_b));

    border-radius: 3;
    border-style: solid;
    border-color: @progressbar_border;
}

GtkProgressBar.trough {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (@trough_bg_color_b));

    border-width: 1;
    border-style: solid;
    border-radius: 3;
    border-color: shade (@inactive_frame_color, 0.925);
}

/************
 * GtkScale *
 ************/
GtkScale {
    -GtkScale-slider-length: 16;
    -GtkRange-slider-width: 22;
    -GtkRange-trough-border: 0;
}

GtkScale.slider {
    border-width: 1;
    border-radius: 3;
    border-color: shade (@internal_element_color, 0.90);

    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@theme_base_color),
                                     to (@switch_slider_color));
}

GtkScale.trough {
    border-width: 1;
    border-radius: 2;
    border-style: solid;
    border-color: @internal_element_color;
}

GtkScale.trough.horizontal {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (shade (@trough_bg_color_b, 1.20)));
}

GtkScale.trough.vertical {
    background-image: -gtk-gradient (linear,
                                     left top, right top,
                                     from (@trough_bg_color_a),
                                     to (shade (@trough_bg_color_b, 1.20)));
}

GtkScale.progressbar {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@scale_fill_a),
                                     to (@scale_fill_b));

    border-color: #1864b2;
    border-width: 1;
    border-radius: 3;
    border-style: solid;
}

GtkScale.mark {
    background-color: shade (@theme_bg_color, 0.56);
}

GtkFrame,
GtkCalendar {
    padding: 2;
}

.frame {
    color: lighter (@theme_fg_color);
    border-style: none;
    border-width: 0;
}

/*****************
 * Notebooks and *
 * tabs          *
 *****************/
.notebook {
    padding: 2;

    border-color: @notebook_border;
    border-style: solid;
    border-width: 1;
    border-radius: 0;

    background-color: @theme_base_color;

    -GtkNotebook-tab-overlap: 8;
    -GtkNotebook-tab-curvature: 6;
}

.notebook tab {
    padding: 3 8 0;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@theme_base_color),
                                     to (@switch_slider_color));

    -adwaita-focus-border-radius: 2;
}

.notebook tab:active {
    border-width: 1;

    -adwaita-border-gradient: -gtk-gradient (linear,
                                             left top, left bottom,
                                             from (@notebook_active_tab_border),
                                             to (@notebook_border));

    -adwaita-selected-tab-color: #8dc0f3;
    background-color: @theme_base_color;
    background-image: none;
}

.notebook tab .button,
.notebook tab .button:hover,
.notebook tab .button:hover:active {
    border-style: none;
    background-color: alpha (@theme_bg_color, 0.0);
    background-image: none;
}

/**************
 * ComboBoxes *
 **************/

GtkComboBox {
    -GtkComboBox-arrow-scaling: 0.5;
    -GtkComboBox-shadow-type: 2;
}

GtkComboBox.button {
    color: @internal_element_color;
}

/**************
 * Scrollbars *
 **************/

.scrollbar {
    background-image: none;
    border-style: solid;
    -GtkRange-trough-border: 2;
    -GtkRange-arrow-scaling: 0.444;
    -GtkRange-slider-width: 18;
    -GtkRange-stepper-size: 18;
    -GtkScrollbar-min-slider-length: 30; /* minimum size for the slider. sadly can't be in '.slider' where it belongs */

    -GtkRange-stepper-spacing: 1;
    -GtkRange-trough-under-steppers: 1;
}

.scrollbar.trough {
    background-image: none;
    background-color: shade (@theme_bg_color, 0.882);
    border-width: 0;
    border-radius: 0;
}

.scrollbar.slider,
.scrollbar.button {
    background-image: none;
    background-color: @theme_base_color;
    border-color: @button_border;
    border-radius: 3;
    border-width: 1;
}

.scrollbar.slider:prelight {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964);
}

.scrollbar.slider:prelight:active {
    background-image: none;
    background-color: @theme_base_color;
    border-color: @theme_selected_bg_color;
}

.scrollbar.button {
    color: @internal_element_color;
}

.scrollbar.button:prelight {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964)
}

.scrollbar.button:prelight:active {
    background-image: none;
    background-color: @theme_base_color;
    border-color: shade (@highlighted_border, 0.964)
}

.scrollbar.button:insensitive {
    color: lighter (@internal_element_color);
    background-color: @theme_base_color;
}

.scrollbar.slider:insensitive {
    background-color: @theme_base_color;
}

.scrollbar.trough:insensitive {
    background-color: shade (@theme_bg_color, 0.882);
}

/***********
 * Buttons *
 ***********/
.button {
    padding: 3;

    -adwaita-focus-fill-color: alpha (@theme_base_color, 0.35);
    -adwaita-focus-border-gradient: -gtk-gradient (linear,
                                                   left top, left bottom,
                                                   from (alpha (@keyboard_focus_border_a, 0.62)),
                                                   to (alpha (@keyboard_focus_border_b, 0.62)));
    -adwaita-focus-border-radius: 1;
    -adwaita-focus-border-dashes: 0;
    -GtkWidget-focus-line-width: 2;

    border-radius: 2;
    border-width: 1;
    border-color: @button_border;
    border-style: solid;

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
                                     from (@button_gradient_color_a),
                                     to (@button_gradient_color_b));
}

.button:hover,
.toolbar.button:hover {
    border-color: @button_border;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_base_color),
				     to (shade (@button_gradient_color_a, 0.94)));
}

.button:active,
.toolbar .button:active,
.button:hover:active,
.toolbar.button:hover:active {
    background-image: -gtk-gradient (linear,
    				     left top, left bottom,
                                     from (@button_active_gradient_color),
				     to (alpha (shade (@button_active_gradient_color, 0.83), 0.13)));
    border-color: @highlighted_border;
}

.button:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

.button.default {
    border-width: 2;
    border-color: shade (@button_border, 1.10);
}

/*********
 * Menus *
 *********/

/* this controls the general appearance of the menubar */
.menubar {
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_bg_color),
				     color-stop (0.45, shade (@theme_bg_color, 0.97)),
				     to (shade (@theme_bg_color, 0.99)));
    border-width: 0;
    border-style: none;
    padding: 4;

    -GtkWidget-window-dragging: true;
    -GtkMenuBar-internal-padding: 0;
}

/* remove the image from the prelight areas */
.menubar.menuitem:prelight {
    background-image: none;
    background-color: @theme_base_color;
    color: @theme_text_color;

    border-style: solid;
    border-radius: 3;
    border-width: 1;
    border-color: @inactive_frame_color;
}

.menubar.menuitem {
    border-width: 1;
    border-style: none;
}

.menu {
    padding: 2;

    background-color: @theme_base_color;

    border-style: solid;
    border-width: 1;
    border-radius: 0;
    border-color: @inactive_frame_color;

    -GtkMenuItem-arrow-scaling: 0.4;

}

.menuitem {
    -adwaita-menuitem-arrow-color: @menu_controls_color;
}

.menuitem.accelerator {
    color: alpha (@theme_text_color, 0.66);
}

.menuitem.accelerator:prelight,
.menuitem.accelerator:active {
    color: alpha (@theme_base_color, 0.49);
}

.menuitem:active,
.menuitem:prelight {
    background-color: @selected_bg_color;
    color: @theme_selected_fg_color;
    border-style: solid;
    border-width: 1;
    border-radius: 1;
    border-color: darker (@selected_bg_color);
}

.menu.separator {
    border-color: @inactive_frame_color;

    -GtkSeparatorMenuItem-horizontal-padding: 0;
    -GtkWidget-separator-height: 1;
}

/* menu radio and check items are drawn differently */
.menu.check:active {
    color: @menu_controls_color;
}

.menu.radio:active {
    color: @menu_controls_color;
}

.menu.check:prelight {
    color: @selected_fg_color;
}

.menu.radio:prelight {
    color: @selected_fg_color;
}

/*************************
 * Check and Radio items *
 *************************/

/* draw regular check and radio items using our SVG assets */
.check,
.check row:selected,
.check row:selected:focused {
    background-image: url ("assets/checkbox-unchecked.svg");
}

.check:insensitive,
.check row:selected:insensitive,
.check row:selected:focused:insensitive {
    background-image: url ("assets/checkbox-unchecked-insensitive.svg");
}

.check:active,
.check row:selected:active,
.check row:selected:focused:active {
    background-image: url ("assets/checkbox-checked.svg");
}

.check:active:insensitive,
.check row:selected:active:insensitive,
.check row:selected:focused:active:insensitive
{
    background-image: url ("assets/checkbox-checked-insensitive.svg");
}

.check:inconsistent,
.check row:selected:inconsistent,
.check row:selected:focused:inconsistent {
    background-image: url ("assets/checkbox-mixed.svg");
}

.radio,
.radio row:selected,
.radio row:selected:focused {
    background-image: url ("assets/radio-unselected.svg");
}

.radio:insensitive,
.radio row:selected:insensitive,
.radio row:selected:focused:insensitive {
    background-image: url ("assets/radio-unselected-insensitive.svg");
}

.radio:active,
.radio row:selected:active,
.radio row:selected:focused:active {
    background-image: url ("assets/radio-selected.svg");
}

.radio:active:insensitive,
.radio row:selected:active:insensitive,
.radio row:selected:focused:active:insensitive {
    background-image: url ("assets/radio-selected-insensitive.svg");
}

.radio:inconsistent,
.radio row:selected:inconsistent,
.radio row:selected:focused:inconsistent {
    background-image: url ("assets/radio-mixed.svg");
}

/************
 * Toolbars *
 ************/
.toolbar {
    border-style: solid;
    border-color: darker (@theme_bg_color);
    border-width: 1;
    border-radius: 0;
    padding: 1;
}

.toolbar:insensitive {
    color: alpha (@theme_fg_color, 0.6);
}

/********************
 * Primary Toolbars *
 ********************/

.primary-toolbar.toolbar {
    background-image: -gtk-gradient (linear,
				     left top,
				     left bottom,
				     from (@toolbar_gradient_base),
                                     color-stop (0.01, shade (@theme_bg_color, 0.56)),
                                     color-stop (0.02, @toolbar_gradient_base),
				     color-stop (0.16, @toolbar_gradient_step1),
				     color-stop (0.90, @toolbar_gradient_step2),
				     color-stop (0.98, @toolbar_gradient_final),
                                     color-stop (0.99, shade (@theme_bg_color, 0.83)),
				     to (shade (@theme_bg_color, 0.83)));
    border-width: 0;
    border-radius: 0;
    border-style: none;

    padding: 4;

    -GtkWidget-window-dragging: true;
    -GtkToolbar-button-relief: 0;
    -GtkWidget-separator-width: 1;
    -GtkWidget-wide-separators: 1;
}

.primary-toolbar.toolbar:insensitive {
    background-image: none;
    background-color: shade (@theme_bg_color, 0.97);

    border-style: solid;
    border-width: 1;
    border-color: shade (@theme_bg_color, 0.91);
}

/* primary toolbar buttons */
.primary-toolbar.toolbar.button {
    border-style: none;
    border-width: 1;
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);

    -GtkWidget-focus-line-width: 0;
    -adwaita-focus-fill-color: none;
    -adwaita-focus-border-gradient: none;
}

.primary-toolbar.toolbar.button:insensitive {
    border-style: none;
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
    -GtkWidget-focus-line-width: 0;
}

.primary-toolbar.toolbar.button:hover {
    border-style: none;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (alpha (@theme_base_color, 0.0)),
				     color-stop (0.54, alpha (shade (@theme_base_color, 0.92), 0.49)),
			             to (alpha (@theme_base_color, 0.0)));
}

.primary-toolbar.toolbar.button:active {
    border-style: solid;
    border-radius: 4;
    -adwaita-border-gradient: -gtk-gradient (linear,
                                             left top, left bottom,
                                             from (@toolbar_active_button_color),
                                             to (shade (@toolbar_active_button_color, 1.83)));

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (shade (@toolbar_gradient_base, 0.85)),
			             to (alpha (shade (@toolbar_gradient_base, 0.85), 0.0)));

    color: @theme_base_color;
}

.primary-toolbar.toolbar.button:active:prelight {
    border-style: solid;
    border-radius: 3;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (alpha (shade (@toolbar_gradient_base, 0.76), 0.7)),
			             to (alpha (shade (@toolbar_gradient_base, 1.14), 0.0)));

    color: @theme_base_color;
}

.primary-toolbar.toolbar.button:active:insensitive {
    border-style: solid;
    border-radius: 3;
    border-color: @inactive_frame_color;
    -adwaita-border-gradient: none;
}

.primary-toolbar.toolbar.separator {
    border-style: solid;
    border-width: 1;
    border-color: shade (@theme_bg_color, 0.56);
}

/* primary toolbar raised buttons */
.primary-toolbar.toolbar.raised.button,
.primary-toolbar.toolbar.raised.button:insensitive {
    border-radius: 2;
    border-width: 1;
    border-color: @button_border;
    border-style: solid;

    background-image: -gtk-gradient (linear,
				     left top, left bottom,
                                     from (@button_gradient_color_a),
                                     to (@button_gradient_color_b));

    -GtkWidget-focus-line-width: 2;
}

.primary-toolbar.toolbar.raised.button:hover {
    border-color: @button_border;
    background-image: -gtk-gradient (linear,
				     left top, left bottom,
				     from (@theme_base_color),
				     to (shade (@button_gradient_color_a, 0.94)));
    border-width: 1;
    border-style: solid;
}

.primary-toolbar.toolbar.raised.button:hover:active,
.primary-toolbar.toolbar.raised.button:active {
    background-image: -gtk-gradient (linear,
    				     left top, left bottom,
                                     from (@button_active_gradient_color),
				     to (alpha (shade (@button_active_gradient_color, 0.83), 0.13)));
    background-color: @theme_base_color;

    border-color: @highlighted_border;
    border-width: 1;
    border-style: solid;
}

/* progressbars on primary toolbar entries are special */
.primary-toolbar.toolbar.entry.progressbar {
    /* FIXME: need correct colors/gradient */
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@trough_bg_color_a),
                                     to (@trough_bg_color_b));

    border-width: 0;
    border-radius: 2;
    border-color: shade (@inactive_frame_color, 0.925);
}

/*******************
 * Inline toolbars *
 *******************/

.inline-toolbar.toolbar {
    border-width: 1;
    border-radius: 3;
    border-style: solid;

    background-image: -gtk-gradient (linear,
				     left top,
				     left bottom,
				     from (@toolbar_gradient_base),
				     color-stop (0.16, @toolbar_gradient_step1),
				     color-stop (0.90, @toolbar_gradient_step2),
				     color-stop (0.98, @toolbar_gradient_final),
                                     color-stop (0.99, shade (@theme_bg_color, 0.83)),
				     to (shade (@theme_bg_color, 0.83)));
}

/*************
 * GtkSwitch *
 *************/

GtkSwitch {
    font: bold condensed 10;
}

GtkSwitch.trough {
{'fraction_non_alphanumeric': 0.13796620975454255, 'fraction_numerical': 0.023589416640102008, 'mean_word_length': 2.7948387096774194, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 143, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7034547', 'n_tokens_mistral': 16762, 'n_tokens_neox': 15315, 'n_words': 2999}