/* ========================================================================== GLOBAL / BASE ========================================================================== */ * { -webkit-tap-highlight-color: transparent; } ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--vp-c-divider); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--vp-c-brand-1); } ::selection { background: #a8b1ff33; color: var(--vp-c-text-1); } /* ========================================================================== THEME COLORS — LIGHT MODE (:root = default/light) ========================================================================== */ :root { /* Brand */ --vp-c-brand-1: #8839ef; --vp-c-brand-2: #7c3aed; --vp-c-brand-3: #6d28d9; --vp-c-brand: #8839ef; --banner-bg: #8839ef; --vp-c-b-divider: #000000; /* Home hero gradient (light) */ --vp-home-hero-image-background-image: linear-gradient( -45deg, #8839ef 50%, #a855f7 50% ); --vp-home-hero-image-filter: blur(100px); --vp-home-hero-name-color: transparent; --vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #8839ef 30%, #a855f7 ); /* DocSearch hit colors (light) */ --docsearch-hit-color: #1a1a1a; --docsearch-hit-active-color: #1a1a1a; --docsearch-hit-background: #f3f0fb; /* Font */ --vp-font-family-base: 'Lexend', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } /* ========================================================================== THEME COLORS — DARK MODE (.dark overrides) ========================================================================== */ .dark { /* Backgrounds → true black */ --vp-c-bg: #000000; --vp-c-bg-alt: #000000; --vp-c-bg-elv: #000000; --vp-c-bg-soft: #0a0a0a; --vp-c-divider: #1a1a1a; --vp-c-b-divider: #ffffff; /* Brand */ --vp-c-brand-1: #cba6f7; --vp-c-brand-2: #b48ead; --vp-c-brand-3: #a374c4; --vp-c-brand: #cba6f7; /* Home hero gradient (dark) */ --vp-home-hero-image-background-image: linear-gradient( -45deg, #cba6f7 50%, #dcc6fb 50% ); --vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #cba6f7 30%, #dcc6fb ); /* DocSearch hit colors (dark) */ --docsearch-hit-color: #ffffff; --docsearch-hit-active-color: #ffffff; --docsearch-hit-background: #1a1625; --docsearch-modal-background: #000000 !important; } .dark ::-webkit-scrollbar-track { background: var(--vp-c-bg-soft); } /* ========================================================================== CUSTOM COMPONENTS — .bsc-* (file/problem cards, buttons) ========================================================================== */ .bsc-header { margin-bottom: 1.4rem; } .bsc-header-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .bsc-file-icon { width: 36px; height: 36px; border-radius: 8px; background-color: var(--vp-c-bg-soft); border: 1px solid var(--vp-c-divider); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--vp-c-text-2); } .bsc-filename { margin: 0 !important; padding: 0 !important; border: none !important; font-size: 1.15rem !important; font-weight: 500 !important; line-height: 1.3 !important; letter-spacing: 0 !important; } .bsc-filename code { font-size: inherit !important; background: none !important; padding: 0 !important; color: var(--vp-c-text-1) !important; border-radius: 0 !important; } /* Metadata grid */ .bsc-meta { border-top: 1px solid var(--vp-c-divider); padding-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; } @media (max-width: 540px) { .bsc-meta { grid-template-columns: 1fr; } } .bsc-meta-row { display: flex; align-items: center; gap: 6px; } .bsc-meta-icon { display: flex; align-items: center; color: var(--vp-c-text-3); flex-shrink: 0; } .bsc-meta-key { font-size: 11px; color: var(--vp-c-text-3); min-width: 46px; } .bsc-meta-val { font-size: 12px; font-weight: 500; color: var(--vp-c-text-1); } .bsc-problem { border-left: 3px solid var(--vp-c-brand-1); border-radius: 0 8px 8px 0; background-color: var(--vp-c-bg-soft); padding: 10px 14px; margin-bottom: 1.2rem; } .bsc-problem-label { display: flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vp-c-brand-1); margin-bottom: 5px; } .bsc-problem p { margin: 0; font-size: 0.85rem; line-height: 1.65; color: var(--vp-c-text-1); } .bsc-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 1.4rem; } .bsc-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 8px; font-size: 0.82rem; font-weight: 500; font-family: inherit; text-decoration: none !important; cursor: pointer; border: 1px solid var(--vp-c-divider); background-color: var(--vp-c-bg); color: var(--vp-c-text-1) !important; transition: border-color 0.15s, background-color 0.15s; -webkit-tap-highlight-color: transparent; outline: none; } .bsc-btn:hover { border-color: var(--vp-c-brand-1); background-color: var(--vp-c-bg-soft); color: var(--vp-c-text-1) !important; } .bsc-btn:active { background-color: var(--vp-c-bg-mute); } .bsc-btn-primary { background-color: var(--vp-c-brand-1); border-color: var(--vp-c-brand-1); color: var(--vp-c-white) !important; } .bsc-btn-primary:hover { background-color: var(--vp-c-brand-2); border-color: var(--vp-c-brand-2); color: var(--vp-c-white) !important; } .bsc-btn-primary:active { background-color: var(--vp-c-brand-3); } /* ========================================================================== VITEPRESS UI TWEAKS ========================================================================== */ .VPFeature:hover { border-color: var(--vp-c-brand-1) !important; transition: border-color 0.2s; } @media (hover: none) and (pointer: coarse) { .vp-doc [class*="language-"] > button.copy { opacity: 1 !important; } } /* ========================================================================== ALGOLIA DOCSEARCH — RESULTS / HITS ========================================================================== */ .DocSearch-Dropdown { padding-top: 0px !important; } .DocSearch-Input::placeholder { font-size: 15px; } .DocSearch-Hit[aria-selected="true"] a { background-color: var(--docsearch-hit-background) !important; box-shadow: var(--docsearch-hit-shadow) !important; color: var(--docsearch-hit-color) !important; } .DocSearch-Hit a:hover { background-color: var(--vp-c-brand-soft) !important; color: var(--vp-c-text-1) !important; } .DocSearch-Hit-title { font-size: 14px !important; } .DocSearch-Hit-source { font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.5px; } .DocSearch-Hit-path { font-size: 12px !important; } /* ========================================================================== ALGOLIA DOCSEARCH — NO RESULTS SCREEN ========================================================================== */ .DocSearch-NoResults-Prefill-List { display: none !important; } /* ========================================================================== ALGOLIA DOCSEARCH — MOBILE LAYOUT (footer above dropdown, right-aligned) ========================================================================== */ @media (max-width: 767px) { .DocSearch-Modal { display: flex !important; flex-direction: column !important; } .DocSearch-SearchBar { order: 1 !important; } .DocSearch-Footer { display: flex !important; justify-content: flex-end !important; align-items: center !important; order: 2 !important; position: static !important; width: auto !important; box-shadow: none !important; border-top: none !important; border-bottom: 1px solid var(--vp-c-divider) !important; padding: 8px 16px !important; } .DocSearch-Dropdown { order: 3 !important; flex: 1 !important; } .DocSearch-Logo { margin-left: auto !important; } } .bsc-doc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; } .bsc-doc-toolbar .bsc-breadcrumbs { margin-bottom: 0; flex: 1; min-width: 0; }