/* panel.css for ✨ Gmail Genie ✨ v1.2.1 (HD UI & Modern Themes - Corrected) */ /* :root variables are set by content.js based on the selected theme */ /* --- High Contrast Overrides --- */ body.gap-high-contrast { --panel-bg-rgb: 0,0,0; --panel-alpha-val: 1; --panel-text: #ffffff; --panel-border: #f0f0f0; --input-bg: #151515; --input-border: #f0f0f0; --input-text: #ffffff; --primary-color: #ffff00; --secondary-color: #00ddff; --progress-color: #ff00ff; --button-text: #000000; --button-text-on-dark: #ffffff; --button-hover-bg: #e0e000; --button-secondary-hover-bg: rgba(0, 221, 255, 0.3); --error-color: #ff6060; --success-color: #60ff60; --warning-color: #ffff60; --link-color: var(--primary-color); --scrollbar-thumb: #f0f0f0; --scrollbar-track: #222; --primary-color-rgb: 255,255,0; --error-rgb: 255,96,96; --warning-color-rgb:255,255,96; --success-color-rgb:96,255,96; --secondary-color-rgb:0,221,255; --panel-text-rgb: 255,255,255; --gg-gradient-start: var(--primary-color); --gg-gradient-end: var(--secondary-color); --gg-shadow-color: rgba(255,255,255,0.4); --card-bg: rgba(10,10,10,0.95); --card-header-bg: rgba(255,255,0,0.08); --card-border: #e0e0e0; --modal-content-bg: #000; --modal-header-bg: rgba(255,255,0,0.12); --modal-footer-bg: rgba(10,10,10,0.8); --aurora-opacity: 0 !important; color-scheme: dark; } body.gap-high-contrast #gap-panel { border: 1.5px solid #f0f0f0 !important; backdrop-filter: none !important; background-color: black !important; background-image: none !important; } body.gap-high-contrast .gap-modal { z-index: 2147483647 !important; } body.gap-high-contrast .gap-modal-content { border: 1px solid #f0f0f0 !important; backdrop-filter: none !important; background-color: black !important; color: #fff !important; } body.gap-high-contrast #gap-panel-background-effects { display: none !important; } body.gap-high-contrast .gap-modal-content p, body.gap-high-contrast .gap-modal-content label, body.gap-high-contrast .gap-modal-content small, body.gap-high-contrast .gap-modal-content li, body.gap-high-contrast .gap-modal-content h1, body.gap-high-contrast .gap-modal-content h2, body.gap-high-contrast .gap-modal-content h3, body.gap-high-contrast .gap-modal-content .filename-display, body.gap-high-contrast .gap-modal-content #gap-setting-panel-alpha-value { color: #ffffff !important; } body.gap-high-contrast .gap-modal-content a { color: var(--link-color) !important; } body.gap-high-contrast .gap-modal-content hr { border-top-color: #f0f0f0 !important; background-color: #f0f0f0 !important; } body.gap-high-contrast .gap-modal-content textarea::placeholder, body.gap-high-contrast .gap-modal-content input::placeholder { color: rgba(255,255,255,0.7) !important; } body.gap-high-contrast .gap-modal-content input[type="checkbox"] { border-color: #fff !important; } body.gap-high-contrast .gap-modal-content input[type="checkbox"]:checked { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; } body.gap-high-contrast .gap-modal-content input[type="checkbox"]:checked::before { color: #000 !important; } body.gap-high-contrast .gap-modal-content select, body.gap-high-contrast .gap-modal-content select option { color: #ffffff !important; background-color: var(--input-bg) !important; } body.gap-high-contrast .gap-modal-content .gap-btn { color: var(--button-text) !important; } body.gap-high-contrast .gap-modal-content .gap-btn.primary-btn, body.gap-high-contrast .gap-modal-content .gap-btn.secondary-btn.active { background: var(--primary-color) !important; color: var(--button-text) !important; } body.gap-high-contrast .gap-modal-content .gap-btn.secondary-btn { background: var(--secondary-color) !important; color: var(--button-text) !important; border-color: var(--button-text) !important; } body.gap-high-contrast .gap-modal-content .gap-btn.error-btn { background: var(--error-color) !important; color: #000 !important; } body.gap-high-contrast .gap-modal-content .gap-btn.success-btn { background: var(--success-color) !important; color: #000 !important; } /* --- AGGRESSIVE RESET --- */ #gap-panel, #gap-panel div, #gap-panel span, #gap-panel applet, #gap-panel object, #gap-panel iframe, #gap-panel h1, #gap-panel h2, #gap-panel h3, #gap-panel h4, #gap-panel h5, #gap-panel h6, #gap-panel p, #gap-panel blockquote, #gap-panel pre, #gap-panel a, #gap-panel abbr, #gap-panel acronym, #gap-panel address, #gap-panel big, #gap-panel cite, #gap-panel code, #gap-panel del, #gap-panel dfn, #gap-panel em, #gap-panel img, #gap-panel ins, #gap-panel kbd, #gap-panel q, #gap-panel s, #gap-panel samp, #gap-panel small, #gap-panel strike, #gap-panel strong, #gap-panel sub, #gap-panel sup, #gap-panel tt, #gap-panel var, #gap-panel b, #gap-panel u, #gap-panel i, #gap-panel center, #gap-panel dl, #gap-panel dt, #gap-panel dd, #gap-panel ol, #gap-panel ul, #gap-panel li, #gap-panel fieldset, #gap-panel form, #gap-panel label, #gap-panel legend, #gap-panel table, #gap-panel caption, #gap-panel tbody, #gap-panel tfoot, #gap-panel thead, #gap-panel tr, #gap-panel th, #gap-panel td, #gap-panel article, #gap-panel aside, #gap-panel canvas, #gap-panel details, #gap-panel embed, #gap-panel figure, #gap-panel figcaption, #gap-panel footer, #gap-panel header, #gap-panel hgroup, #gap-panel menu, #gap-panel nav, #gap-panel output, #gap-panel ruby, #gap-panel section, #gap-panel summary, #gap-panel time, #gap-panel mark, #gap-panel audio, #gap-panel video, #gap-panel button, #gap-panel input, #gap-panel select, #gap-panel textarea { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; box-sizing: border-box; background: transparent; color: inherit; text-decoration: none; list-style: none; } #gap-panel article, #gap-panel aside, #gap-panel details, #gap-panel figcaption, #gap-panel figure, #gap-panel footer, #gap-panel header, #gap-panel hgroup, #gap-panel menu, #gap-panel nav, #gap-panel section { display: block; } /* --- END OF AGGRESSIVE RESET --- */ .gap-icon { display: inline-flex !important; align-items: center; justify-content: center; font-style: normal; vertical-align: -0.15em; transition: transform 0.15s ease-out, color 0.15s ease-out; } /* Base Styles for Panel and Modals */ #gap-panel, .gap-modal, .gap-login-modal-overlay { font-family: var(--panel-font-family-val, 'Inter', sans-serif) !important; font-size: var(--panel-font-size-val, 14px) !important; line-height: 1.6 !important; color: rgb(var(--panel-text-rgb)) !important; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; } /* Panel Container */ #gap-panel { position: fixed !important; top: 50% !important; right: var(--spacing-unit-val) !important; transform: translateY(-50%) translateX(0) perspective(1500px) !important; width: var(--panel-width-val) !important; max-height: var(--panel-max-height-val) !important; height: var(--panel-max-height-val) !important; /* Maintain consistent height */ background-color: rgba(var(--panel-bg-rgb), var(--panel-alpha-val)) !important; /* **FIX:** Removed !important to allow JS override for custom wallpapers */ background-image: url('chrome-extension://__MSG_@@extension_id__/wallpaper.png'); background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; border: 1px solid var(--panel-border) !important; border-radius: var(--border-radius-val) !important; /* **UI ENHANCEMENT:** Sharper shadow for a less blurry look */ box-shadow: 0 10px 30px rgba(0,0,0,0.2), inset 0 0 0 0.5px rgba(var(--panel-text-rgb),0.08) !important; display: flex !important; flex-direction: column !important; z-index: 2147483646 !important; overflow: hidden !important; opacity: 0; /* Initial state for entrance animation */ animation: gapPanelEntrance 0.45s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s forwards !important; transform-style: preserve-3d !important; } /* Panel Header */ #gap-panel #gap-header { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: calc(var(--spacing-unit-val) * 1.05) calc(var(--spacing-unit-val) * 1.55) !important; background: linear-gradient(140deg, var(--gg-gradient-start), var(--gg-gradient-end)) !important; color: #ffffff !important; border-bottom: 1px solid transparent !important; box-shadow: 0 2px 8px rgba(var(--primary-color-rgb),0.22) !important; flex-shrink: 0 !important; user-select: none !important; position: relative; z-index: 10; gap: calc(var(--spacing-unit-val) * 0.5); } #gap-panel #gap-header-title { font-size: calc(var(--header-font-size-val) * 1.08) !important; font-weight: 600 !important; letter-spacing: 0.25px !important; color: inherit !important; display: flex; align-items: center; gap: calc(var(--spacing-unit-val)*0.65); text-shadow: 0 1px 1.5px rgba(0,0,0,0.18); flex-grow: 1; } /* **FIX & ENHANCEMENT:** Correctly style the img tag for the logo */ #gap-panel #gap-header-title .gg-logo-icon { height: 1.5em; width: 1.5em; vertical-align: middle; filter: drop-shadow(0 1.5px 2px rgba(0,0,0,0.3)); } #gap-panel #gap-username-display { font-size: 0.75em; font-weight: 500; opacity: 0.9; background-color: rgba(0,0,0,0.15); padding: 3px 8px; border-radius: 8px; white-space: nowrap; color: #fff; text-shadow: none; max-width: 120px; overflow: hidden; text-overflow: ellipsis; } #gap-panel #gap-header-controls { display: flex; align-items: center; gap: calc(var(--spacing-unit-val) * 0.2); flex-shrink: 0; } #gap-panel #gap-header-controls .gap-icon-btn { color: rgba(255,255,255,0.9) !important; background: transparent !important; border: none !important; font-size: 1.25em; padding: calc(var(--spacing-unit-val)*0.45); border-radius: 50%; line-height: 1; transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out, color 0.2s ease-in-out; } #gap-panel #gap-header-controls .gap-icon-btn:hover { background-color: rgba(255,255,255,0.12) !important; color: #ffffff !important; transform: scale(1.08); } /* Progress Bar - Enhanced */ #gap-progress-bar { padding: calc(var(--spacing-unit-val) * 0.85) calc(var(--spacing-unit-val) * 1.55) !important; border-bottom: 1px solid var(--panel-border) !important; background-color: rgba(var(--panel-bg-rgb), 0.75) !important; /* Increased opacity for readability */ flex-shrink: 0; } #gap-progress-bar .progress-bar-wrapper { width: 100%; height: calc(var(--spacing-unit-val) * 0.85); border-radius: calc(var(--border-radius-val) * 0.45); overflow: hidden; background-color: rgba(var(--panel-text-rgb), 0.07); margin-bottom: calc(var(--spacing-unit-val) * 0.45); box-shadow: inset 0 1px 2.5px rgba(0,0,0,0.08); } #gap-progress-bar progress { appearance: none; border: none; width: 100%; height: 100%; color: var(--progress-color); } #gap-progress-bar progress::-webkit-progress-bar { background-color: transparent; } #gap-progress-bar.progress-bar-style1 progress::-webkit-progress-value { background: linear-gradient(90deg, var(--primary-color) 0%, var(--progress-color) 70%, color-mix(in srgb, var(--progress-color) 60%, var(--warning-color) 40%) 100%); border-radius: calc(var(--border-radius-val) * 0.45); transition: width 0.35s cubic-bezier(0.23, 1, 0.32, 1); background-size: 250% 100%; animation: gapProgressBarFillAnimation 2.2s linear infinite; } #gap-progress-bar.progress-bar-style1 progress::-moz-progress-bar { background: linear-gradient(90deg, var(--primary-color) 0%, var(--progress-color) 70%, color-mix(in srgb, var(--progress-color) 60%, var(--warning-color) 40%) 100%); border-radius: calc(var(--border-radius-val) * 0.45); transition: width 0.35s cubic-bezier(0.23, 1, 0.32, 1); background-size: 250% 100%; animation: gapProgressBarFillAnimation 2.2s linear infinite; } @keyframes gapProgressBarFillAnimation { 0% { background-position: 100% center; } 50% { background-position: 0% center; } 100% { background-position: 100% center; } } #gap-progress-bar.progress-bar-style5 progress::-webkit-progress-value { background-image: linear-gradient(to right, var(--gg-gradient-start), var(--gg-gradient-end)); box-shadow: 0 0 9px 1.5px var(--gg-shadow-color), 0 0 18px 4px rgba(var(--gg-gradient-end), 0.25); border-radius: calc(var(--border-radius-val) * 0.45); transition: width 0.35s cubic-bezier(0.23, 1, 0.32, 1); animation: gapProgressBarGlowAnimation 2.3s ease-in-out infinite alternate; } #gap-progress-bar.progress-bar-style5 progress::-moz-progress-bar { background-image: linear-gradient(to right, var(--gg-gradient-start), var(--gg-gradient-end)); box-shadow: 0 0 9px 1.5px var(--gg-shadow-color), 0 0 18px 4px rgba(var(--gg-gradient-end), 0.25); border-radius: calc(var(--border-radius-val) * 0.45); transition: width 0.35s cubic-bezier(0.23, 1, 0.32, 1); animation: gapProgressBarGlowAnimation 2.3s ease-in-out infinite alternate; } @keyframes gapProgressBarGlowAnimation { from { box-shadow: 0 0 7px 0.5px var(--gg-shadow-color), 0 0 13px 2.5px rgba(var(--gg-gradient-end), 0.18); opacity: 0.85; } to { box-shadow: 0 0 13px 2.5px var(--gg-shadow-color), 0 0 22px 5px rgba(var(--gg-gradient-end), 0.35); opacity: 1; } } #gap-progress-details { display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 0.8em !important; color: rgb(var(--panel-text-rgb)) !important; font-weight: 500; opacity: 0.9; } body.theme-skylineGlow #gap-progress-details { color: rgb(var(--panel-text-rgb)) !important; } body.theme-lightClassic #gap-progress-details { color: rgb(var(--panel-text-rgb)) !important; } body.theme-oceanBreeze #gap-progress-details { color: rgb(var(--panel-text-rgb)) !important; } #gap-progress-counts .gap-icon { font-size: 0.95em !important; margin-right: 1.5px; } /* Tabs */ #gap-tabs { display: flex !important; background-color: rgba(var(--panel-bg-rgb), 0.25) !important; border-bottom: 1px solid var(--panel-border) !important; flex-shrink: 0 !important; padding: 0 calc(var(--spacing-unit-val) * 0.4); } #gap-tabs button[role="tab"] { flex-grow: 1 !important; padding: calc(var(--spacing-unit-val)*0.85) var(--spacing-unit-val) !important; background: transparent !important; border: none !important; color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 65%, transparent) !important; font-size: 0.88em !important; font-weight: 500 !important; cursor: pointer !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; display: flex; align-items: center; justify-content: center; gap: calc(var(--spacing-unit-val)*0.45); position: relative; border-radius: calc(var(--border-radius-val) * 0.35) calc(var(--border-radius-val) * 0.35) 0 0; margin-top: calc(var(--spacing-unit-val) * 0.15); } #gap-tabs button[role="tab"]::after { content: ''; position: absolute; bottom: -1px; left: 10%; right: 10%; height: 3.5px; background-color: var(--primary-color); transform: scaleX(0); transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); border-radius: 2px 2px 0 0; } #gap-tabs button[role="tab"]:hover { color: var(--primary-color) !important; background-color: rgba(var(--primary-color-rgb), 0.06) !important; } #gap-tabs button[role="tab"].active { color: var(--primary-color) !important; background-color: rgba(var(--primary-color-rgb), 0.09) !important; font-weight: 600 !important; } #gap-tabs button[role="tab"].active::after { transform: scaleX(1); } #gap-tabs button[role="tab"] .gap-tab-icon { font-size: 1.02em; } /* Content Area */ #gap-panel #gap-panel-content-wrapper { flex-grow: 1; overflow-y: auto; background: linear-gradient(180deg, rgba(var(--panel-bg-rgb),0.1) 0%, transparent 15%); } #gap-panel #gap-panel-content-scrollarea { padding: calc(var(--spacing-unit-val) * 1.1) !important; } #gap-panel #gap-content > .tab { display: none; flex-direction: column; gap: calc(var(--spacing-unit-val) * 1.4); animation: gapTabFadeIn 0.3s ease-out forwards; } #gap-panel #gap-content > .tab.active { display: flex; } @keyframes gapTabFadeIn { from { opacity: 0; transform: translateY(10px) scale(0.99); } to { opacity: 1; transform: translateY(0) scale(1); } } /* Modern Card */ #gap-panel .gap-section.modern-card { background-color: var(--card-bg) !important; border: 1px solid var(--card-border) !important; border-radius: calc(var(--border-radius-val) * 0.75) !important; box-shadow: 0 3px 10px rgba(0,0,0,0.1), 0 1px 2.5px rgba(0,0,0,0.06) !important; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out; margin-bottom: calc(var(--spacing-unit-val) * 1.2); } #gap-panel .gap-section.modern-card:last-child { margin-bottom: 0; } #gap-panel .gap-section.modern-card:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.12), 0 1.5px 5px rgba(0,0,0,0.08) !important; } #gap-panel .modern-card-header { padding: calc(var(--spacing-unit-val) * 1.05) calc(var(--spacing-unit-val) * 1.45) !important; font-weight: 600 !important; font-size: 0.98em !important; color: var(--primary-color) !important; background-color: var(--card-header-bg) !important; border-bottom: 1px solid var(--card-border) !important; display: flex; align-items: center; gap: calc(var(--spacing-unit-val) * 0.55) !important; } #gap-panel .modern-card-header .gap-icon { color: inherit !important; font-size: 1.1em !important; } #gap-panel .modern-card-content { padding: calc(var(--spacing-unit-val) * 1.35) !important; } #gap-panel .modern-card-content.no-padding-top { padding-top: 0 !important; } #gap-panel .modern-card-content.no-margin-bottom { margin-bottom: 0 !important; } /* Collapsible Sections */ #gap-panel .gap-section.modern-collapsible { margin-bottom: calc(var(--spacing-unit-val) * 1.2); } #gap-panel .gap-section.modern-collapsible summary { display: flex; align-items: center; padding: calc(var(--spacing-unit-val) * 0.95) calc(var(--spacing-unit-val) * 1.35) !important; font-size: 0.93em !important; font-weight: 500; color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 75%, transparent) !important; background-color: var(--card-header-bg) !important; border-bottom: 1px solid var(--card-border) !important; cursor: pointer; list-style: none; transition: background-color 0.2s ease, color 0.2s ease; border-radius: calc(var(--border-radius-val) * 0.75) calc(var(--border-radius-val) * 0.75) 0 0; } #gap-panel .gap-section.modern-collapsible[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } #gap-panel .gap-section.modern-collapsible summary:hover { background-color: color-mix(in srgb, var(--card-header-bg) 88%, var(--primary-color) 12%) !important; color: var(--primary-color) !important; } #gap-panel .gap-section.modern-collapsible summary::before { content: '▶'; display: inline-block; color: var(--primary-color) !important; font-size: 0.83em; margin-right: calc(var(--spacing-unit-val) * 0.55); transition: transform 0.2s ease-out; transform-origin: center; } #gap-panel .gap-section.modern-collapsible[open] summary::before { transform: rotate(90deg); } #gap-panel .gap-section.modern-collapsible .section-content { padding: calc(var(--spacing-unit-val) * 1.25) !important; background-color: var(--card-bg) !important; border: 1px solid var(--card-border); border-top: none; border-radius: 0 0 calc(var(--border-radius-val) * 0.75) calc(var(--border-radius-val) * 0.75); } #gap-panel .gap-section.sub-section.modern-collapsible { margin-top: var(--spacing-unit-val); margin-bottom: 0; } #gap-panel .gap-section.sub-section.modern-collapsible summary { font-size: 0.88em !important; background-color: rgba(var(--primary-color-rgb), 0.04) !important; padding: calc(var(--spacing-unit-val) * 0.75) calc(var(--spacing-unit-val) * 1.15) !important; } #gap-panel .gap-section.sub-section.modern-collapsible .section-content { background-color: transparent !important; padding: calc(var(--spacing-unit-val) * 1.05) !important; border: 1px solid rgba(var(--primary-color-rgb), 0.1); border-top: none; } /* Forms & Inputs */ #gap-panel .settings-grid, .gap-modal-content .settings-grid { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: calc(var(--spacing-unit-val) * 0.95) calc(var(--spacing-unit-val) * 1.35) !important; } #gap-panel .settings-grid label, .gap-modal-content .settings-grid label { font-size: 0.86em !important; font-weight: 500 !important; color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 88%, transparent) !important; } #gap-panel input[type="text"], #gap-panel input[type="number"], #gap-panel input[type="email"], #gap-panel input[type="url"], #gap-panel input[type="datetime-local"], #gap-panel input[type="date"], #gap-panel input[type="file"], #gap-panel select, #gap-panel textarea, #gap-panel .gap-editor-container, .gap-modal-content input[type="text"], .gap-modal-content input[type="number"], .gap-modal-content input[type="email"], .gap-modal-content input[type="url"], .gap-modal-content input[type="datetime-local"], .gap-modal-content input[type="date"], .gap-modal-content input[type="file"], .gap-modal-content select, .gap-modal-content textarea, .gap-modal-content .gap-editor-container, .gap-login-modal-content input[type="text"], .gap-login-modal-content input[type="password"] { width: 100%; padding: calc(var(--spacing-unit-val) * 0.85) calc(var(--spacing-unit-val) * 1.05) !important; border-radius: calc(var(--border-radius-val) * 0.45) !important; font-size: 0.93em !important; background-color: var(--input-bg) !important; border: 1px solid var(--input-border) !important; color: var(--input-text) !important; box-shadow: inset 0 1px 1.5px rgba(var(--panel-text-rgb), 0.05) !important; transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; } #gap-panel input:focus, #gap-panel select:focus, #gap-panel textarea:focus, #gap-panel .gap-editor-container:focus-within, .gap-modal-content input:focus, .gap-modal-content select:focus, .gap-modal-content textarea:focus, .gap-modal-content .gap-editor-container:focus-within, .gap-login-modal-content input:focus { border-color: color-mix(in srgb, var(--primary-color) 85%, black 10%) !important; background-color: color-mix(in srgb, var(--input-bg) 99%, var(--primary-color) 1%) !important; box-shadow: inset 0 1px 1px rgba(var(--panel-text-rgb),0.03), 0 0 0 2.8px rgba(var(--primary-color-rgb), 0.25), 0 0 8px -1.5px rgba(var(--primary-color-rgb),0.12) !important; outline: none !important; } #gap-panel ::placeholder, .gap-modal-content ::placeholder, .gap-login-modal-content ::placeholder { color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 50%, transparent) !important; opacity: 1; } #gap-panel .input-error, .gap-modal-content .input-error { border-color: var(--error-color) !important; box-shadow: inset 0 1px 1px rgba(var(--panel-text-rgb),0.03), 0 0 0 2.8px rgba(var(--error-rgb), 0.35), 0 0 8px -1.5px rgba(var(--error-rgb),0.18) !important; background-color: color-mix(in srgb, var(--input-bg) 95%, var(--error-color) 5%) !important; } #gap-panel .input-error:focus, .gap-modal-content .input-error:focus { border-color: color-mix(in srgb, var(--error-color) 85%, black 10%) !important; box-shadow: inset 0 1px 1px rgba(var(--panel-text-rgb),0.03), 0 0 0 3.5px rgba(var(--error-rgb), 0.45), 0 0 10px -1px rgba(var(--error-rgb),0.25) !important; } .gap-modal-content input[type="checkbox"]:checked::before { color: rgb(var(--button-text)) !important; } body.theme-skylineGlow .gap-btn.success-btn, body.theme-skylineGlow .gap-btn.warning-btn { color: #ffffff !important; } body.theme-skylineGlow .gap-modal-content input[type="checkbox"]:checked::before { color: #fff; } #gap-panel .form-row { display: flex; flex-direction: column; gap: calc(var(--spacing-unit-val) * 0.8); } #gap-panel .input-with-unit { display: flex; align-items: center; gap: calc(var(--spacing-unit-val) * 0.5); } #gap-panel .input-with-unit input { flex-grow: 1; } #gap-panel .unit-text { font-size: 0.9em; opacity: 0.8; } /* Buttons */ #gap-panel .gap-btn, .gap-modal-content .gap-btn, .gap-login-modal-content .gap-btn { padding: calc(var(--spacing-unit-val) * 0.8) calc(var(--spacing-unit-val) * 1.7) !important; font-size: 0.9em !important; font-weight: 600 !important; border-radius: calc(var(--border-radius-val) * 0.55) !important; letter-spacing: 0.45px !important; box-shadow: 0 1.8px 3.5px rgba(var(--panel-text-rgb),0.06), 0 0.8px 1.3px rgba(var(--panel-text-rgb),0.04) !important; transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out, box-shadow 0.15s ease-out, transform 0.1s ease-out !important; will-change: transform, box-shadow; cursor: pointer; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: calc(var(--spacing-unit-val)*0.5); } #gap-panel .gap-btn:active, .gap-modal-content .gap-btn:active, .gap-login-modal-content .gap-btn:active { transform: translateY(0.5px) scale(0.99); box-shadow: 0 0.8px 1.5px rgba(var(--panel-text-rgb),0.07) !important; } #gap-panel .gap-btn.primary-btn, .gap-modal-content .gap-btn.primary-btn, .gap-login-modal-content .gap-btn.primary-btn { background: linear-gradient(140deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 80%, var(--progress-color) 45%)) !important; color: rgb(var(--button-text)) !important; text-shadow: 0 1px 1px rgba(0,0,0,0.08) !important; border: none !important; } #gap-panel .gap-btn.primary-btn:hover, .gap-modal-content .gap-btn.primary-btn:hover, .gap-login-modal-content .gap-btn.primary-btn:hover { filter: brightness(1.08) saturate(1.08); box-shadow: 0 3.5px 9px rgba(var(--primary-color-rgb), 0.25), 0 0 0 1.3px rgba(var(--primary-color-rgb),0.45), 0 1.5px 2.5px rgba(var(--panel-text-rgb),0.08) !important; } #gap-panel .gap-btn.secondary-btn, .gap-modal-content .gap-btn.secondary-btn { background-color: color-mix(in srgb, var(--card-bg) 96%, black 2%) !important; color: var(--primary-color) !important; border: 1px solid color-mix(in srgb, var(--panel-border) 85%, var(--primary-color) 15%) !important; } #gap-panel .gap-btn.secondary-btn:hover, .gap-modal-content .gap-btn.secondary-btn:hover { background-color: var(--button-secondary-hover-bg) !important; border-color: var(--primary-color) !important; color: color-mix(in srgb, var(--primary-color) 92%, white 8%) !important; box-shadow: 0 2.5px 7px rgba(var(--primary-color-rgb), 0.13), 0 1px 1.8px rgba(var(--panel-text-rgb),0.07) !important; } #gap-panel .gap-btn.error-btn, .gap-modal-content .gap-btn.error-btn { background: var(--error-color) !important; color: #FFF !important; text-shadow: 0 1px 1px rgba(0,0,0,0.13) !important; border: none !important; } #gap-panel .gap-btn.error-btn:hover, .gap-modal-content .gap-btn.error-btn:hover { filter: brightness(1.06) saturate(1.06); box-shadow: 0 3.5px 9px rgba(var(--error-rgb), 0.25), 0 1.5px 2.5px rgba(var(--panel-text-rgb),0.08) !important; } #gap-panel .gap-btn.success-btn, .gap-modal-content .gap-btn.success-btn { background: var(--success-color) !important; color: #FFF !important; text-shadow: 0 1px 1px rgba(0,0,0,0.13) !important; border: none !important; } #gap-panel .gap-btn.success-btn:hover, .gap-modal-content .gap-btn.success-btn:hover { filter: brightness(1.06) saturate(1.06); box-shadow: 0 3.5px 9px rgba(var(--success-color-rgb), 0.25), 0 1.5px 2.5px rgba(var(--panel-text-rgb),0.08) !important; } #gap-panel .gap-btn.btn-sm, .gap-modal-content .gap-btn.btn-sm { padding: calc(var(--spacing-unit-val) * 0.55) calc(var(--spacing-unit-val) * 1.1) !important; font-size: 0.82em !important; } #gap-panel .gap-btn.full-width, .gap-modal-content .gap-btn.full-width { width: 100%; } #gap-panel .button-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: calc(var(--spacing-unit-val) * 0.7); } #gap-panel .gap-btn:disabled, .gap-modal-content .gap-btn:disabled, .gap-login-modal-content .gap-btn:disabled { opacity: 0.6 !important; filter: grayscale(60%) brightness(0.95) !important; box-shadow: none !important; transform: none !important; background-color: rgba(var(--panel-text-rgb), 0.08) !important; color: rgba(var(--panel-text-rgb), 0.5) !important; border: 1px solid rgba(var(--panel-text-rgb), 0.15) !important; cursor: not-allowed !important; } #gap-panel .gap-btn:disabled .gap-icon, .gap-modal-content .gap-btn:disabled .gap-icon { color: rgba(var(--panel-text-rgb), 0.5) !important; } #gap-panel .gap-btn.primary-btn:disabled, .gap-modal-content .gap-btn.primary-btn:disabled { background: rgba(var(--secondary-color-rgb), 0.3) !important; color: rgba(var(--panel-text-rgb), 0.6) !important; border: 1px solid rgba(var(--secondary-color-rgb), 0.35) !important; } #gap-panel .gap-btn.primary-btn:disabled .gap-icon, .gap-modal-content .gap-btn.primary-btn:disabled .gap-icon { color: rgba(var(--panel-text-rgb), 0.6) !important; } /* Modals */ .gap-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--modal-backdrop, rgba(0,0,0,0.65)); display: none; align-items: center; justify-content: center; z-index: 2147483647; animation: gapModalFadeInBackground 0.25s ease-out forwards; } @keyframes gapModalFadeInBackground { from { opacity: 0; } to { opacity: 1; } } .gap-modal-content { background-color: var(--modal-content-bg) !important; border-radius: calc(var(--border-radius-val) * 0.85) !important; box-shadow: 0 calc(var(--spacing-unit-val)*1.1) calc(var(--spacing-unit-val) * 3.8) rgba(30,40,60,0.28) !important; color: rgb(var(--panel-text-rgb)) !important; max-height: 90vh; display: flex; flex-direction: column; animation: gapModalContentEntrance 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; } .gap-modal-content.narrow { width: min(90vw, 420px); } .gap-modal-content.wide { width: min(90vw, 680px); } .modal-header { padding: calc(var(--spacing-unit-val) * 1.15) calc(var(--spacing-unit-val) * 1.55) !important; background-color: var(--modal-header-bg); border-bottom: 1px solid var(--panel-border); display: flex; justify-content: space-between; align-items: center; border-top-left-radius: inherit; border-top-right-radius: inherit; } .modal-header.no-border { border-bottom: none; } .modal-header.justify-end { justify-content: flex-end; } .modal-header h3, .modal-header h2 { font-size: 1.12em !important; font-weight: 600; color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 92%, black 8%) !important; display: flex; align-items: center; gap: calc(var(--spacing-unit-val)*0.58); } .modal-header .gap-icon { color: var(--primary-color) !important; } .modal-header .close-modal-btn { font-size: 1.5em; color: var(--secondary-color); background: none; border: none; cursor: pointer; } .modal-header .close-modal-btn:hover { color: var(--primary-color); } .modal-body { padding: calc(var(--spacing-unit-val) * 1.45) !important; overflow-y: auto; flex-grow: 1; } .modal-body.no-padding-top { padding-top: 0; } .modal-body.text-center { text-align: center; } .modal-actions { padding: calc(var(--spacing-unit-val) * 1.05) calc(var(--spacing-unit-val) * 1.55) !important; background-color: var(--modal-footer-bg); border-top: 1px solid var(--panel-border); display: flex; justify-content: flex-end; align-items: center; gap: calc(var(--spacing-unit-val) * 0.8); border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; } .modal-actions.space-between { justify-content: space-between; } /* Customize UI Modal Layout */ .modal-body .settings-grid.modal-settings-grid { grid-template-columns: minmax(150px, auto) 1fr minmax(80px, auto) !important; align-items: center; } .modal-body .settings-grid.modal-settings-grid > label { text-align: right; padding-right: var(--spacing-unit-val); white-space: nowrap; } .modal-body .settings-grid.modal-settings-grid > select, .modal-body .settings-grid.modal-settings-grid > input[type="range"], .modal-body .settings-grid.modal-settings-grid > .local-wallpaper-controls, .modal-body .settings-grid.modal-settings-grid > input[type="checkbox"] { width: 100%; } .modal-body .settings-grid.modal-settings-grid > input[type="checkbox"] { justify-self: start; margin-left: 0; } .modal-body .settings-grid.modal-settings-grid > span#gap-setting-panel-alpha-value, .modal-body .settings-grid.modal-settings-grid > button#gap-remove-local-wallpaper-btn { justify-self: start; white-space: nowrap; } .modal-body .settings-grid.modal-settings-grid .local-wallpaper-controls { display: flex; align-items: center; gap: calc(var(--spacing-unit-val) * 0.5); } .modal-body .settings-grid.modal-settings-grid .local-wallpaper-controls input[type="file"] { flex-grow: 1; } .modal-body .settings-grid.modal-settings-grid .filename-display { font-size: 0.85em; opacity: 0.8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; display: inline-block; vertical-align: middle; } .modal-body .settings-grid.modal-settings-grid #gap-remove-local-wallpaper-btn { padding: calc(var(--spacing-unit-val)*0.6) calc(var(--spacing-unit-val)*1.0) !important; margin-left: var(--spacing-unit-val); align-self: center; } .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-theme-select"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-width"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-max-height"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-font-family"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-font-size"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-header-font-size"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-spacing-unit"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-border-radius"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-panel-side"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-icon-style"] ~ select, .modal-body .settings-grid.modal-settings-grid label[for="gap-setting-progress-bar-theme"] ~ select { grid-column: 2 / span 2; } /* Bulk Recipient Error Display Styles */ .gap-modal-content .modal-body .gap-bulk-errors-display { margin-top: calc(var(--spacing-unit-val) * 1.1); padding: calc(var(--spacing-unit-val) * 0.9); border: 1px solid var(--error-color); border-radius: calc(var(--border-radius-val) * 0.35); background-color: rgba(var(--error-rgb), 0.07); } .gap-modal-content .modal-body .gap-bulk-errors-display .error-summary { font-weight: 500; color: var(--error-color) !important; margin-bottom: calc(var(--spacing-unit-val) * 0.45); font-size: 0.95em; } .gap-modal-content .modal-body #gap-bulk-error-list { list-style-type: disc !important; padding-left: calc(var(--spacing-unit-val) * 1.7) !important; font-size: 0.86em; color: var(--error-color) !important; max-height: 140px; overflow-y: auto; } .gap-modal-content .modal-body #gap-bulk-error-list li { margin-bottom: calc(var(--spacing-unit-val) * 0.35) !important; } .bulk-recipient-mode-toggle { display: flex; gap: calc(var(--spacing-unit-val) * 0.5); margin-bottom: calc(var(--spacing-unit-val) * 1.2); } .settings-grid.two-col-labels label { text-align: right; padding-right: var(--spacing-unit-val); } .settings-grid.two-col-labels label.hidden, .settings-grid.two-col-labels textarea.hidden { display: none !important; } .required-star { color: var(--error-color); font-weight: bold; } /* Template List */ #gap-panel .tmpl-list { display: flex; flex-direction: column; gap: calc(var(--spacing-unit-val)*0.55); padding-right: calc(var(--spacing-unit-val)*0.55); } #gap-panel .tmpl-item { display: flex; justify-content: space-between; align-items: center; padding: calc(var(--spacing-unit-val)*0.65) calc(var(--spacing-unit-val)*1.05) !important; background-color: rgba(var(--panel-text-rgb), 0.02) !important; border: 1px solid transparent; border-radius: calc(var(--border-radius-val)*0.35) !important; transition: all 0.18s cubic-bezier(0.4,0,0.2,1) !important; } #gap-panel .tmpl-item:hover { transform: translateX(3.5px) scale(1.005) !important; box-shadow: 0 2.5px 7px rgba(var(--primary-color-rgb),0.1), 0 0 0 0.8px rgba(var(--primary-color-rgb),0.25) !important; background-color: color-mix(in srgb, var(--card-bg) 92%, var(--primary-color) 8%) !important; border-color: rgba(var(--primary-color-rgb), 0.2) !important; } #gap-panel .tmpl-content { flex-grow: 1; overflow: hidden; margin-right: calc(var(--spacing-unit-val)*0.5); } #gap-panel .tmpl-text { font-size: 0.88em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #gap-panel .tmpl-actions { display: flex; gap: calc(var(--spacing-unit-val)*0.3); } #gap-panel .tmpl-actions .gap-icon-btn { font-size: 0.95em; padding: calc(var(--spacing-unit-val)*0.3); background: none; border: none; cursor: pointer;} #gap-panel .tmpl-empty { text-align: center; padding: var(--spacing-unit-val); opacity: 0.7; font-style: italic; } #gap-panel .tmpl-category summary { font-weight: 500; padding: calc(var(--spacing-unit-val)*0.5) 0; cursor: pointer;} #gap-panel .tmpl-category summary .gap-icon { margin-right: calc(var(--spacing-unit-val)*0.3); } #gap-panel .tmpl-category-content { padding-left: calc(var(--spacing-unit-val)*1.2); } /* Log & Info Tab */ #gap-panel #tab-log-info .gap-sub-tabs { display: flex; justify-content: space-around; border-bottom: 1px solid var(--panel-border); margin-bottom: calc(var(--spacing-unit-val)*1.1); } #gap-panel #tab-log-info .gap-sub-tab-btn { flex-grow: 1; text-align: center; padding: calc(var(--spacing-unit-val)*0.75) var(--spacing-unit-val); font-size: 0.86em; font-weight: 500; color: color-mix(in srgb, rgb(var(--panel-text-rgb)) 70%, transparent); background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: calc(var(--spacing-unit-val)*0.45); border-bottom: 3px solid transparent; transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease; } #gap-panel #tab-log-info .gap-sub-tab-btn:hover { color: var(--primary-color); background-color: rgba(var(--primary-color-rgb),0.05); } #gap-panel #tab-log-info .gap-sub-tab-btn.active { color: var(--primary-color); font-weight: 600; border-bottom-color: var(--primary-color); background-color: rgba(var(--primary-color-rgb),0.07); } #gap-panel #tab-log-info .gap-sub-tab-content { display: none; } #gap-panel #tab-log-info .gap-sub-tab-content.active { display: block; } #gap-panel #tab-log-info .static-content-tab .modern-card-content { line-height: 1.7; } #gap-panel #tab-log-info .static-content-tab h4 { font-size: 1.1em; font-weight: 600; margin: var(--spacing-unit-val) 0 calc(var(--spacing-unit-val)*0.5); color: var(--primary-color); } #gap-panel #tab-log-info .static-content-tab h5 { font-size: 1em; font-weight: 500; margin: calc(var(--spacing-unit-val)*0.8) 0 calc(var(--spacing-unit-val)*0.3); } #gap-panel #tab-log-info .static-content-tab p.guide-item-detail { margin-left: calc(var(--spacing-unit-val)*0.5); margin-bottom: calc(var(--spacing-unit-val)*0.6); font-size: 0.9em; opacity: 0.9; } #gap-panel #tab-log-info .full-height-log-parent { display: flex; flex-direction: column; min-height: 300px; } #gap-panel #tab-log-info #gap-status-log-container.full-height-log { flex-grow: 1; display: flex; flex-direction: column; } #gap-panel #tab-log-info .status-log-box { flex-grow: 1; height: 270px; max-height: 350px; overflow-y: auto; background-color: var(--input-bg); border: 1px solid var(--input-border); border-radius: calc(var(--border-radius-val)*0.35); padding: calc(var(--spacing-unit-val)*0.7); font-size: 0.8em; margin-bottom: calc(var(--spacing-unit-val)*0.7); } .log-entry { display: flex; margin-bottom: 4px; font-family: 'Fira Code', monospace; line-height: 1.5; } .log-time { color: var(--secondary-color); margin-right: 6px; white-space: nowrap; } .log-icon { margin-right: 5px; } .log-message { word-break: break-word; } .log-info .log-message { color: inherit; } .log-success .log-message { color: var(--success-color); } .log-warning .log-message { color: var(--warning-color); } .log-error .log-message { color: var(--error-color); } .log-debug .log-message { opacity: 0.7; } .log-empty-placeholder { text-align: center; opacity: 0.6; padding: var(--spacing-unit-val); } /* Footer */ #gap-panel #gap-footer { padding: calc(var(--spacing-unit-val) * 0.85) var(--spacing-unit-val) !important; background-color: rgba(var(--panel-bg-rgb),0.45) !important; font-size: 0.76em !important; opacity: 0.88 !important; text-align: center; border-top: 1px solid var(--panel-border); flex-shrink: 0; } #gap-panel #gap-footer #gap-branding { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: calc(var(--spacing-unit-val)*0.55); } #gap-panel #gap-footer .gap-link { font-weight: 500; color: var(--link-color); text-decoration: none; } #gap-panel #gap-footer .gap-link:hover { filter: brightness(1.1); text-decoration: underline; } /* Scrollbar Styling */ #gap-panel ::-webkit-scrollbar, .modal-body::-webkit-scrollbar, .status-log-box::-webkit-scrollbar { width: 11px !important; height: 11px !important; } #gap-panel ::-webkit-scrollbar-track, .modal-body::-webkit-scrollbar-track, .status-log-box::-webkit-scrollbar-track { background: var(--scrollbar-track) !important; border-radius: calc(var(--border-radius-val)*0.45) !important; } #gap-panel ::-webkit-scrollbar-thumb, .modal-body::-webkit-scrollbar-thumb, .status-log-box::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb) !important; border-radius: calc(var(--border-radius-val)*0.45) !important; border: 2.5px solid var(--scrollbar-track) !important; transition: background-color 0.15s ease; } #gap-panel ::-webkit-scrollbar-thumb:hover, .modal-body::-webkit-scrollbar-thumb:hover, .status-log-box::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--scrollbar-thumb) 75%, black 15%) !important; } #gap-panel *, .modal-body *, .status-log-box * { scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track) !important; scrollbar-width: thin !important; } /* Animations */ @keyframes gapPanelEntrance { from { opacity: 0; transform: translateY(-50%) translateX(0) perspective(1500px) scale(0.95) rotateX(-3deg); } to { opacity: 1; transform: translateY(-50%) translateX(0) perspective(1500px) scale(1) rotateX(0deg); } } @keyframes gapPanelExit { from { opacity: 1; transform: translateY(-50%) translateX(0) perspective(1500px) scale(1) rotateX(0deg); } to { opacity: 0; transform: translateY(-50%) translateX(0) perspective(1500px) scale(0.95) rotateX(3deg); visibility: hidden; } } @keyframes gapModalContentEntrance { from { transform: scale(0.92) translateY(8px); opacity: 0; } to { transform: scale(1) translateY(0px); opacity: 1; } } /* Editor */ #gap-panel .gap-editor-container { border: 1px solid var(--input-border); border-radius: calc(var(--border-radius-val)*0.45); overflow: hidden; } #gap-panel .gap-editor-toolbar { padding: calc(var(--spacing-unit-val)*0.55); background-color: color-mix(in srgb, var(--input-bg) 88%, black 4%); border-bottom: 1px solid var(--input-border); display: flex; flex-wrap: wrap; gap: calc(var(--spacing-unit-val)*0.3); } #gap-panel .gap-editor-toolbar button, #gap-panel .gap-editor-toolbar select, #gap-panel .gap-editor-toolbar label { padding: calc(var(--spacing-unit-val)*0.33) calc(var(--spacing-unit-val)*0.55); font-size: 0.86em; background-color: rgba(var(--panel-text-rgb), 0.05); border: 1px solid rgba(var(--panel-text-rgb), 0.1); border-radius: calc(var(--border-radius-val)*0.25); color: inherit; cursor: pointer; } #gap-panel .gap-editor-toolbar button:hover, #gap-panel .gap-editor-toolbar select:hover { background-color: rgba(var(--primary-color-rgb), 0.1); border-color: rgba(var(--primary-color-rgb), 0.3); } #gap-panel .gap-editor-toolbar .toolbar-divider { width: 1px; background-color: var(--input-border); margin: calc(var(--spacing-unit-val)*0.2) calc(var(--spacing-unit-val)*0.4); } #gap-panel .gap-editor-toolbar .gap-editor-color-label { display: inline-flex; align-items: center; padding-right: 0; } #gap-panel .gap-editor-toolbar .gap-editor-tool-color { width: 20px; height: 20px; padding: 0; border: none; margin-left: 4px; background: none; } #gap-panel .gap-editor-placeholders { padding: calc(var(--spacing-unit-val)*0.45) calc(var(--spacing-unit-val)*0.55); background-color: color-mix(in srgb, var(--input-bg) 94%, black 2%); border-bottom: 1px solid var(--input-border); } #gap-panel .gap-editor-placeholders .gap-editor-placeholder-select { font-size: 0.8em; padding: calc(var(--spacing-unit-val)*0.3); background-color: rgba(var(--panel-text-rgb), 0.05); border: 1px solid rgba(var(--panel-text-rgb), 0.1); border-radius: calc(var(--border-radius-val)*0.25); color: inherit; } #gap-panel .gap-editor { min-height: 125px; max-height: 250px; overflow-y: auto; padding: calc(var(--spacing-unit-val)*1.05); background-color: var(--input-bg); color: var(--input-text); line-height: 1.5; } #gap-panel .gap-editor:focus { outline: none; } /* General Helper classes */ .hidden { display: none !important; } .description-text { font-size: 0.85em; opacity: 0.8; display: block; margin-top: calc(var(--spacing-unit-val) * 0.3); } .gap-infobox { padding: var(--spacing-unit-val); border-radius: calc(var(--border-radius-val) * 0.35); margin: var(--spacing-unit-val) 0; font-size: 0.88em; } .gap-infobox.warning { background-color: rgba(var(--warning-color-rgb), 0.1); border: 1px solid rgba(var(--warning-color-rgb), 0.3); color: var(--warning-color); } .gap-infobox.warning strong .gap-icon { color: var(--warning-color) !important; } /* Background Effects Container */ #gap-panel-background-effects { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; border-radius: inherit; pointer-events: none; } /* --- **UI ENHANCEMENT:** Redesigned Login Popup --- */ .gap-login-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--modal-backdrop, rgba(10, 10, 15, 0.7)); backdrop-filter: blur(4px); display: flex; justify-content: center; align-items: center; z-index: 2147483647; animation: gapModalFadeInBackground 0.3s ease-out forwards; } .gap-login-modal-content { background-color: var(--modal-content-bg, rgb(25, 25, 32)); color: rgb(var(--panel-text-rgb, 220, 220, 230)); padding: calc(var(--spacing-unit-val, 12px) * 2.5); border-radius: var(--border-radius-val, 18px); box-shadow: 0 8px 35px rgba(0, 0, 0, 0.25); width: 400px; max-width: 90%; text-align: center; border: 1px solid var(--panel-border, rgba(80, 80, 90, 0.4)); animation: gapModalContentEntrance 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; } .gap-login-modal-content h2 { margin: 0 0 calc(var(--spacing-unit-val, 12px) * 0.5) 0; font-size: 1.6em; font-weight: 600; color: var(--primary-color, #8A63D2); display: flex; align-items: center; justify-content: center; gap: 12px; /* Space between icon and text */ } /* **FIX & ENHANCEMENT:** Style for the login icon */ .gap-login-modal-content .gg-logo-icon { height: 1.4em; width: 1.4em; filter: drop-shadow(0 2px 4px rgba(var(--primary-color-rgb), 0.2)); } .gap-login-modal-content p { margin-bottom: calc(var(--spacing-unit-val, 12px) * 2); font-size: 1em; opacity: 0.8; } .gap-form-group { margin-bottom: calc(var(--spacing-unit-val, 12px) * 1.5); text-align: left; } .gap-form-group label { display: block; font-weight: 500; margin-bottom: calc(var(--spacing-unit-val, 12px) * 0.5); font-size: 0.9em; opacity: 0.9; } #gap-login-button { width: 100%; padding: calc(var(--spacing-unit-val, 12px) * 1) !important; font-size: 1.05em !important; margin-top: calc(var(--spacing-unit-val, 12px) * 0.8); margin-bottom: calc(var(--spacing-unit-val, 12px) * 1.2); } .gap-login-message-area { margin-top: var(--spacing-unit-val, 12px); margin-bottom: var(--spacing-unit-val, 12px); padding: calc(var(--spacing-unit-val, 12px) * 0.8); border-radius: calc(var(--border-radius-val, 18px) * 0.45); font-size: 0.95em; min-height: 1.5em; text-align: center; font-weight: 500; border: 1px solid transparent; display: flex; align-items: center; justify-content: center; } .gap-login-message-area.info { background-color: rgba(var(--primary-color-rgb, 0,123,255), 0.1); color: var(--primary-color); border-color: rgba(var(--primary-color-rgb, 0,123,255), 0.3); } .gap-login-message-area.success { background-color: rgba(var(--success-color-rgb, 40,167,69), 0.1); color: var(--success-color); border-color: rgba(var(--success-color-rgb, 40,167,69), 0.3); } .gap-login-message-area.error { background-color: rgba(var(--error-rgb, 220,53,69), 0.1); color: var(--error-color); border-color: rgba(var(--error-rgb, 220,53,69), 0.3); } .gap-login-api-key-note { font-size: 0.8em; opacity: 0.7; margin-top: calc(var(--spacing-unit-val, 12px) * 1.5); line-height: 1.3; } /* --- Welcome Modal Icon --- */ #welcome-icon { display: block; margin: 0 auto 16px auto; width: 80px; height: 80px; border-radius: 20px; box-shadow: 0 4px 15px rgba(var(--primary-color-rgb), 0.25); }