Adds a customizable sidebar to Google Search with instant filters (language, time, filetype, country, site, date range), saveable My Filters, Active Filters HUD, exclude mode, multi-select, and built-in tools — draggable, multilingual, fully themeable.
// ==UserScript==
// @name Google Search Custom Sidebar
// @name:zh-TW Google 搜尋自訂側邊欄
// @name:ja Google検索カスタムサイドバー
// @namespace https://greasyfork.org/en/users/1467948-stonedkhajiit
// @version 0.5.1
// @description Adds a customizable sidebar to Google Search with instant filters (language, time, filetype, country, site, date range), saveable My Filters, Active Filters HUD, exclude mode, multi-select, and built-in tools — draggable, multilingual, fully themeable.
// @description:zh-TW 為 Google 搜尋新增可自訂的側邊欄,提供即時篩選(語言、時間、檔案類型、國家、站內搜尋、日期範圍)、可儲存的自訂篩選器、已套用篩選器 HUD、排除模式、多選模式及內建工具 — 可拖曳、多語系、完整主題自訂。
// @description:ja Google検索にカスタマイズ可能なサイドバーを追加。即時フィルター(言語、期間、ファイルタイプ、国、サイト検索、日付範囲)、保存可能なマイフィルター、アクティブフィルターHUD、除外モード、複数選択、内蔵ツール対応 — ドラッグ移動、多言語、テーマ完全カスタマイズ。
// @match https://www.google.com/search*
// @match https://www.google.tld/search*
// @exclude https://www.google.com/search*tbm=isch*
// @exclude https://www.google.tld/search*tbm=isch*
// @exclude https://www.google.com/search*tbm=shop*
// @exclude https://www.google.tld/search*tbm=shop*
// @exclude https://www.google.com/search*tbm=bks*
// @exclude https://www.google.tld/search*tbm=bks*
// @exclude https://www.google.com/search*tbm=flm*
// @exclude https://www.google.tld/search*tbm=flm*
// @exclude https://www.google.com/search*tbm=fin*
// @exclude https://www.google.tld/search*tbm=fin*
// @exclude https://www.google.com/search*tbm=lcl*
// @exclude https://www.google.tld/search*tbm=lcl*
// @exclude https://www.google.com/search*udm=1&*
// @exclude https://www.google.tld/search*udm=1&*
// @exclude https://www.google.com/search*udm=2*
// @exclude https://www.google.tld/search*udm=2*
// @exclude https://www.google.com/search*udm=36*
// @exclude https://www.google.tld/search*udm=36*
// @exclude https://www.google.com/search*udm=50*
// @exclude https://www.google.tld/search*udm=50*
// @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant GM_addStyle
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_registerMenuCommand
// @grant GM_unregisterMenuCommand
// @grant GM_deleteValue
// @grant GM_openInTab
// @grant GM_xmlhttpRequest
// @grant GM_getResourceText
// @resource flagIconsCSS https://cdn.jsdelivr.net/npm/flag-icons@7/css/flag-icons.min.css
// @run-at document-idle
// @author StonedKhajiit
// @license MIT
// ==/UserScript==
!function(){"use strict";var e="/*\n |--------------------------------------------------------------------------\n | Global Variables & Themes\n |--------------------------------------------------------------------------\n */\n:root {\n /* --- Transition Timing Tokens --- */\n --gscs-ease-default: cubic-bezier(0.2, 0.8, 0.2, 1);\n --gscs-duration-fast: 0.1s;\n --gscs-duration-normal: 0.2s;\n --gscs-duration-slow: 0.3s;\n\n /* --- Transition Composite Tokens --- */\n --gscs-transition-interactive:\n background-color var(--gscs-duration-normal),\n border-color var(--gscs-duration-normal),\n transform var(--gscs-duration-fast) var(--gscs-ease-default);\n --gscs-transition-interactive-full:\n background-color var(--gscs-duration-normal),\n border-color var(--gscs-duration-normal),\n color var(--gscs-duration-normal),\n transform var(--gscs-duration-fast) var(--gscs-ease-default);\n --gscs-transition-color:\n color var(--gscs-duration-normal),\n background-color var(--gscs-duration-normal);\n --gscs-transition-color-press:\n color var(--gscs-duration-normal),\n transform var(--gscs-duration-fast) var(--gscs-ease-default);\n --gscs-transition-bg:\n background-color var(--gscs-duration-normal);\n --gscs-transition-focus:\n border-color var(--gscs-duration-normal),\n box-shadow var(--gscs-duration-normal);\n\n /* --- Base Light Theme --- */\n --sidebar-bg-color: #fff;\n --sidebar-text-color: #3c4043;\n --sidebar-border-color: #dadce0;\n --sidebar-link-color: #1a0dab;\n --sidebar-link-hover-color: #1a0dab;\n --sidebar-selected-color: #000;\n --sidebar-section-border-color: #eee;\n --sidebar-tool-btn-bg: #f8f9fa;\n --sidebar-tool-btn-border: #dadce0;\n --sidebar-tool-btn-text: #3c4043;\n --sidebar-tool-btn-hover-bg: #e8eaed;\n --sidebar-tool-btn-hover-border: #bdbdbd;\n --sidebar-tool-btn-hover-text: #3c4043;\n\n /* Custom Tab Button Styles */\n}\n:root .gscs-custom-tab-btn {\n width: 100%;\n justify-content: center;\n padding: 12px 16px;\n font-size: 16px;\n background-color: var(--sidebar-tool-btn-bg);\n color: var(--sidebar-text-color);\n border: 1px solid var(--sidebar-tool-btn-border);\n border-radius: 8px;\n transition: var(--gscs-transition-interactive), box-shadow var(--gscs-duration-normal);\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n:root .gscs-custom-tab-btn:active,:root .gscs-custom-tab-btn.gscs-middle-click-active {\n transform: scale(0.98);\n }\n:root .gscs-custom-tab-btn:hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n border-color: var(--sidebar-tool-btn-hover-border);\n box-shadow: 0 1px 2px rgb(0 0 0 / 10%);\n }\n:root .gscs-custom-tab-btn span {\n width: 20px;\n height: 20px;\n margin-right: 12px;\n display: flex;\n align-items: center;\n }\n:root {\n --sidebar-tool-btn-active-bg: #e8f0fe;\n --sidebar-tool-btn-active-text: #1967d2;\n --sidebar-tool-btn-active-border: #aecbfa;\n --sidebar-header-btn-color: #5f6368;\n --sidebar-header-btn-hover-color: #1a0dab;\n --sidebar-header-btn-active-bg: #e8f0fe;\n --sidebar-header-btn-active-color: #1967d2;\n --sidebar-input-bg: #fff;\n --sidebar-input-text: #202124;\n --sidebar-input-border: #ccc;\n --sidebar-shadow: 0 2px 5px 0 rgb(0 0 0 / 16%), 0 2px 10px 0 rgb(0 0 0 / 12%);\n --sidebar-scrollbar-thumb-color: #888; /* WCAG 3:1 on #f0f0f0 */\n --sidebar-scrollbar-track-color: #f0f0f0;\n --sidebar-scrollbar-thumb-hover-color: #777;\n\n /* Settings & Modal Variables (Light) */\n --settings-bg-color: #fff;\n --settings-text-color: #3c4043;\n --settings-border-color: #eee;\n --settings-header-text-color: #3c4043;\n --settings-close-btn-color: #777;\n --settings-close-btn-hover-color: #333;\n --settings-tab-color: #5f6368;\n --settings-tab-active-color: #1a0dab;\n --settings-tab-active-border: #1a0dab;\n --settings-input-bg: #fff;\n --settings-input-text: #202124;\n --settings-input-border: #ccc;\n --settings-list-border: #eee;\n --settings-list-item-border: #e0e0e0;\n --settings-list-btn-bg: #f8f8f8;\n --settings-list-btn-hover-bg: #eee;\n --settings-add-btn-bg: #4285f4;\n --settings-add-btn-text: white;\n --settings-add-btn-hover-bg: #3367d6;\n --settings-save-btn-bg: #1a73e8;\n --settings-save-btn-text: white;\n --settings-save-btn-border: #1a73e8;\n --settings-save-btn-hover-bg: #1565c0;\n --settings-cancel-btn-bg: #fff;\n --settings-cancel-btn-text: #3c4043;\n --settings-cancel-btn-hover-bg: #f8f9fa;\n --settings-reset-btn-bg: #f8d7da;\n --settings-reset-btn-text: #721c24;\n --settings-reset-btn-border: #f5c6cb;\n --settings-reset-btn-hover-bg: #f5c6cb;\n --settings-shadow: 0 5px 15px rgb(0 0 0 / 30%);\n --settings-tool-btn-active-bg: #e8f0fe;\n\n /* Message & Notification Variables (Light) */\n --gscs-msg-info-bg: #e7f3fe;\n --gscs-msg-info-text: #004085;\n --gscs-msg-info-border: #b8daff;\n --gscs-msg-success-bg: #d4edda;\n --gscs-msg-success-text: #155724;\n --gscs-msg-success-border: #c3e6cb;\n --gscs-msg-warning-bg: #fff3cd;\n --gscs-msg-warning-text: #856404;\n --gscs-msg-warning-border: #ffeeba;\n --gscs-msg-error-bg: #f8d7da;\n --gscs-msg-error-text: #721c24;\n --gscs-msg-error-border: #f5c6cb;\n --gscs-ntf-info-bg: var(--gscs-msg-info-bg);\n --gscs-ntf-info-text: var(--gscs-msg-info-text);\n --gscs-ntf-info-border: var(--gscs-msg-info-border);\n --gscs-ntf-success-bg: var(--gscs-msg-success-bg);\n --gscs-ntf-success-text: var(--gscs-msg-success-text);\n --gscs-ntf-success-border: var(--gscs-msg-success-border);\n --gscs-ntf-warning-bg: var(--gscs-msg-warning-bg);\n --gscs-ntf-warning-text: var(--gscs-msg-warning-text);\n --gscs-ntf-warning-border: var(--gscs-msg-warning-border);\n --gscs-ntf-error-bg: var(--gscs-msg-error-bg);\n --gscs-ntf-error-text: var(--gscs-msg-error-text);\n --gscs-ntf-error-border: var(--gscs-msg-error-border);\n\n /* HUD Chip Variables (Light) */\n --hud-chip-bg: var(--settings-bg-color);\n --hud-chip-border: var(--settings-border-color);\n --hud-chip-hover-bg: #e8f0fe;\n --hud-chip-hover-border: rgb(26 115 232 / 40%);\n --hud-chip-negative-bg: #fce8eb;\n --hud-chip-negative-border: #e0a0aa;\n --hud-chip-negative-hover-bg: #f8d0d5;\n --hud-chip-negative-hover-border: #c87080;\n}\n:root .gscs-theme-dark {\n /* --- Dark Theme Override --- */\n --sidebar-bg-color: #202124;\n --sidebar-text-color: #bdc1c6;\n --sidebar-border-color: #5f6368;\n --sidebar-link-color: #8ab4f8;\n --sidebar-link-hover-color: #8ab4f8;\n --sidebar-selected-color: #e8eaed;\n --sidebar-section-border-color: #3c4043;\n --sidebar-tool-btn-bg: #303134;\n --sidebar-tool-btn-border: #5f6368;\n --sidebar-tool-btn-text: #8ab4f8;\n --sidebar-tool-btn-hover-bg: #3c4043;\n --sidebar-tool-btn-hover-border: #5f6368;\n --sidebar-tool-btn-hover-text: #bdc1c6;\n --sidebar-tool-btn-active-bg: #8ab4f8;\n --sidebar-tool-btn-active-text: #202124;\n --sidebar-tool-btn-active-border: #8ab4f8;\n --sidebar-header-btn-color: #bdc1c6;\n --sidebar-header-btn-hover-color: #8ab4f8;\n --sidebar-header-btn-active-bg: #8ab4f8;\n --sidebar-header-btn-active-color: #202124;\n --sidebar-input-bg: #303134;\n --sidebar-input-text: #e8eaed;\n --sidebar-input-border: #5f6368;\n --sidebar-shadow: 0 2px 5px 0 rgb(0 0 0 / 30%), 0 2px 10px 0 rgb(0 0 0 / 24%);\n --sidebar-scrollbar-thumb-color: #6e7377; /* WCAG 3:1 on #202124 */\n --sidebar-scrollbar-track-color: var(--sidebar-bg-color);\n --sidebar-scrollbar-thumb-hover-color: #7a7f83;\n\n /* Settings & Modal Variables (Dark) */\n --settings-bg-color: #202124;\n --settings-text-color: #bdc1c6;\n --settings-border-color: #3c4043;\n --settings-header-text-color: #e8eaed;\n --settings-close-btn-color: #bdc1c6;\n --settings-close-btn-hover-color: #e8eaed;\n --settings-tab-color: #bdc1c6;\n --settings-tab-active-color: #8ab4f8;\n --settings-tab-active-border: #8ab4f8;\n --settings-input-bg: #303134;\n --settings-input-text: #e8eaed;\n --settings-input-border: #5f6368;\n --settings-list-border: #3c4043;\n --settings-list-item-border: #4a4e52;\n --settings-list-btn-bg: #303134;\n --settings-list-btn-hover-bg: #5f6368;\n --settings-add-btn-bg: #8ab4f8;\n --settings-add-btn-text: #202124;\n --settings-add-btn-hover-bg: #669df6;\n --settings-save-btn-bg: #8ab4f8;\n --settings-save-btn-text: #202124;\n --settings-save-btn-border: #8ab4f8;\n --settings-save-btn-hover-bg: #669df6;\n --settings-cancel-btn-bg: #303134;\n --settings-cancel-btn-text: #e8eaed;\n --settings-cancel-btn-hover-bg: #5f6368;\n --settings-reset-btn-bg: #f28b82;\n --settings-reset-btn-text: #202124;\n --settings-reset-btn-border: #f28b82;\n --settings-reset-btn-hover-bg: #e66a61;\n --settings-shadow: 0 5px 15px rgb(0 0 0 / 50%);\n --settings-tool-btn-active-bg: rgb(138 180 248 / 20%);\n\n /* Message & Notification Variables (Dark) */\n --gscs-msg-info-bg: #2c3e50;\n --gscs-msg-info-text: #8ab4f8;\n --gscs-msg-info-border: #34495e;\n --gscs-msg-success-bg: #274b34;\n --gscs-msg-success-text: #a8dba8;\n --gscs-msg-success-border: #2e7d32;\n --gscs-msg-warning-bg: #533f03;\n --gscs-msg-warning-text: #fdd835;\n --gscs-msg-warning-border: #7b5e03;\n --gscs-msg-error-bg: #5f2120;\n --gscs-msg-error-text: #f5c6cb;\n --gscs-msg-error-border: #8d2626;\n --gscs-ntf-info-bg: var(--gscs-msg-info-bg);\n --gscs-ntf-info-text: var(--gscs-msg-info-text);\n --gscs-ntf-info-border: var(--gscs-msg-info-border);\n --gscs-ntf-success-bg: var(--gscs-msg-success-bg);\n --gscs-ntf-success-text: var(--gscs-msg-success-text);\n --gscs-ntf-success-border: var(--gscs-msg-success-border);\n --gscs-ntf-warning-bg: var(--gscs-msg-warning-bg);\n --gscs-ntf-warning-text: var(--gscs-msg-warning-text);\n --gscs-ntf-warning-border: var(--gscs-msg-warning-border);\n --gscs-ntf-error-bg: var(--gscs-msg-error-bg);\n --gscs-ntf-error-text: var(--gscs-msg-error-text);\n --gscs-ntf-error-border: var(--gscs-msg-error-border);\n\n /* HUD Chip Variables (Dark) */\n --hud-chip-bg: var(--settings-bg-color);\n --hud-chip-border: var(--settings-border-color);\n --hud-chip-hover-bg: #3c4454;\n --hud-chip-hover-border: rgb(138 180 248 / 50%);\n --hud-chip-negative-bg: #3d1418;\n --hud-chip-negative-border: #7a404a;\n --hud-chip-negative-hover-bg: #5a2028;\n --hud-chip-negative-hover-border: #9a5060;\n}\n/* --- Minimal Theme Variations --- */\n#gscs-sidebar.gscs-theme-minimal {\n background-color: transparent;\n border: none;\n box-shadow: none;\n border-radius: 0;\n padding: 5px 10px;\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--light {\n --sidebar-text-color: #3c4043;\n --sidebar-link-color: #1a0dab;\n --sidebar-link-hover-color: #1a0dab;\n --sidebar-selected-color: #000;\n --sidebar-section-border-color: #ebebeb;\n --sidebar-header-btn-color: #5f6368;\n --sidebar-header-btn-hover-color: #1a0dab;\n --sidebar-input-bg: rgb(255 255 255 / 80%);\n --sidebar-input-text: #202124;\n --sidebar-input-border: #dadce0;\n --sidebar-tool-btn-bg: transparent;\n --sidebar-tool-btn-border: #949494; /* WCAG 3:1 on #ffffff */\n --sidebar-tool-btn-text: #1a0dab;\n --sidebar-tool-btn-hover-bg: rgb(0 0 0 / 5%);\n --sidebar-tool-btn-hover-border: #949494; /* WCAG 3:1 on #ffffff */\n --sidebar-tool-btn-hover-text: #1a0dab;\n --sidebar-tool-btn-active-bg: rgb(26 115 232 / 10%);\n --sidebar-tool-btn-active-text: #1967d2;\n --sidebar-tool-btn-active-border: #aecbfa;\n --sidebar-scrollbar-thumb-color: #909090; /* WCAG 3:1 on #ffffff */\n --sidebar-scrollbar-track-color: rgb(0 0 0 / 5%);\n --sidebar-scrollbar-thumb-hover-color: #888;\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--light .gscs-section__title {\n color: var(--sidebar-link-color);\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--light .gscs-date-input__field::-webkit-calendar-picker-indicator {\n filter: none;\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--dark {\n --sidebar-text-color: #bdc1c6;\n --sidebar-link-color: #8ab4f8;\n --sidebar-link-hover-color: #8ab4f8;\n --sidebar-selected-color: #e8eaed;\n --sidebar-section-border-color: #4a4a4a;\n --sidebar-header-btn-color: #bdc1c6;\n --sidebar-header-btn-hover-color: #8ab4f8;\n --sidebar-input-bg: rgb(48 49 52 / 80%);\n --sidebar-input-text: #e8eaed;\n --sidebar-input-border: #5f6368;\n --sidebar-tool-btn-bg: transparent;\n --sidebar-tool-btn-border: #717579; /* WCAG 3:1 on #202124 */\n --sidebar-tool-btn-text: #8ab4f8;\n --sidebar-tool-btn-hover-bg: rgb(255 255 255 / 8%);\n --sidebar-tool-btn-hover-border: #717579; /* WCAG 3:1 on #202124 */\n --sidebar-tool-btn-hover-text: #8ab4f8;\n --sidebar-tool-btn-active-bg: rgb(138 180 248 / 15%);\n --sidebar-tool-btn-active-text: #8ab4f8;\n --sidebar-tool-btn-active-border: #8ab4f8;\n --sidebar-scrollbar-thumb-color: #6e7276; /* WCAG 3:1 on #202124 */\n --sidebar-scrollbar-track-color: rgb(255 255 255 / 8%);\n --sidebar-scrollbar-thumb-hover-color: #7e8286;\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--dark .gscs-section__title {\n color: var(--sidebar-link-color);\n}\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--dark .gscs-date-input__field::-webkit-calendar-picker-indicator {\n filter: invert(1) brightness(0.9);\n}\n#gscs-sidebar.gscs-theme-minimal .gscs-sidebar__header {\n border-bottom-color: transparent;\n}\n#gscs-sidebar.gscs-theme-minimal #gscs-sidebar-fixed-top-buttons {\n background-color: transparent;\n border-bottom-color: var(--sidebar-section-border-color);\n}\n#gscs-sidebar.gscs-theme-minimal .gscs-section__title::before {\n color: var(--sidebar-text-color);\n}\n#gscs-sidebar.gscs-theme-minimal .gscs-date-input__field {\n background-color: var(--sidebar-input-bg);\n border: 1px solid var(--sidebar-input-border);\n color: var(--sidebar-input-text);\n}\n/* ── Reduced Motion Support ──────────────────────────────────────────────── */\n@media (prefers-reduced-motion: reduce) {\n :root {\n --gscs-duration-fast: 0s;\n --gscs-duration-normal: 0s;\n --gscs-duration-slow: 0s;\n }\n\n #gscs-sidebar,\n #gscs-sidebar *,\n #gscs-settings-window,\n #gscs-settings-window *,\n .settings-modal-overlay,\n .settings-modal-overlay *,\n .settings-modal-content,\n .settings-modal-content *,\n .gscs-notification,\n #gscs-notification-container,\n #gscs-notification-container *,\n .gscs-hud-chip {\n transition-duration: 0s !important;\n animation-duration: 0s !important;\n transition-delay: 0s !important;\n }\n}\n/*\n |--------------------------------------------------------------------------\n | Notifications & Utility\n |--------------------------------------------------------------------------\n */\n.gscs-settings-window .gscs-message-bar {\n padding: 10px;\n margin-bottom: 15px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-align: center;\n font-size: 0.95em;\n}\n.gscs-message-bar--info:is(.gscs-settings-window .gscs-message-bar) {\n color: var(--gscs-msg-info-text);\n background-color: var(--gscs-msg-info-bg);\n border-color: var(--gscs-msg-info-border);\n }\n.gscs-message-bar--success:is(.gscs-settings-window .gscs-message-bar) {\n color: var(--gscs-msg-success-text);\n background-color: var(--gscs-msg-success-bg);\n border-color: var(--gscs-msg-success-border);\n }\n.gscs-message-bar--warning:is(.gscs-settings-window .gscs-message-bar) {\n color: var(--gscs-msg-warning-text);\n background-color: var(--gscs-msg-warning-bg);\n border-color: var(--gscs-msg-warning-border);\n }\n.gscs-message-bar--error:is(.gscs-settings-window .gscs-message-bar) {\n color: var(--gscs-msg-error-text);\n background-color: var(--gscs-msg-error-bg);\n border-color: var(--gscs-msg-error-border);\n }\n#gscs-notification-container {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 9999;\n display: flex;\n flex-direction: column-reverse;\n align-items: flex-end;\n gap: 10px;\n}\n.gscs-notification {\n background-color: var(--settings-input-bg);\n color: var(--settings-text-color);\n padding: 12px 18px;\n border-radius: 6px;\n box-shadow: 0 3px 10px rgb(0 0 0 / 20%);\n min-width: 250px;\n max-width: 400px;\n font-size: 0.95em;\n border: 1px solid var(--settings-border-color);\n opacity: 1;\n transition:\n opacity 0.5s ease-out,\n transform var(--gscs-duration-slow) ease-out;\n transform: translateX(0);\n}\n.gscs-notification:hover {\n box-shadow: 0 5px 15px rgb(0 0 0 / 30%);\n }\n.gscs-notification.gscs-notification--info {\n background-color: var(--gscs-ntf-info-bg);\n color: var(--gscs-ntf-info-text);\n border-color: var(--gscs-ntf-info-border);\n }\n.gscs-notification.gscs-notification--success {\n background-color: var(--gscs-msg-success-bg);\n color: var(--gscs-msg-success-text);\n border-color: var(--gscs-msg-success-border);\n }\n.gscs-notification.gscs-notification--warning {\n background-color: var(--gscs-msg-warning-bg);\n color: var(--gscs-msg-warning-text);\n border-color: var(--gscs-msg-warning-border);\n }\n.gscs-notification.gscs-notification--error {\n background-color: var(--gscs-msg-error-bg);\n color: var(--gscs-msg-error-text);\n border-color: var(--gscs-msg-error-border);\n }\n.gscs-notification span[style*='cursor: pointer'] {\n font-weight: bold;\n opacity: 0.7;\n }\n:is(.gscs-notification span[style*='cursor: pointer']):hover {\n opacity: 1;\n }\n/* --- HUD Chip Styles --- */\n.gscs-hud-chip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px 8px;\n background-color: var(--hud-chip-bg);\n border: 1px solid var(--hud-chip-border);\n border-radius: 4px;\n color: var(--settings-text-color, #202124);\n font-size: 0.8em;\n white-space: nowrap;\n cursor: pointer;\n transition: var(--gscs-transition-interactive);\n}\n.gscs-hud-chip:hover {\n transform: translateY(-1px);\n background-color: var(--hud-chip-hover-bg);\n border-color: var(--hud-chip-hover-border);\n }\n.gscs-hud-chip:active {\n transform: scale(0.95);\n }\n.gscs-hud-chip.is-negative {\n background-color: var(--hud-chip-negative-bg);\n border-color: var(--hud-chip-negative-border);\n }\n.gscs-hud-chip.is-negative:hover {\n background-color: var(--hud-chip-negative-hover-bg);\n border-color: var(--hud-chip-negative-hover-border);\n }\n.gscs-hud-chips-container {\n max-width: calc(100vw - 40px);\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n/* --- SVG Icon Sizing --- */\n#gscs-sidebar button svg,\n.gscs-settings-window button:not(.gscs-settings__close-button) svg,\n.settings-modal-content button:not(.settings-modal-close-btn, .gscs-modal__add-new-button) svg {\n display: inline-block;\n vertical-align: middle;\n width: 1em;\n height: 1em;\n pointer-events: none;\n}\n#gscs-sidebar .gscs-header-button svg,#gscs-sidebar #gscs-sidebar-collapse-button svg,#gscs-sidebar .gscs-settings-button svg {\n width: var(--sidebar-header-icon-base-size);\n height: var(--sidebar-header-icon-base-size);\n }\n#gscs-sidebar .gscs-button svg {\n width: 0.9em;\n height: 0.9em;\n }\n/* --- Helper Classes for SidebarButton --- */\n.gscs-icon-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n flex-shrink: 0;\n}\n.gscs-label {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.checkbox-container {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.checkbox-container input[type='checkbox'] {\n margin: 0;\n cursor: pointer;\n }\n.checkbox-container label {\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n/* --- UI Refinements --- */\n.is-disabled {\n opacity: 0.5;\n pointer-events: none;\n filter: grayscale(100%);\n}\n.gscs-settings-window .gscs-setting-item {\n margin-bottom: 0.8em;\n padding-bottom: 0.8em;\n }\n.gscs-settings-window .gscs-setting-item--simple {\n margin-bottom: 0.4em;\n padding-bottom: 0.4em;\n border-bottom: none;\n }\n/* Fix slider clipping */\n.gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item input[type='range'] {\n width: calc(100% - 14px); /* Subtract margin */\n margin: 0.2em auto 0;\n display: block;\n box-sizing: border-box;\n padding: 0;\n}\n/* Custom Color Pickers Style - Reset Appearance */\n.gscs-settings-window input[type='color'] {\n appearance: none;\n border-radius: 0; /* Square */\n transition:\n transform var(--gscs-duration-normal) cubic-bezier(0.175, 0.885, 0.32, 1.275),\n box-shadow var(--gscs-duration-normal);\n box-shadow: 0 1px 3px rgb(0 0 0 / 20%);\n padding: 0;\n border: none;\n overflow: visible; /* Allow scaling */\n background-color: transparent;\n width: 30px;\n height: 30px;\n margin: 5px; /* Ensure space for scale */\n}\n:is(.gscs-settings-window input[type='color'])::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n:is(.gscs-settings-window input[type='color'])::-webkit-color-swatch {\n border: none;\n border-radius: 6px; /* Match UI rounded corners */\n padding: 0;\n }\n:is(.gscs-settings-window input[type='color'])::-moz-color-swatch {\n border: none;\n border-radius: 6px;\n padding: 0;\n }\n.gscs-settings-window input[type='color'] {\n transition: transform var(--gscs-duration-normal), box-shadow var(--gscs-duration-normal);\n}\n:is(.gscs-settings-window input[type='color']):hover {\n box-shadow: 0 4px 8px rgb(0 0 0 / 20%);\n position: relative;\n cursor: pointer;\n transform: scale(1.05);\n }\n:is(.gscs-settings-window input[type='color']):active {\n transform: scale(0.92);\n }\n/* Prevent text from forcing window width */\n.gscs-setting-hint,\n.gscs-setting-item label,\n.gscs-setting-value-hint {\n white-space: normal;\n overflow-wrap: break-word;\n}\n/* Hover Styles for Menus & Tabs - Removed Backgrounds */\n#gscs-settings-window .gscs-tab-button:hover {\n color: var(--settings-tab-active-color);\n }\n#gscs-settings-window select:hover {\n border-color: var(--settings-tab-active-border);\n cursor: pointer;\n }\n/* Increased Info Density */\n#gscs-settings-window .gscs-setting-item {\n margin-bottom: 0.5em;\n padding-bottom: 0.5em;\n }\n#gscs-settings-window .gscs-setting-item--simple {\n margin-bottom: 0.2em;\n padding-bottom: 0.2em;\n }\n#gscs-settings-window .gscs-setting-item label:not(.gscs-setting-item__label--inline) {\n margin-bottom: 0.1em;\n }\n/* Minimal Theme Enhancements */\n#gscs-sidebar.gscs-theme-minimal {\n border: none;\n box-shadow: none;\n background: transparent;\n\n /* Ensure minimal theme doesn't show button backgrounds but KEEPS borders */\n}\n#gscs-sidebar.gscs-theme-minimal .gscs-button {\n background-color: transparent;\n border: 1px solid var(--sidebar-tool-btn-border);\n }\n:is(#gscs-sidebar.gscs-theme-minimal .gscs-button):hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n }\n/* Sub-Modal Styles (Manage Custom Filters, etc.) */\n#gscs-settings-overlay.gscs-settings-overlay,\n.settings-modal-overlay.settings-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgb(0 0 0 / 50%); /* Force semi-transparent gray mask */\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10050; /* Above Settings Window (10001) */\n}\n.settings-modal-content {\n background: var(--settings-bg-color);\n padding: 15px 20px; /* Reduced padding for density */\n border-radius: 8px;\n width: 500px;\n max-width: 90%;\n max-height: 90vh;\n overflow-y: auto;\n box-shadow: 0 4px 15px rgb(0 0 0 / 30%);\n z-index: 10100;\n position: relative;\n display: flex;\n flex-direction: column;\n color: var(--settings-text-color);\n}\n.settings-modal-content .gscs-custom-list li:hover {\n background-color: var(--settings-list-btn-hover-bg);\n }\n/* Fix missing valid input style */\n#gscs-settings-window input[type='text'].is-valid,\n.settings-modal-content input[type='text'].is-valid {\n border-color: #28a745;\n box-shadow: 0 0 0 1px rgb(40 167 69 / 20%);\n}\n/* Fix Add/Update inputs layout (3 lines -> 1 compact line) */\n.gscs-custom-list__input-group {\n display: flex;\n gap: 8px;\n align-items: stretch;\n margin-top: 10px;\n width: 100%;\n}\n.gscs-custom-list__input-group input[type='text'] {\n flex: 1 1 50%;\n min-width: 0; /* allows shrinking below content size */\n margin: 0;\n }\n.gscs-custom-list__input-group button.gscs-button--add-custom,.gscs-custom-list__input-group button.cancel-edit-button {\n flex: 0 0 auto;\n padding: 0 15px;\n height: auto; /* stretch with inputs */\n }\n/* Reduce empty state padding */\n.settings-modal-content .gscs-custom-list.checkbox-mode-enabled li:only-child {\n padding: 0.25em 0.5em;\n }\n.settings-modal-content .gscs-custom-list li.empty-state-message {\n padding: 0.25em 0.5em;\n text-align: center;\n font-style: italic;\n color: var(--settings-tab-color);\n }\n.settings-modal-content .gscs-custom-list:has(li.empty-state-message:only-child) {\n margin-bottom: 0.2em;\n }\n/* --- gscs modal animations --- */\n@keyframes gscs-fade-in-backdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n@keyframes gscs-fade-out-backdrop {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n@keyframes gscs-slide-up-modal {\n from { opacity: 0; transform: translateY(20px) scale(0.98); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n}\n@keyframes gscs-slide-down-modal {\n from { opacity: 1; transform: translateY(0) scale(1); }\n to { opacity: 0; transform: translateY(20px) scale(0.98); }\n}\n.gscs-settings-overlay {\n animation: gscs-fade-in-backdrop 0.15s ease-out forwards;\n}\n.gscs-settings-overlay.is-closing {\n animation: gscs-fade-out-backdrop 0.15s ease-in forwards;\n }\n.gscs-settings-overlay.is-closing .gscs-settings-window {\n animation: gscs-slide-down-modal 0.15s ease-in forwards;\n }\n.gscs-settings-overlay .gscs-settings-window {\n animation: gscs-slide-up-modal 0.15s ease-out forwards;\n }\n/*\n |--------------------------------------------------------------------------\n | Shared Utility Classes (extracted from inline styles)\n |--------------------------------------------------------------------------\n */\n/* Flag icon (CSS-based via flag-icons library) */\n.gscs-flag-icon {\n width: 1.2em;\n height: 0.9em;\n display: inline-block;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n border-radius: 2px;\n}\n.gscs-flag-icon--flex {\n width: 1.2em;\n height: 0.9em;\n flex-shrink: 0;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n border-radius: 2px;\n}\n/* Inline flag wrapper */\n.gscs-flag-wrapper {\n display: inline-flex;\n align-items: center;\n gap: 0 2px;\n white-space: nowrap;\n}\n/* Flag icon rounded (minimal override for emoji fallback) */\n.gscs-flag-icon-rounded {\n border-radius: 2px;\n}\n/* HUD favicon inline */\n.gscs-hud__favicon {\n width: 14px;\n height: 14px;\n margin-right: 6px;\n border-radius: 2px;\n}\n/* HUD flag emoji */\n.gscs-hud__flag-emoji {\n margin-right: 4px;\n font-size: 1.1em;\n}\n/* HUD flag icon (CSS-based) */\n.gscs-hud__flag-icon {\n margin-right: 4px;\n width: 1.2em;\n height: 0.9em;\n display: inline-block;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n vertical-align: middle;\n}\n/* Notification close button */\n.gscs-notification__close-btn {\n cursor: pointer;\n margin-left: 10px;\n float: right;\n}\n/* Custom Filters Section — filter icon */\n.gscs-custom-filter-icon {\n margin-right: 5px;\n font-size: 0.9em;\n}\n/* Custom Filters Section — empty state */\n.gscs-custom-filters__empty {\n padding: 5px 10px;\n color: var(--sidebar-text-color);\n opacity: 0.6;\n font-size: 0.9em;\n font-style: italic;\n}\n/* Custom Filters Section — save button full width */\n.gscs-custom-filters__save-btn {\n width: 100%;\n margin-top: 4px;\n justify-content: center;\n gap: 4px;\n}\n/*\n |--------------------------------------------------------------------------\n | Core Sidebar Layout\n |--------------------------------------------------------------------------\n */\n#gscs-sidebar {\n position: fixed;\n background-color: var(--sidebar-bg-color);\n border: 1px solid var(--sidebar-border-color);\n padding: 0 4px;\n z-index: 20002; /* Raised above settings overlay (10050) & window (10001) for interaction */\n color: var(--sidebar-text-color);\n box-shadow: var(--sidebar-shadow);\n border-radius: 8px;\n overflow: hidden;\n max-height: var(--sidebar-max-height, 85vh);\n cursor: default;\n display: flex;\n flex-direction: column;\n opacity: 1;\n transition:\n opacity var(--gscs-duration-slow) var(--gscs-ease-default),\n width var(--gscs-duration-slow) var(--gscs-ease-default),\n transform var(--gscs-duration-slow) var(--gscs-ease-default),\n padding var(--gscs-duration-slow) var(--gscs-ease-default);\n font-size: var(--sidebar-font-base-size);\n}\n#gscs-sidebar * {\n box-sizing: border-box;\n }\n#gscs-sidebar .gscs-sidebar__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n min-height: calc(var(--sidebar-header-icon-base-size) * 1.15 + 10px);\n height: auto;\n margin: 0 -10px;\n padding: 5px;\n flex-shrink: 0;\n user-select: none;\n border-bottom: 1px solid var(--sidebar-section-border-color);\n flex-wrap: wrap;\n }\n:is(#gscs-sidebar .gscs-sidebar__header) a.gscs-header-button {\n text-decoration: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n width: calc(var(--sidebar-header-icon-base-size) * 1.15);\n height: calc(var(--sidebar-header-icon-base-size) * 1.15);\n color: var(--sidebar-header-btn-color);\n box-sizing: content-box;\n margin: 0 0.2em;\n }\n:is(:is(#gscs-sidebar .gscs-sidebar__header) a.gscs-header-button) svg {\n width: var(--sidebar-header-icon-base-size);\n height: var(--sidebar-header-icon-base-size);\n flex-shrink: 0;\n }\n#gscs-sidebar .gscs-sidebar__content-wrapper {\n flex-grow: 1;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n padding: calc(5px * var(--sidebar-spacing-multiplier)) 2px calc(10px * var(--sidebar-spacing-multiplier)) 0;\n scrollbar-gutter: stable;\n\n /* --- Scrollbar --- */\n scrollbar-width: thin;\n scrollbar-color: var(--sidebar-scrollbar-thumb-color) var(--sidebar-scrollbar-track-color);\n }\n:is(#gscs-sidebar .gscs-sidebar__content-wrapper)::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n:is(#gscs-sidebar .gscs-sidebar__content-wrapper)::-webkit-scrollbar-track {\n background: var(--sidebar-scrollbar-track-color);\n border-radius: 3px;\n }\n:is(#gscs-sidebar .gscs-sidebar__content-wrapper)::-webkit-scrollbar-thumb {\n background-color: var(--sidebar-scrollbar-thumb-color);\n border-radius: 3px;\n }\n:is(:is(#gscs-sidebar .gscs-sidebar__content-wrapper)::-webkit-scrollbar-thumb):hover {\n background-color: var(--sidebar-scrollbar-thumb-hover-color);\n }\n/* --- Collapsed State --- */\n#gscs-sidebar.is-sidebar-collapsed {\n width: 40px;\n padding: 5px;\n overflow: hidden;\n }\n#gscs-sidebar.is-sidebar-collapsed .gscs-sidebar__header {\n margin-bottom: 0;\n padding: 0;\n justify-content: center;\n height: 100%;\n flex-direction: column;\n align-items: center;\n border-bottom: none;\n gap: 0.5em;\n }\n:is(#gscs-sidebar.is-sidebar-collapsed .gscs-sidebar__header) > * {\n margin: 0;\n }\n#gscs-sidebar.is-sidebar-collapsed #gscs-sidebar-fixed-top-buttons,#gscs-sidebar.is-sidebar-collapsed .gscs-sidebar__content-wrapper,#gscs-sidebar.is-sidebar-collapsed .gscs-sidebar__drag-handle {\n display: none;\n }\n#gscs-sidebar.is-sidebar-collapsed #gscs-sidebar-collapse-button {\n order: 0;\n }\n/* --- Scrollbar position & visibility modifiers --- */\n#gscs-sidebar.scrollbar-left .gscs-sidebar__content-wrapper {\n direction: rtl;\n }\n#gscs-sidebar.scrollbar-left .gscs-section {\n direction: ltr;\n }\n#gscs-sidebar.scrollbar-hidden .gscs-sidebar__content-wrapper {\n scrollbar-width: none;\n }\n:is(#gscs-sidebar.scrollbar-hidden .gscs-sidebar__content-wrapper)::-webkit-scrollbar {\n display: none;\n }\n/*\n |--------------------------------------------------------------------------\n | Sidebar Components\n |--------------------------------------------------------------------------\n */\n/* --- Header Buttons & Drag Handle --- */\n#gscs-sidebar #gscs-sidebar-collapse-button,#gscs-sidebar .gscs-settings-button,#gscs-sidebar .gscs-header-button {\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: var(--sidebar-header-btn-color);\n font-size: var(--sidebar-header-icon-base-size);\n width: calc(var(--sidebar-header-icon-base-size) * 1.15);\n height: calc(var(--sidebar-header-icon-base-size) * 1.15);\n line-height: calc(var(--sidebar-header-icon-base-size) * 1.15);\n flex-shrink: 0;\n text-align: center;\n margin: 0 0.2em;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: content-box;\n transition: var(--gscs-transition-color-press);\n }\n#gscs-sidebar #gscs-sidebar-collapse-button:active,#gscs-sidebar .gscs-settings-button:active,#gscs-sidebar .gscs-header-button:active,#gscs-sidebar .gscs-sidebar__header a.gscs-header-button:active,#gscs-sidebar #gscs-sidebar-collapse-button.gscs-middle-click-active,#gscs-sidebar .gscs-settings-button.gscs-middle-click-active,#gscs-sidebar .gscs-header-button.gscs-middle-click-active,#gscs-sidebar .gscs-sidebar__header a.gscs-header-button.gscs-middle-click-active {\n transform: scale(0.92);\n }\n#gscs-sidebar #gscs-sidebar-collapse-button {\n order: -1;\n margin-right: 0.3em;\n }\n#gscs-sidebar .gscs-settings-button {\n margin-left: 0.3em;\n }\n#gscs-sidebar #gscs-sidebar-collapse-button:hover,#gscs-sidebar .gscs-settings-button:hover,#gscs-sidebar .gscs-header-button:hover,#gscs-sidebar .gscs-sidebar__header a.gscs-header-button:hover {\n color: var(--sidebar-header-btn-hover-color);\n }\n#gscs-sidebar .gscs-header-button.is-active {\n background-color: var(--sidebar-header-btn-active-bg);\n color: var(--sidebar-header-btn-active-color);\n border-radius: 3px;\n }\n#gscs-sidebar #gscs-tool-personalize-search.gscs-header-button.is-active svg {\n stroke: var(--sidebar-header-btn-active-color);\n }\n#gscs-sidebar .gscs-sidebar__drag-handle {\n flex-grow: 1;\n height: 100%;\n min-height: calc(var(--sidebar-header-icon-base-size) * 1.15);\n cursor: move;\n min-width: 20px;\n }\n:is(#gscs-sidebar .gscs-sidebar__drag-handle):active {\n cursor: grabbing;\n }\n/* --- Top Block & Result Stats --- */\n#gscs-sidebar #gscs-sidebar-fixed-top-buttons {\n padding: calc(10px * var(--sidebar-spacing-multiplier)) 10px calc(5px * var(--sidebar-spacing-multiplier));\n flex-shrink: 0;\n background-color: var(--sidebar-bg-color);\n margin: 0 -10px calc(5px * var(--sidebar-spacing-multiplier));\n }\n:is(#gscs-sidebar #gscs-sidebar-fixed-top-buttons):empty {\n display: none;\n padding: 0;\n border: none;\n margin: 0;\n }\n#gscs-sidebar .gscs-fixed-top-buttons__item {\n margin-bottom: calc(5px * var(--sidebar-spacing-multiplier));\n }\n:is(#gscs-sidebar .gscs-fixed-top-buttons__item):last-child {\n margin-bottom: 0;\n }\n#gscs-sidebar #gscs-result-stats-container {\n padding: 0 10px;\n margin: 0 -10px 5px;\n border-bottom: 1px solid var(--sidebar-section-border-color);\n text-align: center;\n display: flex;\n justify-content: center;\n }\n:is(#gscs-sidebar #gscs-result-stats-container):empty {\n display: none;\n }\n#gscs-sidebar #gscs-result-stats-display {\n font-size: 1em;\n color: var(--sidebar-text-color);\n opacity: 1;\n padding: calc(3px * var(--sidebar-spacing-multiplier)) 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n max-width: 100%;\n }\n/* --- Sections & Filter Options --- */\n#gscs-sidebar .gscs-section {\n margin-bottom: calc(10px * var(--sidebar-spacing-multiplier));\n padding-bottom: calc(6px * var(--sidebar-spacing-multiplier));\n border-bottom: 1px solid var(--sidebar-section-border-color);\n display: flex;\n flex-direction: column;\n }\n:is(#gscs-sidebar .gscs-section):last-child {\n border-bottom: none;\n padding-bottom: 0;\n margin-bottom: 0;\n }\n#gscs-sidebar .gscs-section__title {\n font-weight: bold;\n margin-bottom: calc(5px * var(--sidebar-spacing-multiplier));\n cursor: pointer;\n color: var(--sidebar-link-color);\n white-space: nowrap;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n border-radius: 4px;\n transition: var(--gscs-transition-bg);\n }\n:is(#gscs-sidebar .gscs-section__title):hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n }\n:is(#gscs-sidebar .gscs-section__title):hover .gscs-manage-shortcut {\n opacity: 0.6;\n visibility: visible;\n transition-delay: 0.5s, 0.5s, 0s, 0s;\n }\n:is(:is(#gscs-sidebar .gscs-section__title):hover .gscs-manage-shortcut):hover {\n opacity: 1;\n background-color: var(--sidebar-tool-btn-hover-bg);\n transition-delay: 0s, 0s, 0s, 0s;\n }\n:is(#gscs-sidebar .gscs-section__title)::before {\n content: '▼';\n font-size: 0.7em;\n margin-right: 4px;\n display: inline-block;\n transition: transform var(--gscs-duration-normal) ease-in-out;\n }\n.is-section-collapsed:is(#gscs-sidebar .gscs-section__title)::before {\n transform: rotate(-90deg);\n }\n/* Section Title Manage Shortcut */\n#gscs-sidebar .gscs-manage-shortcut {\n opacity: 0;\n visibility: hidden;\n background: transparent;\n border: none;\n color: var(--sidebar-text-color);\n cursor: pointer;\n padding: 3px;\n margin: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n transition: opacity var(--gscs-duration-normal), visibility var(--gscs-duration-normal), background-color var(--gscs-duration-normal), transform var(--gscs-duration-fast) var(--gscs-ease-default);\n transition-delay: 0s, 0s, 0s, 0s;\n }\n:is(#gscs-sidebar .gscs-manage-shortcut):active,.gscs-middle-click-active:is(#gscs-sidebar .gscs-manage-shortcut) {\n transform: scale(0.92);\n }\n:is(#gscs-sidebar .gscs-manage-shortcut) svg {\n width: 1em;\n height: 1em;\n fill: currentcolor;\n }\n#gscs-sidebar .gscs-section__content {\n margin-left: 5px;\n display: grid;\n grid-template-rows: 1fr;\n transition:\n grid-template-rows var(--gscs-duration-normal) var(--gscs-ease-default),\n visibility var(--gscs-duration-normal) var(--gscs-ease-default),\n opacity var(--gscs-duration-normal) var(--gscs-ease-default);\n visibility: visible;\n opacity: 1;\n }\n:is(#gscs-sidebar .gscs-section__content) > .gscs-section__content-inner {\n overflow: hidden;\n }\n.is-section-collapsed:is(#gscs-sidebar .gscs-section__content) {\n grid-template-rows: 0fr;\n visibility: hidden;\n opacity: 0;\n margin-top: calc(-8px * var(--sidebar-spacing-multiplier));\n padding-bottom: 0;\n }\n#gscs-sidebar .gscs-filter-option {\n display: flex !important;\n align-items: center;\n margin-bottom: calc(5px * var(--sidebar-spacing-multiplier));\n color: var(--sidebar-text-color);\n text-decoration: none;\n cursor: pointer;\n padding: calc(4px * var(--sidebar-spacing-multiplier)) 4px;\n margin-left: -4px;\n margin-right: -4px;\n font-size: 1em;\n overflow: hidden !important;\n white-space: nowrap;\n min-width: 0;\n border-radius: 4px;\n transition: var(--gscs-transition-interactive-full);\n }\n:is(#gscs-sidebar .gscs-filter-option) .gscs-label {\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n:is(#gscs-sidebar .gscs-filter-option):hover {\n text-decoration: none !important;\n background-color: var(--sidebar-tool-btn-hover-bg);\n color: var(--sidebar-link-hover-color);\n }\n:is(#gscs-sidebar .gscs-filter-option):hover .gscs-label {\n text-decoration: none;\n color: var(--sidebar-link-hover-color);\n }\n:is(#gscs-sidebar .gscs-filter-option):active,.gscs-middle-click-active:is(#gscs-sidebar .gscs-filter-option) {\n transform: scale(0.98);\n }\n.is-selected:is(#gscs-sidebar .gscs-filter-option) {\n font-weight: bold;\n color: var(--sidebar-selected-color);\n }\n/* --- Country Section --- */\n:is(#gscs-sidebar .gscs-filter-option) .country-icon-container {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-right: 6px;\n margin-left: 0;\n vertical-align: text-bottom;\n transition: transform var(--gscs-duration-normal);\n transform-origin: center;\n }\n:is(:is(#gscs-sidebar .gscs-filter-option) .country-icon-container) > svg {\n vertical-align: middle;\n max-height: 1em;\n }\n#gscs-sidebar .gscs-custom-list {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n:is(#gscs-sidebar .gscs-custom-list) li {\n overflow: hidden;\n }\n/* Custom Filter Items Layout in Sidebar */\n#gscs-sidebar .gscs-custom-filter-item {\n display: flex !important;\n align-items: center;\n justify-content: flex-start;\n flex-wrap: nowrap;\n padding: 0;\n min-height: 1.6em;\n position: relative;\n }\n:is(#gscs-sidebar .gscs-custom-filter-item) .gscs-filter-option {\n flex-grow: 1;\n margin-bottom: 0;\n width: 0;\n min-width: 0;\n padding-right: 0;\n }\n:is(#gscs-sidebar .gscs-custom-filter-item):hover .gscs-custom-filter-delete-btn,:is(#gscs-sidebar .gscs-custom-filter-item) .gscs-custom-filter-delete-btn:focus,:is(#gscs-sidebar .gscs-custom-filter-item) .gscs-custom-filter-delete-btn.is-confirming {\n opacity: 1;\n }\n:is(#gscs-sidebar .gscs-custom-filter-item) .gscs-custom-filter-delete-btn.is-confirming {\n background-color: var(--gscs-msg-error-bg);\n color: var(--gscs-msg-error-text);\n }\n#gscs-sidebar .gscs-custom-filter-delete-btn {\n background: var(--sidebar-bg-color);\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n border: none;\n cursor: pointer;\n padding: 2px;\n color: var(--sidebar-header-btn-color);\n opacity: 0; /* Hidden by default */\n transition:\n opacity var(--gscs-duration-normal),\n color var(--gscs-duration-normal);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.4em;\n height: 1.4em;\n flex-shrink: 0;\n border-radius: 4px;\n z-index: 5;\n box-shadow: -2px 0 2px var(--sidebar-bg-color);\n }\n:is(#gscs-sidebar .gscs-custom-filter-delete-btn):hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n color: var(--sidebar-tool-btn-hover-text);\n }\n:is(#gscs-sidebar .gscs-custom-filter-delete-btn) svg {\n width: 1em;\n height: 1em;\n }\n/* Minimal theme: give delete button a visible background */\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--light .gscs-custom-filter-delete-btn {\n background: rgb(255 255 255 / 92%);\n box-shadow: -4px 0 6px rgb(255 255 255 / 92%);\n }\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--dark .gscs-custom-filter-delete-btn {\n background: rgb(32 33 36 / 92%);\n box-shadow: -4px 0 6px rgb(32 33 36 / 92%);\n }\n/* --- Filter Mode Toggle (Include/Exclude) --- */\n#gscs-sidebar .gscs-filter-mode-toggle {\n display: flex;\n gap: 4px;\n margin-bottom: 6px;\n }\n#gscs-sidebar .gscs-filter-mode-btn {\n flex: 1;\n padding: calc(2px * var(--sidebar-spacing-multiplier)) 6px;\n font-size: 0.8em;\n border: 1px solid var(--sidebar-tool-btn-border);\n border-radius: 4px;\n background: transparent;\n color: var(--sidebar-text-color);\n cursor: pointer;\n opacity: 0.65;\n transition: opacity var(--gscs-duration-fast), background-color var(--gscs-duration-fast), transform var(--gscs-duration-fast);\n }\n:is(#gscs-sidebar .gscs-filter-mode-btn):active,.gscs-middle-click-active:is(#gscs-sidebar .gscs-filter-mode-btn) {\n transform: scale(0.94);\n }\n.is-active:is(#gscs-sidebar .gscs-filter-mode-btn) {\n opacity: 1;\n background: var(--sidebar-tool-btn-active-bg);\n border-color: var(--sidebar-tool-btn-active-border);\n color: var(--sidebar-selected-color);\n }\n.is-active.is-exclude:is(#gscs-sidebar .gscs-filter-mode-btn) {\n background: rgb(220 53 69 / 15%);\n border-color: rgb(220 53 69 / 40%);\n color: #dc3545;\n }\n/* --- Single-select exclude hover button --- */\n#gscs-sidebar .gscs-filter-option-wrapper {\n position: relative;\n overflow: hidden;\n }\n:is(#gscs-sidebar .gscs-filter-option-wrapper):hover .gscs-filter-exclude-btn {\n opacity: 1;\n color: #dc3545;\n background: rgb(220 53 69 / 12%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 25%), -2px 0 4px var(--sidebar-bg-color);\n }\n.is-excluded:is(#gscs-sidebar .gscs-filter-option-wrapper) .gscs-filter-option {\n text-decoration: line-through;\n color: #dc3545;\n opacity: 0.75;\n }\n#gscs-sidebar .gscs-filter-exclude-btn {\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n background: var(--sidebar-bg-color);\n border: none;\n cursor: pointer;\n color: var(--sidebar-header-btn-color);\n opacity: 0;\n transition: opacity var(--gscs-duration-normal), color var(--gscs-duration-fast), background var(--gscs-duration-fast), transform var(--gscs-duration-fast);\n font-size: 0.8em;\n padding: 2px 5px;\n border-radius: 3px;\n z-index: 5;\n box-shadow: -2px 0 4px var(--sidebar-bg-color);\n }\n.is-active:is(#gscs-sidebar .gscs-filter-exclude-btn) {\n opacity: 1;\n }\n:is(#gscs-sidebar .gscs-filter-exclude-btn):hover,.is-active:is(#gscs-sidebar .gscs-filter-exclude-btn) {\n color: #dc3545;\n background: rgb(220 53 69 / 18%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 35%), -2px 0 4px var(--sidebar-bg-color);\n }\n:is(#gscs-sidebar .gscs-filter-exclude-btn):active,.gscs-middle-click-active:is(#gscs-sidebar .gscs-filter-exclude-btn) {\n transform: translateY(-50%) scale(0.88);\n background: rgb(220 53 69 / 28%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 55%), -2px 0 4px var(--sidebar-bg-color);\n }\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--light .gscs-filter-exclude-btn {\n background: rgb(255 255 255 / 92%);\n box-shadow: -2px 0 4px rgb(255 255 255 / 92%);\n }\n#gscs-sidebar.gscs-theme-minimal.gscs-theme-minimal--dark .gscs-filter-exclude-btn {\n background: rgb(32 33 36 / 92%);\n box-shadow: -2px 0 4px rgb(32 33 36 / 92%);\n }\n/* Exclude mode — checked items in checkbox list */\n#gscs-sidebar .gscs-custom-list.checkbox-mode-enabled.exclude-mode .gscs-filter-option.is-selected {\n color: #dc3545;\n text-decoration: line-through;\n opacity: 0.8;\n }\n/* --- Generic Button --- */\n#gscs-sidebar .gscs-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: 0.4em 0.6em;\n margin-bottom: calc(5px * var(--sidebar-spacing-multiplier));\n text-align: center;\n cursor: pointer;\n font-size: 0.9em;\n text-decoration: none;\n border-radius: 4px;\n background-color: var(--sidebar-tool-btn-bg);\n border: 1px solid var(--sidebar-tool-btn-border);\n color: var(--sidebar-tool-btn-text);\n line-height: 1.4;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n box-sizing: border-box;\n transition: var(--gscs-transition-interactive-full);\n }\n:is(#gscs-sidebar .gscs-button):hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n border-color: var(--sidebar-tool-btn-hover-border);\n color: var(--sidebar-tool-btn-hover-text, var(--sidebar-tool-btn-text));\n }\n:is(#gscs-sidebar .gscs-button):active,.gscs-middle-click-active:is(#gscs-sidebar .gscs-button) {\n transform: scale(0.97);\n }\n.is-active:is(#gscs-sidebar .gscs-button) {\n background-color: var(--sidebar-tool-btn-active-bg);\n color: var(--sidebar-tool-btn-active-text);\n border-color: var(--sidebar-tool-btn-active-border);\n font-weight: bold;\n }\n#gscs-tool-personalize-search.is-active:is(#gscs-sidebar .gscs-button) svg {\n stroke: var(--sidebar-tool-btn-active-text);\n }\n:is(#gscs-sidebar .gscs-button) svg {\n flex-shrink: 0;\n margin-right: 0.4em;\n width: 0.9em;\n height: 0.9em;\n vertical-align: middle;\n }\n:is(#gscs-sidebar .gscs-button) span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n }\n/*\n |--------------------------------------------------------------------------\n | Component-Specific Styles\n |--------------------------------------------------------------------------\n */\n/* --- Generic Checkbox Mode List (Language, Country, etc.) --- */\n:is(#gscs-sidebar .gscs-custom-list.checkbox-mode-enabled) li {\n display: flex;\n align-items: center;\n padding: calc(1px * var(--sidebar-spacing-multiplier)) 0;\n margin-bottom: calc(3px * var(--sidebar-spacing-multiplier));\n }\n:is(:is(#gscs-sidebar .gscs-custom-list.checkbox-mode-enabled) li):last-child {\n margin-bottom: 0;\n }\n:is(:is(#gscs-sidebar .gscs-custom-list.checkbox-mode-enabled) li) input[type='checkbox'] {\n margin-right: 6px; /* Reduced from 0.5em (~8px) */\n flex-shrink: 0;\n cursor: pointer;\n }\n:is(:is(#gscs-sidebar .gscs-custom-list.checkbox-mode-enabled) li) .gscs-filter-option {\n margin-bottom: 0;\n flex-grow: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n padding: calc(2px * var(--sidebar-spacing-multiplier)) 0;\n }\n/* --- Site Search Section --- */\n:is(#gscs-sidebar #sidebar-section-site-search) .gscs-section__content > .gscs-filter-option:first-child {\n margin-bottom: calc(8px * var(--sidebar-spacing-multiplier));\n }\n:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) li {\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) li):not(:last-child) {\n margin-bottom: calc(3px * var(--sidebar-spacing-multiplier));\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-option {\n flex: 1;\n min-width: 0;\n margin-bottom: 0;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-exclude-btn {\n position: static;\n transform: none;\n flex-shrink: 0;\n background: transparent;\n box-shadow: none;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li):hover {\n background-color: var(--sidebar-tool-btn-hover-bg);\n border-radius: 4px;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li):hover .gscs-filter-exclude-btn {\n opacity: 1;\n color: #dc3545;\n background: rgb(220 53 69 / 12%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 25%);\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-option:hover {\n background-color: transparent;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-exclude-btn:hover,:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-exclude-btn.is-active {\n background: rgb(220 53 69 / 18%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 35%);\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-exclude-btn:active,:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-exclude-btn.gscs-middle-click-active {\n transform: scale(0.88);\n background: rgb(220 53 69 / 28%);\n box-shadow: inset 0 0 0 1px rgb(220 53 69 / 55%);\n }\n.is-excluded:is(:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list):not(.checkbox-mode-enabled) li) .gscs-filter-option {\n text-decoration: line-through;\n color: #dc3545;\n opacity: 0.75;\n }\n.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) li {\n display: flex;\n align-items: center;\n }\n.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) label {\n cursor: pointer;\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle;\n color: var(--sidebar-text-color);\n }\n:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) label):hover {\n text-decoration: none;\n color: var(--sidebar-link-hover-color);\n }\n:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) label):active,.gscs-middle-click-active:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) label) {\n transform: scale(0.98);\n }\n.is-selected:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-site-search) .gscs-custom-list) label) {\n font-weight: bold;\n color: var(--sidebar-selected-color);\n }\n:is(#gscs-sidebar #sidebar-section-site-search) .gscs-checkbox--site {\n margin-right: 0.5em;\n flex-shrink: 0;\n vertical-align: middle;\n }\n:is(#gscs-sidebar #sidebar-section-site-search) .gscs-filter-option:not(#gscs-clear-site-search-option) {\n margin-bottom: calc(3px * var(--sidebar-spacing-multiplier));\n flex-grow: 1;\n display: flex;\n align-items: center;\n }\n:is(#gscs-sidebar #sidebar-section-site-search) .gscs-button--apply-sites {\n margin-top: calc(8px * var(--sidebar-spacing-multiplier));\n width: 100%;\n }\n/* --- Filetype Section --- */\n:is(#gscs-sidebar #sidebar-section-filetype) .gscs-section__content > .gscs-filter-option:first-child {\n margin-bottom: calc(8px * var(--sidebar-spacing-multiplier));\n }\n:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) li {\n padding: 0;\n margin: 0;\n }\n:is(:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) li):not(:last-child) {\n margin-bottom: calc(3px * var(--sidebar-spacing-multiplier));\n }\n.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) li {\n display: flex;\n align-items: center;\n }\n.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) label {\n cursor: pointer;\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: inline-block;\n vertical-align: middle;\n color: var(--sidebar-text-color);\n }\n:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) label):hover {\n text-decoration: none;\n color: var(--sidebar-link-hover-color);\n }\n:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) label):active,.gscs-middle-click-active:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) label) {\n transform: scale(0.98);\n }\n.is-selected:is(.checkbox-mode-enabled:is(:is(#gscs-sidebar #sidebar-section-filetype) .gscs-custom-list) label) {\n font-weight: bold;\n color: var(--sidebar-selected-color);\n }\n:is(#gscs-sidebar #sidebar-section-filetype) .gscs-checkbox--filetype {\n margin-right: 0.5em;\n flex-shrink: 0;\n vertical-align: middle;\n }\n:is(#gscs-sidebar #sidebar-section-filetype) .gscs-filter-option:not(#gscs-clear-filetype-search-option) {\n margin-bottom: calc(3px * var(--sidebar-spacing-multiplier));\n }\n:is(#gscs-sidebar #sidebar-section-filetype) .gscs-button--apply-filetypes {\n margin-top: calc(8px * var(--sidebar-spacing-multiplier));\n width: 100%;\n }\n/* --- Date Range Section --- */\n#gscs-sidebar .gscs-date-input__label {\n display: block;\n margin-bottom: calc(2px * var(--sidebar-spacing-multiplier));\n font-size: 0.85em;\n }\n#gscs-sidebar .gscs-date-input__field {\n display: block;\n margin-bottom: calc(5px * var(--sidebar-spacing-multiplier));\n width: 100%;\n padding: 0.3em;\n font-size: 0.9em;\n border: 1px solid var(--sidebar-input-border);\n background-color: var(--sidebar-input-bg);\n color: var(--sidebar-input-text);\n border-radius: 4px;\n box-sizing: border-box;\n transition: var(--gscs-transition-focus);\n }\n:is(#gscs-sidebar .gscs-date-input__field):focus:not(:focus-visible) {\n outline: none;\n border-color: var(--sidebar-tool-btn-active-text);\n box-shadow: 0 0 0 2px var(--sidebar-tool-btn-active-border);\n }\n:is(#gscs-sidebar .gscs-date-input__field):focus-visible {\n outline: none;\n border-color: var(--sidebar-tool-btn-active-text);\n box-shadow: 0 0 0 2px var(--sidebar-tool-btn-active-border);\n }\n#gscs-sidebar #sidebar-section-date-range .gscs-button {\n margin-top: 5px;\n }\n#gscs-sidebar .gscs-date-range-error-message {\n display: none;\n font-size: 0.85em;\n color: #dc3545;\n margin-top: 0.3em;\n margin-bottom: 0.5em;\n text-align: left;\n }\n.is-error-visible:is(#gscs-sidebar .gscs-date-range-error-message) {\n display: block;\n }\n#gscs-sidebar .gscs-setting-value-hint {\n font-size: 0.85em;\n color: var(--settings-tab-color);\n font-weight: normal;\n margin-left: 0;\n }\n/*\n |--------------------------------------------------------------------------\n | Keyboard Focus Indicators\n |--------------------------------------------------------------------------\n */\n#gscs-sidebar :focus-visible {\n outline: 2px solid var(--sidebar-tool-btn-active-text, #1967d2);\n outline-offset: 2px;\n border-radius: 3px;\n }\n#gscs-sidebar :focus:not(:focus-visible) {\n outline: none;\n }\n/*\n |--------------------------------------------------------------------------\n | Hover Mode Delay\n |--------------------------------------------------------------------------\n */\n#gscs-sidebar.hover-mode {\n transition-delay: 0s;\n }\n#gscs-sidebar.hover-mode:not(:hover) {\n transition-delay: 0.15s;\n }\n.gscs-settings-window *,\n.settings-modal-content * {\n box-sizing: border-box;\n}\n#gscs-slim-stats {\n font-size: 13px;\n opacity: 0.85;\n white-space: nowrap;\n}\n.gscs-favicon {\n width: 1em;\n height: 1em;\n margin-right: 0.4em;\n vertical-align: middle;\n flex-shrink: 0;\n}\n/* Section title text span */\n.gscs-section-title__text {\n flex-grow: 1;\n display: flex;\n align-items: center;\n}\n/* settings-modal.css is lazy-loaded via src/ui/styles/lazy-styles.js */\n";const t={_settingsVersion:1,sidebarPosition:{left:0,top:80},sectionStates:{},theme:"system",hoverMode:!1,idleOpacity:.8,sidebarWidth:165,sidebarHeight:95,fontSize:14,headerIconSize:18,verticalSpacingMultiplier:.5,interfaceLanguage:"auto",customColors:{bgColor:"",textColor:"",linkColor:"",selectedColor:"",inputBgColor:"",inputTextColor:"",borderColor:"",dividerColor:"",btnBgColor:"",btnHoverBgColor:"",activeBgColor:"",activeTextColor:"",activeBorderColor:"",headerIconColor:"",itemTextColor:""},visibleSections:{"sidebar-section-language":!0,"sidebar-section-time":!0,"sidebar-section-filetype":!0,"sidebar-section-occurrence":!0,"sidebar-section-country":!0,"sidebar-section-date-range":!0,"sidebar-section-site-search":!0,"sidebar-section-custom-filters":!0,"sidebar-section-tools":!0},sectionDisplayMode:"remember",accordionMode:!1,resetButtonLocation:"topBlock",verbatimButtonLocation:"header",advancedSearchLinkLocation:"header",personalizationButtonLocation:"tools",googleScholarShortcutLocation:"tools",googleTrendsShortcutLocation:"tools",googleDatasetSearchShortcutLocation:"tools",showCountryFlags:!0,fixWindowsFlags:function(){try{const e=/Win/i.test(navigator.platform)||/Windows/i.test(navigator.userAgent),t=/Firefox/i.test(navigator.userAgent);return e&&!t}catch(e){return!1}}(),showResultStats:!0,resultStatsPosition:"slim_appbar",scrollbarPosition:"right",showActiveFiltersHUD:!0,hudPosition:"searchbox",hudIncludeKeywords:!1,hudShowFlagIcon:!0,hudShowFavicon:!0,customLanguages:[],customTimeRanges:[],customFiletypes:[{text:"📄Documents",value:"pdf OR docx OR doc OR odt OR rtf OR txt OR epub"},{text:"💹Spreadsheets",value:"xlsx OR xls OR ods OR csv"},{text:"📊Presentations",value:"pptx OR ppt OR odp"}],customCountries:[],displayFiletypes:[{text:"📄Documents",value:"pdf OR docx OR doc OR odt OR rtf OR txt OR epub",type:"custom"},{text:"💹Spreadsheets",value:"xlsx OR xls OR ods OR csv",type:"custom"},{text:"📊Presentations",value:"pptx OR ppt OR odp",type:"custom"},{textKey:"predefined_filetype_pdf",value:"pdf",type:"predefined",text:"PDF"},{textKey:"predefined_filetype_txt",value:"txt OR text",type:"predefined",text:"TXT"}],displayLanguages:[{value:"lang_en",code:"en",type:"predefined"}],displayCountries:[{value:"countryUS",code:"US",type:"predefined"}],favoriteSites:[{text:"Wikipedia (EN)",url:"en.wikipedia.org"},{text:"Wiktionary",url:"wiktionary.org"},{text:"Internet Archive",url:"archive.org"},{text:"GitHub",url:"github.com"},{text:"GitLab",url:"gitlab.com"},{text:"Stack Overflow",url:"stackoverflow.com"},{text:"Hacker News",url:"news.ycombinator.com"},{text:"Greasy Fork",url:"greasyfork.org"},{text:"Reddit",url:"reddit.com"},{text:"X",url:"x.com"},{text:"Mastodon",url:"mastodon.social"},{text:"Bluesky",url:"bsky.app"},{text:"Lemmy",url:"lemmy.world"},{text:"IMDb",url:"imdb.com"},{text:"TMDb",url:"themoviedb.org"},{text:"Letterboxd",url:"letterboxd.com"},{text:"Metacritic",url:"metacritic.com"},{text:"OpenCritic",url:"opencritic.com"},{text:"Steam",url:"store.steampowered.com"},{text:"Bandcamp",url:"bandcamp.com"},{text:"Last.fm",url:"last.fm"},{text:"💬Social",url:"x.com OR facebook.com OR instagram.com OR threads.net OR bsky.app OR mastodon.social OR reddit.com OR tumblr.com OR linkedin.com OR lemmy.world"},{text:"📦Repositories",url:"github.com OR gitlab.com OR bitbucket.org OR codeberg.org OR sourceforge.net"},{text:"🎓Academics",url:"scholar.google.com OR arxiv.org OR researchgate.net OR jstor.org OR academia.edu OR pubmed.ncbi.nlm.nih.gov OR semanticscholar.org OR core.ac.uk"},{text:"📰News",url:"bbc.com/news OR reuters.com OR apnews.com OR nytimes.com OR theguardian.com OR cnn.com OR wsj.com"},{text:"🎨Creative",url:"behance.net OR dribbble.com OR artstation.com OR deviantart.com"}],customFilters:[],enableSiteSearchCheckboxMode:!0,showFaviconsForSiteSearch:!0,enableFiletypeCheckboxMode:!0,sidebarCollapsed:!1,draggableHandleEnabled:!0,enabledPredefinedOptions:{language:["lang_en"],country:["countryUS"],time:["d","w","m","y","h"],filetype:["pdf","txt OR text"]},sidebarSectionOrder:["sidebar-section-custom-filters","sidebar-section-time","sidebar-section-language","sidebar-section-country","sidebar-section-site-search","sidebar-section-filetype","sidebar-section-date-range","sidebar-section-occurrence","sidebar-section-tools"],hideGoogleLogoWhenExpanded:!1,multiLanguageSearch:!0,multiCountrySearch:!0,enableLanguageExcludeFilter:!0,enableCountryExcludeFilter:!0,enableSiteExcludeFilter:!0,debugMode:!1},n={SIDEBAR:"gscs-sidebar",SETTINGS_OVERLAY:"gscs-settings-overlay",SETTINGS_WINDOW:"gscs-settings-window",COLLAPSE_BUTTON:"gscs-sidebar-collapse-button",SETTINGS_BUTTON:"gscs-sidebar-settings-button",TOOL_RESET_BUTTON:"gscs-tool-reset-button",TOOL_VERBATIM:"gscs-tool-verbatim",TOOL_PERSONALIZE:"gscs-tool-personalize-search",TOOL_GOOGLE_SCHOLAR:"gscs-tool-google-scholar",TOOL_GOOGLE_TRENDS:"gscs-tool-google-trends",TOOL_GOOGLE_DATASET_SEARCH:"gscs-tool-google-dataset-search",APPLY_SELECTED_SITES_BUTTON:"gscs-apply-selected-sites-button",APPLY_SELECTED_FILETYPES_BUTTON:"gscs-apply-selected-filetypes-button",APPLY_SELECTED_LANGUAGES_BUTTON:"gscs-apply-selected-languages-button",APPLY_SELECTED_COUNTRIES_BUTTON:"gscs-apply-selected-countries-button",FIXED_TOP_BUTTONS:"gscs-sidebar-fixed-top-buttons",SETTINGS_MESSAGE_BAR:"gscs-settings-message-bar",SETTING_WIDTH:"gscs-setting-sidebar-width",SETTING_HEIGHT:"gscs-setting-sidebar-height",SETTING_FONT_SIZE:"gscs-setting-font-size",SETTING_HEADER_ICON_SIZE:"gscs-setting-header-icon-size",SETTING_VERTICAL_SPACING:"gscs-setting-vertical-spacing",SETTING_INTERFACE_LANGUAGE:"gscs-setting-interface-language",SETTING_SECTION_MODE:"gscs-setting-section-display-mode",SETTING_ACCORDION:"gscs-setting-accordion-mode",SETTING_DRAGGABLE:"gscs-setting-draggable-handle",SETTING_RESET_LOCATION:"gscs-setting-reset-button-location",SETTING_VERBATIM_LOCATION:"gscs-setting-verbatim-button-location",SETTING_ADV_SEARCH_LOCATION:"gscs-setting-adv-search-link-location",SETTING_PERSONALIZE_LOCATION:"gscs-setting-personalize-button-location",SETTING_SCHOLAR_LOCATION:"gscs-setting-scholar-shortcut-location",SETTING_TRENDS_LOCATION:"gscs-setting-trends-shortcut-location",SETTING_DATASET_SEARCH_LOCATION:"gscs-setting-dataset-search-shortcut-location",SETTING_SITE_SEARCH_CHECKBOX_MODE:"gscs-setting-site-search-checkbox-mode",SETTING_SHOW_FAVICONS:"gscs-setting-show-favicons",SETTING_FILETYPE_SEARCH_CHECKBOX_MODE:"gscs-setting-filetype-search-checkbox-mode",SETTING_COUNTRY_DISPLAY_MODE:"gscs-setting-country-display-mode",SETTING_THEME:"gscs-setting-theme",SETTING_HOVER:"gscs-setting-hover-mode",SETTING_OPACITY:"gscs-setting-idle-opacity",SETTING_HIDE_GOOGLE_LOGO:"gscs-setting-hide-google-logo",SETTING_SCROLLBAR_POSITION:"gscs-setting-scrollbar-position",SETTING_SHOW_RESULT_STATS:"gscs-setting-show-result-stats",SETTING_RESULT_STATS_POSITION:"gscs-setting-result-stats-position",SETTING_MULTI_LANGUAGE_SEARCH:"gscs-setting-multi-language-search",SETTING_MULTI_COUNTRY_SEARCH:"gscs-setting-multi-country-search",SETTING_ENABLE_LANGUAGE_EXCLUDE_FILTER:"gscs-setting-enable-language-exclude-filter",SETTING_ENABLE_COUNTRY_EXCLUDE_FILTER:"gscs-setting-enable-country-exclude-filter",SETTING_ENABLE_SITE_EXCLUDE_FILTER:"gscs-setting-enable-site-exclude-filter",SETTING_SHOW_COUNTRY_FLAGS:"gscs-setting-show-country-flags",SETTING_FIX_WINDOWS_FLAGS:"gscs-setting-fix-windows-flags",CUSTOM_COLORS_CONTAINER:"gscs-custom-colors-container",SETTING_COLOR_BG_COLOR:"gscs-setting-color-bg-color",SETTING_COLOR_TEXT_COLOR:"gscs-setting-color-text-color",SETTING_COLOR_LINK_COLOR:"gscs-setting-color-link-color",SETTING_COLOR_SELECTED_COLOR:"gscs-setting-color-selected-color",SETTING_COLOR_INPUT_BG_COLOR:"gscs-setting-color-input-bg-color",SETTING_COLOR_INPUT_TEXT_COLOR:"gscs-setting-color-input-text-color",SETTING_COLOR_BORDER_COLOR:"gscs-setting-color-border-color",SETTING_COLOR_DIVIDER_COLOR:"gscs-setting-color-divider-color",SETTING_COLOR_BTN_BG_COLOR:"gscs-setting-color-btn-bg-color",SETTING_COLOR_BTN_HOVER_BG_COLOR:"gscs-setting-color-btn-hover-bg-color",SETTING_COLOR_ACTIVE_BG_COLOR:"gscs-setting-color-active-bg-color",SETTING_COLOR_ACTIVE_TEXT_COLOR:"gscs-setting-color-active-text-color",SETTING_COLOR_ACTIVE_BORDER_COLOR:"gscs-setting-color-active-border-color",SETTING_COLOR_HEADER_ICON_COLOR:"gscs-setting-color-header-icon-color",SETTING_COLOR_ITEM_TEXT_COLOR:"gscs-setting-color-item-text-color",RESET_CUSTOM_COLORS_BTN:"gscs-reset-custom-colors-btn",TAB_PANE_GENERAL:"gscs-tab-pane-general",TAB_PANE_APPEARANCE:"gscs-tab-pane-appearance",TAB_PANE_FEATURES:"gscs-tab-pane-features",TAB_PANE_CUSTOM:"gscs-tab-pane-custom",SITES_LIST:"gscs-custom-sites-list",LANG_LIST:"gscs-custom-languages-list",TIME_LIST:"gscs-custom-time-ranges-list",FT_LIST:"gscs-custom-filetypes-list",COUNTRIES_LIST:"gscs-custom-countries-list",CUSTOM_FILTERS_LIST:"gscs-custom-filters-list",NEW_SITE_NAME:"gscs-new-site-name",NEW_SITE_URL:"gscs-new-site-url",ADD_SITE_BTN:"gscs-add-site-button",NEW_LANG_TEXT:"gscs-new-lang-text",NEW_LANG_VALUE:"gscs-new-lang-value",ADD_LANG_BTN:"gscs-add-lang-button",NEW_TIME_TEXT:"gscs-new-timerange-text",NEW_TIME_VALUE:"gscs-new-timerange-value",ADD_TIME_BTN:"gscs-add-timerange-button",NEW_FT_TEXT:"gscs-new-ft-text",NEW_FT_VALUE:"gscs-new-ft-value",ADD_FT_BTN:"gscs-add-ft-button",NEW_COUNTRY_TEXT:"gscs-new-country-text",NEW_COUNTRY_VALUE:"gscs-new-country-value",ADD_COUNTRY_BTN:"gscs-add-country-button",DATE_MIN:"gscs-date-min",DATE_MAX:"gscs-date-max",DATE_RANGE_ERROR_MSG:"gscs-date-range-error-msg",SIDEBAR_SECTION_ORDER_LIST:"gscs-sidebar-section-order-list",NOTIFICATION_CONTAINER:"gscs-notification-container",MODAL_ADD_NEW_OPTION_BTN:"gscs-modal-add-new-option-btn",MODAL_PREDEFINED_CHOOSER_CONTAINER:"gscs-modal-predefined-chooser-container",MODAL_PREDEFINED_CHOOSER_LIST:"gscs-modal-predefined-chooser-list",MODAL_PREDEFINED_CHOOSER_ADD_BTN:"gscs-modal-predefined-chooser-add-btn",MODAL_PREDEFINED_CHOOSER_CANCEL_BTN:"gscs-modal-predefined-chooser-cancel-btn",CLEAR_SITE_SEARCH_OPTION:"gscs-clear-site-search-option",CLEAR_FILETYPE_SEARCH_OPTION:"gscs-clear-filetype-search-option",RESULT_STATS_CONTAINER:"gscs-result-stats-container",LABEL:"gscs-label"},s={IS_SIDEBAR_COLLAPSED:"is-sidebar-collapsed",IS_SECTION_COLLAPSED:"is-section-collapsed",IS_SELECTED:"is-selected",IS_ACTIVE:"is-active",IS_DRAGGING:"is-dragging",IS_DRAG_OVER:"is-drag-over",IS_ERROR_VISIBLE:"is-error-visible",HAS_ERROR:"has-error",INPUT_VALID:"input-valid",THEME_LIGHT:"gscs-theme-light",THEME_DARK:"gscs-theme-dark",THEME_MINIMAL:"gscs-theme-minimal",THEME_MINIMAL_LIGHT:"gscs-theme-minimal--light",THEME_MINIMAL_DARK:"gscs-theme-minimal--dark",SIDEBAR_HEADER:"gscs-sidebar__header",SIDEBAR_CONTENT_WRAPPER:"gscs-sidebar__content-wrapper",DRAG_HANDLE:"gscs-sidebar__drag-handle",SETTINGS_BUTTON:"gscs-settings-button",SETTINGS_OVERLAY:"gscs-settings-overlay",SETTINGS_WINDOW:"gscs-settings-window",HEADER_BUTTON:"gscs-header-button",SECTION:"gscs-section",FIXED_TOP_BUTTONS_ITEM:"gscs-fixed-top-buttons__item",SECTION_TITLE:"gscs-section__title",SECTION_CONTENT:"gscs-section__content",FILTER_OPTION:"gscs-filter-option",CHECKBOX_SITE:"gscs-checkbox--site",CHECKBOX_FILETYPE:"gscs-checkbox--filetype",BUTTON_APPLY_SITES:"gscs-button--apply-sites",BUTTON_APPLY_FILETYPES:"gscs-button--apply-filetypes",DATE_INPUT_LABEL:"gscs-date-input__label",DATE_INPUT_FIELD:"gscs-date-input__field",BUTTON:"gscs-button",BUTTON_SIDEBAR_SAVE_FILTER:"gscs-button-sidebar-save-filter",CUSTOM_FILTER_ITEM:"gscs-custom-filter-item",CUSTOM_FILTER_DELETE_BTN:"gscs-custom-filter-delete-btn",CUSTOM_FILTER_ITEM_CONTENT:"gscs-custom-filter-item__content",CUSTOM_LIST:"gscs-custom-list",CUSTOM_LIST_ITEM_CONTROLS:"gscs-custom-list__item-controls",BUTTON_EDIT_ITEM:"gscs-button--edit-item",BUTTON_DELETE_ITEM:"gscs-button--delete-item",CUSTOM_LIST_INPUT_GROUP:"gscs-custom-list__input-group",BUTTON_ADD_CUSTOM:"gscs-button--add-custom",SETTINGS_HEADER:"gscs-settings__header",SETTINGS_CLOSE_BTN:"gscs-settings__close-button",SETTINGS_TABS:"gscs-settings__tabs",TAB_BUTTON:"gscs-tab-button",SETTINGS_TAB_CONTENT:"gscs-settings__tab-content",TAB_PANE:"gscs-tab-pane",SETTING_ITEM:"gscs-setting-item",SETTING_ITEM_LABEL_INLINE:"gscs-setting-item__label--inline",SETTINGS_FOOTER:"gscs-settings__footer",BUTTON_SAVE:"gscs-button--save",BUTTON_CANCEL:"gscs-button--cancel",BUTTON_RESET:"gscs-button--reset",SETTING_ITEM_SIMPLE:"gscs-setting-item--simple",SETTING_RANGE_VALUE:"gscs-setting-item__range-value",SETTING_RANGE_HINT:"gscs-setting-item__range-hint",SECTION_ORDER_LIST:"gscs-section-order-list",INPUT_ERROR_MSG:"gscs-input-error-message",DATE_RANGE_ERROR_MSG:"gscs-date-range-error-message",MESSAGE_BAR:"gscs-message-bar",MSG_INFO:"gscs-message-bar--info",MSG_SUCCESS:"gscs-message-bar--success",MSG_WARNING:"gscs-message-bar--warning",MSG_ERROR:"gscs-message-bar--error",BUTTON_MANAGE_CUSTOM:"gscs-button--manage-custom",NOTIFICATION:"gscs-notification",NTF_INFO:"gscs-notification--info",NTF_SUCCESS:"gscs-notification--success",NTF_WARNING:"gscs-notification--warning",NTF_ERROR:"gscs-notification--error",DRAG_ICON:"gscs-drag-icon",FAVICON:"gscs-favicon",BUTTON_REMOVE_FROM_LIST:"gscs-button--remove-from-list",MODAL_BUTTON_ADD_NEW:"gscs-modal__add-new-button",MODAL_PREDEFINED_CHOOSER:"gscs-modal-predefined-chooser",MODAL_PREDEFINED_CHOOSER_ITEM:"gscs-modal-predefined-chooser__item",SETTING_VALUE_HINT:"gscs-setting-value-hint"},i={chevronLeft:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>',chevronRight:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>',settings:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06-.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>',reset:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>',verbatim:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g transform="translate(-4.3875 -3.2375) scale(1.15)"><path d="M6 17.5c0 1.5 1.5 2.5 3 2.5h1.5c1.5 0 3-1 3-2.5V9c0-1.5-1.5-2.5-3-2.5H9C7.5 6.5 6 7.5 6 9v8.5z"/><path d="M15 17.5c0 1.5 1.5 2.5 3 2.5h1.5c1.5 0 3-1 3-2.5V9c0-1.5-1.5-2.5-3-2.5H18c-1.5 0-3 1-3 2.5v8.5z"/></g></svg>',magnifyingGlass:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',close:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',edit:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg>',delete:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line></svg>',add:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>',update:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>',personalization:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>',dragGrip:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" fill="currentColor"><circle cx="9" cy="6" r="1.5"/><circle cx="15" cy="6" r="1.5"/><circle cx="9" cy="12" r="1.5"/><circle cx="15" cy="12" r="1.5"/><circle cx="9" cy="18" r="1.5"/><circle cx="15" cy="18" r="1.5"/></svg>',removeFromList:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',googleScholar:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="1em" height="1em"><path d="M12 3L1 9l11 6 9-4.91V17h2V9L12 3zm0 11.24L3.62 9 12 5.11 20.38 9 12 14.24zM5 13.18V17.5a1.5 1.5 0 001.5 1.5h11A1.5 1.5 0 0019 17.5v-4.32l-7 3.82-7-3.82z"/></svg>',googleTrends:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="1em" height="1em"><path d="M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6h-6z"/></svg>',googleDatasetSearch:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="1em" height="1em"><path d="M3 18v-2h18v2H3Zm0-5v-2h18v2H3Zm0-5V6h18v2H3Z"/></svg>',search:'<svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>',globe:'<svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path></svg>'},o={language:[{value:"lang_en",code:"en"},{value:"lang_de",code:"de"},{value:"lang_fr",code:"fr"},{value:"lang_es",code:"es"},{value:"lang_it",code:"it"},{value:"lang_nl",code:"nl"},{value:"lang_pl",code:"pl"},{value:"lang_sv",code:"sv"},{value:"lang_pt",code:"pt"},{value:"lang_ru",code:"ru"},{value:"lang_uk",code:"uk"},{value:"lang_ja",code:"ja"},{value:"lang_zh-TW",code:"zh-TW"},{value:"lang_zh-CN",code:"zh-CN"},{textKey:"predefined_lang_zh_all",value:"lang_zh-TW|lang_zh-CN"},{value:"lang_ko",code:"ko"},{value:"lang_ar",code:"ar"},{value:"lang_bg",code:"bg"},{value:"lang_bn",code:"bn"},{value:"lang_ca",code:"ca"},{value:"lang_cs",code:"cs"},{value:"lang_da",code:"da"},{value:"lang_el",code:"el"},{value:"lang_eo",code:"eo"},{value:"lang_et",code:"et"},{value:"lang_fa",code:"fa"},{value:"lang_fi",code:"fi"},{value:"lang_he",code:"he"},{value:"lang_hi",code:"hi"},{value:"lang_hr",code:"hr"},{value:"lang_hu",code:"hu"},{value:"lang_id",code:"id"},{value:"lang_lt",code:"lt"},{value:"lang_lv",code:"lv"},{value:"lang_ms",code:"ms"},{value:"lang_no",code:"no"},{value:"lang_ro",code:"ro"},{value:"lang_th",code:"th"},{value:"lang_tr",code:"tr"},{value:"lang_vi",code:"vi"}],country:[{value:"countryUS",code:"US"},{value:"countryGB",code:"GB"},{value:"countryDE",code:"DE"},{value:"countryFR",code:"FR"},{value:"countryCA",code:"CA"},{value:"countryAU",code:"AU"},{value:"countryES",code:"ES"},{value:"countryIT",code:"IT"},{value:"countryNL",code:"NL"},{value:"countryPL",code:"PL"},{value:"countrySE",code:"SE"},{value:"countryCH",code:"CH"},{value:"countryIE",code:"IE"},{value:"countryJP",code:"JP"},{value:"countryTW",code:"TW"},{value:"countryAR",code:"AR"},{value:"countryAT",code:"AT"},{value:"countryBD",code:"BD"},{value:"countryBE",code:"BE"},{value:"countryBG",code:"BG"},{value:"countryBH",code:"BH"},{value:"countryBR",code:"BR"},{value:"countryCL",code:"CL"},{value:"countryCN",code:"CN"},{value:"countryCO",code:"CO"},{value:"countryCR",code:"CR"},{value:"countryCY",code:"CY"},{value:"countryCZ",code:"CZ"},{value:"countryDK",code:"DK"},{value:"countryDO",code:"DO"},{value:"countryEC",code:"EC"},{value:"countryEE",code:"EE"},{value:"countryEG",code:"EG"},{value:"countryFI",code:"FI"},{value:"countryGR",code:"GR"},{value:"countryHK",code:"HK"},{value:"countryHR",code:"HR"},{value:"countryHU",code:"HU"},{value:"countryID",code:"ID"},{value:"countryIL",code:"IL"},{value:"countryIN",code:"IN"},{value:"countryIS",code:"IS"},{value:"countryKE",code:"KE"},{value:"countryKR",code:"KR"},{value:"countryKW",code:"KW"},{value:"countryKZ",code:"KZ"},{value:"countryLK",code:"LK"},{value:"countryLT",code:"LT"},{value:"countryLU",code:"LU"},{value:"countryLV",code:"LV"},{value:"countryMA",code:"MA"},{value:"countryMT",code:"MT"},{value:"countryMX",code:"MX"},{value:"countryMY",code:"MY"},{value:"countryNG",code:"NG"},{value:"countryNI",code:"NI"},{value:"countryNO",code:"NO"},{value:"countryNP",code:"NP"},{value:"countryNZ",code:"NZ"},{value:"countryOM",code:"OM"},{value:"countryPA",code:"PA"},{value:"countryPE",code:"PE"},{value:"countryPH",code:"PH"},{value:"countryPK",code:"PK"},{value:"countryPR",code:"PR"},{value:"countryPT",code:"PT"},{value:"countryPY",code:"PY"},{value:"countryQA",code:"QA"},{value:"countryRO",code:"RO"},{value:"countryRS",code:"RS"},{value:"countryRU",code:"RU"},{value:"countrySA",code:"SA"},{value:"countrySG",code:"SG"},{value:"countrySI",code:"SI"},{value:"countrySK",code:"SK"},{value:"countryTH",code:"TH"},{value:"countryTR",code:"TR"},{value:"countryUA",code:"UA"},{value:"countryUY",code:"UY"},{value:"countryUZ",code:"UZ"},{value:"countryVE",code:"VE"},{value:"countryVN",code:"VN"},{value:"countryZA",code:"ZA"}],time:[{textKey:"predefined_time_n15",value:"n15"},{textKey:"predefined_time_n30",value:"n30"},{textKey:"predefined_time_h",value:"h"},{textKey:"predefined_time_h2",value:"h2"},{textKey:"predefined_time_h6",value:"h6"},{textKey:"predefined_time_h12",value:"h12"},{textKey:"predefined_time_d",value:"d"},{textKey:"predefined_time_d2",value:"d2"},{textKey:"predefined_time_d3",value:"d3"},{textKey:"predefined_time_w",value:"w"},{textKey:"predefined_time_m",value:"m"},{textKey:"predefined_time_y",value:"y"}],filetype:[{textKey:"predefined_filetype_csv",value:"csv"},{textKey:"predefined_filetype_kml",value:"kml OR kmz"},{textKey:"predefined_filetype_gpx",value:"gpx"},{textKey:"predefined_filetype_html",value:"html OR htm"},{textKey:"predefined_filetype_svg",value:"svg"},{textKey:"predefined_filetype_tex",value:"tex"},{textKey:"predefined_filetype_txt",value:"txt OR text"},{textKey:"predefined_filetype_bas",value:"bas"},{textKey:"predefined_filetype_c",value:"c OR cc OR cpp OR cxx OR h OR hpp"},{textKey:"predefined_filetype_cs",value:"cs"},{textKey:"predefined_filetype_java",value:"java"},{textKey:"predefined_filetype_pl",value:"pl"},{textKey:"predefined_filetype_py",value:"py"},{textKey:"predefined_filetype_wml",value:"wml OR wap"},{textKey:"predefined_filetype_xml",value:"xml"},{textKey:"predefined_filetype_pdf",value:"pdf"},{textKey:"predefined_filetype_ps",value:"ps"},{textKey:"predefined_filetype_epub",value:"epub"},{textKey:"predefined_filetype_hwp",value:"hwp"},{textKey:"predefined_filetype_xls",value:"xls OR xlsx"},{textKey:"predefined_filetype_ppt",value:"ppt OR pptx"},{textKey:"predefined_filetype_doc",value:"doc OR docx"},{textKey:"predefined_filetype_odp",value:"odp"},{textKey:"predefined_filetype_ods",value:"ods"},{textKey:"predefined_filetype_odt",value:"odt"},{textKey:"predefined_filetype_rtf",value:"rtf"}]},r=[{id:"sidebar-section-language",type:"filter",titleKey:"section_language",scriptDefined:[{textKey:"filter_any_language",v:""}],param:"lr",predefinedOptionsKey:"language",customItemsKey:"customLanguages",displayItemsKey:"displayLanguages"},{id:"sidebar-section-time",type:"filter",titleKey:"section_time",scriptDefined:[{textKey:"filter_any_time",v:""}],param:"qdr",predefinedOptionsKey:"time",customItemsKey:"customTimeRanges"},{id:"sidebar-section-filetype",type:"filetype",titleKey:"section_filetype",scriptDefined:[{textKey:"filter_any_format",v:""}],param:"as_filetype",predefinedOptionsKey:"filetype",customItemsKey:"customFiletypes",displayItemsKey:"displayFiletypes"},{id:"sidebar-section-occurrence",type:"filter",titleKey:"section_occurrence",scriptDefined:[{textKey:"filter_occurrence_any",v:"any"},{textKey:"filter_occurrence_title",v:"title"},{textKey:"filter_occurrence_body",v:"body"},{textKey:"filter_occurrence_url",v:"url"},{textKey:"filter_occurrence_links",v:"links"}],param:"as_occt"},{id:"sidebar-section-country",type:"filter",titleKey:"section_country",scriptDefined:[{textKey:"filter_any_country",v:""}],param:"cr",predefinedOptionsKey:"country",customItemsKey:"customCountries",displayItemsKey:"displayCountries"},{id:"sidebar-section-date-range",type:"date",titleKey:"section_date_range"},{id:"sidebar-section-site-search",type:"site",titleKey:"section_site_search",scriptDefined:[{textKey:"filter_any_site",v:""}],customItemsKey:"favoriteSites"},{id:"sidebar-section-custom-filters",type:"custom_filters",titleKey:"section_custom_filters",customItemsKey:"customFilters"},{id:"sidebar-section-tools",type:"tools",titleKey:"section_tools"}],a="[Google Search Custom Sidebar v0.5.0]",l="gscs_settings",c="googleSearchCustomSidebarSettings_v1",d="gscs_favicon_cache",_=[{id:n.SETTING_COLOR_BG_COLOR,key:"bgColor",cssVars:["--sidebar-bg-color"]},{id:n.SETTING_COLOR_TEXT_COLOR,key:"textColor",cssVars:["--sidebar-text-color","--sidebar-tool-btn-hover-text"]},{id:n.SETTING_COLOR_LINK_COLOR,key:"linkColor",cssVars:["--sidebar-link-color","--sidebar-link-hover-color","--sidebar-header-btn-hover-color"]},{id:n.SETTING_COLOR_SELECTED_COLOR,key:"selectedColor",cssVars:["--sidebar-selected-color"]},{id:n.SETTING_COLOR_INPUT_BG_COLOR,key:"inputBgColor",cssVars:["--sidebar-input-bg"]},{id:n.SETTING_COLOR_INPUT_TEXT_COLOR,key:"inputTextColor",cssVars:["--sidebar-input-text"]},{id:n.SETTING_COLOR_BORDER_COLOR,key:"borderColor",cssVars:["--sidebar-border-color","--sidebar-tool-btn-border","--sidebar-input-border","--sidebar-tool-btn-hover-border"]},{id:n.SETTING_COLOR_DIVIDER_COLOR,key:"dividerColor",cssVars:["--sidebar-section-border-color"]},{id:n.SETTING_COLOR_BTN_BG_COLOR,key:"btnBgColor",cssVars:["--sidebar-tool-btn-bg"]},{id:n.SETTING_COLOR_BTN_HOVER_BG_COLOR,key:"btnHoverBgColor",cssVars:["--sidebar-tool-btn-hover-bg"]},{id:n.SETTING_COLOR_ACTIVE_BG_COLOR,key:"activeBgColor",cssVars:["--sidebar-tool-btn-active-bg","--sidebar-header-btn-active-bg"]},{id:n.SETTING_COLOR_ACTIVE_TEXT_COLOR,key:"activeTextColor",cssVars:["--sidebar-tool-btn-active-text","--sidebar-header-btn-active-color"]},{id:n.SETTING_COLOR_ACTIVE_BORDER_COLOR,key:"activeBorderColor",cssVars:["--sidebar-tool-btn-active-border"]},{id:n.SETTING_COLOR_HEADER_ICON_COLOR,key:"headerIconColor",cssVars:["--sidebar-header-btn-color"]},{id:n.SETTING_COLOR_ITEM_TEXT_COLOR,key:"itemTextColor",cssVars:["--sidebar-tool-btn-text"]}],g={googleScholar:{id:n.TOOL_GOOGLE_SCHOLAR,iconName:"googleScholar",titleKey:"tooltip_google_scholar_search",textKey:"tool_google_scholar",serviceNameKey:"service_name_google_scholar",baseUrl:"https://scholar.google.com/scholar",queryParam:"q",homepage:"https://scholar.google.com/"},googleTrends:{id:n.TOOL_GOOGLE_TRENDS,iconName:"googleTrends",titleKey:"tooltip_google_trends_search",textKey:"tool_google_trends",serviceNameKey:"service_name_google_trends",baseUrl:"https://trends.google.com/trends/explore",queryParam:"q",homepage:"https://trends.google.com/trends/"},googleDatasetSearch:{id:n.TOOL_GOOGLE_DATASET_SEARCH,iconName:"googleDatasetSearch",titleKey:"tooltip_google_dataset_search",textKey:"tool_google_dataset_search",serviceNameKey:"service_name_google_dataset_search",baseUrl:"https://datasetsearch.research.google.com/search",queryParam:"query",homepage:"https://datasetsearch.research.google.com/"}};let u=null;const p={init(e){u=e},debug(e,...t){(function(){try{return!!u&&!!u.value?.debugMode}catch{return!1}})()&&console.log(`${a} [${e}]`,...t)},log(e,...t){console.log(`${a} [${e}]`,...t)},warn(e,...t){console.warn(`${a} [${e}]`,...t)},error(e,...t){console.error(`${a} [${e}]`,...t)}};let m={en:{hud_click_to_remove:"Click to remove",modal_batch_all_tooltip:"Select All",modal_batch_include_tooltip:"Select Positive Only",modal_batch_exclude_tooltip:"Select Negative Only",modal_batch_none_tooltip:"Deselect All",settings_show_active_filters_hud:"Show Active Filters HUD",settings_show_active_filters_hud_hint:"Display a floating bar showing currently applied filters.",settings_hud_include_keywords:"Include General Keywords (Not just rules)",settings_hud_show_flag_icon:"Show Country Flags in HUD",settings_hud_show_favicon:"Show Website Icons (Favicon) in HUD",modal_group_env:"Environment / URL",modal_group_ops:"Advanced Operators",modal_group_kws:"Keywords",modal_batch_all:"All",modal_batch_include:"Include",modal_batch_exclude:"Exclude",modal_batch_none:"None",modal_search_filter_placeholder:"Filter...",filter_clear_value:"clear",tooltip_clear_filetype:"Remove filetype: restriction",settingsTitle:"Google Search Custom Sidebar Settings",manageSitesTitle:"Manage Favorite Sites",manageLanguagesTitle:"Manage Language Options",manageCountriesTitle:"Manage Country/Region Options",manageTimeRangesTitle:"Manage Time Ranges",manageFileTypesTitle:"Manage File Types",section_language:"Language",section_time:"Time",section_filetype:"File Type",section_country:"Country/Region",section_date_range:"Date Range",section_site_search:"Site Search",section_custom_filters:"My Filters",section_tools:"Tools",section_occurrence:"Keyword Location",filter_time:"Time",filter_language:"Language",filter_country:"Country",filter_ops:"Options",filter_any_language:"Any Language",filter_any_time:"Any Time",filter_any_format:"Any Format",filter_any_country:"Any Country/Region",filter_any_site:"Any Site",filter_occurrence_any:"Anywhere in the page",filter_occurrence_title:"In the title of the page",filter_occurrence_body:"In the text of the page",filter_occurrence_url:"In the URL of the page",filter_occurrence_links:"In links to the page",filter_any:"Any",modal_label_standard_options:"Standard {type} Options",modal_add_predefined_btn:"Add Built-in Option",predefined_lang_zh_all:"All Chinese",predefined_time_n15:"Past 15 minutes",predefined_time_n30:"Past 30 minutes",predefined_time_h:"Past hour",predefined_time_h2:"Past 2 hours",predefined_time_h6:"Past 6 hours",predefined_time_h12:"Past 12 hours",predefined_time_d:"Past 24 hours",predefined_time_d2:"Past 2 days",predefined_time_d3:"Past 3 days",predefined_time_w:"Past week",predefined_time_m:"Past month",predefined_time_y:"Past year",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Reset",tool_verbatim_search:"Verbatim",tool_advanced_search:"Advanced",tool_apply_date:"Apply",tool_personalization_toggle:"Personalization",tool_apply_selected_sites:"Apply",tool_apply_selected_filetypes:"Apply",tool_google_scholar:"Scholar",tooltip_google_scholar_search:"Search current keywords in Google Scholar",service_name_google_scholar:"Google Scholar",tool_google_trends:"Trends",tooltip_google_trends_search:"Explore current keywords in Google Trends",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Dataset",tooltip_google_dataset_search:"Search current keywords in Google Dataset Search",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Go to Google Advanced Search",tooltip_site_search:"Search in {siteUrl}",tooltip_clear_site_search:"Clear site: restriction",tooltip_toggle_personalization_on:"Click to ENABLE Personalization (Results tailored to you)",tooltip_toggle_personalization_off:"Click to DISABLE Personalization (More generic results)",settings_tab_general:"General",settings_tab_appearance:"Appearance",settings_tab_features:"Features",settings_tab_custom:"Custom",settings_close_button_title:"Close",settings_interface_language:"Interface Language:",settings_language_auto:"Auto (Browser Default)",settings_section_mode:"Section Display Mode:",settings_section_mode_remember:"Remember State",settings_section_mode_expand:"Expand All",settings_section_mode_collapse:"Collapse All",settings_accordion_mode:'Accordion Mode (Only when "Remember State" is active)',settings_accordion_mode_hint_desc:"If enabled, expanding one section will automatically collapse others.",settings_enable_drag:"Enable Drag & Drop",settings_reset_button_location:'"Reset" Button Location:',settings_verbatim_location:'"Verbatim" Button Location:',settings_advanced_search_location:'"Advanced Search" Link Location:',settings_personalization_location:'"Personalization" Button Location:',settings_scholar_shortcut_location:'"Google Scholar" Shortcut Location:',settings_trends_shortcut_location:'"Google Trends" Shortcut Location:',settings_dataset_search_location:'"Dataset Search" Shortcut Location:',settings_enable_site_search_checkbox_mode:'Enable Checkbox Mode for "Site Search"',settings_enable_site_search_checkbox_mode_hint:"Allows selecting multiple favorite sites for combined (OR) search.",settings_show_favicons:'Show Favicons for "Site Search"',settings_show_favicons_hint:"Display website icons next to single-site items for easier identification.",settings_clear_favicon_cache:"Clear Favicon Cache",settings_clear_favicon_cache_hint:"Remove all cached favicon data. Favicons will be re-checked on next page load.",alert_favicon_cache_cleared:"Favicon cache cleared.",settings_enable_filetype_search_checkbox_mode:'Enable Checkbox Mode for "Filetype"',settings_enable_filetype_search_checkbox_mode_hint:"Allows selecting multiple filetypes for combined (OR) search.",settings_show_result_stats:"Show Result Stats",settings_show_result_stats_hint:"Display the number of results and load time.",settings_result_stats_position:"Location:",settings_result_stats_position_slim_appbar:"Google toolbar",settings_result_stats_position_sidebar:"Sidebar",settings_location_tools:"Tools Section",settings_location_top:"Fixed Top Block",settings_location_header:"Sidebar Header",settings_location_hide:"Hide",settings_hud_and_stats:"HUD & Status",settings_sidebar_behavior:"Sidebar Structure & Behavior",settings_shortcut_locations:"Tool & Shortcut Locations",settings_advanced_search_features:"Advanced Search Features",section_hidden_hint:"Hidden",settings_custom_colors_title:"Custom Colors",settings_reset_custom_colors:"Reset Colors",gscs_setting_color_bgColor:"Background Color",gscs_setting_color_textColor:"Primary Text Color",gscs_setting_color_linkColor:"Link/Header Color",gscs_setting_color_selectedColor:"Selected Item Text Color",gscs_setting_color_inputBgColor:"Input Background",gscs_setting_color_inputTextColor:"Input Text Color",gscs_setting_color_borderColor:"Primary Border Color",gscs_setting_color_dividerColor:"Section Divider Color",gscs_setting_color_btnBgColor:"Button Background",gscs_setting_color_btnHoverBgColor:"Button Hover Background",gscs_setting_color_activeBgColor:"Active Item Background",gscs_setting_color_activeTextColor:"Active Item Text/Icon Color",gscs_setting_color_activeBorderColor:"Active Item Border Color",gscs_setting_color_headerIconColor:"Header Icon Color",gscs_setting_color_itemTextColor:"Item Text Color (Inactive)",settings_show_country_flags:'Show Flag Icons for "Country/Region"',settings_show_country_flags_hint:"Display a flag icon next to Country/Region items for easier identification.",settings_fix_windows_flags:"Fix Flag Icons on Windows",settings_fix_windows_flags_hint:"Loads flag icons from a CDN for Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Icons by {name} (MIT License)",settings_scrollbar_position:"Scrollbar Position:",settings_scrollbar_right:"Right (Default)",settings_scrollbar_left:"Left",settings_scrollbar_hidden:"Hidden",settings_sidebar_width:"Sidebar Width (px)",settings_sidebar_height:"Sidebar Height (vh)",settings_font_size:"Base Font Size (pt)",settings_header_icon_size:"Header Icon Size (px)",settings_vertical_spacing:"Vertical Spacing",settings_theme:"Theme:",settings_theme_system:"System Default",settings_theme_light:"Light",settings_theme_dark:"Dark",settings_theme_minimal_light:"Minimal (Light)",settings_theme_minimal_dark:"Minimal (Dark)",settings_hover_mode:"Hover Mode",settings_idle_opacity:"Idle Opacity:",settings_hide_google_logo:"Hide Google Logo When Expanded",settings_hide_google_logo_hint:"Prevents visual clutter when using minimal themes with top-left positioning, overlapping the background Google logo.",settings_save_button:"Save Settings",settings_cancel_button:"Cancel",settings_reset_all_button:"Reset All",settings_delete_button:"Delete",modal_label_my_custom:"My Custom {type} Options",modal_label_display_options_for:"Options for {type}",hint_drag_to_sort:"(Drag to sort)",hint_drag_and_toggle:"(Drag to sort; toggle to show/hide)",settings_sidebar_sections:"Sidebar Sections",modal_button_save_current_filter:"Save",modal_placeholder_name:"(Auto-generate)",modal_placeholder_text:"(Auto-generate)",modal_placeholder_value_site:"URL (e.g., google.com)",modal_placeholder_value_language:"Value (e.g., en, ja)",modal_placeholder_value_country:"Value (e.g., US, TW)",modal_placeholder_value_time:"Value (e.g., h24 or n15)",modal_placeholder_value_filetype:"Value (e.g., pdf, doc)",modal_hint_domain:"Format: domain/path (e.g., site.com). For multiple, use spaces or commas `,`.",modal_hint_language:"Format: language code (e.g., en, ja). For multiple, use spaces or commas `,`.",modal_hint_country:"Format: 2-letter code (e.g., US, TW). For multiple, use spaces or commas `,`.",modal_hint_time:"Format: prefix `n` (minutes), `h` (hours), `d` (days), `w` (weeks), `m` (months), `y` (years) + numbers. e.g. `n15`, `h1`, `d7`",modal_hint_filetype:"Format: extension (e.g., pdf). For multiple, use spaces or commas `,`.",modal_tooltip_domain:"Enter domains with optional paths. Use spaces or commas for multiple (e.g., site.com, example.org).",modal_tooltip_language:"Enter language codes. Use spaces or commas for multiple (e.g., en, ja).",modal_tooltip_country:"Enter country codes. Use spaces or commas for multiple (e.g., US, TW).",modal_tooltip_time:"Prefixes: n(minutes), h(hours), d(days), w(weeks), m(months), y(years) + number. e.g. n15 (15 mins), h6 (6 hours), d3 (3 days)",modal_tooltip_filetype:"Enter file extensions. Use spaces or commas for multiple (e.g., pdf, docx).",modal_button_add_title:"Add",modal_button_update_title:"Update Item",modal_button_cancel_edit_title:"Cancel Edit",modal_button_edit_title:"Edit Item",modal_button_delete_title:"Delete",modal_button_remove_from_list_title:"Remove from Options",modal_button_complete:"Complete",date_range_from:"From:",date_range_to:"To:",sidebar_collapse_title:"Collapse",sidebar_expand_title:"Expand",tooltip_settings:"Sidebar Settings",drag_handle_label:"Drag to reposition sidebar",alert_end_before_start:"End date cannot be earlier than start date",alert_invalid_date:"Invalid date",alert_start_in_future:"Start date cannot be in the future",alert_end_in_future:"End date cannot be in the future",alert_error_applying_date:"Error applying date range",alert_error_applying_filter:"Error applying filter {type}={value}",alert_error_applying_site_search:"Error applying site search for {site}",alert_error_clearing_site_search:"Error clearing site search",alert_error_resetting_filters:"Error resetting filters",alert_error_toggling_verbatim:"Error toggling Verbatim search",alert_error_toggling_personalization:"Error toggling Personalization search",alert_invalid_value_format:"Invalid value format for {type}!",alert_duplicate_name:'An option with the name "{name}" already exists!',alert_edit_failed_missing_fields:"Failed to update: display name and value are required!",alert_generic_error:"An unexpected error occurred. Please check the console or try again. Context: {context}",modal_button_delete_confirm:"Confirm Delete",confirm_reset_all_menu:"Are you sure you want to reset all settings to their default values?\nThis cannot be undone and requires a page refresh to take effect.",alert_reset_all_menu_success:"All settings have been reset to defaults.\nPlease refresh the page to apply the changes.",alert_reset_all_menu_fail:"Failed to reset settings via menu command! Please check the console.",menu_open_settings:"⚙️ Open Settings",menu_reset_all_settings:"🚨 Reset All Settings",confirm_reset_custom_colors:"Are you sure you want to reset custom colors to default?",manageCustomFiltersTitle:"Manage Custom Filters",modal_placeholder_value_custom_filter:"Criteria (JSON)",modal_hint_custom_filter:"Renaming filters only. Criteria editing is read-only.",modal_hint_reference_link:"Reference",modal_tooltip_custom_filter:"JSON configuration for the custom filter",no_custom_filters:"No saved filters yet",tooltip_save_current_filters:"Save current search parameters as a custom filter",modal_save_filter_title:"Save Filter",modal_filter_name_label:"Filter Name",modal_filter_name_placeholder:"Auto-generated",modal_filter_criteria_label:"Filter Criteria Preview:",modal_cancel_button:"Cancel",modal_save_button:"Save",alert_filter_name_required:"Filter name is required.",settings_multi_language_search:'Enable Checkbox Mode for "Language"',settings_multi_language_search_hint:"Allows selecting multiple languages for a combined (OR) search.",settings_multi_country_search:'Enable Checkbox Mode for "Country/Region"',settings_multi_country_search_hint:"Allows selecting multiple countries/regions for a combined (OR) search.",tool_apply_selected_languages:"Apply",tool_apply_selected_countries:"Apply",filter_site:"Site",filter_filetype:"File Type",dynamic_time_past_n:"Past {value} minutes",dynamic_time_past_h:"Past {value} hours",dynamic_time_past_d:"Past {value} days",dynamic_time_past_w:"Past {value} weeks",dynamic_time_past_m:"Past {value} months",dynamic_time_past_y:"Past {value} years",op_site:"Site",op_inurl:"In URL",op_intitle:"In Title",op_allintitle:"All In Title",op_intext:"In Text",op_allintext:"All In Text",op_filetype:"File Type",op_ext:"Extension",op_related:"Related",op_info:"Info",op_cache:"Cache",op_source:"Source",op_location:"Location",op_range:"Range",op_exact:"Exact Phrase",op_before:"Before",op_after:"After",filter_keywords:"Keywords",filter_operators:"Operators",filter_include_mode:"Include",filter_exclude_mode:"Exclude",filter_exclude_item:"Exclude this",settings_enable_language_exclude_filter:'Enable "Language" Exclude Filter',settings_enable_language_exclude_filter_hint:"Shows Include/Exclude toggle (checkbox mode) and ✗ buttons (single-select mode).",settings_enable_country_exclude_filter:'Enable "Country/Region" Exclude Filter',settings_enable_country_exclude_filter_hint:"Shows Include/Exclude toggle (checkbox mode) and ✗ buttons (single-select mode).",settings_enable_site_exclude_filter:'Enable "Site Search" Exclude Filter',settings_enable_site_exclude_filter_hint:"Shows Include/Exclude toggle (checkbox mode) and ✗ buttons (single-select mode).",error_boundary_title:"GSCS encountered an error.",error_boundary_message:"Try refreshing the page. If the problem persists, reset settings from the Violentmonkey menu.",error_boundary_retry:"Retry",udm_web:"Web",udm_forums:"Forums",udm_videos:"Videos",udm_books:"Books",udm_shorts:"Short Videos",udm_images:"Images",udm_shopping:"Shopping",udm_news:"News",udm_places:"Places",udm_ai:"AI Mode"},de:{modal_group_env:"Umgebung / URL",modal_group_ops:"Erweiterte Operatoren",modal_group_kws:"Schlüsselwörter",modal_batch_all:"Alle",modal_batch_include:"Einschließen",modal_batch_exclude:"Ausschließen",modal_batch_none:"Keine",modal_search_filter_placeholder:"Filtern...",filter_clear_value:"löschen",tooltip_clear_filetype:"Einschränkung filetype: entfernen",settingsTitle:"Einstellungen für benutzerdefinierte Google-Suchseitenleiste",manageSitesTitle:"Lieblingsseiten verwalten",manageLanguagesTitle:"Sprachoptionen verwalten",manageCountriesTitle:"Länder-/Regionsoptionen verwalten",manageTimeRangesTitle:"Zeiträume verwalten",manageFileTypesTitle:"Dateitypen verwalten",section_language:"Sprache",section_time:"Zeit",section_filetype:"Dateityp",section_country:"Land/Region",section_date_range:"Datumsbereich",section_site_search:"Seitensuche",section_custom_filters:"Meine Filter",section_tools:"Werkzeuge",section_occurrence:"Position der Schlüsselwörter",filter_time:"Zeit",filter_language:"Sprache",filter_country:"Land",filter_ops:"Optionen",filter_any_language:"Beliebige Sprache",filter_any_time:"Beliebige Zeit",filter_any_format:"Beliebiges Format",filter_any_country:"Beliebiges Land/Region",filter_any_site:"Beliebige Seite",filter_occurrence_any:"Überall auf der Seite",filter_occurrence_title:"Im Titel der Seite",filter_occurrence_body:"Im Text der Seite",filter_occurrence_url:"In der URL der Seite",filter_occurrence_links:"In Links zur Seite",filter_any:"Beliebig",modal_label_standard_options:"Standardoptionen für {type}",modal_add_predefined_btn:"Integrierte Option hinzufügen",predefined_lang_zh_all:"Alle Chinesisch",predefined_time_n15:"Letzte 15 Minuten",predefined_time_n30:"Letzte 30 Minuten",predefined_time_h:"Letzte Stunde",predefined_time_h2:"Letzte 2 Stunden",predefined_time_h6:"Letzte 6 Stunden",predefined_time_h12:"Letzte 12 Stunden",predefined_time_d:"Letzte 24 Stunden",predefined_time_d2:"Letzte 2 Tage",predefined_time_d3:"Letzte 3 Tage",predefined_time_w:"Letzte Woche",predefined_time_m:"Letzter Monat",predefined_time_y:"Letztes Jahr",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Zurücksetzen",tool_verbatim_search:"Wortwörtlich",tool_advanced_search:"Erweiterte Suche",tool_apply_date:"Anwenden",tool_personalization_toggle:"Personalisierung",tool_apply_selected_sites:"Anwenden",tool_apply_selected_filetypes:"Anwenden",tool_google_scholar:"Scholar",tooltip_google_scholar_search:"Aktuelle Schlüsselwörter bei Google Scholar suchen",service_name_google_scholar:"Google Scholar",tool_google_trends:"Tendenzen",tooltip_google_trends_search:"Aktuelle Schlüsselwörter bei Google Trends erkunden",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Datensätze",tooltip_google_dataset_search:"Schlüsselwörter in Google Dataset Search suchen",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Google Erweiterte Suche öffnen",tooltip_site_search:"Innerhalb von {siteUrl} suchen",tooltip_clear_site_search:"site:-Beschränkung entfernen",tooltip_toggle_personalization_on:"Klicken, um Personalisierung EINzuschalten (Ergebnisse auf Sie zugeschnitten)",tooltip_toggle_personalization_off:"Klicken, um Personalisierung AUSzuschalten (Allgemeinere Ergebnisse)",settings_tab_general:"Allgemein",settings_tab_appearance:"Aussehen",settings_tab_features:"Funktionen",settings_tab_custom:"Benutzerdefiniert",settings_close_button_title:"Schließen",settings_interface_language:"Oberflächensprache:",settings_language_auto:"Automatisch (Browser-Standard)",settings_section_mode:"Abschnitt-Einklapp-Modus:",settings_section_mode_remember:"Zustand merken",settings_section_mode_expand:"Alle ausklappen",settings_section_mode_collapse:"Alle einklappen",settings_accordion_mode:'Akkordeon-Modus (nur wenn "Zustand merken" aktiv)',settings_accordion_mode_hint_desc:"Wenn aktiviert, klappt das Ausklappen eines Abschnitts automatisch andere offene Abschnitte ein.",settings_enable_drag:"Drag & Drop aktivieren",settings_reset_button_location:'Position "Zurücksetzen"-Button:',settings_verbatim_location:'Position "Verbatim"-Button:',settings_advanced_search_location:'Position "Erweiterte Suche"-Link:',settings_personalization_location:'Position "Personalisierung"-Button:',settings_scholar_shortcut_location:'Position "Google Scholar"-Verknüpfung:',settings_trends_shortcut_location:'Position "Google Trends"-Verknüpfung:',settings_dataset_search_location:'Position "Dataset Search"-Verknüpfung:',settings_enable_site_search_checkbox_mode:"Checkbox-Modus für „Seitensuche“ aktivieren",settings_enable_site_search_checkbox_mode_hint:"Erlaubt die Auswahl mehrerer favorisierter Seiten für eine kombinierte (ODER) Suche.",settings_show_favicons:"Favicons für „Seitensuche“ anzeigen",settings_show_favicons_hint:"Zeigt ein Website-Symbol neben Einträgen für einzelne Seiten an, um sie besser zu erkennen.",settings_clear_favicon_cache:"Favicon-Cache leeren",settings_clear_favicon_cache_hint:"Alle gespeicherten Favicon-Daten entfernen. Favicons werden beim nächsten Seitenaufruf erneut geprüft.",alert_favicon_cache_cleared:"Favicon-Cache geleert.",settings_enable_filetype_search_checkbox_mode:"Checkbox-Modus für „Dateityp“ aktivieren",settings_enable_filetype_search_checkbox_mode_hint:"Erlaubt die Auswahl mehrerer Dateitypen für eine kombinierte (ODER) Suche.",hud_click_to_remove:"Zum Entfernen klicken",modal_batch_all_tooltip:"Alle auswählen",modal_batch_include_tooltip:"Als einschließen festlegen",modal_batch_exclude_tooltip:"Als ausschließen festlegen",modal_batch_none_tooltip:"Auswahl aufheben",settings_show_active_filters_hud:"HUD für aktive Filter anzeigen",settings_show_active_filters_hud_hint:"Zeigt eine schwebende Leiste mit den aktuell angewendeten Filtern an.",settings_hud_include_keywords:"Allgemeine Schlüsselwörter einschließen",settings_show_result_stats:"Suchergebnisstatistik anzeigen",settings_show_result_stats_hint:"Zeigt die Anzahl der Ergebnisse und die Ladezeit an.",settings_result_stats_position:"Position:",settings_result_stats_position_slim_appbar:"Google-Symbolleiste",settings_result_stats_position_sidebar:"Seitenleiste",settings_location_tools:"Werkzeuge-Bereich",settings_location_top:"Oberer Block",settings_location_header:"Seitenleisten-Kopfzeile",settings_location_hide:"Verbergen",settings_hud_and_stats:"HUD & Status",settings_sidebar_behavior:"Seitenleistenstruktur & Verhalten",settings_shortcut_locations:"Werkzeug- & Verknüpfungspositionen",settings_advanced_search_features:"Erweiterte Suchfunktionen",section_hidden_hint:"Versteckt",settings_custom_colors_title:"Benutzerdefinierte Farben",settings_reset_custom_colors:"Farben zurücksetzen",gscs_setting_color_bgColor:"Hintergrundfarbe",gscs_setting_color_textColor:"Haupttextfarbe",gscs_setting_color_linkColor:"Link-/Titelfarbe",gscs_setting_color_selectedColor:"Farbe ausgewählter Text",gscs_setting_color_inputBgColor:"Eingabehintergrundfarbe",gscs_setting_color_inputTextColor:"Eingabetextfarbe",gscs_setting_color_borderColor:"Hauptrahmenfarbe",gscs_setting_color_dividerColor:"Abschnittstrennung Farbe",gscs_setting_color_btnBgColor:"Button-Hintergrund",gscs_setting_color_btnHoverBgColor:"Button-Hover-Hintergrund",gscs_setting_color_activeBgColor:"Hintergrund aktiver Elemente",gscs_setting_color_activeTextColor:"Text/Symbol aktiver Elemente",gscs_setting_color_activeBorderColor:"Rahmen aktiver Elemente",gscs_setting_color_headerIconColor:"Kopfzeilen-Symbolfarbe",gscs_setting_color_itemTextColor:"Elementtextfarbe (Inaktiv)",settings_show_country_flags:"Flaggen-Symbole für „Land/Region“ anzeigen",settings_show_country_flags_hint:"Zeigt ein Flaggensymbol neben Länderelementen zur einfacheren Identifizierung an.",settings_fix_windows_flags:"Flaggen-Icons unter Windows korrigieren",settings_fix_windows_flags_hint:"Lädt Länderflaggen-Icons von einem CDN für Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Icons von {name} (MIT-Lizenz)",settings_scrollbar_position:"Scrollbar-Position:",settings_scrollbar_right:"Rechts (Standard)",settings_scrollbar_left:"Links",settings_scrollbar_hidden:"Versteckt",settings_sidebar_width:"Seitenleistenbreite (px)",settings_sidebar_height:"Seitenleistenhöhe (vh)",settings_font_size:"Basis-Schriftgröße (pt)",settings_header_icon_size:"Kopfzeilen-Symbolgröße (px)",settings_vertical_spacing:"Vertikaler Abstand",settings_theme:"Thema:",settings_theme_system:"System",settings_theme_light:"Hell",settings_theme_dark:"Dunkel",settings_theme_minimal_light:"Minimal (Hell)",settings_theme_minimal_dark:"Minimal (Dunkel)",settings_hover_mode:"Hover-Modus",settings_idle_opacity:"Inaktivitäts-Opazität:",settings_hide_google_logo:"Google-Logo ausblenden, wenn Seitenleiste erweitert ist",settings_hide_google_logo_hint:"Verhindert visuelle Überlappungen mit der Seitenleiste bei Verwendung des Minimal-Designs in der oberen linken Position.",settings_save_button:"Einstellungen speichern",settings_cancel_button:"Abbrechen",settings_reset_all_button:"Alles zurücksetzen",settings_delete_button:"Löschen",modal_label_my_custom:"Meine benutzerdefinierten {type}:",modal_label_display_options_for:"Anzeigeoptionen für {type}:",hint_drag_to_sort:"(Zum Sortieren ziehen)",hint_drag_and_toggle:"(Ziehen zum Sortieren; umschalten zum Ein-/Ausblenden)",settings_sidebar_sections:"Seitenleistenbereiche",modal_button_save_current_filter:"Speichern",modal_placeholder_name:"(Automatisch)",modal_placeholder_text:"(Automatisch)",modal_placeholder_value_site:"URL (z.B. google.com)",modal_placeholder_value_language:"Wert (z.B. en, ja)",modal_placeholder_value_country:"Wert (z.B. US, TW)",modal_placeholder_value_time:"Wert (z.B. h24 oder n15)",modal_placeholder_value_filetype:"Wert (z.B. pdf, doc)",modal_hint_domain:"Format: Domain/Pfad (z.B. site.com). Trennen Sie mehrere mit Leerzeichen oder `,`.",modal_hint_language:"Format: Sprachcode (z.B. en, ja). Trennen Sie mehrere mit Leerzeichen oder `,`.",modal_hint_country:"Format: 2-Buchstaben-Code (z.B. US, TW). Trennen Sie mehrere mit Leerzeichen oder `,`.",modal_hint_time:"Format: n(Minuten), h(Stunden), d(Tage), w(Wochen), m(Monate), y(Jahre) + Zahl. Z.B. `n15`, `h1`, `d7`",modal_hint_filetype:"Format: Erweiterung (z.B. pdf). Trennen Sie mehrere mit Leerzeichen oder `,`.",modal_tooltip_domain:"Geben Sie Domains ein. Trennen Sie mehrere mit Leerzeichen oder Kommas (z.B. site.com, example.org).",modal_tooltip_language:"Geben Sie Sprachcodes ein. Trennen Sie mit Leerzeichen oder Kommas (z.B. en, ja).",modal_tooltip_country:"Geben Sie Ländercodes ein. Trennen Sie mit Leerzeichen oder Kommas (z.B. US, TW).",modal_tooltip_time:"Format: n(Min), h(Std), d(Tage), w(Wochen), m(Monate), y(Jahre) + Zahl. Z.B. n15 (15 Min), h6 (6 Std), d3 (3 Tage)",modal_tooltip_filetype:"Geben Sie Erweiterungen ein. Trennen Sie mit Leerzeichen oder Kommas (z.B. pdf, docx).",modal_button_add_title:"Hinzufügen",modal_button_update_title:"Element aktualisieren",modal_button_cancel_edit_title:"Bearbeitung abbrechen",modal_button_edit_title:"Bearbeiten",modal_button_delete_title:"Löschen",modal_button_remove_from_list_title:"Aus Liste entfernen",modal_button_complete:"Fertig",date_range_from:"Von:",date_range_to:"Bis:",sidebar_collapse_title:"Einklappen",sidebar_expand_title:"Ausklappen",tooltip_settings:"Seitenleisteneinstellungen",drag_handle_label:"Ziehen, um die Seitenleiste neu zu positionieren",alert_end_before_start:"Enddatum kann nicht vor Startdatum liegen",alert_invalid_date:"Ungültiges Datum",alert_start_in_future:"Startdatum kann nicht in der Zukunft liegen",alert_end_in_future:"Enddatum kann nicht in der Zukunft liegen",alert_error_applying_date:"Fehler beim Anwenden des Datumsbereichs",alert_error_applying_filter:"Fehler beim Anwenden des Filters {type}={value}",alert_error_applying_site_search:"Fehler beim Anwenden der Seitensuche für {site}",alert_error_clearing_site_search:"Fehler beim Löschen der Seitensuche",alert_error_resetting_filters:"Fehler beim Zurücksetzen der Filter",alert_error_toggling_verbatim:"Fehler beim Umschalten der Verbatim-Suche",alert_error_toggling_personalization:"Fehler beim Umschalten der Personalisierung",alert_invalid_value_format:"Ungültiges Wertformat für {type}!",alert_duplicate_name:'Anzeigename "{name}" existiert bereits. Bitte wählen Sie einen anderen Namen!',alert_edit_failed_missing_fields:"Bearbeitung nicht möglich: Eingabefelder oder Buttons nicht gefunden!",alert_generic_error:"Ein unerwarteter Fehler ist aufgetreten. Bitte überprüfen Sie die Konsole oder versuchen Sie es erneut. Kontext: {context}",modal_button_delete_confirm:"Löschen bestätigen",confirm_reset_all_menu:"Sind Sie sicher, dass Sie alle Einstellungen auf die Standardwerte zurücksetzen möchten?\nDies kann nicht rückgängig gemacht werden und erfordert ein Neuladen der Seite.",alert_reset_all_menu_success:"Alle Einstellungen wurden auf Standardwerte zurückgesetzt.\nBitte laden Sie die Seite neu, um die Änderungen anzuwenden.",alert_reset_all_menu_fail:"Fehler beim Zurücksetzen der Einstellungen über den Menübefehl! Bitte überprüfen Sie die Konsole.",menu_open_settings:"⚙️ Einstellungen öffnen",menu_reset_all_settings:"🚨 Alle Einstellungen zurücksetzen",confirm_reset_custom_colors:"Sind Sie sicher, dass Sie die benutzerdefinierten Farben auf die Standardwerte zurücksetzen möchten?",manageCustomFiltersTitle:"Benutzerdefinierte Filter verwalten",modal_placeholder_value_custom_filter:"Kriterien (JSON)",modal_hint_custom_filter:"Nur umbenennen. Kriterien sind schreibgeschützt.",modal_hint_reference_link:"Referenz",modal_tooltip_custom_filter:"Filterkonfiguration (Schreibgeschützt)",no_custom_filters:"Noch keine gespeicherten Filter",tooltip_save_current_filters:"Aktuelle Suchparameter als benutzerdefinierten Filter speichern",modal_save_filter_title:"Filter speichern",modal_filter_name_label:"Filtername",modal_filter_name_placeholder:"Automatisch",modal_filter_criteria_label:"Vorschau der Filterkriterien:",modal_cancel_button:"Abbrechen",modal_save_button:"Speichern",alert_filter_name_required:"Filtername ist erforderlich.",settings_multi_language_search:"Kontrollkästchen-Modus für „Sprache“ aktivieren",settings_multi_language_search_hint:"Ermöglicht die Auswahl mehrerer Sprachen für eine kombinierte (ODER) Suche.",settings_multi_country_search:"Kontrollkästchen-Modus für „Land/Region“ aktivieren",settings_multi_country_search_hint:"Ermöglicht die Auswahl mehrerer Länder für eine kombinierte (ODER) Suche.",tool_apply_selected_languages:"Anwenden",tool_apply_selected_countries:"Anwenden",filter_site:"Website",filter_filetype:"Dateityp",dynamic_time_past_n:"Letzte {value} Minuten",dynamic_time_past_h:"Letzte {value} Stunden",dynamic_time_past_d:"Letzte {value} Tage",dynamic_time_past_w:"Letzte {value} Wochen",dynamic_time_past_m:"Letzte {value} Monate",dynamic_time_past_y:"Letzte {value} Jahre",op_site:"Website",op_inurl:"In URL",op_intitle:"Im Titel",op_allintitle:"Alles im Titel",op_intext:"Im Text",op_allintext:"Alles im Text",op_filetype:"Dateityp",op_ext:"Dateiendung",op_related:"Ähnlich",op_info:"Info",op_cache:"Cache",op_source:"Quelle",op_location:"Standort",op_range:"Bereich",error_boundary_title:"GSCS hat einen Fehler festgestellt.",error_boundary_message:"Versuchen Sie, die Seite neu zu laden. Wenn das Problem weiterhin besteht, setzen Sie die Einstellungen im Violentmonkey-Menü zurück.",error_boundary_retry:"Erneut versuchen",udm_web:"Im Web",udm_forums:"Foren",udm_videos:"Videos",udm_books:"Bücher",udm_shorts:"Kurzvideos",udm_images:"Bilder",udm_shopping:"Shopping",udm_news:"News",udm_places:"Orte",udm_ai:"KI-Modus",op_exact:"Exakte Phrase",op_before:"Vor",op_after:"Nach",filter_keywords:"Schlüsselwörter",filter_operators:"Operatoren",filter_include_mode:"Einschließen",filter_exclude_mode:"Ausschließen",filter_exclude_item:"Dieses ausschließen",settings_enable_language_exclude_filter:"Ausschlussfilter für „Sprache“ aktivieren",settings_enable_language_exclude_filter_hint:"Zeigt Einschließen/Ausschließen-Umschalter (Checkbox-Modus) und ✗-Knöpfe (Einzelauswahl) an.",settings_enable_country_exclude_filter:"Ausschlussfilter für „Land/Region“ aktivieren",settings_enable_country_exclude_filter_hint:"Zeigt Einschließen/Ausschließen-Umschalter (Checkbox-Modus) und ✗-Knöpfe (Einzelauswahl) an.",settings_enable_site_exclude_filter:"Ausschlussfilter für „Seitensuche“ aktivieren",settings_enable_site_exclude_filter_hint:"Zeigt Einschließen/Ausschließen-Umschalter (Checkbox-Modus) und ✗-Knöpfe (Einzelauswahl) an.",settings_hud_show_flag_icon:"Länderflaggen im HUD anzeigen",settings_hud_show_favicon:"Website-Symbole (Favicon) im HUD anzeigen"},es:{modal_group_env:"Entorno / URL",modal_group_ops:"Operadores Avanzados",modal_group_kws:"Palabras Clave",modal_batch_all:"Todos",modal_batch_include:"Incluir",modal_batch_exclude:"Excluir",modal_batch_none:"Ninguno",modal_search_filter_placeholder:"Filtrar...",filter_clear_value:"eliminar",tooltip_clear_filetype:"Eliminar restricción filetype:",settingsTitle:"Configuración de la barra lateral personalizada para la búsqueda de Google",manageSitesTitle:"Gestionar sitios favoritos",manageLanguagesTitle:"Gestionar opciones de idioma",manageCountriesTitle:"Gestionar opciones de país/región",manageTimeRangesTitle:"Gestionar rangos de tiempo",manageFileTypesTitle:"Gestionar tipos de archivo",section_language:"Idioma",section_time:"Tiempo",section_filetype:"Tipo de archivo",section_country:"País/Región",section_date_range:"Rango de fechas",section_site_search:"Búsqueda en sitio",section_custom_filters:"Mis filtros",section_tools:"Herramientas",section_occurrence:"Ubicación de la palabra clave",filter_time:"Tiempo",filter_language:"Idioma",filter_country:"País",filter_ops:"Opc",filter_any_language:"Cualquier idioma",filter_any_time:"Cualquier momento",filter_any_format:"Cualquier formato",filter_any_country:"Cualquier país/región",filter_any_site:"Cualquier sitio",filter_occurrence_any:"En cualquier parte de la página",filter_occurrence_title:"En el título de la página",filter_occurrence_body:"En el texto de la página",filter_occurrence_url:"En la URL de la página",filter_occurrence_links:"En enlaces a la página",filter_any:"Cualquiera",modal_label_standard_options:"Opciones estándar para {type}",modal_add_predefined_btn:"Añadir opción integrada",predefined_lang_zh_all:"Todo chino",predefined_time_n15:"Últimos 15 minutos",predefined_time_n30:"Últimos 30 minutos",predefined_time_h:"Última hora",predefined_time_h2:"Últimas 2 horas",predefined_time_h6:"Últimas 6 horas",predefined_time_h12:"Últimas 12 horas",predefined_time_d:"Últimas 24 horas",predefined_time_d2:"Últimos 2 días",predefined_time_d3:"Últimos 3 días",predefined_time_w:"Última semana",predefined_time_m:"Último mes",predefined_time_y:"Último año",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Restablecer",tool_verbatim_search:"Verbatim",tool_advanced_search:"Búsqueda avanzada",tool_apply_date:"Aplicar",tool_personalization_toggle:"Personalización",tool_apply_selected_sites:"Aplicar",tool_apply_selected_filetypes:"Aplicar",tool_google_scholar:"Académico",tooltip_google_scholar_search:"Buscar palabras clave actuales en Google Scholar",service_name_google_scholar:"Google Scholar",tool_google_trends:"Tendencias",tooltip_google_trends_search:"Explorar palabras clave actuales en Google Trends",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Conjuntos de datos",tooltip_google_dataset_search:"Buscar palabras clave en Google Dataset Search",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Abrir la página de Búsqueda avanzada de Google",tooltip_site_search:"Buscar en {siteUrl}",tooltip_clear_site_search:"Eliminar restricción site:",tooltip_toggle_personalization_on:"Haga clic para activar la Personalización (Resultados adaptados a usted)",tooltip_toggle_personalization_off:"Haga clic para desactivar la Personalización (Resultados más genéricos)",settings_tab_general:"General",settings_tab_appearance:"Apariencia",settings_tab_features:"Características",settings_tab_custom:"Personalizado",settings_close_button_title:"Cerrar",settings_interface_language:"Idioma de la interfaz:",settings_language_auto:"Auto (Predeterminado del navegador)",settings_section_mode:"Modo de colapso de sección:",settings_section_mode_remember:"Recordar estado",settings_section_mode_expand:"Expandir todo",settings_section_mode_collapse:"Colapsar todo",settings_accordion_mode:'Modo acordeón (solo si "Recordar estado" está activo)',settings_accordion_mode_hint_desc:"Cuando está habilitado, expandir una sección colapsará automáticamente otras secciones abiertas.",settings_enable_drag:"Habilitar arrastre",settings_reset_button_location:'Ubicación del botón "Restablecer":',settings_verbatim_location:'Ubicación del botón "Verbatim":',settings_advanced_search_location:'Ubicación del enlace "Búsqueda avanzada":',settings_personalization_location:'Ubicación del botón "Personalización":',settings_scholar_shortcut_location:'Ubicación del acceso directo a "Google Scholar":',settings_trends_shortcut_location:'Ubicación del acceso directo a "Google Trends":',settings_dataset_search_location:'Ubicación del acceso directo a "Dataset Search":',settings_enable_site_search_checkbox_mode:"Habilitar modo casilla para «Búsqueda en sitio»",settings_enable_site_search_checkbox_mode_hint:"Permite seleccionar múltiples sitios favoritos para una búsqueda combinada (OR).",settings_show_favicons:"Mostrar favicons para «Búsqueda en sitio»",settings_show_favicons_hint:"Muestra el icono del sitio web junto a las entradas de sitios individuales para una mejor identificación.",settings_clear_favicon_cache:"Borrar caché de favicons",settings_clear_favicon_cache_hint:"Eliminar todos los datos de favicons almacenados. Los favicons se volverán a comprobar en la próxima carga de página.",alert_favicon_cache_cleared:"Caché de favicons borrada.",settings_enable_filetype_search_checkbox_mode:"Habilitar modo casilla para «Tipo de archivo»",settings_enable_filetype_search_checkbox_mode_hint:"Permite seleccionar múltiples tipos de archivos para una búsqueda combinada (OR).",hud_click_to_remove:"Haz clic para eliminar",modal_batch_all_tooltip:"Seleccionar todo",modal_batch_include_tooltip:"Establecer como incluir",modal_batch_exclude_tooltip:"Establecer como excluir",modal_batch_none_tooltip:"Deseleccionar todo",settings_show_active_filters_hud:"Mostrar HUD de filtros activos",settings_show_active_filters_hud_hint:"Muestra una barra flotante con los filtros aplicados actualmente.",settings_hud_include_keywords:"Incluir palabras clave generales",settings_show_result_stats:"Mostrar estadísticas de resultados de búsqueda",settings_show_result_stats_hint:"Muestra el número de resultados y el tiempo de carga.",settings_result_stats_position:"Ubicación:",settings_result_stats_position_slim_appbar:"Barra de herramientas de Google",settings_result_stats_position_sidebar:"Barra lateral",settings_location_tools:"Sección de Herramientas",settings_location_top:"Bloque superior",settings_location_header:"Encabezado de la barra lateral",settings_location_hide:"Ocultar",settings_hud_and_stats:"HUD y Estado",settings_sidebar_behavior:"Estructura y comportamiento de la barra lateral",settings_shortcut_locations:"Ubicación de herramientas y atajos",settings_advanced_search_features:"Funciones de búsqueda avanzada",section_hidden_hint:"Oculto",settings_custom_colors_title:"Colores personalizados",settings_reset_custom_colors:"Restablecer colores",gscs_setting_color_bgColor:"Color de fondo",gscs_setting_color_textColor:"Color del texto principal",gscs_setting_color_linkColor:"Color de enlaces/títulos",gscs_setting_color_selectedColor:"Color de texto seleccionado",gscs_setting_color_inputBgColor:"Color de fondo de entrada",gscs_setting_color_inputTextColor:"Color de texto de entrada",gscs_setting_color_borderColor:"Color del borde principal",gscs_setting_color_dividerColor:"Color del divisor de sección",gscs_setting_color_btnBgColor:"Fondo del botón",gscs_setting_color_btnHoverBgColor:"Fondo del botón (al pasar el mouse)",gscs_setting_color_activeBgColor:"Fondo de elemento activo",gscs_setting_color_activeTextColor:"Texto/Icono de elemento activo",gscs_setting_color_activeBorderColor:"Borde de elemento activo",gscs_setting_color_headerIconColor:"Color de icono de encabezado",gscs_setting_color_itemTextColor:"Color del texto del elemento (Inactivo)",settings_show_country_flags:"Mostrar iconos de bandera para «País/Región»",settings_show_country_flags_hint:"Muestra un icono de bandera junto a los elementos de país para facilitar la identificación.",settings_fix_windows_flags:"Corregir íconos de banderas en Windows",settings_fix_windows_flags_hint:"Carga íconos de banderas desde una CDN para Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Iconos de {name} (Licencia MIT)",settings_scrollbar_position:"Posición de la barra de desplazamiento:",settings_scrollbar_right:"Derecha (Predeterminado)",settings_scrollbar_left:"Izquierda",settings_scrollbar_hidden:"Oculto",settings_sidebar_width:"Ancho de la barra lateral (px)",settings_sidebar_height:"Altura de la barra lateral (vh)",settings_font_size:"Tamaño de fuente base (pt)",settings_header_icon_size:"Tamaño de icono de encabezado (px)",settings_vertical_spacing:"Espaciado vertical",settings_theme:"Tema:",settings_theme_system:"Seguir sistema",settings_theme_light:"Claro",settings_theme_dark:"Oscuro",settings_theme_minimal_light:"Minimalista (Claro)",settings_theme_minimal_dark:"Minimalista (Oscuro)",settings_hover_mode:"Modo flotante",settings_idle_opacity:"Opacidad en reposo:",settings_hide_google_logo:"Ocultar logotipo de Google al expandir la barra lateral",settings_hide_google_logo_hint:"Evita la superposición visual con la barra lateral cuando se usa el tema minimalista en la posición superior izquierda.",settings_save_button:"Guardar configuración",settings_cancel_button:"Cancelar",settings_reset_all_button:"Restablecer todo",settings_delete_button:"Eliminar",modal_label_my_custom:"Mi {type} personalizado:",modal_label_display_options_for:"Opciones de visualización para {type}:",hint_drag_to_sort:"(Arrastrar para ordenar)",hint_drag_and_toggle:"(Arrastrar para ordenar; activar para mostrar/ocultar)",settings_sidebar_sections:"Secciones de la barra lateral",modal_button_save_current_filter:"Guardar",modal_placeholder_name:"(Automático)",modal_placeholder_text:"(Automático)",modal_placeholder_value_site:"URL (ej. google.com)",modal_placeholder_value_language:"Valor (ej. en, ja)",modal_placeholder_value_country:"Valor (ej. US, TW)",modal_placeholder_value_time:"Valor (ej. h24 o n15)",modal_placeholder_value_filetype:"Valor (ej. pdf, doc)",modal_hint_domain:"Formato: dominio/ruta (ej. site.com). Use espacios o `,` para varios.",modal_hint_language:"Formato: código (ej. en, ja). Use espacios o `,` para varios.",modal_hint_country:"Formato: código de 2 letras (ej. US, TW). Use espacios o `,` para varios.",modal_hint_time:"Formato: n(minutos), h(horas), d(días), w(semanas), m(meses), y(años) + número. Ej: `n15`, `h1`, `d7`",modal_hint_filetype:"Formato: extensión (ej. pdf). Use espacios o `,` para varios.",modal_tooltip_domain:"Ingrese dominios. Separe con espacios o comas para varios (ej. site.com, example.org).",modal_tooltip_language:"Ingrese códigos de idioma. Separe con espacios o comas (ej. en, ja).",modal_tooltip_country:"Ingrese códigos de país. Separe con espacios o comas (ej. US, TW).",modal_tooltip_time:"Formato: n(min), h(horas), d(días), w(semanas), m(meses), y(años) + número. Ej: n15 (15 min), h6 (6 horas), d3 (3 días)",modal_tooltip_filetype:"Ingrese extensiones. Separe con espacios o comas (ej. pdf, docx).",modal_button_add_title:"Agregar",modal_button_update_title:"Actualizar elemento",modal_button_cancel_edit_title:"Cancelar edición",modal_button_edit_title:"Editar",modal_button_delete_title:"Eliminar",modal_button_remove_from_list_title:"Quitar de la lista",modal_button_complete:"Listo",date_range_from:"Desde:",date_range_to:"Hasta:",sidebar_collapse_title:"Colapsar",sidebar_expand_title:"Expandir",tooltip_settings:"Configuración de la barra lateral",drag_handle_label:"Arrastra para reposicionar la barra lateral",alert_end_before_start:"La fecha de finalización no puede ser anterior a la de inicio",alert_invalid_date:"Fecha no válida",alert_start_in_future:"La fecha de inicio no puede ser futura",alert_end_in_future:"La fecha de finalización no puede ser futura",alert_error_applying_date:"Error al aplicar rango de fechas",alert_error_applying_filter:"Error al aplicar filtro {type}={value}",alert_error_applying_site_search:"Error al aplicar búsqueda en sitio para {site}",alert_error_clearing_site_search:"Error al borrar búsqueda en sitio",alert_error_resetting_filters:"Error al restablecer filtros",alert_error_toggling_verbatim:"Error al alternar búsqueda textual",alert_error_toggling_personalization:"Error al alternar personalización",alert_invalid_value_format:"¡Formato de valor no válido para {type}!",alert_duplicate_name:'El nombre para mostrar del elemento personalizado "{name}" ya existe. Por favor use otro nombre!',alert_edit_failed_missing_fields:"No se puede editar: campos de entrada o botones no encontrados!",alert_generic_error:"Ocurrió un error inesperado. Por favor revise la consola o intente nuevamente. Contexto: {context}",modal_button_delete_confirm:"Confirmar eliminación",confirm_reset_all_menu:"¿Está seguro de que desea restablecer todas las configuraciones a sus valores predeterminados?\nEsto no se puede deshacer y requiere actualizar la página para que surta efecto.",alert_reset_all_menu_success:"Todas las configuraciones se han restablecido a los valores predeterminados.\nPor favor actualice la página para aplicar los cambios.",alert_reset_all_menu_fail:"¡Error al restablecer la configuración mediante el comando de menú! Por favor revise la consola.",menu_open_settings:"⚙️ Abrir configuración",menu_reset_all_settings:"🚨 Restablecer todo",confirm_reset_custom_colors:"¿Está seguro de que desea restablecer los colores personalizados a los valores predeterminados?",manageCustomFiltersTitle:"Gestionar filtros personalizados",modal_placeholder_value_custom_filter:"Criterios (JSON)",modal_hint_custom_filter:"Solo renombrar. La edición de criterios es de solo lectura.",modal_hint_reference_link:"Referencia",modal_tooltip_custom_filter:"Configuración del filtro (Solo lectura)",no_custom_filters:"No hay filtros guardados",tooltip_save_current_filters:"Guardar los parámetros de búsqueda actuales como filtro personalizado",modal_save_filter_title:"Guardar filtro",modal_filter_name_label:"Nombre del filtro",modal_filter_name_placeholder:"Autogenerado",modal_filter_criteria_label:"Vista previa de criterios del filtro:",modal_cancel_button:"Cancelar",modal_save_button:"Guardar",alert_filter_name_required:"El nombre del filtro es obligatorio.",settings_multi_language_search:"Habilitar modo casilla de verificación para «Idioma»",settings_multi_language_search_hint:"Permite seleccionar múltiples idiomas para una búsqueda combinada (OR).",settings_multi_country_search:"Habilitar modo casilla de verificación para «País/Región»",settings_multi_country_search_hint:"Permite seleccionar múltiples países para una búsqueda combinada (OR).",tool_apply_selected_languages:"Aplicar",tool_apply_selected_countries:"Aplicar",filter_site:"Sitio",filter_filetype:"Tipo de archivo",dynamic_time_past_n:"Últimos {value} minutos",dynamic_time_past_h:"Últimos {value} horas",dynamic_time_past_d:"Últimos {value} días",dynamic_time_past_w:"Últimos {value} semanas",dynamic_time_past_m:"Últimos {value} meses",dynamic_time_past_y:"Últimos {value} años",op_site:"Sitio",op_inurl:"En URL",op_intitle:"En título",op_allintitle:"Todo en título",op_intext:"En texto",op_allintext:"Todo en texto",op_filetype:"Tipo de archivo",op_ext:"Extensión",op_related:"Relacionado",op_info:"Información",op_cache:"Caché",op_source:"Fuente",op_location:"Ubicación",op_range:"Rango",op_exact:"Frase exacta",op_before:"Antes de",op_after:"Después de",filter_keywords:"Palabras clave",filter_operators:"Operadores",filter_include_mode:"Incluir",filter_exclude_mode:"Excluir",filter_exclude_item:"Excluir esto",settings_enable_language_exclude_filter:"Activar filtro de exclusión para «Idioma»",settings_enable_language_exclude_filter_hint:"Muestra alternador Incluir/Excluir (modo casilla) y botones ✗ (modo selección única).",settings_enable_country_exclude_filter:"Activar filtro de exclusión para «País/Región»",settings_enable_country_exclude_filter_hint:"Muestra alternador Incluir/Excluir (modo casilla) y botones ✗ (modo selección única).",settings_enable_site_exclude_filter:"Activar filtro de exclusión para «Búsqueda en sitio»",settings_enable_site_exclude_filter_hint:"Muestra alternador Incluir/Excluir (modo casilla) y botones ✗ (modo selección única).",error_boundary_title:"GSCS encontró un error.",error_boundary_message:"Intente actualizar la página. Si el problema persiste, restablezca la configuración desde el menú de Violentmonkey.",error_boundary_retry:"Reintentar",udm_web:"La Web",udm_forums:"Foros",udm_videos:"Videos",udm_books:"Libros",udm_shorts:"Videos cortos",udm_images:"Imágenes",udm_shopping:"Shopping",udm_news:"Noticias",udm_places:"Lugares",udm_ai:"Modo IA",settings_hud_show_flag_icon:"Mostrar banderas de países en el HUD",settings_hud_show_favicon:"Mostrar iconos de sitios web (Favicon) en el HUD"},fr:{hud_click_to_remove:"Cliquez pour supprimer",modal_batch_all_tooltip:"Tout sélectionner",modal_batch_include_tooltip:"Définir comme inclure",modal_batch_exclude_tooltip:"Définir comme exclure",modal_batch_none_tooltip:"Tout désélectionner",settings_show_active_filters_hud:"Afficher le HUD des filtres actifs",settings_show_active_filters_hud_hint:"Affiche une barre flottante indiquant les filtres actuellement appliqués.",settings_hud_include_keywords:"Inclure les mots-clés généraux",modal_group_env:"Environnement / URL",modal_group_ops:"Opérateurs Avancés",modal_group_kws:"Mots-Clés",modal_batch_all:"Tous",modal_batch_include:"Inclure",modal_batch_exclude:"Exclure",modal_batch_none:"Aucun",modal_search_filter_placeholder:"Filtrer...",filter_clear_value:"effacer",tooltip_clear_filetype:"Supprimer la restriction filetype:",settingsTitle:"Paramètres de la barre latérale personnalisée pour la recherche Google",manageSitesTitle:"Gérer les sites favoris",manageLanguagesTitle:"Gérer les options de langue",manageCountriesTitle:"Gérer les options de pays/région",manageTimeRangesTitle:"Gérer les plages de temps",manageFileTypesTitle:"Gérer les types de fichiers",section_language:"Langue",section_time:"Temps",section_filetype:"Type de fichier",section_country:"Pays/Région",section_date_range:"Plage de dates",section_site_search:"Recherche de site",section_custom_filters:"Mes filtres",section_tools:"Outils",section_occurrence:"Emplacement du mot-clé",filter_time:"Temps",filter_language:"Langue",filter_country:"Pays",filter_ops:"Options",filter_any_language:"Toutes les langues",filter_any_time:"N'importe quand",filter_any_format:"Tous les formats",filter_any_country:"Tous les pays/régions",filter_any_site:"Tous les sites",filter_occurrence_any:"N'importe où dans la page",filter_occurrence_title:"Dans le titre de la page",filter_occurrence_body:"Dans le texte de la page",filter_occurrence_url:"Dans l'URL de la page",filter_occurrence_links:"Dans les liens vers la page",filter_any:"Tous",modal_label_standard_options:"Options standard pour {type}",modal_add_predefined_btn:"Ajouter une option intégrée",predefined_lang_zh_all:"Tous les chinois",predefined_time_n15:"Dernières 15 minutes",predefined_time_n30:"Dernières 30 minutes",predefined_time_h:"Dernière heure",predefined_time_h2:"2 dernières heures",predefined_time_h6:"6 dernières heures",predefined_time_h12:"12 dernières heures",predefined_time_d:"24 dernières heures",predefined_time_d2:"2 derniers jours",predefined_time_d3:"3 derniers jours",predefined_time_w:"Semaine dernière",predefined_time_m:"Mois dernier",predefined_time_y:"Année dernière",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Réinitialiser",tool_verbatim_search:"Mot à mot",tool_advanced_search:"Recherche avancée",tool_apply_date:"Appliquer",tool_personalization_toggle:"Personnalisation",tool_apply_selected_sites:"Appliquer",tool_apply_selected_filetypes:"Appliquer",tool_google_scholar:"Scholar",tooltip_google_scholar_search:"Rechercher les mots-clés actuels sur Google Scholar",service_name_google_scholar:"Google Scholar",tool_google_trends:"Tendances",tooltip_google_trends_search:"Explorer les mots-clés actuels sur Google Trends",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Jeux de données",tooltip_google_dataset_search:"Rechercher des mots-clés sur Google Dataset Search",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Ouvrir la page de recherche avancée Google",tooltip_site_search:"Rechercher dans {siteUrl}",tooltip_clear_site_search:"Supprimer la restriction site:",tooltip_toggle_personalization_on:"Cliquez pour activer la personnalisation (Résultats adaptés à vous)",tooltip_toggle_personalization_off:"Cliquez pour désactiver la personnalisation (Résultats plus génériques)",settings_tab_general:"Général",settings_tab_appearance:"Apparence",settings_tab_features:"Fonctionnalités",settings_tab_custom:"Personnalisé",settings_close_button_title:"Fermer",settings_interface_language:"Langue de l'interface :",settings_language_auto:"Auto (Défaut navigateur)",settings_section_mode:"Mode de réduction de section :",settings_section_mode_remember:"Mémoriser l'état",settings_section_mode_expand:"Tout développer",settings_section_mode_collapse:"Tout réduire",settings_accordion_mode:'Mode accordéon (seulement si "Mémoriser l\'état" est actif)',settings_accordion_mode_hint_desc:"Lorsque cette option est activée, l'expansion d'une section réduira automatiquement les autres sections ouvertes.",settings_enable_drag:"Activer le glisser-déposer",settings_reset_button_location:"Position du bouton « Réinitialiser » :",settings_verbatim_location:"Position du bouton « Mot à mot » :",settings_advanced_search_location:"Position du lien « Recherche avancée » :",settings_personalization_location:"Position du bouton « Personnalisation » :",settings_scholar_shortcut_location:"Position du raccourci « Google Scholar » :",settings_trends_shortcut_location:"Position du raccourci « Google Trends » :",settings_dataset_search_location:"Position du raccourci « Dataset Search » :",settings_enable_site_search_checkbox_mode:"Activer le mode cases à cocher pour « Recherche de site »",settings_enable_site_search_checkbox_mode_hint:"Permet de sélectionner plusieurs sites favoris pour une recherche combinée (OU).",settings_show_favicons:"Afficher les favicons pour « Recherche de site »",settings_show_favicons_hint:"Affiche l'icône du site web à côté des entrées de site pour une meilleure identification.",settings_clear_favicon_cache:"Vider le cache des favicons",settings_clear_favicon_cache_hint:"Supprimer toutes les données de favicons en cache. Les favicons seront revérifiés au prochain chargement de page.",alert_favicon_cache_cleared:"Cache des favicons vidé.",settings_enable_filetype_search_checkbox_mode:"Activer le mode cases à cocher pour « Type de fichier »",settings_enable_filetype_search_checkbox_mode_hint:"Permet de sélectionner plusieurs types de fichiers pour une recherche combinée (OU).",settings_show_result_stats:"Afficher les statistiques de recherche",settings_show_result_stats_hint:"Affiche le nombre de résultats et le temps de chargement.",settings_result_stats_position:"Emplacement :",settings_result_stats_position_slim_appbar:"Barre d'outils Google",settings_result_stats_position_sidebar:"Barre latérale",settings_location_tools:"Section des outils",settings_location_top:"Bloc supérieur",settings_location_header:"En-tête de la barre latérale",settings_location_hide:"Masquer",settings_hud_and_stats:"HUD et Statistiques",settings_sidebar_behavior:"Structure et comportement de la barre latérale",settings_shortcut_locations:"Emplacements des outils et raccourcis",settings_advanced_search_features:"Fonctionnalités de recherche avancée",section_hidden_hint:"Masqué",settings_custom_colors_title:"Couleurs personnalisées",settings_reset_custom_colors:"Réinitialiser les couleurs",gscs_setting_color_bgColor:"Couleur de fond",gscs_setting_color_textColor:"Couleur du texte principal",gscs_setting_color_linkColor:"Couleur des liens/titres",gscs_setting_color_selectedColor:"Couleur du texte sélectionné",gscs_setting_color_inputBgColor:"Couleur de fond de saisie",gscs_setting_color_inputTextColor:"Couleur du texte de saisie",gscs_setting_color_borderColor:"Couleur de bordure principale",gscs_setting_color_dividerColor:"Couleur de séparation de section",gscs_setting_color_btnBgColor:"Fond du bouton",gscs_setting_color_btnHoverBgColor:"Fond du bouton (survol)",gscs_setting_color_activeBgColor:"Fond de l'élément actif",gscs_setting_color_activeTextColor:"Texte/Icône de l'élément actif",gscs_setting_color_activeBorderColor:"Bordure de l'élément actif",gscs_setting_color_headerIconColor:"Couleur de l'icône d'en-tête",gscs_setting_color_itemTextColor:"Couleur du texte de l'élément (Inactif)",settings_show_country_flags:"Afficher les icônes de drapeau pour « Pays/Région »",settings_show_country_flags_hint:"Affiche une icône de drapeau à côté des éléments de pays pour faciliter l'identification.",settings_fix_windows_flags:"Corriger les drapeaux sous Windows",settings_fix_windows_flags_hint:"Charge les icônes de drapeaux depuis un CDN pour Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Icônes par {name} (Licence MIT)",settings_scrollbar_position:"Position de la barre de défilement :",settings_scrollbar_right:"Droite (Défaut)",settings_scrollbar_left:"Gauche",settings_scrollbar_hidden:"Masquée",settings_sidebar_width:"Largeur de la barre latérale (px)",settings_sidebar_height:"Hauteur de la barre latérale (vh)",settings_font_size:"Taille de police de base (pt)",settings_header_icon_size:"Taille de l'icône d'en-tête (px)",settings_vertical_spacing:"Espacement vertical",settings_theme:"Thème :",settings_theme_system:"Système",settings_theme_light:"Clair",settings_theme_dark:"Sombre",settings_theme_minimal_light:"Minimaliste (Clair)",settings_theme_minimal_dark:"Minimaliste (Sombre)",settings_hover_mode:"Mode survol",settings_idle_opacity:"Opacité au repos :",settings_hide_google_logo:"Masquer le logo Google lorsque la barre est développée",settings_hide_google_logo_hint:"Évite le chevauchement visuel avec la barre latérale lors de l'utilisation du thème minimal en haut à gauche.",settings_save_button:"Enregistrer",settings_cancel_button:"Annuler",settings_reset_all_button:"Tout réinitialiser",settings_delete_button:"Supprimer",modal_label_my_custom:"Mon personnalisé {type} :",modal_label_display_options_for:"Options d'affichage pour {type} :",hint_drag_to_sort:"(Glisser pour trier)",hint_drag_and_toggle:"(Glisser pour trier ; cocher pour afficher/masquer)",settings_sidebar_sections:"Sections de la barre latérale",modal_button_save_current_filter:"Enregistrer",modal_placeholder_name:"(Automatique)",modal_placeholder_text:"(Automatique)",modal_placeholder_value_site:"URL (ex. google.com)",modal_placeholder_value_language:"Valeur (ex. en, ja)",modal_placeholder_value_country:"Valeur (ex. US, TW)",modal_placeholder_value_time:"Valeur (ex: h24 ou n15)",modal_placeholder_value_filetype:"Valeur (ex. pdf, doc)",modal_hint_domain:"Format : domaine/chemin (ex. site.com). Utilisez des espaces ou `,` pour plusieurs.",modal_hint_language:"Format : code (ex. en, ja). Utilisez des espaces ou `,` pour plusieurs.",modal_hint_country:"Format : code à 2 lettres (ex. US, TW). Utilisez des espaces ou `,` pour plusieurs.",modal_hint_time:"Format : n(min), h(heures), d(jours), w(semaines), m(mois), y(années) + nombre. Ex: `n15`, `h1`, `d7`",modal_hint_filetype:"Format : extension (ex. pdf). Utilisez des espaces ou `,` pour plusieurs.",modal_tooltip_domain:"Entrez les domaines. Utilisez des espaces ou des virgules pour plusieurs (ex. site.com, example.org).",modal_tooltip_language:"Entrez les codes langue. Utilisez des espaces ou des virgules pour plusieurs (ex. en, ja).",modal_tooltip_country:"Entrez les codes pays. Utilisez des espaces ou des virgules pour plusieurs (ex. US, TW).",modal_tooltip_time:"Format : n(min), h(heures), d(jours), w(semaines), m(mois), y(années) + nombre. Ex : n15 (15 min), h6 (6 heures), d3 (3 jours)",modal_tooltip_filetype:"Entrez les extensions. Utilisez des espaces ou des virgules pour plusieurs (ex. pdf, docx).",modal_button_add_title:"Ajouter",modal_button_update_title:"Mettre à jour",modal_button_cancel_edit_title:"Annuler l'édition",modal_button_edit_title:"Éditer",modal_button_delete_title:"Supprimer",modal_button_remove_from_list_title:"Retirer de la liste",modal_button_complete:"Terminé",date_range_from:"De :",date_range_to:"À :",sidebar_collapse_title:"Réduire",sidebar_expand_title:"Développer",tooltip_settings:"Paramètres de la barre latérale",drag_handle_label:"Faire glisser pour repositionner la barre latérale",alert_end_before_start:"La date de fin ne peut pas être avant la date de début",alert_invalid_date:"Date invalide",alert_start_in_future:"La date de début ne peut pas être dans le futur",alert_end_in_future:"La date de fin ne peut pas être dans le futur",alert_error_applying_date:"Erreur lors de l'application de la plage de dates",alert_error_applying_filter:"Erreur lors de l'application du filtre {type}={value}",alert_error_applying_site_search:"Erreur lors de l'application de la recherche par site pour {site}",alert_error_clearing_site_search:"Erreur lors de l'effacement de la recherche par site",alert_error_resetting_filters:"Erreur lors de la réinitialisation des filtres",alert_error_toggling_verbatim:"Erreur lors du basculement de la recherche mot à mot",alert_error_toggling_personalization:"Erreur lors du basculement de la personnalisation",alert_invalid_value_format:"Format de valeur non valide pour {type} !",alert_duplicate_name:"Le nom d'affichage de l'élément personnalisé \"{name}\" existe déjà. Veuillez utiliser un autre nom !",alert_edit_failed_missing_fields:"Impossible d'éditer : Champs de saisie ou boutons introuvables !",alert_generic_error:"Une erreur inattendue s'est produite. Veuillez vérifier la console ou réessayer. Contexte : {context}",modal_button_delete_confirm:"Confirmer la suppression",confirm_reset_all_menu:"Êtes-vous sûr de vouloir réinitialiser tous les paramètres aux valeurs par défaut ?\nCela ne peut pas être annulé et nécessite un rafraîchissement de la page pour prendre effet.",alert_reset_all_menu_success:"Tous les paramètres ont été réinitialisés par défaut.\nVeuillez rafraîchir la page pour appliquer les changements.",alert_reset_all_menu_fail:"Échec de la réinitialisation des paramètres via la commande du menu ! Veuillez vérifier la console.",menu_open_settings:"⚙️ Ouvrir les paramètres",menu_reset_all_settings:"🚨 Tout réinitialiser",confirm_reset_custom_colors:"Êtes-vous sûr de vouloir réinitialiser les couleurs personnalisées par défaut ?",manageCustomFiltersTitle:"Gérer les filtres personnalisés",modal_placeholder_value_custom_filter:"Critères (JSON)",modal_hint_custom_filter:"Renommer uniquement. Les critères sont en lecture seule.",modal_hint_reference_link:"Référence",modal_tooltip_custom_filter:"Configuration du filtre (Lecture seule)",no_custom_filters:"Aucun filtre enregistré",tooltip_save_current_filters:"Enregistrer les paramètres actuels comme filtre",modal_save_filter_title:"Enregistrer le filtre",modal_filter_name_label:"Nom du filtre",modal_filter_name_placeholder:"Auto-généré",modal_filter_criteria_label:"Aperçu des critères :",modal_cancel_button:"Annuler",modal_save_button:"Enregistrer",alert_filter_name_required:"Le nom du filtre est requis.",settings_multi_language_search:"Activer le mode case à cocher pour « Langue »",settings_multi_language_search_hint:"Permet de sélectionner plusieurs langues pour une recherche combinée (OU).",settings_multi_country_search:"Activer le mode case à cocher pour « Pays/Région »",settings_multi_country_search_hint:"Permet de sélectionner plusieurs pays pour une recherche combinée (OU).",tool_apply_selected_languages:"Appliquer",tool_apply_selected_countries:"Appliquer",filter_site:"Site",filter_filetype:"Type de fichier",dynamic_time_past_n:"Dernières {value} minutes",dynamic_time_past_h:"Dernières {value} heures",dynamic_time_past_d:"Derniers {value} jours",dynamic_time_past_w:"Dernières {value} semaines",dynamic_time_past_m:"Derniers {value} mois",dynamic_time_past_y:"Dernières {value} années",op_site:"Site",op_inurl:"Dans l'URL",op_intitle:"Dans le titre",op_allintitle:"Tout dans le titre",op_intext:"Dans le texte",op_allintext:"Tout dans le texte",op_filetype:"Type de fichier",op_ext:"Extension",op_related:"Similaire",op_info:"Info",op_cache:"Cache",op_source:"Source",op_location:"Emplacement",op_range:"Plage",op_exact:"Expression exacte",op_before:"Avant",op_after:"Après",filter_keywords:"Mots-clés",filter_operators:"Opérateurs",filter_include_mode:"Inclure",filter_exclude_mode:"Exclure",filter_exclude_item:"Exclure ceci",settings_enable_language_exclude_filter:"Activer le filtre d'exclusion pour « Langue »",settings_enable_language_exclude_filter_hint:"Affiche le bouton Inclure/Exclure (mode case à cocher) et les boutons ✗ (mode sélection unique).",settings_enable_country_exclude_filter:"Activer le filtre d'exclusion pour « Pays/Région »",settings_enable_country_exclude_filter_hint:"Affiche le bouton Inclure/Exclure (mode case à cocher) et les boutons ✗ (mode sélection unique).",settings_enable_site_exclude_filter:"Activer le filtre d'exclusion pour « Recherche de site »",settings_enable_site_exclude_filter_hint:"Affiche le bouton Inclure/Exclure (mode case à cocher) et les boutons ✗ (mode sélection unique).",error_boundary_title:"GSCS a rencontré une erreur.",error_boundary_message:"Essayez de rafraîchir la page. Si le problème persiste, réinitialisez les paramètres depuis le menu Violentmonkey.",error_boundary_retry:"Réessayer",udm_web:"Le Web",udm_forums:"Forums",udm_videos:"Vidéos",udm_books:"Livres",udm_shorts:"Vidéos courtes",udm_images:"Images",udm_shopping:"Shopping",udm_news:"Actualités",udm_places:"Lieux",udm_ai:"Mode IA",settings_hud_show_flag_icon:"Afficher les drapeaux des pays dans le HUD",settings_hud_show_favicon:"Afficher les icônes de site Web (Favicon) dans le HUD"},it:{modal_group_env:"Ambiente / URL",modal_group_ops:"Operatori Avanzati",modal_group_kws:"Parole Chiave",modal_batch_all:"Tutti",modal_batch_include:"Includi",modal_batch_exclude:"Escludi",modal_batch_none:"Nessuno",modal_search_filter_placeholder:"Filtra...",filter_clear_value:"cancella",tooltip_clear_filetype:"Rimuovi restrizione filetype:",settingsTitle:"Impostazioni della barra laterale personalizzata per la ricerca Google",manageSitesTitle:"Gestisci siti preferiti",manageLanguagesTitle:"Gestisci opzioni lingua",manageCountriesTitle:"Gestisci opzioni paese/regione",manageTimeRangesTitle:"Gestisci intervalli di tempo",manageFileTypesTitle:"Gestisci tipi di file",section_language:"Lingua",section_time:"Tempo",section_filetype:"Tipo di file",section_country:"Paese/Regione",section_date_range:"Intervallo date",section_site_search:"Ricerca nel sito",section_custom_filters:"I miei filtri",section_tools:"Strumenti",section_occurrence:"Posizione parola chiave",filter_time:"Tempo",filter_language:"Lingua",filter_country:"Paese",filter_ops:"Opzioni",filter_any_language:"Qualsiasi lingua",filter_any_time:"Qualsiasi momento",filter_any_format:"Qualsiasi formato",filter_any_country:"Qualsiasi paese/regione",filter_any_site:"Qualsiasi sito",filter_occurrence_any:"In qualsiasi punto della pagina",filter_occurrence_title:"Nel titolo della pagina",filter_occurrence_body:"Nel testo della pagina",filter_occurrence_url:"Nell'URL della pagina",filter_occurrence_links:"Nei link alla pagina",filter_any:"Qualsiasi",modal_label_standard_options:"Opzioni predefinite per {type}",modal_add_predefined_btn:"Aggiungi opzione integrata",predefined_lang_zh_all:"Tutti i cinesi",predefined_time_n15:"Ultimi 15 minuti",predefined_time_n30:"Ultimi 30 minuti",predefined_time_h:"Ultima ora",predefined_time_h2:"Ultime 2 ore",predefined_time_h6:"Ultime 6 ore",predefined_time_h12:"Ultime 12 ore",predefined_time_d:"Ultime 24 ore",predefined_time_d2:"Ultimi 2 giorni",predefined_time_d3:"Ultimi 3 giorni",predefined_time_w:"Ultima settimana",predefined_time_m:"Ultimo mese",predefined_time_y:"Ultimo anno",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Reimposta",tool_verbatim_search:"Verbatim",tool_advanced_search:"Ricerca avanzata",tool_apply_date:"Applica",tool_personalization_toggle:"Personalizzazione",tool_apply_selected_sites:"Applica",tool_apply_selected_filetypes:"Applica",tool_google_scholar:"Scholar",tooltip_google_scholar_search:"Cerca le parole chiave correnti su Google Scholar",service_name_google_scholar:"Google Scholar",tool_google_trends:"Trends",tooltip_google_trends_search:"Esplora le parole chiave correnti su Google Trends",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Dataset",tooltip_google_dataset_search:"Cerca parole chiave su Google Dataset Search",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Apri la pagina Ricerca avanzata Google",tooltip_site_search:"Cerca in {siteUrl}",tooltip_clear_site_search:"Rimuovi restrizione site:",tooltip_toggle_personalization_on:"Fai clic per attivare la Personalizzazione (Risultati su misura per te)",tooltip_toggle_personalization_off:"Fai clic per disattivare la Personalizzazione (Risultati più generici)",settings_tab_general:"Generale",settings_tab_appearance:"Aspetto",settings_tab_features:"Funzionalità",settings_tab_custom:"Personalizza",settings_close_button_title:"Chiudi",settings_interface_language:"Lingua interfaccia:",settings_language_auto:"Auto (Predefinito Browser)",settings_section_mode:"Modalità Collasso Sezione:",settings_section_mode_remember:"Ricorda stato",settings_section_mode_expand:"Espandi Tutto",settings_section_mode_collapse:"Collassa Tutto",settings_accordion_mode:'Modalità Fisarmonica (solo se "Ricorda Stato" è attivo)',settings_accordion_mode_hint_desc:"Quando abilitato, espandere una sezione chiuderà automaticamente le altre sezioni aperte.",settings_enable_drag:"Abilita Trascinamento",settings_reset_button_location:'Posizione Pulsante "Reimposta":',settings_verbatim_location:'Posizione Pulsante "Verbatim":',settings_advanced_search_location:'Posizione Link "Ricerca Avanzata":',settings_personalization_location:'Posizione Pulsante "Personalizzazione":',settings_scholar_shortcut_location:'Posizione scorciatoia "Google Scholar":',settings_trends_shortcut_location:'Posizione scorciatoia "Google Trends":',settings_dataset_search_location:'Posizione scorciatoia "Dataset Search":',settings_enable_site_search_checkbox_mode:"Abilita Modalità Checkbox per «Ricerca nel sito»",settings_enable_site_search_checkbox_mode_hint:"Consente di selezionare più siti preferiti per una ricerca combinata (OR).",hud_click_to_remove:"Fai clic per rimuovere",modal_batch_all_tooltip:"Seleziona tutto",modal_batch_include_tooltip:"Imposta come includi",modal_batch_exclude_tooltip:"Imposta come escludi",modal_batch_none_tooltip:"Deseleziona tutto",settings_show_active_filters_hud:"Mostra HUD dei filtri attivi",settings_show_active_filters_hud_hint:"Visualizza una barra fluttuante che mostra i filtri attualmente applicati.",settings_hud_include_keywords:"Includi parole chiave generali",settings_show_favicons:"Mostra Favicon per «Ricerca nel sito»",settings_show_favicons_hint:"Mostra l'icona del sito web accanto alle voci del sito singolo per una migliore identificazione.",settings_clear_favicon_cache:"Svuota cache favicon",settings_clear_favicon_cache_hint:"Rimuovi tutti i dati favicon memorizzati. I favicon verranno ricontrollati al prossimo caricamento della pagina.",alert_favicon_cache_cleared:"Cache favicon svuotata.",settings_enable_filetype_search_checkbox_mode:"Abilita Modalità Checkbox per «Tipo di file»",settings_enable_filetype_search_checkbox_mode_hint:"Consente di selezionare più tipi di file per una ricerca combinata (OR).",settings_show_result_stats:"Mostra Statistiche Risultati Ricerca",settings_show_result_stats_hint:"Visualizza il numero di risultati e il tempo di caricamento.",settings_result_stats_position:"Posizione:",settings_result_stats_position_slim_appbar:"Barra degli strumenti di Google",settings_result_stats_position_sidebar:"Barra laterale",settings_location_tools:"Sezione Strumenti",settings_location_top:"Blocco Superiore",settings_location_header:"Intestazione Sidebar",settings_location_hide:"Nascondi",settings_hud_and_stats:"HUD e Stato",settings_sidebar_behavior:"Struttura e comportamento della sidebar",settings_shortcut_locations:"Posizioni strumenti e scorciatoie",settings_advanced_search_features:"Funzionalità di ricerca avanzata",section_hidden_hint:"Nascosto",settings_custom_colors_title:"Colori Personalizzati",settings_reset_custom_colors:"Reimposta Colori",gscs_setting_color_bgColor:"Colore Sfondo",gscs_setting_color_textColor:"Colore Testo Principale",gscs_setting_color_linkColor:"Colore Link/Titolo",gscs_setting_color_selectedColor:"Colore Testo Selezionato",gscs_setting_color_inputBgColor:"Colore Sfondo Input",gscs_setting_color_inputTextColor:"Colore Testo Input",gscs_setting_color_borderColor:"Colore Bordo Principale",gscs_setting_color_dividerColor:"Colore Divisore Sezione",gscs_setting_color_btnBgColor:"Sfondo Pulsante",gscs_setting_color_btnHoverBgColor:"Sfondo Pulsante (Hover)",gscs_setting_color_activeBgColor:"Sfondo Elemento Attivo",gscs_setting_color_activeTextColor:"Testo/Icona Elemento Attivo",gscs_setting_color_activeBorderColor:"Bordo Elemento Attivo",gscs_setting_color_headerIconColor:"Colore Icona Intestazione",gscs_setting_color_itemTextColor:"Colore Testo Elemento (Inattivo)",settings_show_country_flags:"Mostra le icone della bandiera per «Paese/Regione»",settings_show_country_flags_hint:"Mostra un'icona bandiera accanto agli elementi del paese per una più facile identificazione.",settings_fix_windows_flags:"Correggi le icone delle bandiere su Windows",settings_fix_windows_flags_hint:"Carica le icone delle bandiere da una CDN per Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Icone di {name} (Licenza MIT)",settings_scrollbar_position:"Posizione Barra Scorrimento:",settings_scrollbar_right:"Destra (Predefinito)",settings_scrollbar_left:"Sinistra",settings_scrollbar_hidden:"Nascosta",settings_sidebar_width:"Larghezza Sidebar (px)",settings_sidebar_height:"Altezza Sidebar (vh)",settings_font_size:"Dimensione Font Base (pt)",settings_header_icon_size:"Dimensione Icona Intestazione (px)",settings_vertical_spacing:"Spaziatura Verticale",settings_theme:"Tema:",settings_theme_system:"Segui sistema",settings_theme_light:"Chiaro",settings_theme_dark:"Scuro",settings_theme_minimal_light:"Minimale (Chiaro)",settings_theme_minimal_dark:"Minimale (Scuro)",settings_hover_mode:"Modalità Hover",settings_idle_opacity:"Opacità a Riposo:",settings_hide_google_logo:"Nascondi Logo Google quando Sidebar Espansa",settings_hide_google_logo_hint:"Previene la sovrapposizione visiva con la barra laterale quando si utilizza il tema minimale nella posizione in alto a sinistra.",settings_save_button:"Salva Impostazioni",settings_cancel_button:"Annulla",settings_reset_all_button:"Reimposta Tutto",settings_delete_button:"Elimina",modal_label_my_custom:"Mio {type} Personalizzato:",modal_label_display_options_for:"Opzioni di visualizzazione per {type}:",hint_drag_to_sort:"(Trascina per ordinare)",hint_drag_and_toggle:"(Trascina per ordinare; attiva/disattiva per mostrare/nascondere)",settings_sidebar_sections:"Sezioni della barra laterale",modal_button_save_current_filter:"Salva",modal_placeholder_name:"(Automatico)",modal_placeholder_text:"(Automatico)",modal_placeholder_value_site:"URL (es. google.com)",modal_placeholder_value_language:"Valore (es. en, ja)",modal_placeholder_value_country:"Valore (es. US, TW)",modal_placeholder_value_time:"Valore (es. h24 o n15)",modal_placeholder_value_filetype:"Valore (es. pdf, doc)",modal_hint_domain:"Formato: dominio/percorso (es. site.com). Usa spazi o `,` per valori multipli.",modal_hint_language:"Formato: codice lingua (es. en, ja). Usa spazi o `,` per valori multipli.",modal_hint_country:"Formato: codice a 2 lettere (es. US, TW). Usa spazi o `,` per valori multipli.",modal_hint_time:"Formato: n(minuti), h(ore), d(giorni), w(settimane), m(mesi), y(anni) + numero. Es: `n15`, `h1`, `d7`",modal_hint_filetype:"Formato: estensione (es. pdf). Usa spazi o `,` per valori multipli.",modal_tooltip_domain:"Inserisci i domini. Separa con spazi o virgole per multipli (es. site.com, example.org).",modal_tooltip_language:"Inserisci i codici lingua. Separa con spazi o virgole (es. en, ja).",modal_tooltip_country:"Inserisci i codici paese. Separa con spazi o virgole (es. US, TW).",modal_tooltip_time:"Formato: n(min), h(ore), d(giorni), w(settimane), m(mesi), y(anni) + numero. Es: n15 (15 min), h6 (6 ore), d3 (3 giorni)",modal_tooltip_filetype:"Inserisci le estensioni. Separa con spazi o virgole (es. pdf, docx).",modal_button_add_title:"Aggiungi",modal_button_update_title:"Aggiorna Elemento",modal_button_cancel_edit_title:"Annulla Modifica",modal_button_edit_title:"Modifica",modal_button_delete_title:"Elimina",modal_button_remove_from_list_title:"Rimuovi da Lista",modal_button_complete:"Fatto",date_range_from:"Da:",date_range_to:"A:",sidebar_collapse_title:"Collassa",sidebar_expand_title:"Espandi",tooltip_settings:"Impostazioni Sidebar",drag_handle_label:"Trascina per riposizionare la barra laterale",alert_end_before_start:"La data di fine non può essere prima della data di inizio",alert_invalid_date:"Data non valida",alert_start_in_future:"La data di inizio non può essere futura",alert_end_in_future:"La data di fine non può essere futura",alert_error_applying_date:"Error applicazione intervallo date",alert_error_applying_filter:"Errore applicazione filtro {type}={value}",alert_error_applying_site_search:"Errore applicazione ricerca sito per {site}",alert_error_clearing_site_search:"Errore cancellazione ricerca sito",alert_error_resetting_filters:"Errore reimpostazione filtri",alert_error_toggling_verbatim:"Errore attivazione ricerca verbatim",alert_error_toggling_personalization:"Errore attivazione personalizzazione",alert_invalid_value_format:"Formato valore non valido per {type}!",alert_duplicate_name:'Nome visualizzato elemento personalizzato "{name}" già esistente. Usa un altro nome!',alert_edit_failed_missing_fields:"Impossibile modificare: Campi input o pulsanti non trovati!",alert_generic_error:"Si è verificato un errore imprevisto. Controlla la console o riprova. Contesto: {context}",modal_button_delete_confirm:"Conferma eliminazione",confirm_reset_all_menu:"Sei sicuro di voler reimpostare tutte le impostazioni ai valori predefiniti?\nQuesta operazione non può essere annullata e richiede un aggiornamento della pagina.",alert_reset_all_menu_success:"Tutte le impostazioni reimpostate ai valori predefiniti.\nAggiorna la pagina per applicare le modifiche.",alert_reset_all_menu_fail:"Reimpostazione impostazioni via menu fallita! Controlla la console.",menu_open_settings:"⚙️ Apri Impostazioni",menu_reset_all_settings:"🚨 Reimposta Tutto",confirm_reset_custom_colors:"Sei sicuro di voler reimpostare i colori personalizzati ai valori predefiniti?",manageCustomFiltersTitle:"Gestisci filtri personalizzati",modal_placeholder_value_custom_filter:"Criteri (JSON)",modal_hint_custom_filter:"Enter filter name and ONE criteria",modal_hint_reference_link:"Riferimento",modal_tooltip_custom_filter:'e.g. Name: "My Filter", Value: "tbs=qdr:d"',no_custom_filters:"Nessun filtro salvato",tooltip_save_current_filters:"Salva i parametri di ricerca attuali come filtro personalizzato",modal_save_filter_title:"Salva filtro",modal_filter_name_label:"Nome filtro",modal_filter_name_placeholder:"Autogenerato",modal_filter_criteria_label:"Anteprima criteri filtro:",modal_cancel_button:"Annulla",modal_save_button:"Salva",alert_filter_name_required:"Il nome del filtro è obbligatorio.",settings_multi_language_search:"Abilita Modalità Checkbox per «Lingua»",settings_multi_language_search_hint:"Consente di selezionare multiple lingue per una ricerca combinata (OR).",settings_multi_country_search:"Abilita Modalità Checkbox per «Paese/Regione»",settings_multi_country_search_hint:"Consente di selezionare multiple paesi per una ricerca combinata (OR).",tool_apply_selected_languages:"Applica",tool_apply_selected_countries:"Applica",filter_site:"Sito",filter_filetype:"Tipo di file",dynamic_time_past_n:"Ultimi {value} minuti",dynamic_time_past_h:"Ultime {value} ore",dynamic_time_past_d:"Ultimi {value} giorni",dynamic_time_past_w:"Ultime {value} settimane",dynamic_time_past_m:"Ultimi {value} mesi",dynamic_time_past_y:"Ultimi {value} anni",op_site:"Sito",op_inurl:"Nell'URL",op_intitle:"Nel titolo",op_allintitle:"Tutto nel titolo",op_intext:"Nel testo",op_allintext:"Tutto nel testo",op_filetype:"Tipo di file",op_ext:"Estensione",op_related:"Correlato",op_info:"Info",op_cache:"Cache",op_source:"Fonte",op_location:"Posizione",op_range:"Intervallo",op_exact:"Frase esatta",op_before:"Prima del",op_after:"Dopo il",filter_keywords:"Parole chiave",filter_operators:"Operatori",filter_include_mode:"Includi",filter_exclude_mode:"Escludi",filter_exclude_item:"Escludi questo",settings_enable_language_exclude_filter:"Abilita filtro di esclusione per «Lingua»",settings_enable_language_exclude_filter_hint:"Mostra l'interruttore Includi/Escludi (modalità casella) e i pulsanti ✗ (modalità selezione singola).",settings_enable_country_exclude_filter:"Abilita filtro di esclusione per «Paese/Regione»",settings_enable_country_exclude_filter_hint:"Mostra l'interruttore Includi/Escludi (modalità casella) e i pulsanti ✗ (modalità selezione singola).",settings_enable_site_exclude_filter:"Abilita filtro di esclusione per «Ricerca nel sito»",settings_enable_site_exclude_filter_hint:"Mostra l'interruttore Includi/Escludi (modalità casella) e i pulsanti ✗ (modalità selezione singola).",error_boundary_title:"GSCS ha riscontrato un errore.",error_boundary_message:"Prova a ricaricare la pagina. Se il problema persiste, ripristina le impostazioni dal menu di Violentmonkey.",error_boundary_retry:"Riprova",udm_web:"Nel Web",udm_forums:"Forum",udm_videos:"Video",udm_books:"Libri",udm_shorts:"Video brevi",udm_images:"Immagini",udm_shopping:"Shopping",udm_news:"Notizie",udm_places:"Luoghi",udm_ai:"Modalità IA",settings_hud_show_flag_icon:"Mostra bandiere dei paesi nell'HUD",settings_hud_show_favicon:"Mostra icone dei siti web (Favicon) nell'HUD"},ja:{modal_group_env:"環境 / URL",modal_group_ops:"検索演算子",modal_group_kws:"キーワード",modal_batch_all:"すべて選択",modal_batch_include:"含める",modal_batch_exclude:"除外する",modal_batch_none:"選択解除",modal_search_filter_placeholder:"フィルター...",filter_clear_value:"クリア",tooltip_clear_filetype:"filetype: 制限をクリア",settingsTitle:"Google検索カスタムサイドバー設定",manageSitesTitle:"お気に入りサイトの管理",manageLanguagesTitle:"言語オプション管理",manageCountriesTitle:"国・地域オプション管理",manageTimeRangesTitle:"期間の管理",manageFileTypesTitle:"ファイルタイプの管理",section_language:"言語",section_time:"期間",section_filetype:"ファイルタイプ",section_country:"国・地域",section_date_range:"日付範囲",section_site_search:"サイト内検索",section_custom_filters:"マイフィルタ",section_tools:"ツール",section_occurrence:"キーワードの場所",filter_time:"期間",filter_language:"言語",filter_country:"国",filter_ops:"オプション",filter_any_language:"すべての言語",filter_any_time:"すべての期間",filter_any_format:"すべての形式",filter_any_country:"すべての国・地域",filter_any_site:"すべてのサイト",filter_occurrence_any:"ページの任意の場所",filter_occurrence_title:"ページのタイトル内",filter_occurrence_body:"ページの本文中",filter_occurrence_url:"ページのURL内",filter_occurrence_links:"ページへのリンク内",filter_any:"指定なし",modal_label_standard_options:"{type} の標準オプション",modal_add_predefined_btn:"組み込みオプションを追加",predefined_lang_zh_all:"すべての中国語",predefined_time_n15:"過去15分",predefined_time_n30:"過去30分",predefined_time_h:"過去1時間",predefined_time_h2:"過去2時間",predefined_time_h6:"過去6時間",predefined_time_h12:"過去12時間",predefined_time_d:"過去24時間",predefined_time_d2:"過去2日間",predefined_time_d3:"過去3日間",predefined_time_w:"過去1週間",predefined_time_m:"過去1ヶ月",predefined_time_y:"過去1年間",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"リセット",tool_verbatim_search:"完全一致",tool_advanced_search:"詳細検索",tool_apply_date:"適用",tool_personalization_toggle:"パーソナライズ",tool_apply_selected_sites:"適用",tool_apply_selected_filetypes:"適用",tool_google_scholar:"スカラー",tooltip_google_scholar_search:"Google Scholarで現在のキーワードを検索",service_name_google_scholar:"Google Scholar",tool_google_trends:"トレンド",tooltip_google_trends_search:"Google Trendsで現在のキーワードを探索",service_name_google_trends:"Google Trends",tool_google_dataset_search:"データセット",tooltip_google_dataset_search:"Google データセット検索で現在のキーワードを検索",service_name_google_dataset_search:"Google データセット検索",link_advanced_search_title:"Google 詳細検索ページを開く",tooltip_site_search:"{siteUrl} 内を検索",tooltip_clear_site_search:"site: 制限を解除",tooltip_toggle_personalization_on:"パーソナライズをオンにする (あなたに合わせた結果)",tooltip_toggle_personalization_off:"パーソナライズをオフにする (より一般的な結果)",settings_tab_general:"一般",settings_tab_appearance:"外観",settings_tab_features:"機能",settings_tab_custom:"カスタム",settings_close_button_title:"閉じる",settings_interface_language:"インターフェース言語:",settings_language_auto:"自動 (ブラウザのデフォルト)",settings_section_mode:"セクション折りたたみモード:",settings_section_mode_remember:"状態を記憶",settings_section_mode_expand:"すべて展開",settings_section_mode_collapse:"すべて折りたたみ",settings_accordion_mode:"アコーディオンモード(「状態を記憶」が有効な場合のみ)",settings_accordion_mode_hint_desc:"有効にすると、セクションを展開したときに他の開いているセクションが自動的に折りたたまれます。",settings_enable_drag:"ドラッグを有効にする",settings_reset_button_location:"「リセット」ボタンの位置:",settings_verbatim_location:"「完全一致」ボタンの位置:",settings_advanced_search_location:"「詳細検索」リンクの位置:",settings_personalization_location:"「パーソナライズ」ボタンの位置:",settings_scholar_shortcut_location:"「Google Scholar」ショートカットの位置:",settings_trends_shortcut_location:"「Google Trends」ショートカットの位置:",settings_dataset_search_location:"「Dataset Search」ショートカットの位置:",settings_enable_site_search_checkbox_mode:"「サイト内検索」のチェックボックスモードを有効にする",settings_enable_site_search_checkbox_mode_hint:"複数のサイトを選択して、組み合わせて (OR) 検索できます。",settings_show_favicons:"「サイト内検索」にファビコンを表示",settings_show_favicons_hint:"個々のサイトエントリの横にウェブサイトのアイコンを表示して、識別しやすくします。",settings_clear_favicon_cache:"ファビコンキャッシュをクリア",settings_clear_favicon_cache_hint:"保存されたファビコンデータをすべて削除します。次回のページ読み込み時にファビコンが再チェックされます。",alert_favicon_cache_cleared:"ファビコンキャッシュをクリアしました。",settings_enable_filetype_search_checkbox_mode:"「ファイルタイプ」のチェックボックスモードを有効にする",settings_enable_filetype_search_checkbox_mode_hint:"複数のファイルタイプを選択して、組み合わせて (OR) 検索できます。",hud_click_to_remove:"クリックして削除",modal_batch_all_tooltip:"すべて選択",modal_batch_include_tooltip:"含めるように設定",modal_batch_exclude_tooltip:"除外するように設定",modal_batch_none_tooltip:"選択をすべて解除",settings_show_active_filters_hud:"アクティブなフィルターのHUDを表示",settings_show_active_filters_hud_hint:"現在適用されているフィルターを示すフローティングバーを表示します。",settings_hud_include_keywords:"一般的なキーワードを含める",settings_show_result_stats:"検索結果の統計を表示",settings_show_result_stats_hint:"検索結果の数と読み込み時間を表示します。",settings_result_stats_position:"表示位置:",settings_result_stats_position_slim_appbar:"Googleツールバー",settings_result_stats_position_sidebar:"サイドバー",settings_location_tools:"ツールセクション",settings_location_top:"上部ブロック",settings_location_header:"サイドバーヘッダー",settings_location_hide:"非表示",settings_hud_and_stats:"HUD と統計",settings_sidebar_behavior:"サイドバーの構造と動作",settings_shortcut_locations:"ツールとショートカットの配置",settings_advanced_search_features:"高度な検索機能",section_hidden_hint:"非表示",settings_custom_colors_title:"カスタムカラー",settings_reset_custom_colors:"色をリセット",gscs_setting_color_bgColor:"背景色",gscs_setting_color_textColor:"メインテキスト色",gscs_setting_color_linkColor:"リンク/タイトル色",gscs_setting_color_selectedColor:"選択項目の文字色",gscs_setting_color_inputBgColor:"入力背景色",gscs_setting_color_inputTextColor:"入力テキスト色",gscs_setting_color_borderColor:"メイン枠線色",gscs_setting_color_dividerColor:"セクション区切り線色",gscs_setting_color_btnBgColor:"ボタン背景色",gscs_setting_color_btnHoverBgColor:"ボタンホバー背景色",gscs_setting_color_activeBgColor:"アクティブ項目の背景色",gscs_setting_color_activeTextColor:"アクティブ項目の文字/アイコン色",gscs_setting_color_activeBorderColor:"アクティブ項目の枠線色",gscs_setting_color_headerIconColor:"ヘッダーアイコン色",gscs_setting_color_itemTextColor:"項目テキスト色 (非アクティブ)",settings_show_country_flags:"「国/地域」の国旗アイコンを表示",settings_show_country_flags_hint:"国/地域の項目の横に国旗アイコンを表示して、識別しやすくします。",settings_fix_windows_flags:"Windows の国旗アイコンを修正する",settings_fix_windows_flags_hint:"Windows (Chrome/Edge) 向けに CDN から国旗アイコンを読み込みます。",settings_fix_windows_flags_credit:"アイコン提供:{name} (MIT ライセンス)",settings_scrollbar_position:"スクロールバーの位置:",settings_scrollbar_right:"右 (デフォルト)",settings_scrollbar_left:"左",settings_scrollbar_hidden:"非表示",settings_sidebar_width:"サイドバーの幅 (px)",settings_sidebar_height:"サイドバーの高さ (vh)",settings_font_size:"基本フォントサイズ (pt)",settings_header_icon_size:"ヘッダーアイコンサイズ (px)",settings_vertical_spacing:"垂直方向の間隔",settings_theme:"テーマ:",settings_theme_system:"システムに従う",settings_theme_light:"ライト",settings_theme_dark:"ダーク",settings_theme_minimal_light:"ミニマル (ライト)",settings_theme_minimal_dark:"ミニマル (ダーク)",settings_hover_mode:"ホバーモード",settings_idle_opacity:"待機時の不透明度:",settings_hide_google_logo:"サイドバー展開時に Google ロゴを隠す",settings_hide_google_logo_hint:"ミニマルテーマを使用して左上に配置した場合、サイドバーと重なるのを防ぎます。",settings_save_button:"設定を保存",settings_cancel_button:"キャンセル",settings_reset_all_button:"すべてリセット",settings_delete_button:"削除",modal_label_my_custom:"カスタム {type}:",modal_label_display_options_for:"{type} の表示オプション:",hint_drag_to_sort:"(ドラッグして並べ替え)",hint_drag_and_toggle:"(ドラッグで並べ替え;チェックで表示/非表示)",settings_sidebar_sections:"サイドバーセクション",modal_button_save_current_filter:"保存",modal_placeholder_name:"(自動生成)",modal_placeholder_text:"(自動生成)",modal_placeholder_value_site:"URL (例: google.com)",modal_placeholder_value_language:"値 (例: en, ja)",modal_placeholder_value_country:"値 (例: US, TW)",modal_placeholder_value_time:"値 (例: h24 または n15)",modal_placeholder_value_filetype:"値 (例: pdf, doc)",modal_hint_domain:"書式: ドメイン/パス (例: site.com)。複数指定はスペースまたはカンマ `,` を使用。",modal_hint_language:"書式: 言語コード (例: en, ja)。複数指定はスペースまたはカンマ `,` を使用。",modal_hint_country:"書式: 2文字の国コード (例: US, TW)。複数指定はスペースまたはカンマ `,` を使用。",modal_hint_time:"書式: n(分)、h(時)、d(日)、w(週)、m(月)、y(年) + 数字。例: `n15`、`h1`、`d7`",modal_hint_filetype:"書式: 拡張子 (例: pdf)。複数指定はスペースまたはカンマ `,` を使用。",modal_tooltip_domain:"ドメインを入力します。複数指定はスペースまたはカンマを使用 (例: site.com, example.org)。",modal_tooltip_language:"言語コードを入力します。複数指定はスペースまたはカンマを使用 (例: en, ja)。",modal_tooltip_country:"国コードを入力します。複数指定はスペースまたはカンマを使用 (例: US, TW)。",modal_tooltip_time:"書式: n(分)、h(時)、d(日)、w(週)、m(月)、y(年) と数字の組み合わせ。例: n15 (15分), h6 (6時間), d3 (3日)",modal_tooltip_filetype:"拡張子を入力します。複数指定はスペースまたはカンマを使用 (例: pdf, docx)。",modal_button_add_title:"追加",modal_button_update_title:"項目を更新",modal_button_cancel_edit_title:"編集をキャンセル",modal_button_edit_title:"編集",modal_button_delete_title:"削除",modal_button_remove_from_list_title:"リストから削除",modal_button_complete:"完了",date_range_from:"開始:",date_range_to:"終了:",sidebar_collapse_title:"折りたたみ",sidebar_expand_title:"展開",tooltip_settings:"サイドバー設定",drag_handle_label:"ドラッグしてサイドバーを移動",alert_end_before_start:"終了日は開始日より前にはできません",alert_invalid_date:"無効な日付",alert_start_in_future:"開始日を未来の日付にすることはできません",alert_end_in_future:"終了日を未来の日付にすることはできません",alert_error_applying_date:"日付範囲の適用エラー",alert_error_applying_filter:"フィルター {type}={value} の適用エラー",alert_error_applying_site_search:"{site} のサイト検索適用エラー",alert_error_clearing_site_search:"サイト検索のクリアエラー",alert_error_resetting_filters:"フィルターのリセットエラー",alert_error_toggling_verbatim:"完全一致検索の切り替えエラー",alert_error_toggling_personalization:"パーソナライズ検索の切り替えエラー",alert_invalid_value_format:"無効な値の形式です ({type})!",alert_duplicate_name:'カスタム項目の表示名 "{name}" は既に存在します。別の名前を使用してください!',alert_edit_failed_missing_fields:"編集できません: 入力フィールドまたはボタンが見つかりません!",alert_generic_error:"予期しないエラーが発生しました。コンソールを確認するか、再試行してください。コンテキスト: {context}",modal_button_delete_confirm:"削除を確認",confirm_reset_all_menu:"すべての設定をデフォルト値にリセットしてもよろしいですか?\nこの操作は取り消せません。変更を反映するにはページの再読み込みが必要です。",alert_reset_all_menu_success:"すべての設定がデフォルトにリセットされました。\n変更を適用するにはページを更新してください。",alert_reset_all_menu_fail:"メニューコマンドによる設定のリセットに失敗しました!コンソールを確認してください。",menu_open_settings:"⚙️ 設定を開く",menu_reset_all_settings:"🚨 すべての設定をリセット",confirm_reset_custom_colors:"カスタムカラーをデフォルトにリセットしてもよろしいですか?",manageCustomFiltersTitle:"カスタムフィルタの管理",modal_placeholder_value_custom_filter:"条件 (JSON)",modal_hint_custom_filter:"名前の変更のみ可能です。条件は読み取り専用です。",modal_hint_reference_link:"リファレンス",modal_tooltip_custom_filter:"フィルタ設定 (読み取り専用)",no_custom_filters:"保存されたフィルタはありません",tooltip_save_current_filters:"現在の検索条件をカスタムフィルタとして保存",modal_save_filter_title:"フィルタを保存",modal_filter_name_label:"フィルタ名",modal_filter_name_placeholder:"自動生成",modal_filter_criteria_label:"フィルタ条件プレビュー:",modal_cancel_button:"キャンセル",modal_save_button:"保存",alert_filter_name_required:"フィルタ名は必須です。",settings_multi_language_search:"「言語」のチェックボックスモードを有効にする",settings_multi_language_search_hint:"複数の言語を選択して、組み合わせて (OR) 検索できます。",settings_multi_country_search:"「国/地域」のチェックボックスモードを有効にする",settings_multi_country_search_hint:"複数の国/地域を選択して、組み合わせて (OR) 検索できます。",tool_apply_selected_languages:"適用",tool_apply_selected_countries:"適用",filter_site:"サイト",filter_filetype:"ファイル形式",dynamic_time_past_n:"{value} 分以内",dynamic_time_past_h:"{value} 時間以内",dynamic_time_past_d:"{value} 日以内",dynamic_time_past_w:"{value} 週間以内",dynamic_time_past_m:"{value} か月以内",dynamic_time_past_y:"{value} 年以内",op_site:"サイト内",op_inurl:"URL内",op_intitle:"タイトル内",op_allintitle:"タイトルに全て含む",op_intext:"本文内",op_allintext:"本文に全て含む",op_filetype:"ファイル形式",op_ext:"拡張子",op_related:"関連サイト",op_info:"サイト情報",op_cache:"キャッシュ",op_source:"ニュースソース",op_location:"ニュース地域",op_range:"数値範囲",op_exact:"完全一致フレーズ",op_before:"以前",op_after:"以降",filter_keywords:"キーワード",filter_operators:"演算子",filter_include_mode:"含める",filter_exclude_mode:"除外",filter_exclude_item:"これを除外",settings_enable_language_exclude_filter:"「言語」除外フィルターを有効化",settings_enable_language_exclude_filter_hint:"「言語」フィルターに包含/除外の切替ボタン(チェックボックスモード)と ✗ ボタン(単一選択モード)を表示。",settings_enable_country_exclude_filter:"「国/地域」除外フィルターを有効化",settings_enable_country_exclude_filter_hint:"「国/地域」フィルターに包含/除外の切替ボタン(チェックボックスモード)と ✗ ボタン(単一選択モード)を表示。",settings_enable_site_exclude_filter:"「サイト内検索」の除外フィルターを有効化",settings_enable_site_exclude_filter_hint:"「サイト内検索」に包含/除外の切替ボタン(チェックボックスモード)と ✗ ボタン(単一選択モード)を表示。",error_boundary_title:"GSCS でエラーが発生しました。",error_boundary_message:"ページを更新してみてください。問題が解決しない場合は、Violentmonkey メニューから設定をリセットしてください。",error_boundary_retry:"再試行",udm_web:"ウェブ",udm_forums:"フォーラム",udm_videos:"動画",udm_books:"書籍",udm_shorts:"ショート動画",udm_images:"画像",udm_shopping:"ショッピング",udm_news:"ニュース",udm_places:"スポット",udm_ai:"AIモード",settings_hud_show_flag_icon:"HUDに国旗を表示する",settings_hud_show_favicon:"HUDにウェブサイトのアイコン (Favicon) を表示する"},ru:{modal_group_env:"Среда / URL",modal_group_ops:"Расширенные операторы",modal_group_kws:"Ключевые слова",modal_batch_all:"Все",modal_batch_include:"Включить",modal_batch_exclude:"Исключить",modal_batch_none:"Ничего",modal_search_filter_placeholder:"Фильтр...",filter_clear_value:"очистить",tooltip_clear_filetype:"Удалить ограничение filetype:",settingsTitle:"Настройки настраиваемой боковой панели поиска Google",manageSitesTitle:"Управление избранными сайтами",manageLanguagesTitle:"Управление параметрами языка",manageCountriesTitle:"Управление параметрами страны/региона",manageTimeRangesTitle:"Управление временными диапазонами",manageFileTypesTitle:"Управление типами файлов",section_language:"Язык",section_time:"Время",section_filetype:"Тип файла",section_country:"Страна/Регион",section_date_range:"Диапазон дат",section_site_search:"Поиск по сайту",section_custom_filters:"Мои фильтры",section_tools:"Инструменты",section_occurrence:"Расположение ключевого слова",filter_time:"Время",filter_language:"Язык",filter_country:"Страна",filter_ops:"Опц",filter_any_language:"Любой язык",filter_any_time:"Любое время",filter_any_format:"Любой формат",filter_any_country:"Любая страна/регион",filter_any_site:"Любой сайт",filter_occurrence_any:"В любом месте страницы",filter_occurrence_title:"В заголовке страницы",filter_occurrence_body:"В тексте страницы",filter_occurrence_url:"В URL страницы",filter_occurrence_links:"В ссылках на страницу",filter_any:"Любой",modal_label_standard_options:"Стандартные параметры для {type}",modal_add_predefined_btn:"Добавить встроенный параметр",predefined_lang_zh_all:"Все китайские",predefined_time_n15:"За последние 15 минут",predefined_time_n30:"За последние 30 минут",predefined_time_h:"За последний час",predefined_time_h2:"За последние 2 часа",predefined_time_h6:"За последние 6 часов",predefined_time_h12:"За последние 12 часов",predefined_time_d:"За последние 24 часа",predefined_time_d2:"За последние 2 дня",predefined_time_d3:"За последние 3 дня",predefined_time_w:"За последнюю неделю",predefined_time_m:"За последний месяц",predefined_time_y:"За последний год",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"Сбросить",tool_verbatim_search:"Точное соответствие",tool_advanced_search:"Расширенный поиск",tool_apply_date:"Применить",tool_personalization_toggle:"Персонализация",tool_apply_selected_sites:"Применить",tool_apply_selected_filetypes:"Применить",tool_google_scholar:"Академия",tooltip_google_scholar_search:"Искать текущие ключевые слова в Google Scholar",service_name_google_scholar:"Google Scholar",tool_google_trends:"Тренды",tooltip_google_trends_search:"Исследовать текущие ключевые слова в Google Trends",service_name_google_trends:"Google Trends",tool_google_dataset_search:"Наборы данных",tooltip_google_dataset_search:"Искать ключевые слова в Google Dataset Search",service_name_google_dataset_search:"Google Dataset Search",link_advanced_search_title:"Открыть страницу расширенного поиска Google",tooltip_site_search:"Искать на {siteUrl}",tooltip_clear_site_search:"Удалить ограничение site:",tooltip_toggle_personalization_on:"Нажмите, чтобы включить персонализацию (результаты, адаптированные для вас)",tooltip_toggle_personalization_off:"Нажмите, чтобы выключить персонализацию (более общие результаты)",settings_tab_general:"Общие",settings_tab_appearance:"Внешний вид",settings_tab_features:"Функции",settings_tab_custom:"Пользовательские",settings_close_button_title:"Закрыть",settings_interface_language:"Язык интерфейса:",settings_language_auto:"Авто (По умолчанию)",settings_section_mode:"Режим сворачивания секций:",settings_section_mode_remember:"Запоминать состояние",settings_section_mode_expand:"Развернуть все",settings_section_mode_collapse:"Свернуть все",settings_accordion_mode:'Режим аккордеона (только если "Запоминать состояние" включено)',settings_accordion_mode_hint_desc:"Если включено, разворачивание одной секции автоматически сворачивает другие открытые секции.",settings_enable_drag:"Включить перетаскивание",settings_reset_button_location:'Положение кнопки "Сброс":',settings_verbatim_location:'Положение кнопки "Verbatim":',settings_advanced_search_location:'Положение ссылки "Расширенный поиск":',settings_personalization_location:'Положение кнопки "Персонализация":',settings_scholar_shortcut_location:'Расположение ярлыка "Google Scholar":',settings_trends_shortcut_location:'Расположение ярлыка "Google Trends":',settings_dataset_search_location:'Расположение ярлыка "Dataset Search":',settings_enable_site_search_checkbox_mode:"Включить режим выбора (чекбоксы) для «Поиск по сайту»",settings_enable_site_search_checkbox_mode_hint:"Позволяет выбрать несколько любимых сайтов для комбинированного (ИЛИ) поиска.",settings_show_favicons:"Показывать фавиконы для «Поиск по сайту»",settings_show_favicons_hint:"Отображает значок веб-сайта рядом с отдельными записями сайтов для лучшей идентификации.",settings_clear_favicon_cache:"Очистить кэш фавиконов",settings_clear_favicon_cache_hint:"Удалить все сохранённые данные фавиконов. Фавиконы будут повторно проверены при следующей загрузке страницы.",alert_favicon_cache_cleared:"Кэш фавиконов очищен.",settings_enable_filetype_search_checkbox_mode:"Включить режим выбора (чекбоксы) для «Тип файла»",settings_enable_filetype_search_checkbox_mode_hint:"Позволяет выбрать несколько типов файлов для комбинированного (ИЛИ) поиска.",settings_show_result_stats:"Показать статистику результатов поиска",settings_show_result_stats_hint:"Отображает количество результатов и время загрузки.",settings_result_stats_position:"Расположение:",settings_result_stats_position_slim_appbar:"Панель инструментов Google",settings_result_stats_position_sidebar:"Боковая панель",settings_location_tools:"Секция инструментов",settings_location_top:"Верхний блок",settings_location_header:"Заголовок боковой панели",settings_location_hide:"Скрыть",settings_hud_and_stats:"HUD и Статус",settings_sidebar_behavior:"Структура и поведение боковой панели",settings_shortcut_locations:"Расположение инструментов и ярлыков",settings_advanced_search_features:"Расширенные функции поиска",section_hidden_hint:"Скрыто",settings_custom_colors_title:"Пользовательские цвета",settings_reset_custom_colors:"Сбросить цвета",gscs_setting_color_bgColor:"Цвет фона",gscs_setting_color_textColor:"Цвет основного текста",gscs_setting_color_linkColor:"Цвет ссылок/заголовков",gscs_setting_color_selectedColor:"Цвет выделенного текста",gscs_setting_color_inputBgColor:"Цвет фона ввода",gscs_setting_color_inputTextColor:"Цвет текста ввода",gscs_setting_color_borderColor:"Цвет основной границы",gscs_setting_color_dividerColor:"Цвет разделителя секций",gscs_setting_color_btnBgColor:"Фон кнопки",gscs_setting_color_btnHoverBgColor:"Фон кнопки (при наведении)",gscs_setting_color_activeBgColor:"Фон активного элемента",gscs_setting_color_activeTextColor:"Текст/Иконка активного элемента",gscs_setting_color_activeBorderColor:"Граница активного элемента",gscs_setting_color_headerIconColor:"Цвет иконки заголовка",gscs_setting_color_itemTextColor:"Цвет текста элемента (неактивный)",hud_click_to_remove:"Нажмите, чтобы удалить",modal_batch_all_tooltip:"Выбрать все",modal_batch_include_tooltip:"Установить как включить",modal_batch_exclude_tooltip:"Установить как исключить",modal_batch_none_tooltip:"Отменить выбор",settings_show_active_filters_hud:"Показывать HUD активных фильтров",settings_show_active_filters_hud_hint:"Отображает плавающую панель с текущими примененными фильтрами.",settings_hud_include_keywords:"Включить общие ключевые слова",settings_show_country_flags:"Показывать значки флагов для «Страна/Регион»",settings_show_country_flags_hint:"Отображает значок флага рядом с элементами стран для облегчения идентификации.",settings_fix_windows_flags:"Исправить значки флагов в Windows",settings_fix_windows_flags_hint:"Загружает иконки флагов с CDN для Windows (Chrome/Edge).",settings_fix_windows_flags_credit:"Иконки: {name} (Лицензия MIT)",settings_scrollbar_position:"Позиция скроллбара:",settings_scrollbar_right:"Справа (По умолчанию)",settings_scrollbar_left:"Слева",settings_scrollbar_hidden:"Скрыт",settings_sidebar_width:"Ширина боковой панели (px)",settings_sidebar_height:"Высота боковой панели (vh)",settings_font_size:"Базовый размер шрифта (pt)",settings_header_icon_size:"Размер иконки заголовка (px)",settings_vertical_spacing:"Вертикальный интервал",settings_theme:"Тема:",settings_theme_system:"Как в системе",settings_theme_light:"Светлая",settings_theme_dark:"Темная",settings_theme_minimal_light:"Минимал (Светлая)",settings_theme_minimal_dark:"Минимал (Темная)",settings_hover_mode:"Режим наведения (Hover)",settings_idle_opacity:"Непрозрачность в покое:",settings_hide_google_logo:"Скрывать логотип Google при развернутой панели",settings_hide_google_logo_hint:"Предотвращает визуальное перекрытие с боковой панелью при использовании минимальной темы в левом верхнем углу.",settings_save_button:"Сохранить",settings_cancel_button:"Отмена",settings_reset_all_button:"Сбросить все",settings_delete_button:"Удалить",modal_label_my_custom:"Мои пользовательские {type}:",modal_label_display_options_for:"Настройки отображения для {type}:",hint_drag_to_sort:"(Перетащите для сортировки)",hint_drag_and_toggle:"(Перетащите для сортировки; переключите для показа/скрытия)",settings_sidebar_sections:"Разделы боковой панели",modal_button_save_current_filter:"Сохранить",modal_placeholder_name:"(Автоматически)",modal_placeholder_text:"(Автоматически)",modal_placeholder_value_site:"URL (напр., google.com)",modal_placeholder_value_language:"Значение (напр., en, ja)",modal_placeholder_value_country:"Значение (напр., US, TW)",modal_placeholder_value_time:"Значение (напр., h24 или n15)",modal_placeholder_value_filetype:"Значение (напр., pdf, doc)",modal_hint_domain:"Формат: домен/путь (напр. site.com). Для нескольких используйте пробелы или `,`.",modal_hint_language:"Формат: код (напр. en, ja). Для нескольких используйте пробелы или `,`.",modal_hint_country:"Формат: 2-букв. код (напр. US, TW). Для нескольких используйте пробелы или `,`.",modal_hint_time:"Формат: n(минуты), h(часы), d(дни), w(недели), m(месяцы), y(годы) + число. Напр.: `n15`, `h1`, `d7`",modal_hint_filetype:"Формат: расширение (напр. pdf). Для нескольких используйте пробелы или `,`.",modal_tooltip_domain:"Введите домены. Разделяйте пробелами или запятыми для нескольких (напр., site.com, example.org).",modal_tooltip_language:"Введите коды языков. Разделяйте пробелами или запятыми (напр., en, ja).",modal_tooltip_country:"Введите коды стран. Разделяйте пробелами или запятыми (напр., US, TW).",modal_tooltip_time:"Формат: n(мин), h(часы), d(дни), w(недели), m(месяцы), y(годы) + число. Напр.: n15 (15 мин), h6 (6 часов), d3 (3 дня)",modal_tooltip_filetype:"Введите расширения. Разделяйте пробелами или запятыми (напр., pdf, docx).",modal_button_add_title:"Добавить",modal_button_update_title:"Обновить элемент",modal_button_cancel_edit_title:"Отменить редактирование",modal_button_edit_title:"Редактировать",modal_button_delete_title:"Удалить",modal_button_remove_from_list_title:"Убрать из списка",modal_button_complete:"Готово",date_range_from:"От:",date_range_to:"До:",sidebar_collapse_title:"Свернуть",sidebar_expand_title:"Развернуть",tooltip_settings:"Настройки боковой панели",drag_handle_label:"Перетащите для изменения положения боковой панели",alert_end_before_start:"Дата окончания не может быть раньше даты начала",alert_invalid_date:"Недопустимая дата",alert_start_in_future:"Дата начала не может быть в будущем",alert_end_in_future:"Дата окончания не может быть в будущем",alert_error_applying_date:"Ошибка применения диапазона дат",alert_error_applying_filter:"Ошибка применения фильтра {type}={value}",alert_error_applying_site_search:"Ошибка применения поиска по сайту для {site}",alert_error_clearing_site_search:"Ошибка очистки поиска по сайту",alert_error_resetting_filters:"Ошибка сброса фильтров",alert_error_toggling_verbatim:"Ошибка переключения дословного поиска",alert_error_toggling_personalization:"Ошибка переключения персонализации",alert_invalid_value_format:"Недопустимый формат значения для {type}!",alert_duplicate_name:'Отображаемое имя пользовательского элемента "{name}" уже существует. Пожалуйста, используйте другое имя!',alert_edit_failed_missing_fields:"Невозможно отредактировать: Поля ввода или кнопки не найдены!",alert_generic_error:"Произошла непредвиденная ошибка. Пожалуйста, проверьте консоль или попробуйте снова. Контекст: {context}",modal_button_delete_confirm:"Подтвердить удаление",confirm_reset_all_menu:"Вы уверены, что хотите сбросить все настройки к значениям по умолчанию?\nЭто действие нельзя отменить, и оно потребует обновления страницы.",alert_reset_all_menu_success:"Все настройки сброшены к значениям по умолчанию.\nПожалуйста, обновите страницу, чтобы применить изменения.",alert_reset_all_menu_fail:"Ошибка сброса настроек через меню! Пожалуйста, проверьте консоль.",menu_open_settings:"⚙️ Открыть настройки",menu_reset_all_settings:"🚨 Сбросить все настройки",confirm_reset_custom_colors:"Вы уверены, что хотите сбросить пользовательские цвета к значениям по умолчанию?",manageCustomFiltersTitle:"Управление фильтрами",modal_placeholder_value_custom_filter:"Критерии (JSON)",modal_hint_custom_filter:"Только переименование. Редактирование критериев недоступно.",modal_hint_reference_link:"Справка",modal_tooltip_custom_filter:"Конфигурация фильтра (только чтение)",no_custom_filters:"Нет сохраненных фильтров",tooltip_save_current_filters:"Сохранить текущие параметры поиска как фильтр",modal_save_filter_title:"Сохранить фильтр",modal_filter_name_label:"Название фильтра",modal_filter_name_placeholder:"Автоматически",modal_filter_criteria_label:"Предпросмотр критериев:",modal_cancel_button:"Отмена",modal_save_button:"Сохранить",alert_filter_name_required:"Имя фильтра обязательно.",settings_multi_language_search:"Включить режим выбора (чекбоксы) для «Язык»",settings_multi_language_search_hint:"Позволяет выбрать несколько языков для комбинированного (ИЛИ) поиска.",settings_multi_country_search:"Включить режим выбора (чекбоксы) для «Страна/Регион»",settings_multi_country_search_hint:"Позволяет выбрать несколько стран для комбинированного (ИЛИ) поиска.",tool_apply_selected_languages:"Применить",tool_apply_selected_countries:"Применить",filter_site:"Сайт",filter_filetype:"Тип файла",dynamic_time_past_n:"За {value} мин.",dynamic_time_past_h:"За {value} ч.",dynamic_time_past_d:"За {value} дн.",dynamic_time_past_w:"За {value} нед.",dynamic_time_past_m:"За {value} мес.",dynamic_time_past_y:"За {value} лет",op_site:"Сайт",op_inurl:"В URL",op_intitle:"В заголовке",op_allintitle:"Всё в заголовке",op_intext:"В тексте",op_allintext:"Всё в тексте",op_filetype:"Тип файла",op_ext:"Расширение",op_related:"Похожие",op_info:"Информация",op_cache:"Кэш",op_source:"Источник",op_location:"Местоположение",op_range:"Диапазон",op_exact:"Точная фраза",op_before:"До",op_after:"После",filter_keywords:"Ключевые слова",filter_operators:"Операторы",filter_include_mode:"Включить",filter_exclude_mode:"Исключить",filter_exclude_item:"Исключить это",settings_enable_language_exclude_filter:"Включить фильтр исключения для «Язык»",settings_enable_language_exclude_filter_hint:"Показывает переключатель Включить/Исключить (режим флажков) и кнопки ✗ (одиночный выбор).",settings_enable_country_exclude_filter:"Включить фильтр исключения для «Страна/Регион»",settings_enable_country_exclude_filter_hint:"Показывает переключатель Включить/Исключить (режим флажков) и кнопки ✗ (одиночный выбор).",settings_enable_site_exclude_filter:"Включить фильтр исключения для «Поиск по сайту»",settings_enable_site_exclude_filter_hint:"Показывает переключатель Включить/Исключить (режим флажков) и кнопки ✗ (одиночный выбор).",error_boundary_title:"GSCS столкнулся с ошибкой.",error_boundary_message:"Попробуйте обновить страницу. Если проблема не исчезнет, сбросьте настройки в меню Violentmonkey.",error_boundary_retry:"Повторить",udm_web:"Веб",udm_forums:"Форумы",udm_videos:"Видео",udm_books:"Книги",udm_shorts:"Короткие видео",udm_images:"Картинки",udm_shopping:"Покупки",udm_news:"Новости",udm_places:"Места",udm_ai:"Режим ИИ",settings_hud_show_flag_icon:"Показывать флаги стран в HUD",settings_hud_show_favicon:"Показывать значки веб-сайтов (Favicon) в HUD"},"zh-TW":{hud_click_to_remove:"點擊以移除",modal_batch_all_tooltip:"全部選取",modal_batch_include_tooltip:"設定為包含",modal_batch_exclude_tooltip:"設定為排除",modal_batch_none_tooltip:"全部取消選取",settings_show_active_filters_hud:"顯示作用中篩選器 HUD",settings_show_active_filters_hud_hint:"在畫面漂浮顯示目前正生效的篩選、站點或關鍵字等。",settings_hud_include_keywords:"包含一般搜尋關鍵字 (不僅限過濾規則)",settings_hud_show_flag_icon:"在 HUD 顯示國旗圖示",settings_hud_show_favicon:"在 HUD 顯示網站圖示 (Favicon)",modal_group_env:"環境參數 / 網址",modal_group_ops:"進階運算子",modal_group_kws:"搜尋關鍵字",modal_batch_all:"全選",modal_batch_include:"包含",modal_batch_exclude:"排除",modal_batch_none:"全不選",modal_search_filter_placeholder:"篩選...",filter_clear_value:"清除",tooltip_clear_filetype:"移除 filetype: 限制",settingsTitle:"Google 搜尋自訂側邊欄設定",manageSitesTitle:"管理喜愛網站",manageLanguagesTitle:"管理語言選項",manageCountriesTitle:"管理國家/地區選項",manageTimeRangesTitle:"管理時間範圍",manageFileTypesTitle:"管理檔案類型",section_language:"語言",section_time:"時間",section_filetype:"檔案類型",section_country:"國家/地區",section_date_range:"日期範圍",section_site_search:"站內搜尋",section_custom_filters:"我的篩選",section_tools:"工具",section_occurrence:"關鍵字位置",filter_time:"時間",filter_language:"語言",filter_country:"國家",filter_ops:"參數",filter_any_language:"任何語言",filter_any_time:"任何時間",filter_any_format:"任何格式",filter_any_country:"任何國家/地區",filter_any_site:"任何網站",filter_occurrence_any:"頁面任何位置",filter_occurrence_title:"在頁面標題中",filter_occurrence_body:"在頁面內文中",filter_occurrence_url:"在頁面網址中",filter_occurrence_links:"在頁面連結中",filter_any:"不限",modal_label_standard_options:"{type} 預設選項",modal_add_predefined_btn:"加入內建選項",predefined_lang_zh_all:"所有中文",predefined_time_n15:"過去 15 分鐘",predefined_time_n30:"過去 30 分鐘",predefined_time_h:"過去一小時",predefined_time_h2:"過去 2 小時",predefined_time_h6:"過去 6 小時",predefined_time_h12:"過去 12 小時",predefined_time_d:"過去 24 小時",predefined_time_d2:"過去 2 天",predefined_time_d3:"過去 3 天",predefined_time_w:"過去一週",predefined_time_m:"過去一個月",predefined_time_y:"過去一年",predefined_filetype_csv:"CSV (.csv)",predefined_filetype_kml:"Google Earth (.kml, .kmz)",predefined_filetype_gpx:"GPS eXchange (.gpx)",predefined_filetype_html:"HTML (.html, .htm)",predefined_filetype_svg:"SVG (.svg)",predefined_filetype_tex:"TeX/LaTeX (.tex)",predefined_filetype_txt:"Text (.txt, .text)",predefined_filetype_bas:"Basic (.bas)",predefined_filetype_c:"C/C++ (.c, .cpp, .h...)",predefined_filetype_cs:"C# (.cs)",predefined_filetype_java:"Java (.java)",predefined_filetype_pl:"Perl (.pl)",predefined_filetype_py:"Python (.py)",predefined_filetype_wml:"WML (.wml, .wap)",predefined_filetype_xml:"XML (.xml)",predefined_filetype_pdf:"PDF (.pdf)",predefined_filetype_ps:"Adobe PostScript (.ps)",predefined_filetype_epub:"EPUB (.epub)",predefined_filetype_hwp:"Hanword (.hwp)",predefined_filetype_xls:"Excel (.xls, .xlsx)",predefined_filetype_ppt:"PowerPoint (.ppt, .pptx)",predefined_filetype_doc:"Word (.doc, .docx)",predefined_filetype_odp:"OpenOffice PPT (.odp)",predefined_filetype_ods:"OpenOffice Excel (.ods)",predefined_filetype_odt:"OpenOffice Word (.odt)",predefined_filetype_rtf:"RTF (.rtf)",tool_reset_filters:"重設",tool_verbatim_search:"一字不差",tool_advanced_search:"進階",tool_apply_date:"套用",tool_personalization_toggle:"個人化搜尋",tool_apply_selected_sites:"套用",tool_apply_selected_filetypes:"套用",tool_google_scholar:"學術",tooltip_google_scholar_search:"在 Google 學術搜尋目前關鍵字",service_name_google_scholar:"Google 學術搜尋",tool_google_trends:"趨勢",tooltip_google_trends_search:"在 Google 趨勢探索目前關鍵字",service_name_google_trends:"Google 趨勢",tool_google_dataset_search:"資料集",tooltip_google_dataset_search:"在 Google 資料集搜尋目前關鍵字",service_name_google_dataset_search:"Google 資料集搜尋",link_advanced_search_title:"開啟 Google 進階搜尋頁面",tooltip_site_search:"在 {siteUrl} 中搜尋",tooltip_clear_site_search:"移除 site: 限制",tooltip_toggle_personalization_on:"點擊以開啟個人化搜尋 (結果將根據您的資訊調整)",tooltip_toggle_personalization_off:"點擊以關閉個人化搜尋 (顯示較通用的結果)",settings_tab_general:"一般",settings_tab_appearance:"外觀",settings_tab_features:"功能",settings_tab_custom:"自訂",settings_close_button_title:"關閉",settings_interface_language:"介面語言:",settings_language_auto:"自動 (瀏覽器預設)",settings_section_mode:"區塊收合模式:",settings_section_mode_remember:"記住狀態",settings_section_mode_expand:"全部展開",settings_section_mode_collapse:"全部收合",settings_accordion_mode:"手風琴模式 (僅當「記住狀態」啟用時)",settings_accordion_mode_hint_desc:"啟用此模式後,展開一個區塊將會自動收合其他已開啟的區塊。",settings_enable_drag:"啟用拖曳",settings_reset_button_location:"「重設」按鈕位置:",settings_verbatim_location:"「一字不差」按鈕位置:",settings_advanced_search_location:"「進階搜尋」連結位置:",settings_personalization_location:"「個人化搜尋」按鈕位置:",settings_scholar_shortcut_location:"「Google 學術搜尋」捷徑位置:",settings_trends_shortcut_location:"「Google 趨勢」捷徑位置:",settings_dataset_search_location:"「資料集搜尋」捷徑位置:",settings_enable_site_search_checkbox_mode:"啟用「站內搜尋」的核取方塊模式",settings_enable_site_search_checkbox_mode_hint:"允許選擇多個喜愛網站以進行組合 (OR) 搜尋。",settings_show_favicons:"為「站內搜尋」顯示網站圖示",settings_show_favicons_hint:"在單一網站項目旁顯示網站圖示以方便識別。",settings_clear_favicon_cache:"清除網站圖示快取",settings_clear_favicon_cache_hint:"移除所有已快取的網站圖示資料。下次載入頁面時將重新檢查網站圖示。",alert_favicon_cache_cleared:"網站圖示快取已清除。",settings_enable_filetype_search_checkbox_mode:"啟用「檔案類型」的核取方塊模式",settings_enable_filetype_search_checkbox_mode_hint:"允許選擇多種檔案類型以進行組合 (OR) 搜尋。",settings_show_result_stats:"顯示搜尋結果統計",settings_show_result_stats_hint:"顯示搜尋結果數量與載入時間。",settings_result_stats_position:"位置:",settings_result_stats_position_slim_appbar:"Google 工具列",settings_result_stats_position_sidebar:"側邊欄",settings_location_tools:"工具區塊",settings_location_top:"頂部區塊",settings_location_header:"側邊欄標頭",settings_location_hide:"隱藏",settings_hud_and_stats:"HUD 與狀態",settings_sidebar_behavior:"側邊欄結構與行為",settings_shortcut_locations:"工具與快捷鍵位置",settings_advanced_search_features:"進階搜尋功能",section_hidden_hint:"已隱藏",settings_custom_colors_title:"自訂顏色",settings_reset_custom_colors:"重設顏色",gscs_setting_color_bgColor:"背景顏色",gscs_setting_color_textColor:"主要文字顏色",gscs_setting_color_linkColor:"連結/標題顏色",gscs_setting_color_selectedColor:"選取項目文字顏色",gscs_setting_color_inputBgColor:"輸入框背景顏色",gscs_setting_color_inputTextColor:"輸入框文字顏色",gscs_setting_color_borderColor:"主要邊框顏色",gscs_setting_color_dividerColor:"區塊分隔線顏色",gscs_setting_color_btnBgColor:"按鈕背景顏色",gscs_setting_color_btnHoverBgColor:"按鈕懸停背景顏色",gscs_setting_color_activeBgColor:"作用中項目背景顏色",gscs_setting_color_activeTextColor:"作用中項目文字/圖示顏色",gscs_setting_color_activeBorderColor:"作用中項目邊框顏色",gscs_setting_color_headerIconColor:"標頭圖示顏色",gscs_setting_color_itemTextColor:"項目文字顏色 (非作用中)",settings_show_country_flags:"顯示「國家/地區」的旗幟圖示",settings_show_country_flags_hint:"在國家/地區項目旁顯示旗幟圖示以方便識別。",settings_fix_windows_flags:"修復 Windows 國旗顯示",settings_fix_windows_flags_hint:"在 Windows (Chrome/Edge) 上從 CDN 載入國旗圖示。",settings_fix_windows_flags_credit:"圖示來源:{name}(MIT 授權)",settings_scrollbar_position:"捲軸位置:",settings_scrollbar_right:"右側 (預設)",settings_scrollbar_left:"左側",settings_scrollbar_hidden:"隱藏",settings_sidebar_width:"側邊欄寬度 (px)",settings_sidebar_height:"側邊欄高度 (vh)",settings_font_size:"基本字型大小 (pt)",settings_header_icon_size:"標頭圖示大小 (px)",settings_vertical_spacing:"垂直間距",settings_theme:"主題:",settings_theme_system:"跟隨系統",settings_theme_light:"淺色",settings_theme_dark:"深色",settings_theme_minimal_light:"簡約 (淺色)",settings_theme_minimal_dark:"簡約 (深色)",settings_hover_mode:"懸停模式",settings_idle_opacity:"閒置透明度:",settings_hide_google_logo:"側邊欄展開時隱藏 Google Logo",settings_hide_google_logo_hint:"避免當側邊欄使用簡約主題並置於左上角時,與背景的 Google Logo 重疊而造成視覺混亂。",settings_save_button:"儲存設定",settings_cancel_button:"取消",settings_reset_all_button:"全部重設",settings_delete_button:"刪除",modal_label_my_custom:"我的自訂 {type} 選項:",modal_label_display_options_for:"可顯示的 {type} 選項:",hint_drag_to_sort:"(拖曳以排序)",hint_drag_and_toggle:"(拖曳以排序;勾選以顯示/隱藏)",settings_sidebar_sections:"側邊欄區塊",modal_button_save_current_filter:"儲存",modal_placeholder_name:"(自動生成)",modal_placeholder_text:"(自動生成)",modal_placeholder_value_site:"網址 (例如:google.com)",modal_placeholder_value_language:"值 (例如:en, ja)",modal_placeholder_value_country:"值 (例如:US, TW)",modal_placeholder_value_time:"值 (例如 h24 或 n15)",modal_placeholder_value_filetype:"值 (例如:pdf, doc)",modal_hint_domain:"格式:網域/路徑(如 site.com)。允許多選,請以空格或逗號 `,` 分隔。",modal_hint_language:"格式:語言代碼(如 en, ja)。允許多選,請以空格或逗號 `,` 分隔。",modal_hint_country:"格式:2 位字母代碼(如 US, TW)。允許多選,請以空格或逗號 `,` 分隔。",modal_hint_time:"格式:輸入代碼與數字,代碼包含 n(分), h(時), d(天), w(週), m(月), y(年)。例如:`n15`, `h1`, `d7`",modal_hint_filetype:"格式:副檔名(如 pdf)。允許多選,請以空格或逗號 `,` 分隔。",modal_tooltip_domain:"輸入網域或路徑。允許多選,請以空格或逗號分隔(例如:site.com, example.org)。",modal_tooltip_language:"輸入語言代碼。允許多選,請以空格或逗號分隔(例如:en, ja)。",modal_tooltip_country:"輸入 2 位字母國家代碼。允許多選,請以空格或逗號分隔(例如:US, TW)。",modal_tooltip_time:"格式:代碼+數字。支援的代碼有 n(分), h(時), d(天), w(週), m(月), y(年)。例如 n15 (15分鐘), h6 (6小時), d3 (3天)",modal_tooltip_filetype:"檔案副檔名。允許多選,請以空格或逗號分隔(例如:pdf, docx)。",modal_button_add_title:"新增",modal_button_update_title:"更新項目",modal_button_cancel_edit_title:"取消編輯",modal_button_edit_title:"編輯項目",modal_button_delete_title:"刪除",modal_button_remove_from_list_title:"從選項中移除",modal_button_complete:"完成",date_range_from:"從:",date_range_to:"到:",sidebar_collapse_title:"收合",sidebar_expand_title:"展開",tooltip_settings:"側邊欄設定",drag_handle_label:"拖曳以重新定位側邊欄",alert_end_before_start:"結束日期不能早於開始日期",alert_invalid_date:"無效日期",alert_start_in_future:"開始日期不能是未來日期",alert_end_in_future:"結束日期不能是未來日期",alert_error_applying_date:"套用日期範圍時發生錯誤",alert_error_applying_filter:"套用篩選器 {type}={value} 時發生錯誤",alert_error_applying_site_search:"套用站內搜尋 {site} 時發生錯誤",alert_error_clearing_site_search:"清除站內搜尋時發生錯誤",alert_error_resetting_filters:"重設篩選器時發生錯誤",alert_error_toggling_verbatim:"切換「一字不差」搜尋時發生錯誤",alert_error_toggling_personalization:"切換個人化搜尋時發生錯誤",alert_invalid_value_format:"無效的值格式 ({type})!",alert_duplicate_name:"自訂項目顯示名稱「{name}」已存在。請使用不同的名稱!",alert_edit_failed_missing_fields:"無法編輯:找不到輸入或按鈕欄位!",alert_generic_error:"發生未預期的錯誤。請檢查主控台或重試。情境:{context}",modal_button_delete_confirm:"確認刪除",confirm_reset_all_menu:"您確定要將所有設定重設為預設值嗎?\n此操作無法復原,且需要重新整理頁面才能生效。",alert_reset_all_menu_success:"所有設定已重設為預設值。\n請重新整理頁面以套用變更。",alert_reset_all_menu_fail:"透過選單指令重設設定失敗!請檢查主控台。",menu_open_settings:"⚙️ 開啟設定",menu_reset_all_settings:"🚨 重設所有設定",confirm_reset_custom_colors:"您確定要重設自訂顏色為預設值嗎?",manageCustomFiltersTitle:"管理自訂篩選器",modal_placeholder_value_custom_filter:"篩選條件 (JSON)",modal_hint_custom_filter:"輸入篩選器名稱與單一條件",modal_hint_reference_link:"參考",modal_tooltip_custom_filter:'例如:名稱:"我的篩選器", 值:"tbs=qdr:d"',no_custom_filters:"尚未儲存任何篩選器",tooltip_save_current_filters:"將目前搜尋條件儲存為自訂篩選器",modal_save_filter_title:"儲存篩選器",modal_filter_name_label:"篩選器名稱",modal_filter_name_placeholder:"自動命名",modal_filter_criteria_label:"篩選條件預覽:",modal_cancel_button:"取消",modal_save_button:"儲存",alert_filter_name_required:"請輸入篩選器名稱。",settings_multi_language_search:"啟用「語言」的核取方塊模式",settings_multi_language_search_hint:"允許選擇多種語言以進行組合 (OR) 搜尋。",settings_multi_country_search:"啟用「國家/地區」的核取方塊模式",settings_multi_country_search_hint:"允許選擇多種國家/地區以進行組合 (OR) 搜尋。",tool_apply_selected_languages:"套用",tool_apply_selected_countries:"套用",filter_site:"網站",filter_filetype:"檔案類型",dynamic_time_past_n:"過去 {value} 分鐘",dynamic_time_past_h:"過去 {value} 小時",dynamic_time_past_d:"過去 {value} 天",dynamic_time_past_w:"過去 {value} 週",dynamic_time_past_m:"過去 {value} 個月",dynamic_time_past_y:"過去 {value} 年",op_site:"站內搜尋",op_inurl:"網頁網址包含",op_intitle:"網頁標題包含",op_allintitle:"網頁標題全部包含",op_intext:"網頁內文包含",op_allintext:"網頁內文全部包含",op_filetype:"檔案類型",op_ext:"副檔名",op_related:"找出相似網站",op_info:"網站資訊",op_cache:"頁面庫存檔",op_source:"新聞來源",op_location:"新聞地點",op_range:"數值範圍",op_exact:"精確比對",op_before:"早於",op_after:"晚於",filter_keywords:"關鍵字",filter_operators:"運算子",filter_include_mode:"包含",filter_exclude_mode:"排除",filter_exclude_item:"排除此項",settings_enable_language_exclude_filter:"啟用「語言」排除篩選",settings_enable_language_exclude_filter_hint:"在「語言」篩選器中顯示包含/排除切換(核取方塊模式)及 ✗ 排除按鈕(單選模式)。",settings_enable_country_exclude_filter:"啟用「國家/地區」排除篩選",settings_enable_country_exclude_filter_hint:"在「國家/地區」篩選器中顯示包含/排除切換(核取方塊模式)及 ✗ 排除按鈕(單選模式)。",settings_enable_site_exclude_filter:"啟用「站內搜尋」排除篩選",settings_enable_site_exclude_filter_hint:"在「站內搜尋」中顯示包含/排除切換(核取方塊模式)及 ✗ 排除按鈕(單選模式)。",error_boundary_title:"GSCS 發生錯誤。",error_boundary_message:"請嘗試重新整理頁面。如果問題持續,請從 Violentmonkey 選單重設設定。",error_boundary_retry:"重試",udm_web:"網頁",udm_forums:"論壇",udm_videos:"影片",udm_books:"圖書",udm_shorts:"短片",udm_images:"圖片",udm_shopping:"購物",udm_news:"新聞",udm_places:"地點",udm_ai:"AI 模式"}},f="en";function h(){let e="en";try{if("undefined"!=typeof navigator){let t=navigator.languages;if(t&&0!==t.length||(t=[navigator.language]),t&&t.length>0)for(const n of t)if(n){e=n;break}}}catch(e){p.warn("i18n","Error accessing navigator.language(s):",e)}if(m[e])return e;if(e.includes("-")){const t=e.split("-");if(t.length>0&&m[t[0]])return t[0];if(t.length>1&&m[`${t[0]}-${t[1]}`])return`${t[0]}-${t[1]}`}return e.startsWith("zh")&&!m[e]&&m["zh-TW"]?"zh-TW":"en"}function b(e){let n;const s=(e&&Object.keys(e).length>0&&"string"==typeof e.interfaceLanguage?e:t).interfaceLanguage;if(s&&"auto"!==s)if(m[s])n=s;else if(s.includes("-")){const e=s.split("-")[0];n=m[e]?e:h()}else n=h();else n=h();f!==n&&(f=n),s&&"auto"!==s&&f!==s&&!s.startsWith(f.split("-")[0])&&p.warn("i18n",`User selected language "${s}" was not fully available or matched. Using best match: "${f}".`)}function v(e,t){if(t||(t=f),m[t]&&void 0!==m[t][e])return{str:m[t][e],found:!0};if(t.includes("-")){const n=t.split("-")[0];if(m[n]&&void 0!==m[n][e])return{str:m[n][e],found:!0}}return"en"!==t&&m.en&&void 0!==m.en[e]?{str:m.en[e],found:!0}:{str:null,found:!1}}const y=function(e,t={}){let n=e;if(t&&"number"==typeof t.count){const s=`${e}${1===t.count?"_one":"_other"}`;v(s).found&&(n=s)}let{str:s,found:i}=v(n);if(!i&&n!==e){const t=v(e);t.found&&(s=t.str,i=!0)}if(!i&&(m.en&&void 0!==m.en[e]?(s=m.en[e],i=!0):p.error("i18n",`CRITICAL: Missing translation for key: "${e}" in BOTH locale: "${f}" AND default locale "en".`),!i))return`[ERR_NF: ${e}]`;if("string"!=typeof s)return p.error("i18n",`CRITICAL: Translation for key "${e}" is not a string:`,s),`[INVALID_TYPE_FOR_KEY: ${e}]`;for(const[e,n]of Object.entries(t))s=s.replace(new RegExp(`\\{${e}\\}`,"g"),n);return s},x=function(){return f},S=function(e){b(e)};var T,w,E,C,$,k,I,L,O,A,R,N,D={},z=[],M=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,F=Array.isArray;function U(e,t){for(var n in t)e[n]=t[n];return e}function P(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function G(e,t,n){var s,i,o,r={};for(o in t)"key"==o?s=t[o]:"ref"==o?i=t[o]:r[o]=t[o];if(arguments.length>2&&(r.children=arguments.length>3?T.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===r[o]&&(r[o]=e.defaultProps[o]);return B(e,r,s,i,null)}function B(e,t,n,s,i){var o={type:e,props:t,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==i?++E:i,__i:-1,__u:0};return null==i&&null!=w.vnode&&w.vnode(o),o}function K(e){return e.children}function H(e,t){this.props=e,this.context=t}function V(e,t){if(null==t)return e.__?V(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?V(e):null}function W(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return W(e)}}function j(e){(!e.__d&&(e.__d=!0)&&$.push(e)&&!q.__r++||k!=w.debounceRendering)&&((k=w.debounceRendering)||I)(q)}function q(){for(var e,t,n,s,i,o,r,a=1;$.length;)$.length>a&&$.sort(L),e=$.shift(),a=$.length,e.__d&&(n=void 0,s=void 0,i=(s=(t=e).__v).__e,o=[],r=[],t.__P&&((n=U({},s)).__v=s.__v+1,w.vnode&&w.vnode(n),ne(t.__P,n,s,t.__n,t.__P.namespaceURI,32&s.__u?[i]:null,o,null==i?V(s):i,!!(32&s.__u),r),n.__v=s.__v,n.__.__k[n.__i]=n,ie(o,n,r),s.__e=s.__=null,n.__e!=i&&W(n)));q.__r=0}function X(e,t,n,s,i,o,r,a,l,c,d){var _,g,u,p,m,f,h,b=s&&s.__k||z,v=t.length;for(l=function(e,t,n,s,i){var o,r,a,l,c,d=n.length,_=d,g=0;for(e.__k=new Array(i),o=0;o<i;o++)null!=(r=t[o])&&"boolean"!=typeof r&&"function"!=typeof r?("string"==typeof r||"number"==typeof r||"bigint"==typeof r||r.constructor==String?r=e.__k[o]=B(null,r,null,null,null):F(r)?r=e.__k[o]=B(K,{children:r},null,null,null):void 0===r.constructor&&r.__b>0?r=e.__k[o]=B(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):e.__k[o]=r,l=o+g,r.__=e,r.__b=e.__b+1,a=null,-1!=(c=r.__i=Q(r,n,l,_))&&(_--,(a=n[c])&&(a.__u|=2)),null==a||null==a.__v?(-1==c&&(i>d?g--:i<d&&g++),"function"!=typeof r.type&&(r.__u|=4)):c!=l&&(c==l-1?g--:c==l+1?g++:(c>l?g--:g++,r.__u|=4))):e.__k[o]=null;if(_)for(o=0;o<d;o++)null!=(a=n[o])&&!(2&a.__u)&&(a.__e==s&&(s=V(a)),ae(a,a));return s}(n,t,b,l,v),_=0;_<v;_++)null!=(u=n.__k[_])&&(g=-1==u.__i?D:b[u.__i]||D,u.__i=_,f=ne(e,u,g,i,o,r,a,l,c,d),p=u.__e,u.ref&&g.ref!=u.ref&&(g.ref&&re(g.ref,null,u),d.push(u.ref,u.__c||p,u)),null==m&&null!=p&&(m=p),(h=!!(4&u.__u))||g.__k===u.__k?l=Y(u,l,e,h):"function"==typeof u.type&&void 0!==f?l=f:p&&(l=p.nextSibling),u.__u&=-7);return n.__e=m,l}function Y(e,t,n,s){var i,o;if("function"==typeof e.type){for(i=e.__k,o=0;i&&o<i.length;o++)i[o]&&(i[o].__=e,t=Y(i[o],t,n,s));return t}e.__e!=t&&(s&&(t&&e.type&&!t.parentNode&&(t=V(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do{t=t&&t.nextSibling}while(null!=t&&8==t.nodeType);return t}function Z(e,t){return t=t||[],null==e||"boolean"==typeof e||(F(e)?e.some(function(e){Z(e,t)}):t.push(e)),t}function Q(e,t,n,s){var i,o,r,a=e.key,l=e.type,c=t[n],d=null!=c&&!(2&c.__u);if(null===c&&null==a||d&&a==c.key&&l==c.type)return n;if(s>(d?1:0))for(i=n-1,o=n+1;i>=0||o<t.length;)if(null!=(c=t[r=i>=0?i--:o++])&&!(2&c.__u)&&a==c.key&&l==c.type)return r;return-1}function J(e,t,n){"-"==t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||M.test(t)?n:n+"px"}function ee(e,t,n,s,i){var o,r;e:if("style"==t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof s&&(e.style.cssText=s=""),s)for(t in s)n&&t in n||J(e.style,t,"");if(n)for(t in n)s&&n[t]==s[t]||J(e.style,t,n[t])}else if("o"==t[0]&&"n"==t[1])o=t!=(t=t.replace(O,"$1")),r=t.toLowerCase(),t=r in e||"onFocusOut"==t||"onFocusIn"==t?r.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+o]=n,n?s?n.u=s.u:(n.u=A,e.addEventListener(t,o?N:R,o)):e.removeEventListener(t,o?N:R,o);else{if("http://www.w3.org/2000/svg"==i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function te(e){return function(t){if(this.l){var n=this.l[t.type+e];if(null==t.t)t.t=A++;else if(t.t<n.u)return;return n(w.event?w.event(t):t)}}}function ne(e,t,n,s,i,o,r,a,l,c){var d,_,g,u,p,m,f,h,b,v,y,x,S,E,C,$,k,I=t.type;if(void 0!==t.constructor)return null;128&n.__u&&(l=!!(32&n.__u),o=[a=t.__e=n.__e]),(d=w.__b)&&d(t);e:if("function"==typeof I)try{if(h=t.props,b="prototype"in I&&I.prototype.render,v=(d=I.contextType)&&s[d.__c],y=d?v?v.props.value:d.__:s,n.__c?f=(_=t.__c=n.__c).__=_.__E:(b?t.__c=_=new I(h,y):(t.__c=_=new H(h,y),_.constructor=I,_.render=le),v&&v.sub(_),_.state||(_.state={}),_.__n=s,g=_.__d=!0,_.__h=[],_._sb=[]),b&&null==_.__s&&(_.__s=_.state),b&&null!=I.getDerivedStateFromProps&&(_.__s==_.state&&(_.__s=U({},_.__s)),U(_.__s,I.getDerivedStateFromProps(h,_.__s))),u=_.props,p=_.state,_.__v=t,g)b&&null==I.getDerivedStateFromProps&&null!=_.componentWillMount&&_.componentWillMount(),b&&null!=_.componentDidMount&&_.__h.push(_.componentDidMount);else{if(b&&null==I.getDerivedStateFromProps&&h!==u&&null!=_.componentWillReceiveProps&&_.componentWillReceiveProps(h,y),t.__v==n.__v||!_.__e&&null!=_.shouldComponentUpdate&&!1===_.shouldComponentUpdate(h,_.__s,y)){for(t.__v!=n.__v&&(_.props=h,_.state=_.__s,_.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),x=0;x<_._sb.length;x++)_.__h.push(_._sb[x]);_._sb=[],_.__h.length&&r.push(_);break e}null!=_.componentWillUpdate&&_.componentWillUpdate(h,_.__s,y),b&&null!=_.componentDidUpdate&&_.__h.push(function(){_.componentDidUpdate(u,p,m)})}if(_.context=y,_.props=h,_.__P=e,_.__e=!1,S=w.__r,E=0,b){for(_.state=_.__s,_.__d=!1,S&&S(t),d=_.render(_.props,_.state,_.context),C=0;C<_._sb.length;C++)_.__h.push(_._sb[C]);_._sb=[]}else do{_.__d=!1,S&&S(t),d=_.render(_.props,_.state,_.context),_.state=_.__s}while(_.__d&&++E<25);_.state=_.__s,null!=_.getChildContext&&(s=U(U({},s),_.getChildContext())),b&&!g&&null!=_.getSnapshotBeforeUpdate&&(m=_.getSnapshotBeforeUpdate(u,p)),$=d,null!=d&&d.type===K&&null==d.key&&($=oe(d.props.children)),a=X(e,F($)?$:[$],t,n,s,i,o,r,a,l,c),_.base=t.__e,t.__u&=-161,_.__h.length&&r.push(_),f&&(_.__E=_.__=null)}catch(e){if(t.__v=null,l||null!=o)if(e.then){for(t.__u|=l?160:128;a&&8==a.nodeType&&a.nextSibling;)a=a.nextSibling;o[o.indexOf(a)]=null,t.__e=a}else{for(k=o.length;k--;)P(o[k]);se(t)}else t.__e=n.__e,t.__k=n.__k,e.then||se(t);w.__e(e,t,n)}else null==o&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):a=t.__e=function(e,t,n,s,i,o,r,a,l){var c,d,_,g,u,p,m,f=n.props||D,h=t.props,b=t.type;if("svg"==b?i="http://www.w3.org/2000/svg":"math"==b?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),null!=o)for(c=0;c<o.length;c++)if((u=o[c])&&"setAttribute"in u==!!b&&(b?u.localName==b:3==u.nodeType)){e=u,o[c]=null;break}if(null==e){if(null==b)return document.createTextNode(h);e=document.createElementNS(i,b,h.is&&h),a&&(w.__m&&w.__m(t,o),a=!1),o=null}if(null==b)f===h||a&&e.data==h||(e.data=h);else{if(o=o&&T.call(e.childNodes),!a&&null!=o)for(f={},c=0;c<e.attributes.length;c++)f[(u=e.attributes[c]).name]=u.value;for(c in f)if(u=f[c],"children"==c);else if("dangerouslySetInnerHTML"==c)_=u;else if(!(c in h)){if("value"==c&&"defaultValue"in h||"checked"==c&&"defaultChecked"in h)continue;ee(e,c,null,u,i)}for(c in h)u=h[c],"children"==c?g=u:"dangerouslySetInnerHTML"==c?d=u:"value"==c?p=u:"checked"==c?m=u:a&&"function"!=typeof u||f[c]===u||ee(e,c,u,f[c],i);if(d)a||_&&(d.__html==_.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[];else if(_&&(e.innerHTML=""),X("template"==t.type?e.content:e,F(g)?g:[g],t,n,s,"foreignObject"==b?"http://www.w3.org/1999/xhtml":i,o,r,o?o[0]:n.__k&&V(n,0),a,l),null!=o)for(c=o.length;c--;)P(o[c]);a||(c="value","progress"==b&&null==p?e.removeAttribute("value"):null!=p&&(p!==e[c]||"progress"==b&&!p||"option"==b&&p!=f[c])&&ee(e,c,p,f[c],i),c="checked",null!=m&&m!=e[c]&&ee(e,c,m,f[c],i))}return e}(n.__e,t,n,s,i,o,r,l,c);return(d=w.diffed)&&d(t),128&t.__u?void 0:a}function se(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(se)}function ie(e,t,n){for(var s=0;s<n.length;s++)re(n[s],n[++s],n[++s]);w.__c&&w.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){w.__e(e,t.__v)}})}function oe(e){return"object"!=typeof e||null==e||e.__b&&e.__b>0?e:F(e)?e.map(oe):U({},e)}function re(e,t,n){try{if("function"==typeof e){var s="function"==typeof e.__u;s&&e.__u(),s&&null==t||(e.__u=e(t))}else e.current=t}catch(e){w.__e(e,n)}}function ae(e,t,n){var s,i;if(w.unmount&&w.unmount(e),(s=e.ref)&&(s.current&&s.current!=e.__e||re(s,null,t)),null!=(s=e.__c)){if(s.componentWillUnmount)try{s.componentWillUnmount()}catch(e){w.__e(e,t)}s.base=s.__P=null}if(s=e.__k)for(i=0;i<s.length;i++)s[i]&&ae(s[i],t,n||"function"!=typeof e.type);n||P(e.__e),e.__c=e.__=e.__e=void 0}function le(e,t,n){return this.constructor(e,n)}function ce(e,t,n){var s,i,o;t==document&&(t=document.documentElement),w.__&&w.__(e,t),s=t.__k,i=[],o=[],ne(t,e=t.__k=G(K,null,[e]),s||D,D,t.namespaceURI,s?null:t.firstChild?T.call(t.childNodes):null,i,s?s.__e:t.firstChild,!1,o),ie(i,e,o)}T=z.slice,w={__e:function(e,t,n,s){for(var i,o,r;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,s||{}),r=i.__d),r)return i.__E=i}catch(t){e=t}throw e}},E=0,C=function(e){return null!=e&&void 0===e.constructor},H.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=U({},this.state),"function"==typeof e&&(e=e(U({},n),this.props)),e&&U(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),j(this))},H.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),j(this))},H.prototype.render=K,$=[],I="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,L=function(e,t){return e.__v.__b-t.__v.__b},q.__r=0,O=/(PointerCapture)$|Capture$/i,A=0,R=te(!1),N=te(!0);var de,_e,ge,ue,pe=0,me=[],fe=w,he=fe.__b,be=fe.__r,ve=fe.diffed,ye=fe.__c,xe=fe.unmount,Se=fe.__;function Te(e,t){fe.__h&&fe.__h(_e,e,pe||t),pe=0;var n=_e.__H||(_e.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function we(e){return pe=1,function(e,t){var n=Te(de++,2);if(n.t=e,!n.__c&&(n.__=[De(void 0,t),function(e){var t=n.__N?n.__N[0]:n.__[0],s=n.t(t,e);t!==s&&(n.__N=[s,n.__[1]],n.__c.setState({}))}],n.__c=_e,!_e.__f)){var s=function(e,t,s){if(!n.__c.__H)return!0;var o=n.__c.__H.__.filter(function(e){return!!e.__c});if(o.every(function(e){return!e.__N}))return!i||i.call(this,e,t,s);var r=n.__c.props!==e;return o.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(r=!0)}}),i&&i.call(this,e,t,s)||r};_e.__f=!0;var i=_e.shouldComponentUpdate,o=_e.componentWillUpdate;_e.componentWillUpdate=function(e,t,n){if(this.__e){var r=i;i=void 0,s(e,t,n),i=r}o&&o.call(this,e,t,n)},_e.shouldComponentUpdate=s}return n.__N||n.__}(De,e)}function Ee(e,t){var n=Te(de++,3);!fe.__s&&Ne(n.__H,t)&&(n.__=e,n.u=t,_e.__H.__h.push(n))}function Ce(e){return pe=5,$e(function(){return{current:e}},[])}function $e(e,t){var n=Te(de++,7);return Ne(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function ke(e,t){return pe=8,$e(function(){return e},t)}function Ie(){for(var e;e=me.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Ae),e.__H.__h.forEach(Re),e.__H.__h=[]}catch(t){e.__H.__h=[],fe.__e(t,e.__v)}}fe.__b=function(e){_e=null,he&&he(e)},fe.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Se&&Se(e,t)},fe.__r=function(e){be&&be(e),de=0;var t=(_e=e.__c).__H;t&&(ge===_e?(t.__h=[],_e.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(Ae),t.__h.forEach(Re),t.__h=[],de=0)),ge=_e},fe.diffed=function(e){ve&&ve(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==me.push(t)&&ue===fe.requestAnimationFrame||((ue=fe.requestAnimationFrame)||Oe)(Ie)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),ge=_e=null},fe.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Ae),e.__h=e.__h.filter(function(e){return!e.__||Re(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],fe.__e(n,e.__v)}}),ye&&ye(e,t)},fe.unmount=function(e){xe&&xe(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{Ae(e)}catch(e){t=e}}),n.__H=void 0,t&&fe.__e(t,n.__v))};var Le="function"==typeof requestAnimationFrame;function Oe(e){var t,n=function(){clearTimeout(s),Le&&cancelAnimationFrame(t),setTimeout(e)},s=setTimeout(n,35);Le&&(t=requestAnimationFrame(n))}function Ae(e){var t=_e,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),_e=t}function Re(e){var t=_e;e.__c=e.__(),_e=t}function Ne(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function De(e,t){return"function"==typeof t?t(e):t}const ze=Symbol.for("preact-signals");function Me(){if(Be>1)return void Be--;let e,t=!1;for(;void 0!==Pe;){let n=Pe;for(Pe=void 0,Ke++;void 0!==n;){const s=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&qe(n))try{n.c()}catch(n){t||(e=n,t=!0)}n=s}}if(Ke=0,Be--,t)throw e}function Fe(e){if(Be>0)return e();Be++;try{return e()}finally{Me()}}let Ue,Pe;function Ge(e){const t=Ue;Ue=void 0;try{return e()}finally{Ue=t}}let Be=0,Ke=0,He=0;function Ve(e){if(void 0===Ue)return;let t=e.n;return void 0===t||t.t!==Ue?(t={i:0,S:e,p:Ue.s,n:void 0,t:Ue,e:void 0,x:void 0,r:t},void 0!==Ue.s&&(Ue.s.n=t),Ue.s=t,e.n=t,32&Ue.f&&e.S(t),t):-1===t.i?(t.i=0,void 0!==t.n&&(t.n.p=t.p,void 0!==t.p&&(t.p.n=t.n),t.p=Ue.s,t.n=void 0,Ue.s.n=t,Ue.s=t),t):void 0}function We(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.W=null==t?void 0:t.watched,this.Z=null==t?void 0:t.unwatched,this.name=null==t?void 0:t.name}function je(e,t){return new We(e,t)}function qe(e){for(let t=e.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function Xe(e){for(let t=e.s;void 0!==t;t=t.n){const n=t.S.n;if(void 0!==n&&(t.r=n),t.S.n=t,t.i=-1,void 0===t.n){e.s=t;break}}}function Ye(e){let t,n=e.s;for(;void 0!==n;){const e=n.p;-1===n.i?(n.S.U(n),void 0!==e&&(e.n=n.n),void 0!==n.n&&(n.n.p=e)):t=n,n.S.n=n.r,void 0!==n.r&&(n.r=void 0),n=e}e.s=t}function Ze(e,t){We.call(this,void 0),this.x=e,this.s=void 0,this.g=He-1,this.f=4,this.W=null==t?void 0:t.watched,this.Z=null==t?void 0:t.unwatched,this.name=null==t?void 0:t.name}function Qe(e,t){return new Ze(e,t)}function Je(e){const t=e.u;if(e.u=void 0,"function"==typeof t){Be++;const n=Ue;Ue=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,et(e),t}finally{Ue=n,Me()}}}function et(e){for(let t=e.s;void 0!==t;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,Je(e)}function tt(e){if(Ue!==this)throw new Error("Out-of-order effect");Ye(this),Ue=e,this.f&=-2,8&this.f&&et(this),Me()}function nt(e,t){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32,this.name=null==t?void 0:t.name}function st(e,t){const n=new nt(e,t);try{n.c()}catch(e){throw n.d(),e}const s=n.d.bind(n);return s[Symbol.dispose]=s,s}We.prototype.brand=ze,We.prototype.h=function(){return!0},We.prototype.S=function(e){const t=this.t;t!==e&&void 0===e.e&&(e.x=t,this.t=e,void 0!==t?t.e=e:Ge(()=>{var e;null==(e=this.W)||e.call(this)}))},We.prototype.U=function(e){if(void 0!==this.t){const t=e.e,n=e.x;void 0!==t&&(t.x=n,e.e=void 0),void 0!==n&&(n.e=t,e.x=void 0),e===this.t&&(this.t=n,void 0===n&&Ge(()=>{var e;null==(e=this.Z)||e.call(this)}))}},We.prototype.subscribe=function(e){return st(()=>{const t=this.value,n=Ue;Ue=void 0;try{e(t)}finally{Ue=n}},{name:"sub"})},We.prototype.valueOf=function(){return this.value},We.prototype.toString=function(){return this.value+""},We.prototype.toJSON=function(){return this.value},We.prototype.peek=function(){const e=Ue;Ue=void 0;try{return this.value}finally{Ue=e}},Object.defineProperty(We.prototype,"value",{get(){const e=Ve(this);return void 0!==e&&(e.i=this.i),this.v},set(e){if(e!==this.v){if(Ke>100)throw new Error("Cycle detected");this.v=e,this.i++,He++,Be++;try{for(let e=this.t;void 0!==e;e=e.x)e.t.N()}finally{Me()}}}}),Ze.prototype=new We,Ze.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===He)return!0;if(this.g=He,this.f|=1,this.i>0&&!qe(this))return this.f&=-2,!0;const e=Ue;try{Xe(this),Ue=this;const e=this.x();(16&this.f||this.v!==e||0===this.i)&&(this.v=e,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return Ue=e,Ye(this),this.f&=-2,!0},Ze.prototype.S=function(e){if(void 0===this.t){this.f|=36;for(let e=this.s;void 0!==e;e=e.n)e.S.S(e)}We.prototype.S.call(this,e)},Ze.prototype.U=function(e){if(void 0!==this.t&&(We.prototype.U.call(this,e),void 0===this.t)){this.f&=-33;for(let e=this.s;void 0!==e;e=e.n)e.S.U(e)}},Ze.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let e=this.t;void 0!==e;e=e.x)e.t.N()}},Object.defineProperty(Ze.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const e=Ve(this);if(this.h(),void 0!==e&&(e.i=this.i),16&this.f)throw this.v;return this.v}}),nt.prototype.c=function(){const e=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const e=this.x();"function"==typeof e&&(this.u=e)}finally{e()}},nt.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,Je(this),Xe(this),Be++;const e=Ue;return Ue=this,tt.bind(this,e)},nt.prototype.N=function(){2&this.f||(this.f|=2,this.o=Pe,Pe=this)},nt.prototype.d=function(){this.f|=8,1&this.f||et(this)},nt.prototype.dispose=function(){this.d()};const it="undefined"!=typeof window&&!!window.__PREACT_SIGNALS_DEVTOOLS__;let ot,rt,at=[];function lt(e,t){w[e]=t.bind(null,w[e]||(()=>{}))}function ct(e){if(rt){const e=rt;rt=void 0,e()}rt=e&&e.S()}function dt({data:e}){const t=function(e){return $e(()=>je(e,void 0),[])}(e);t.value=e;const[n,s]=$e(()=>{let e=this,n=this.__v;for(;n=n.__;)if(n.__c){n.__c.__$f|=4;break}const s=Qe(()=>{let e=t.value.value;return 0===e?0:!0===e?"":e||""}),i=Qe(()=>!Array.isArray(s.value)&&!C(s.value)),o=st(function(){if(this.N=pt,i.value){const t=s.value;e.__v&&e.__v.__e&&3===e.__v.__e.nodeType&&(e.__v.__e.data=t)}}),r=this.__$u.d;return this.__$u.d=function(){o(),r.call(this)},[i,s]},[]);return n.value?s.peek():s.value}function _t(e,t,n,s){const i=t in e&&void 0===e.ownerSVGElement,o=je(n);return{o:(e,t)=>{o.value=e,s=t},d:st(function(){this.N=pt;const n=o.value.value;s[t]!==n&&(s[t]=n,i?e[t]=n:null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,n))})}}st(function(){ot=this.N})(),dt.displayName="ReactiveTextNode",Object.defineProperties(We.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:dt},props:{configurable:!0,get(){return{data:this}}},__b:{configurable:!0,value:1}}),lt("__b",(e,t)=>{if("string"==typeof t.type){let e,n=t.props;for(let s in n){if("children"===s)continue;let i=n[s];i instanceof We&&(e||(t.__np=e={}),e[s]=i,n[s]=i.peek())}}e(t)}),lt("__r",(e,t)=>{if(e(t),t.type!==K){ct();let e,n=t.__c;n&&(n.__$f&=-2,e=n.__$u,void 0===e&&(n.__$u=e=function(e,t){let n;return st(function(){n=this},{name:t}),n.c=e,n}(()=>{var t;it&&(null==(t=e.y)||t.call(e)),n.__$f|=1,n.setState({})},"function"==typeof t.type?t.type.displayName||t.type.name:""))),ct(e)}}),lt("__e",(e,t,n,s)=>{ct(),e(t,n,s)}),lt("diffed",(e,t)=>{let n;if(ct(),"string"==typeof t.type&&(n=t.__e)){let e=t.__np,s=t.props;if(e){let t=n.U;if(t)for(let n in t){let s=t[n];void 0===s||n in e||(s.d(),t[n]=void 0)}else t={},n.U=t;for(let i in e){let o=t[i],r=e[i];void 0===o?(o=_t(n,i,r,s),t[i]=o):o.o(r,s)}}}e(t)}),lt("unmount",(e,t)=>{if("string"==typeof t.type){let e=t.__e;if(e){const t=e.U;if(t){e.U=void 0;for(let e in t){let n=t[e];n&&n.d()}}}}else{let e=t.__c;if(e){const t=e.__$u;t&&(e.__$u=void 0,t.d())}}e(t)}),lt("__h",(e,t,n,s)=>{(s<3||9===s)&&(t.__$f|=2),e(t,n,s)}),H.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;const n=this.__$u,s=n&&void 0!==n.s;for(let e in t)return!0;if(this.__f||"boolean"==typeof this.u&&!0===this.u){const e=2&this.__$f;if(!(s||e||4&this.__$f))return!0;if(1&this.__$f)return!0}else{if(!(s||4&this.__$f))return!0;if(3&this.__$f)return!0}for(let t in e)if("__source"!==t&&e[t]!==this.props[t])return!0;for(let t in this.props)if(!(t in e))return!0;return!1};const gt=e=>{queueMicrotask(()=>{queueMicrotask(e)})};function ut(){Fe(()=>{let e;for(;e=at.shift();)ot.call(e)})}function pt(){1===at.push(this)&&(w.requestAnimationFrame||gt)(ut)}const mt=je(structuredClone(t)),ft=e=>Qe(()=>mt.value[e]);ft("theme");const ht=ft("interfaceLanguage"),bt=ft("sectionDisplayMode"),vt=ft("accordionMode");ft("sectionStates"),ft("sidebarSectionOrder"),ft("showCountryFlags"),ft("favoriteSites");const yt=je(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches);if("undefined"!=typeof window&&window.matchMedia){const e=e=>{yt.value=e.matches};window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e)}const xt=Qe(()=>{const e=mt.value,t=yt.value;return"system"===e.theme?t?"dark":"light":e.theme.includes("dark")?"dark":"light"}),St=e=>{mt.value={...mt.value,...e}},Tt=e=>{mt.value=structuredClone(e)},wt=function(e,t){try{if("undefined"!=typeof GM_getValue)return GM_getValue(e,t);if("undefined"!=typeof localStorage){const n=localStorage.getItem(e);return null!==n?n:t}return t}catch(n){return p.warn("StorageAdapter",`Error accessing storage for key ${e}:`,n),t}},Et=function(e,t){try{"undefined"!=typeof GM_setValue?GM_setValue(e,t):"undefined"!=typeof localStorage&&localStorage.setItem(e,t)}catch(t){p.warn("StorageAdapter",`Error setting storage for key ${e}:`,t)}};function Ct(e){return{[n.SITES_LIST]:{itemsArrayKey:"favoriteSites",customItemsMasterKey:null,valueKey:"url",nameKey:"section_site_search",isSortableMixed:!1,predefinedSourceKey:null},[n.LANG_LIST]:{itemsArrayKey:"displayLanguages",customItemsMasterKey:"customLanguages",valueKey:"value",nameKey:"section_language",isSortableMixed:!0,predefinedSourceKey:"language"},[n.COUNTRIES_LIST]:{itemsArrayKey:"displayCountries",customItemsMasterKey:"customCountries",valueKey:"value",nameKey:"section_country",isSortableMixed:!0,predefinedSourceKey:"country"},[n.TIME_LIST]:{itemsArrayKey:"customTimeRanges",customItemsMasterKey:null,valueKey:"value",nameKey:"section_time",isSortableMixed:!1,predefinedSourceKey:"time"},[n.FT_LIST]:{itemsArrayKey:"displayFiletypes",customItemsMasterKey:"customFiletypes",valueKey:"value",nameKey:"section_filetype",isSortableMixed:!0,predefinedSourceKey:"filetype"},[n.CUSTOM_FILTERS_LIST]:{itemsArrayKey:"customFilters",customItemsMasterKey:null,valueKey:"criteria",nameKey:"section_custom_filters",isSortableMixed:!1,predefinedSourceKey:null}}[e]||null}const $t={tokenize:function(e){if(!e||"string"!=typeof e)return[];const t=[],n=e.trim();if(!n)return[];let s=0;const i=n.length,o=(e=0)=>s+e<i?n[s+e]:null,r=(e=1)=>(s+=e,s<=i),a=e=>/\s/.test(e),l=new Set(["site","inurl","intitle","allintitle","intext","allintext","filetype","ext","related","info","cache","source","location","before","after"]);for(;s<i;){for(;s<i&&a(o());)r();if(s>=i)break;const e=s;let c=!1;if("-"===o()&&o(1)&&!a(o(1))&&(c=!0,r()),'"'===o()){r();let a="";for(;s<i;){if('"'===o()){r();break}"\\"===o()&&'"'===o(1)?(a+='"',r(2)):(a+=o(),r())}const l=n.substring(e,s);t.push({type:"exact",subtype:null,value:`"${a}"`,isNegative:c,raw:l});continue}let d="",_="keyword",g=null,u=!1;for(;s<i&&!a(o());){const e=o();if("."!==e||"."!==o(1)){if(":"===e&&!u){const e=d.toLowerCase();if(l.has(e)){_="operator",g=e,d="",u=!0,r();continue}}if('"'!==e)d+=e,r();else for(d+=e,r();s<i;){const e=o();if(d+=e,r(),'"'===e)break}}else d+="..",r(2),_="range"}const p=n.substring(e,s);t.push({type:_,subtype:g,value:d,isNegative:c,raw:p})}return this._postProcessTokens(t)},_postProcessTokens:function(e){if(!e||0===e.length)return[];const t=[];let n=0;for(;n<e.length;){const s=e[n];if("OR"===s.value.toUpperCase()&&"keyword"===s.type&&!s.isNegative&&t.length>0&&n+1<e.length){const s=t.at(-1),i=e[n+1];if("operator"===s.type&&s.type===i.type&&s.subtype===i.subtype&&s.isNegative===i.isNegative){s.value=`${s.value} OR ${i.value}`,s.raw=`${s.raw} OR ${i.raw}`,n+=2;continue}}t.push(s),n++}return t}},kt=new Map,It=new Map;let Lt=!1,Ot=null,At=!1;function Rt(){if(!At||!Ot)return;const e=Object.keys(Ot),t=e.length-500;if(t>0){const n=e.sort((e,t)=>Ot[e].timestamp-Ot[t].timestamp).slice(0,t);for(const e of n)delete Ot[e],kt.delete(e)}if("undefined"!=typeof GM_setValue)try{GM_setValue(d,JSON.stringify(Ot))}catch(e){p.warn("Helpers","Failed to flush favicon cache:",e)}At=!1}let Nt=null;function Dt(){At=!0,Nt&&clearTimeout(Nt),Nt=setTimeout(Rt,500)}const zt={debounce:function(e,t){let n;return function(...s){const i=this;clearTimeout(n),n=setTimeout(()=>{n=null,e.apply(i,s)},t)}},mergeDeep:function(e,t){if(!t)return e;e=e||{};for(const[n,s]of Object.entries(t)){const t=e[n];s&&"object"==typeof s&&!Array.isArray(s)?e[n]=zt.mergeDeep(t,s):void 0!==s&&(e[n]=s)}return e},clamp:function(e,t,n){return Math.min(Math.max(e,t),n)},parseIconAndText:function(e){const t=e.match(/^(\P{L}\P{N}\s*)+/u);let n="",s=e;return t&&""!==t[0].trim()&&(n=t[0].trim(),s=e.substring(n.length).trim()),{icon:n,text:s}},getCurrentURL:function(){try{const e=window.location.href;return URL.canParse(e)?new URL(e):(p.error("Helpers","Invalid URL:",e),null)}catch(e){return p.error("Helpers","Error accessing URL:",e),null}},isFaviconFallback:function(e){if(function(){if(!Lt)if(Lt=!0,"undefined"!=typeof GM_getValue&&"undefined"!=typeof GM_setValue)try{const e=GM_getValue(d,null);if(e){const t=JSON.parse(e),n=Date.now();let s=!1;for(const[e,i]of Object.entries(t))n-i.timestamp<6048e5?kt.set(e,i.isFallback):(delete t[e],s=!0);Ot=t,s&&Dt()}else Ot={}}catch(e){p.warn("Helpers","Failed to load favicon cache:",e),Ot={}}else Ot={}}(),kt.has(e))return Promise.resolve(kt.get(e)??!1);if(It.has(e))return It.get(e);const t=new Promise(t=>{if("undefined"==typeof GM_xmlhttpRequest)return void t(!1);const n=n=>{kt.set(e,n),function(e,t){Ot&&(Ot[e]={isFallback:t,timestamp:Date.now()},Dt())}(e,n),t(n)};GM_xmlhttpRequest({method:"HEAD",url:`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=64`,timeout:3e3,onload:e=>{n(404===e.status)},onerror:()=>n(!0),ontimeout:()=>n(!0)})});return It.set(e,t),t.finally(()=>It.delete(e)),t},clearFaviconCache:function(){if(kt.clear(),It.clear(),Ot={},At=!1,Nt&&(clearTimeout(Nt),Nt=null),"undefined"!=typeof GM_deleteValue)try{GM_deleteValue(d)}catch(e){p.warn("Helpers","Failed to clear favicon cache:",e)}},extractActiveOperators:function(e,t){const n=$t.tokenize(e);return{positive:n.filter(e=>"operator"===e.type&&e.subtype===t&&!e.isNegative).flatMap(e=>e.value.split(" OR ").map(e=>e.trim().toLowerCase())),negative:n.filter(e=>"operator"===e.type&&e.subtype===t&&e.isNegative).flatMap(e=>e.value.split(" OR ").map(e=>e.trim().toLowerCase()))}},parseExcludeValue:function(e){return e?e.startsWith("-(")&&e.endsWith(")")?{isExclude:!0,values:e.slice(2,-1).split("|").filter(Boolean)}:e.startsWith("-")&&e.length>1?{isExclude:!0,values:[e.slice(1)]}:{isExclude:!1,values:e.split("|").filter(Boolean)}:{isExclude:!1,values:[]}},buildExcludeValue:function(e){return 0===e.length?"":1===e.length?`-${e[0]}`:`-(${e.join("|")})`},splitOrValues:function(e){return e&&"string"==typeof e?e.split(/\s+OR\s+/gi).map(e=>e.trim()).filter(Boolean):[]},parseCombinedValue:function(e){return"string"==typeof e&&e.trim()?e.split(/\s+OR\s+|\s*[|,]\s*|\s+/i).map(e=>e.trim()).filter(e=>e.length>0):[]},_cleanQueryByOperator:function(e,t){return e&&t?$t.tokenize(e).filter(e=>!("operator"===e.type&&e.subtype===t.toLowerCase())).map(e=>e.raw).join(" ").trim():""},escapeHTML:function(e){return e?e.replace(/[&<>"']/g,function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case"'":return"'";default:return e}}):""},safeInnerHTML:function(e){return e},safeStringify:function(e,t){let n=[];const s=JSON.stringify(e,(e,t)=>{if("object"==typeof t&&null!==t){if(n.includes(t))return"[Circular]";n.push(t)}return t},t);return n.length=0,s}};const Mt=je({text:"",rawText:"",isVisible:!1,isEnabled:!0});function Ft(e){Mt.value={...Mt.value,...e}}const Ut={RESULT_STATS:"#result-stats",SLIM_APPBAR:"#slim_appbar",RESULTS_CONTAINER:"#rso",CENTER_COL:"#center_col",SEARCH:"#search",TOOLBAR:"#hdtb",TOP_NAV:"#top_nav",SEARCH_CONTAINER:".A8SBwf",SEARCH_INPUT:'[name="q"]',STICKY_SEARCH_WRAPPER:"span.LoygGf",GOOGLE_LOGOS:["#logo",".logo",".logocont","img[data-doodle]",'[data-doodle="1"]',".doodle"]};function Pt(e,t=document){const n=Ut[e];return n?Array.isArray(n)?t.querySelector(n.join(", ")):t.querySelector(n):(p.warn("GoogleSelectors",`Unknown selector key: "${e}"`),null)}function Gt(e,t=document){const n=Ut[e];if(!n)return[];const s=Array.isArray(n)?n.join(", "):n;return Array.from(t.querySelectorAll(s))}function Bt(e,t=document){for(const n of e){const e=Pt(n,t);if(e)return e}return null}const Kt=function(){let e=null,t=!1,n=!1,s=!0,i="slim_appbar",o=null;function r(){requestAnimationFrame(()=>{const e=document.getElementById("gscs-slim-stats"),t=Pt("SLIM_APPBAR");if(!e||!t)return;const n=Bt(["RESULTS_CONTAINER","CENTER_COL","SEARCH"]);if(n){const s=n.getBoundingClientRect().left-t.getBoundingClientRect().left;e.style.marginLeft=Math.max(0,s)+"px"}})}function a(){const e=document.getElementById("gscs-slim-stats");e&&e.remove(),o&&(window.removeEventListener("resize",o),o=null)}function l(){if(t)return!1;if(!s)return c(),!0;const e=Pt("RESULT_STATS");if(!e)return c(),!1;const l=(e.textContent||"").trim();if("slim_appbar"===i)return l?(t=!0,function(e){const t=Pt("SLIM_APPBAR");if(!t)return;let n=document.getElementById("gscs-slim-stats");n||(n=document.createElement("span"),n.id="gscs-slim-stats",t.appendChild(n),o||(o=()=>r(),window.addEventListener("resize",o))),n.textContent=e,r()}(l),Ft({rawText:l,isVisible:!1,isEnabled:s}),n=!0,t=!1,!0):(c(),!1);{a();const e=function(e){if(!e)return"";let t=e.match(/[((]([\d,.]+)\s*\S+[))]/i);if(!t){const n=/[((]([\d,.]+)\s*s[))]/i,s=e.match(n);if(!s)return"";t=s}const n=t[1].replace(",",".");let s=e.replace(t[0],""),i=s.match(/[\d.,\s]+/g)||[];if(0===i.length)return"";let o=0;return i.forEach(e=>{const t=e.trim().replace(/[.,\s]/g,"");if(t){const e=parseInt(t,10);!isNaN(e)&&e>o&&(o=e)}}),0!==o||/\s0\s/.test(s)?`${new Intl.NumberFormat("en-US").format(o)} (${n}s)`:""}(l);return e?(t=!0,Ft({text:e,rawText:l,isVisible:!0,isEnabled:s}),n=!0,t=!1,!0):(c(),!1)}}function c(){a(),t=!0,Ft({isVisible:!1}),t=!1}let d=null;function _(){!n&&s&&l()}async function g(){n||await new Promise(t=>{if(Pt("RESULT_STATS"))return t(!0);const n=Bt(["TOOLBAR","TOP_NAV"])||document.body;if(!n)return t(!1);e&&e.disconnect(),d&&clearTimeout(d),e=new MutationObserver((e,n)=>{Pt("RESULT_STATS")&&(n.disconnect(),d&&clearTimeout(d),t(!0))}),e.observe(n,{childList:!0,subtree:!0}),d=setTimeout(()=>{e.disconnect(),t(!1)},5e3)})&&s&&l()}return"undefined"!=typeof window&&window.addEventListener("load",_),{init:function(){n=!1,g()},createContainer:function(){},update:l,setEnabled:function(e){s=e,Ft({isEnabled:e}),e?n?l():g():c()},setPosition:function(e){i=e||"slim_appbar",s&&("sidebar"===i?a():Ft({isVisible:!1}),n?l():g())},destroy:function(){a(),e&&(e.disconnect(),e=null),d&&(clearTimeout(d),d=null),"undefined"!=typeof window&&window.removeEventListener("load",_)}}}(),Ht=je([]);let Vt=0;const Wt=new Map;function jt(e){Wt.has(e)&&(clearTimeout(Wt.get(e)),Wt.delete(e)),Ht.value=Ht.value.filter(t=>t.id!==e)}const qt=function(e,t={},n="info",s=3e3){return function(e,t={},n="info",s=3e3){const i=Ht.value.find(t=>t.messageKey===e&&t.type===n);if(i)return Wt.has(i.id)&&(clearTimeout(Wt.get(i.id)),Wt.delete(i.id)),JSON.stringify(i.messageArgs)!==JSON.stringify(t)&&(Ht.value=Ht.value.map(e=>e.id===i.id?{...e,messageArgs:t}:e)),s>0&&Wt.set(i.id,setTimeout(()=>{jt(i.id)},s)),i.id;const o=`toast_${Date.now()}_${Vt++}`;return Ht.value=[...Ht.value,{id:o,messageKey:e,messageArgs:t,type:n,duration:s}],s>0&&Wt.set(o,setTimeout(()=>{jt(o)},s)),o}(e,t,n,s)},Xt=je({isSettingsModalOpen:!1,activeManageModalType:null,isSaveFilterModalOpen:!1});function Yt(e){Xt.value={...Xt.value,isSettingsModalOpen:e}}function Zt(e){Xt.value={...Xt.value,activeManageModalType:e}}function Qt(e){Xt.value={...Xt.value,isSaveFilterModalOpen:e}}var Jt=Object.freeze({__proto__:null,setActiveManageModal:Zt,setSaveFilterModalOpen:Qt,setSettingsModalOpen:Yt,uiStateSignal:Xt}),en="/*\n |--------------------------------------------------------------------------\n | Settings Window & Overlay\n |--------------------------------------------------------------------------\n */\n\n#gscs-settings-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n z-index: 10000;\n pointer-events: auto;\n}\n\n#gscs-settings-window {\n background-color: var(--settings-bg-color);\n border: 1px solid var(--settings-border-color);\n padding: 14px 16px;\n border-radius: 8px;\n box-shadow: var(--settings-shadow);\n width: 600px;\n max-width: 95%;\n max-height: 85vh;\n overflow-y: hidden;\n display: flex;\n flex-direction: column;\n font-size: 14px;\n color: var(--settings-text-color);\n position: relative;\n z-index: 10001;\n pointer-events: auto;\n}\n\n#gscs-settings-window .gscs-settings__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--settings-border-color);\n flex-shrink: 0;\n }\n\n:is(#gscs-settings-window .gscs-settings__header) h3 {\n margin: 0;\n font-size: 1.2em;\n font-weight: bold;\n color: var(--settings-header-text-color);\n }\n\n#gscs-settings-window .gscs-settings__close-button {\n font-size: 1.5em;\n cursor: pointer;\n border: none;\n background: none;\n padding: 0;\n color: var(--settings-close-btn-color);\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n:is(#gscs-settings-window .gscs-settings__close-button) svg {\n width: 1.1em;\n height: 1.1em;\n }\n\n:is(#gscs-settings-window .gscs-settings__close-button):hover {\n color: var(--settings-close-btn-hover-color);\n }\n\n#gscs-settings-window .gscs-settings__tabs {\n display: flex;\n border-bottom: 1px solid var(--settings-border-color);\n margin-bottom: 8px;\n flex-wrap: wrap;\n flex-shrink: 0;\n }\n\n#gscs-settings-window .gscs-tab-button {\n padding: 0.45em 0.8em;\n cursor: pointer;\n border: none;\n background: none;\n font-size: 1em;\n color: var(--settings-tab-color);\n border-bottom: 2px solid transparent;\n margin-right: 6px;\n margin-bottom: -1px;\n white-space: nowrap;\n transition: var(--gscs-transition-color-press);\n }\n\n:is(#gscs-settings-window .gscs-tab-button):active {\n transform: scale(0.96);\n }\n\n.is-active:is(#gscs-settings-window .gscs-tab-button) {\n color: var(--settings-tab-active-color);\n font-weight: bold;\n border-bottom-color: var(--settings-tab-active-border);\n }\n\n#gscs-settings-window .gscs-settings__tab-content {\n flex-grow: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding-right: 5px;\n animation: fadeIn 0.15s ease-out;\n }\n\n:is(#gscs-settings-window .gscs-settings__tab-content) .gscs-tab-pane {\n display: none;\n animation: fadeIn 0.3s ease-in-out;\n }\n\n.is-active:is(:is(#gscs-settings-window .gscs-settings__tab-content) .gscs-tab-pane) {\n display: block;\n }\n\n#gscs-settings-window .gscs-settings__footer {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n padding-top: 0.6em;\n border-top: 1px solid var(--settings-border-color);\n margin-top: auto;\n gap: 0.7em;\n flex-shrink: 0;\n }\n\n:is(#gscs-settings-window .gscs-settings__footer) button {\n padding: 0.6em 1em;\n border-radius: 4px;\n cursor: pointer;\n font-size: 1em;\n transition: var(--gscs-transition-interactive);\n }\n\n:is(:is(#gscs-settings-window .gscs-settings__footer) button):active {\n transform: scale(0.97);\n }\n\n:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--save {\n background-color: var(--settings-save-btn-bg);\n color: var(--settings-save-btn-text);\n border: 1px solid var(--settings-save-btn-border);\n }\n\n:is(:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--save):hover {\n background-color: var(--settings-save-btn-hover-bg);\n }\n\n:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--cancel {\n background-color: transparent;\n color: var(--settings-tab-color);\n border: 1px solid transparent;\n }\n\n:is(:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--cancel):hover {\n background-color: var(--settings-cancel-btn-hover-bg);\n color: var(--settings-cancel-btn-text);\n }\n\n:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--reset {\n background-color: var(--settings-reset-btn-bg);\n color: var(--settings-reset-btn-text);\n border: 1px solid var(--settings-reset-btn-border);\n margin-right: auto;\n }\n\n:is(:is(#gscs-settings-window .gscs-settings__footer) .gscs-button--reset):hover {\n background-color: var(--settings-reset-btn-hover-bg);\n }\n\n/*\n |--------------------------------------------------------------------------\n | Settings Window Components\n |--------------------------------------------------------------------------\n */\n\n#gscs-settings-window .gscs-setting-item {\n margin-bottom: 0.6em;\n padding-bottom: 0.6em;\n border-bottom: 1px solid var(--settings-border-color);\n}\n\n:is(#gscs-settings-window .gscs-setting-item):last-child {\n border-bottom: none;\n padding-bottom: 0;\n }\n\n:is(#gscs-settings-window .gscs-setting-item) label:not(.gscs-setting-item__label--inline) {\n display: block;\n font-weight: bold;\n margin-bottom: 0.2em;\n }\n\n:is(#gscs-settings-window .gscs-setting-item) label.gscs-setting-item__label--inline {\n display: inline-block;\n margin-bottom: 0;\n margin-left: 0.4em;\n font-weight: normal;\n vertical-align: middle;\n }\n\n:is(#gscs-settings-window .gscs-setting-item) input[type='text']:not([id^='gscs-new-']),:is(#gscs-settings-window .gscs-setting-item) select {\n width: 100%;\n padding: 0.35em 0.6em;\n border: 1px solid var(--settings-input-border);\n border-radius: 4px;\n font-size: 0.9em;\n background-color: var(--settings-input-bg);\n color: var(--settings-input-text);\n margin-top: 0.2em;\n transition: var(--gscs-transition-focus);\n }\n\n:is(#gscs-settings-window .gscs-setting-item) input[type='text']:focus,:is(#gscs-settings-window .gscs-setting-item) select:focus {\n border-color: var(--settings-tab-active-border);\n box-shadow: 0 0 0 3px var(--settings-tool-btn-active-bg);\n outline: none;\n }\n\n:is(#gscs-settings-window .gscs-setting-item) input[type='checkbox'] {\n margin-right: 0.4em;\n vertical-align: middle;\n }\n\n:is(#gscs-settings-window .gscs-setting-item) .gscs-setting-value-hint {\n font-size: 0.85em;\n color: var(--settings-tab-color);\n font-weight: normal;\n margin-left: 0;\n }\n\n#gscs-settings-window :focus-visible {\n outline: 2px solid var(--settings-tab-active-border, #1967d2);\n outline-offset: 2px;\n border-radius: 3px;\n }\n\n#gscs-settings-window :focus:not(:focus-visible) {\n outline: none;\n }\n\n#gscs-settings-window .gscs-setting-item--simple {\n margin-bottom: 0.4em;\n padding-bottom: 0.4em;\n border-bottom: none;\n}\n\n#gscs-settings-window input.has-error,\n.settings-modal-content input.has-error {\n border-color: #dc3545;\n}\n\n/* --- Sliders in Appearance Tab --- */\n\n#gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 0.5em;\n}\n\n:is(#gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item) > label:first-child {\n width: 100%;\n }\n\n:is(#gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item) .gscs-setting-item__range-hint {\n width: 100%;\n order: 1;\n font-size: 0.85em;\n color: var(--settings-tab-color);\n font-weight: normal;\n margin-left: 0;\n }\n\n:is(#gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item) input[type='range'] {\n flex-grow: 1;\n order: 2;\n padding: 0;\n height: auto;\n cursor: pointer;\n vertical-align: middle;\n min-width: 150px;\n margin-top: 0.2em;\n }\n\n:is(.gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item) .gscs-setting-item__range-value {\n order: 3;\n margin-left: 0.5em;\n font-size: 0.9em;\n color: var(--settings-tab-color);\n min-width: 3em;\n text-align: right;\n flex-shrink: 0;\n vertical-align: middle;\n line-height: 1.8;\n }\n\n:is(.gscs-settings-window #gscs-tab-pane-appearance .gscs-setting-item) > div {\n transition: opacity var(--gscs-duration-slow);\n }\n\n/* --- Section Order List in Features Tab --- */\n\n.gscs-drag-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5em;\n height: 1.5em;\n margin-right: 0.5em;\n color: var(--settings-tab-color);\n cursor: grab;\n flex-shrink: 0;\n}\n\n.gscs-drag-icon svg {\n width: 1em;\n height: 1em;\n }\n\n.gscs-section-order-list {\n list-style: none;\n padding: 0;\n margin-top: 0.5em;\n border: 1px solid var(--settings-border-color);\n border-radius: 4px;\n max-height: none;\n overflow: visible;\n}\n\n.gscs-section-order-list li {\n display: flex;\n align-items: center;\n padding: 0.4em 0.6em;\n border-bottom: 1px dashed var(--settings-list-item-border);\n background-color: var(--settings-input-bg);\n transition:\n background-color var(--gscs-duration-normal) ease,\n transform var(--gscs-duration-normal) ease;\n }\n\n:is(.gscs-section-order-list li):hover {\n background-color: var(--settings-list-btn-hover-bg);\n }\n\n:is(.gscs-section-order-list li):last-child {\n border-bottom: none;\n }\n\n:is(.gscs-section-order-list li) .gscs-drag-icon {\n margin-right: 0.6em;\n transition: var(--gscs-transition-color);\n }\n\n:is(.gscs-section-order-list li):hover .gscs-drag-icon {\n color: var(--settings-text-color);\n }\n\n:is(.gscs-section-order-list li) span.gscs-section-title-label {\n flex-grow: 1;\n color: var(--settings-text-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n[draggable='true']:is(.gscs-section-order-list li) {\n cursor: grab;\n user-select: none;\n }\n\n[draggable='true']:is(.gscs-section-order-list li):active {\n cursor: grabbing;\n }\n\nli.is-dragging {\n opacity: 0.5 !important;\n background: var(--settings-list-btn-hover-bg) !important;\n border: 1px dashed var(--settings-tab-active-border) !important;\n box-shadow: 0 2px 5px rgb(0 0 0 / 10%);\n}\n\nli.is-drag-over {\n border-top: 2px solid var(--settings-tab-active-border) !important;\n margin-top: -2px !important;\n transition: margin var(--gscs-duration-fast);\n}\n\n.gscs-section-order-list li.is-drag-over,\n.settings-modal-content .gscs-custom-list li.is-drag-over {\n padding-top: calc(0.6em + 2px) !important;\n background-color: var(--settings-tool-btn-active-bg, #e8f0fe) !important;\n}\n\n/* --- Custom Tab Buttons (Card Layout) --- */\n\n#gscs-tab-pane-custom .gscs-custom-card {\n display: flex;\n flex-direction: column; /* Or row if we want button on right, but user wants \"Enlarged\" buttons. Let's make the whole card clickable or button very big */\n background-color: var(--settings-input-bg);\n border: 1px solid var(--settings-border-color);\n border-radius: 8px;\n padding: 10px 12px;\n margin-bottom: 10px;\n transition:\n transform var(--gscs-duration-normal),\n box-shadow var(--gscs-duration-normal),\n border-color var(--gscs-duration-normal);\n }\n\n:is(#gscs-tab-pane-custom .gscs-custom-card):hover {\n border-color: var(--settings-tab-active-border);\n box-shadow: 0 4px 8px rgb(0 0 0 / 5%);\n }\n\n#gscs-tab-pane-custom .gscs-card-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n }\n\n#gscs-tab-pane-custom .gscs-card-title {\n font-size: 1.1em;\n font-weight: bold;\n color: var(--settings-text-color);\n }\n\n#gscs-tab-pane-custom .gscs-card-desc {\n font-size: 0.9em;\n color: var(--settings-tab-color);\n line-height: 1.5;\n margin-bottom: 12px;\n }\n\n#gscs-tab-pane-custom .gscs-card-action {\n align-self: flex-start;\n }\n\n#gscs-tab-pane-custom .gscs-button--large {\n padding: 8px 16px;\n font-size: 1em;\n background-color: var(--settings-add-btn-bg);\n color: var(--settings-add-btn-text);\n border: none;\n border-radius: 4px;\n cursor: pointer;\n transition: var(--gscs-transition-bg);\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n\n:is(#gscs-tab-pane-custom .gscs-button--large):hover {\n background-color: var(--settings-add-btn-hover-bg);\n }\n\n:is(#gscs-tab-pane-custom .gscs-button--large) svg {\n width: 1.2em;\n height: 1.2em;\n fill: currentcolor;\n }\n\n/* --- Favicon Styling --- */\n\n.gscs-favicon {\n width: 16px;\n height: 16px;\n margin-right: 4px;\n vertical-align: middle;\n border-radius: 2px;\n transition: transform var(--gscs-duration-normal);\n position: relative; /* Ensure it can scale over siblings if needed */\n z-index: 1;\n}\n\n/* --- Chip Styling (Visual Query Builder) --- */\n\n.gscs-chip {\n display: inline-flex;\n align-items: center;\n padding: 0 12px;\n height: 30px;\n box-sizing: border-box;\n border-radius: 15px;\n font-size: 0.9em;\n cursor: pointer;\n user-select: none;\n transition: opacity var(--gscs-duration-normal), border var(--gscs-duration-normal), transform var(--gscs-duration-normal), box-shadow var(--gscs-duration-normal);\n border: 1px dashed var(--settings-border-color);\n background-color: transparent;\n color: var(--settings-tab-color);\n opacity: 0.65;\n margin: 4px;\n max-width: 100%;\n vertical-align: middle;\n line-height: normal;\n}\n\n.gscs-chip:hover {\n opacity: 0.85;\n border-style: solid;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgb(0 0 0 / 10%);\n }\n\n.gscs-chip:active,.gscs-chip.gscs-middle-click-active {\n transform: scale(0.97);\n }\n\n.gscs-chip.selected {\n border: 1px solid var(--settings-button-primary-bg, #1a73e8);\n background-color: var(--settings-tool-btn-active-bg, rgb(26 115 232 / 10%));\n color: var(--settings-text-color);\n opacity: 1;\n }\n\n.gscs-chip.selected.negative {\n border: 1px solid #dc3545;\n background-color: rgb(220 53 69 / 10%);\n }\n\n/* --- Click Feedback for Modal Buttons --- */\n\n.gscs-click-feedback:active,.gscs-click-feedback.gscs-middle-click-active {\n transform: scale(0.96) !important;\n transition: transform var(--gscs-duration-fast) var(--gscs-ease-default) !important;\n }\n\n/* --- Checkbox Spacing --- */\n\n#gscs-sidebar .gscs-filter-option input[type=\"checkbox\"] {\n margin-right: 8px;\n}\n\n.gscs-chip-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n/* --- Batch Micro-Buttons --- */\n\n.gscs-micro-btn {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 4px;\n font-size: 0.9em;\n color: var(--settings-link-color);\n text-decoration: none;\n transition: background-color var(--gscs-duration-fast), color var(--gscs-duration-fast), transform var(--gscs-duration-fast);\n background-color: transparent;\n cursor: pointer;\n}\n\n.gscs-micro-btn:hover {\n background-color: var(--settings-tool-btn-hover-bg, rgb(128 128 128 / 10%));\n text-decoration: none;\n color: var(--settings-tab-active-color);\n }\n\n.gscs-micro-btn:active {\n transform: scale(0.95);\n background-color: var(--settings-tool-btn-active-bg, rgb(128 128 128 / 20%));\n }\n\n/* --- Small Utility Button (e.g. Clear Favicon Cache) --- */\n\n.gscs-button--small {\n padding: 3px 10px;\n font-size: 12px;\n cursor: pointer;\n border: 1px solid var(--settings-border-color);\n border-radius: 3px;\n background: var(--settings-bg-color);\n color: var(--settings-text-color);\n transition: var(--gscs-transition-interactive);\n}\n\n.gscs-button--small:hover {\n background-color: var(--settings-tool-btn-hover-bg, rgb(128 128 128 / 10%));\n border-color: var(--settings-input-border);\n }\n\n.gscs-button--small:active {\n transform: scale(0.96);\n background-color: var(--settings-tool-btn-active-bg, rgb(128 128 128 / 20%));\n }\n\n/* --- Chooser Search Input --- */\n\n.gscs-chooser-search {\n width: 100%;\n padding: 0.2rem 0.5rem 0.2rem 24px;\n font-size: 0.85em;\n border: 1px solid var(--settings-input-border);\n border-radius: 4px;\n box-sizing: border-box;\n height: 26px;\n margin: 0;\n background: var(--settings-input-bg);\n color: var(--settings-input-text);\n transition: var(--gscs-transition-focus);\n}\n\n.gscs-chooser-search:hover {\n border-color: var(--settings-tab-active-border, #1967d2);\n }\n\n.gscs-chooser-search:focus {\n border-color: var(--settings-tab-active-border, #1967d2);\n box-shadow: 0 0 0 3px var(--settings-tool-btn-active-bg, rgb(25 103 210 / 15%));\n outline: none;\n }\n\n.gscs-chooser-search::placeholder {\n color: var(--settings-text-color);\n opacity: 0.5;\n }\n\n/*\n |--------------------------------------------------------------------------\n | Modal Dialogs (for Custom Lists)\n |--------------------------------------------------------------------------\n */\n\n.settings-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: transparent;\n z-index: 2050;\n display: flex;\n justify-content: center;\n align-items: center;\n animation: fadeIn 0.2s ease-out;\n pointer-events: auto;\n}\n\n.gscs-settings-window,\n.settings-modal-content {\n background-color: var(--settings-bg-color);\n color: var(--settings-text-color);\n padding: 20px 25px;\n border-radius: 8px;\n box-shadow: var(--settings-shadow);\n width: 550px;\n max-width: 95%;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n position: relative;\n z-index: 2100;\n pointer-events: auto;\n}\n\n.settings-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 15px;\n padding-bottom: 10px;\n border-bottom: 1px solid var(--settings-border-color);\n}\n\n.settings-modal-header h4 {\n margin: 0;\n font-size: 1.15em;\n font-weight: bold;\n color: var(--settings-header-text-color);\n }\n\n.settings-modal-close-btn {\n font-size: 1.5em;\n cursor: pointer;\n border: none;\n background: none;\n padding: 0;\n color: var(--settings-close-btn-color);\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.settings-modal-close-btn svg {\n width: 1em;\n height: 1em;\n }\n\n.settings-modal-close-btn:hover {\n color: var(--settings-close-btn-hover-color);\n }\n\n.settings-modal-body {\n flex-grow: 1;\n overflow-y: auto;\n margin-bottom: 15px;\n padding-right: 5px;\n}\n\n.settings-modal-body hr {\n border: none;\n border-top: 1px dashed var(--settings-border-color);\n margin: 1em 0;\n }\n\n.settings-modal-body .predefined-options-list {\n list-style: none;\n padding: 0;\n margin: 0.5em 0 1em;\n max-height: 200px;\n overflow-y: auto;\n border: 1px solid var(--settings-list-border);\n border-radius: 4px;\n width: 100%;\n display: grid; /* Added grid layout */\n grid-template-columns: repeat(2, 1fr);\n gap: 4px; /* Smaller gap for this list */\n box-sizing: border-box;\n }\n\n:is(.settings-modal-body .predefined-options-list) li {\n padding: 0.4em 0.6em;\n border: 1px solid transparent;\n display: flex;\n align-items: center;\n border-radius: 4px;\n }\n\n:is(:is(.settings-modal-body .predefined-options-list) li):hover {\n background-color: var(--settings-list-btn-hover-bg);\n border-color: var(--settings-list-item-border);\n }\n\n:is(.settings-modal-body .predefined-options-list) label {\n font-weight: normal;\n margin-left: 0.5em;\n vertical-align: middle;\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n cursor: pointer;\n }\n\n:is(.settings-modal-body .predefined-options-list) input[type='checkbox'] {\n vertical-align: middle;\n margin-right: 0.3em;\n cursor: pointer;\n }\n\n.settings-modal-footer {\n display: flex;\n justify-content: flex-end;\n padding-top: 15px;\n border-top: 1px solid var(--settings-border-color);\n}\n\n.settings-modal-footer button {\n padding: 0.6em 1.2em;\n border-radius: 4px;\n cursor: pointer;\n font-size: 1em;\n background-color: var(--settings-save-btn-bg);\n color: var(--settings-save-btn-text);\n border: 1px solid var(--settings-save-btn-border);\n }\n\n:is(.settings-modal-footer button):hover {\n background-color: var(--settings-save-btn-hover-bg);\n }\n\n.settings-modal-content .gscs-custom-list {\n list-style: none;\n padding: 0;\n margin: 0.5em 0 1em;\n border: 1px solid var(--settings-input-border);\n background-color: rgb(128 128 128 / 3%);\n border-radius: 4px;\n max-height: 400px;\n overflow-y: auto;\n }\n\n:is(.settings-modal-content .gscs-custom-list):has(.empty-state-message:only-child) {\n border: none;\n background-color: transparent;\n }\n\n:is(.settings-modal-content .gscs-custom-list) li {\n display: flex;\n align-items: center;\n padding: 0.25em 0.5em;\n border-bottom: 1px dashed var(--settings-list-item-border);\n background-color: var(--settings-input-bg);\n position: relative;\n }\n\n:is(:is(.settings-modal-content .gscs-custom-list) li):last-child {\n border-bottom: none;\n }\n\n:is(:is(.settings-modal-content .gscs-custom-list) li) .gscs-drag-icon {\n margin-right: 0.5em;\n }\n\n:is(:is(.settings-modal-content .gscs-custom-list) li) > span:not(.gscs-drag-icon,.gscs-custom-list__item-controls) {\n flex-grow: 1;\n margin-right: 0.5em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--settings-text-color);\n }\n\n:is(:is(.settings-modal-content .gscs-custom-list) li) .gscs-custom-list__item-controls {\n margin-left: auto;\n flex-shrink: 0;\n display: inline-flex;\n gap: 0.3em;\n }\n\n[draggable='true']:is(:is(.settings-modal-content .gscs-custom-list) li) {\n cursor: grab;\n user-select: none;\n }\n\n[draggable='true']:is(:is(.settings-modal-content .gscs-custom-list) li):active {\n cursor: grabbing;\n }\n\n.is-drag-over:is(:is(.settings-modal-content .gscs-custom-list) li) {\n padding-top: calc(0.5em + 2px) !important;\n }\n\n.settings-modal-content .gscs-custom-list__item-controls button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n padding: 0.2em;\n width: 1.8em;\n height: 1.8em;\n background-color: var(--settings-list-btn-bg);\n border: 1px solid var(--settings-input-border);\n border-radius: 3px;\n color: var(--settings-text-color);\n }\n\n:is(.settings-modal-content .gscs-custom-list__item-controls button):hover {\n background-color: var(--settings-list-btn-hover-bg);\n }\n\n:is(.settings-modal-content .gscs-custom-list__item-controls button) svg {\n width: 1em;\n height: 1em;\n }\n\n.is-confirming:is(.settings-modal-content .gscs-custom-list__item-controls button) {\n background-color: #d32f2f;\n border-color: #b71c1c;\n color: #fff;\n }\n\n.is-confirming:is(.settings-modal-content .gscs-custom-list__item-controls button):hover {\n background-color: #c62828;\n }\n\n.gscs-modal__add-new-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding: 0.4em 0.8em;\n margin-bottom: 0.8em;\n text-align: center;\n cursor: pointer;\n font-size: 0.9em;\n font-weight: 500;\n text-decoration: none;\n border-radius: 20px; /* Pill shape */\n background-color: var(--settings-add-btn-bg);\n border: 1px solid var(--settings-add-btn-bg);\n color: var(--settings-add-btn-text);\n line-height: 1.4;\n transition: background-color var(--gscs-duration-normal), border-color var(--gscs-duration-normal), box-shadow var(--gscs-duration-normal);\n box-shadow: 0 1px 2px rgb(0 0 0 / 10%);\n}\n\n.gscs-modal__add-new-button:hover {\n background-color: var(--settings-add-btn-hover-bg);\n border-color: var(--settings-add-btn-hover-bg);\n box-shadow: 0 2px 4px rgb(0 0 0 / 20%);\n /* Removed transform translateY per user request */\n }\n\n.gscs-modal__add-new-button svg {\n margin-right: 6px;\n }\n\n.gscs-modal-predefined-chooser {\n border: 1px solid var(--settings-border-color);\n border-radius: 4px;\n padding: 10px;\n margin-top: 5px;\n margin-bottom: 15px;\n background-color: var(--settings-input-bg);\n max-height: 300px;\n display: block; /* Changed from flex to block to respect flow better */\n width: 100%;\n position: relative; /* Keep relative */\n z-index: 9999; /* Force on top if overlap occurs */\n box-sizing: border-box;\n clear: both;\n}\n\n.gscs-modal-predefined-chooser ul {\n list-style: none;\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 8px;\n overflow-y: auto;\n width: 100%;\n box-sizing: border-box;\n max-height: 230px; /* Explicit inner height limit */\n }\n\n.gscs-modal-predefined-chooser .gscs-modal-predefined-chooser__item {\n padding: 0.5em 0.8em;\n cursor: pointer;\n border-radius: 4px;\n border: 1px solid transparent;\n transition: var(--gscs-transition-bg);\n display: flex;\n align-items: center;\n box-sizing: border-box;\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-modal-predefined-chooser__item):hover {\n background-color: var(--settings-list-btn-hover-bg);\n border-color: var(--settings-list-item-border);\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-modal-predefined-chooser__item) input[type='checkbox'] {\n margin-right: 0.8em;\n transform: scale(1.1);\n pointer-events: none;\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-modal-predefined-chooser__item) label {\n cursor: pointer;\n pointer-events: none;\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n/* Corrected IDs: added -btn suffix, removed container background/border */\n\n/* Corrected IDs: added -btn suffix, removed container background/border */\n\n.gscs-modal-predefined-chooser .chooser-buttons {\n text-align: right;\n margin-top: 4px;\n padding-top: 4px;\n border-top: none;\n flex-shrink: 0;\n box-sizing: border-box;\n background: transparent;\n }\n\n:is(.gscs-modal-predefined-chooser .chooser-buttons) button {\n margin-left: 6px;\n padding: 0.3em 0.8em;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 500;\n font-size: 0.9em;\n }\n\n/* Corrected selectiors for chooser buttons */\n\n.gscs-modal-predefined-chooser .gscs-button--add {\n background-color: var(--settings-add-btn-bg);\n color: var(--settings-add-btn-text);\n border: 1px solid var(--settings-add-btn-bg);\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-button--add):hover {\n background-color: var(--settings-add-btn-hover-bg);\n box-shadow: 0 1px 2px rgb(0 0 0 / 15%);\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-button--add):active {\n transform: translateY(1px);\n box-shadow: none;\n }\n\n.gscs-modal-predefined-chooser .gscs-button--cancel {\n background-color: transparent;\n color: var(--settings-text-color);\n border: 1px solid var(--settings-input-border);\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-button--cancel):hover {\n background-color: var(--settings-list-btn-hover-bg);\n }\n\n:is(.gscs-modal-predefined-chooser .gscs-button--cancel):active {\n transform: translateY(1px);\n }\n\n/* --- Notifications Layering Fix --- */\n\n#gscs-notification-container {\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 2147483647 !important; /* Standard Max Z-Index to ensure visibility over everything */\n display: flex;\n flex-direction: column;\n gap: 10px;\n pointer-events: none;\n}\n\n#gscs-notification-container .gscs-notification {\n pointer-events: auto;\n box-shadow: 0 4px 12px rgb(0 0 0 / 30%);\n }\n\n.settings-modal-content .gscs-custom-list__input-group {\n display: flex;\n align-items: stretch;\n gap: 8px;\n margin-bottom: 0.5em;\n flex-wrap: nowrap;\n }\n\n:is(.settings-modal-content .gscs-custom-list__input-group) > div {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n min-width: 120px;\n }\n\n:is(.settings-modal-content .gscs-custom-list__input-group) input[type='text'] {\n width: 100%;\n flex: 1;\n min-width: 80px;\n height: 32px; /* Fixed height for alignment - Reduced */\n padding: 4px 10px;\n border: 1px solid var(--settings-input-border);\n border-radius: 4px;\n background-color: var(--settings-input-bg);\n color: var(--settings-input-text);\n box-sizing: border-box;\n transition: var(--gscs-transition-focus);\n }\n\n:is(:is(.settings-modal-content .gscs-custom-list__input-group) input[type='text']):nth-of-type(2) {\n flex: 1.5;\n }\n\n/* Button styling - unified appearance */\n\n.settings-modal-content .gscs-custom-list__input-group button,.settings-modal-content .gscs-custom-list__item-controls button {\n flex-shrink: 0;\n margin: 0;\n width: 32px;\n height: 32px;\n padding: 0;\n border: 1px solid var(--settings-input-border);\n border-radius: 4px;\n background-color: var(--settings-list-btn-bg);\n color: var(--settings-text-color);\n cursor: pointer;\n transition: var(--gscs-transition-interactive);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n.settings-modal-content .gscs-custom-list__input-group button:hover,.settings-modal-content .gscs-custom-list__item-controls button:hover {\n background-color: var(--settings-list-btn-hover-bg);\n border-color: var(--settings-input-border);\n }\n\n/* Specific overrides for Add/Cancel in input group to ensure they align at the top */\n\n.settings-modal-content .gscs-custom-list__input-group button {\n margin-top: 0; /* Align with top of input */\n height: auto; /* Stretch to fit input */\n align-self: stretch;\n }\n\n.settings-modal-content .gscs-custom-list__input-group .gscs-button--add-custom span,.settings-modal-content .gscs-custom-list__input-group .cancel-edit-button span {\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n }\n\n.settings-modal-content .gscs-custom-list__input-group .gscs-button--add-custom svg,.settings-modal-content .gscs-custom-list__input-group .cancel-edit-button svg {\n width: 1.25em;\n height: 1.25em;\n }\n\n.settings-modal-content .gscs-custom-list__input-group + .gscs-setting-value-hint {\n display: block;\n margin-top: 0.5em;\n font-size: 0.9em;\n white-space: normal;\n color: var(--settings-tab-color);\n }\n\n.settings-modal-content input.input-valid[type='text'] {\n border-color: #2e7d32; /* Green */\n box-shadow: 0 0 0 1px rgb(46 125 50 / 20%);\n }\n\n.settings-modal-content input.has-error[type='text'] {\n border-color: #d32f2f; /* Red */\n box-shadow: 0 0 0 1px rgb(211 47 47 / 20%);\n }\n\n/* Validation Styling */\n\n.gscs-input-error-message {\n display: none;\n width: 100%;\n font-size: 0.85em;\n color: #d32f2f;\n margin-top: 4px;\n line-height: 1.3;\n}\n\n.gscs-input-error-message.is-error-visible {\n display: block;\n }\n\n/*\n |--------------------------------------------------------------------------\n | Settings Utility Classes (extracted from inline styles)\n |--------------------------------------------------------------------------\n */\n\n/* Section wrapper: top margin before each settings group */\n\n.gscs-settings__section-block {\n margin-top: 20px;\n}\n\n/* Section heading: styled h4 with bottom border */\n\n.gscs-settings__section-heading {\n margin-bottom: 10px;\n color: var(--settings-header-text-color);\n border-bottom: 1px solid var(--settings-border-color);\n padding-bottom: 5px;\n}\n\n/* Section heading without border (first section) */\n\n.gscs-settings__section-heading--plain {\n margin-bottom: 10px;\n color: var(--settings-header-text-color);\n}\n\n/* Section heading hint text */\n\n.gscs-settings__section-heading-hint {\n font-weight: normal;\n font-size: 0.9em;\n color: #666;\n margin-left: 4px;\n}\n\n/* Feature item: checkbox + description with separator */\n\n.gscs-settings__feature-item {\n border-bottom: 1px solid var(--settings-border-color);\n padding-bottom: 6px;\n margin-bottom: 6px;\n}\n\n/* Description text indented under checkbox */\n\n.gscs-settings__desc-indented {\n margin-top: 0.2em;\n margin-bottom: 0.5em;\n margin-left: 28px;\n}\n\n/* Checkbox sub-options group (indented column) */\n\n.gscs-settings__checkbox-group {\n margin-left: 28px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n/* Inline sub-option row (indented, horizontal) */\n\n.gscs-settings__sub-option-row {\n margin-left: 28px;\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n}\n\n.gscs-settings__sub-option-row select {\n min-width: 0;\n flex: 1;\n }\n\n/* Sub-label for nested options */\n\n.gscs-settings__sub-label {\n font-size: 0.9em;\n}\n\n/* Hint text indented under checkbox */\n\n.gscs-settings__hint-indented {\n margin-left: 28px;\n margin-top: 5px;\n}\n\n/* Setting item without bottom border (last/standalone) */\n\n.gscs-settings__setting-last {\n border-bottom: none;\n padding-bottom: 0;\n margin-bottom: 0;\n}\n\n/* Setting item with reduced bottom spacing */\n\n.gscs-settings__setting-spaced {\n border-bottom: none;\n padding-bottom: 5px;\n margin-bottom: 8px;\n}\n\n/* Setting item column layout */\n\n.gscs-settings__setting-column {\n flex-direction: column;\n align-items: stretch;\n}\n\n/* Checkbox row with right margin */\n\n.gscs-settings__checkbox-input {\n margin-right: 8px;\n cursor: pointer;\n flex-shrink: 0;\n}\n\n/* Sub-label with nowrap */\n\n.gscs-settings__sub-label--nowrap {\n font-size: 0.9em;\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n/* Section block with top border separator */\n\n.gscs-settings__section-block--bordered {\n margin-top: 16px;\n border-top: 1px solid var(--settings-border-color);\n padding-top: 12px;\n}\n\n/* Section heading without top margin */\n\n.gscs-settings__section-heading--no-top {\n margin-top: 0;\n margin-bottom: 12px;\n color: var(--settings-header-text-color);\n}\n\n/* Checkbox container with bottom margin */\n\n.gscs-settings__checkbox-container--spaced {\n margin-bottom: 8px;\n}\n\n/* Description with larger bottom margin */\n\n.gscs-settings__desc-indented--spaced {\n margin-top: 0.2em;\n margin-bottom: 12px;\n margin-left: 28px;\n}\n\n/* Favicon cache button container */\n\n.gscs-settings__sub-option-block {\n margin-left: 28px;\n margin-top: 4px;\n margin-bottom: 2px;\n}\n\n/* Small margin-top description */\n\n.gscs-settings__desc--small-top {\n margin-top: 2px;\n}\n\n/* Credit line block */\n\n.gscs-settings__credit-line {\n display: block;\n margin-top: 0.2em;\n}\n\n/* Checkbox label in section order list */\n\n.gscs-settings__checkbox-label {\n flex-grow: 1;\n cursor: pointer;\n margin: 0;\n user-select: none;\n}\n\n/* --- SaveFilterModal classes --- */\n\n/* Modal header with bottom border */\n\n.gscs-modal__header {\n margin-bottom: 10px;\n padding-bottom: 10px;\n border-bottom: 1px solid var(--settings-border-color);\n}\n\n/* Modal header title */\n\n.gscs-modal__title {\n margin: 0;\n font-size: 1.1em;\n}\n\n/* Modal scrollable content area */\n\n.gscs-modal__content {\n flex-grow: 1;\n overflow-y: auto;\n padding: 10px 0;\n}\n\n/* Modal footer with top border */\n\n.gscs-modal__footer {\n margin-top: 15px;\n padding-top: 10px;\n border-top: 1px solid var(--settings-border-color);\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n}\n\n/* Input with clear button wrapper */\n\n.gscs-modal__input-with-clear {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n/* Clear button inside input */\n\n.gscs-modal__input-clear-btn {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n font-size: 18px;\n cursor: pointer;\n color: var(--settings-tab-color);\n padding: 0;\n outline: none;\n line-height: 1;\n}\n\n/* Error message below input */\n\n.gscs-modal__error-msg {\n color: red;\n font-size: 0.85em;\n margin-top: 5px;\n}\n\n/* Criteria section with top margin */\n\n.gscs-modal__criteria-section {\n margin-top: 15px;\n}\n\n/* Criteria group label */\n\n.gscs-modal__criteria-label {\n margin-bottom: 8px;\n display: block;\n}\n\n/* Chip group container */\n\n.gscs-modal__chip-group {\n margin-bottom: 10px;\n}\n\n/* Chip group label */\n\n.gscs-modal__chip-group-label {\n font-size: 0.8em;\n opacity: 0.7;\n margin-bottom: 4px;\n}\n\n/* Batch action bar */\n\n.gscs-modal__batch-bar {\n font-size: 0.8em;\n opacity: 0.7;\n margin-bottom: 4px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n/* Batch action links container */\n\n.gscs-modal__batch-links {\n font-size: 0.95em;\n display: flex;\n gap: 8px;\n}\n\n/* Chip icon spacing */\n\n.gscs-modal__chip-icon {\n margin-right: 6px;\n}\n\n/* Chip text overflow */\n\n.gscs-modal__chip-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/*\n |--------------------------------------------------------------------------\n | AppearanceTab — Slider & Custom Colors\n |--------------------------------------------------------------------------\n */\n\n/* Slider header row: label left, value right */\n\n.gscs-settings__slider-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.gscs-settings__slider-header > label {\n margin-bottom: 0;\n }\n\n/* Slider range input full-width */\n\n.gscs-settings__slider-input {\n width: 100%;\n}\n\n/* Slider hint below range */\n\n.gscs-settings__slider-hint {\n margin-top: 5px;\n}\n\n/* Nested indent for sub-options (e.g. idle opacity under hover mode) */\n\n.gscs-settings__nested-indent {\n margin-top: 10px;\n margin-left: 20px;\n}\n\n/* Custom Colors section wrapper */\n\n.gscs-settings__colors-section {\n margin-top: 20px;\n border-top: 1px solid var(--settings-border-color);\n padding-top: 15px;\n}\n\n/* Custom Colors header row */\n\n.gscs-settings__colors-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 15px;\n}\n\n/* Custom Colors title */\n\n.gscs-settings__colors-title {\n margin: 0;\n color: var(--settings-header-text-color);\n}\n\n/* Reset button inline style */\n\n.gscs-settings__reset-btn {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--settings-tab-color);\n border: none;\n}\n\n/* Reset icon sizing */\n\n.gscs-settings__reset-icon {\n font-size: 1.1em;\n line-height: 1;\n}\n\n/* 2-column color grid */\n\n.gscs-settings__color-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n}\n\n/* Individual color card */\n\n.gscs-settings__color-card {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 6px 8px;\n border: 1px solid var(--settings-border-color);\n border-radius: 4px;\n}\n\n/* Color card label (truncated) */\n\n.gscs-settings__color-card-label {\n margin: 0;\n font-size: 0.82em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: default;\n}\n\n/* Color card input row */\n\n.gscs-settings__color-card-row {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Color text input */\n\n.gscs-settings__color-text-input {\n flex: 1;\n min-width: 0;\n padding: 3px 6px;\n font-size: 0.85em;\n border: 1px solid var(--settings-input-border);\n border-radius: 4px;\n background-color: var(--settings-input-bg);\n color: var(--settings-input-text);\n transition: var(--gscs-transition-focus);\n}\n\n.gscs-settings__color-text-input:focus {\n border-color: var(--settings-tab-active-border);\n outline: none;\n }\n\n/* Color picker input override */\n\n.gscs-settings__color-picker {\n padding: 0;\n width: 26px;\n height: 26px;\n border: none;\n cursor: pointer;\n flex-shrink: 0;\n}\n\n/*\n |--------------------------------------------------------------------------\n | PredefinedChooser\n |--------------------------------------------------------------------------\n */\n\n/* Chooser header row */\n\n.gscs-chooser__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n margin-bottom: 0.3em;\n position: relative;\n}\n\n/* Chooser label */\n\n.gscs-chooser__label {\n margin-bottom: 0;\n min-height: 24px;\n display: flex;\n align-items: center;\n}\n\n/* Chooser label hint */\n\n.gscs-chooser__label-hint {\n margin-left: 5px;\n}\n\n/* Chooser search wrapper */\n\n.gscs-chooser__search-wrap {\n position: relative;\n width: 140px;\n margin: 0;\n}\n\n/* Chooser search icon */\n\n.gscs-chooser__search-icon {\n position: absolute;\n left: 6px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--settings-text-color);\n opacity: 0.6;\n pointer-events: none;\n display: flex;\n}\n\n/* Trigger button base sizing */\n\n.gscs-chooser__btn-trigger {\n margin: 0;\n padding: 0.2em 0.8em;\n font-size: 0.85em;\n}\n\n/* Chooser panel outer wrapper */\n\n.gscs-chooser__panel-wrap {\n margin-top: 5px;\n margin-bottom: 8px;\n}\n\n/* Chooser panel inner (supplements .gscs-modal-predefined-chooser) */\n\n.gscs-chooser__panel {\n border: 1px solid var(--settings-border-color);\n border-radius: 4px;\n padding: 10px;\n background-color: var(--settings-input-bg);\n position: relative;\n}\n\n/* Chooser list bottom padding for absolute buttons */\n\n.gscs-chooser__list {\n padding-bottom: 36px;\n}\n\n/* Chooser checkbox in list items */\n\n.gscs-chooser__item-checkbox {\n pointer-events: none;\n}\n\n/* Chooser action buttons container */\n\n.gscs-chooser__actions {\n display: flex;\n gap: 8px;\n position: absolute;\n bottom: 10px;\n right: 10px;\n z-index: 2;\n}\n\n/* Chooser cancel button */\n\n.gscs-chooser__btn-cancel {\n padding: 0.3em 0.8em;\n font-size: 0.85em;\n background: transparent;\n color: var(--settings-text-color);\n border: 1px solid var(--settings-input-border);\n}\n\n/* Chooser add button */\n\n.gscs-chooser__btn-add {\n padding: 0.3em 0.8em;\n font-size: 0.85em;\n background-color: var(--settings-save-btn-bg);\n color: var(--settings-save-btn-text);\n border: 1px solid var(--settings-save-btn-border);\n}\n\n/*\n |--------------------------------------------------------------------------\n | SaveFilterModal utilities\n |--------------------------------------------------------------------------\n */\n\n/* Input with right padding for clear button */\n\n.gscs-modal__input-padded {\n padding-right: 30px;\n}\n\n/*\n |--------------------------------------------------------------------------\n | ManageListModal\n |--------------------------------------------------------------------------\n */\n\n/* ManageListModal overlay */\n\n.settings-modal-overlay.settings-modal-overlay {\n display: flex;\n font-family: inherit;\n font-size: 14px;\n}\n\n/* ManageListModal content z-index above overlay */\n\n.settings-modal-content {\n z-index: 10051;\n}\n\n/* Separator in modal body */\n\n.gscs-modal__separator {\n margin: 1em 0;\n}\n\n/*\n |--------------------------------------------------------------------------\n | CustomListItems\n |--------------------------------------------------------------------------\n */\n\n/* Empty state item in custom list */\n\n.gscs-custom-list__empty-item {\n border: none;\n background: transparent;\n}\n\n/* Globe icon for multi-site entries */\n\n.gscs-list-item__globe-icon {\n display: inline-flex;\n width: 16px;\n height: 16px;\n margin-right: 6px;\n flex-shrink: 0;\n vertical-align: middle;\n fill: var(--settings-text-color);\n}\n\n/* Favicon for single-site entries */\n\n.gscs-list-item__favicon {\n margin-right: 6px;\n width: 16px;\n height: 16px;\n vertical-align: middle;\n}\n\n/* Value subtitle text */\n\n.gscs-list-item__value-text {\n display: block;\n font-size: 0.85em;\n color: var(--settings-tab-color);\n}\n\n/*\n |--------------------------------------------------------------------------\n | ListItemForm\n |--------------------------------------------------------------------------\n */\n\n/* Form error message */\n\n.gscs-form__error-msg {\n display: block;\n margin-top: 4px;\n margin-bottom: 2px;\n}\n\n/*\n |--------------------------------------------------------------------------\n | Settings Footer & Custom Tab\n |--------------------------------------------------------------------------\n */\n\n/* Settings footer actions */\n\n.gscs-settings__footer-actions {\n display: flex;\n gap: 8px;\n}\n\n/* Custom tab options list */\n\n.gscs-custom-tab__list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: 10px;\n}\n";let tn=!1;function nn(){if(!tn)if(tn=!0,"function"==typeof GM_addStyle)GM_addStyle(en);else{const e=document.createElement("style");e.textContent=en,e.id="gscs-settings-modal-styles",document.head.appendChild(e)}}const sn=y;let on={},rn=null,an=null,ln=!1,cn=!1,dn=()=>{},_n=()=>{};const gn={initialize:function(e,t,n,s){ln||(an=e,dn=n,_n=s,st(()=>{const e=ht.value;ln&&e&&S(mt.value)}),st(()=>{const e=bt.value;if(ln&&!cn){cn=!0;try{const t=structuredClone(mt.peek());"expandAll"===e?t.sectionStates={}:"collapseAll"===e&&Array.isArray(t.sidebarSectionOrder)&&(t.sectionStates={},t.sidebarSectionOrder.forEach(e=>{t.sectionStates[e]=!0})),on=t,Tt(t)}finally{cn=!1}}}),st(()=>{const e=vt.value;if(ln&&e&&!cn){cn=!0;try{const e=structuredClone(mt.peek()),t=e.sectionStates||{},n=e.sidebarSectionOrder||[];let s=null;for(const e of n)!0!==t[e]&&(null===s?s=e:t[e]=!0);e.sectionStates=t,on=e,Tt(e)}finally{cn=!1}}}),st(()=>{const e=mt.value;ln&&(on=structuredClone(e),dn&&dn())}),this.load(),ln=!0)},load:function(){const e=function(){try{let e=wt(l,null);if(!e||"undefined"===e||"null"===e||"{}"===e){const t=wt(c,null);t&&"undefined"!==t&&"null"!==t&&(p.log("Settings","Migrating settings from legacy storage key."),e=t,Et(l,"string"==typeof e?e:JSON.stringify(e)),function(e){try{"undefined"!=typeof GM_deleteValue?GM_deleteValue(e):"undefined"!=typeof localStorage&&localStorage.removeItem(e)}catch(t){p.warn("StorageAdapter",`Error removing storage for key ${e}:`,t)}}(c))}return e&&"undefined"!==e&&"null"!==e||(e="{}"),JSON.parse(e)}catch(e){return p.error("Settings","Error loading/parsing settings:",e),{}}}();on=function(e,t){let n={};if(e)try{const t="string"==typeof e?JSON.parse(e):e;"object"!=typeof t||null===t||Array.isArray(t)?p.warn("SettingsValidator","Parsed storage is not a valid object. Ignoring."):n=t}catch(e){p.warn("SettingsValidator","Corrupted settings detected. Ignoring raw storage. Error:",e)}n&&Object.keys(n).length>0&&function(e){const t=e._settingsVersion??0;t>=1||(e._settingsVersion=1,p.log("SettingsValidator",`Migrated settings from v${t} to v1.`))}(n);let s=structuredClone(t);return n&&Object.keys(n).length>0&&(s=zt.mergeDeep(s,n)),function(e,t,n){("object"!=typeof e.sidebarPosition||null===e.sidebarPosition||Array.isArray(e.sidebarPosition))&&(e.sidebarPosition=structuredClone(n.sidebarPosition||{top:0,left:0})),e.sidebarPosition.left=parseInt(e.sidebarPosition?.left,10)||n.sidebarPosition?.left||0,e.sidebarPosition.top=parseInt(e.sidebarPosition?.top,10)||n.sidebarPosition?.top||0,("object"!=typeof e.sectionStates||null===e.sectionStates||Array.isArray(e.sectionStates))&&(e.sectionStates={}),e.sidebarCollapsed=!!e.sidebarCollapsed,e.draggableHandleEnabled="boolean"==typeof e.draggableHandleEnabled?e.draggableHandleEnabled:n.draggableHandleEnabled,e.interfaceLanguage="string"==typeof t.interfaceLanguage?t.interfaceLanguage:n.interfaceLanguage}(s,n,t),function(e,t,n){if(e.sidebarWidth=zt.clamp(parseInt(e.sidebarWidth,10)||n.sidebarWidth||300,90,270),e.sidebarHeight=zt.clamp(parseInt(e.sidebarHeight,10)||n.sidebarHeight||90,25,100),e.fontSize=zt.clamp(parseFloat(e.fontSize)||n.fontSize||14,8,24),e.headerIconSize=zt.clamp(parseFloat(e.headerIconSize)||n.headerIconSize||24,8,32),e.verticalSpacingMultiplier=zt.clamp(parseFloat(e.verticalSpacingMultiplier)||n.verticalSpacingMultiplier||1,.05,1),e.idleOpacity=zt.clamp(parseFloat(e.idleOpacity)||n.idleOpacity||1,.1,1),e.hoverMode=!!e.hoverMode,"minimal"===e.theme?e.theme="minimal-light":["system","light","dark","minimal-light","minimal-dark"].includes(e.theme)||(e.theme=n.theme||"system"),e.hideGoogleLogoWhenExpanded="boolean"==typeof t.hideGoogleLogoWhenExpanded?t.hideGoogleLogoWhenExpanded:n.hideGoogleLogoWhenExpanded,"object"!=typeof t.customColors||null===t.customColors||Array.isArray(t.customColors))e.customColors=structuredClone(n.customColors||{});else{e.customColors={};const n=/^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;_.forEach(s=>{"string"!=typeof t.customColors[s.key]||""!==t.customColors[s.key]&&!n.test(t.customColors[s.key])?e.customColors[s.key]="":e.customColors[s.key]=t.customColors[s.key]})}}(s,n,t),function(e,t,n){("object"!=typeof e.visibleSections||null===e.visibleSections||Array.isArray(e.visibleSections))&&(e.visibleSections=structuredClone(n.visibleSections||{}));const s=new Set(r.map(e=>e.id));Object.keys(n.visibleSections||{}).forEach(t=>{s.has(t)?"boolean"!=typeof e.visibleSections[t]&&(e.visibleSections[t]=n.visibleSections[t]??!0):p.warn("SettingsValidator",`Invalid section ID in defaultSettings.visibleSections: ${t}`)}),["remember","expandAll","collapseAll"].includes(e.sectionDisplayMode)||(e.sectionDisplayMode=n.sectionDisplayMode||"remember"),e.accordionMode=!!e.accordionMode,e.enableSiteSearchCheckboxMode="boolean"==typeof e.enableSiteSearchCheckboxMode?e.enableSiteSearchCheckboxMode:n.enableSiteSearchCheckboxMode,e.showFaviconsForSiteSearch="boolean"==typeof e.showFaviconsForSiteSearch?e.showFaviconsForSiteSearch:n.showFaviconsForSiteSearch,e.enableFiletypeCheckboxMode="boolean"==typeof e.enableFiletypeCheckboxMode?e.enableFiletypeCheckboxMode:n.enableFiletypeCheckboxMode;const i=["header","topBlock","tools","none"];i.includes(e.resetButtonLocation)||(e.resetButtonLocation=n.resetButtonLocation||"tools"),i.includes(e.verbatimButtonLocation)||(e.verbatimButtonLocation=n.verbatimButtonLocation||"tools"),i.includes(e.advancedSearchLinkLocation)||(e.advancedSearchLinkLocation=n.advancedSearchLinkLocation||"tools"),i.includes(e.personalizationButtonLocation)||(e.personalizationButtonLocation=n.personalizationButtonLocation||"tools"),i.includes(e.googleScholarShortcutLocation)||(e.googleScholarShortcutLocation=n.googleScholarShortcutLocation||"tools"),i.includes(e.googleTrendsShortcutLocation)||(e.googleTrendsShortcutLocation=n.googleTrendsShortcutLocation||"tools"),i.includes(e.googleDatasetSearchShortcutLocation)||(e.googleDatasetSearchShortcutLocation=n.googleDatasetSearchShortcutLocation||"tools"),e.showResultStats="boolean"==typeof t.showResultStats?t.showResultStats:n.showResultStats,e.resultStatsPosition=["slim_appbar","sidebar"].includes(t.resultStatsPosition)?t.resultStatsPosition:n.resultStatsPosition||"slim_appbar",e.showCountryFlags="boolean"==typeof t.showCountryFlags?t.showCountryFlags:n.showCountryFlags,e.fixWindowsFlags="boolean"==typeof t.fixWindowsFlags?t.fixWindowsFlags:n.fixWindowsFlags,e.enableLanguageExcludeFilter="boolean"==typeof t.enableLanguageExcludeFilter?t.enableLanguageExcludeFilter:n.enableLanguageExcludeFilter,e.enableCountryExcludeFilter="boolean"==typeof t.enableCountryExcludeFilter?t.enableCountryExcludeFilter:n.enableCountryExcludeFilter,e.enableSiteExcludeFilter="boolean"==typeof t.enableSiteExcludeFilter?t.enableSiteExcludeFilter:n.enableSiteExcludeFilter}(s,n,t),function(e,t,n){["favoriteSites","customLanguages","customTimeRanges","customFiletypes","customCountries"].forEach(t=>{e[t]=Array.isArray(e[t])?e[t].filter(e=>e&&"string"==typeof e.text&&"string"==typeof e["favoriteSites"===t?"url":"value"]&&""!==e.text.trim()&&""!==e["favoriteSites"===t?"url":"value"].trim()):structuredClone(n[t]||[])})}(s,0,t),function(e,t,n){e.enabledPredefinedOptions=e.enabledPredefinedOptions||{},["time","filetype"].forEach(s=>{e.enabledPredefinedOptions[s]&&Array.isArray(e.enabledPredefinedOptions[s])||(e.enabledPredefinedOptions[s]=structuredClone(n.enabledPredefinedOptions?.[s]||[]));const i=t.enabledPredefinedOptions?.[s];if(o[s]&&Array.isArray(i)){const t=new Set(o[s].map(e=>e.value)),n=i.filter(e=>"string"==typeof e&&!t.has(e));n.length>0&&p.warn("SettingsValidator",`Removed ${n.length} unrecognized predefined ${s} option(s): ${n.join(", ")}`),e.enabledPredefinedOptions[s]=i.filter(e=>"string"==typeof e&&t.has(e))}else o[s]||(e.enabledPredefinedOptions[s]=[])})}(s,n,t),function(e,t,n){const s=[],i=new Set,o=new Set(r.map(e=>e.id));(Array.isArray(t.sidebarSectionOrder)&&t.sidebarSectionOrder.length>0?t.sidebarSectionOrder:n.sidebarSectionOrder||[]).forEach(t=>{"string"==typeof t&&o.has(t)&&!0===e.visibleSections[t]&&!i.has(t)&&(s.push(t),i.add(t))}),(n.sidebarSectionOrder||[]).forEach(t=>{"string"==typeof t&&o.has(t)&&!0===e.visibleSections[t]&&!i.has(t)&&s.push(t)}),e.sidebarSectionOrder=s}(s,n,t),"expandAll"===s.sectionDisplayMode?s.sectionStates={}:"collapseAll"===s.sectionDisplayMode&&Array.isArray(s.sidebarSectionOrder)&&(s.sectionStates={},s.sidebarSectionOrder.forEach(e=>{s.sectionStates[e]=!0})),s}(e,an||{}),S(on),Kt.setEnabled(on.showResultStats),Kt.setPosition(on.resultStatsPosition||"slim_appbar"),Tt(on)},save:function(e="SaveBtn"){try{["displayLanguages","displayCountries","displayFiletypes"].forEach(e=>{const t=Ct("displayLanguages"===e?n.LANG_LIST:"displayCountries"===e?n.COUNTRIES_LIST:n.FT_LIST);if(t&&t.customItemsMasterKey&&on[e]&&Array.isArray(on[t.customItemsMasterKey])){const n=on[e].filter(e=>"custom"===e.type),s=new Set(n.map(e=>e.value)),i=(on[t.customItemsMasterKey]||[]).filter(e=>s.has(e.value)).map(e=>{const t=n.find(t=>t.value===e.value);return t?{text:t.text,value:e.value}:e});n.forEach(e=>{i.find(t=>t.value===e.value)||i.push({text:e.text,value:e.value})}),on[t.customItemsMasterKey]=i}}),Et(l,zt.safeStringify(on)),p.log("Settings",`Settings saved by SM${e?` (${e})`:""}.`),Tt(on),"Drag"!==e&&"Toggle Section"!==e&&_n()}catch(e){p.error("Settings","SM save error:",e),qt("alert_generic_error",{context:"saving settings"},"error",5e3)}},reset:function(){confirm(sn("confirm_reset_all_menu"))&&(on=structuredClone(an),Tt(on),Et(l,JSON.stringify(on)),_n(),qt("alert_reset_all_menu_success"))},_resetForTesting:function(){ln=!1,cn=!1,an=null,on={}},resetAllFromMenu:function(){if(confirm(sn("confirm_reset_all_menu")))try{Et(l,JSON.stringify(an)),alert(sn("alert_reset_all_menu_success"))}catch(e){qt("alert_reset_all_menu_fail",{},"error",0)}},getCurrentSettings:function(){return on},setCurrentSettings:function(e){on=e},applyAndSave:function(e,t){on=e,this.save(t)},toggleSectionState:function(e){if(!on)return;const t=structuredClone(on);t.sectionStates||(t.sectionStates={});const n=!(!0===t.sectionStates[e]);!n&&t.accordionMode&&"remember"===t.sectionDisplayMode&&(t.sidebarSectionOrder||[]).forEach(n=>{n!==e&&(t.sectionStates[n]=!0)}),t.sectionStates[e]=n,on=t,this.save("Toggle Section")},buildSkeleton:function(){},show:function(){nn(),rn=structuredClone(on),Fe(()=>{Tt(on),Yt(!0)})},hide:function(e=!1){e&&rn?(on=structuredClone(rn),Fe(()=>{Tt(on),Yt(!1)}),_n()):Yt(!1),rn=null},saveAndClose:function(){Fe(()=>{this.save(),this.hide(!1)})}};function un(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var s in t)if("__source"!==s&&e[s]!==t[s])return!0;return!1}function pn(e,t){this.props=e,this.context=t}(pn.prototype=new H).isPureReactComponent=!0,pn.prototype.shouldComponentUpdate=function(e,t){return un(this.props,e)||un(this.state,t)};var mn=w.__b;w.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),mn&&mn(e)};var fn=w.__e;w.__e=function(e,t,n,s){if(e.then)for(var i,o=t;o=o.__;)if((i=o.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);fn(e,t,n,s)};var hn=w.unmount;function bn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){"function"==typeof e.__c&&e.__c()}),e.__c.__H=null),null!=(e=function(e,t){for(var n in t)e[n]=t[n];return e}({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return bn(e,t,n)})),e}function vn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return vn(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function yn(){this.__u=0,this.o=null,this.__b=null}function xn(e){if(!e.__)return null;var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Sn(){this.i=null,this.l=null}w.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),hn&&hn(e)},(yn.prototype=new H).__c=function(e,t){var n=t.__c,s=this;null==s.o&&(s.o=[]),s.o.push(n);var i=xn(s.__v),o=!1,r=function(){o||s.__z||(o=!0,n.__R=null,i?i(l):l())};n.__R=r;var a=n.__P;n.__P=null;var l=function(){if(! --s.__u){if(s.state.__a){var e=s.state.__a;s.__v.__k[0]=vn(e,e.__c.__P,e.__c.__O)}var t;for(s.setState({__a:s.__b=null});t=s.o.pop();)t.__P=a,t.forceUpdate()}};s.__u++||32&t.__u||s.setState({__a:s.__b=s.__v.__k[0]}),e.then(r,r)},yn.prototype.componentWillUnmount=function(){this.o=[]},yn.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),s=this.__v.__k[0].__c;this.__v.__k[0]=bn(this.__b,n,s.__O=s.__P)}this.__b=null}var i=t.__a&&G(K,null,e.fallback);return i&&(i.__u&=-33),[G(K,null,t.__a?null:e.children),i]};var Tn=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};function wn(e){return this.getChildContext=function(){return e.context},e.children}function En(e){var t=this,n=e.h;if(t.componentWillUnmount=function(){ce(null,t.v),t.v=null,t.h=null},t.h&&t.h!==n&&t.componentWillUnmount(),!t.v){for(var s=t.__v;null!==s&&!s.__m&&null!==s.__;)s=s.__;t.h=n,t.v={nodeType:1,parentNode:n,childNodes:[],__k:{__m:s.__m},contains:function(){return!0},namespaceURI:n.namespaceURI,insertBefore:function(e,n){this.childNodes.push(e),t.h.insertBefore(e,n)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.h.removeChild(e)}}}ce(G(wn,{context:t.context},e.__v),t.v)}function Cn(e,t){var n=G(En,{__v:e,h:t});return n.containerInfo=t,n}(Sn.prototype=new H).__a=function(e){var t=this,n=xn(t.__v),s=t.l.get(e);return s[0]++,function(i){var o=function(){t.props.revealOrder?(s.push(i),Tn(t,e,s)):i()};n?n(o):o()}},Sn.prototype.render=function(e){this.i=null,this.l=new Map;var t=Z(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Sn.prototype.componentDidUpdate=Sn.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Tn(e,n,t)})};var $n="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,kn=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,In=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Ln=/[A-Z0-9]/g,On="undefined"!=typeof document,An=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};H.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(H.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Rn=w.event;function Nn(){}function Dn(){return this.cancelBubble}function zn(){return this.defaultPrevented}w.event=function(e){return Rn&&(e=Rn(e)),e.persist=Nn,e.isPropagationStopped=Dn,e.isDefaultPrevented=zn,e.nativeEvent=e};var Mn={enumerable:!1,configurable:!0,get:function(){return this.class}},Fn=w.vnode;w.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,s={},i=-1===n.indexOf("-");for(var o in t){var r=t[o];if(!("value"===o&&"defaultValue"in t&&null==r||On&&"children"===o&&"noscript"===n||"class"===o||"className"===o)){var a=o.toLowerCase();"defaultValue"===o&&"value"in t&&null==t.value?o="value":"download"===o&&!0===r?r="":"translate"===a&&"no"===r?r=!1:"o"===a[0]&&"n"===a[1]?"ondoubleclick"===a?o="ondblclick":"onchange"!==a||"input"!==n&&"textarea"!==n||An(t.type)?"onfocus"===a?o="onfocusin":"onblur"===a?o="onfocusout":In.test(o)&&(o=a):a=o="oninput":i&&kn.test(o)?o=o.replace(Ln,"-$&").toLowerCase():null===r&&(r=void 0),"oninput"===a&&s[o=a]&&(o="oninputCapture"),s[o]=r}}"select"==n&&s.multiple&&Array.isArray(s.value)&&(s.value=Z(t.children).forEach(function(e){e.props.selected=-1!=s.value.indexOf(e.props.value)})),"select"==n&&null!=s.defaultValue&&(s.value=Z(t.children).forEach(function(e){e.props.selected=s.multiple?-1!=s.defaultValue.indexOf(e.props.value):s.defaultValue==e.props.value})),t.class&&!t.className?(s.class=t.class,Object.defineProperty(s,"className",Mn)):(t.className&&!t.class||t.class&&t.className)&&(s.class=s.className=t.className),e.props=s}(e),e.$$typeof=$n,Fn&&Fn(e)};var Un=w.__r;w.__r=function(e){Un&&Un(e),e.__c};var Pn=w.diffed;w.diffed=function(e){Pn&&Pn(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value)};var Gn=function(e,t,n,s){var i;t[0]=0;for(var o=1;o<t.length;o++){var r=t[o++],a=t[o]?(t[0]|=r?1:2,n[t[o++]]):t[++o];3===r?s[0]=a:4===r?s[1]=Object.assign(s[1]||{},a):5===r?(s[1]=s[1]||{})[t[++o]]=a:6===r?s[1][t[++o]]+=a+"":r?(i=e.apply(a,Gn(e,a,n,["",null])),s.push(i),a[0]?t[0]|=2:(t[o-2]=0,t[o]=i)):s.push(a)}return s},Bn=new Map;const Kn=function(e){var t=Bn.get(this);return t||(t=new Map,Bn.set(this,t)),(t=Gn(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,s=1,i="",o="",r=[0],a=function(e){1===s&&(e||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?r.push(0,e,i):3===s&&(e||i)?(r.push(3,e,i),s=2):2===s&&"..."===i&&e?r.push(4,e,0):2===s&&i&&!e?r.push(5,0,!0,i):s>=5&&((i||!e&&5===s)&&(r.push(s,0,i,n),s=6),e&&(r.push(s,e,0,n),s=6)),i=""},l=0;l<e.length;l++){l&&(1===s&&a(),a(l));for(var c=0;c<e[l].length;c++)t=e[l][c],1===s?"<"===t?(a(),r=[r],s=3):i+=t:4===s?"--"===i&&">"===t?(s=1,i=""):i=t+i[0]:o?t===o?o="":i+=t:'"'===t||"'"===t?o=t:">"===t?(a(),s=1):s&&("="===t?(s=5,n=i,i=""):"/"===t&&(s<5||">"===e[l][c+1])?(a(),3===s&&(r=r[0]),s=r,(r=r[0]).push(2,0,s),s=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),s=2):i+=t),3===s&&"!--"===i&&(s=4,r=r[0])}return a(),r}(e)),t),arguments,[])).length>1?t:t[0]}.bind(G);function Hn(){const e=window.location.href;return URL.canParse(e)?new URL(e):(p.error("URLActionManager","Invalid URL:",e),null)}function Vn(e){window.location.href=e.toString()}function Wn(e,t,n){e.searchParams.set(t,n)}function jn(e,t){e.searchParams.delete(t)}function qn(e){const t=e.searchParams.get("tbs");return t?t.split(",").filter(e=>""!==e.trim()):[]}function Xn(e,t){const n=t.join(",");n?Wn(e,"tbs",n):jn(e,"tbs")}function Yn(e){if(!e)return!0;if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const[t,n,s]=e.split("-").map(Number),i=new Date(t,n-1,s);return i.getFullYear()===t&&i.getMonth()===n-1&&i.getDate()===s}const Zn=/%(?:3A|2C|2F|7C|28|29)/gi,Qn={"%3A":":","%2C":",","%2F":"/","%7C":"|","%28":"(","%29":")"};function Jn(e){try{const t=Hn();if(!t)return null;e(t),jn(t,"start");const n=t.toString(),s=n.indexOf("?");return-1===s?n:n.slice(0,s+1)+n.slice(s+1).replace(Zn,e=>Qn[e.toUpperCase()])}catch(e){return p.error("URLActionManager","Error generating URL:",e),null}}const es={generateURLObject:Hn,generateResetFiltersURL:function(){return Jn(e=>{const t=e.searchParams.get("q")||"",n=new URLSearchParams;let s=t;["site","filetype","ext","inurl","intitle","allintitle","intext","allintext","related","info","cache","source","location","before","after"].forEach(e=>{s=zt._cleanQueryByOperator(s,e)}),s&&n.set("q",s),["tbm","udm"].forEach(t=>{const s=e.searchParams.get(t);s&&n.set(t,s)}),e.search=n.toString()})},generateToggleVerbatimURL:function(){return Jn(e=>{let t=qn(e);const n="li:1",s=t.includes(n);t=t.filter(e=>e!==n),s||t.push(n),Xn(e,t)})},generateTogglePersonalizationURL:function(){return Jn(e=>{es.isPersonalizationActive()?Wn(e,"pws","0"):jn(e,"pws")})},generateFilterURL:function(e,t){return Jn(n=>{let s=qn(n);const i="qdr"===e,o=["lr","cr","as_occt"].includes(e);if(i){let e=s.filter(e=>!(e.startsWith("qdr:")||e.startsWith("cdr:")||e.startsWith("cd_min:")||e.startsWith("cd_max:")));""!==t&&e.push(`qdr:${t}`),Xn(n,e)}else if(o)"lr"===e&&(s=s.filter(e=>!e.startsWith("lr:")),Xn(n,s)),"cr"===e&&(s=s.filter(e=>!e.startsWith("ctr:")),Xn(n,s)),jn(n,e),""===t||"as_occt"===e&&"any"===t||Wn(n,e,t);else if("as_filetype"===e){let e=n.searchParams.get("q")||"";e=zt._cleanQueryByOperator(e,"filetype"),""!==t?Wn(n,"q",(e+` filetype:${t}`).trim()):e?Wn(n,"q",e):jn(n,"q"),jn(n,"as_filetype")}})},generateSiteSearchURL:function(e){return Jn(t=>{const n=Array.isArray(e)?e.flatMap(e=>zt.parseCombinedValue(e)):zt.parseCombinedValue(e),s=[...new Set(n.map(e=>e.toLowerCase().trim()))];if(0===s.length)return;let i=t.searchParams.get("q")||"";i=zt._cleanQueryByOperator(i,"site");let o=s.map(e=>`site:${e}`).join(" OR ");Wn(t,"q",`${i} ${o}`.trim())})},generateExcludeSiteSearchURL:function(e){return Jn(t=>{const n=Array.isArray(e)?e:[e],s=[...new Set(n.map(e=>e.toLowerCase().trim()).filter(Boolean))];if(0===s.length)return;let i=t.searchParams.get("q")||"";i=zt._cleanQueryByOperator(i,"site");const o=s.map(e=>`-site:${e}`).join(" ");Wn(t,"q",`${i} ${o}`.trim())})},generateCombinedFiletypeSearchURL:function(e){return Jn(t=>{const n=Array.isArray(e)?e.flatMap(e=>zt.parseCombinedValue(e)):zt.parseCombinedValue(e),s=[...new Set(n.map(e=>e.toLowerCase().trim()))];if(0===s.length)return;let i=t.searchParams.get("q")||"";i=zt._cleanQueryByOperator(i,"filetype"),Wn(t,"q",`${i} ${s.map(e=>`filetype:${e}`).join(" OR ")}`.trim()),jn(t,"as_filetype")})},generateClearSiteSearchURL:function(){return Jn(e=>{const t=e.searchParams.get("q")||"";let n=zt._cleanQueryByOperator(t,"site");n?Wn(e,"q",n):jn(e,"q")})},generateClearFiletypeSearchURL:function(){return Jn(e=>{let t=e.searchParams.get("q")||"";t=zt._cleanQueryByOperator(t,"filetype"),t?Wn(e,"q",t):jn(e,"q"),jn(e,"as_filetype")})},generateDateRangeURL:function(e,t){return Yn(e)&&Yn(t)?Jn(n=>{let s="cdr:1";if(e){const[t,n,i]=e.split("-");s+=`,cd_min:${n}/${i}/${t}`}if(t){const[e,n,i]=t.split("-");s+=`,cd_max:${n}/${i}/${e}`}let i=qn(n).filter(e=>!(e.startsWith("qdr:")||e.startsWith("cdr:")||e.startsWith("cd_min:")||e.startsWith("cd_max:")));Xn(n,[...i,s])}):null},triggerResetFilters:function(){const e=es.generateResetFiltersURL();e?Vn(e):qt("alert_error_resetting_filters",{},"error",5e3)},triggerToggleVerbatim:function(){const e=es.generateToggleVerbatimURL();e?Vn(e):qt("alert_error_toggling_verbatim",{},"error",5e3)},triggerTogglePersonalization:function(){const e=es.generateTogglePersonalizationURL();e?Vn(e):qt("alert_error_toggling_personalization",{},"error",5e3)},applyFilter:function(e,t){if("as_filetype"===e&&zt.parseCombinedValue(t).length>1)return void es.applyCombinedFiletypeSearch(t);const n=es.generateFilterURL(e,t);n?Vn(n):qt("alert_error_applying_filter",{type:e,value:t},"error",5e3)},applySiteSearch:function(e){const t=es.generateSiteSearchURL(e);if(t)Vn(t);else{const t=Array.isArray(e)?e.join(", "):e;qt("alert_error_applying_site_search",{site:t},"error",5e3)}},applyExcludeSiteSearch:function(e){const t=es.generateExcludeSiteSearchURL(e);if(t)Vn(t);else{const t=Array.isArray(e)?e.join(", "):e;qt("alert_error_applying_site_search",{site:t},"error",5e3)}},applyCombinedFiletypeSearch:function(e){const t=es.generateCombinedFiletypeSearchURL(e);if(t)Vn(t);else{const t=Array.isArray(e)?e.join(", "):e;qt("alert_error_applying_filter",{type:"filetype (combined)",value:t},"error",5e3)}},clearSiteSearch:function(){const e=es.generateClearSiteSearchURL();e?Vn(e):qt("alert_error_clearing_site_search",{},"error",5e3)},clearFiletypeSearch:function(){const e=es.generateClearFiletypeSearchURL();e?Vn(e):qt("alert_error_applying_filter",{type:"filetype",value:"(clear)"},"error",5e3)},applyDateRange:function(e,t){const n=es.generateDateRangeURL(e,t);n?Vn(n):qt("alert_error_applying_date",{},"error",5e3)},isPersonalizationActive:function(){try{const e=Hn();return!e||"0"!==e.searchParams.get("pws")}catch(e){return p.warn("URLActionManager","isPersonalizationActive Error:",e),!0}},isVerbatimActive:function(){try{const e=Hn();return!!e&&/li:1/.test(e.searchParams.get("tbs")||"")}catch(e){return p.warn("URLActionManager","Error checking verbatim status:",e),!1}},extractCurrentCriteria:function(){const e=Hn();if(!e)return{};const t={},n=e.searchParams.get("tbs")||"",s=e.searchParams.get("lr")||"",i=e.searchParams.get("cr")||"",o=e.searchParams.get("tbm")||"",r=e.searchParams.get("safe")||"",a=e.searchParams.get("udm")||"",l=e.searchParams.get("as_occt")||"",c=e.searchParams.get("as_qdr")||"",d=e.searchParams.get("nfpr")||"",_=e.searchParams.get("as_eq")||"",g=e.searchParams.get("q")||"";n&&(t.tbs=n),s&&(t.lr=s),i&&(t.cr=i),o&&(t.tbm=o),r&&(t.safe=r),a&&(t.udm=a),l&&"any"!==l&&(t.as_occt=l),c&&(t.as_qdr=c),d&&(t.nfpr=d),_&&(t.as_eq=_);const u=[];$t.tokenize(g).forEach(e=>{"operator"!==e.type||"site"!==e.subtype&&"filetype"!==e.subtype||u.push(e.raw)}),u.length>0&&(t.q_ops=u),t.rawQuery=g;let p=zt._cleanQueryByOperator(g,"site");return p=zt._cleanQueryByOperator(p,"filetype"),t.pureQuery=p.trim(),t},generateCompositeURL:function(e,t=!1){return Jn(n=>{let s=n.searchParams.get("q")||"";if(t&&e.q)s=e.q;else if(e.q_tokens&&Array.isArray(e.q_tokens)){let t=$t.tokenize(s);const n=new Set,i=new Set;e.q_tokens.forEach(e=>{"operator"===e.type&&e.subtype&&(e.isNegative?i.add(e.subtype):n.add(e.subtype))}),t=t.filter(e=>!("operator"===e.type&&e.subtype&&(!e.isNegative&&n.has(e.subtype)||e.isNegative&&i.has(e.subtype)))),e.q_tokens.forEach(e=>{if("operator"===e.type&&e.subtype)t.push(e);else{const n=t.some(t=>t.raw.toLowerCase()===e.raw.toLowerCase());n||t.push(e)}}),s=t.map(e=>e.raw).join(" ").trim()}else if(s=zt._cleanQueryByOperator(s,"site"),s=zt._cleanQueryByOperator(s,"filetype"),e.q_ops&&e.q_ops.length>0){const t=new Set($t.tokenize(s).filter(e=>"operator"===e.type).map(e=>e.raw.toLowerCase())),n=e.q_ops.filter(e=>!t.has(e.toLowerCase()));n.length>0&&(s=`${s} ${n.join(" ")}`.trim())}Wn(n,"q",s);const i=["tbs","lr","cr","tbm","safe","as_occt","udm","as_qdr","nfpr","as_eq"];i.forEach(e=>jn(n,e)),jn(n,"as_filetype"),i.forEach(t=>{e[t]&&Wn(n,t,e[t])})})}},ts=()=>{const{text:e,isVisible:t,isEnabled:s}=Mt.value;return s&&t&&e?Kn`
<div id="${n.RESULT_STATS_CONTAINER}">
<div id="gscs-result-stats-display">${e}</div>
</div>
`:null},ns=({name:e,className:t,style:n,title:s})=>Kn`
<span
class="gscs-icon${t?` ${t}`:""}"
style=${n}
aria-hidden=${s?void 0:"true"}
title=${s||void 0}
dangerouslySetInnerHTML=${{__html:e&&i[e]||""}}
/>
`,ss=y,is=({id:e,className:t,iconName:n,text:i,title:o,onClick:r,isActive:a,isLink:l,href:c,target:d})=>{const _=`${t||""} ${a?s.IS_ACTIVE:""}`,g=n?Kn`<${ns} name=${n} className="gscs-icon-wrapper" />`:null,u=i?Kn`<span class="gscs-label">${i}</span>`:null;return l?Kn`
<a
id=${e}
class=${_}
href=${c}
title=${o}
onClick=${r}
target=${d||"_blank"}
rel="noopener noreferrer"
>
${g} ${u}
</a>
`:Kn`
<button
type="button"
id=${e}
class=${_}
title=${o}
aria-pressed=${null!=a?!!a:void 0}
onClick=${r}
onMouseDown=${e=>{1===e.button&&r&&(e.preventDefault(),r(e))}}
>
${g} ${u}
</button>
`},os=({location:e})=>{const t=es.isPersonalizationActive(),i="header"===e,o=i?null:ss("tool_personalization_toggle"),r=t?"tooltip_toggle_personalization_off":"tooltip_toggle_personalization_on",a=es.generateTogglePersonalizationURL();return Kn`
<${is}
isLink=${!0}
href=${a}
target="_self"
id=${n.TOOL_PERSONALIZE}
className=${i?s.HEADER_BUTTON:s.BUTTON}
iconName="personalization"
text=${o}
title=${ss(r)}
onClick=${e=>{0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),es.triggerTogglePersonalization())}}
isActive=${t}
/>
`},rs=({location:e})=>{const t=(()=>{const e="https://www.google.com/advanced_search";let t=e;try{const n=zt.getCurrentURL();if(n){const s=n.searchParams.get("q");if(s){let n=zt._cleanQueryByOperator(s,"site");n=zt._cleanQueryByOperator(n,"filetype"),n&&(t=`${e}?as_q=${encodeURIComponent(n)}`)}}}catch(e){p.warn("SidebarControls","Error constructing advanced search URL with query:",e)}return t})(),n="header"===e;return Kn`
<${is}
isLink=${!0}
target="_blank"
className=${n?s.HEADER_BUTTON:s.BUTTON}
iconName="magnifyingGlass"
text=${n?null:ss("tool_advanced_search")}
title=${ss("link_advanced_search_title")}
href=${t}
/>
`},as=({serviceId:e,location:t})=>{const n=g[e];if(!n)return null;const i="header"===t,o=i?null:ss(n.textKey);let r=n.homepage;try{const e=zt.getCurrentURL();if(e){const t=e.searchParams.get("q");t&&(r=`${n.baseUrl}?${n.queryParam}=${encodeURIComponent(t)}`)}}catch(e){p.error("SidebarControls","Error generating service URL:",e)}return Kn`
<${is}
isLink=${!0}
href=${r}
target="_blank"
id=${n.id}
className=${i?s.HEADER_BUTTON:s.BUTTON}
iconName=${n.iconName}
text=${o}
title=${ss(n.titleKey)}
onClick=${()=>{}}
/>
`},ls=({location:e})=>{const t="header"===e,i=es.generateResetFiltersURL();return Kn`
<${is}
isLink=${!0}
href=${i}
target="_self"
id=${n.TOOL_RESET_BUTTON}
className=${t?s.HEADER_BUTTON:s.BUTTON}
iconName="reset"
text=${t?null:ss("tool_reset_filters")}
title=${ss("tool_reset_filters")}
onClick=${e=>{0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),es.triggerResetFilters())}}
/>
`},cs=({location:e})=>{const t="header"===e,i=es.generateToggleVerbatimURL();return Kn`
<${is}
isLink=${!0}
href=${i}
target="_self"
id=${n.TOOL_VERBATIM}
className=${t?s.HEADER_BUTTON:s.BUTTON}
iconName="verbatim"
text=${t?null:ss("tool_verbatim_search")}
title=${ss("tool_verbatim_search")}
onClick=${e=>{0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),es.triggerToggleVerbatim())}}
isActive=${es.isVerbatimActive()}
/>
`},ds=({onCollapse:e,onSettings:t})=>{const i=mt.value,{advancedSearchLinkLocation:o,googleScholarShortcutLocation:r,googleTrendsShortcutLocation:a,googleDatasetSearchShortcutLocation:l,verbatimButtonLocation:c,personalizationButtonLocation:d,resetButtonLocation:_}=i;return Kn`
<div class="${s.SIDEBAR_HEADER}">
<${is}
id=${n.COLLAPSE_BUTTON}
className=${s.HEADER_BUTTON}
iconName=${i.sidebarCollapsed?"chevronRight":"chevronLeft"}
title=${i.sidebarCollapsed?ss("sidebar_expand_title"):ss("sidebar_collapse_title")}
onClick=${e}
/>
${"header"===o&&"none"!==i.advancedSearchLinkLocation&&Kn`<${rs} location="header" />`}
${"header"===r&&"none"!==i.googleScholarShortcutLocation&&Kn`<${as} serviceId="googleScholar" location="header" />`}
${"header"===a&&"none"!==i.googleTrendsShortcutLocation&&Kn`<${as} serviceId="googleTrends" location="header" />`}
${"header"===l&&"none"!==i.googleDatasetSearchShortcutLocation&&Kn`<${as} serviceId="googleDatasetSearch" location="header" />`}
${"header"===c&&"none"!==i.verbatimButtonLocation&&Kn`<${cs} location="header" />`}
${"header"===d&&"none"!==i.personalizationButtonLocation&&Kn`<${os} location="header" />`}
${"header"===_&&"none"!==i.resetButtonLocation&&Kn`<${ls} location="header" />`}
<div class="${s.DRAG_HANDLE}" role="separator" aria-label=${ss("drag_handle_label")}></div>
<${is}
className=${s.SETTINGS_BUTTON}
iconName="settings"
title=${ss("tooltip_settings")}
onClick=${t}
/>
</div>
`},_s=()=>{const e=mt.value,{advancedSearchLinkLocation:t,googleScholarShortcutLocation:i,googleTrendsShortcutLocation:o,googleDatasetSearchShortcutLocation:r,verbatimButtonLocation:a,personalizationButtonLocation:l,resetButtonLocation:c,showResultStats:d}=e;return[c,l,a,t,i,o,r].some(e=>"topBlock"===e)||d?Kn`
<div id="${n.FIXED_TOP_BUTTONS}">
${d&&Kn`<${ts} />`}
${"topBlock"===c&&"none"!==e.resetButtonLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${ls} location="topBlock" />
</div>
`}
${"topBlock"===l&&"none"!==e.personalizationButtonLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${os} location="topBlock" />
</div>
`}
${"topBlock"===a&&"none"!==e.verbatimButtonLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${cs} location="topBlock" />
</div>
`}
${"topBlock"===t&&"none"!==e.advancedSearchLinkLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${rs} location="topBlock" />
</div>
`}
${"topBlock"===i&&"none"!==e.googleScholarShortcutLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${as} serviceId="googleScholar" location="topBlock" />
</div>
`}
${"topBlock"===o&&"none"!==e.googleTrendsShortcutLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${as} serviceId="googleTrends" location="topBlock" />
</div>
`}
${"topBlock"===r&&"none"!==e.googleDatasetSearchShortcutLocation&&Kn`
<div class="${s.FIXED_TOP_BUTTONS_ITEM}">
<${as} serviceId="googleDatasetSearch" location="topBlock" />
</div>
`}
</div>
`:null},gs=y;function us(e){if(!e||"string"!=typeof e)return 1/0;const t=e.match(/^([hdwmyn])(\d*)$/i);if(!t)return 1/0;const n=t[1].toLowerCase(),s=parseInt(t[2]||"1",10);if(isNaN(s))return 1/0;switch(n){case"n":return s;case"h":return 60*s;case"d":return 24*s*60;case"w":return 7*s*24*60;case"m":return 30*s*24*60;case"y":return 365*s*24*60;default:return 1/0}}function ps(e,t,n,s){const i=[],o=new Set,a=r.find(t=>t.id===e);if(!a)return[];const l=a.displayItemsKey&&Array.isArray(n[a.displayItemsKey]),c="sidebar-section-filetype"===e&&n.enableFiletypeCheckboxMode,d="sidebar-section-site-search"===e&&n.enableSiteSearchCheckboxMode,_="sidebar-section-occurrence"===e;if(t&&t.forEach(t=>{if(t&&"string"==typeof t.textKey&&"string"==typeof t.v)if(_){const e=gs(t.textKey);i.push({text:e,value:t.v,originalText:e,isCustom:!1,isAnyOption:""===t.v}),o.add(t.v)}else if(""===t.v&&!(c&&"sidebar-section-filetype"===e||d&&"sidebar-section-site-search"===e)){const n=gs("sidebar-section-site-search"===e?"filter_any_site":t.textKey);i.push({text:n,value:t.v,originalText:n,isCustom:!1,isAnyOption:!0}),o.add(t.v)}}),_)return i;const g=a.predefinedOptionsKey;let u=null,p=null;try{const e=x()||navigator.language||"en-US";u=new Intl.DisplayNames([e],{type:"region"}),p=new Intl.DisplayNames([e],{type:"language"})}catch(e){}const m=(e,t)=>{if(!e)return"";if(e.text)return e.text;if(e.code)try{if("country"===t&&u)return u.of(e.code);if("language"===t&&p)return p.of(e.code)}catch(e){}return e.textKey?gs(e.textKey):e.value||""};if(l)(n[a.displayItemsKey]||[]).forEach(t=>{if(!o.has(t.value)){let n=t.text;if("predefined"===t.type){if(t.textKey||t.originalKey)n=gs(t.textKey||t.originalKey);else if(!n&&s&&g){const e=(s[g]||[]).find(e=>e.value===t.value);e&&(n=m(e,g))}if("sidebar-section-country"===e&&n){const e=zt.parseIconAndText(n);n=`${e.icon} ${e.text}`.trim()}}i.push({text:n||t.value,value:t.value,originalText:n||t.value,isCustom:"custom"===t.type}),o.add(t.value)}});else{const t=a.customItemsKey,r=s&&g&&s[g]||[],l=t&&n[t]||[];let d;d=c&&"sidebar-section-filetype"===e?(n.enabledPredefinedOptions||{})[g||""]||[]:g&&(n.enabledPredefinedOptions||{})[g]||[];const _=[],u=new Set(d);Array.isArray(r)&&r.forEach(e=>{if(e&&"string"==typeof e.value&&u.has(e.value)&&!o.has(e.value)){const t=m(e,g);_.push({text:t,value:e.value,originalText:t,isCustom:!1})}}),(Array.isArray(l)?l.filter(e=>e&&"string"==typeof e.text&&("string"==typeof e.value||"string"==typeof e.url)):[]).forEach(e=>{const t=e.value||e.url;o.has(t)||_.push({text:e.text,value:t,originalText:e.text,isCustom:!0})}),_.forEach(e=>{o.has(e.value)||(i.push(e),o.add(e.value))})}if(t&&!_&&t.forEach(e=>{if(e&&"string"==typeof e.textKey&&"string"==typeof e.v&&""!==e.v&&!o.has(e.v)){const t=gs(e.textKey);i.push({text:t,value:e.v,originalText:t,isCustom:!1}),o.add(e.v)}}),!l&&!_){let t=null;const n=i.findIndex(e=>!0===e.isAnyOption);-1!==n&&(t=i.splice(n,1)[0]),i.sort((t,n)=>{if("sidebar-section-site-search"===e)return 0;if("sidebar-section-time"===e){const e=us(t.value),s=us(n.value);if((e!==1/0||s!==1/0)&&e!==s)return e-s}const s=t.originalText||t.text,i=n.originalText||n.text,o="en"===x()?void 0:x();return s.localeCompare(i,o,{numeric:!0,sensitivity:"base"})}),t&&i.unshift(t)}return i}const ms=y;function fs(e,t){if(!mt||!mt.value)return null;const n=mt.value;let s=[];if("sites"===t?s=n.favoriteSites||[]:"languages"===t?s=n.displayLanguages||[]:"countries"===t?s=n.displayCountries||[]:"times"===t?s=n.customTimeRanges||[]:"filetypes"===t&&(s=n.displayFiletypes||[]),!s||0===s.length)return null;const i=e.toLowerCase(),o=s.find(e=>"sites"===t?e.url&&e.url.toLowerCase()===i:e.value&&e.value.toLowerCase()===i);return o&&(o.text||o.name)?o.text||o.name:null}const hs=function(){function e(e,t){if(!o[t])return null;const n=o[t].find(t=>t.value===e);return n?ms(n.textKey):null}const n={lang:null,region:null,lastSysLang:null};function s(){return x()||navigator.language||"en-US"}function i(){const e=s();return n.lastSysLang===e&&n.lang||(n.lastSysLang=e,n.lang=new Intl.DisplayNames([e],{type:"language"}),n.region=new Intl.DisplayNames([e],{type:"region"})),n.lang}let r=null,a=null;function l(e){if(!e)return e;try{let t;if(/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(e)){const[n,s,i]=e.split("/").map(Number);t=new Date(i,n-1,s)}else{const[n,s,i]=e.split("-").map(Number);t=new Date(n,s-1,i)}return isNaN(t.getTime())?e:function(){const e=s();return a===e&&r||(a=e,r=new Intl.DateTimeFormat(e,{year:"numeric",month:"short",day:"numeric"})),r}().format(t)}catch(t){return e}}function c(t){if(!t)return[];const n=t.split(","),s=[];return n.forEach(t=>{if(t.startsWith("qdr:")){const n=t.substring(4),i=fs(n,"times");if(i)return void s.push(i);let o=e(n,"time");if(!o){const e=n.match(/^([ndwmyh])(\d+)$/i);if(e){const t=e[1].toLowerCase(),s=e[2],i=`dynamic_time_past_${t}`,r=ms(i,{value:s});o=r&&r!==i?r:n}else o=n}s.push(o)}else if(t.startsWith("cdr:1")){const e=n.find(e=>e.startsWith("cd_min:")),t=n.find(e=>e.startsWith("cd_max:")),i=e?l(e.substring(7)):null,o=t?l(t.substring(7)):null;i&&o?s.push(`${i} – ${o}`):i?s.push(`${i} –`):o?s.push(`– ${o}`):s.push(ms("section_date_range"))}else"li:1"===t&&s.push(ms("tool_verbatim_search"))}),s}function d(t){if(!t)return[];const n=[],s=t.split("|").map(e=>e.trim()).filter(Boolean),o=i();return s.forEach(t=>{const s=fs(t,"languages");if(s)return void n.push(s);let i=t.replace(/^lang_/i,"");if(i.includes("-")){const e=i.split("-");i=e[0].toLowerCase()+"-"+e[1].toUpperCase()}else i=i.toLowerCase();try{if(!o)throw new Error("Engine uninitialized");n.push(o.of(i))}catch(s){const o=e(t,"language");n.push(o||i)}}),n}function _(t){if(!t)return[];const s=[],o=t.split("|").map(e=>e.trim()).filter(Boolean),r=(i(),n.region);return o.forEach(t=>{const n=fs(t,"countries");if(n)return void s.push(n);const i=t.replace(/^country/i,"").toUpperCase();let o;try{if(!r)throw new Error("Engine uninitialized");o=r.of(i)||i}catch(n){o=e(t,"country")||i}const a=function(e){if(!e||2!==e.length)return"";const t=e.toUpperCase().split("").map(e=>127397+e.charCodeAt(0));return String.fromCodePoint(...t)}(i);s.push(a?`${a} ${o}`:o)}),s}function g(e){return e?e.startsWith("-(")&&e.endsWith(")")?e.slice(2,-1):e.startsWith("-")?e.slice(1):e:e}function u(e){let t=e.trim();t.toLowerCase().startsWith("site:")&&(t=t.substring(5)),t=t.trim();const n=fs(t,"sites");if(n)return n;try{const e=t.replace(/^https?:\/\//i,"").split("/")[0].replace(/^www\./i,""),n=e.split(".");if(n.length>=2){let e=n[n.length-2];return n.length>2&&n[n.length-2].length<=3&&(e=n[n.length-3]),e.length<=4?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}return e}catch(e){return t}}function p(e){let t=e.trim();t.toLowerCase().startsWith("filetype:")?t=t.substring(9):t.startsWith(".")&&(t=t.substring(1));return fs(t,"filetypes")||t.toUpperCase()}return{identifyClusterName:function(e,n){if(!mt||!mt.value||!n||0===n.length)return null;const s=mt.value;let i=[],r="";if("sites"===e){const e=t.favoriteSites||[];i=[...s.favoriteSites||[],...e],r="url"}else if("filetypes"===e)i=s.customFiletypes||[],r="value";else if("countries"===e){const e=(o.country||[]).filter(e=>e.textKey||e.text).map(e=>({text:e.textKey?ms(e.textKey):e.text,value:e.value}));i=[...s.customCountries||[],...e],r="value"}else if("languages"===e){const e=(o.language||[]).filter(e=>e.textKey||e.text).map(e=>({text:e.textKey?ms(e.textKey):e.text,value:e.value}));i=[...s.customLanguages||[],...e],r="value"}if(0===i.length)return null;const a=[...new Set(n.map(e=>e.toLowerCase().trim()))].sort();for(const t of i){const n=t[r]||"";if(!n)continue;let s=[];if("sites"===e||"filetypes"===e?s=n.split(/(?:\s+OR\s+)|(?:\s+or\s+)/i).map(t=>{let n=t.trim().toLowerCase();return"sites"===e&&n.startsWith("site:")&&(n=n.substring(5)),"filetypes"===e&&n.startsWith("filetype:")&&(n=n.substring(9)),n}).filter(Boolean):"countries"===e?s=n.split("|").map(e=>e.trim().replace(/^country/i,"").toLowerCase()).filter(Boolean):"languages"===e&&(s=n.split("|").map(e=>e.trim().replace(/^lang_/i,"").toLowerCase()).filter(Boolean)),0===s.length)continue;const i=[...new Set(s)].sort();if(a.length===i.length&&a.every((e,t)=>e===i[t]))return t.text}return null},parseTime:c,parseLanguage:function(e){return e?d(g(e)):[]},parseCountry:function(e){return e?_(g(e)):[]},parseSite:function(e){return e.split(/\s+OR\s+/gi).map(e=>u(e))},parseFiletype:function(e){return e.split(/\s+OR\s+/gi).map(e=>p(e))},parseQueryTokens:function(e){return e?$t.tokenize(e).map(e=>{let t=e.value;if("operator"===e.type)if("site"===e.subtype)t=[...new Set(e.value.split(/\s+OR\s+/gi).map(e=>u(e)))].join(", ");else if("filetype"===e.subtype)t=[...new Set(e.value.split(/\s+OR\s+/gi).map(e=>p(e)))].join(", ");else if("before"===e.subtype){const n=ms("op_before");t=`${n&&"op_before"!==n?n:"Before"}: ${l(e.value)}`}else if("after"===e.subtype){const n=ms("op_after");t=`${n&&"op_after"!==n?n:"After"}: ${l(e.value)}`}else{const n=ms(`op_${e.subtype}`);n&&n!==`op_${e.subtype}`&&(t=`${n}: ${e.value}`)}else if("exact"===e.type){const n=ms("op_exact");t="op_exact"!==n?`${n}: ${e.value}`:e.value}else if("range"===e.type){const n=ms("op_range");t="op_range"!==n?`${n}: ${e.value}`:e.value}return{...e,displayName:t}}):[]},generateName:function(e){const t=[],n=e.parsedTokens||e.q_tokens;if(n&&Array.isArray(n)){const e=n.filter(e=>"keyword"===e.type&&!e.isNegative).map(e=>e.displayName||e.raw);e.length>0&&t.push(...e)}else e.pureQuery?t.push(`"${e.pureQuery}"`):!e.q||e.q_ops&&0!==e.q_ops.length||(e.q.length>15?t.push(`"${e.q.substring(0,15)}..."`):t.push(`"${e.q}"`));if(e.q_ops&&e.q_ops.length>0&&t.push(...function(e){if(!e||!Array.isArray(e))return[];const t=[];return e.forEach(e=>{const n=e.toLowerCase().startsWith("site:"),s=e.toLowerCase().startsWith("filetype:");if(n){const n=fs(e.replace(/site:/gi,"").trim(),"sites");if(n)return void t.push(n)}else if(s){const n=fs(e.replace(/filetype:/gi,"").trim(),"filetypes");if(n)return void t.push(n)}const i=e.split(/(?:\s+OR\s+)/gi).map(e=>e.trim());i.forEach(e=>{e.toLowerCase().startsWith("site:")?t.push(u(e)):e.toLowerCase().startsWith("filetype:")&&t.push(p(e))})}),t}(e.q_ops)),n&&Array.isArray(n)){const e=n.find(e=>"after"===e.subtype&&!e.isNegative),s=n.find(e=>"before"===e.subtype&&!e.isNegative);e&&s?t.push(`${l(e.value)} – ${l(s.value)}`):e?t.push(e.displayName):s&&t.push(s.displayName)}if(e.as_occt&&"any"!==e.as_occt){const n=`filter_occurrence_${e.as_occt}`,s=ms(n);s&&s!==n&&t.push(s)}if(e.tbs&&t.push(...c(e.tbs)),e.lr){const n=e.lr.startsWith("-"),s=d(g(e.lr));n&&s.length>0?t.push("✗ "+s.join(", ")):t.push(...s)}if(e.cr){const n=e.cr.startsWith("-"),s=_(g(e.cr));n&&s.length>0?t.push("✗ "+s.join(", ")):t.push(...s)}if(e.tbm){const n={nws:"news",isch:"images",vid:"videos",shop:"shopping",lcl:"places",bks:"books"}[e.tbm.toLowerCase()];if(n){const e=`udm_${n}`,s=ms(e);t.push(s&&s!==e?s:n)}else t.push(e.tbm.toUpperCase())}if(e.udm){const n={1:"places",2:"images",7:"videos",12:"news",14:"web",web:"web",18:"forums",28:"shopping",36:"books",39:"shorts",50:"ai"},s=String(e.udm).toLowerCase();if(n[s]){const e=`udm_${n[s]}`,i=ms(e);t.push(i&&i!==e?i:n[s])}else t.push("UDM "+e.udm)}"1"===e.nfpr&&t.push("Exact");const s=e.parsedTokens||e.q_tokens;if(s&&Array.isArray(s)){const e=s.filter(e=>e.isNegative).map(e=>`✗ ${e.displayName||e.value}`);e.length>0&&t.push(...e)}let i=[...new Set(t.filter(Boolean))].join(" + ");return i=i.replaceAll("+ +","+"),i}}}(),bs=y,vs=({onOpenSaveModal:e,onDeleteFilter:t})=>{const n=mt.value,[i,o]=we(null),r=Ce(null);return Ee(()=>()=>{r.current&&clearTimeout(r.current)},[]),Kn`
<div class="gscs-custom-filters-container">
<!-- Filter List -->
<ul class="${s.CUSTOM_LIST}">
${n.customFilters&&n.customFilters.map(e=>{const n=i===e.id,a=e.criteria.parsedTokens||e.criteria.q_tokens||[];let l=e.includeKeyword;return a.length>0?l=a.some(e=>"keyword"===e.type):e.criteria.q&&!e.criteria.q_ops&&(l=!0),Kn`
<li class="${s.CUSTOM_FILTER_ITEM}">
<a
href=${es.generateCompositeURL(e.criteria||"",e.includeKeyword)}
class="${s.FILTER_OPTION}"
title=${(e=>{let t=`${e.name}`;const n=e.criteria||{},s=[];if(n.tbs&&s.push(`${bs("filter_time")||"Time"}:\n ${hs.parseTime(n.tbs).join(", ")}`),n.lr){const e=n.lr.startsWith("-");s.push(`${bs("filter_language")||"Language"}:\n ${e?"✗ ":""}${hs.parseLanguage(n.lr).join(", ")}`)}if(n.cr){const e=n.cr.startsWith("-");s.push(`${bs("filter_country")||"Country"}:\n ${e?"✗ ":""}${hs.parseCountry(n.cr).join(", ")}`)}if(n.udm){const e={1:"places",2:"images",7:"videos",12:"news",14:"web",web:"web",18:"forums",28:"shopping",36:"books",39:"shorts",50:"ai"}[String(n.udm).toLowerCase()];if(e){const t=`udm_${e}`,n=bs(t);s.push(`UDM:\n ${n&&n!==t?n:e}`)}else s.push(`UDM:\n ${n.udm}`)}if(n.tbm){const e={nws:"news",isch:"images",vid:"videos",shop:"shopping",lcl:"places",bks:"books"}[n.tbm.toLowerCase()];if(e){const t=`udm_${e}`,n=bs(t);s.push(`TBM:\n ${n&&n!==t?n:e}`)}else s.push(`TBM:\n ${n.tbm.toUpperCase()}`)}const i=[],o=[],r=[],a=[],l=n.parsedTokens||n.q_tokens;return l&&l.length?l.forEach(e=>{"keyword"===e.type?i.push((e.isNegative?"✗ ":"")+(e.displayName||e.raw||e.value)):"operator"===e.type&&("site"===e.subtype?o.push((e.isNegative?"✗ ":"")+hs.parseSite(e.value).join(", ")):"filetype"===e.subtype?r.push((e.isNegative?"✗ ":"")+hs.parseFiletype(e.value).join(", ")):e.subtype&&a.push((e.isNegative?"✗ ":"")+`${e.subtype}:${e.value}`))}):n.q_ops&&n.q_ops.length&&n.q_ops.forEach(e=>{zt.splitOrValues(e).forEach(e=>{const t=e.toLowerCase();t.startsWith("site:")?o.push(...hs.parseSite(e)):t.startsWith("filetype:")?r.push(...hs.parseFiletype(e)):a.push(e)})}),i.length>0&&s.push(`${bs("filter_keywords")||"Keywords"}:\n ${i.join(", ")}`),o.length>0&&s.push(`${bs("filter_site")||"Site"}:\n - ${o.join("\n - ")}`),r.length>0&&s.push(`${bs("filter_filetype")||"Filetype"}:\n - ${r.join("\n - ")}`),a.length>0&&s.push(`${bs("filter_operators")||"Operators"}:\n ${a.join(", ")}`),s.length>0&&(t+=`\n\n• ${s.join("\n• ")}`),t})(e)}
onClick=${e=>{n&&e.preventDefault()}}
>
<span class="gscs-custom-filter-icon"
>${l?"🔍":"⚡"}</span
>
<span class="gscs-label">${e.name}</span>
</a>
<!-- Delete Button (Hover) -->
<button
class="${s.CUSTOM_FILTER_DELETE_BTN} ${n?"is-confirming":""}"
onClick=${n=>((e,n)=>{e.stopPropagation(),i===n?(t(n),o(null),r.current&&clearTimeout(r.current)):(o(n),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{o(null)},3e3))})(n,e.id)}
title="${n?bs("modal_button_delete_confirm")||"Click again to delete":bs("modal_button_delete_title")}"
aria-label="${n?bs("modal_button_delete_confirm")||"Click again to delete":bs("modal_button_delete_title")} — ${e.name}"
>
<${ns} name="delete" />
</button>
</li>
`})}
${(!n.customFilters||0===n.customFilters.length)&&Kn`
<li class="gscs-custom-filters__empty"
>
${bs("no_custom_filters")||"No saved filters yet"}
</li>
`}
</ul>
<!-- Save Button -->
<button
class="${s.BUTTON} ${s.BUTTON_SIDEBAR_SAVE_FILTER} gscs-custom-filters__save-btn"
onClick=${e}
title="${bs("tooltip_save_current_filters")}"
>
<${ns} name="add" className="icon" style=${{display:"inline-flex",alignItems:"center",justifyContent:"center"}} />
${bs("modal_button_save_current_filter")}
</button>
</div>
`},ys=({text:e,value:t,filterType:n,isSelected:i,title:o,onClick:r,icon:a,children:l,href:c})=>{let d=Kn`
${a?Kn`<span class="country-icon-container">${a}</span> `:null}
<span class="${s.LABEL}">${e}</span>
`;return c?Kn`
<a
href=${c}
class="${s.FILTER_OPTION} ${i?s.IS_SELECTED:""}"
title=${o}
aria-label=${o}
data-filter-type=${n}
data-filter-value=${t}
onClick=${e=>{e.ctrlKey||e.metaKey||e.shiftKey||e.button}}
>
${l||d}
</a>
`:Kn`
<div
role="button"
tabIndex=0
aria-pressed=${i}
class="${s.FILTER_OPTION} ${i?s.IS_SELECTED:""}"
title=${o}
aria-label=${o}
data-filter-type=${n}
data-filter-value=${t}
onClick=${r}
onKeyDown=${e=>{"Enter"!==e.key&&" "!==e.key||!r||(e.preventDefault(),r(e))}}
onMouseDown=${e=>{1===e.button&&(e.preventDefault(),r(e))}}
>
${l||d}
</div>
`},xs=/([\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF])/g,Ss=e=>{try{const t=[...e];return 2!==t.length?null:t.map(e=>String.fromCharCode(e.codePointAt(0)-127462+65)).join("").toLowerCase()}catch(e){return null}},Ts=e=>{const t=[];let n,s=0;for(xs.lastIndex=0;null!==(n=xs.exec(e));){n.index>s&&t.push(e.slice(s,n.index));const i=Ss(n[1]);t.push(i?Kn`<span class=${`fi fi-${i} gscs-flag-icon--flex`}></span>`:n[1]),s=n.index+n[0].length}return s<e.length&&t.push(e.slice(s)),Kn`<span class="gscs-flag-wrapper">${t}</span>`},ws=y,Es=({options:e,filterParam:t,selectedValue:n,onSelect:i,showFlags:o,fixWindowsFlags:r,checkboxMode:a,enableExcludeFilters:l})=>{const[c,d]=we(new Set),[_,g]=we("include");Ee(()=>{if(a)if(n){const e=zt.parseExcludeValue(n);g(e.isExclude?"exclude":"include"),d(new Set(e.values))}else d(new Set),g("include")},[n,a]);const u=!n&&0===c.size,p=a&&l&&("lr"===t||"cr"===t);return Kn`
${a&&Kn`
<${ys}
text=${e.find(e=>""===e.value)?.text||ws("filter_any")||"Any"}
value=""
filterType=${t}
isSelected=${u}
title="${e.find(e=>""===e.value)?.text||ws("filter_any")||"Any"} (${t}=${ws("filter_clear_value")})"
href=${es.generateFilterURL(t,"")}
onClick=${()=>{i(t,"")}}
/>
`}
${p&&Kn`
<div class="gscs-filter-mode-toggle">
<button
class="gscs-filter-mode-btn ${"include"===_?"is-active":""}"
aria-pressed=${"include"===_}
onClick=${()=>g("include")}
>✓ ${ws("filter_include_mode")}</button>
<button
class="gscs-filter-mode-btn ${"exclude"===_?"is-active is-exclude":""}"
aria-pressed=${"exclude"===_}
onClick=${()=>g("exclude")}
>✗ ${ws("filter_exclude_mode")}</button>
</div>
`}
<ul class="${s.CUSTOM_LIST} ${a?"checkbox-mode-enabled":""} ${a&&"exclude"===_?"exclude-mode":""}">
${e.map(e=>{if(a&&""===e.value)return null;let g;if(a){const t=(e.value||"").split("|").filter(Boolean);g=t.length>0&&t.every(e=>c.has(e))}else g=n===e.value||"as_occt"===t&&!n&&"any"===e.value;let u=e.text||"",p=null;if("cr"===t&&e.value){const t=/^([\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF])\s+(.*)/,n=u.match(t);if(n){const[,t,s]=n;if(o)if(u=s,r){const n=e.value.trim().toUpperCase().replace(/^COUNTRY/,"");if(/^[A-Z]{2}$/.test(n))p=Kn`<span class=${"fi fi-"+n.toLowerCase()+" gscs-flag-icon-rounded"}></span>`;else{const e=Ss(t);p=e?Kn`<span class=${"fi fi-"+e+" gscs-flag-icon-rounded"}></span>`:t}}else p=t;else u=s}else if(o){const t=e.value.trim().toUpperCase();if(/^COUNTRY[A-Z]{2}$/.test(t)){const e=t.replace("COUNTRY","");if(r)p=Kn`<span class=${"fi fi-"+e.toLowerCase()+" gscs-flag-icon-rounded"}></span>`;else{const t=e.split("").map(e=>127397+e.charCodeAt(0));p=String.fromCodePoint(...t)}}}}if(a){const n=`cb-${t}-${e.value||"any"}`;return Kn`
<li>
<input
type="checkbox"
id=${n}
class="${s.CHECKBOX_SITE}"
value=${e.value}
checked=${g}
aria-label=${e.text}
onClick=${t=>{t.stopPropagation(),((e,t)=>{const n=new Set(c);(e||"").split("|").filter(Boolean).forEach(e=>{t?n.add(e):n.delete(e)}),d(n)})(e.value,t.currentTarget.checked)}}
/>
<a
href=${es.generateFilterURL(t,"exclude"===_?`-${e.value}`:e.value)}
class="${s.FILTER_OPTION} ${g?s.IS_SELECTED:""}"
title="${e.text} (${t}=${e.value})"
aria-label=${e.text}
onClick=${n=>{0!==n.button||n.ctrlKey||n.metaKey||n.shiftKey||n.altKey||(n.preventDefault(),i(t,"exclude"===_?`-${e.value}`:e.value))}}
>
${p?Kn`<span class="country-icon-container">${p}</span> `:null}
<span class="${s.LABEL}">${r&&"cr"===t&&o?Ts(u):u}</span>
</a>
</li>
`}const m=l&&e.value&&("lr"===t||"cr"===t),f=m&&(()=>{const t=zt.parseExcludeValue(n);return t.isExclude&&t.values.includes(e.value)})();return m?Kn`
<div class="gscs-filter-option-wrapper${f?" is-excluded":""}" key=${e.value}>
<${ys}
text=${r&&"cr"===t&&o?Ts(u):u}
icon=${p}
value=${e.value}
filterType=${t}
isSelected=${g}
title="${e.text} (${t}=${e.value||ws("filter_clear_value")})"
href=${es.generateFilterURL(t,e.value)}
/>
<button
class="gscs-filter-exclude-btn ${f?"is-active":""}"
title="${ws("filter_exclude_item")}"
aria-label="${e.text} — ${ws("filter_exclude_item")}"
aria-pressed=${f}
onClick=${s=>{s.preventDefault(),s.stopPropagation();const o=n||"",r=zt.parseExcludeValue(o),a=r.isExclude?r.values:[];if(a.includes(e.value)){const n=a.filter(t=>t!==e.value);i(t,zt.buildExcludeValue(n))}else i(t,zt.buildExcludeValue([...a,e.value]))}}
>✗</button>
</div>
`:Kn`
<${ys}
key=${e.value}
text=${r&&"cr"===t&&o?Ts(u):u}
icon=${p}
value=${e.value}
filterType=${t}
isSelected=${g}
title="${e.text} (${t}=${e.value||ws("filter_clear_value")})"
href=${es.generateFilterURL(t,e.value)}
/>
`})}
</ul>
${a&&Kn`
<button
class="${s.BUTTON} ${s.BUTTON_APPLY_SITES}"
disabled=${0===c.size}
style=${{display:("exclude"===_?c.size>=1:c.size>=2)?"inline-flex":"none",marginTop:"6px"}}
onClick=${()=>{const e=Array.from(c);let n;n="exclude"===_&&e.length>0?1===e.length?`-${e[0]}`:`-(${e.join("|")})`:e.join("|"),i(t,n)}}
>
${ws("lr"===t?"tool_apply_selected_languages":"tool_apply_selected_countries")}
</button>
`}
`},Cs=y,$s=({currentTbs:e})=>{const[t,i]=we(""),[o,r]=we(""),[a,l]=we(""),[c,d]=we(!0);Ee(()=>{if(/cdr:1/.test(e)){const t=e.match(/cd_min:(\d{1,2})\/(\d{1,2})\/(\d{4})/),n=e.match(/cd_max:(\d{1,2})\/(\d{1,2})\/(\d{4})/);t&&i(`${t[3]}-${t[1].padStart(2,"0")}-${t[2].padStart(2,"0")}`),n&&r(`${n[3]}-${n[1].padStart(2,"0")}-${n[2].padStart(2,"0")}`)}},[e]);const _=(e,t)=>{const n=new Date;n.setHours(0,0,0,0);let s=!0,i=[];if(e){const[t,o,r]=e.split("-").map(Number),a=new Date(t,o-1,r);isNaN(a.getTime())||a.getFullYear()!==t||a.getMonth()!==o-1||a.getDate()!==r?(i.push(Cs("alert_invalid_date")),s=!1):a>n&&(i.push(Cs("alert_start_in_future")),s=!1)}if(t){const[e,o,r]=t.split("-").map(Number),a=new Date(e,o-1,r);isNaN(a.getTime())||a.getFullYear()!==e||a.getMonth()!==o-1||a.getDate()!==r?(i.push(Cs("alert_invalid_date")),s=!1):a>n&&(i.push(Cs("alert_end_in_future")),s=!1)}return e&&t&&s&&new Date(e)>new Date(t)&&(i.push(Cs("alert_end_before_start")),s=!1),l(i.join(" ")),d(s),s},g=new Date,u=`${g.getFullYear()}-${String(g.getMonth()+1).padStart(2,"0")}-${String(g.getDate()).padStart(2,"0")}`;return Kn`
<label class="${s.DATE_INPUT_LABEL}" for="${n.DATE_MIN}">${Cs("date_range_from")}</label>
<input
type="date"
class="${s.DATE_INPUT_FIELD} ${!c&&a.includes(Cs("alert_start_in_future"))?s.HAS_ERROR:""}"
id="${n.DATE_MIN}"
max="${u}"
value=${t}
onInput=${e=>{const t=e.target.value;i(t),_(t,o)}}
/>
<label class="${s.DATE_INPUT_LABEL}" for="${n.DATE_MAX}">${Cs("date_range_to")}</label>
<input
type="date"
class="${s.DATE_INPUT_FIELD} ${!c&&a.includes(Cs("alert_end_in_future"))?s.HAS_ERROR:""}"
id="${n.DATE_MAX}"
max="${u}"
value=${o}
onInput=${e=>{const n=e.target.value;r(n),_(t,n)}}
/>
<span
id="${n.DATE_RANGE_ERROR_MSG}"
class="${s.DATE_RANGE_ERROR_MSG} ${a?s.IS_ERROR_VISIBLE:""}"
role="alert"
>${a}</span
>
<button class="${s.BUTTON} apply-date-range" onClick=${()=>{_(t,o)&&es.applyDateRange(t,o)}} disabled=${!c} style=${{display:t||o?"inline-flex":"none"}}>
${Cs("tool_apply_date")}
</button>
`},ks=({url:e,className:t,domain:n,style:s})=>{const[i,o]=we(!1),[r,a]=we(!0);return Ee(()=>{n?(a(!0),zt.isFaviconFallback(n).then(e=>{o(e),a(!1)})):a(!1)},[n]),e?r?Kn`<span
class="${t||""}"
style="display:inline-block; width:16px; height:16px; background:currentColor; opacity:0.15; border-radius:2px; flex-shrink:0; ${s||""}"
></span>`:i?Kn`<${ns}
name="globe"
className=${t||""}
style="display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; color:inherit; fill:currentColor; ${s||""}"
/>`:Kn`<img src="${e}" class="${t||""}" style="${s||""}" alt="" />`:null},Is=y,Ls=({options:e,checkboxMode:t,selectedValues:i,excludedSites:o,enableSiteExcludeFilter:r,onSelect:a,activeQuery:l,showFavicons:c})=>{const[d,_]=we(new Set(Array.isArray(i)?i:[])),[g,u]=we("include");Ee(()=>{t&&(o&&o.length>0?(u("exclude"),_(new Set(o))):Array.isArray(i)&&i.length>0?(u("include"),_(new Set(i))):(u("include"),_(new Set)))},[i,o,t]);const p=t&&r,{positive:m,negative:f}=zt.extractActiveOperators(l,"site"),h=0===m.length&&0===f.length&&0===d.size;return Kn`
<${ys}
text=${Is("filter_any_site")}
value="site_clear"
filterType="site_clear"
isSelected=${h}
title=${Is("tooltip_clear_site_search")}
href=${es.generateClearSiteSearchURL()}
onClick=${()=>{es.clearSiteSearch()}}
/>
${p&&Kn`
<div class="gscs-filter-mode-toggle">
<button
class="gscs-filter-mode-btn ${"include"===g?"is-active":""}"
aria-pressed=${"include"===g}
onClick=${()=>u("include")}
>✓ ${Is("filter_include_mode")}</button>
<button
class="gscs-filter-mode-btn ${"exclude"===g?"is-active is-exclude":""}"
aria-pressed=${"exclude"===g}
onClick=${()=>u("exclude")}
>✗ ${Is("filter_exclude_mode")}</button>
</div>
`}
<ul class="${s.CUSTOM_LIST} ${t?"checkbox-mode-enabled":""} ${t&&"exclude"===g?"exclude-mode":""}">
${e.map((e,n)=>{if(e.isAnyOption)return null;const u=e.value.replace(/^site:/i,""),p=e.value.includes(" OR "),m=c&&!p?`https://www.google.com/s2/favicons?domain=${encodeURIComponent(u)}&sz=64`:null,f=m?Kn`<${ks} url=${m} className=${s.FAVICON} domain=${u} />`:null;if(t){const t=zt.splitOrValues(e.value).map(e=>e.toLowerCase()),i=t.length>0&&t.every(e=>d.has(e)),o=`site-cb-${n}`,r="exclude"===g?es.generateExcludeSiteSearchURL(t):es.generateSiteSearchURL(e.value);return Kn`
<li>
<input
type="checkbox"
id=${o}
class="${s.CHECKBOX_SITE}"
value=${e.value}
checked=${i}
aria-label=${e.text}
onClick=${t=>{t.stopPropagation(),((e,t)=>{const n=new Set(d),s=zt.splitOrValues(e).map(e=>e.toLowerCase());s.forEach(e=>{t?n.add(e):n.delete(e)}),_(n)})(e.value,t.currentTarget.checked)}}
/>
<a
href=${r}
onClick=${n=>{0!==n.button||n.ctrlKey||n.metaKey||n.shiftKey||n.altKey||(n.preventDefault(),"exclude"===g?es.applyExcludeSiteSearch(t):a("site",e.value))}}
class="${s.FILTER_OPTION} ${i?s.IS_SELECTED:""}"
title="${Is("tooltip_site_search",{siteUrl:e.value.replace(/\s+OR\s+/gi,", ")})}"
aria-label=${e.text}
>
${f} <span class="${s.LABEL}">${e.text}</span>
</a>
</li>
`}{const t=zt.splitOrValues(e.value).map(e=>e.toLowerCase()),n=Array.isArray(i)?i.length===t.length&&t.every(e=>i.includes(e)):i===e.value,a=r,c=a&&t.length>0&&t.every(e=>o&&o.includes(e));return a?Kn`
<li class="${c?"is-excluded":""}">
<a
href=${es.generateSiteSearchURL(e.value)}
class="${s.FILTER_OPTION} ${n?s.IS_SELECTED:""}"
data-site-url=${e.value}
title="${Is("tooltip_site_search",{siteUrl:e.value.replace(/\s+OR\s+/gi,", ")})}"
onClick=${e=>{e.ctrlKey||e.metaKey||e.shiftKey||e.button}}
>
${f} <span class="${s.LABEL}">${e.text}</span>
</a>
<button
class="gscs-filter-exclude-btn ${c?"is-active":""}"
title="${Is("filter_exclude_item")}"
aria-label="${e.text} — ${Is("filter_exclude_item")}"
aria-pressed=${c}
onClick=${e=>{e.preventDefault(),e.stopPropagation();const n=l||"",s=zt.extractActiveOperators(n,"site").negative,i=t.length>0&&t.every(e=>s.includes(e));if(i){const e=s.filter(e=>!t.includes(e));e.length>0?es.applyExcludeSiteSearch(e):es.clearSiteSearch()}else es.applyExcludeSiteSearch([...s,...t])}}
>✗</button>
</li>
`:Kn`
<li>
<a
href=${es.generateSiteSearchURL(e.value)}
class="${s.FILTER_OPTION} ${n?s.IS_SELECTED:""}"
data-site-url=${e.value}
title="${Is("tooltip_site_search",{siteUrl:e.value.replace(/\s+OR\s+/gi,", ")})}"
onClick=${e=>{e.ctrlKey||e.metaKey||e.shiftKey||e.button}}
>
${f} <span class="${s.LABEL}">${e.text}</span>
</a>
</li>
`}})}
</ul>
${t&&Kn`
<button
id="${n.APPLY_SELECTED_SITES_BUTTON}"
class="${s.BUTTON} ${s.BUTTON_APPLY_SITES}"
disabled=${0===d.size}
style=${{display:("exclude"===g?d.size>=1:d.size>=2)?"inline-flex":"none",marginTop:"6px"}}
onClick=${()=>{"exclude"===g?es.applyExcludeSiteSearch(Array.from(d)):es.applySiteSearch(Array.from(d))}}
>
${Is("tool_apply_selected_sites")}
</button>
`}
`},Os=y,As=({options:e,checkboxMode:t,selectedValues:i,onSelect:o,activeQuery:r})=>{const[a,l]=we(new Set(Array.isArray(i)?i:[]));Ee(()=>{t&&Array.isArray(i)&&l(new Set(i))},[i,t]);const{positive:c,negative:d}=zt.extractActiveOperators(r,"filetype"),_=0===c.length&&0===d.length&&0===a.size;return Kn`
<${ys}
text=${Os("filter_any_format")}
value="filetype_clear"
filterType="filetype_clear"
isSelected=${_}
title=${Os("tooltip_clear_filetype")}
href=${es.generateClearFiletypeSearchURL()}
onClick=${()=>{es.clearFiletypeSearch()}}
/>
<ul class="${s.CUSTOM_LIST} ${t?"checkbox-mode-enabled":""}">
${e.map((e,n)=>{if(e.isAnyOption)return null;if(t){const t=zt.splitOrValues(e.value).map(e=>e.toLowerCase()),i=t.length>0&&t.every(e=>a.has(e));return Kn`
<li>
<input
type="checkbox"
id=${`ft-cb-${n}`}
class="${s.CHECKBOX_FILETYPE}"
value=${e.value}
checked=${i}
aria-label=${e.text}
onClick=${t=>{t.stopPropagation(),((e,t)=>{const n=new Set(a),s=zt.splitOrValues(e).map(e=>e.toLowerCase());s.forEach(e=>{t?n.add(e):n.delete(e)}),l(n)})(e.value,t.currentTarget.checked)}}
/>
<a
href=${es.generateCombinedFiletypeSearchURL(e.value)}
onClick=${t=>{0!==t.button||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey||(t.preventDefault(),o("as_filetype",e.value))}}
class="${s.FILTER_OPTION} ${i?s.IS_SELECTED:""}"
title="${e.text} (filetype: ${zt.splitOrValues(e.value).join(", ")})"
aria-label=${e.text}
>
${e.text}
</a>
</li>
`}{const t=zt.splitOrValues(e.value).map(e=>e.toLowerCase()),n=Array.isArray(i)?i.length===t.length&&t.every(e=>i.includes(e)):i===e.value;return Kn`
<li>
<a
href=${es.generateCombinedFiletypeSearchURL(e.value)}
class="${s.FILTER_OPTION} ${n?s.IS_SELECTED:""}"
data-filter-value=${e.value}
data-filter-type="as_filetype"
title="${e.text} (filetype: ${zt.splitOrValues(e.value).join(", ")})"
onClick=${e=>{e.ctrlKey||e.metaKey||e.shiftKey||e.button}}
>
${e.text}
</a>
</li>
`}})}
</ul>
${t&&Kn`
<button
id="${n.APPLY_SELECTED_FILETYPES_BUTTON}"
class="${s.BUTTON} ${s.BUTTON_APPLY_FILETYPES}"
disabled=${0===a.size}
style=${{display:a.size>=2?"inline-flex":"none"}}
onClick=${()=>{es.applyCombinedFiletypeSearch(Array.from(a))}}
>
${Os("tool_apply_selected_filetypes")}
</button>
`}
`},Rs=y,Ns=({id:e,title:t,isCollapsed:n,onToggle:i,children:o,manageType:r})=>{const a=`${e}-content`;return Kn`
<div id=${e} class="${s.SECTION}">
<div
class="${s.SECTION_TITLE} ${n?s.IS_SECTION_COLLAPSED:""}"
role="button"
tabIndex=0
aria-expanded=${!n}
aria-controls=${a}
onClick=${i}
onKeyDown=${e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i(e))}}
>
<span class="gscs-section-title__text">${t}</span>
${r?Kn`
<button class="gscs-manage-shortcut" onClick=${e=>{e.stopPropagation(),Promise.resolve().then(function(){return Jt}).then(e=>e.setActiveManageModal(r))}} title="${Rs("settings_tab_custom")}" aria-label="${Rs("settings_tab_custom")}">
<${ns} name="settings" />
</button>
`:null}
</div>
<div id=${a} class="${s.SECTION_CONTENT} ${n?s.IS_SECTION_COLLAPSED:""}">
<div class="gscs-section__content-inner">${o}</div>
</div>
</div>
`},Ds=()=>{const e=mt.value;return Kn`
${"tools"===e.resetButtonLocation&&Kn`<${ls} location="tools" />`}
${"tools"===e.personalizationButtonLocation&&Kn`<${os} location="tools" />`}
${"tools"===e.verbatimButtonLocation&&Kn`<${cs} location="tools" />`}
${"tools"===e.advancedSearchLinkLocation&&Kn`<${rs} location="tools" />`}
${"tools"===e.googleScholarShortcutLocation&&Kn`<${as} serviceId="googleScholar" location="tools" />`}
${"tools"===e.googleTrendsShortcutLocation&&Kn`<${as} serviceId="googleTrends" location="tools" />`}
${"tools"===e.googleDatasetSearchShortcutLocation&&Kn`<${as} serviceId="googleDatasetSearch" location="tools" />`}
`},zs=({urlParams:e,onSectionToggle:t})=>{const n=mt.value,s=ke((e,t,n)=>{if(n&&(n.ctrlKey||n.metaKey||1===n.button)){n.preventDefault();const s=es.generateFilterURL(e,t);return void(s&&("function"==typeof GM_openInTab?GM_openInTab(s,{active:!1,insert:!0}):window.open(s,"_blank")))}es.applyFilter(e,t)},[]),i=ke((e,t,n)=>{if(n&&(n.ctrlKey||n.metaKey||1===n.button)){n.preventDefault();const e=es.generateSiteSearchURL(t);return void(e&&("function"==typeof GM_openInTab?GM_openInTab(e,{active:!1,insert:!0}):window.open(e,"_blank")))}es.applySiteSearch(t)},[]),a=e=>{const t=structuredClone(gn.getCurrentSettings());t.customFilters=(t.customFilters||[]).filter(t=>t.id!==e),gn.applyAndSave(t,"Delete Custom Filter")};return Kn`
${n.sidebarSectionOrder.map(l=>{if(!n.visibleSections[l])return null;const c=r.find(e=>e.id===l);if(!c)return null;const d=!0===n.sectionStates?.[l];let _;switch(c.type){case"filter":{const t=ps(l,c.scriptDefined,n,o),i="sidebar-section-country"===l&&n.showCountryFlags;let r=!1;"sidebar-section-language"===l&&(r=n.multiLanguageSearch),"sidebar-section-country"===l&&(r=n.multiCountrySearch);const a="lr"===c.param?n.enableLanguageExcludeFilter:"cr"===c.param&&n.enableCountryExcludeFilter;_=Kn`<${Es}
id=${l}
title=${Rs(c.titleKey)}
options=${t}
filterParam=${c.param}
selectedValue=${((t,n)=>{if(!e)return"";if("sidebar-section-time"===n){const t=(e.get("tbs")||"").match(/qdr:([^,]+)/);return t?t[1]:""}return e.get(t)||""})(c.param,l)}
onSelect=${s}
showFlags=${i}
fixWindowsFlags=${n.fixWindowsFlags||!1}
checkboxMode=${r}
enableExcludeFilters=${a}
/>`;break}case"date":_=Kn`<${$s} id=${l} currentTbs=${e.get("tbs")||""} />`;break;case"site":{const t=e.get("q")||"",{positive:s,negative:r}=zt.extractActiveOperators(t,"site"),a=ps(l,c.scriptDefined,n,o);_=Kn`<${Ls}
options=${a}
checkboxMode=${n.enableSiteSearchCheckboxMode}
selectedValues=${s}
excludedSites=${r}
enableSiteExcludeFilter=${n.enableSiteExcludeFilter}
onSelect=${i}
activeQuery=${t}
showFavicons=${n.showFaviconsForSiteSearch}
/>`;break}case"filetype":{const t=ps(l,c.scriptDefined,n,o),i=e.get("as_filetype"),r=e.get("q")||"";let{positive:a}=zt.extractActiveOperators(r,"filetype");0===a.length&&i&&(a=[i.toLowerCase()]),_=Kn`<${As}
options=${t}
checkboxMode=${n.enableFiletypeCheckboxMode}
selectedValues=${a}
onSelect=${s}
activeQuery=${r}
/>`;break}case"custom_filters":_=Kn`<${vs}
onOpenSaveModal=${()=>Qt(!0)}
onDeleteFilter=${a}
/>`;break;case"tools":_=Kn`<${Ds} />`}if(!_)return null;let g=null;return"sidebar-section-custom-filters"===l?g="custom_filters":"sidebar-section-site-search"===l?g="site":["sidebar-section-language","sidebar-section-country","sidebar-section-time","sidebar-section-filetype"].includes(l)&&(g=l.replace("sidebar-section-","")),Kn`
<${Ns}
id=${l}
title=${Rs(c.titleKey)}
isCollapsed=${d}
manageType=${g}
onToggle=${e=>{e.stopPropagation(),t(e,l)}}
>
${_}
<//>
`})}
`};let Ms,Fs,Us,Ps,Gs,Bs,Ks,Hs=!1,Vs=null;function Ws(e){return"touches"in e&&e.touches.length>0?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}function js(e){if(!Ks.getCurrentSettings().draggableHandleEnabled||"mousedown"===e.type&&"button"in e&&0!==e.button)return;const t=e.target;if(t?.closest('button, input, a, textarea, select, [role="button"], .gscs-filter-option, .gscs-custom-filter-item, .gscs-setting-item'))return;e.preventDefault(),Hs=!0;const n=Ws(e);Ms=n.x,Fs=n.y,Us=Gs.offsetLeft,Ps=Gs.offsetTop,Gs.style.cursor="grabbing",Gs.style.userSelect="none",document.body.style.cursor="grabbing",Vs=new AbortController;const s=Vs.signal;document.addEventListener("mousemove",Js,{signal:s}),document.addEventListener("touchmove",Js,{passive:!1,signal:s}),document.addEventListener("mouseup",ti,{signal:s}),document.addEventListener("touchend",ti,{signal:s}),document.addEventListener("touchcancel",ti,{signal:s})}let qs=null,Xs=0,Ys=0,Zs=0,Qs=0;function Js(e){if(!Hs)return;e.preventDefault();const t=Ws(e);Xs=t.x,Ys=t.y,qs||(qs=requestAnimationFrame(ei))}function ei(){if(!Hs)return void(qs=null);const e=Xs-Ms,t=Ys-Fs,n=window.innerWidth-(Gs?.offsetWidth??0),s=window.innerHeight-(Gs?.offsetHeight??0);Zs=zt.clamp(Us+e,0,n),Qs=zt.clamp(Ps+t,1,s),Gs&&(Gs.style.left=`${Zs}px`,Gs.style.top=`${Qs}px`),qs=null}function ti(){if(Hs){Hs=!1,Vs?.abort(),Vs=null,qs&&(cancelAnimationFrame(qs),qs=null),Gs&&(Gs.style.cursor="default",Gs.style.userSelect=""),document.body.style.cursor="";const e=structuredClone(Ks.getCurrentSettings());e.sidebarPosition||(e.sidebarPosition={}),e.sidebarPosition.left=Zs,e.sidebarPosition.top=Qs,Ks.applyAndSave(e,"Drag Stop")}}function ni(e,t){return"system"===e?t?"gscs-theme-dark":"gscs-theme-light":e.startsWith("minimal-")?e.includes("dark")?"gscs-theme-dark":"gscs-theme-light":`gscs-theme-${e}`}const si=({onCollapse:e,onSettings:t,urlParams:i=new URLSearchParams,onSectionToggle:o})=>{const r=mt.value,a=yt.value,l=Ce(null),c=Ce(null);Ee(()=>{return l.current&&c.current&&(e=l.current,t=c.current,n=gn,gn.save,Gs=e,Bs=t,Ks=n,Gs&&(Gs.addEventListener("mousedown",js),Gs.addEventListener("touchstart",js,{passive:!1}))),()=>{Gs&&(Gs.removeEventListener("mousedown",js),Gs.removeEventListener("touchstart",js)),Vs?.abort(),Vs=null,qs&&(cancelAnimationFrame(qs),qs=null),Hs=!1,Gs=null,Bs=null,Ks=null};var e,t,n},[]);const[d,g]=we(!1),u=function(e,t){return"system"===e?[t?"gscs-theme-dark":"gscs-theme-light"]:e.startsWith("minimal-")?["gscs-theme-minimal",`gscs-theme-minimal--${e.replace("minimal-","")}`]:[`gscs-theme-${e}`]}(r.theme,a),p=!r.hoverMode||r.sidebarCollapsed||d?1:r.idleOpacity;Ee(()=>{r.hideGoogleLogoWhenExpanded?Gt("GOOGLE_LOGOS").forEach(e=>{r.sidebarCollapsed?e.style.visibility="":e.style.visibility="hidden"}):Gt("GOOGLE_LOGOS").forEach(e=>e.style.visibility="")},[r.hideGoogleLogoWhenExpanded,r.sidebarCollapsed]);const m=$e(()=>r.customColors?Object.keys(r.customColors).reduce((e,t)=>{const n=r.customColors[t];if(n){const s=_.find(e=>e.key===t);s&&s.cssVars.forEach(t=>e[t]=n)}return e},{}):{},[r.customColors]),f={top:`${Math.max(1,r.sidebarPosition.top)}px`,left:`${r.sidebarPosition.left}px`,width:r.sidebarCollapsed?"40px":`${r.sidebarWidth}px`,opacity:p,"--sidebar-header-icon-base-size":`${r.headerIconSize}px`,"--sidebar-font-base-size":`${r.fontSize}px`,"--sidebar-spacing-multiplier":r.verticalSpacingMultiplier,"--sidebar-max-height":`${r.sidebarHeight}vh`,"--sidebar-width":`${r.sidebarWidth}px`,...m},h=[r.sidebarCollapsed?s.IS_SIDEBAR_COLLAPSED:"",...u,`scrollbar-${r.scrollbarPosition}`,r.hoverMode?"hover-mode":""].filter(Boolean).join(" ");return Kn`
<div
id="${n.SIDEBAR}"
ref=${l}
class="${h}"
style=${f}
onMouseEnter=${()=>{g(!0)}}
onMouseLeave=${()=>{g(!1)}}
>
<div ref=${c} style="width: 100%; height: auto;">
<${ds} onCollapse=${e} onSettings=${t} />
</div>
<${_s} />
<div id="${n.SIDEBAR_CONTENT}" class="${s.SIDEBAR_CONTENT_WRAPPER}">
<${zs} urlParams=${i} onSectionToggle=${o} />
</div>
</div>
`},ii=y,oi=({notification:e})=>{const{id:t,messageKey:n,messageArgs:i,type:o,duration:r}=e,[a,l]=we(!1),c=Ce(null),d=s[`NTF_${o.toUpperCase()}`]||s.NTF_INFO;return Kn`
<div
ref=${c}
class="${s.NOTIFICATION} ${d}"
role=${"error"===o?"alert":void 0}
style=${{opacity:a?0:1,transition:"opacity 0.5s ease"}}
>
${(()=>{if(!ii)return n;const e=ii(n,i);return!e||e.startsWith("[ERR:")?`${n} (args: ${JSON.stringify(i)})`:e})()}
${r<=0?Kn`
<span
class="gscs-notification__close-btn"
onClick=${()=>{l(!0),setTimeout(()=>{jt(t)},500)}}
>×</span>
`:null}
</div>
`},ri=()=>{const e=Ht.value;return 0===e.length?null:Kn`
<div id=${n.NOTIFICATION_CONTAINER} role="status" aria-live="polite" aria-atomic="false">
${e.map(e=>Kn`<${oi} key=${e.id} notification=${e} />`)}
</div>
`},ai=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function li(e,t){const n=Ce(null);Ee(()=>{if(!e.current)return;n.current=document.activeElement;const t=requestAnimationFrame(()=>{if(!e.current)return;const t=e.current.querySelectorAll(ai);t.length>0&&t[0].focus()}),s=t=>{if("Tab"!==t.key||!e.current)return;const n=e.current.querySelectorAll(ai);if(0===n.length)return;const s=n[0],i=n[n.length-1];t.shiftKey?document.activeElement===s&&(t.preventDefault(),i.focus()):document.activeElement===i&&(t.preventDefault(),s.focus())},i=e.current;return i.addEventListener("keydown",s),()=>{cancelAnimationFrame(t),i.removeEventListener("keydown",s),n.current&&n.current.focus&&n.current.focus()}},[t,e])}const ci=y,di={auto:()=>`${ci("settings_language_auto")}`,en:"English (en)","zh-TW":"繁體中文 (zh-TW)","zh-CN":"简体中文 (zh-CN)",ja:"日本語 (ja)",fr:"Français (fr)",de:"Deutsch (de)",es:"Español (es)",it:"Italiano (it)",ru:"Русский (ru)"},_i=({settings:e,updateSettings:t})=>{const i=ke((e,n)=>{t({[e]:n})},[t]),o=ke((e,n)=>{t({[e]:n})},[t]),r=ke(e=>{const n=e.target.value,s={theme:n};"minimal-light"!==n&&"minimal-dark"!==n||(s.hideGoogleLogoWhenExpanded=!0),t(s)},[t]),a=function(){const e=new Set(["auto","en"]);return Object.keys(m).forEach(t=>{e.add(t)}),Array.from(e)}(),l=$e(()=>a.map(e=>{const t="function"==typeof di[e]?di[e]():di[e]||e;return Kn`<option value="${e}">${t}</option>`}),[a]);return Kn`
<div class="${s.TAB_PANE} ${s.IS_ACTIVE}">
<!-- Interface Language -->
<div class="${s.SETTING_ITEM}">
<label for="${n.SETTING_INTERFACE_LANGUAGE}">${ci("settings_interface_language")}</label>
<select
id="${n.SETTING_INTERFACE_LANGUAGE}"
value=${e.interfaceLanguage}
onChange=${e=>i("interfaceLanguage",e.target.value)}
>
${l}
</select>
</div>
<!-- Theme -->
<div class="${s.SETTING_ITEM}">
<label>${ci("settings_theme")}</label>
<select value=${e.theme} onChange=${r}>
<option value="system">${ci("settings_theme_system")||"System Default"}</option>
<option value="light">${ci("settings_theme_light")||"Light"}</option>
<option value="dark">${ci("settings_theme_dark")||"Dark"}</option>
<option value="minimal-light">${ci("settings_theme_minimal_light")||"Minimal Light"}</option>
<option value="minimal-dark">${ci("settings_theme_minimal_dark")||"Minimal Dark"}</option>
</select>
</div>
<!-- Sidebar Structure & Behavior -->
<div class="gscs-settings__section-block--bordered">
<h4 class="gscs-settings__section-heading--no-top">
${ci("settings_sidebar_behavior")||"Sidebar Structure & Behavior"}
</h4>
<div class="${s.SETTING_ITEM}">
<label>${ci("settings_section_mode")}</label>
<select
id="${n.SETTING_SECTION_MODE}"
value=${e.sectionDisplayMode}
onChange=${e=>i("sectionDisplayMode",e.target.value)}
>
<option value="remember">${ci("settings_section_mode_remember")}</option>
<option value="expandAll">${ci("settings_section_mode_expand")}</option>
<option value="collapseAll">${ci("settings_section_mode_collapse")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM} gscs-settings__setting-column">
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_ACCORDION}"
checked=${e.accordionMode}
disabled=${"remember"!==e.sectionDisplayMode}
onChange=${e=>o("accordionMode",e.target.checked)}
/>
<label for="${n.SETTING_ACCORDION}">${ci("settings_accordion_mode")}</label>
</div>
<div class="${s.SETTING_HINT} gscs-settings__hint-indented">
${ci("settings_accordion_mode_hint_desc")}
</div>
</div>
<div class="${s.SETTING_ITEM}">
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_DRAGGABLE}"
checked=${e.draggableHandleEnabled}
onChange=${e=>o("draggableHandleEnabled",e.target.checked)}
/>
<label for="${n.SETTING_DRAGGABLE}">${ci("settings_enable_drag")}</label>
</div>
</div>
</div>
<!-- HUD & Status -->
<div class="gscs-settings__section-block--bordered">
<h4 class="gscs-settings__section-heading--no-top">
${ci("settings_hud_and_stats")||"HUD & Status"}
</h4>
<!-- Active Filters HUD -->
<div class="${s.SETTING_ITEM} gscs-settings__setting-spaced">
<div class="checkbox-container gscs-settings__checkbox-container--spaced">
<input
type="checkbox"
id="setting-show-active-filters-hud"
checked=${!1!==e.showActiveFiltersHUD}
onChange=${e=>o("showActiveFiltersHUD",e.target.checked)}
/>
<label for="setting-show-active-filters-hud">${ci("settings_show_active_filters_hud","Show Active Filters HUD")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented--spaced">
${ci("settings_show_active_filters_hud_hint","Display a floating bar showing currently applied filters.")}
</div>
${!1!==e.showActiveFiltersHUD?Kn`
<div class="gscs-settings__checkbox-group">
<div class="checkbox-container">
<input
type="checkbox"
id="setting-hud-include-keywords"
checked=${!!e.hudIncludeKeywords}
onChange=${e=>o("hudIncludeKeywords",e.target.checked)}
/>
<label for="setting-hud-include-keywords" class="gscs-settings__sub-label">${ci("settings_hud_include_keywords","Include General Keywords (Not just rules)")}</label>
</div>
<div class="checkbox-container">
<input
type="checkbox"
id="setting-hud-show-flag"
checked=${!1!==e.hudShowFlagIcon}
onChange=${e=>o("hudShowFlagIcon",e.target.checked)}
/>
<label for="setting-hud-show-flag" class="gscs-settings__sub-label">${ci("settings_hud_show_flag_icon","Show Country Flags in HUD")}</label>
</div>
<div class="checkbox-container">
<input
type="checkbox"
id="setting-hud-show-favicon"
checked=${!1!==e.hudShowFavicon}
onChange=${e=>o("hudShowFavicon",e.target.checked)}
/>
<label for="setting-hud-show-favicon" class="gscs-settings__sub-label">${ci("settings_hud_show_favicon","Show Website Icons (Favicon) in HUD")}</label>
</div>
</div>
`:""}
</div>
<!-- Result Stats -->
<div class="${s.SETTING_ITEM} gscs-settings__setting-last">
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_SHOW_RESULT_STATS}"
checked=${e.showResultStats}
onChange=${e=>o("showResultStats",e.target.checked)}
/>
<label for="${n.SETTING_SHOW_RESULT_STATS}">${ci("settings_show_result_stats")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${ci("settings_show_result_stats_hint")}
</div>
${e.showResultStats?Kn`
<div class="gscs-settings__sub-option-row">
<label for="${n.SETTING_RESULT_STATS_POSITION}" class="gscs-settings__sub-label--nowrap">
${ci("settings_result_stats_position","Location:")}
</label>
<select
id="${n.SETTING_RESULT_STATS_POSITION}"
value=${e.resultStatsPosition}
onChange=${e=>i("resultStatsPosition",e.target.value)}
>
<option value="slim_appbar">${ci("settings_result_stats_position_slim_appbar","Google toolbar")}</option>
<option value="sidebar">${ci("settings_result_stats_position_sidebar","Sidebar")}</option>
</select>
</div>
`:""}
</div>
</div>
</div>
`},gi={light:{bgColor:"#ffffff",textColor:"#3c4043",linkColor:"#1a0dab",selectedColor:"#000000",inputBgColor:"#ffffff",inputTextColor:"#202124",borderColor:"#dadce0",dividerColor:"#eeeeee",btnBgColor:"#f8f9fa",btnHoverBgColor:"#e8eaed",activeBgColor:"#e8f0fe",activeTextColor:"#1967d2",activeBorderColor:"#aecbfa",headerIconColor:"#5f6368",itemTextColor:"#3c4043"},dark:{bgColor:"#202124",textColor:"#bdc1c6",linkColor:"#8ab4f8",selectedColor:"#e8eaed",inputBgColor:"#303134",inputTextColor:"#e8eaed",borderColor:"#5f6368",dividerColor:"#3c4043",btnBgColor:"#303134",btnHoverBgColor:"#3c4043",activeBgColor:"#8ab4f8",activeTextColor:"#202124",activeBorderColor:"#8ab4f8",headerIconColor:"#bdc1c6",itemTextColor:"#8ab4f8"},"minimal-light":{bgColor:"transparent",textColor:"#3c4043",linkColor:"#1a0dab",selectedColor:"#000000",inputBgColor:"rgba(255, 255, 255, 0.8)",inputTextColor:"#202124",borderColor:"#dadce0",dividerColor:"#ebebeb",btnBgColor:"transparent",btnHoverBgColor:"rgba(0, 0, 0, 0.05)",activeBgColor:"rgba(26, 115, 232, 0.1)",activeTextColor:"#1967d2",activeBorderColor:"#aecbfa",headerIconColor:"#5f6368",itemTextColor:"#3c4043"},"minimal-dark":{bgColor:"transparent",textColor:"#bdc1c6",linkColor:"#8ab4f8",selectedColor:"#e8eaed",inputBgColor:"rgba(48, 49, 52, 0.8)",inputTextColor:"#e8eaed",borderColor:"#5f6368",dividerColor:"#4a4a4a",btnBgColor:"transparent",btnHoverBgColor:"rgba(255, 255, 255, 0.08)",activeBgColor:"rgba(138, 180, 248, 0.15)",activeTextColor:"#8ab4f8",activeBorderColor:"#8ab4f8",headerIconColor:"#bdc1c6",itemTextColor:"#8ab4f8"}},ui=y,pi=({settings:e,updateSettings:t})=>{const n=ke((e,n)=>{t({[e]:n})},[t]),i=ke((e,n)=>{t({[e]:n})},[t]),o=ke((t,s)=>{const i={...e.customColors,[t]:s};n("customColors",i)},[e.customColors,n]),r=ke(()=>{if(confirm(ui("confirm_reset_custom_colors"))){const e={};_.forEach(t=>e[t.key]=""),n("customColors",e)}},[n]),a=ke((t,i,o,r,a,l="",c="")=>{const d=e[i];return Kn`
<div class="${s.SETTING_ITEM} gscs-settings__setting-column">
<div class="gscs-settings__slider-header">
<label>${ui(t)}</label>
<span class="${s.SETTING_RANGE_VALUE}">${d}${l}</span>
</div>
<input
type="range"
min="${o}"
max="${r}"
step="${a}"
value="${d}"
class="gscs-settings__slider-input"
onInput=${e=>n(i,parseFloat(e.target.value))}
/>
${c?Kn`<div class="${s.SETTING_HINT} gscs-settings__slider-hint">${c}</div>`:""}
</div>
`},[e,n]);return Kn`
<div class="${s.TAB_PANE} ${s.IS_ACTIVE}">
${a("settings_sidebar_width","sidebarWidth",90,270,5,"px")}
${a("settings_sidebar_height","sidebarHeight",25,100,5,"vh")}
${a("settings_font_size","fontSize",8,24,.5,"pt")}
${a("settings_header_icon_size","headerIconSize",8,32,.5,"px")}
${a("settings_vertical_spacing","verticalSpacingMultiplier",.05,1,.05,"x")}
<!-- Hover Mode -->
<div class="${s.SETTING_ITEM} gscs-settings__setting-column">
<div class="checkbox-container">
<input
type="checkbox"
id="gscs-setting-hover-mode"
checked=${e.hoverMode}
onChange=${e=>i("hoverMode",e.target.checked)}
/>
<label for="gscs-setting-hover-mode"
>${ui("settings_hover_mode")||"Expand Sidebar on Hover"}</label
>
</div>
<!-- Idle Opacity (Nested) -->
<div class="gscs-settings__nested-indent ${e.hoverMode?"":"is-disabled"}">
${a("settings_idle_opacity","idleOpacity",.1,1,.05)}
</div>
</div>
<!-- Hide Google Logo -->
<div class="${s.SETTING_ITEM} gscs-settings__setting-column">
<div class="checkbox-container">
<input
type="checkbox"
id="gscs-setting-hide-google-logo"
checked=${e.hideGoogleLogoWhenExpanded}
onChange=${e=>i("hideGoogleLogoWhenExpanded",e.target.checked)}
/>
<label for="gscs-setting-hide-google-logo">${ui("settings_hide_google_logo")}</label>
</div>
<div class="${s.SETTING_HINT} gscs-settings__hint-indented">
${ui("settings_hide_google_logo_hint")}
</div>
</div>
<!-- Scrollbar Position -->
<div class="${s.SETTING_ITEM}">
<label>${ui("settings_scrollbar_position")}</label>
<select
value=${e.scrollbarPosition}
onChange=${e=>n("scrollbarPosition",e.target.value)}
>
<option value="right">${ui("settings_scrollbar_right")||"Right"}</option>
<option value="left">${ui("settings_scrollbar_left")||"Left"}</option>
<option value="hidden">${ui("settings_scrollbar_hidden")||"Hidden"}</option>
</select>
</div>
<!-- Custom Colors Section -->
<div class="gscs-settings__colors-section">
<div class="gscs-settings__colors-header">
<h4 class="gscs-settings__colors-title">
${ui("settings_custom_colors_title")||"Custom Colors"}
</h4>
<button
class="gscs-micro-btn gscs-settings__reset-btn"
onClick=${r}
title="${ui("settings_reset_custom_colors")||"Reset Colors"}"
>
<span class="gscs-settings__reset-icon">↺</span>
${ui("settings_reset_custom_colors")||"Reset Colors"}
</button>
</div>
<div class="gscs-settings__color-grid">
${_.map(t=>{const n=e.customColors&&e.customColors[t.key]||"",s=((e,t)=>{const n=(e=>"system"===e?yt.value?"dark":"light":"minimal"===e?yt.value?"minimal-dark":"minimal-light":e)(t);return(gi[n]||gi.light)[e]||"#000000"})(t.key,e.theme),i=n||s,r=ui(`gscs_setting_color_${t.key}`)||t.key;return Kn`
<div class="gscs-settings__color-card">
<label class="gscs-settings__color-card-label"
title=${r}>${r}</label>
<div class="gscs-settings__color-card-row">
<input
type="text"
value=${n}
placeholder=${s}
onInput=${e=>o(t.key,e.target.value)}
class="gscs-settings__color-text-input"
/>
<input
type="color"
value=${i}
onInput=${e=>o(t.key,e.target.value)}
class="gscs-settings__color-picker"
/>
</div>
</div>
`})}
</div>
</div>
</div>
`},mi=y,fi=({settings:e,updateSettings:t})=>{const i=ke((e,n)=>{t({[e]:n})},[t]),o=ke((e,n)=>{t({[e]:n})},[t]),a=ke((t,n)=>{const s={...e.visibleSections,[t]:n};i("visibleSections",s)},[e.visibleSections,i]),l=ke((e,t)=>{e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",t),e.target.classList.add(s.IS_DRAGGING)},[]),c=ke(e=>{e.preventDefault(),e.dataTransfer.dropEffect="move";const t=e.target.closest("li");t&&t.classList.add(s.IS_DRAG_OVER)},[]),d=ke(e=>{const t=e.target.closest("li");t&&!t.contains(e.relatedTarget)&&t.classList.remove(s.IS_DRAG_OVER)},[]),_=ke((t,n)=>{t.preventDefault();const o=t.target.closest("ul");o&&o.querySelectorAll("li").forEach(e=>e.classList.remove(s.IS_DRAG_OVER,s.IS_DRAGGING));const r=parseInt(t.dataTransfer.getData("text/plain"),10);if(r===n)return;let a=n;r<n&&(a-=1);const l=[...e.sidebarSectionOrder],[c]=l.splice(r,1);l.splice(a,0,c),i("sidebarSectionOrder",l)},[e.sidebarSectionOrder,i]),g=ke(e=>{const t=e.target.closest("ul");t&&t.querySelectorAll("li").forEach(e=>e.classList.remove(s.IS_DRAG_OVER,s.IS_DRAGGING))},[]),u=$e(()=>{const t=new Set(r.map(e=>e.id)),n=e.sidebarSectionOrder.filter(e=>t.has(e));return r.forEach(e=>{n.includes(e.id)||n.push(e.id)}),n},[e.sidebarSectionOrder]);return Kn`
<div class="${s.TAB_PANE} ${s.IS_ACTIVE}">
<!-- Sidebar Sections -->
<h4 class="gscs-settings__section-heading--plain">
${mi("settings_sidebar_sections")||"Sidebar Sections"}
<span class="gscs-settings__section-heading-hint">
${mi("hint_drag_and_toggle")||"(Drag to sort; toggle to show/hide)"}
</span>
</h4>
<ul class="${s.SECTION_ORDER_LIST}">
${u.map((t,n)=>{const i=r.find(e=>e.id===t);if(!i)return null;const o=!1!==e.visibleSections[i.id];return Kn`
<li
draggable="true"
onDragStart=${e=>l(e,n)}
onDragOver=${e=>c(e)}
onDragLeave=${e=>d(e)}
onDrop=${e=>_(e,n)}
onDragEnd=${e=>g(e)}
>
<${ns} name="dragGrip" className=${s.DRAG_ICON} />
<input
type="checkbox"
id="visibility-${i.id}"
checked=${o}
onChange=${e=>{e.stopPropagation(),a(i.id,e.target.checked)}}
class="gscs-settings__checkbox-input"
/>
<label for="visibility-${i.id}"
class="gscs-settings__checkbox-label"
style="opacity: ${o?"1":"0.45"};">
${mi(i.titleKey)}
</label>
</li>
`})}
</ul>
<!-- Tool & Shortcut Locations -->
<div class="gscs-settings__section-block">
<h4
class="gscs-settings__section-heading"
>
${mi("settings_shortcut_locations")||"Tool & Shortcut Locations"}
</h4>
<div class="${s.SETTING_ITEM}">
<label for="${n.SETTING_RESET_LOCATION}">${mi("settings_reset_button_location")}</label>
<select
id="${n.SETTING_RESET_LOCATION}"
value=${e.resetButtonLocation}
onChange=${e=>i("resetButtonLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_verbatim_location")}</label>
<select
value=${e.verbatimButtonLocation}
onChange=${e=>i("verbatimButtonLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_advanced_search_location")}</label>
<select
value=${e.advancedSearchLinkLocation}
onChange=${e=>i("advancedSearchLinkLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_personalization_location")}</label>
<select
value=${e.personalizationButtonLocation}
onChange=${e=>i("personalizationButtonLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_scholar_shortcut_location")}</label>
<select
value=${e.googleScholarShortcutLocation}
onChange=${e=>i("googleScholarShortcutLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_trends_shortcut_location")}</label>
<select
value=${e.googleTrendsShortcutLocation}
onChange=${e=>i("googleTrendsShortcutLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
<div class="${s.SETTING_ITEM}">
<label>${mi("settings_dataset_search_location")||"Dataset Search Shortcut Location:"}</label>
<select
value=${e.googleDatasetSearchShortcutLocation}
onChange=${e=>i("googleDatasetSearchShortcutLocation",e.target.value)}
>
<option value="header">${mi("settings_location_header")}</option>
<option value="topBlock">${mi("settings_location_top")}</option>
<option value="tools">${mi("settings_location_tools")}</option>
<option value="none">${mi("settings_location_hide")}</option>
</select>
</div>
</div>
<!-- Checkbox Modes & Advanced Features -->
<div class="gscs-settings__section-block">
<h4
class="gscs-settings__section-heading"
>
${mi("settings_advanced_search_features")||"Advanced Search Features"}
</h4>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_MULTI_LANGUAGE_SEARCH}"
checked=${e.multiLanguageSearch}
onChange=${e=>o("multiLanguageSearch",e.target.checked)}
/>
<label for="${n.SETTING_MULTI_LANGUAGE_SEARCH}">${mi("settings_multi_language_search")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_multi_language_search_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_ENABLE_LANGUAGE_EXCLUDE_FILTER}"
checked=${e.enableLanguageExcludeFilter}
onChange=${e=>o("enableLanguageExcludeFilter",e.target.checked)}
/>
<label for="${n.SETTING_ENABLE_LANGUAGE_EXCLUDE_FILTER}">${mi("settings_enable_language_exclude_filter")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_enable_language_exclude_filter_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_MULTI_COUNTRY_SEARCH}"
checked=${e.multiCountrySearch}
onChange=${e=>o("multiCountrySearch",e.target.checked)}
/>
<label for="${n.SETTING_MULTI_COUNTRY_SEARCH}">${mi("settings_multi_country_search")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_multi_country_search_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_SHOW_COUNTRY_FLAGS}"
checked=${e.showCountryFlags}
onChange=${e=>o("showCountryFlags",e.target.checked)}
/>
<label for="${n.SETTING_SHOW_COUNTRY_FLAGS}">${mi("settings_show_country_flags")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_show_country_flags_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_FIX_WINDOWS_FLAGS}"
checked=${e.fixWindowsFlags}
onChange=${e=>o("fixWindowsFlags",e.target.checked)}
/>
<label for="${n.SETTING_FIX_WINDOWS_FLAGS}">${mi("settings_fix_windows_flags")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_fix_windows_flags_hint")}
${(()=>{const e=mi("settings_fix_windows_flags_credit").split("{name}");return Kn`<span class="gscs-settings__credit-line">${e[0]}<a href="https://github.com/lipis/flag-icons" target="_blank" rel="noopener noreferrer">lipis/flag-icons</a>${e[1]||""}</span>`})()}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_ENABLE_COUNTRY_EXCLUDE_FILTER}"
checked=${e.enableCountryExcludeFilter}
onChange=${e=>o("enableCountryExcludeFilter",e.target.checked)}
/>
<label for="${n.SETTING_ENABLE_COUNTRY_EXCLUDE_FILTER}">${mi("settings_enable_country_exclude_filter")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_enable_country_exclude_filter_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_SITE_SEARCH_CHECKBOX_MODE}"
checked=${e.enableSiteSearchCheckboxMode}
onChange=${e=>o("enableSiteSearchCheckboxMode",e.target.checked)}
/>
<label for="${n.SETTING_SITE_SEARCH_CHECKBOX_MODE}"
>${mi("settings_enable_site_search_checkbox_mode")}</label
>
</div>
<div
class="${s.SETTING_DESC} gscs-settings__desc-indented"
>
${mi("settings_enable_site_search_checkbox_mode_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_ENABLE_SITE_EXCLUDE_FILTER}"
checked=${e.enableSiteExcludeFilter}
onChange=${e=>o("enableSiteExcludeFilter",e.target.checked)}
/>
<label for="${n.SETTING_ENABLE_SITE_EXCLUDE_FILTER}">${mi("settings_enable_site_exclude_filter")}</label>
</div>
<div class="${s.SETTING_DESC} gscs-settings__desc-indented">
${mi("settings_enable_site_exclude_filter_hint")}
</div>
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_SHOW_FAVICONS}"
checked=${e.showFaviconsForSiteSearch}
onChange=${e=>o("showFaviconsForSiteSearch",e.target.checked)}
/>
<label for="${n.SETTING_SHOW_FAVICONS}">${mi("settings_show_favicons")}</label>
</div>
<div
class="${s.SETTING_DESC} gscs-settings__desc-indented"
>
${mi("settings_show_favicons_hint")}
</div>
${e.showFaviconsForSiteSearch&&Kn`
<div class="gscs-settings__sub-option-block">
<button
type="button"
class="gscs-button--small"
onClick=${()=>{zt.clearFaviconCache(),qt("alert_favicon_cache_cleared")}}
>
${mi("settings_clear_favicon_cache")}
</button>
<div class="${s.SETTING_DESC} gscs-settings__desc--small-top">
${mi("settings_clear_favicon_cache_hint")}
</div>
</div>
`}
</div>
<div
class="${s.SETTING_ITEM} gscs-settings__feature-item"
>
<div class="checkbox-container">
<input
type="checkbox"
id="${n.SETTING_FILETYPE_SEARCH_CHECKBOX_MODE}"
checked=${e.enableFiletypeCheckboxMode}
onChange=${e=>o("enableFiletypeCheckboxMode",e.target.checked)}
/>
<label for="${n.SETTING_FILETYPE_SEARCH_CHECKBOX_MODE}"
>${mi("settings_enable_filetype_search_checkbox_mode")}</label
>
</div>
<div
class="${s.SETTING_DESC} gscs-settings__desc-indented"
>
${mi("settings_enable_filetype_search_checkbox_mode_hint")}
</div>
</div>
</div>
</div>
`},hi=y,bi=()=>{const e=e=>{Zt(e)};return Kn`
<div class="${s.TAB_PANE} ${s.IS_ACTIVE}">
<div
class="gscs-custom-options-list gscs-custom-tab__list"
>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("custom_filters")}>
<${ns} name="edit" />
${hi("manageCustomFiltersTitle")}
</button>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("site")}>
<${ns} name="edit" />
${hi("manageSitesTitle")}
</button>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("language")}>
<${ns} name="edit" />
${hi("manageLanguagesTitle")}
</button>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("country")}>
<${ns} name="edit" />
${hi("manageCountriesTitle")}
</button>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("time")}>
<${ns} name="edit" />
${hi("manageTimeRangesTitle")}
</button>
<button class="${s.BUTTON} gscs-custom-tab-btn" onClick=${()=>e("filetype")}>
<${ns} name="edit" />
${hi("manageFileTypesTitle")}
</button>
</div>
</div>
`},vi=y,yi=({onClose:e,onSave:t,onReset:i})=>{const[o,r]=we("general"),a=Ce(null),l=Ce(null);li(l,!0),Ee(()=>{const t=t=>{"Escape"===t.key&&e()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]);const c=ke(t=>{t.target===a.current&&e()},[e]),d=mt.value,_="dark"===xt.value?s.THEME_DARK:s.THEME_LIGHT,g=$e(()=>[{id:"general",label:vi("settings_tab_general"),Component:_i},{id:"appearance",label:vi("settings_tab_appearance"),Component:pi},{id:"features",label:vi("settings_tab_features"),Component:fi},{id:"custom",label:vi("settings_tab_custom"),Component:bi}],[d.interfaceLanguage]),u=$e(()=>g.find(e=>e.id===o)?.Component||_i,[o,g]);return Kn`
<div
id="${n.SETTINGS_OVERLAY}"
class="${s.SETTINGS_OVERLAY} ${_}"
style="display: flex;"
ref=${a}
onClick=${c}
>
<div id="${n.SETTINGS_WINDOW}" class="${s.SETTINGS_WINDOW}" ref=${l}>
<div class="${s.SETTINGS_HEADER}">
<h3>${vi("settingsTitle")}</h3>
<button
class="${s.SETTINGS_CLOSE_BTN}"
title="${vi("settings_close_button_title")}"
onClick=${e}
>
<${ns} name="close" />
</button>
</div>
<div class="${s.SETTINGS_TABS}">
${g.map(e=>Kn`
<button
class="${s.TAB_BUTTON} ${o===e.id?s.IS_ACTIVE:""}"
onClick=${()=>r(e.id)}
>
${e.label}
</button>
`)}
</div>
<div class="${s.SETTINGS_TAB_CONTENT}" key=${o}>
<${u} settings=${d} updateSettings=${St} />
</div>
<div class="${s.SETTINGS_FOOTER} gscs-settings__footer-actions">
<button class="${s.BUTTON_RESET} gscs-click-feedback" onClick=${i}>${vi("settings_reset_all_button")}</button>
<button class="${s.BUTTON_CANCEL} gscs-click-feedback" onClick=${e}>${vi("settings_cancel_button")}</button>
<button class="${s.BUTTON_SAVE} gscs-click-feedback" onClick=${t}>${vi("settings_save_button")}</button>
</div>
</div>
</div>
`},xi=y,Si=/^([\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF])\s*(.*)$/,Ti=()=>{const e=mt.value,{showActiveFiltersHUD:t,hudIncludeKeywords:n,hudShowFlagIcon:s=!0,hudShowFavicon:i=!0,fixWindowsFlags:o=!1}=e,r=Pt("SEARCH_CONTAINER"),[a,l]=we(null),[c,d]=we(!1),[_,g]=we(!1),[u,p]=we(null),[m,f]=we(0),[h,b]=we(null),v=Ce(null),y=Ce(null),x=yt.value,S=()=>{y.current&&(clearTimeout(y.current),y.current=null)};Ee(()=>()=>{y.current&&clearTimeout(y.current)},[]),Ee(()=>{const e=r?.querySelector(Ut.SEARCH_INPUT);if(!e)return;const t=new AbortController;return e.addEventListener("focus",()=>g(!0),{signal:t.signal}),e.addEventListener("blur",()=>g(!1),{signal:t.signal}),()=>t.abort()},[r]),Ee(()=>{const e=es.extractCurrentCriteria(),t=e.rawQuery||"";e.parsedTokens=hs.parseQueryTokens(t),l(e)},[]),Ee(()=>{if(!r)return;const e=()=>{const e=r.getBoundingClientRect(),t=e.bottom+2,n=Math.max(8,Math.min(e.left+24,window.innerWidth-200));b(e=>e&&e.top===t&&e.left===n?e:{top:t,left:n})};e();const t=new ResizeObserver(e);t.observe(r);const n=r.closest(Ut.STICKY_SEARCH_WRAPPER);let s=null;n&&(s=new MutationObserver(e),s.observe(n,{attributes:!0,attributeFilter:["class"]}));const i=new AbortController;return window.addEventListener("resize",e,{signal:i.signal}),window.addEventListener("scroll",e,{passive:!0,signal:i.signal}),()=>{t.disconnect(),s?.disconnect(),i.abort()}},[r]);const T=$e(()=>{if(!a)return[];const e=a.parsedTokens||[],t=[],s=(e,t)=>{if(!t)return null;let n=[];if("tbs"===e)n=hs.parseTime(t);else{if("lr"===e){const{isExclude:s,values:i}=zt.parseExcludeValue(t),o=i.map(e=>e.trim().replace(/^lang_/i,""));n=hs.parseLanguage(t);const r=hs.identifyClusterName("languages",o);return r&&(n=[r]),{label:n.join(", ")||e,isEnv:!0,isNegative:s,type:e,weight:2}}if("cr"===e){const{isExclude:s,values:i}=zt.parseExcludeValue(t),o=i.map(e=>e.trim().replace(/^country/i,"").toUpperCase());n=hs.parseCountry(t);const r=hs.identifyClusterName("countries",o);return r&&(n=[r]),{label:n.join(", ")||e,isEnv:!0,isNegative:s,type:e,weight:2}}if("as_occt"===e){const e=xi(`filter_occurrence_${t}`);n=[e&&e!==`filter_occurrence_${t}`?e:t]}}return{label:n.join(", ")||e,isEnv:!0,type:e,weight:2}};a.tbs&&t.push(s("tbs",a.tbs)),a.lr&&t.push(s("lr",a.lr)),a.cr&&t.push(s("cr",a.cr)),a.as_occt&&"any"!==a.as_occt&&t.push(s("as_occt",a.as_occt));const i=e.filter(e=>"empty"!==e.type&&"literal"!==e.type).filter(e=>!!n||"operator"===e.type).map(e=>{let t=e.displayName||e.value,n=3;if("keyword"!==e.type||e.isNegative||(n=1),e.isNegative&&(n=4),"operator"===e.type&&!e.isNegative&&e.value){const n=zt.splitOrValues(e.value).map(e=>e.trim());if("site"===e.subtype){const e=hs.identifyClusterName("sites",n);e&&(t=e)}else if("filetype"===e.subtype){const e=hs.identifyClusterName("filetypes",n);e&&(t=e)}}const s="operator"===e.type&&"site"===e.subtype&&!!e.value&&1===zt.splitOrValues(e.value).length;return{label:t,isNegative:e.isNegative,tokenRaw:e.raw,isEnv:!1,isSiteToken:s,siteDomain:s?e.value.trim():null,subtype:e.subtype,weight:n}}),o=i.findIndex(e=>"after"===e.subtype&&!e.isNegative),r=i.findIndex(e=>"before"===e.subtype&&!e.isNegative);if(-1!==o&&-1!==r){const e=i[o],t=i[r],n=e.label.replace(/^.*?:\s*/,""),s=t.label.replace(/^.*?:\s*/,""),a={...e,label:`${n} – ${s}`,tokenRaw:[e.tokenRaw,t.tokenRaw],weight:3},l=Math.min(o,r),c=Math.max(o,r);i.splice(c,1),i.splice(l,1,a)}return[...t,...i].filter(Boolean).sort((e,t)=>e.weight-t.weight)},[a,n,e]);!function(e,t){var n=Te(de++,4);!fe.__s&&Ne(n.__H,t)&&(n.__=()=>{if(!v.current)return;const e=Array.from(v.current.children);if(!e.length)return;const t=e[0].getBoundingClientRect(),n=Math.ceil(t.height);p(n);const s=t.top,i=e.filter(e=>e.getBoundingClientRect().top<=s+2).length;f(e.length-i)},n.u=t,_e.__h.push(n))}(0,[T]);const w=e=>{if(!a)return;let t;if(e.isEnv)t=a.rawQuery||"";else{const n=Array.isArray(e.tokenRaw)?e.tokenRaw:[e.tokenRaw],s=a.parsedTokens.filter(e=>!n.includes(e.raw));t=s.map(e=>e.raw).join(" ").trim()}const n={...a,q:t,q_tokens:void 0,q_ops:void 0,tbs:"tbs"===e.type?"":a.tbs,lr:"lr"===e.type?"":a.lr,cr:"cr"===e.type?"":a.cr,as_occt:"as_occt"===e.type?"":a.as_occt},s=es.generateCompositeURL(n,!0);s&&(window.location.href=s)};if(!t||0===T.length)return null;if(!r)return null;const E=ni(e.theme||"light",x),C=E.includes("dark"),$=Kn`
<div ref=${v}
class="gscs-hud-chips-container"
onMouseEnter=${S}
onMouseLeave=${()=>{y.current=setTimeout(()=>d(!1),800)}}
style=${{display:"flex",gap:"4px",flexWrap:"wrap",flex:1,maxWidth:"100%",overflow:"hidden",paddingTop:"2px",maxHeight:c?"500px":u?`${u+2}px`:"38px",transition:"max-height 0.25s ease",pointerEvents:"auto"}}>
${T.map(e=>{let t=e.label,n=null;if(e.isEnv&&"cr"===e.type&&"string"==typeof t&&!o){const e=t.match(Si);e&&(n=e[1],t=e[2])}return Kn`
<div
role="button"
tabIndex={0}
title=${xi("hud_click_to_remove")}
aria-label=${`${e.label} — ${xi("hud_click_to_remove")}`}
class=${"gscs-hud-chip"+(e.isNegative?" is-negative":"")}
onClick=${()=>w(e)}
onKeyDown=${t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),w(e))}}
>
${s&&n?(()=>{if(o){const e=Ss(n);if(e)return Kn`<span class=${"fi fi-"+e+" gscs-hud__flag-icon"}></span>`}return Kn`<span class="gscs-hud__flag-emoji">${n}</span>`})():""}
${i&&e.isSiteToken&&e.siteDomain?Kn`
<${ks}
url=${`https://www.google.com/s2/favicons?domain=${e.siteDomain}&sz=32`}
domain=${e.siteDomain}
className="gscs-hud__favicon"
/>
`:""}
<span>${o&&e.isEnv&&"cr"===e.type?Ts(e.label):t}</span>
</div>
`})}
</div>
`;return Cn(Kn`
<div class=${E} style=${{display:h&&!_?"flex":"none",position:"fixed",top:h?`${h.top}px`:0,left:h?`${h.left}px`:0,right:"20px",zIndex:9999,alignItems:"flex-start",padding:"0 0 2px",boxSizing:"border-box",pointerEvents:"none"}}>
${$}
${m>0&&!c&&Kn`
<div
onMouseEnter=${()=>{S(),d(!0)}}
onClick=${()=>d(!0)}
style=${{position:"absolute",right:0,top:0,height:u?`${u+2}px`:"38px",display:"flex",alignItems:"center",paddingRight:"4px",paddingLeft:"20px",background:C?"linear-gradient(to right, transparent, rgba(32,33,36,0.92) 40%)":"linear-gradient(to right, transparent, rgba(248,249,250,0.92) 40%)",pointerEvents:"auto",cursor:"pointer",fontSize:"0.8em",color:C?"rgba(189,193,198,0.85)":"rgba(95,99,104,0.85)",userSelect:"none"}}
>+${m} \u25be</div>
`}
</div>
`,document.body)},wi=y,Ei=({onClose:e,onSave:t})=>{nn();const{fixWindowsFlags:i=!1,theme:o="light"}=mt.value,[r,a]=we(""),[l,c]=we(!1),[d,_]=we({}),[g,u]=we(""),p=Ce(null),m=Ce(null),f=Ce(null),[h,b]=we(!1);li(m,!0);const v=()=>{b(!0),setTimeout(()=>{e(),b(!1)},150)},[y,x]=we([]),[S,T]=we([]),[w,E]=we({}),C=ni(o,yt.value);Ee(()=>{const e=es.extractCurrentCriteria();_(e);const t=hs.parseQueryTokens(e.rawQuery||"");x(t);const n=t.map(e=>"operator"===e.type||"range"===e.type);T(n);const s={};["tbs","lr","cr","tbm","safe","as_occt","udm","as_qdr","nfpr","as_eq"].forEach(t=>{e[t]&&(s[t]=!0)}),E(s),f.current&&(f.current.focus(),f.current.select())},[]),Ee(()=>{if(l||0===Object.keys(d).length)return;const e={...d};Object.keys(w).forEach(t=>{w[t]||delete e[t]});const t=y.filter((e,t)=>S[t]);e.q_tokens=t;const n=t.map(e=>e.raw).join(" ").trim();n?e.q=n:delete e.q,e.q_ops=t.filter(e=>"operator"===e.type).map(e=>e.raw),delete e.pureQuery,delete e.rawQuery;const s=hs.generateName(e);a(s)},[w,S,l,d,y]);const $=()=>{if(!r.trim())return void u(wi("alert_filter_name_required"));const e={id:Date.now().toString(),name:r.trim(),criteria:{...d}};Object.keys(w).forEach(t=>{w[t]||delete e.criteria[t]}),e.criteria.q_tokens=y.filter((e,t)=>S[t]);const n=e.criteria.q_tokens.map(e=>e.raw).join(" ").trim();n?e.criteria.q=n:delete e.criteria.q,delete e.criteria.q_ops,delete e.criteria.pureQuery,delete e.criteria.rawQuery,delete e.includeKeyword,t&&t(e),v()};Ee(()=>{const e=e=>{"Escape"===e.key&&v(),"Enter"===e.key&&$()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[r,d,w,S]);const k=({label:e,selected:t,isNegative:n,onClick:i,domain:o})=>{const r=["gscs-chip",t?"selected":"",n&&t?"negative":""].filter(Boolean).join(" ");return Kn`
<div class=${r} onClick=${i} title=${e}>
${n||t||o?Kn`
<span class="gscs-modal__chip-icon">
${n?"⛔":t?"✓":""}
${o?Kn`<${ks} url=${`https://www.google.com/s2/favicons?domain=${o}&sz=32`} domain=${o} className=${s.FAVICON} style="margin-right: 4px; margin-left: ${n||t?"4px":"0"};" />`:""}
</span>
`:""}
<span class="gscs-modal__chip-text">${e}</span>
</div>
`},I=(e,t)=>{const n=(e,n)=>{e.preventDefault();const s=[...S];y.forEach((e,i)=>{e.type===t&&("all"===n&&(s[i]=!0),"none"===n&&(s[i]=!1),"include"===n&&(s[i]=!e.isNegative),"exclude"===n&&(s[i]=e.isNegative))}),T(s)};return Kn`
<div class="gscs-modal__batch-bar">
<span>${e}</span>
<span class="gscs-modal__batch-links">
<a href="#" onClick=${e=>n(e,"all")} class="gscs-micro-btn" title="${wi("modal_batch_all_tooltip","Select All")}">${wi("modal_batch_all","All")}</a>
<a href="#" onClick=${e=>n(e,"include")} class="gscs-micro-btn" title="${wi("modal_batch_include_tooltip","Select Positive Only")}">${wi("modal_batch_include","Include")}</a>
<a href="#" onClick=${e=>n(e,"exclude")} class="gscs-micro-btn" title="${wi("modal_batch_exclude_tooltip","Select Negative Only")}">${wi("modal_batch_exclude","Exclude")}</a>
<a href="#" onClick=${e=>n(e,"none")} class="gscs-micro-btn" title="${wi("modal_batch_none_tooltip","Deselect All")}">${wi("modal_batch_none","None")}</a>
</span>
</div>
`},L=Object.entries(w).map(([e,t])=>{let n=e;if("tbs"===e&&d.tbs&&(n=hs.parseTime(d.tbs).join(", ")||e),"lr"===e&&d.lr&&(n=hs.parseLanguage(d.lr).join(", ")||e),"cr"===e&&d.cr){const t=hs.parseCountry(d.cr).join(", ")||e;n=i?Ts(t):t}if("as_occt"===e&&d.as_occt){const e=wi(`filter_occurrence_${d.as_occt}`);n=e&&e!==`filter_occurrence_${d.as_occt}`?e:d.as_occt}if("udm"===e&&d.udm){const e={1:"places",2:"images",7:"videos",12:"news",14:"web",web:"web",18:"forums",28:"shopping",36:"books",39:"shorts",50:"ai"},t=String(d.udm).toLowerCase();if(e[t]){const s=`udm_${e[t]}`,i=wi(s);n=i&&i!==s?i:e[t]}else n="UDM: "+d.udm}if("tbm"===e){const e={nws:"news",isch:"images",vid:"videos",shop:"shopping",lcl:"places",bks:"books"}[d.tbm.toLowerCase()];if(e){const t=`udm_${e}`,s=wi(t);n=s&&s!==t?s:e}else n=d.tbm.toUpperCase()}return"safe"===e&&(n="SafeSearch: "+d.safe),Kn`<${k}
label=${n}
selected=${t}
isNegative=${"lr"===e&&!!d.lr?.startsWith("-")||"cr"===e&&!!d.cr?.startsWith("-")}
onClick=${()=>E({...w,[e]:!t})}
/>`}),O=[],A=[];y.forEach((e,t)=>{const n=S[t],s="operator"!==e.type||"site"!==e.subtype||e.value.includes(" OR ")?null:e.value,i=Kn`<${k}
label=${e.displayName}
selected=${n}
isNegative=${e.isNegative}
domain=${s}
onClick=${()=>{const e=[...S];e[t]=!e[t],T(e)}}
/>`;"operator"===e.type?O.push(i):A.push(i)});const R=L.length>0,N=O.length>0,D=A.length>0;return Cn(Kn`
<div
id="${n.SETTINGS_OVERLAY}"
class="${s.SETTINGS_OVERLAY} ${C} ${h?"is-closing":""}"
style="display: flex;"
ref=${p}
onClick=${e=>{e.target===p.current&&v()}}
>
<div id="${n.SETTINGS_WINDOW}" class="${s.SETTINGS_WINDOW}" ref=${m} onClick=${e=>e.stopPropagation()}>
<div
class="${s.SETTINGS_HEADER} gscs-modal__header"
>
<h3 class="gscs-modal__title">${wi("modal_save_filter_title")}</h3>
</div>
<div class="gscs-modal__content">
<div class="gscs-setting-item">
<label>${wi("modal_filter_name_label")}</label>
<div class="gscs-modal__input-with-clear">
<input
type="text"
value=${r}
onInput=${e=>{a(e.target.value),c(!0),u("")}}
placeholder="${wi("modal_filter_name_placeholder")}"
ref=${f}
class="${g?"has-error":""} gscs-modal__input-padded"
/>
${r?Kn`
<button
onClick=${()=>{a(""),c(!1),f.current&&f.current.focus()}}
class="gscs-modal__input-clear-btn"
title="Clear"
>×</button>
`:""}
</div>
${g&&Kn`<div class="gscs-modal__error-msg">${g}</div>`}
</div>
${(R||N||D)&&Kn`
<div class="gscs-setting-item gscs-modal__criteria-section">
<label class="gscs-modal__criteria-label">${wi("modal_filter_criteria_label","Filter Conditions (Click to toggle)")}</label>
${R&&Kn`
<div class="gscs-modal__chip-group">
<div class="gscs-modal__chip-group-label">${wi("modal_group_env","Environment / URL")}</div>
<div>${L}</div>
</div>
`}
${N&&Kn`
<div class="gscs-modal__chip-group">
${I(wi("modal_group_ops","Advanced Operators"),"operator")}
<div>${O}</div>
</div>
`}
${D&&Kn`
<div class="gscs-modal__chip-group">
${I(wi("modal_group_kws","Keywords"),"keyword")}
<div>${A}</div>
</div>
`}
</div>
`}
</div>
<div
class="${s.SETTINGS_FOOTER} gscs-modal__footer"
>
<button class="${s.BUTTON_CANCEL}" onClick=${e}>${wi("modal_cancel_button")}</button>
<button class="${s.BUTTON_SAVE}" onClick=${$}>${wi("modal_save_button")}</button>
</div>
</div>
</div>
`,document.body)},Ci={site:{modalTitleKey:"manageSitesTitle",listId:n.SITES_LIST,itemsArrayKey:"favoriteSites",textPKey:"modal_placeholder_name",valPKey:"modal_placeholder_value_site",hintKey:"modal_hint_domain",hintLinkUrl:"https://developers.google.com/search/docs/monitor-debug/search-operators/all-search-site",hintLinkKey:"modal_hint_reference_link",fmtKey:"modal_tooltip_domain",isSortableMixed:!1,hasPredefinedToggles:!1,hasPredefinedChooser:!1},language:{modalTitleKey:"manageLanguagesTitle",listId:n.LANG_LIST,itemsArrayKey:"displayLanguages",customItemsMasterKey:"customLanguages",textPKey:"modal_placeholder_text",valPKey:"modal_placeholder_value_language",hintKey:"modal_hint_language",hintLinkUrl:"https://developers.google.com/custom-search/docs/json_api_reference#supported-interface-languages",hintLinkKey:"modal_hint_reference_link",fmtKey:"modal_tooltip_language",predefinedSourceKey:"language",isSortableMixed:!0,hasPredefinedToggles:!1,hasPredefinedChooser:!0},country:{modalTitleKey:"manageCountriesTitle",listId:n.COUNTRIES_LIST,itemsArrayKey:"displayCountries",customItemsMasterKey:"customCountries",textPKey:"modal_placeholder_text",valPKey:"modal_placeholder_value_country",hintKey:"modal_hint_country",hintLinkUrl:"https://developers.google.com/custom-search/docs/json_api_reference#country-collection-values",hintLinkKey:"modal_hint_reference_link",fmtKey:"modal_tooltip_country",predefinedSourceKey:"country",isSortableMixed:!0,hasPredefinedToggles:!1,hasPredefinedChooser:!0},time:{modalTitleKey:"manageTimeRangesTitle",listId:n.TIME_LIST,itemsArrayKey:"customTimeRanges",textPKey:"modal_placeholder_text",valPKey:"modal_placeholder_value_time",hintKey:"modal_hint_time",fmtKey:"modal_tooltip_time",predefinedSourceKey:"time",isSortableMixed:!1,hasPredefinedToggles:!0,hasPredefinedChooser:!1},filetype:{modalTitleKey:"manageFileTypesTitle",listId:n.FT_LIST,itemsArrayKey:"displayFiletypes",customItemsMasterKey:"customFiletypes",textPKey:"modal_placeholder_text",valPKey:"modal_placeholder_value_filetype",hintKey:"modal_hint_filetype",hintLinkUrl:"https://developers.google.com/search/docs/crawling-indexing/indexable-file-types",hintLinkKey:"modal_hint_reference_link",fmtKey:"modal_tooltip_filetype",predefinedSourceKey:"filetype",isSortableMixed:!0,hasPredefinedToggles:!1,hasPredefinedChooser:!0},custom_filters:{modalTitleKey:"manageCustomFiltersTitle",listId:n.CUSTOM_FILTERS_LIST,itemsArrayKey:"customFilters",textPKey:"modal_placeholder_text",valPKey:"modal_placeholder_value_custom_filter",hintKey:"modal_hint_custom_filter",fmtKey:"modal_tooltip_custom_filter",isSortableMixed:!1,hasPredefinedToggles:!1,hasPredefinedChooser:!1}};function $i(e,t){if(!e)return!1;if(t===n.SITES_LIST){const t=/^(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,})(?:\/[a-zA-Z0-9_.\-~%!$&()*+,;=:@/]+)*\/?)$|(?:^\.(?:[a-zA-Z0-9-]{1,63}\.)*[a-zA-Z]{2,63}$)/,n=zt.parseCombinedValue(e);return n.length>0&&n.every(e=>t.test(e))}if(t===n.LANG_LIST)return/^lang_[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,4})?(?:\|lang_[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,4})?)*$/.test(e);if(t===n.TIME_LIST)return/^[hdwmyn]\d*$/.test(e);if(t===n.FT_LIST){const t=/^[a-zA-Z0-9]+$/,n=zt.parseCombinedValue(e);return n.length>0&&n.every(e=>t.test(e))}return t!==n.COUNTRIES_LIST||/^country[A-Z]{2}(?:\|country[A-Z]{2})*$/.test(e)}function ki(e,t){if(!e)return"";const s=e.trim();return s?t===n.SITES_LIST?zt.parseCombinedValue(s).map(e=>e.toLowerCase().replace(/^https?:\/\//i,"").replace(/\/+$/,"")).join(" OR "):t===n.FT_LIST?zt.parseCombinedValue(s).map(e=>e.replace(/^\./,"")).join(" OR "):t===n.LANG_LIST?zt.parseCombinedValue(s).map(e=>{let t=e.replace(/^lang_/i,"");if(t.includes("-")){const e=t.split("-");t=e[0].toLowerCase()+"-"+e[1].toUpperCase()}else t=t.toLowerCase();return`lang_${t}`}).join("|"):t===n.COUNTRIES_LIST?zt.parseCombinedValue(s).map(e=>`country${e.replace(/^country/i,"").toUpperCase()}`).join("|"):s:""}function Ii(e,t){if(!e)return"";try{if(t===n.LANG_LIST)return hs.parseLanguage(e).join(", ");if(t===n.COUNTRIES_LIST)return hs.parseCountry(e).join(", ");if(t===n.TIME_LIST){const t=e.startsWith("qdr:")?e:`qdr:${e}`;return hs.parseTime(t).join(", ")}if(t===n.SITES_LIST)return hs.parseSite(e).join(", ");if(t===n.FT_LIST)return hs.parseFiletype(e).join(", ")}catch(e){return""}return""}const Li=y,Oi=({config:e,items:t,setItems:i,settings:r,mapping:a,getDisplayName:l,getCountryIcon:c,renderInlineFlags:d})=>{const[_,g]=we(!1),[u,p]=we(new Set),[m,f]=we(""),h=(o[e.predefinedSourceKey]||[]).filter(e=>!t.some(t=>(t.value||t.id)===e.value)),b=0===h.length,v=Kn`
<label class="gscs-setting-item__label gscs-chooser__label">
${e.isSortableMixed?Li("modal_label_display_options_for",{type:Li(a?.nameKey||"")}):Li("modal_label_my_custom",{type:Li(a?.nameKey||"")})}
<span class="gscs-settings__section-heading-hint gscs-chooser__label-hint"> ${Li("hint_drag_to_sort")}</span>
</label>
`,y=_?Kn`
<div class="gscs-chooser__search-wrap">
<${ns} name="search" className="gscs-chooser__search-icon" />
<input type="text"
class="gscs-input gscs-chooser-search"
placeholder="${Li("modal_search_filter_placeholder")}"
value=${m}
onInput=${e=>f(e.target.value)} />
</div>
`:Kn`
<button type="button"
class="${s.MODAL_BUTTON_ADD_NEW} gscs-click-feedback gscs-chooser__btn-trigger"
style="${b?"opacity: 0.5; cursor: not-allowed;":""}"
onClick=${()=>!b&&g(!0)}
disabled=${b}>
<${ns} name="add" /> ${Li("modal_add_predefined_btn")}
</button>
`;return[Kn`
<div key="chooser-header" class="gscs-chooser__header">
${v}
${y}
</div>
`,_?Kn`
<div key="chooser-panel" class="gscs-chooser__panel-wrap">
<div class="gscs-modal-predefined-chooser gscs-chooser__panel">
<ul class="gscs-chooser__list">
${h.filter(t=>{if(!m.trim())return!0;const n=m.trim().toLowerCase(),s=l(t,e.predefinedSourceKey).toLowerCase(),i=(t.code||"").toLowerCase();return s.includes(n)||i.includes(n)}).map(t=>{const s=l(t,e.predefinedSourceKey);return Kn`
<li class="gscs-modal-predefined-chooser__item" onClick=${()=>{const e=new Set(u);e.has(t.value)?e.delete(t.value):e.add(t.value),p(e)}}>
<input type="checkbox" checked=${u.has(t.value)} class="gscs-chooser__item-checkbox" />
${(()=>{if(e.listId!==n.COUNTRIES_LIST||!1===r.showCountryFlags)return null;const s=c(t.value);return s?Kn`<span class="country-icon-container" style="${r.fixWindowsFlags?"margin-right: 6px;":"font-size: 1.2em; margin-right: 6px;"}">${s}</span>`:null})()}
<label>${(()=>{const e=s.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\u200d]+\s*/u,"");return r.fixWindowsFlags?d(e):e})()}</label>
</li>
`})}
</ul>
<div class="chooser-buttons gscs-chooser__actions">
<button type="button" class="${s.BUTTON} gscs-button--cancel gscs-click-feedback gscs-chooser__btn-cancel" onClick=${()=>{g(!1),p(new Set),f("")}}>${Li("settings_cancel_button")}</button>
<button type="button" class="${s.BUTTON} gscs-button--add gscs-click-feedback gscs-chooser__btn-add" onClick=${()=>{const n=(o[e.predefinedSourceKey]||[]).filter(e=>u.has(e.value)).map(t=>({text:l(t,e.predefinedSourceKey),value:t.value,type:"predefined",id:t.value}));i([...t,...n]),g(!1),p(new Set),f("")}}>${Li("modal_button_add_title")}</button>
</div>
</div>
</div>
`:null]},Ai=y,Ri=({items:e,config:t,mapping:i,settings:o,draggedIndex:r,onDragStart:a,onDragOver:l,onDragLeave:c,onDrop:d,onDragEnd:_,handleEdit:g,handleDeleteClick:u,confirmDeleteIdx:p,getCountryIcon:m,renderInlineFlags:f})=>Kn`
<ul class="${s.CUSTOM_LIST} ${t.hasPredefinedToggles?"checkbox-mode-enabled":""}">
${0!==e.length||t.listId!==n.CUSTOM_FILTERS_LIST&&void 0!==t.listId?null:Kn`<li class="empty-state-message gscs-custom-list__empty-item">${Ai("no_custom_filters")}</li>`}
${e.map((e,h)=>{const b=e||{},v="custom"===b.type||!b.type&&(t.listId===n.SITES_LIST||t.listId===n.TIME_LIST||t.listId===n.FT_LIST||t.listId===n.CUSTOM_FILTERS_LIST);let y=b.text||b.name||"";const x=b[i?.valueKey||"value"]||b.value||"";let S="object"==typeof x?zt.safeStringify(x):x;S&&(t.listId===n.SITES_LIST||t.listId===n.FT_LIST?S=S.replace(/\s+OR\s+/gi,", "):t.listId===n.LANG_LIST&&(S=S.replaceAll("|",", "))),y&&t.listId===n.COUNTRIES_LIST&&(y=y.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\u200d]+\s*/u,""));let T=null;if(t.listId===n.SITES_LIST&&!1!==o.showFaviconsForSiteSearch&&x)if(x.includes(" OR ")||x.includes(" "))T=Kn`<${ns} name="globe" className="${s.FAVICON} gscs-list-item__globe-icon" />`;else{const e=`https://www.google.com/s2/favicons?domain=${encodeURIComponent(x)}&sz=64`;T=Kn`<${ks} url="${e}" domain="${x}" className="${s.FAVICON} gscs-list-item__favicon" />`}else if(t.listId===n.COUNTRIES_LIST&&!1!==o.showCountryFlags){const e=m(x);e&&(T=Kn`<span class="country-icon-container" style="${o.fixWindowsFlags?"":"font-size: 1.2em;"}">${e}</span> `)}const w=r===h?"is-dragging":"",E=t.listId===n.TIME_LIST;return Kn`
<li key=${b.id||b.value||b.text||h}
draggable=${E?"false":"true"}
class="${w}"
onDragStart=${E?null:e=>a(e,h)}
onDragOver=${E?null:l}
onDragLeave=${E?null:c}
onDrop=${E?null:e=>d(e,h)}
onDragEnd=${E?null:_}
style=${r===h?{opacity:.5}:{}}
>
${E?null:Kn`<${ns} name="dragGrip" className="gscs-drag-icon drag-handle" />`}
<span title=${S}>
${T}
${o.fixWindowsFlags&&t.listId===n.COUNTRIES_LIST?f(y):y}
${S?Kn`<span class="gscs-list-item__value-text">${S}</span>`:null}
</span>
<span class="${s.CUSTOM_LIST_ITEM_CONTROLS}">
${v?Kn`
<button class="${s.BUTTON_EDIT_ITEM} gscs-click-feedback" title="${Ai("modal_button_edit_title")}" onClick=${()=>g(h)}>
<${ns} name="edit" />
</button>
<button class="${s.BUTTON_DELETE_ITEM} ${p===h?"is-confirming":""} gscs-click-feedback" title="${Ai("settings_delete_button")}" onClick=${()=>u(h)}>
<${ns} name="delete" />
</button>
`:Kn`
<button class="${s.BUTTON_REMOVE_FROM_LIST} ${p===h?"is-confirming":""} gscs-click-feedback" title="${Ai("modal_button_remove_from_list_title")}" onClick=${()=>u(h)}>
<${ns} name="removeFromList" />
</button>
`}
</span>
</li>
`})}
</ul>
`,Ni=y,Di=({config:e,mapping:t,inputText:i,setInputText:o,inputValue:r,setInputValue:a,textError:l,setTextError:c,valueError:d,setValueError:_,editingIndex:g,handleAddOrUpdate:u,handleCancelEdit:p})=>Kn`
<div class="${s.CUSTOM_LIST_INPUT_GROUP}">
<input type="text"
placeholder=${Ni(e.textPKey)}
value=${i}
onInput=${e=>{const t=e.target.value;o(t),c(t.trim()?"":Ni("alert_edit_failed_missing_fields"))}}
class=${l?s.HAS_ERROR:i.trim()?s.INPUT_VALID:""} />
<input type="text"
placeholder=${Ni(e.valPKey)}
title=${Ni(e.fmtKey)}
value=${r}
onInput=${s=>{const l=s.target.value;if(e.listId!==n.CUSTOM_FILTERS_LIST){const t=Ii(ki(r,e.listId),e.listId),n=Ii(ki(l,e.listId),e.listId);i&&i!==t||(o(n),c(""))}a(l),e.listId!==n.CUSTOM_FILTERS_LIST&&(l.trim()?$i(ki(l,e.listId),e.listId)?_(""):_(Ni("alert_invalid_value_format",{type:Ni(t?.nameKey||""),hint:Ni(e.hintKey)})):_(Ni("alert_edit_failed_missing_fields")))}}
disabled=${e.listId===n.CUSTOM_FILTERS_LIST}
class=${d?s.HAS_ERROR:r.trim()&&e.listId!==n.CUSTOM_FILTERS_LIST?s.INPUT_VALID:""} />
<button class="${s.BUTTON_ADD_CUSTOM} gscs-click-feedback" title="${Ni(g>-1?"modal_button_update_title":"modal_button_add_title")}" onClick=${u} disabled=${e.listId===n.CUSTOM_FILTERS_LIST&&-1===g}>
<${ns} name=${g>-1?"update":"add"} />
</button>
${g>-1?Kn`
<button class="cancel-edit-button gscs-click-feedback" title="${Ni("modal_button_cancel_edit_title")}" onClick=${p}>
<${ns} name="close" />
</button>
`:null}
</div>
${l||d?Kn`
<span class="${s.INPUT_ERROR_MSG} ${s.IS_ERROR_VISIBLE} gscs-form__error-msg">${l||d}</span>
`:null}
<span class="${s.SETTING_VALUE_HINT}" style="display: block; margin-top: ${l||d?"0":"4px"}; font-size: 0.85em; opacity: 0.8;">${Ni(e.hintKey)}${e.hintLinkUrl?Kn` <a href="${e.hintLinkUrl}" target="_blank" rel="noopener noreferrer" style="color: var(--settings-link-color); text-decoration: underline;">${Ni(e.hintLinkKey)}</a>`:null}</span>
`,zi=y;function Mi(e){try{const t=[...e];return 2!==t.length?null:t.map(e=>String.fromCharCode(e.codePointAt(0)-127462+65)).join("").toLowerCase()}catch(e){return null}}const Fi=({manageType:e,settings:t,onClose:i,onComplete:r})=>{const a=Ce(null),l=Ce(null);li(l,!0);const[c,d]=we([]),[_,g]=we(new Set),[u,p]=we(-1),[m,f]=we(""),[h,b]=we(""),[v,y]=we(""),[S,T]=we(""),w=$e(()=>Ci[e],[e]),E=$e(()=>w?Ct(w.listId):null,[w]),C=x()||navigator.language||"en-US",$=$e(()=>new Intl.DisplayNames([C],{type:"region"}),[C]),k=$e(()=>new Intl.DisplayNames([C],{type:"language"}),[C]),I=ke((e,t)=>{if(!e)return"";if(e.text)return e.text;if(e.code)try{if("country"===t)return $.of(e.code);if("language"===t)return k.of(e.code)}catch(e){}return e.textKey?zi(e.textKey):e.value||""},[k,$]),L=ke(e=>function(e,t){if(!e||"string"!=typeof e)return null;const n=e.trim().split("|")[0].trim().toUpperCase();if(!/^COUNTRY[A-Z]{2}$/.test(n))return null;const s=n.replace("COUNTRY","");if(t.fixWindowsFlags)return Kn`<span class=${"fi fi-"+s.toLowerCase()+" gscs-flag-icon"}></span>`;const i=s.split("").map(e=>127397+e.charCodeAt(0));return String.fromCodePoint(...i)}(e,t),[t]),O=ke(e=>function(e,t){if(!t.fixWindowsFlags)return e;const n=/([\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF])/g,s=[];let i,o=0;for(n.lastIndex=0;null!==(i=n.exec(e));){i.index>o&&s.push(e.slice(o,i.index));const t=Mi(i[1]);s.push(t?Kn`<span class=${"fi fi-"+t+" gscs-flag-icon--flex"}></span>`:i[1]),o=i.index+i[0].length}return o<e.length&&s.push(e.slice(o)),Kn`<span class="gscs-flag-wrapper">${s}</span>`}(e,t),[t]);Ee(()=>{if(!w||!t)return;const e=(t[w.itemsArrayKey]||[]).map(e=>{if("string"==typeof e){const t=(o[w.predefinedSourceKey]||[]).find(t=>t.value===e);return t?{value:e,id:e,type:"predefined",text:I(t,w.predefinedSourceKey)}:{value:e,id:e,type:"predefined",text:e}}if(e&&"predefined"===e.type&&!e.text){const t=(o[w.predefinedSourceKey]||[]).find(t=>t.value===e.value);return{...e,text:t?I(t,w.predefinedSourceKey):""}}return e});w.listId===n.TIME_LIST&&e.sort((e,t)=>{const n={n:1,h:60,d:1440,w:10080,m:43200,y:525600},s=e=>{const t=String(e.value||e).match(/^([a-z])(\d*)$/i);return t?n[t[1].toLowerCase()]*(parseInt(t[2])||1):0};return s(e)-s(t)}),d(structuredClone(e)),w.hasPredefinedToggles&&w.predefinedSourceKey&&g(new Set(t.enabledPredefinedOptions[w.predefinedSourceKey]||[]))},[w,t,I]),Ee(()=>{const e=e=>{"Escape"===e.key&&i()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i]);const A=ke(e=>{e.target===a.current&&i()},[i]),{draggedIndex:R,onDragStart:N,onDragOver:D,onDragLeave:z,onDrop:M,onDragEnd:F}=function({items:e,setItems:t,editingIndex:n,setEditingIndex:s}){const[i,o]=we(null);return{draggedIndex:i,onDragStart:(e,t)=>{o(t),e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",t),e.target.classList.add("is-dragging")},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect="move";const t=e.target.closest("li");t&&t.classList.add("is-drag-over")},onDragLeave:e=>{const t=e.target.closest("li");t&&!t.contains(e.relatedTarget)&&t.classList.remove("is-drag-over")},onDrop:(r,a)=>{r.preventDefault();const l=r.target.closest("ul");if(l&&l.querySelectorAll("li").forEach(e=>e.classList.remove("is-drag-over","is-dragging")),null===i||i===a)return void o(null);const c=[...e],[d]=c.splice(i,1);c.splice(a,0,d),t(c),n===i?s(a):-1!==n&&(i<n&&a>=n?s(n-1):i>n&&a<=n&&s(n+1)),o(null)},onDragEnd:e=>{o(null);const t=e.target.closest("ul");t&&t.querySelectorAll("li").forEach(e=>e.classList.remove("is-drag-over","is-dragging"))}}}({items:c,setItems:d,editingIndex:u,setEditingIndex:p}),U=()=>{p(-1),f(""),b(""),y(""),T("")},[P,G]=we(-1);nn();const B="dark"===xt.value?s.THEME_DARK:s.THEME_LIGHT;if(!w||!E)return null;const K=Kn`
<div class="settings-modal-overlay ${B}" ref=${a} onClick=${A}>
<div class="settings-modal-content ${B}" ref=${l}>
<div class="settings-modal-header">
<h4>${zi(w.modalTitleKey)}</h4>
<button class="settings-modal-close-btn gscs-click-feedback" title="${zi("settings_close_button_title")}" onClick=${i}>
<${ns} name="close" />
</button>
</div>
<div class="settings-modal-body">
${w.hasPredefinedToggles?Kn`
<label class="gscs-setting-item__label">${zi("modal_label_standard_options",{type:zi(E?.nameKey||"")})}</label>
<ul class="predefined-options-list">
${(o[w.predefinedSourceKey]||[]).map(e=>Kn`
<li>
<input type="checkbox"
id="predef-${e.value}"
checked=${_.has(e.value)}
onChange=${t=>((e,t)=>{const n=new Set(_);t?n.add(e):n.delete(e),g(n)})(e.value,t.target.checked)} />
<label for="predef-${e.value}">${zi(e.textKey)}</label>
</li>
`)}
</ul>
<hr class="gscs-modal__separator" />
`:null}
${w.hasPredefinedChooser?Kn`
<${Oi}
config=${w}
items=${c}
setItems=${d}
settings=${t}
mapping=${E}
getDisplayName=${I}
getCountryIcon=${L}
renderInlineFlags=${O}
/>
`:Kn`
<div class="gscs-chooser__header">
<label class="gscs-setting-item__label gscs-chooser__label">
${zi("modal_label_my_custom",{type:zi(E?.nameKey||"")})}
${w.listId!==n.TIME_LIST?Kn`<span class="gscs-settings__section-heading-hint gscs-chooser__label-hint"> ${zi("hint_drag_to_sort")}</span>`:null}
</label>
</div>
`}
<${Ri}
items=${c}
config=${w}
mapping=${E}
settings=${t}
draggedIndex=${R}
onDragStart=${N}
onDragOver=${D}
onDragLeave=${z}
onDrop=${M}
onDragEnd=${F}
handleEdit=${e=>{const t=c[e];p(e),f(t.text||t.name||""),w.listId===n.CUSTOM_FILTERS_LIST?b(t.criteria?zt.safeStringify(t.criteria):""):b(t.url||t.value||""),y(""),T("")}}
handleDeleteClick=${e=>{P===e?((e=>{const t=[...c];t.splice(e,1),d(t),u===e?U():u>e&&p(u-1)})(e),G(-1)):(G(e),setTimeout(()=>{G(t=>t===e?-1:t)},3e3))}}
confirmDeleteIdx=${P}
getCountryIcon=${L}
renderInlineFlags=${O}
/>
<${Di}
config=${w}
mapping=${E}
inputText=${m}
setInputText=${f}
inputValue=${h}
setInputValue=${b}
textError=${v}
setTextError=${y}
valueError=${S}
setValueError=${T}
editingIndex=${u}
handleAddOrUpdate=${()=>{y(""),T("");const e=m.trim();let t=h.trim();t&&(t=ki(t,w.listId));let s=e;if(!s&&t&&(s=Ii(t,w.listId)),!s)return void y(zi("alert_edit_failed_missing_fields"));if(w.listId!==n.CUSTOM_FILTERS_LIST&&!t)return void T(zi("alert_edit_failed_missing_fields"));if(w.listId!==n.CUSTOM_FILTERS_LIST&&!$i(t,w.listId))return void T(zi("alert_invalid_value_format",{type:zi(E?.nameKey||""),hint:zi(w.hintKey)}));const i=u>-1?c[u].text||c[u].name:null;let o,r;if(o=w.isSortableMixed?function(e,t,s,i,o){const r=e.toLowerCase();return t.some((e,t)=>!("custom"!==e.type&&![n.SITES_LIST,n.TIME_LIST,n.FT_LIST,n.CUSTOM_FILTERS_LIST].includes(s)||i===t&&o?.toLowerCase()===r||(e.text||e.name||"").toLowerCase()!==r))}(s,c,w.listId,u,i):c.some((e,t)=>{const n=e.text||e.name||"";return(u!==t||!i||i.toLowerCase()!==s.toLowerCase())&&n.toLowerCase()===s.toLowerCase()}),o)return void y(zi("alert_duplicate_name",{name:s}));r=w.listId===n.SITES_LIST?{text:s,url:t}:w.listId===n.CUSTOM_FILTERS_LIST?{name:s}:w.isSortableMixed?{id:t,text:s,value:t,type:"custom"}:{text:s,value:t};const a=[...c];u>-1?a[u]={...a[u],...r}:a.push(r),d(a),U()}}
handleCancelEdit=${U}
/>
</div>
<div class="settings-modal-footer">
<button class="modal-complete-btn ${s.BUTTON} gscs-click-feedback" onClick=${()=>{const e=c.map(e=>{if(w.isSortableMixed&&"predefined"===e.type){const t=(o[w.predefinedSourceKey]||[]).find(t=>t.value===(e.value||e.id));return{id:e.value||e.id,type:"predefined",value:e.value||e.id,textKey:t?t.textKey:e.textKey||""}}return"predefined"===e.type?e.value||e.id:e}),n={[w.itemsArrayKey]:e};w.customItemsMasterKey&&w.isSortableMixed&&(n[w.customItemsMasterKey]=c.filter(e=>"custom"===e.type)),w.hasPredefinedToggles&&w.predefinedSourceKey&&(n.enabledPredefinedOptions={...t.enabledPredefinedOptions,[w.predefinedSourceKey]:Array.from(_)}),r(n)}}>${zi("modal_button_complete")}</button>
</div>
</div>
</div>
`;return Cn(K,document.body)},Ui=y;class Pi extends H{constructor(e){super(e),this.state={hasError:!1}}componentDidCatch(e,t){p.error("ErrorBoundary","ErrorBoundary caught:",e,t),this.setState({hasError:!0})}render(e,t){return t.hasError?Kn`
<div style="padding: 12px; color: #721c24; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; margin: 8px; font-size: 13px; font-family: Arial, sans-serif;">
<strong>${Ui("error_boundary_title")}</strong>
<p style="margin: 4px 0 0;">${Ui("error_boundary_message")}</p>
<button
onClick=${()=>this.setState({hasError:!1})}
style="margin-top: 8px; padding: 4px 12px; cursor: pointer; border: 1px solid #c0392b; border-radius: 3px; background: #fff; color: #c0392b; font-size: 12px;"
>${Ui("error_boundary_retry")}</button>
</div>
`:e.children}}const Gi=()=>{const{isSettingsModalOpen:e,activeManageModalType:t,isSaveFilterModalOpen:n}=Xt.value,s=mt.value,i=`sidebar-${x()}`;let o=new URLSearchParams;try{o=new URL(window.location.href).searchParams}catch(e){p.warn("AppRoot","Error parsing URL params",e)}return Kn`
<div id="gscs-app-root" style="display: contents;">
<${Pi}>
<!-- Active Filters HUD Overlay -->
<${Ti} />
<!-- Main Sidebar UI -->
<${si}
key=${i}
onCollapse=${()=>{const e=structuredClone(gn.getCurrentSettings());e.sidebarCollapsed=!e.sidebarCollapsed,gn.applyAndSave(e,"Sidebar Collapse")}}
onSettings=${()=>gn.show()}
urlParams=${o}
onSectionToggle=${(e,t)=>gn.toggleSectionState(t)}
/>
<!-- Settings Modal Overlay -->
${e&&Kn`
<${yi}
onClose=${()=>gn.hide(!0)}
onSave=${()=>gn.saveAndClose()}
onReset=${()=>gn.reset()}
/>
`}
<!-- Global Manage List Modal Overlay -->
${t&&Kn`
<${Fi}
manageType=${t}
settings=${s}
onClose=${()=>Zt(null)}
onComplete=${e=>{if(e){const t=structuredClone(gn.getCurrentSettings());Object.assign(t,e),gn.applyAndSave(t,"Manage Modal Completion")}Zt(null)}}
/>
`}
<!-- Save Filter Modal Overlay -->
${n&&Kn`
<${Ei}
onClose=${()=>Qt(!1)}
onSave=${e=>{const t=structuredClone(gn.getCurrentSettings());t.customFilters=[...t.customFilters||[],e],gn.applyAndSave(t,"Add Custom Filter"),Qt(!1)}}
/>
`}
</${Pi}>
<!-- Global Toast Notifications (outside ErrorBoundary to remain visible on errors) -->
<${ri} />
</div>
`};let Bi=null;const Ki={_getRenderKey:function(){return`sidebar-${x()}`},buildSidebarUI:function(){if(!Bi)return void p.error("Sidebar","Sidebar container not ready for buildSidebarUI");const e=gn.getCurrentSettings();!function(e,t){null==t.__k&&(t.textContent=""),ce(e,t),e&&e.__c}(Kn`<${Gi} />`,Bi),Ki.syncSettingsWindowTheme(e)},syncSettingsWindowTheme:function(e){const t=document.getElementById("gscs-settings-window");if(!t)return;t.classList.remove("gscs-theme-light","gscs-theme-dark","gscs-theme-minimal","gscs-theme-minimal--light","gscs-theme-minimal--dark");let n=e.theme,s=n;"system"===n?s=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":n.startsWith("minimal-")&&(s=n.includes("dark")?"dark":"light"),t.classList.add(`gscs-theme-${s}`)},setupSystemThemeListener:function(){yt.subscribe(()=>{const e=gn.getCurrentSettings();"system"===e.theme&&Ki.syncSettingsWindowTheme(e)})},buildSidebarSkeleton:function(){return Bi=document.createElement("div"),document.body.appendChild(Bi),Bi},toggleSidebarCollapse:function(){const e=structuredClone(gn.getCurrentSettings());e.sidebarCollapsed=!e.sidebarCollapsed,gn.applyAndSave(e,"Sidebar Collapse"),Ki.buildSidebarUI()},init:function(){return p.log("Sidebar","Initializing SidebarManager..."),Ki.setupSystemThemeListener(),{buildSidebarUI:Ki.buildSidebarUI,buildSidebarSkeleton:Ki.buildSidebarSkeleton,getSidebar:()=>document.getElementById(n.SIDEBAR),init:Ki.init}}},Hi=y;function Vi(){"function"==typeof GM_registerMenuCommand&&(GM_registerMenuCommand(Hi("menu_open_settings"),()=>gn.show()),GM_registerMenuCommand(Hi("menu_reset_all_settings"),()=>gn.resetAllFromMenu()))}async function Wi(){p.log("Init","Starting initialization..."),function(){if("function"==typeof GM_addStyle)GM_addStyle(e);else{const t=document.createElement("style");t.textContent=e,document.head.appendChild(t)}}(),b(t),Ki.buildSidebarSkeleton(),gn.initialize(t,Ki.buildSidebarUI,Ki.buildSidebarUI,Vi),p.init(mt),gn.getCurrentSettings().fixWindowsFlags&&function(){if("function"!=typeof GM_getResourceText)return;const e=GM_getResourceText("flagIconsCSS");if(!e)return;const t=e.replace(/url\((['"]?)\.\.\/flags\//g,"url($1https://cdn.jsdelivr.net/npm/flag-icons@7/flags/");GM_addStyle(t)}(),Ki.buildSidebarUI(),Ki.init(),document.addEventListener("mousedown",e=>{if(1===e.button||2===e.button){const t=e.target?.closest(".gscs-filter-option, .gscs-sidebar-link, .gscs-chip, .gscs-custom-tab-btn, .gscs-button, .gscs-header-button, .gscs-manage-shortcut, .gscs-click-feedback, .gscs-filter-mode-btn, .gscs-filter-exclude-btn, button");if(t){t.classList.add("gscs-middle-click-active");const e=new AbortController,n=()=>{t.classList.remove("gscs-middle-click-active"),e.abort()};document.addEventListener("mouseup",n,{signal:e.signal}),document.addEventListener("mouseleave",n,{signal:e.signal})}}}),Vi(),p.log("Init","Initialization complete.")}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Wi):Wi()}();