// Vita3K emulator project
// Copyright (C) 2026 Vita3K team
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

#include <gui-qt/stylesheets.h>

namespace gui::stylesheets {

// Light built-in stylesheet
const QString light_style_sheet(
    "QWidget { color: #202020; background-color: #f5f5f5; }"
    "QWidget:disabled { color: #8a8a8a; }"
    "QMainWindow { background-color: #f5f5f5; }"
    "QDialog { background-color: #f5f5f5; }"
    "QMenuBar { background-color: #f0f0f0; color: #202020; }"
    "QMenuBar::item { background: transparent; padding: 4px 8px; }"
    "QMenuBar::item:selected { background: #e1e1e1; }"
    "QMenu { background-color: #f7f7f7; color: #202020; border: 1px solid #c6c6c6; }"
    "QMenu::item:selected { background-color: #d6e8ff; color: #202020; }"
    "QMenu::item:disabled { color: #808080; }"
    "QMenu::separator { height: 1px; background: #d0d0d0; margin: 4px 8px; }"
    "QToolBar#mw_toolbar { background-color: #f0f0f0; border: none; border-top: 1px solid #cfcfcf; }"
    "QToolBar#mw_toolbar::separator { background-color: rgba(207, 207, 207, 235); width: 0.125em; margin-top: 0.250em; margin-bottom: 0.250em; }"
    "QToolButton { color: #202020; background: transparent; border: 1px solid transparent; padding: 3px; }"
    "QToolButton:hover { background-color: #e8e8e8; border: 1px solid #bdbdbd; }"
    "QToolButton:pressed { background-color: #d8d8d8; color: #202020; }"
    "QToolButton:disabled { color: #808080; }"
    "QToolButton#welcome_firmware_button { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; border-radius: 2px; padding: 4px 32px 4px 12px; text-align: left; }"
    "QToolButton#welcome_firmware_button:hover { background-color: #f3f3f3; border-color: #9f9f9f; }"
    "QToolButton#welcome_firmware_button:pressed { background-color: #e3e3e3; }"
    "QToolButton#welcome_firmware_button::menu-button { subcontrol-origin: padding; subcontrol-position: top right; width: 24px; border-left: 1px solid #b8b8b8; border-top-right-radius: 2px; border-bottom-right-radius: 2px; background: #f3f3f3; }"
    "QToolButton#welcome_firmware_button::menu-button:hover { background: #e8e8e8; border-left-color: #9f9f9f; }"
    "QToolButton#welcome_firmware_button::menu-button:pressed { background: #dcdcdc; }"
    "QLabel#toolbar_icon_color { color: #5b5b5b; }"
    "QPushButton { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; border-radius: 2px; padding: 4px 16px; min-height: 1.2em; }"
    "QPushButton:hover { background-color: #f3f3f3; border-color: #9f9f9f; }"
    "QPushButton:pressed { background-color: #e3e3e3; }"
    "QPushButton:disabled { color: #8a8a8a; background-color: #efefef; border-color: #d4d4d4; }"
    "QPushButton:default { border-color: #148aff; }"
    "QDialog#ControlsDialog QPushButton { background-color: #ececec; color: #202020; border: none; border-radius: 6px; padding: 6px 12px; outline: none; }"
    "QDialog#ControlsDialog QPushButton:hover { background-color: #e3e3e3; border: none; }"
    "QDialog#ControlsDialog QPushButton:pressed { background-color: #d8d8d8; border: none; }"
    "QDialog#ControlsDialog QPushButton:disabled { color: #8a8a8a; background-color: #e4e4e4; border: none; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"] { background-color: #e6e6e6; border-radius: 6px; padding: 6px 12px; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"]:hover { background-color: #dddddd; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"]:pressed { background-color: #d2d2d2; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"] { background-color: #148aff; color: #ffffff; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"]:hover { background-color: #2a97ff; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"]:pressed { background-color: #0f74d6; }"
    "QStatusBar#emulatorStatusBar { background-color: #f0f0f0; color: #202020; }"
    "QStatusBar#emulatorStatusBar::item { border: none; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button { border: 1px solid transparent; padding: 2px 8px; font-weight: bold; font-size: 11px; background: transparent; border-radius: 6px; color: #202020; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button:hover { border: 1px solid #a0a0a0; background: rgba(0, 0, 0, 0.03); }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button:pressed { border: 1px solid #8a8a8a; background: rgba(0, 0, 0, 0.06); }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"renderer_vulkan\"] { color: #ff4444; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"renderer_opengl\"] { color: #4488ff; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"high\"] { color: #ff8800; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"standard\"] { color: #aaaaaa; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"neutral\"] { color: #5f5f5f; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"audio\"] { color: #4b9b2f; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"muted\"] { color: #777777; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"update\"] { color: #1f8f4e; }"
    "QLineEdit { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; border-radius: 2px; padding: 2px 4px; selection-background-color: #148aff; selection-color: #ffffff; }"
    "QLineEdit:focus { border-color: #148aff; }"
    "QLineEdit:disabled { color: #8a8a8a; background-color: #f0f0f0; border-color: #d0d0d0; }"
    "QComboBox { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; border-radius: 2px; padding: 2px 28px 2px 6px; }"
    "QComboBox:hover { border-color: #9f9f9f; }"
    "QComboBox:disabled { color: #8a8a8a; background-color: #f0f0f0; border-color: #d0d0d0; }"
    "QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; width: 24px; border: none; background: transparent; }"
    "QComboBox::down-arrow { image: url(:/icons/chevron_down_dark.svg); width: 10px; height: 6px; }"
    "QComboBox::down-arrow:on { top: 1px; }"
    "QComboBox QAbstractItemView { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; selection-background-color: #148aff; selection-color: #ffffff; }"
    "QSpinBox, QDoubleSpinBox { background-color: #ffffff; color: #202020; border: 1px solid #b8b8b8; border-radius: 2px; padding: 2px 24px 2px 6px; selection-background-color: #148aff; selection-color: #ffffff; }"
    "QSpinBox:disabled, QDoubleSpinBox:disabled { color: #8a8a8a; background-color: #f0f0f0; border-color: #d0d0d0; }"
    "QSpinBox::up-button, QDoubleSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 18px; border: none; background: transparent; }"
    "QSpinBox::down-button, QDoubleSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; width: 18px; border: none; background: transparent; }"
    "QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { image: url(:/icons/chevron_up_dark.svg); width: 10px; height: 6px; }"
    "QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { image: url(:/icons/chevron_down_dark.svg); width: 10px; height: 6px; }"
    "QCheckBox { color: #202020; spacing: 6px; }"
    "QCheckBox:disabled { color: #8a8a8a; }"
    "QRadioButton { color: #202020; spacing: 6px; }"
    "QRadioButton:disabled { color: #8a8a8a; }"
    "QGroupBox { color: #202020; border: 1px solid #c8c8c8; border-radius: 4px; margin-top: 0.5em; padding-top: 0.6em; }"
    "QGroupBox:disabled { color: #9a9a9a; border-color: #d8d8d8; }"
    "QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; padding: 0 4px; color: #202020; }"
    "QLabel { color: #202020; background: transparent; }"
    "QLabel:disabled { color: #8a8a8a; }"
    "QTableWidget, QTableView { alternate-background-color: #f2f2f2; background-color: #ffffff; border: none; color: #202020; gridline-color: #e0e0e0; }"
    "QTableWidget:disabled, QTableView:disabled { color: #8a8a8a; background-color: #f0f0f0; }"
    "QTableCornerButton::section { background-color: #ececec; border: 1px solid #d4d4d4; }"
    "QTableView::item { border-left: 0.063em solid #ffffff; border-right: 0.063em solid #ffffff; padding-left: 0.313em; }"
    "QTableView::item:selected { background-color: #148aff; color: #ffffff; }"
    "QTableWidget#apps_list_table::item:selected, QTableView#apps_list_table::item:selected { background-color: rgba(84, 140, 188, 48); color: #202020; border-left: 0.063em solid rgba(84, 140, 188, 0); border-right: 0.063em solid rgba(84, 140, 188, 0); }"
    "QTableView#apps_list_table QHeaderView::section, QTableWidget#apps_list_table QHeaderView::section { padding-top: 0; padding-bottom: 0; }"
    "QTableView#trophy_app_table::item:selected, QTableView#trophy_table::item:selected { background-color: rgba(84, 140, 188, 48); color: #202020; border-left: 0.063em solid rgba(84, 140, 188, 0); border-right: 0.063em solid rgba(84, 140, 188, 0); }"
    "QHeaderView::section { background-color: #ececec; color: #202020; padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #ffffff; }"
    "QHeaderView::section:hover { background: #e0e0e0; }"
    "QDockWidget { background: transparent; color: #202020; }"
    "QDockWidget[floating=\"true\"] { background: #f5f5f5; }"
    "QDockWidget::title { background: #ececec; border: none; padding-top: 0.2em; padding-left: 0.2em; }"
    "QDockWidget::close-button, QDockWidget::float-button { background-color: #ececec; border: none; }"
    "QDockWidget::close-button:hover, QDockWidget::float-button:hover { background-color: #e0e0e0; }"
    "QPlainTextEdit#log_frame { background-color: #ffffff; color: #202020; }"
    "QWidget#log_search_container { background-color: #ffffff; border: 1px solid #c8c8c8; border-radius: 4px; }"
    "QWidget#toolbar_icon_size_container { background-color: #f0f0f0; }"
    "QSlider#toolbar_icon_size_slider { background: transparent; }"
    "QSlider#toolbar_icon_size_slider::groove:horizontal { background: transparent; height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::sub-page:horizontal { background: #7f7f7f; height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::add-page:horizontal { background: #c8c8c8; height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::handle:horizontal { background: #5b5b5b; width: 14px; margin: -5px 0; border-radius: 7px; }"
    "QSlider#toolbar_icon_size_slider::handle:horizontal:hover { background: #404040; }"
    "QLabel#log_level_fatal { color: #ff00ff; }"
    "QLabel#log_level_error { color: #C02F1D; }"
    "QLabel#log_level_warning { color: #BA8745; }"
    "QLabel#log_level_notice { color: #000000; }"
    "QLabel#log_level_trace { color: #808080; }"
    "QTabWidget::pane { border: 1px solid #c8c8c8; background-color: #f5f5f5; }"
    "QTabBar::tab { background-color: #e9e9e9; color: #202020; padding: 6px 14px; border: 1px solid #c8c8c8; border-bottom: none; border-top-left-radius: 3px; border-top-right-radius: 3px; }"
    "QTabBar::tab:selected { background-color: #f5f5f5; }"
    "QTabBar::tab:!selected { margin-top: 2px; }"
    "QTabBar::tab:hover:!selected { background-color: #dfdfdf; }"
    "QListWidget { background-color: #ffffff; color: #202020; border: 1px solid #c8c8c8; }"
    "QListWidget:disabled { color: #8a8a8a; background-color: #f0f0f0; border-color: #d6d6d6; }"
    "QListWidget::item:selected { background-color: #148aff; color: #ffffff; }"
    "QListWidget::item:hover:!selected { background-color: #f2f2f2; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory { background-color: #ffffff; border: none; border-radius: 10px; padding: 6px; outline: none; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item { background: transparent; border: none; border-radius: 10px; padding: 8px 12px; margin: 0px; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected,"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected:active,"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected:!active { background-color: #148aff; color: #ffffff; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:hover:!selected { background-color: #f2f2f2; }"
    "QDialog[class=\"settings-window\"] QTextBrowser#helpText { background-color: #ffffff; color: #202020; border: none; border-radius: 10px; padding: 3px 4px; }"
    "QScrollBar:vertical { background: #f0f0f0; width: 14px; margin: 0; }"
    "QScrollBar::handle:vertical { background: #b0b0b0; min-height: 20px; border-radius: 3px; margin: 2px; }"
    "QScrollBar::handle:vertical:hover { background: #989898; }"
    "QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; }"
    "QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; }"
    "QScrollBar:horizontal { background: #f0f0f0; height: 14px; margin: 0; }"
    "QScrollBar::handle:horizontal { background: #b0b0b0; min-width: 20px; border-radius: 3px; margin: 2px; }"
    "QScrollBar::handle:horizontal:hover { background: #989898; }"
    "QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0px; }"
    "QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { background: none; }"
    "QSlider::groove:horizontal { background: #c8c8c8; height: 4px; border-radius: 2px; }"
    "QSlider::handle:horizontal { background: #7f7f7f; width: 14px; margin: -5px 0; border-radius: 7px; }"
    "QSlider::handle:horizontal:hover { background: #666666; }"
    "QSlider::groove:vertical { background: #c8c8c8; width: 4px; border-radius: 2px; }"
    "QSlider::handle:vertical { background: #7f7f7f; height: 14px; margin: 0 -5px; border-radius: 7px; }"
    "QSlider::handle:vertical:hover { background: #666666; }"
    "QProgressBar { background-color: #ffffff; color: #202020; border: 1px solid #c8c8c8; text-align: center; border-radius: 2px; }"
    "QProgressBar::chunk { background-color: #148aff; border-radius: 2px; }"
    "QSplitter::handle { background-color: #d4d4d4; }"
    "QToolTip { background-color: #f7f7f7; color: #202020; border: 1px solid #c8c8c8; padding: 2px; }"
    "QPlainTextEdit, QTextEdit, QTextBrowser { background-color: #ffffff; color: #202020; border: 1px solid #c8c8c8; }"
    "QPlainTextEdit:disabled, QTextEdit:disabled, QTextBrowser:disabled { color: #8a8a8a; background-color: #f0f0f0; border-color: #d0d0d0; }"
    "QDialogButtonBox QPushButton { min-width: 80px; }");

const QString dark_style_sheet(
    "QWidget { color: #e0e0e0; background-color: #353535; }"
    "QWidget:disabled { color: #777777; }"
    "QMainWindow { background-color: #353535; }"
    "QDialog { background-color: #353535; }"
    "QMenuBar { background-color: #353535; color: #e0e0e0; }"
    "QMenuBar::item { background: transparent; padding: 4px 8px; }"
    "QMenuBar::item:selected { background: #4a4a4a; }"
    "QMenu { background-color: #353535; color: #e0e0e0; border: 1px solid #555555; }"
    "QMenu::item:selected { background-color: rgba(255, 255, 255, 0.12); color: #ffffff; }"
    "QMenu::item:disabled { color: #808080; }"
    "QMenu::separator { height: 1px; background: #555555; margin: 4px 8px; }"
    "QToolBar#mw_toolbar { background-color: #353535; border: none; border-top: 1px solid #555555; }"
    "QToolBar#mw_toolbar::separator { background-color: rgba(100, 100, 100, 235); width: 0.125em; margin-top: 0.250em; margin-bottom: 0.250em; }"
    "QToolButton { color: #e0e0e0; background: transparent; border: 1px solid transparent; padding: 3px; }"
    "QToolButton:hover { background-color: #4a4a4a; border: 1px solid #666666; }"
    "QToolButton:pressed { background-color: rgba(255, 255, 255, 0.12); }"
    "QToolButton:disabled { color: #808080; }"
    "QToolButton#welcome_firmware_button { background-color: #353535; color: #e0e0e0; border: 1px solid #555555; border-radius: 2px; padding: 4px 32px 4px 12px; text-align: left; }"
    "QToolButton#welcome_firmware_button:hover { background-color: #4a4a4a; border-color: #666666; }"
    "QToolButton#welcome_firmware_button:pressed { background-color: rgba(255, 255, 255, 0.12); }"
    "QToolButton#welcome_firmware_button::menu-button { subcontrol-origin: padding; subcontrol-position: top right; width: 24px; border-left: 1px solid #555555; border-top-right-radius: 2px; border-bottom-right-radius: 2px; background: #303030; }"
    "QToolButton#welcome_firmware_button::menu-button:hover { background: #444444; border-left-color: #666666; }"
    "QToolButton#welcome_firmware_button::menu-button:pressed { background: rgba(255, 255, 255, 0.12); }"
    "QLabel#toolbar_icon_color { color: #f3f3f3; }"
    "QPushButton { background-color: #353535; color: #e0e0e0; border: 1px solid #555555; border-radius: 2px; padding: 4px 16px; min-height: 1.2em; }"
    "QPushButton:hover { background-color: #4a4a4a; border-color: #666666; }"
    "QPushButton:pressed { background-color: rgba(255, 255, 255, 0.12); }"
    "QPushButton:disabled { color: #808080; background-color: #303030; border-color: #444444; }"
    "QPushButton:default { border-color: rgba(255, 255, 255, 0.24); }"
    "QDialog#ControlsDialog QPushButton { background-color: #303030; color: #e0e0e0; border: none; border-radius: 6px; padding: 6px 12px; outline: none; }"
    "QDialog#ControlsDialog QPushButton:hover { background-color: #3a3a3a; border: none; }"
    "QDialog#ControlsDialog QPushButton:pressed { background-color: #464646; border: none; }"
    "QDialog#ControlsDialog QPushButton:disabled { color: #808080; background-color: #2c2c2c; border: none; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"] { background-color: #2f2f2f; border-radius: 6px; padding: 6px 12px; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"]:hover { background-color: #393939; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"]:pressed { background-color: #454545; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"] { background-color: rgba(255, 255, 255, 0.18); color: #ffffff; }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"]:hover { background-color: rgba(255, 255, 255, 0.24); }"
    "QDialog#ControlsDialog QPushButton[bindButton=\"true\"][captureActive=\"true\"]:pressed { background-color: rgba(255, 255, 255, 0.30); }"
    "QStatusBar#emulatorStatusBar { background-color: #353535; color: #e0e0e0; }"
    "QStatusBar#emulatorStatusBar::item { border: none; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button { border: 1px solid transparent; padding: 2px 8px; font-weight: bold; font-size: 11px; background: transparent; border-radius: 6px; color: #e0e0e0; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button:hover { border: 1px solid #666666; background: rgba(255, 255, 255, 0.04); }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button:pressed { border: 1px solid #888888; background: rgba(255, 255, 255, 0.07); }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"renderer_vulkan\"] { color: #ff4444; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"renderer_opengl\"] { color: #4488ff; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"high\"] { color: #ff8800; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"standard\"] { color: #aaaaaa; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"neutral\"] { color: #cccccc; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"audio\"] { color: #88dd44; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"muted\"] { color: #777777; }"
    "QStatusBar#emulatorStatusBar QPushButton#status_button[accent=\"update\"] { color: #6de089; }"
    "QLineEdit { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; border-radius: 2px; padding: 2px 4px; selection-background-color: rgba(255, 255, 255, 0.18); selection-color: #ffffff; }"
    "QLineEdit:focus { border-color: rgba(255, 255, 255, 0.24); }"
    "QLineEdit:disabled { color: #777777; background-color: #303030; border-color: #444444; }"
    "QComboBox { background-color: #353535; color: #e0e0e0; border: 1px solid #555555; border-radius: 2px; padding: 2px 28px 2px 6px; }"
    "QComboBox:hover { border-color: #666666; }"
    "QComboBox:disabled { color: #777777; background-color: #303030; border-color: #444444; }"
    "QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; width: 24px; border: none; background: transparent; }"
    "QComboBox::down-arrow { image: url(:/icons/chevron_down_light.svg); width: 10px; height: 6px; }"
    "QComboBox::down-arrow:on { top: 1px; }"
    "QComboBox QAbstractItemView { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; selection-background-color: rgba(255, 255, 255, 0.12); selection-color: #ffffff; }"
    "QSpinBox, QDoubleSpinBox { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; border-radius: 2px; padding: 2px 24px 2px 6px; selection-background-color: rgba(255, 255, 255, 0.18); selection-color: #ffffff; }"
    "QSpinBox:disabled, QDoubleSpinBox:disabled { color: #777777; background-color: #303030; border-color: #444444; }"
    "QSpinBox::up-button, QDoubleSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 18px; border: none; background: transparent; }"
    "QSpinBox::down-button, QDoubleSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; width: 18px; border: none; background: transparent; }"
    "QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { image: url(:/icons/chevron_up_light.svg); width: 10px; height: 6px; }"
    "QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { image: url(:/icons/chevron_down_light.svg); width: 10px; height: 6px; }"
    "QCheckBox { color: #e0e0e0; spacing: 6px; }"
    "QCheckBox:disabled { color: #777777; }"
    "QRadioButton { color: #e0e0e0; spacing: 6px; }"
    "QRadioButton:disabled { color: #777777; }"
    "QGroupBox { color: #e0e0e0; border: 1px solid #555555; border-radius: 4px; margin-top: 0.5em; padding-top: 0.6em; }"
    "QGroupBox:disabled { color: #7f7f7f; border-color: #4a4a4a; }"
    "QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; padding: 0 4px; color: #e0e0e0; }"
    "QLabel { color: #e0e0e0; background: transparent; }"
    "QLabel:disabled { color: #777777; }"
    "QTableWidget, QTableView { alternate-background-color: #3a3a3a; background-color: #2a2a2a; border: none; color: #e0e0e0; gridline-color: #444444; }"
    "QTableWidget:disabled, QTableView:disabled { color: #777777; background-color: #303030; }"
    "QTableCornerButton::section { background-color: #353535; border: 1px solid #555555; }"
    "QTableView::item { border-left: 0.063em solid #2a2a2a; border-right: 0.063em solid #2a2a2a; padding-left: 0.313em; }"
    "QTableView::item:selected { background-color: rgba(255, 255, 255, 0.12); color: #ffffff; }"
    "QTableWidget#apps_list_table::item:selected, QTableView#apps_list_table::item:selected { background-color: rgba(255, 255, 255, 0.12); color: #f0f0f0; border-left: 0.063em solid rgba(255, 255, 255, 0); border-right: 0.063em solid rgba(255, 255, 255, 0); }"
    "QTableView#apps_list_table QHeaderView::section, QTableWidget#apps_list_table QHeaderView::section { padding-top: 0; padding-bottom: 0; }"
    "QTableView#trophy_app_table::item:selected, QTableView#trophy_table::item:selected { background-color: rgba(255, 255, 255, 0.13); color: #ffffff; border-left: 0.063em solid rgba(255, 255, 255, 0); border-right: 0.063em solid rgba(255, 255, 255, 0); }"
    "QHeaderView::section { background-color: #353535; color: #ffffff; padding-left: .5em; padding-right: .5em; padding-top: .4em; padding-bottom: -.1em; border: 0.063em solid #2a2a2a; }"
    "QHeaderView::section:hover { background: #4a4a4a; }"
    "QDockWidget { background: transparent; color: #ffffff; }"
    "QDockWidget[floating=\"true\"] { background: #353535; }"
    "QDockWidget::title { background: #353535; border: none; padding-top: 0.2em; padding-left: 0.2em; }"
    "QDockWidget::close-button, QDockWidget::float-button { background-color: #353535; border: none; }"
    "QDockWidget::close-button:hover, QDockWidget::float-button:hover { background-color: #4a4a4a; }"
    "QPlainTextEdit#log_frame { background-color: #2a2a2a; color: #ffffff; }"
    "QWidget#log_search_container { background-color: #2a2a2a; border: 1px solid #555555; border-radius: 4px; }"
    "QWidget#toolbar_icon_size_container { background-color: #353535; }"
    "QSlider#toolbar_icon_size_slider { background: transparent; }"
    "QSlider#toolbar_icon_size_slider::groove:horizontal { background: transparent; height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::sub-page:horizontal { background: rgba(255, 255, 255, 0.82); height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::add-page:horizontal { background: #555555; height: 4px; border-radius: 2px; }"
    "QSlider#toolbar_icon_size_slider::handle:horizontal { background: #f3f3f3; width: 14px; margin: -5px 0; border-radius: 7px; }"
    "QSlider#toolbar_icon_size_slider::handle:horizontal:hover { background: #ffffff; }"
    "QLabel#log_level_fatal { color: #ff66ff; }"
    "QLabel#log_level_error { color: #ff8080; }"
    "QLabel#log_level_warning { color: #ffd27f; }"
    "QLabel#log_level_notice { color: #ffffff; }"
    "QLabel#log_level_trace { color: #ffffff; }"
    "QTabWidget::pane { border: 1px solid #555555; background-color: #353535; }"
    "QTabBar::tab { background-color: #2d2d2d; color: #e0e0e0; padding: 6px 14px; border: 1px solid #555555; border-bottom: none; border-top-left-radius: 3px; border-top-right-radius: 3px; }"
    "QTabBar::tab:selected { background-color: #353535; }"
    "QTabBar::tab:!selected { margin-top: 2px; }"
    "QTabBar::tab:hover:!selected { background-color: #3a3a3a; }"
    "QListWidget { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; }"
    "QListWidget:disabled { color: #777777; background-color: #303030; border-color: #444444; }"
    "QListWidget::item:selected { background-color: rgba(255, 255, 255, 0.12); color: #ffffff; }"
    "QListWidget::item:hover:!selected { background-color: #3a3a3a; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory { background-color: #2a2a2a; border: none; border-radius: 10px; padding: 6px; outline: none; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item { background: transparent; border: none; border-radius: 10px; padding: 8px 12px; margin: 0px; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected,"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected:active,"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:selected:!active { background-color: rgba(255, 255, 255, 0.12); color: #ffffff; }"
    "QDialog[class=\"settings-window\"] QListWidget#settingsCategory::item:hover:!selected { background-color: #3a3a3a; }"
    "QDialog[class=\"settings-window\"] QTextBrowser#helpText { background-color: #2a2a2a; color: #e0e0e0; border: none; border-radius: 10px; padding: 3px 4px; }"
    "QScrollBar:vertical { background: #2a2a2a; width: 14px; margin: 0; }"
    "QScrollBar::handle:vertical { background: #5a5a5a; min-height: 20px; border-radius: 3px; margin: 2px; }"
    "QScrollBar::handle:vertical:hover { background: #6a6a6a; }"
    "QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; }"
    "QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; }"
    "QScrollBar:horizontal { background: #2a2a2a; height: 14px; margin: 0; }"
    "QScrollBar::handle:horizontal { background: #5a5a5a; min-width: 20px; border-radius: 3px; margin: 2px; }"
    "QScrollBar::handle:horizontal:hover { background: #6a6a6a; }"
    "QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0px; }"
    "QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { background: none; }"
    "QSlider::groove:horizontal { background: transparent; height: 4px; border-radius: 2px; }"
    "QSlider::sub-page:horizontal { background: rgba(255, 255, 255, 0.82); height: 4px; border-radius: 2px; }"
    "QSlider::add-page:horizontal { background: #555555; height: 4px; border-radius: 2px; }"
    "QSlider::handle:horizontal { background: #c0c0c0; width: 14px; margin: -5px 0; border-radius: 7px; }"
    "QSlider::handle:horizontal:hover { background: #ffffff; }"
    "QSlider::groove:vertical { background: transparent; width: 4px; border-radius: 2px; }"
    "QSlider::sub-page:vertical { background: rgba(255, 255, 255, 0.82); width: 4px; border-radius: 2px; }"
    "QSlider::add-page:vertical { background: #555555; width: 4px; border-radius: 2px; }"
    "QSlider::handle:vertical { background: #c0c0c0; height: 14px; margin: 0 -5px; border-radius: 7px; }"
    "QSlider::handle:vertical:hover { background: #ffffff; }"
    "QProgressBar { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; text-align: center; border-radius: 2px; }"
    "QProgressBar::chunk { background-color: #6a6a6a; border-radius: 2px; }"
    "QSplitter::handle { background-color: #555555; }"
    "QToolTip { background-color: #353535; color: #e0e0e0; border: 1px solid #555555; padding: 2px; }"
    "QPlainTextEdit, QTextEdit, QTextBrowser { background-color: #2a2a2a; color: #e0e0e0; border: 1px solid #555555; }"
    "QPlainTextEdit:disabled, QTextEdit:disabled, QTextBrowser:disabled { color: #777777; background-color: #303030; border-color: #444444; }"
    "QDialogButtonBox QPushButton { min-width: 80px; }");

} // namespace gui::stylesheets
