/** * BMAD Method Documentation - Custom Styles * Electric Blue theme optimized for dark mode */ /* ============================================ COLOR PALETTE - Light Mode ============================================ */ :root { --ifm-color-primary: #2563eb; --ifm-color-primary-dark: #1d4ed8; --ifm-color-primary-darker: #1e40af; --ifm-color-primary-darkest: #1e3a8a; --ifm-color-primary-light: #3b82f6; --ifm-color-primary-lighter: #60a5fa; --ifm-color-primary-lightest: #93c5fd; --ifm-code-font-size: 95%; --docusaurus-highlighted-code-line-bg: rgba(37, 99, 235, 0.1); } /* ============================================ COLOR PALETTE - Dark Mode (Primary Focus) ============================================ */ [data-theme='dark'] { --ifm-color-primary: #60a5fa; --ifm-color-primary-dark: #3b82f6; --ifm-color-primary-darker: #2563eb; --ifm-color-primary-darkest: #1d4ed8; --ifm-color-primary-light: #93c5fd; --ifm-color-primary-lighter: #bfdbfe; --ifm-color-primary-lightest: #dbeafe; --docusaurus-highlighted-code-line-bg: rgba(96, 165, 250, 0.15); /* Dark mode background refinements */ --ifm-background-color: #0f172a; --ifm-background-surface-color: #1e293b; --ifm-navbar-background-color: #0f172a; --ifm-footer-background-color: #020617; } /* ============================================ TYPOGRAPHY ============================================ */ :root { --ifm-font-size-base: 100%; --ifm-line-height-base: 1.7; --ifm-heading-font-weight: 600; --ifm-font-weight-semibold: 600; } .markdown h1 { margin-bottom: 1.5rem; } .markdown h2 { margin-top: 2.5rem; margin-bottom: 1rem; } .markdown h3 { margin-top: 2rem; margin-bottom: 0.75rem; } .markdown p { margin-bottom: 1.25rem; } /* ============================================ SIDEBAR & NAVIGATION Clean, React Native-inspired styling ============================================ */ /* Base transition for all sidebar links */ .menu__link { transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; border-radius: 4px; } /* * LEVEL 1 - Main Diataxis categories (Tutorials, How-To, Explanation, Reference) * Bold headers with generous spacing between sections */ .theme-doc-sidebar-menu > .menu__list-item { margin-top: 0.75rem; } .theme-doc-sidebar-menu > .menu__list-item:first-child { margin-top: 0; } .theme-doc-sidebar-menu > .menu__list-item > .menu__link, .theme-doc-sidebar-menu > .menu__list-item > .menu__link--sublist-caret { font-weight: 700; font-size: 0.9375rem; color: var(--ifm-font-color-base); padding: 0.5rem 0.75rem; } .theme-doc-sidebar-menu > .menu__list-item > .menu__link:hover { background-color: rgba(0, 0, 0, 0.05); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__link:hover { background-color: rgba(255, 255, 255, 0.05); } /* * Section index files (first item under each category) * Should match category header styling - bold, not smaller */ .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item:first-child > .menu__link { font-weight: 600; font-size: 0.9375rem; color: var(--ifm-font-color-base); padding: 0.5rem 0.75rem; padding-left: 1.5rem; border-left: 3px solid transparent; } /* * LEVEL 2 - Subcategories (Getting Started, Installation, etc.) * Semi-bold, slightly indented */ .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__link { font-weight: 500; font-size: 0.875rem; color: var(--ifm-color-emphasis-700); padding: 0.375rem 0.75rem; padding-left: 1.5rem; border-left: 3px solid transparent; } .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__link:hover { background-color: rgba(0, 0, 0, 0.03); color: var(--ifm-font-color-base); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__link { color: var(--ifm-color-emphasis-500); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__link:hover { background-color: rgba(255, 255, 255, 0.03); color: var(--ifm-color-emphasis-300); } /* * LEVEL 3+ - Individual docs within subcategories * Regular weight, more indented */ .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__list .menu__link { font-weight: 400; font-size: 0.8125rem; color: var(--ifm-color-emphasis-600); padding: 0.3rem 0.75rem; padding-left: 2.25rem; border-left: 3px solid transparent; } .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__list .menu__link:hover { background-color: rgba(0, 0, 0, 0.03); color: var(--ifm-color-emphasis-800); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__list .menu__link { color: var(--ifm-color-emphasis-600); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__list > .menu__list-item > .menu__list .menu__link:hover { background-color: rgba(255, 255, 255, 0.03); color: var(--ifm-color-emphasis-400); } /* * ACTIVE STATES - Thin left accent bar like React Native docs */ .menu__link--active:not(.menu__link--sublist) { background-color: rgba(37, 99, 235, 0.08) !important; color: var(--ifm-color-primary) !important; border-left-color: var(--ifm-color-primary) !important; font-weight: 600 !important; } [data-theme='dark'] .menu__link--active:not(.menu__link--sublist) { background-color: rgba(96, 165, 250, 0.1) !important; color: var(--ifm-color-primary-light) !important; border-left-color: var(--ifm-color-primary-light) !important; } /* Category headers when expanded - subtle indication */ .theme-doc-sidebar-menu > .menu__list-item > .menu__link--sublist.menu__link--active { color: var(--ifm-font-color-base); } [data-theme='dark'] .theme-doc-sidebar-menu > .menu__list-item > .menu__link--sublist.menu__link--active { color: var(--ifm-color-emphasis-200); } /* ============================================ NAVBAR ============================================ */ .navbar { padding: 0.75rem 1rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .navbar__title { font-weight: 700; } .navbar__link { font-weight: 500; font-size: 0.95rem; padding: 0.5rem 0.875rem; margin: 0 0.125rem; border-radius: 6px; transition: background-color 0.15s ease, color 0.15s ease; } .navbar__link:hover { color: var(--ifm-color-primary); background-color: rgba(0, 0, 0, 0.05); } .navbar__link--active { font-weight: 600; } [data-theme='dark'] .navbar { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } [data-theme='dark'] .navbar__link:hover { background-color: rgba(255, 255, 255, 0.05); } /* Social icon links */ .navbar__link--discord, .navbar__link--github { display: flex; align-items: center; padding: 0.5rem; } .navbar__link--discord::before, .navbar__link--github::before { content: ''; width: 24px; height: 24px; display: block; background-size: contain; background-repeat: no-repeat; background-position: center; } .navbar__link--discord::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36'%3E%3Cpath fill='%2364748b' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53s5-12.74 11.43-12.74S54 46 53.89 53s-5.05 12.69-11.44 12.69Zm42.24 0C78.41 65.69 73.25 60 73.25 53s5-12.74 11.44-12.74S96.23 46 96.12 53s-5.04 12.69-11.43 12.69Z'/%3E%3C/svg%3E"); } .navbar__link--github::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2364748b' d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E"); } .navbar__link--discord:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36'%3E%3Cpath fill='%235865F2' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53s5-12.74 11.43-12.74S54 46 53.89 53s-5.05 12.69-11.44 12.69Zm42.24 0C78.41 65.69 73.25 60 73.25 53s5-12.74 11.44-12.74S96.23 46 96.12 53s-5.04 12.69-11.43 12.69Z'/%3E%3C/svg%3E"); } .navbar__link--github:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2360a5fa' d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E"); } [data-theme='dark'] .navbar__link--discord::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36'%3E%3Cpath fill='%2394a3b8' d='M107.7 8.07A105.15 105.15 0 0 0 81.47 0a72.06 72.06 0 0 0-3.36 6.83 97.68 97.68 0 0 0-29.11 0A72.37 72.37 0 0 0 45.64 0a105.89 105.89 0 0 0-26.25 8.09C2.79 32.65-1.71 56.6.54 80.21a105.73 105.73 0 0 0 32.17 16.15 77.7 77.7 0 0 0 6.89-11.11 68.42 68.42 0 0 1-10.85-5.18c.91-.66 1.8-1.34 2.66-2a75.57 75.57 0 0 0 64.32 0c.87.71 1.76 1.39 2.66 2a68.68 68.68 0 0 1-10.87 5.19 77 77 0 0 0 6.89 11.1 105.25 105.25 0 0 0 32.19-16.14c2.64-27.38-4.51-51.11-18.9-72.15ZM42.45 65.69C36.18 65.69 31 60 31 53s5-12.74 11.43-12.74S54 46 53.89 53s-5.05 12.69-11.44 12.69Zm42.24 0C78.41 65.69 73.25 60 73.25 53s5-12.74 11.44-12.74S96.23 46 96.12 53s-5.04 12.69-11.43 12.69Z'/%3E%3C/svg%3E"); } [data-theme='dark'] .navbar__link--github::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2394a3b8' d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E"); } /* ============================================ CARDS (Welcome page) ============================================ */ /* Equal height cards */ .row:has(.card) { display: flex; flex-wrap: wrap; } .row:has(.card) > [class*="col"] { display: flex; } .card { border-radius: 12px; border: 2px solid var(--ifm-color-emphasis-300); background-color: var(--ifm-background-color); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; display: flex; flex-direction: column; width: 100%; } .card__body { flex: 1; } .card:hover { transform: translateY(-3px); border-color: var(--ifm-color-primary); box-shadow: 0 8px 24px rgba(37, 99, 235, 0.15); } .card__header h3 { font-size: 1.25rem; font-weight: 600; margin: 0; } .card__body { color: var(--ifm-color-emphasis-700); } .card__footer { padding-top: 0; } [data-theme='dark'] .card { background: linear-gradient( 145deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.8) ); border-color: rgba(96, 165, 250, 0.2); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } [data-theme='dark'] .card:hover { border-color: rgba(96, 165, 250, 0.5); box-shadow: 0 8px 32px rgba(96, 165, 250, 0.2), 0 0 0 1px rgba(96, 165, 250, 0.1); } [data-theme='dark'] .card__body { color: var(--ifm-color-emphasis-500); } /* ============================================ BUTTONS ============================================ */ .button--primary { transition: background-color 0.2s ease, transform 0.1s ease; } .button--primary:hover { transform: translateY(-1px); } [data-theme='dark'] .button--primary { background-color: var(--ifm-color-primary-dark); } [data-theme='dark'] .button--primary:hover { background-color: var(--ifm-color-primary); } /* ============================================ MISC ENHANCEMENTS ============================================ */ /* Smooth scrolling */ html { scroll-behavior: smooth; } /* Better link underlines */ .markdown a:not(.hash-link) { text-decoration-thickness: 1px; text-underline-offset: 2px; } /* Table styling */ table { display: table; width: 100%; } [data-theme='dark'] table { border-color: rgba(96, 165, 250, 0.1); } [data-theme='dark'] table th { background-color: rgba(96, 165, 250, 0.05); } [data-theme='dark'] table tr:nth-child(2n) { background-color: rgba(96, 165, 250, 0.02); } /* Blockquotes */ blockquote { border-left-color: var(--ifm-color-primary); background-color: rgba(96, 165, 250, 0.05); border-radius: 0 8px 8px 0; padding: 1rem 1.25rem; } [data-theme='dark'] blockquote { background-color: rgba(96, 165, 250, 0.05); } /* Admonition improvements */ .admonition { margin-bottom: 1.5rem; }