From 1748b26b7bb93f69e0761fc0f5b924bb8baf6d20 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 16:56:34 -0800 Subject: [PATCH 01/14] style: update fonts to match style guide Replaces the custom Vampyr font with the standard Google Fonts from the NHCarrigan style guide. Assigns Griffy to headings, Kalam to body, Creepster to .witchy-accent, and Henny Penny to .mystical-text. --- src/fonts/font-face.css | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/fonts/font-face.css b/src/fonts/font-face.css index d856154..a27bef2 100644 --- a/src/fonts/font-face.css +++ b/src/fonts/font-face.css @@ -1,8 +1,22 @@ -@font-face { - font-family: "Vampyr"; - src: url("https://cdn.nhcarrigan.com/fonts/vampyr.ttf") format("truetype"); +@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Creepster&family=Griffy&family=Henny+Penny&display=swap'); + +body { + font-family: "Kalam", cursive !important; } -* { - font-family: "Vampyr", monospace !important; -} \ No newline at end of file +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Griffy", cursive !important; +} + +.witchy-accent { + font-family: "Creepster", cursive; +} + +.mystical-text { + font-family: "Henny Penny", cursive; +} -- 2.52.0 From 1396212d2e95275b293f9291f2d71a90c4cffe71 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 16:58:13 -0800 Subject: [PATCH 02/14] fix(style): improve hero tagline contrast Targets the Starlight hero tagline element to use the primary colour variable, ensuring readable contrast in both light and dark modes. --- src/styles/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index b64939b..f060ee8 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -146,6 +146,10 @@ starlight-theme-select > label { background-color: var(--witch-plum) !important; } +.hero .tagline { + color: var(--primary-color) !important; +} + #extra-footer-content { display: flex; flex-direction: row; -- 2.52.0 From 1224d47218ee8da7f2d638df785af7b9ea86cc64 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:01:37 -0800 Subject: [PATCH 03/14] fix(style): improve search placeholder contrast Targets the Starlight search button and dialog input placeholder to use the primary colour variable for readable contrast in both light and dark modes. --- src/styles/style.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index f060ee8..4392dbe 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -150,6 +150,15 @@ starlight-theme-select > label { color: var(--primary-color) !important; } +site-search button[data-open-modal] { + color: var(--primary-color) !important; +} + +#starlight__search input::placeholder { + color: var(--primary-color) !important; + opacity: 0.8; +} + #extra-footer-content { display: flex; flex-direction: row; -- 2.52.0 From 99aadc39874b8b8176aa3d247c86007fef0f1667 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:03:56 -0800 Subject: [PATCH 04/14] fix(style): improve search dialog contrast Overrides Pagefind UI CSS variables and targets the result excerpt directly to ensure readable text contrast in both light and dark modes. --- src/styles/style.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index 4392dbe..b0383aa 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -154,11 +154,21 @@ site-search button[data-open-modal] { color: var(--primary-color) !important; } +#starlight__search { + --pagefind-ui-text: var(--primary-color); + --pagefind-ui-primary: var(--witch-rose); +} + #starlight__search input::placeholder { color: var(--primary-color) !important; opacity: 0.8; } +.pagefind-ui__result-excerpt { + color: var(--primary-color) !important; + opacity: 0.9; +} + #extra-footer-content { display: flex; flex-direction: row; -- 2.52.0 From 3fcbc5d7b4845d1e0b4a203c7f63ee6671f876f9 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:05:28 -0800 Subject: [PATCH 05/14] fix(style): fix illegible theme select dropdown in light mode Targets the select and option elements within starlight-theme-select to apply the primary colour and background, preventing white-on-white text in the dropdown. --- src/styles/style.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index b0383aa..8bdc8b1 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -124,6 +124,16 @@ starlight-theme-select > label { color: var(--primary-color) !important; } +starlight-theme-select select { + color: var(--primary-color) !important; + background-color: var(--background-color) !important; +} + +starlight-theme-select select option { + color: var(--primary-color); + background-color: var(--background-color); +} + .social-icons::after { display: none; } -- 2.52.0 From c729fa8a60b1ee910c96fb83ce7cdd37a1d0db27 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:13:59 -0800 Subject: [PATCH 06/14] fix(style): fix dark mode sidebar gap by using page-level background Applies the dark translucent background to the .page element itself rather than individual sidebar/panel elements, ensuring full-height coverage with no gaps when scrolling. --- src/styles/style.css | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/styles/style.css b/src/styles/style.css index 8bdc8b1..87a2f57 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -33,7 +33,7 @@ html[data-theme="dark"] { /* Dark theme uses darker colors for background, lighter for text */ .page { - --background-color: var(--witch-purple-translucent); + --background-color: transparent; } --primary-color: var(--witch-lavender); --sl-color-text-accent: var(--witch-lavender); @@ -70,11 +70,15 @@ html[data-theme="dark"] { } .sidebar-pane, -.right-sidebar-panel { +.right-sidebar { background-color: var(--background-color); color: var(--primary-color); } +.right-sidebar-panel { + color: var(--primary-color); +} + h1, h2, h3, @@ -90,6 +94,10 @@ a { backdrop-filter: var(--content-blur); } +html[data-theme="dark"] .page { + background: var(--witch-purple-translucent); +} + a[aria-current="page"] { color: var(--background-color) !important; background-color: var(--witch-rose) !important; -- 2.52.0 From ff8b695118cca9c6420d2054ee84fc71338a1318 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:19:26 -0800 Subject: [PATCH 07/14] fix(style): give header a solid background to hide scrolling content Sets an opaque theme-appropriate background on the header so page content no longer shows through it when scrolling. --- src/styles/style.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/styles/style.css b/src/styles/style.css index 87a2f57..efc6dcf 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -105,7 +105,11 @@ a[aria-current="page"] { header { color: var(--primary-color) !important; - background-color: var(--background-color) !important; + background-color: var(--witch-lavender) !important; +} + +html[data-theme="dark"] header { + background-color: var(--witch-purple) !important; } .large { -- 2.52.0 From be87acfe7d3ded0b330bda14b652d9b9e8c3073f Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:33:54 -0800 Subject: [PATCH 08/14] style: update code themes to witchy palette Replaces the old sakura pink theme with a witch-palette theme for both light and dark modes, using the same colour variables as the site's CSS for consistency. --- src/styles/theme-dark.json | 261 +++++++++++++++++++++++------------ src/styles/theme.json | 269 +++++++++++++++++++++++++------------ 2 files changed, 355 insertions(+), 175 deletions(-) diff --git a/src/styles/theme-dark.json b/src/styles/theme-dark.json index 1e6746d..0738325 100644 --- a/src/styles/theme-dark.json +++ b/src/styles/theme-dark.json @@ -2,62 +2,61 @@ "$schema": "vscode://schemas/color-theme", "type": "dark", "colors": { - "activityBar.background": "#3a0d22", - "activityBar.foreground": "#ffb6c1", - "activityBarBadge.background": "#ff69b4", - "activityBarBadge.foreground": "#000000", - "button.background": "#ff69b4", - "button.foreground": "#000000", - "dropdown.background": "#4a112a", - "dropdown.foreground": "#ffb6c1", - "editor.background": "#2a0a18", - "editor.foreground": "#ffb6c1", - "editor.lineHighlightBackground": "#1073cf2d", - "editor.lineHighlightBorder": "#9fced11f", - "editor.selectionBackground": "#e35a8f", - "editor.selectionHighlightBackground": "#e35a8f80", - "editor.wordHighlightBackground": "#e35a8f80", - "editorCursor.foreground": "#ff69b4", - "editorGroupHeader.tabsBackground": "#3a0d22", - "editorWhitespace.foreground": "#4a112a", - "focusBorder": "#ff69b4", - "input.background": "#3a0d22", - "input.foreground": "#ffb6c1", - "input.placeholderForeground": "#e35a8f", - "list.activeSelectionBackground": "#4a112a", - "list.activeSelectionForeground": "#ffb6c1", - "list.hoverBackground": "#3a0d22", - "list.hoverForeground": "#ffb6c1", - "sideBar.background": "#3a0d22", - "sideBar.foreground": "#ffb6c1", - "sideBarTitle.foreground": "#ff69b4", - "statusBar.background": "#4a112a", - "statusBar.foreground": "#ffb6c1", - "statusBar.noFolderBackground": "#2a0a18", - "tab.activeBackground": "#3a0d22", - "tab.activeForeground": "#ffb6c1", - "tab.inactiveBackground": "#4a112a", - "tab.inactiveForeground": "#e35a8f", - "terminal.ansiBlack": "#4a112a", - "terminal.ansiBlue": "#c96385", - "terminal.ansiBrightBlack": "#3a0d22", - "terminal.ansiBrightBlue": "#d87093", - "terminal.ansiBrightCyan": "#ffafc5", - "terminal.ansiBrightGreen": "#ff77a8", - "terminal.ansiBrightMagenta": "#ff85a2", - "terminal.ansiBrightRed": "#ff1493", - "terminal.ansiBrightWhite": "#fff5f7", - "terminal.ansiBrightYellow": "#ffb6c1", - "terminal.ansiCyan": "#ff9aac", - "terminal.ansiGreen": "#e35a8f", - "terminal.ansiMagenta": "#e35a8f", - "terminal.ansiRed": "#ff69b4", - "terminal.ansiWhite": "#ffd1dc", - "terminal.ansiYellow": "#d45a88", - "terminal.background": "#2a0a18", - "terminal.foreground": "#ffb6c1", - "titleBar.activeBackground": "#4a112a", - "titleBar.activeForeground": "#ffb6c1" + "activityBar.background": "#150a1e", + "activityBar.foreground": "#e8d5e8", + "activityBarBadge.background": "#a8577e", + "activityBarBadge.foreground": "#f5f5f5", + "button.background": "#44275a", + "button.foreground": "#e8d5e8", + "dropdown.background": "#2b1b3d", + "dropdown.foreground": "#e8d5e8", + "editor.background": "#0a0009", + "editor.foreground": "#e8d5e8", + "editor.lineHighlightBackground": "#2b1b3d", + "editor.selectionBackground": "#a8577e", + "editor.selectionHighlightBackground": "#a8577e50", + "editor.wordHighlightBackground": "#a8577e40", + "editorCursor.foreground": "#a8577e", + "editorGroupHeader.tabsBackground": "#150a1e", + "editorWhitespace.foreground": "#44275a", + "focusBorder": "#a8577e", + "input.background": "#150a1e", + "input.foreground": "#e8d5e8", + "input.placeholderForeground": "#d4a5c7", + "list.activeSelectionBackground": "#44275a", + "list.activeSelectionForeground": "#e8d5e8", + "list.hoverBackground": "#2b1b3d", + "list.hoverForeground": "#e8d5e8", + "sideBar.background": "#150a1e", + "sideBar.foreground": "#e8d5e8", + "sideBarTitle.foreground": "#d4a5c7", + "statusBar.background": "#44275a", + "statusBar.foreground": "#e8d5e8", + "statusBar.noFolderBackground": "#0a0009", + "tab.activeBackground": "#2b1b3d", + "tab.activeForeground": "#e8d5e8", + "tab.inactiveBackground": "#150a1e", + "tab.inactiveForeground": "#d4a5c7", + "terminal.ansiBlack": "#2b1b3d", + "terminal.ansiBlue": "#7b5ea8", + "terminal.ansiBrightBlack": "#44275a", + "terminal.ansiBrightBlue": "#9b7ec8", + "terminal.ansiBrightCyan": "#d0b8e8", + "terminal.ansiBrightGreen": "#a898c0", + "terminal.ansiBrightMagenta": "#d4a5c7", + "terminal.ansiBrightRed": "#c96b8e", + "terminal.ansiBrightWhite": "#f5f5f5", + "terminal.ansiBrightYellow": "#e8d5e8", + "terminal.ansiCyan": "#b8a0d0", + "terminal.ansiGreen": "#8a7a9e", + "terminal.ansiMagenta": "#a8577e", + "terminal.ansiRed": "#a8577e", + "terminal.ansiWhite": "#d4a5c7", + "terminal.ansiYellow": "#d4a5c7", + "terminal.background": "#0a0009", + "terminal.foreground": "#e8d5e8", + "titleBar.activeBackground": "#2b1b3d", + "titleBar.activeForeground": "#e8d5e8" }, "tokenColors": [ { @@ -66,7 +65,7 @@ "punctuation.definition.comment" ], "settings": { - "foreground": "#E5A3B5", + "foreground": "#7A5A8A", "fontStyle": "italic" } }, @@ -81,7 +80,7 @@ "constant.other.symbol" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#D4A5C7" } }, { @@ -93,7 +92,7 @@ "support.constant" ], "settings": { - "foreground": "#C96385" + "foreground": "#C88FA8" } }, { @@ -105,7 +104,7 @@ "variable.object.property" ], "settings": { - "foreground": "#D87093" + "foreground": "#E8D5E8" } }, { @@ -119,7 +118,7 @@ "punctuation.decorator" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -132,7 +131,7 @@ "meta.function.dart" ], "settings": { - "foreground": "#D45A88" + "foreground": "#C070A0" } }, { @@ -149,7 +148,7 @@ "meta.return-type" ], "settings": { - "foreground": "#FF77A8", + "foreground": "#D4A5C7", "fontStyle": "bold" } }, @@ -160,7 +159,7 @@ "punctuation.definition.annotation" ], "settings": { - "foreground": "#C96385" + "foreground": "#9B5878" } }, { @@ -169,7 +168,7 @@ "punctuation.definition.tag" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -181,7 +180,7 @@ "entity.other.attribute-name.class" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -194,7 +193,7 @@ "support.type.primitive.dart" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -203,7 +202,7 @@ "constant.character.escape.regex" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#D4A5C7" } }, { @@ -212,7 +211,7 @@ "entity.name.section" ], "settings": { - "foreground": "#D45A88", + "foreground": "#A8577E", "fontStyle": "bold" } }, @@ -239,7 +238,7 @@ "markup.raw" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#D4A5C7" } }, { @@ -248,7 +247,7 @@ "support.type.property-name.jsonc" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -262,7 +261,7 @@ "keyword.operator.logical" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#CF8FAE" } }, { @@ -272,7 +271,7 @@ "meta.template.expression" ], "settings": { - "foreground": "#D87093" + "foreground": "#E8D5E8" } }, { @@ -283,7 +282,7 @@ "variable.other.object.property" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -293,7 +292,7 @@ "support.variable.object.node" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -303,7 +302,7 @@ "source.rust entity.name.type.struct.rust" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -313,7 +312,7 @@ "source.rust keyword.operator.logical" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#CF8FAE" } }, { @@ -322,7 +321,7 @@ "source.python support.function.builtin.python" ], "settings": { - "foreground": "#D45A88" + "foreground": "#C070A0" } }, { @@ -331,7 +330,7 @@ "source.cs storage.type.cs" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -340,7 +339,7 @@ "source.dart support.type.dart" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -350,7 +349,7 @@ "source.prisma keyword.type" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -359,7 +358,7 @@ "source.graphql constant.character" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#D4A5C7" } }, { @@ -368,7 +367,7 @@ "source.sql storage.type" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -378,7 +377,7 @@ "meta.embedded.block.jsx" ], "settings": { - "foreground": "#D87093" + "foreground": "#E8D5E8" } }, { @@ -388,13 +387,101 @@ "meta.decorator.angular" ], "settings": { - "foreground": "#C96385" + "foreground": "#9B5878" } }, { - "scope": "ref.matchtext", + "scope": [ + "entity.name.tag.yaml", + "string.unquoted.plain.out.yaml" + ], "settings": { - "foreground": "#FFFFFF" + "foreground": "#D4A5C7" + } + }, + { + "scope": [ + "support.type.property-name.toml", + "entity.name.tag.toml" + ], + "settings": { + "foreground": "#D4A5C7" + } + }, + { + "scope": [ + "markup.underline.link", + "string.other.link.title.markdown", + "meta.link.inline.markdown" + ], + "settings": { + "foreground": "#A8577E" + } + }, + { + "scope": [ + "markup.quote" + ], + "settings": { + "foreground": "#7A5A8A", + "fontStyle": "italic" + } + }, + { + "scope": [ + "punctuation.definition.list.begin.markdown", + "beginning.punctuation.definition.list.markdown" + ], + "settings": { + "foreground": "#A8577E" + } + }, + { + "scope": [ + "variable.css", + "variable.other.custom-property.css", + "support.type.custom-property.css" + ], + "settings": { + "foreground": "#CF8FAE" + } + }, + { + "scope": [ + "support.macro.rust", + "entity.name.function.macro.rust", + "meta.macro.rust entity.name.function.rust" + ], + "settings": { + "foreground": "#C070A0" + } + }, + { + "scope": [ + "storage.modifier.lifetime.rust", + "entity.name.lifetime.rust", + "punctuation.definition.lifetime.rust" + ], + "settings": { + "foreground": "#9B5878" + } + }, + { + "scope": [ + "entity.name.package.go" + ], + "settings": { + "foreground": "#C88FA8" + } + }, + { + "scope": [ + "entity.name.package.java", + "support.other.package.java", + "entity.name.package.kotlin" + ], + "settings": { + "foreground": "#C88FA8" } }, { diff --git a/src/styles/theme.json b/src/styles/theme.json index 9cc32a9..564d7b8 100644 --- a/src/styles/theme.json +++ b/src/styles/theme.json @@ -2,62 +2,61 @@ "$schema": "vscode://schemas/color-theme", "type": "light", "colors": { - "activityBar.background": "#ffd6e0", - "activityBar.foreground": "#d87093", - "activityBarBadge.background": "#ff69b4", - "activityBarBadge.foreground": "#ffffff", - "button.background": "#ff69b4", - "button.foreground": "#ffffff", - "dropdown.background": "#fff0f5", - "dropdown.foreground": "#d87093", - "editor.background": "#ffefef", - "editor.foreground": "#d87093", - "editor.lineHighlightBackground": "#1073cf2d", - "editor.lineHighlightBorder": "#9fced11f", - "editor.selectionBackground": "#ffb6c1", - "editor.selectionHighlightBackground": "#ffb6c180", - "editor.wordHighlightBackground": "#ffb6c180", - "editorCursor.foreground": "#ff69b4", - "editorGroupHeader.tabsBackground": "#ffe4e8", - "editorWhitespace.foreground": "#ffe4e8", - "focusBorder": "#ff69b4", - "input.background": "#fff0f5", - "input.foreground": "#d87093", - "input.placeholderForeground": "#ff77a8", - "list.activeSelectionBackground": "#ffefef", - "list.activeSelectionForeground": "#d87093", - "list.hoverBackground": "#fff0f5", - "list.hoverForeground": "#d87093", - "sideBar.background": "#fff0f5", - "sideBar.foreground": "#d87093", - "sideBarTitle.foreground": "#ff69b4", - "statusBar.background": "#ffd6e0", - "statusBar.foreground": "#d87093", - "statusBar.noFolderBackground": "#ffefef", - "tab.activeBackground": "#ffefef", - "tab.activeForeground": "#d87093", - "tab.inactiveBackground": "#ffd6e0", - "tab.inactiveForeground": "#ff77a8", - "terminal.ansiBlack": "#ffe4e8", - "terminal.ansiBlue": "#db7093", - "terminal.ansiBrightBlack": "#ffefef", - "terminal.ansiBrightBlue": "#f08080", - "terminal.ansiBrightCyan": "#ffc0cb", - "terminal.ansiBrightGreen": "#ff77a8", - "terminal.ansiBrightMagenta": "#ff9aac", - "terminal.ansiBrightRed": "#ff0066", - "terminal.ansiBrightWhite": "#fff5f7", - "terminal.ansiBrightYellow": "#ffa6c9", - "terminal.ansiCyan": "#ffafc5", - "terminal.ansiGreen": "#ff69b4", - "terminal.ansiMagenta": "#ff85a2", - "terminal.ansiRed": "#ff1493", - "terminal.ansiWhite": "#ffd1dc", - "terminal.ansiYellow": "#ffb6c1", - "terminal.background": "#ffefef", - "terminal.foreground": "#d87093", - "titleBar.activeBackground": "#ffd6e0", - "titleBar.activeForeground": "#d87093" + "activityBar.background": "#e8d5e8", + "activityBar.foreground": "#2b1b3d", + "activityBarBadge.background": "#a8577e", + "activityBarBadge.foreground": "#f5f5f5", + "button.background": "#a8577e", + "button.foreground": "#f5f5f5", + "dropdown.background": "#e8d5e8", + "dropdown.foreground": "#2b1b3d", + "editor.background": "#f5f5f5", + "editor.foreground": "#2b1b3d", + "editor.lineHighlightBackground": "#d4a5c740", + "editor.selectionBackground": "#d4a5c7", + "editor.selectionHighlightBackground": "#d4a5c750", + "editor.wordHighlightBackground": "#d4a5c740", + "editorCursor.foreground": "#a8577e", + "editorGroupHeader.tabsBackground": "#e8d5e8", + "editorWhitespace.foreground": "#d4a5c7", + "focusBorder": "#a8577e", + "input.background": "#f5f5f5", + "input.foreground": "#2b1b3d", + "input.placeholderForeground": "#a8577e", + "list.activeSelectionBackground": "#d4a5c7", + "list.activeSelectionForeground": "#2b1b3d", + "list.hoverBackground": "#e8d5e8", + "list.hoverForeground": "#2b1b3d", + "sideBar.background": "#e8d5e8", + "sideBar.foreground": "#2b1b3d", + "sideBarTitle.foreground": "#a8577e", + "statusBar.background": "#a8577e", + "statusBar.foreground": "#f5f5f5", + "statusBar.noFolderBackground": "#f5f5f5", + "tab.activeBackground": "#f5f5f5", + "tab.activeForeground": "#2b1b3d", + "tab.inactiveBackground": "#e8d5e8", + "tab.inactiveForeground": "#44275a", + "terminal.ansiBlack": "#2b1b3d", + "terminal.ansiBlue": "#7b5ea8", + "terminal.ansiBrightBlack": "#44275a", + "terminal.ansiBrightBlue": "#9b7ec8", + "terminal.ansiBrightCyan": "#d0b8e8", + "terminal.ansiBrightGreen": "#a898c0", + "terminal.ansiBrightMagenta": "#d4a5c7", + "terminal.ansiBrightRed": "#c96b8e", + "terminal.ansiBrightWhite": "#f5f5f5", + "terminal.ansiBrightYellow": "#e8d5e8", + "terminal.ansiCyan": "#b8a0d0", + "terminal.ansiGreen": "#8a7a9e", + "terminal.ansiMagenta": "#a8577e", + "terminal.ansiRed": "#a8577e", + "terminal.ansiWhite": "#d4a5c7", + "terminal.ansiYellow": "#d4a5c7", + "terminal.background": "#f5f5f5", + "terminal.foreground": "#2b1b3d", + "titleBar.activeBackground": "#e8d5e8", + "titleBar.activeForeground": "#2b1b3d" }, "tokenColors": [ { @@ -66,7 +65,7 @@ "punctuation.definition.comment" ], "settings": { - "foreground": "#E5A3B5", + "foreground": "#7A5A8A", "fontStyle": "italic" } }, @@ -81,7 +80,7 @@ "constant.other.symbol" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#9B5878" } }, { @@ -93,7 +92,7 @@ "support.constant" ], "settings": { - "foreground": "#C96385" + "foreground": "#9B5878" } }, { @@ -105,7 +104,7 @@ "variable.object.property" ], "settings": { - "foreground": "#D87093" + "foreground": "#44275a" } }, { @@ -119,7 +118,7 @@ "punctuation.decorator" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -132,7 +131,7 @@ "meta.function.dart" ], "settings": { - "foreground": "#D45A88" + "foreground": "#C070A0" } }, { @@ -149,7 +148,7 @@ "meta.return-type" ], "settings": { - "foreground": "#FF77A8", + "foreground": "#9B5878", "fontStyle": "bold" } }, @@ -160,7 +159,7 @@ "punctuation.definition.annotation" ], "settings": { - "foreground": "#C96385" + "foreground": "#9B5878" } }, { @@ -169,7 +168,7 @@ "punctuation.definition.tag" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -181,7 +180,7 @@ "entity.other.attribute-name.class" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -194,7 +193,7 @@ "support.type.primitive.dart" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -203,7 +202,7 @@ "constant.character.escape.regex" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#9B5878" } }, { @@ -212,7 +211,7 @@ "entity.name.section" ], "settings": { - "foreground": "#D45A88", + "foreground": "#A8577E", "fontStyle": "bold" } }, @@ -239,7 +238,7 @@ "markup.raw" ], "settings": { - "foreground": "#FF69B4" + "foreground": "#9B5878" } }, { @@ -248,7 +247,7 @@ "support.type.property-name.jsonc" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -262,7 +261,7 @@ "keyword.operator.logical" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -272,7 +271,7 @@ "meta.template.expression" ], "settings": { - "foreground": "#D87093" + "foreground": "#44275a" } }, { @@ -283,7 +282,7 @@ "variable.other.object.property" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -293,7 +292,7 @@ "support.variable.object.node" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -303,7 +302,7 @@ "source.rust entity.name.type.struct.rust" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -313,7 +312,7 @@ "source.rust keyword.operator.logical" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -322,7 +321,7 @@ "source.python support.function.builtin.python" ], "settings": { - "foreground": "#D45A88" + "foreground": "#C070A0" } }, { @@ -331,7 +330,7 @@ "source.cs storage.type.cs" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -340,7 +339,7 @@ "source.dart support.type.dart" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -350,7 +349,7 @@ "source.prisma keyword.type" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -359,7 +358,7 @@ "source.graphql constant.character" ], "settings": { - "foreground": "#FF77A8" + "foreground": "#9B5878" } }, { @@ -368,7 +367,7 @@ "source.sql storage.type" ], "settings": { - "foreground": "#E35A8F" + "foreground": "#A8577E" } }, { @@ -378,7 +377,7 @@ "meta.embedded.block.jsx" ], "settings": { - "foreground": "#D87093" + "foreground": "#44275a" } }, { @@ -388,13 +387,107 @@ "meta.decorator.angular" ], "settings": { - "foreground": "#C96385" + "foreground": "#9B5878" + } + }, + { + "scope": [ + "entity.name.tag.yaml", + "string.unquoted.plain.out.yaml" + ], + "settings": { + "foreground": "#9B5878" + } + }, + { + "scope": [ + "support.type.property-name.toml", + "entity.name.tag.toml" + ], + "settings": { + "foreground": "#9B5878" + } + }, + { + "scope": [ + "markup.underline.link", + "string.other.link.title.markdown", + "meta.link.inline.markdown" + ], + "settings": { + "foreground": "#A8577E" + } + }, + { + "scope": [ + "markup.quote" + ], + "settings": { + "foreground": "#7A5A8A", + "fontStyle": "italic" + } + }, + { + "scope": [ + "punctuation.definition.list.begin.markdown", + "beginning.punctuation.definition.list.markdown" + ], + "settings": { + "foreground": "#A8577E" + } + }, + { + "scope": [ + "variable.css", + "variable.other.custom-property.css", + "support.type.custom-property.css" + ], + "settings": { + "foreground": "#A8577E" + } + }, + { + "scope": [ + "support.macro.rust", + "entity.name.function.macro.rust", + "meta.macro.rust entity.name.function.rust" + ], + "settings": { + "foreground": "#C070A0" + } + }, + { + "scope": [ + "storage.modifier.lifetime.rust", + "entity.name.lifetime.rust", + "punctuation.definition.lifetime.rust" + ], + "settings": { + "foreground": "#9B5878" + } + }, + { + "scope": [ + "entity.name.package.go" + ], + "settings": { + "foreground": "#9B5878" + } + }, + { + "scope": [ + "entity.name.package.java", + "support.other.package.java", + "entity.name.package.kotlin" + ], + "settings": { + "foreground": "#9B5878" } }, { "scope": "token.info-token", "settings": { - "foreground": "#316BCD" + "foreground": "#6796E6" } }, { @@ -406,13 +499,13 @@ { "scope": "token.error-token", "settings": { - "foreground": "#CD3131" + "foreground": "#F44747" } }, { "scope": "token.debug-token", "settings": { - "foreground": "#800080" + "foreground": "#B267E6" } } ] -- 2.52.0 From 99cd803e583b46beb5e626b2f98e443a637c9039 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:34:59 -0800 Subject: [PATCH 09/14] fix(content): replace invalid aside icon in contact page Replaces the unsupported 'message' icon with the valid 'star' icon across all Preferred Method asides. --- src/content/docs/about/contact.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/content/docs/about/contact.md b/src/content/docs/about/contact.md index 6de9e7e..7cf6f3c 100644 --- a/src/content/docs/about/contact.md +++ b/src/content/docs/about/contact.md @@ -236,7 +236,7 @@ We offer several email addresses for specific types of inquiries. Please use the ### 5.2. Billing and Financial Matters -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Billing Questions**](https://support.nhcarrigan.com/c/billing-questions/13) category on our support forum for billing inquiries. This allows for public discussion and faster responses. If you need to share sensitive financial information, you can ask staff to make your thread private, or contact us via email for complete confidentiality. ::: @@ -250,7 +250,7 @@ We encourage you to use the [**Billing Questions**](https://support.nhcarrigan.c ### 5.3. Technical Support -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Technical Support**](https://support.nhcarrigan.com/c/technical-support/5) category on our support forum for support inquiries. This allows for public discussion and faster responses. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for complete confidentiality. ::: @@ -263,7 +263,7 @@ We encourage you to use the [**Technical Support**](https://support.nhcarrigan.c ### 5.4. Privacy Concerns -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use our **Privacy Request Form** for privacy-related requests: https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4 This form helps ensure we collect all necessary information to process your request efficiently and in compliance with applicable data protection laws. @@ -279,7 +279,7 @@ This form helps ensure we collect all necessary information to process your requ ### 5.5. Security Matters -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use our **Security Vulnerability Report Form** for reporting security vulnerabilities: https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4 This form helps ensure we collect all necessary information to investigate and address security issues efficiently and securely. @@ -295,7 +295,7 @@ This form helps ensure we collect all necessary information to investigate and a ### 5.6. Legal Inquiries -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Legal Notices**](https://support.nhcarrigan.com/c/legal-notices/12) category on our support forum for legal inquiries. This allows for public discussion and transparency. If you need to share sensitive legal information, you can ask staff to make your thread private, or contact us via email for urgent matters requiring immediate confidentiality. ::: @@ -309,7 +309,7 @@ We encourage you to use the [**Legal Notices**](https://support.nhcarrigan.com/c ### 5.7. Feedback and Suggestions -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use our support forum for different types of feedback: - [**Community Feedback**](https://support.nhcarrigan.com/c/community-feedback/8) for general feedback about our community, services, events, and initiatives - [**Policy Ideation**](https://support.nhcarrigan.com/c/policy-ideation/9) for suggestions about community policies and governance @@ -329,7 +329,7 @@ We encourage you to use our support forum for different types of feedback: ### 5.8. Press/Media Inquiries -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Press Inquiries**](https://support.nhcarrigan.com/c/press-inquiries/14) category on our support forum for media inquiries. This allows for public discussion and community visibility. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for highly sensitive media matters requiring complete confidentiality. ::: @@ -351,7 +351,7 @@ We encourage you to use the [**Press Inquiries**](https://support.nhcarrigan.com ### 5.10. Marketing Inquiries -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Marketing Proposals**](https://support.nhcarrigan.com/c/marketing-proposals/15) category on our support forum for marketing inquiries. This allows for public discussion and community input. If you need to share highly confidential business information, you can ask staff to make your thread private, or contact us via email for proposals requiring complete privacy. ::: @@ -374,7 +374,7 @@ We encourage you to use the [**Marketing Proposals**](https://support.nhcarrigan ### 5.12. Partnerships -:::tip[Preferred Method]{icon=message} +:::tip[Preferred Method]{icon=star} We encourage you to use the [**Partnership Requests**](https://support.nhcarrigan.com/c/partnership-requests/11) category on our support forum for partnership inquiries. This allows for public discussion and community input on potential partnerships. If you need to share sensitive business information, you can ask staff to make your thread private, or contact us via email if you need complete confidentiality from the start. ::: -- 2.52.0 From f6c79d0bd3ba749bfb9d164220d0977055e2b87b Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:39:30 -0800 Subject: [PATCH 10/14] fix(content): replace invalid env language in code blocks Co-Authored-By: Claude Sonnet 4.6 --- src/content/docs/projects/a4p-bot.md | 2 +- src/content/docs/projects/boost-monitor.md | 2 +- src/content/docs/projects/keiko.md | 2 +- src/content/docs/projects/liora.md | 2 +- src/content/docs/projects/nomena.md | 2 +- src/content/docs/projects/rosalia-nightsong.md | 2 +- src/content/docs/projects/scripts.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/docs/projects/a4p-bot.md b/src/content/docs/projects/a4p-bot.md index e1e22f1..537bf43 100644 --- a/src/content/docs/projects/a4p-bot.md +++ b/src/content/docs/projects/a4p-bot.md @@ -165,7 +165,7 @@ Your Discord bot requires the following Gateway Intents: Create a `.env` file in the project root with the following variables: -```env +```sh # Discord Bot Configuration TOKEN=your_discord_bot_token diff --git a/src/content/docs/projects/boost-monitor.md b/src/content/docs/projects/boost-monitor.md index 2184ffc..1885db0 100644 --- a/src/content/docs/projects/boost-monitor.md +++ b/src/content/docs/projects/boost-monitor.md @@ -64,7 +64,7 @@ This section is for those interested in running their own instance of the Applic ``` 4. Edit `.env` with your configuration: - ```env + ```sh DISCORD_TOKEN="your-discord-bot-token" SENTRY_DSN="your-sentry-dsn" DEBUG_HOOK="your-discord-webhook-url" diff --git a/src/content/docs/projects/keiko.md b/src/content/docs/projects/keiko.md index 776dd92..c35026a 100644 --- a/src/content/docs/projects/keiko.md +++ b/src/content/docs/projects/keiko.md @@ -114,7 +114,7 @@ npm install Create a `prod.env` file in the root directory with the following variables: -```env +```sh DISCORD_TOKEN=your_discord_bot_token AI_TOKEN=your_anthropic_api_key LOG_TOKEN=your_logging_token (optional) diff --git a/src/content/docs/projects/liora.md b/src/content/docs/projects/liora.md index c4e6239..31844b8 100644 --- a/src/content/docs/projects/liora.md +++ b/src/content/docs/projects/liora.md @@ -199,7 +199,7 @@ pnpm install Create a `prod.env` file with the following variables: -```env +```sh DISCORD_TOKEN=your_discord_bot_token MONGO_URI=your_mongodb_connection_string LOG_TOKEN=your_logging_service_token diff --git a/src/content/docs/projects/nomena.md b/src/content/docs/projects/nomena.md index 9eae312..6ce808b 100644 --- a/src/content/docs/projects/nomena.md +++ b/src/content/docs/projects/nomena.md @@ -136,7 +136,7 @@ The Application is built with the following technologies: Create a `prod.env` file in the project root with the following variables: -```env +```sh # Required: Anthropic API key for Claude AI ANTHROPIC_API_KEY=your_anthropic_api_key_here diff --git a/src/content/docs/projects/rosalia-nightsong.md b/src/content/docs/projects/rosalia-nightsong.md index 9362203..c82de5b 100644 --- a/src/content/docs/projects/rosalia-nightsong.md +++ b/src/content/docs/projects/rosalia-nightsong.md @@ -50,7 +50,7 @@ Rosalia Nightsong is built using: The application requires the following environment variables: -```env +```sh MATRIX_ACCESS_TOKEN="matrix_access_token" MATRIX_ROOM_ID="matrix_room_id" API_AUTH="api_authentication_token" diff --git a/src/content/docs/projects/scripts.md b/src/content/docs/projects/scripts.md index d7cf887..2d58be6 100644 --- a/src/content/docs/projects/scripts.md +++ b/src/content/docs/projects/scripts.md @@ -218,7 +218,7 @@ This section is for those interested in running their own instance of the Applic 4. **Set up environment variables:** Create a `.env` file with required credentials: - ```env + ```sh # Crowdin (for translation scripts) CROWDIN_PROJECT_ID=your_project_id CROWDIN_API_URL=https://api.crowdin.com/api/v2 -- 2.52.0 From 897b19b60ccec1de8c752c19ad30174b124c2b70 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:40:58 -0800 Subject: [PATCH 11/14] fix(style): fix illegible search shortcut badge --- src/styles/style.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index efc6dcf..dfc8022 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -176,6 +176,12 @@ site-search button[data-open-modal] { color: var(--primary-color) !important; } +site-search button[data-open-modal] kbd { + color: var(--primary-color) !important; + background-color: var(--background-color) !important; + border-color: var(--primary-color) !important; +} + #starlight__search { --pagefind-ui-text: var(--primary-color); --pagefind-ui-primary: var(--witch-rose); -- 2.52.0 From e18eb9dec64fa821a1a3cd2cff0bff492f54e271 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:41:12 -0800 Subject: [PATCH 12/14] fix(style): fix illegible active sidebar item in dark mode --- src/styles/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index dfc8022..ea84f85 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -103,6 +103,10 @@ a[aria-current="page"] { background-color: var(--witch-rose) !important; } +html[data-theme="dark"] a[aria-current="page"] { + color: var(--witch-moon) !important; +} + header { color: var(--primary-color) !important; background-color: var(--witch-lavender) !important; -- 2.52.0 From 709cd1f528d7fd905ccbbcde412b2484cda1d84f Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 3 Mar 2026 17:43:03 -0800 Subject: [PATCH 13/14] fix(style): fix illegible theme dropdown options in dark mode --- src/styles/style.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/styles/style.css b/src/styles/style.css index ea84f85..2626f76 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -150,6 +150,11 @@ starlight-theme-select select option { background-color: var(--background-color); } +html[data-theme="dark"] starlight-theme-select select option { + color: var(--witch-purple) !important; + background-color: var(--witch-lavender) !important; +} + .social-icons::after { display: none; } -- 2.52.0 From 6a92edf04eeb6b1890d9c1a6b4f9397d83272e4a Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Tue, 3 Mar 2026 17:44:26 -0800 Subject: [PATCH 14/14] fix: make background less transparent --- src/styles/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/styles/style.css b/src/styles/style.css index 2626f76..08349e7 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -1,7 +1,7 @@ :root { /* Witch color palette */ --witch-purple: #2b1b3d; - --witch-purple-translucent: hsla(267, 40%, 17%, 0.597); + --witch-purple-translucent: hsla(267, 40%, 17%, 0.85); --witch-plum: #44275a; --witch-rose: #a8577e; --witch-mauve: #d4a5c7; @@ -25,7 +25,7 @@ --sl-color-gray-6: var(--witch-purple); /* Translucent background */ - --content-bg: rgba(181, 185, 187, 0.543); + --content-bg: rgba(181, 185, 187, 0.85); --content-blur: 8px; } -- 2.52.0