11/**
22 * BMad Game Dev Studio Documentation - Custom Styles for Starlight
3- * Electric Blue theme optimized for dark mode
3+ * Dark theme matching bmadcode.com Ghost blog
44 *
55 * CSS Variable Mapping:
66 * Docusaurus → Starlight
99 * --ifm-font-color-base → --sl-color-text
1010 */
1111
12+ /* Google Fonts - match Ghost blog typography */
13+ @import url ('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap' );
14+
1215/* ============================================
1316 COLOR PALETTE - Light Mode
1417 ============================================ */
1922 /* Full-width content - override Starlight's default 45rem/67.5rem */
2023 --sl-content-width : 100% ;
2124
22- /* Primary accent colors - purple to match BMAD */
23- --sl-color-accent-low : # e0e0ff ;
24- --sl-color-accent : # 8C8CFF ;
25- --sl-color-accent-high : # 4141FF ;
25+ /* Primary accent colors - blue to match Ghost blog */
26+ --sl-color-accent-low : # dbeafe ;
27+ --sl-color-accent : # 2563eb ;
28+ --sl-color-accent-high : # 1d4ed8 ;
2629
2730 /* Text colors */
2831 --sl-color-white : # 1e293b ;
3538 --sl-color-black : # f8fafc ;
3639
3740 /* Font settings */
38- --sl-font : system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI' , Roboto, 'Helvetica Neue' ,
41+ --sl-font : 'Inter' , system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI' , Roboto, 'Helvetica Neue' ,
3942 Arial, sans-serif;
43+ --sl-font-mono : 'JetBrains Mono' , 'Fira Code' , ui-monospace, monospace;
4044 --sl-text-base : 1rem ;
4145 --sl-line-height : 1.7 ;
4246
4347 /* Code highlighting */
44- --sl-color-bg-inline-code : rgba (140 , 140 , 255 , 0.1 );
48+ --sl-color-bg-inline-code : rgba (59 , 130 , 246 , 0.08 );
4549}
4650
4751/* ============================================
5155 /* Full-width content - override Starlight's default */
5256 --sl-content-width : 100% ;
5357
54- /* Primary accent colors - purple to match BMAD */
55- --sl-color-accent-low : # 2a2a5a ;
56- --sl-color-accent : # 8C8CFF ;
57- --sl-color-accent-high : # B9B9FF ;
58+ /* Primary accent colors - blue to match Ghost blog */
59+ --sl-color-accent-low : rgba ( 59 , 130 , 246 , 0.12 ) ;
60+ --sl-color-accent : # 3b82f6 ;
61+ --sl-color-accent-high : # 60a5fa ;
5862
5963 /* Background colors */
60- --sl-color-bg : # 1b1b1d ;
61- --sl-color-bg-nav : # 1b1b1d ;
62- --sl-color-bg-sidebar : # 1b1b1d ;
63- --sl-color-hairline-light : rgba (140 , 140 , 255 , 0.1 );
64- --sl-color-hairline : rgba ( 140 , 140 , 255 , 0.15 ) ;
64+ --sl-color-bg : # 0a0a0a ;
65+ --sl-color-bg-nav : # 0a0a0a ;
66+ --sl-color-bg-sidebar : # 0a0a0a ;
67+ --sl-color-hairline-light : rgba (255 , 255 , 255 , 0.06 );
68+ --sl-color-hairline : # 262626 ;
6569
6670 /* Text colors */
67- --sl-color-white : # f8fafc ;
71+ --sl-color-white : # fafafa ;
6872 --sl-color-gray-1 : # e2e8f0 ;
69- --sl-color-gray-2 : # cbd5e1 ;
73+ --sl-color-gray-2 : # a1a1a1 ;
7074 --sl-color-gray-3 : # 94a3b8 ;
71- --sl-color-gray-4 : # 64748b ;
75+ --sl-color-gray-4 : # 666666 ;
7276 --sl-color-gray-5 : # 475569 ;
73- --sl-color-gray-6 : # 334155 ;
74- --sl-color-black : # 1b1b1d ;
77+ --sl-color-gray-6 : # 262626 ;
78+ --sl-color-black : # 0a0a0a ;
7579
7680 /* Code highlighting */
77- --sl-color-bg-inline-code : rgba (140 , 140 , 255 , 0.15 );
81+ --sl-color-bg-inline-code : rgba (59 , 130 , 246 , 0.15 );
7882}
7983
8084/* ============================================
8185 TYPOGRAPHY
8286 ============================================ */
87+
88+ /* Space Grotesk for all headings - match Ghost blog */
89+ .sl-markdown-content h1 ,
90+ .sl-markdown-content h2 ,
91+ .sl-markdown-content h3 ,
92+ .sl-markdown-content h4 ,
93+ .sl-markdown-content h5 ,
94+ .sl-markdown-content h6 ,
95+ .site-title ,
96+ starlight-toc h2 {
97+ font-family : 'Space Grotesk' , 'Inter' , system-ui, sans-serif;
98+ letter-spacing : -0.02em ;
99+ }
100+
83101.sl-markdown-content h1 {
84102 margin-bottom : 1.5rem ;
85103}
138156
139157/* Active state - thin left accent bar */
140158.sidebar-content a [aria-current = 'page' ] {
141- background-color : rgba (140 , 140 , 255 , 0.08 );
159+ background-color : rgba (59 , 130 , 246 , 0.08 );
142160 color : var (--sl-color-accent );
143161 border-left-color : var (--sl-color-accent );
144162 font-weight : 600 ;
145163}
146164
147165: root[data-theme = 'dark' ] .sidebar-content a [aria-current = 'page' ] {
148- background-color : rgba (140 , 140 , 255 , 0.1 );
166+ background-color : rgba (59 , 130 , 246 , 0.1 );
149167 color : var (--sl-color-accent-high );
150168 border-left-color : var (--sl-color-accent );
151169}
@@ -216,7 +234,8 @@ header.header .header.sl-flex {
216234}
217235
218236: root[data-theme = 'dark' ] header .header {
219- box-shadow : 0 1px 3px rgba (0 , 0 , 0 , 0.3 );
237+ box-shadow : none;
238+ border-bottom : 1px solid # 262626 ;
220239}
221240
222241.site-title {
@@ -265,20 +284,20 @@ header.header .header.sl-flex {
265284.card : hover {
266285 transform : translateY (-3px );
267286 border-color : var (--sl-color-accent );
268- box-shadow : 0 8px 24px rgba (140 , 140 , 255 , 0.15 );
287+ box-shadow : 0 8px 24px rgba (59 , 130 , 246 , 0.15 );
269288}
270289
271290: root[data-theme = 'dark' ] .card {
272- background : linear-gradient ( 145 deg , rgba ( 30 , 41 , 59 , 0.6 ) , rgba ( 15 , 23 , 42 , 0.8 )) ;
273- border-color : rgba ( 140 , 140 , 255 , 0.2 ) ;
291+ background : # 1a1a1a ;
292+ border-color : # 262626 ;
274293 box-shadow : 0 2px 8px rgba (0 , 0 , 0 , 0.3 );
275294}
276295
277296: root[data-theme = 'dark' ] .card : hover {
278- border-color : rgba ( 140 , 140 , 255 , 0.5 ) ;
297+ border-color : # 3b82f6 ;
279298 box-shadow :
280- 0 8px 32px rgba ( 140 , 140 , 255 , 0.2 ) ,
281- 0 0 0 1px rgba (140 , 140 , 255 , 0.1 );
299+ 0 8px 32px # 262626 ,
300+ 0 0 0 1px rgba (59 , 130 , 246 , 0.1 );
282301}
283302
284303/* Starlight card grid */
@@ -297,11 +316,11 @@ header.header .header.sl-flex {
297316}
298317
299318: root[data-theme = 'dark' ] .sl-link-card {
300- border-color : rgba ( 140 , 140 , 255 , 0.2 ) ;
319+ border-color : # 262626 ;
301320}
302321
303322: root[data-theme = 'dark' ] .sl-link-card : hover {
304- border-color : rgba ( 140 , 140 , 255 , 0.5 ) ;
323+ border-color : # 3b82f6 ;
305324}
306325
307326/* ============================================
@@ -341,21 +360,21 @@ table {
341360}
342361
343362: root[data-theme = 'dark' ] table {
344- border-color : rgba (140 , 140 , 255 , 0.1 );
363+ border-color : rgba (59 , 130 , 246 , 0.1 );
345364}
346365
347366: root[data-theme = 'dark' ] table th {
348- background-color : rgba (140 , 140 , 255 , 0.05 );
367+ background-color : rgba (59 , 130 , 246 , 0.05 );
349368}
350369
351370: root[data-theme = 'dark' ] table tr : nth-child (2n) {
352- background-color : rgba (140 , 140 , 255 , 0.02 );
371+ background-color : rgba (255 , 255 , 255 , 0.02 );
353372}
354373
355374/* Blockquotes */
356375blockquote {
357376 border-left-color : var (--sl-color-accent );
358- background-color : rgba (140 , 140 , 255 , 0.05 );
377+ background-color : rgba (59 , 130 , 246 , 0.05 );
359378 border-radius : 0 8px 8px 0 ;
360379 padding : 1rem 1.25rem ;
361380}
@@ -392,19 +411,19 @@ blockquote {
392411
393412/* Note aside */
394413.starlight-aside--note {
395- background-color : rgba (140 , 140 , 255 , 0.08 );
414+ background-color : rgba (59 , 130 , 246 , 0.08 );
396415}
397416
398417.starlight-aside--note .starlight-aside__title {
399- color : # 8C8CFF ;
418+ color : # 3b82f6 ;
400419}
401420
402421: root[data-theme = 'dark' ] .starlight-aside--note {
403- background-color : rgba (140 , 140 , 255 , 0.12 );
422+ background-color : rgba (59 , 130 , 246 , 0.12 );
404423}
405424
406425: root[data-theme = 'dark' ] .starlight-aside--note .starlight-aside__title {
407- color : # 8C8CFF ;
426+ color : # 3b82f6 ;
408427}
409428
410429/* Caution aside */
0 commit comments