\n\n","language":"vue","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sVt8B"},"<"],["span",{"class":"s9eBZ"},"template"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":2},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"ThemeSwitcherClient"],["span",{"class":"sVt8B"}," />\n"]],["span",{"class":"line","line":3},["span",{"class":"sVt8B"},""],["span",{"class":"s9eBZ"},"template"],["span",{"class":"sVt8B"},">\n"]]]],["h3",{"id":"features"},"Features"],["p",{},"The theme switcher provides:"],["ul",{},["li",{},["strong",{},"Tabbed Interface"],": Separate tabs for themes and typography"],["li",{},["strong",{},"Visual Previews"],":\n",["ul",{},["li",{},"Color indicators for each theme with appropriate colors"],["li",{},"Font previews showing \"Aa\" in the actual font"]]],["li",{},["strong",{},"Theme Names"],": Displays friendly names from configuration"],["li",{},["strong",{},"Dark/Light Icons"],": Automatically switches between sun/moon icons"],["li",{},["strong",{},"Persistent Storage"],": Automatically saves all preferences"],["li",{},["strong",{},"Accessibility"],": Proper ARIA labels and keyboard navigation"]],["h3",{"id":"theme-indicators"},"Theme Indicators"],["p",{},"Each theme has a visual color indicator:"],["ul",{},["li",{},["strong",{},"Terminal"],": Black with yellow border"],["li",{},["strong",{},"Forest"],": Dark green with green border"],["li",{},["strong",{},"Ocean"],": Dark blue with cyan border"],["li",{},["strong",{},"Purple"],": Dark purple with purple border"],["li",{},["strong",{},"Light"],": White with gray border"],["li",{},["strong",{},"Cream"],": Light amber with brown border"]],["h2",{"id":"customizing-typography"},"Customizing Typography"],["h3",{"id":"overriding-default-styles"},"Overriding Default Styles"],["p",{},"Typography styles can be overridden at any level:"],["pre",{"className":"language-vue shiki shiki-themes github-light github-dark","code":"\n \n
Default heading style
\n\n \n
Custom heading style
\n\n \n
\n
This heading inherits container styles
\n
This paragraph also inherits container styles
\n
\n\n","language":"vue","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sVt8B"},"<"],["span",{"class":"s9eBZ"},"template"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":2},["span",{"class":"sJ8bj"}," \n"]],["span",{"class":"line","line":3},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"h1"],["span",{"class":"sVt8B"},">Default heading style"],["span",{"class":"s9eBZ"},"h1"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":4},["span",{"emptyLinePlaceholder":true},"\n"]],["span",{"class":"line","line":5},["span",{"class":"sJ8bj"}," \n"]],["span",{"class":"line","line":6},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"h1"],["span",{"class":"sScJk"}," class"],["span",{"class":"sVt8B"},"="],["span",{"class":"sZZnC"},"\"font-light tracking-wide\""],["span",{"class":"sVt8B"},">Custom heading style"],["span",{"class":"s9eBZ"},"h1"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":7},["span",{"emptyLinePlaceholder":true},"\n"]],["span",{"class":"line","line":8},["span",{"class":"sJ8bj"}," \n"]],["span",{"class":"line","line":9},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"div"],["span",{"class":"sScJk"}," class"],["span",{"class":"sVt8B"},"="],["span",{"class":"sZZnC"},"\"font-semibold leading-relaxed\""],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":10},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"h2"],["span",{"class":"sVt8B"},">This heading inherits container styles"],["span",{"class":"s9eBZ"},"h2"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":11},["span",{"class":"sVt8B"}," <"],["span",{"class":"s9eBZ"},"p"],["span",{"class":"sVt8B"},">This paragraph also inherits container styles"],["span",{"class":"s9eBZ"},"p"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":12},["span",{"class":"sVt8B"}," "],["span",{"class":"s9eBZ"},"div"],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":13},["span",{"class":"sVt8B"},""],["span",{"class":"s9eBZ"},"template"],["span",{"class":"sVt8B"},">\n"]]]],["h3",{"id":"css-specificity"},"CSS Specificity"],["p",{},"Typography styles are applied with appropriate specificity:"],["ol",{},["li",{},["strong",{},"Default styles"],": Applied to base elements (h1, h2, p, etc.)"],["li",{},["strong",{},"Utility classes"],": Higher specificity for overrides"],["li",{},["strong",{},"Inline styles"],": Highest specificity for specific cases"]],["h2",{"id":"implementation-details"},"Implementation Details"],["h3",{"id":"css-class-management"},"CSS Class Management"],["p",{},"Nuxt Color Mode automatically manages CSS classes:"],["pre",{"className":"language-html shiki shiki-themes github-light github-dark","code":"\n\n \n\n","language":"html","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sJ8bj"},"\n"]],["span",{"class":"line","line":2},["span",{"class":"sVt8B"},"<"],["span",{"class":"s9eBZ"},"html"],["span",{"class":"sScJk"}," class"],["span",{"class":"sVt8B"},"="],["span",{"class":"sZZnC"},"\"forest-mode dark\""],["span",{"class":"sVt8B"},">\n"]],["span",{"class":"line","line":3},["span",{"class":"sJ8bj"}," \n"]],["span",{"class":"line","line":4},["span",{"class":"sVt8B"},""],["span",{"class":"s9eBZ"},"html"],["span",{"class":"sVt8B"},">\n"]]]],["h3",{"id":"theme-detection"},"Theme Detection"],["p",{},"The system supports multiple detection methods:"],["ul",{},["li",{},["strong",{},"System Preference"],": Respects ",["code",{},"prefers-color-scheme"]],["li",{},["strong",{},"Stored Preference"],": Uses localStorage value"],["li",{},["strong",{},"Fallback"],": Uses configured default theme"]],["h3",{"id":"performance"},"Performance"],["ul",{},["li",{},["strong",{},"Zero JavaScript"],": Theme switching uses pure CSS"],["li",{},["strong",{},"Instant Application"],": No DOM manipulation delays"],["li",{},["strong",{},"Minimal Bundle"],": Only metadata in JavaScript"],["li",{},["strong",{},"Efficient Storage"],": Single localStorage key per preference type"]],["h2",{"id":"adding-new-themes"},"Adding New Themes"],["p",{},"To add a new theme:"],["ol",{},["li",{},["strong",{},"Add CSS classes"]," in ",["code",{},"assets/css/tailwind.css"],":"]],["pre",{"className":"language-css shiki shiki-themes github-light github-dark","code":"/* New Theme */\n.newtheme-mode,\n.dark.newtheme-mode {\n --radius: 0.5rem;\n --background: oklch(0.2 0.05 200);\n --foreground: oklch(0.9 0 0);\n --primary: oklch(0.7 0.2 200);\n /* ... all required shadcn variables */\n}\n","language":"css","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sJ8bj"},"/* New Theme */\n"]],["span",{"class":"line","line":2},["span",{"class":"sScJk"},".newtheme-mode"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":3},["span",{"class":"sScJk"},".dark.newtheme-mode"],["span",{"class":"sVt8B"}," {\n"]],["span",{"class":"line","line":4},["span",{"class":"s4XuR"}," --radius"],["span",{"class":"sVt8B"},": "],["span",{"class":"sj4cs"},"0.5"],["span",{"class":"szBVR"},"rem"],["span",{"class":"sVt8B"},";\n"]],["span",{"class":"line","line":5},["span",{"class":"s4XuR"}," --background"],["span",{"class":"sVt8B"},": "],["span",{"class":"sj4cs"},"oklch"],["span",{"class":"sVt8B"},"("],["span",{"class":"sj4cs"},"0.2"],["span",{"class":"sj4cs"}," 0.05"],["span",{"class":"sj4cs"}," 200"],["span",{"class":"sVt8B"},");\n"]],["span",{"class":"line","line":6},["span",{"class":"s4XuR"}," --foreground"],["span",{"class":"sVt8B"},": "],["span",{"class":"sj4cs"},"oklch"],["span",{"class":"sVt8B"},"("],["span",{"class":"sj4cs"},"0.9"],["span",{"class":"sj4cs"}," 0"],["span",{"class":"sj4cs"}," 0"],["span",{"class":"sVt8B"},");\n"]],["span",{"class":"line","line":7},["span",{"class":"s4XuR"}," --primary"],["span",{"class":"sVt8B"},": "],["span",{"class":"sj4cs"},"oklch"],["span",{"class":"sVt8B"},"("],["span",{"class":"sj4cs"},"0.7"],["span",{"class":"sj4cs"}," 0.2"],["span",{"class":"sj4cs"}," 200"],["span",{"class":"sVt8B"},");\n"]],["span",{"class":"line","line":8},["span",{"class":"sJ8bj"}," /* ... all required shadcn variables */\n"]],["span",{"class":"line","line":9},["span",{"class":"sVt8B"},"}\n"]]]],["ol",{"start":2},["li",{},["strong",{},"Update configuration"]," in ",["code",{},"app.config.ts"],":"]],["pre",{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"available: ['terminal', 'forest', 'ocean', 'purple', 'light', 'cream', 'newtheme'],\nconfig: {\n newtheme: {\n name: 'New Theme',\n description: 'A custom theme with blue accents',\n isDark: true,\n className: 'newtheme-mode',\n primary: 'blue',\n radius: '0.5rem',\n }\n}\n","language":"typescript","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sScJk"},"available"],["span",{"class":"sVt8B"},": ["],["span",{"class":"sZZnC"},"'terminal'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'forest'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'ocean'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'purple'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'light'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'cream'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'newtheme'"],["span",{"class":"sVt8B"},"],\n"]],["span",{"class":"line","line":2},["span",{"class":"sScJk"},"config"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":3},["span",{"class":"sScJk"}," newtheme"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":4},["span",{"class":"sScJk"}," name"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'New Theme'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":5},["span",{"class":"sScJk"}," description"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'A custom theme with blue accents'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":6},["span",{"class":"sScJk"}," isDark"],["span",{"class":"sVt8B"},": "],["span",{"class":"sj4cs"},"true"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":7},["span",{"class":"sScJk"}," className"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'newtheme-mode'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":8},["span",{"class":"sScJk"}," primary"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'blue'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":9},["span",{"class":"sScJk"}," radius"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'0.5rem'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":10},["span",{"class":"sVt8B"}," }\n"]],["span",{"class":"line","line":11},["span",{"class":"sVt8B"},"}\n"]]]],["ol",{"start":3},["li",{},["strong",{},"Add visual indicator"]," in ",["code",{},"ThemeSwitcher.client.vue"]," (optional):"]],["pre",{"className":"language-vue shiki shiki-themes github-light github-dark","code":"theme === 'newtheme' ? 'bg-blue-800 border-blue-500' :\n","language":"vue","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sVt8B"},"theme === 'newtheme' ? 'bg-blue-800 border-blue-500' :\n"]]]],["h2",{"id":"adding-new-typography"},"Adding New Typography"],["p",{},"To add a new font:"],["ol",{},["li",{},["strong",{},"Load the font"]," (Google Fonts, local files, etc.)"],["li",{},["strong",{},"Update configuration"]," in ",["code",{},"app.config.ts"],":"]],["pre",{"className":"language-typescript shiki shiki-themes github-light github-dark","code":"available: ['jetbrains', 'inter', 'roboto', 'montserrat', 'newfont'],\nconfig: {\n newfont: {\n name: 'New Font',\n fontFamily: '\\'New Font\\', sans-serif',\n className: 'font-newfont',\n headings: {\n fontFamily: '\\'New Font\\', sans-serif',\n fontWeight: { h1: '800', h2: '700', h3: '600', h4: '500' },\n lineHeight: { h1: 'tight', h2: 'tight', h3: 'snug', h4: 'normal' },\n letterSpacing: { h1: 'tight', h2: 'normal', h3: 'normal', h4: 'normal' },\n },\n body: {\n fontFamily: '\\'New Font\\', sans-serif',\n fontWeight: '400',\n lineHeight: 'relaxed',\n },\n code: {\n fontFamily: '\\'JetBrains Mono\\', monospace', // Keep monospace for code\n },\n }\n}\n","language":"typescript","meta":"","style":""},["code",{"__ignoreMap":""},["span",{"class":"line","line":1},["span",{"class":"sScJk"},"available"],["span",{"class":"sVt8B"},": ["],["span",{"class":"sZZnC"},"'jetbrains'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'inter'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'roboto'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'montserrat'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sZZnC"},"'newfont'"],["span",{"class":"sVt8B"},"],\n"]],["span",{"class":"line","line":2},["span",{"class":"sScJk"},"config"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":3},["span",{"class":"sScJk"}," newfont"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":4},["span",{"class":"sScJk"}," name"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'New Font'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":5},["span",{"class":"sScJk"}," fontFamily"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},"New Font"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},", sans-serif'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":6},["span",{"class":"sScJk"}," className"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'font-newfont'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":7},["span",{"class":"sScJk"}," headings"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":8},["span",{"class":"sScJk"}," fontFamily"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},"New Font"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},", sans-serif'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":9},["span",{"class":"sScJk"}," fontWeight"],["span",{"class":"sVt8B"},": { "],["span",{"class":"sScJk"},"h1"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'800'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h2"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'700'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h3"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'600'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h4"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'500'"],["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":10},["span",{"class":"sScJk"}," lineHeight"],["span",{"class":"sVt8B"},": { "],["span",{"class":"sScJk"},"h1"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'tight'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h2"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'tight'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h3"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'snug'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h4"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'normal'"],["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":11},["span",{"class":"sScJk"}," letterSpacing"],["span",{"class":"sVt8B"},": { "],["span",{"class":"sScJk"},"h1"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'tight'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h2"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'normal'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h3"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'normal'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sScJk"},"h4"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'normal'"],["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":12},["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":13},["span",{"class":"sScJk"}," body"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":14},["span",{"class":"sScJk"}," fontFamily"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},"New Font"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},", sans-serif'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":15},["span",{"class":"sScJk"}," fontWeight"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'400'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":16},["span",{"class":"sScJk"}," lineHeight"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'relaxed'"],["span",{"class":"sVt8B"},",\n"]],["span",{"class":"line","line":17},["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":18},["span",{"class":"sScJk"}," code"],["span",{"class":"sVt8B"},": {\n"]],["span",{"class":"line","line":19},["span",{"class":"sScJk"}," fontFamily"],["span",{"class":"sVt8B"},": "],["span",{"class":"sZZnC"},"'"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},"JetBrains Mono"],["span",{"class":"sj4cs"},"\\'"],["span",{"class":"sZZnC"},", monospace'"],["span",{"class":"sVt8B"},", "],["span",{"class":"sJ8bj"},"// Keep monospace for code\n"]],["span",{"class":"line","line":20},["span",{"class":"sVt8B"}," },\n"]],["span",{"class":"line","line":21},["span",{"class":"sVt8B"}," }\n"]],["span",{"class":"line","line":22},["span",{"class":"sVt8B"},"}\n"]]]],["h2",{"id":"best-practices"},"Best Practices"],["h3",{"id":"design-consistency"},"Design Consistency"],["ul",{},["li",{},"Maintain consistent component behavior across all themes"],["li",{},"Use semantic color names in components, not specific values"],["li",{},"Test all themes with your complete UI component library"],["li",{},"Ensure proper contrast ratios for accessibility"]],["h3",{"id":"performance-1"},"Performance"],["ul",{},["li",{},"Themes apply instantly without JavaScript overhead"],["li",{},"CSS-only switching provides optimal performance"],["li",{},"Minimal configuration data in JavaScript bundle"],["li",{},"Efficient localStorage usage"]],["h3",{"id":"accessibility"},"Accessibility"],["ul",{},["li",{},"All themes meet WCAG contrast requirements"],["li",{},"Respect user's system preferences when possible"],["li",{},"Provide clear visual feedback during theme switching"],["li",{},"Test with screen readers and keyboard navigation"],["li",{},"Support high contrast mode and reduced motion preferences"]],["h3",{"id":"user-experience"},"User Experience"],["ul",{},["li",{},"No flicker on page load or refresh"],["li",{},"Instant theme switching with visual feedback"],["li",{},"Persistent preferences across sessions"],["li",{},"Intuitive theme switcher with visual previews"],["li",{},"Graceful fallbacks for unsupported browsers"]],["h3",{"id":"development"},"Development"],["ul",{},["li",{},"Use the ",["code",{},"ColorScheme"]," component for SSR-safe theme-dependent content"],["li",{},"Test theme switching in both development and production builds"],["li",{},"Verify SSR compatibility with your deployment setup"],["li",{},"Monitor bundle size when adding new themes or fonts"]],["style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}"]],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"overview","depth":2,"text":"Overview"},{"id":"color-themes","depth":2,"text":"Color Themes","children":[{"id":"available-themes","depth":3,"text":"Available Themes"},{"id":"theme-configuration","depth":3,"text":"Theme Configuration"},{"id":"css-based-theme-system","depth":3,"text":"CSS-Based Theme System"},{"id":"color-system","depth":3,"text":"Color System"}]},{"id":"typography-system","depth":2,"text":"Typography System","children":[{"id":"available-fonts","depth":3,"text":"Available Fonts"},{"id":"typography-configuration","depth":3,"text":"Typography Configuration"},{"id":"typography-utility-classes","depth":3,"text":"Typography Utility Classes"}]},{"id":"ssr-safe-theme-system","depth":2,"text":"SSR-Safe Theme System","children":[{"id":"nuxt-color-mode-integration","depth":3,"text":"Nuxt Color Mode Integration"},{"id":"configuration","depth":3,"text":"Configuration"},{"id":"how-it-works","depth":3,"text":"How It Works"}]},{"id":"using-the-theme-system","depth":2,"text":"Using the Theme System","children":[{"id":"programmatic-usage","depth":3,"text":"Programmatic Usage"},{"id":"available-properties","depth":3,"text":"Available Properties"},{"id":"available-methods","depth":3,"text":"Available Methods"},{"id":"ssr-safe-components","depth":3,"text":"SSR-Safe Components"}]},{"id":"theme-switcher-component","depth":2,"text":"Theme Switcher Component","children":[{"id":"usage","depth":3,"text":"Usage"},{"id":"features","depth":3,"text":"Features"},{"id":"theme-indicators","depth":3,"text":"Theme Indicators"}]},{"id":"customizing-typography","depth":2,"text":"Customizing Typography","children":[{"id":"overriding-default-styles","depth":3,"text":"Overriding Default Styles"},{"id":"css-specificity","depth":3,"text":"CSS Specificity"}]},{"id":"implementation-details","depth":2,"text":"Implementation Details","children":[{"id":"css-class-management","depth":3,"text":"CSS Class Management"},{"id":"theme-detection","depth":3,"text":"Theme Detection"},{"id":"performance","depth":3,"text":"Performance"}]},{"id":"adding-new-themes","depth":2,"text":"Adding New Themes"},{"id":"adding-new-typography","depth":2,"text":"Adding New Typography"},{"id":"best-practices","depth":2,"text":"Best Practices","children":[{"id":"design-consistency","depth":3,"text":"Design Consistency"},{"id":"performance-1","depth":3,"text":"Performance"},{"id":"accessibility","depth":3,"text":"Accessibility"},{"id":"user-experience","depth":3,"text":"User Experience"},{"id":"development","depth":3,"text":"Development"}]}]}},"categoryDescription":null,"description":"Learn about theming","extension":"md","icon":"lucide-palette","meta":{},"name":null,"navigation":true,"order":3,"path":"/docs/theming","seo":{"title":"Theming","description":"Learn about theming"},"slug":null,"stem":"docs/theming","__hash__":"SAb-_6yWPPSG0enzl3Sqi755oDlWQ2ErfdAVidXWDHI"}}">
The application features a comprehensive theming system built on Nuxt Color Mode that provides SSR-safe theme switching without flicker. The system supports multiple color schemes, typography options, and automatic system preference detection.