Created
May 20, 2025 07:50
-
-
Save hitamu/f77d49a1e84eaa39948c3a46ae7d845b to your computer and use it in GitHub Desktop.
Neo Brutalism Theme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* filepath: /Users/thu_nx/workspace/tools/notes/neo-brutalism-theme.css */ | |
body { | |
/* Tag styling */ | |
--tag-border-color-hover: rgba(255, 105, 180, 1); | |
--tag-border-width: 3px; | |
--tag-padding-x: 0.8em; | |
--tag-padding-y: 0.3em; | |
--tag-radius: 0px; | |
/* Window frame */ | |
--titlebar-background: var(--background-secondary); | |
--titlebar-background-focused: var(--background-secondary-alt); | |
--titlebar-border-width: 4px; | |
--titlebar-border-color: var(--background-modifier-border); | |
--titlebar-text-color: var(--text-muted); | |
--titlebar-text-color-focused: var(--text-normal); | |
--titlebar-text-weight: var(--font-bold); | |
/* Toggles */ | |
--toggle-border-width: 3px; | |
--toggle-width: 45px; | |
--toggle-radius: 4px; | |
--toggle-thumb-color: #ffffff; | |
--toggle-thumb-radius: 2px; | |
--toggle-thumb-height: 20px; | |
--toggle-thumb-width: 20px; | |
--toggle-s-border-width: 3px; | |
--toggle-s-width: 38px; | |
--toggle-s-thumb-height: 17px; | |
--toggle-s-thumb-width: 17px; | |
/* Vault name */ | |
--vault-name-font-size: var(--font-ui-medium); | |
--vault-name-font-weight: var(--font-bold); | |
--vault-name-color: var(--text-normal); | |
/* Workspace */ | |
--workspace-background-translucent: rgba(var(--mono-rgb-0), 0.8); | |
/* Color mappings ------------------------ */ | |
/* Accent HSL values */ | |
--accent-h: var(--accent-h-theme); | |
--accent-s: var(--accent-s-theme); | |
--accent-l: var(--accent-l-theme); | |
/* Backgrounds */ | |
--background-primary: var(--color-base-00); | |
--background-primary-alt: var(--color-base-10); | |
--background-secondary: var(--color-base-20); | |
--background-modifier-hover: rgba(var(--rgb-hover), var(--background-modifier-hover-alpha)); | |
--background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.25); | |
--background-modifier-border: var(--color-base-30); | |
--background-modifier-border-hover: var(--color-base-35); | |
--background-modifier-border-focus: var(--color-accent); | |
--background-modifier-error-rgb: var(--color-red-rgb); | |
--background-modifier-error: var(--color-red); | |
--background-modifier-error-hover: var(--color-red); | |
--background-modifier-success-rgb: var(--color-green-rgb); | |
--background-modifier-success: var(--color-green); | |
--background-modifier-message: rgba(0, 0, 0, 0.9); | |
/* Inputs */ | |
--background-modifier-form-field: var(--color-base-25); | |
/* Text */ | |
--text-normal: var(--color-base-100); | |
--text-muted: var(--color-base-70); | |
--text-faint: var(--color-base-50); | |
--text-on-accent: white; | |
--text-on-accent-inverted: black; | |
--text-error: var(--color-red); | |
--text-success: var(--color-green); | |
--text-selection: hsla(var(--color-accent-hsl), 0.25); | |
--text-highlight-bg: rgba(255, 213, 0, 0.6); | |
--text-accent: var(--color-accent); | |
--text-accent-hover: var(--color-accent-2); | |
--interactive-normal: var(--color-base-00); | |
--interactive-hover: var(--color-base-10); | |
--interactive-accent-hsl: var(--color-accent-hsl); | |
--interactive-accent: var(--color-accent-1); | |
--interactive-accent-hover: var(--color-accent-2); | |
} | |
.theme-dark { | |
color-scheme: dark; | |
--highlight-mix-blend-mode: lighten; | |
--mono-rgb-0: 0, 0, 0; | |
--mono-rgb-100: 255, 255, 255; | |
--rgb-hover: 255, 105, 180; | |
/* Neo-brutalism color palette */ | |
--color-red-rgb: 255, 75, 75; | |
--color-red: #FF4B4B; | |
--color-green-rgb: 72, 240, 120; | |
--color-green: #48F078; | |
--color-orange: #FF914D; | |
--color-yellow: #FFDE59; | |
--color-cyan: #5CE1E6; | |
--color-blue: #5271FF; | |
--color-purple: #C04CFD; | |
--color-pink: #FF69B4; | |
/* Base colors */ | |
--color-base-00: #1C1C1C; | |
--color-base-10: #2A2A2A; | |
--color-base-20: #353535; | |
--color-base-25: #252525; | |
--color-base-30: #494949; | |
--color-base-35: #555555; | |
--color-base-40: #606060; | |
--color-base-50: #7F7F7F; | |
--color-base-60: #999999; | |
--color-base-70: #B5B5B5; | |
--color-base-100: #FFFFFF; | |
/* Accent colors */ | |
--accent-h-theme: 330; | |
--accent-s-theme: 100%; | |
--accent-l-theme: 70%; | |
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l); | |
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); | |
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%)); | |
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%)); | |
/* Other theme variables */ | |
--background-secondary-alt: var(--color-base-25); | |
--background-modifier-box-shadow: rgba(0, 0, 0, 0.5); | |
--background-modifier-cover: rgba(10, 10, 10, 0.4); | |
--text-highlight-bg-active: rgba(255, 145, 77, 0.6); | |
--text-selection: hsla(var(--interactive-accent-hsl), 0.5); | |
--input-shadow: inset 0 0 0 3px #494949; | |
--input-shadow-hover: inset 0 0 0 3px var(--color-base-70); | |
--shadow-s: 5px 5px 0px #000000; | |
--shadow-l: 8px 8px 0px #000000; | |
/* Code blocks */ | |
--inline-code-background: rgba(255, 105, 180, 0.2); | |
/* Headers */ | |
--h-color-theme: var(--color-yellow); | |
--h1-color-theme: var(--color-yellow); | |
--h2-color-theme: var(--color-green); | |
--h3-color-theme: var(--color-cyan); | |
--h4-color-theme: var(--color-blue); | |
--h5-color-theme: var(--color-purple); | |
--h6-color-theme: var(--color-pink); | |
/* UI */ | |
--background-modifier-hover-alpha: 0.2; | |
--color-btn-primary-bg: var(--color-pink); | |
--color-btn-primary-hover-bg: #FF8AC4; | |
/* Kanban colors */ | |
--kanban-background: var(--background-primary); | |
--kanban-lane-background: var(--background-secondary-alt); | |
--kanban-item-background: var(--background-primary-alt); | |
--kanban-lane-border: #494949; | |
--kanban-lane-count: #494949; | |
--kanban-options-btn: var(--color-base-30); | |
} | |
.theme-light { | |
color-scheme: light; | |
--highlight-mix-blend-mode: darken; | |
--mono-rgb-0: 255, 255, 255; | |
--mono-rgb-100: 0, 0, 0; | |
--rgb-hover: 255, 105, 180; | |
/* Neo-brutalism color palette */ | |
--color-red-rgb: 235, 50, 50; | |
--color-red: #EB3232; | |
--color-green-rgb: 39, 203, 88; | |
--color-green: #27CB58; | |
--color-orange: #FF7433; | |
--color-yellow: #FFCD29; | |
--color-cyan: #33C7CC; | |
--color-blue: #3557EB; | |
--color-purple: #A029F0; | |
--color-pink: #FF4299; | |
/* Base colors */ | |
--color-base-00: #FFFFFF; | |
--color-base-05: #FCFCFC; | |
--color-base-10: #F2F2F2; | |
--color-base-20: #E6E6E6; | |
--color-base-25: #EEEEEE; | |
--color-base-30: #DADADA; | |
--color-base-35: #CCCCCC; | |
--color-base-40: #BBBBBB; | |
--color-base-50: #989898; | |
--color-base-60: #707070; | |
--color-base-70: #505050; | |
--color-base-100: #121212; | |
/* Accent colors */ | |
--accent-h-theme: 330; | |
--accent-s-theme: 100%; | |
--accent-l-theme: 60%; | |
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l); | |
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); | |
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 5%)); | |
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 10%)); | |
/* Other theme variables */ | |
--background-secondary-alt: var(--color-base-05); | |
--background-modifier-box-shadow: rgba(0, 0, 0, 0.3); | |
--background-modifier-cover: rgba(220, 220, 220, 0.4); | |
--text-highlight-bg-active: rgba(255, 116, 51, 0.6); | |
--input-shadow: inset 0 0 0 3px #DADADA; | |
--input-shadow-hover: inset 0 0 0 3px #BBBBBB; | |
--shadow-s: 5px 5px 0px #000000; | |
--shadow-l: 8px 8px 0px #000000; | |
/* Code blocks */ | |
--inline-code-background: rgba(255, 105, 180, 0.15); | |
/* Headers */ | |
--h-color-theme: var(--color-pink); | |
--h1-color-theme: var(--color-pink); | |
--h2-color-theme: var(--color-purple); | |
--h3-color-theme: var(--color-blue); | |
--h4-color-theme: var(--color-cyan); | |
--h5-color-theme: var(--color-green); | |
--h6-color-theme: var(--color-orange); | |
/* UI */ | |
--background-modifier-hover-alpha: 0.32; | |
--color-btn-primary-bg: var(--color-pink); | |
--color-btn-primary-hover-bg: #FF69B4; | |
/* Kanban colors */ | |
--kanban-background: var(--background-primary); | |
--kanban-lane-background: var(--background-primary-alt); | |
--kanban-item-background: var(--background-primary); | |
--kanban-lane-border: #DADADA; | |
--kanban-lane-count: #DADADA; | |
--kanban-options-btn: var(--background-primary-alt); | |
} | |
/* Tables */ | |
.markdown-rendered td, | |
.markdown-rendered th { | |
padding: var(--size-2-3) var(--size-4-3); | |
border: 3px solid var(--color-base-30); | |
} | |
.markdown-rendered th { | |
text-align: center; | |
background-color: var(--color-pink); | |
color: white; | |
font-weight: bold; | |
} | |
.markdown-rendered tbody tr:nth-child(2n) { | |
background-color: var(--background-secondary); | |
} | |
/* Buttons */ | |
button { | |
border: 3px solid #000; | |
border-radius: 0; | |
transition: transform 0.1s ease, box-shadow 0.1s ease; | |
box-shadow: var(--shadow-s); | |
font-weight: bold; | |
} | |
button:hover { | |
cursor: var(--cursor-link); | |
transform: translate(-2px, -2px); | |
box-shadow: 7px 7px 0px #000000; | |
} | |
button.mod-cta { | |
background-color: var(--color-btn-primary-bg); | |
color: var(--text-on-accent); | |
border: 3px solid #000; | |
padding: 6px 12px; | |
} | |
button.mod-cta:hover { | |
background-color: var(--color-btn-primary-hover-bg); | |
} | |
button:active, button.mod-cta:active { | |
transform: translate(2px, 2px); | |
box-shadow: 3px 3px 0px #000000; | |
} | |
/* Callout */ | |
body.callout-on { | |
--callout-radius: 0; | |
--callout-border-width: 3px; | |
--callout-padding: 0 1em; | |
} | |
body.callout-on .callout { | |
border: 3px solid var(--color-base-30); | |
background-color: rgba(var(--rgb-hover), 0.07); | |
box-shadow: var(--shadow-s); | |
} | |
body.callout-on .callout-content p { | |
margin: 0.3em 0; | |
} | |
/* Headers */ | |
body.headers-one-color { | |
--h1-color: var(--h-color-theme); | |
--h2-color: var(--h-color-theme); | |
--h3-color: var(--h-color-theme); | |
--h4-color: var(--h-color-theme); | |
--h5-color: var(--h-color-theme); | |
--h6-color: var(--h-color-theme); | |
} | |
h1, h2, h3, h4, h5, h6 { | |
font-weight: bold; | |
letter-spacing: -0.02em; | |
} | |
/* Kanban-common */ | |
.kanban-plugin { | |
--lane-width: 348px; | |
} | |
.kanban-plugin__lane { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
box-shadow: var(--shadow-s); | |
} | |
.kanban-plugin__item { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
box-shadow: 4px 4px 0 #000; | |
margin-bottom: 15px !important; | |
} | |
.kanban-plugin__item:hover { | |
transform: translate(-2px, -2px); | |
box-shadow: 6px 6px 0 #000; | |
transition: transform 0.1s ease, box-shadow 0.1s ease; | |
} | |
.kanban-plugin__lane-header-wrapper { | |
background-color: var(--color-pink) !important; | |
color: white !important; | |
border-bottom: 3px solid #000 !important; | |
} | |
body.theme-light .kanban-plugin__lane-items>div { | |
box-shadow: 4px 4px 0 #000; | |
} | |
/* Inputs and form elements */ | |
input[type='text'], | |
input[type='search'], | |
input[type='email'], | |
input[type='password'], | |
input[type='number'], | |
textarea { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2); | |
padding: 8px; | |
} | |
input[type='text']:focus, | |
input[type='search']:focus, | |
input[type='email']:focus, | |
input[type='password']:focus, | |
input[type='number']:focus, | |
textarea:focus-visible, | |
input[type='text']:focus-visible, | |
input[type='search']:focus-visible, | |
input[type='email']:focus-visible, | |
input[type='password']:focus-visible, | |
input[type='number']:focus-visible { | |
box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3); | |
transform: translate(-2px, -2px); | |
transition: transform 0.1s ease, box-shadow 0.1s ease; | |
} | |
select, .dropdown { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2); | |
} | |
select:focus, .dropdown:focus { | |
box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3); | |
transform: translate(-2px, -2px); | |
transition: transform 0.1s ease, box-shadow 0.1s ease; | |
} | |
/* Checkboxes */ | |
input[type="checkbox"] { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
} | |
/* Inline code block */ | |
.markdown-rendered :not(pre) > code { | |
background-color: var(--inline-code-background); | |
padding: 0.2em 0.4em; | |
border-radius: 0; | |
border: 2px solid #000; | |
color: var(--text-normal); | |
font-weight: bold; | |
} | |
/* Code blocks */ | |
pre { | |
border: 3px solid #000 !important; | |
border-radius: 0 !important; | |
box-shadow: var(--shadow-s); | |
} | |
/* Links */ | |
a { | |
color: var(--color-pink); | |
font-weight: 600; | |
text-decoration: none; | |
background-image: linear-gradient(transparent 0%, transparent calc(50% - 3px), rgba(255, 105, 180, 0.35) calc(50% - 3px), rgba(255, 105, 180, 0.35) 100%); | |
background-size: 100% 200%; | |
background-position: 0 0; | |
transition: background-position 120ms ease; | |
} | |
a:hover { | |
text-decoration: none; | |
background-position: 0 100%; | |
} | |
/* Tabs */ | |
.workspace-tab-header { | |
border: 2px solid #000; | |
border-radius: 0; | |
font-weight: bold; | |
margin-right: 5px; | |
} | |
.workspace-tab-header.is-active { | |
background-color: var(--color-pink); | |
color: white; | |
} | |
.workspace-tab-header:hover { | |
background-color: var(--color-base-10); | |
transform: translateY(-2px); | |
transition: transform 0.1s ease; | |
} | |
/* Sidebar items */ | |
.nav-file, .nav-folder { | |
border-left: 3px solid transparent; | |
transition: border-left 0.1s ease, background-color 0.1s ease; | |
} | |
.nav-file:hover, .nav-folder:hover { | |
border-left: 3px solid var(--color-pink); | |
background-color: var(--background-modifier-hover); | |
} | |
.nav-file-title.is-active, .nav-folder-title.is-active { | |
background-color: rgba(var(--rgb-hover), 0.2); | |
border-left: 3px solid var(--color-pink); | |
font-weight: bold; | |
} | |
/* Tags */ | |
a.tag { | |
background-color: rgba(var(--rgb-hover), 0.1); | |
border: 2px solid var(--color-pink); | |
border-radius: 0; | |
color: var(--text-normal); | |
font-weight: bold; | |
padding: 2px 6px; | |
transition: background-color 0.1s ease, transform 0.1s ease; | |
} | |
a.tag:hover { | |
background-color: rgba(var(--rgb-hover), 0.2); | |
transform: translateY(-2px); | |
} | |
/* Underline for the top level headers */ | |
body.h1-underline h1, body.h1-underline.markdown-rendered h1 { | |
padding-bottom: .3em; | |
border-bottom: 3px solid var(--color-base-40); | |
} | |
body.h2-underline h2, body.h2-underline.markdown-rendered h2 { | |
padding-bottom: .3em; | |
border-bottom: 3px solid var(--color-base-40); | |
} | |
/* Scrollbars */ | |
::-webkit-scrollbar { | |
width: 16px; | |
} | |
::-webkit-scrollbar-track { | |
background-color: var(--background-primary); | |
border: 2px solid var(--color-base-30); | |
} | |
::-webkit-scrollbar-thumb { | |
background-color: var(--color-pink); | |
border: 2px solid #000; | |
border-radius: 0; | |
} | |
::-webkit-scrollbar-thumb:hover { | |
background-color: var(--color-btn-primary-hover-bg); | |
} | |
/* Modals and Popups */ | |
.modal { | |
border: 3px solid #000; | |
border-radius: 0; | |
box-shadow: var(--shadow-l); | |
} | |
.modal-bg { | |
backdrop-filter: blur(5px); | |
} | |
.modal-title { | |
background-color: var(--color-pink); | |
color: white; | |
font-weight: bold; | |
border-bottom: 3px solid #000; | |
} | |
.suggestion-container { | |
border: 3px solid #000; | |
border-radius: 0; | |
box-shadow: var(--shadow-s); | |
} | |
/* Status bar */ | |
.status-bar { | |
background-color: var(--color-base-20); | |
border-top: 3px solid #000; | |
font-weight: bold; | |
} | |
/* Lists */ | |
ul li::marker { | |
color: var(--color-pink); | |
} | |
ol li::marker { | |
color: var(--color-pink); | |
font-weight: bold; | |
} | |
/* Blockquotes */ | |
blockquote { | |
border-left: 5px solid var(--color-pink); | |
background-color: rgba(var(--rgb-hover), 0.1); | |
padding: 1em; | |
margin: 1em 0; | |
box-shadow: var(--shadow-s); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment