/* ========================================================================== Kagi Unified Cotton Candy Theme ========================================================================== */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap'); /* ========================================================================== Light Mode Variables ========================================================================== */ :root { --bg-gradient: linear-gradient(135deg, #fdf0f5 0%, #f0f8fd 100%); --bg-card: #ffffff; --text-main: #2b2226; --text-muted: #706268; --pastel-accent: #f2a2c7; --pastel-accent-strong: #d97ca4; --link-color: #4ea1d1; --link-visited: #7e9db3; --accent-border: #f2e1e8; --search-bar-bg: #ffffff; --favicon-bg: #fcf2f6; --shadow-card: 0 4px 10px rgba(74, 40, 58, 0.05); --shadow-card-hover: 0 10px 18px rgba(74, 40, 58, 0.08); --shadow-search: 0 8px 24px rgba(74, 40, 58, 0.06); --font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; } /* ========================================================================== Dark Mode Variables (Desktop & Mobile Fixes Applied) ========================================================================== */ /* 1. Applies when the OS is set to dark mode (unless Kagi is forced to light) */ @media (prefers-color-scheme: dark) { html:not([data-theme="light"]):not([data-theme="auto-light"]) { --bg-gradient: linear-gradient(135deg, #1c1417 0%, #14171c 100%); --bg-card: #261a1f; --text-main: #fdf0f5; --text-muted: #bfabb3; --pastel-accent: #e695b8; --pastel-accent-strong: #d97ca4; --link-color: #7dc5ed; --link-visited: #aabfd1; --accent-border: #422b35; --search-bar-bg: #302127; --favicon-bg: #3b2730; --shadow-card: 0 4px 10px rgba(0, 0, 0, 0.16); --shadow-card-hover: 0 10px 18px rgba(0, 0, 0, 0.22); --shadow-search: 0 8px 24px rgba(0, 0, 0, 0.22); } } /* 2. Applies when Kagi's UI is explicitly set to dark mode (overriding OS) */ html[data-theme="dark"], html[data-theme="moon"], html.theme_dark { --bg-gradient: linear-gradient(135deg, #1c1417 0%, #14171c 100%); --bg-card: #261a1f; --text-main: #fdf0f5; --text-muted: #bfabb3; --pastel-accent: #e695b8; --pastel-accent-strong: #d97ca4; --link-color: #7dc5ed; --link-visited: #aabfd1; --accent-border: #422b35; --search-bar-bg: #302127; --favicon-bg: #3b2730; --shadow-card: 0 4px 10px rgba(0, 0, 0, 0.16); --shadow-card-hover: 0 10px 18px rgba(0, 0, 0, 0.22); --shadow-search: 0 8px 24px rgba(0, 0, 0, 0.22); } /* ========================================================================== Global & Typography ========================================================================== */ body, html, .kagi-search-body { background: var(--bg-gradient) !important; background-attachment: fixed !important; color: var(--text-main) !important; font-family: var(--font-family) !important; } /* ========================================================================== Result Header & Favicon Alignment ========================================================================== */ .res-title-container, .search-result .res-header, .search-result > div:first-child { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; position: relative !important; float: none !important; width: 100% !important; height: auto !important; } .favicon, .res-favicon-container, .search-result img[class*="favicon"] { position: relative !important; top: auto !important; left: auto !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; padding: 6px !important; background-color: var(--favicon-bg) !important; border-radius: 8px !important; width: 28px !important; height: 28px !important; box-sizing: border-box !important; transform: translateY(1px) !important; } .search-result h3, .search-result a.__sr-title { display: inline-flex !important; align-items: center !important; margin: 0 !important; padding: 0 !important; height: auto !important; vertical-align: middle !important; } .res-title { display: inline-block !important; margin: 0 !important; padding: 0 !important; line-height: 1.1 !important; vertical-align: middle !important; } .search-result h3, .res-title-container { border-bottom: none !important; } /* ========================================================================== Search Result Cards & Sitelinks ========================================================================== */ .search-result, .sitelinks-container, .sub-results-container { background-color: var(--bg-card) !important; border: 1px solid var(--accent-border) !important; border-left: 4px solid var(--pastel-accent) !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 18px !important; box-shadow: var(--shadow-card) !important; } .search-result .search-result { border-left: 2px solid var(--accent-border) !important; padding: 10px 0 10px 12px !important; margin-bottom: 8px !important; box-shadow: none !important; background: transparent !important; } @media (max-width: 767px) { .search-result, .sitelinks-container, .sub-results-container { padding: 12px !important; margin-bottom: 12px !important; border-radius: 10px !important; } } @media (min-width: 768px) { .search-result { transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; } .search-result:hover { transform: translateY(-2px); border-left-color: var(--pastel-accent-strong) !important; box-shadow: var(--shadow-card-hover) !important; } } /* ========================================================================== Colours & Text Styling ========================================================================== */ .search-result a:link, .search-result .res-title, .search-result .res-title * { color: var(--link-color) !important; font-weight: 600 !important; text-decoration: none !important; } .search-result a:visited, .search-result a:visited * { color: var(--link-visited) !important; } .search-result a:hover .res-title { text-decoration: underline !important; } .search-result .res-snippet, .search-result .short-desc, .search-result p { color: var(--text-muted) !important; font-size: 14px !important; line-height: 1.6 !important; margin-top: 8px !important; } .search-result .path, .search-result .res-url-domain, .search-result cite { color: var(--pastel-accent-strong) !important; font-size: 13px !important; opacity: 0.95 !important; } /* ========================================================================== Search Input Elements ========================================================================== */ .search-form, .control-center-search-form, .search-input-container, .search-input-wrapper, .search-form fieldset, .search-form-container fieldset, .control-center-search-form fieldset, .auto-suggestions-container { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; border-radius: 0 !important; box-sizing: border-box !important; } .search-form::before, .search-form::after, .control-center-search-form::before, .control-center-search-form::after, .search-input-container::before, .search-input-container::after, .search-input-wrapper::before, .search-input-wrapper::after { background: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; } .search-form-container { background-color: var(--search-bar-bg) !important; border: 1px solid var(--accent-border) !important; border-radius: 999px !important; box-shadow: var(--shadow-search) !important; box-sizing: border-box !important; overflow: hidden !important; } .search-form, .control-center-search-form, .search-input-container, .search-input-wrapper { display: flex !important; align-items: center !important; width: 100% !important; min-width: 0 !important; } .search-input, #search-input, .search-form-container input[type="text"], .search-form input[type="search"] { background: transparent !important; background-color: transparent !important; color: var(--text-main) !important; border: none !important; box-shadow: none !important; outline: none !important; border-radius: 0 !important; font-family: var(--font-family) !important; width: 100% !important; min-width: 0 !important; padding-left: 14px !important; padding-right: 10px !important; } .search-form-container button, .search-form button, .search-input-wrapper button, .search-form-container .search-icons, .search-form .search-icons { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; border-radius: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; color: var(--text-muted) !important; } @media (min-width: 768px) { .search-form-container { min-height: 48px !important; } .search-input, #search-input, .search-form-container input[type="text"], .search-form input[type="search"] { height: 48px !important; line-height: 48px !important; font-size: 16px !important; } } @media (max-width: 767px) { .search-form-container { min-height: 64px !important; border-radius: 999px !important; padding: 0 10px !important; } .search-form, .control-center-search-form, .search-input-container, .search-input-wrapper { min-height: 62px !important; height: 62px !important; background: transparent !important; border: none !important; box-shadow: none !important; } .search-input, #search-input, .search-form-container input[type="text"], .search-form input[type="search"] { height: 62px !important; line-height: 62px !important; font-size: 18px !important; padding-left: 12px !important; padding-right: 8px !important; } .search-form-container button, .search-form button, .search-input-wrapper button { height: 62px !important; min-width: 44px !important; padding: 0 8px !important; } } /* ========================================================================== Tabs / Navigation Accents ========================================================================== */ .search-tabs a, .search-filters a, .k_ui_tabs a, nav a { color: var(--text-muted) !important; } .search-tabs a:hover, .search-filters a:hover, .k_ui_tabs a:hover, nav a:hover { color: var(--pastel-accent-strong) !important; } .search-tabs .active, .search-filters .active, .k_ui_tabs .active, nav .active { color: var(--link-color) !important; border-color: var(--pastel-accent) !important; } /* ========================================================================== Desktop Search Bubble Restoration ========================================================================== */ @media (min-width: 768px) { .search-form-container { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; overflow: visible !important; padding: 0 !important; } .search-input-container { background-color: var(--search-bar-bg) !important; border: 1px solid var(--accent-border) !important; border-radius: 999px !important; box-shadow: var(--shadow-search) !important; box-sizing: border-box !important; min-height: 48px !important; padding: 0 12px !important; display: flex !important; align-items: center !important; width: 100% !important; overflow: hidden !important; } .search-input-wrapper, .search-form, .control-center-search-form, .search-form fieldset, .search-form-container fieldset { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; border-radius: 0 !important; } .search-input, #search-input, .search-form-container input[type="text"], .search-form input[type="search"] { height: 48px !important; line-height: 48px !important; font-size: 16px !important; padding-left: 12px !important; padding-right: 10px !important; } .search-form-container button, .search-form button, .search-input-wrapper button { height: 48px !important; min-width: 42px !important; padding: 0 8px !important; } }