-
-
Save jdsimcoe/a8ddd70ef0368c7d888ea0d3a90cbcaf to your computer and use it in GitHub Desktop.
Roam Midnight — A clean, automatic dark/light theme for Roam Research.
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
:root { | |
--font-sans: 'Inter', 'Inter var', sans-serif; | |
--font-mono: ui-monospace, 'IBM Plex Mono', "JetBrains Mono", monospace; | |
--subtle-border-color: rgba(0, 0, 0, 0.07); | |
--cards-background-color: #ffffff; | |
--secondary-background-color: hsl(210, 9%, 95%); | |
} | |
body, input, textarea, select, button, div { | |
font-family: var(--font-sans) !important; | |
} | |
.intercom-launcher, | |
#intercom-frame, | |
#intercom-container, | |
.intercom-lightweight-app, | |
#roam-sidebar-logo, | |
#app div div div div div.flex-v-box.starred-pages-wrapper div.flex-h-box { | |
display: none !important; | |
} | |
span sub, | |
span code, | |
code, pre, q, tt { | |
font-size: 14px !important; | |
font-family: var(--font-mono) !important; | |
} | |
.CodeMirror, | |
.CodeMirror * { | |
font-size: 14px !important; | |
font-family: var(--font-mono) !important; | |
} | |
.roam-body .roam-app .roam-main .roam-article .roam-log-container, | |
#rm-log-container, | |
.roam-center > div:first-child { | |
padding-right: 0 !important; | |
padding-left: 0 !important; | |
} | |
.zoom-path-view { | |
margin-top: 8px !important; | |
} | |
.roam-body .roam-app .roam-main .roam-article { | |
padding: 0 0 120px 0 !important; | |
} | |
.roam-article .rm-reference-main, | |
.roam-article > div:first-child { | |
padding-left: 42px !important; | |
padding-right: 42px !important; | |
} | |
/* | |
.roam-body .roam-app .roam-main .roam-article { | |
padding-left: 42px !important; | |
padding-right: 42px !important; | |
} | |
*/ | |
.roam-log-container .roam-log-page { | |
padding-right: clamp(42px, 200px, 10%) !important; | |
padding-left: clamp(42px, 200px, 10%) !important; | |
} | |
.roam-article .roam-log-container .rm-reference-main { | |
padding-left: 0 !important; | |
padding-right: 0 !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container { | |
border-right: 1px solid #202B33 !important; | |
} | |
.starred-pages-wrapper { | |
border-top: 1px solid #202B33 !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container .roam-sidebar-content .starred-pages-wrapper { | |
margin-top: 16px !important; | |
} | |
span sub + button { | |
position: relative; | |
top: 4px; | |
font-family: var(--font-mono) !important; | |
background: #ffffff !important; | |
margin-left: 5px !important; | |
padding: 0 8px !important; | |
border: 1px solid rgba(0,0,0,0.5) !important; | |
border-radius: 4px !important; | |
} | |
span sub + button:before { | |
content: "toggle" !important; | |
padding: 0 !important; | |
font-family: var(--font-mono) !important; | |
font-size: 10px !important; | |
text-transform: uppercase !important; | |
} | |
.bp3-button sub { | |
font-family: var(--font-mono) !important; | |
color: #9099a1 !important; | |
margin: 0 5px !important; | |
} | |
#block-input-ghost > span[style] { | |
color: #9099a1 !important; | |
} | |
.rm-level1 { | |
position:relative; | |
top: -8px; | |
} | |
.rm-level2 { | |
position:relative; | |
top: -3px; | |
} | |
.rm-level1 span.checkmark { | |
top: -4px; | |
} | |
.rm-title-editing-display textarea[style] { | |
margin-top: -20px !important; | |
margin-bottom: 10px !important; | |
} | |
.rm-page-ref--tag { | |
background: rgb(16,107,163, 0.25) !important; | |
color: hsl(206,23%,13%) !important; | |
border-radius: 20px !important; | |
padding: 2px 8px !important; | |
} | |
.rm-page-ref--tag:hover { | |
text-decoration: none !important; | |
background: rgb(16,107,163, 0.5) !important; | |
color: #000000 !important; | |
} | |
.rm-reference-item { | |
margin-bottom: 1rem !important; | |
padding: 18px 6px !important; | |
border: 1px solid #CDD8E0 !important; | |
} | |
.block-highlight-blue { | |
background-color: rgba(124,204,255,0.5) !important; | |
} | |
.roam-block-container { | |
border-radius: 0 !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container .roam-sidebar-content .rm-db-title .icon { | |
border: none !important; | |
height: 20px !important; | |
width: 20px !important; | |
} | |
.roam-sidebar-container .rm-db-title-container .rm-db-title { | |
padding-left: 0.2rem !important; | |
padding-right: 0.5rem !important; | |
} | |
.roam-log-container .roam-log-page:first-child { | |
border: none !important; | |
} | |
.roam-log-container .roam-log-page { | |
border-top: 1px solid rgba(205,216,224,0.5) !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container .roam-sidebar-content .starred-pages-wrapper .shortcut { | |
padding-left: 20px; | |
} | |
#roam-right-sidebar-content .level2, | |
.level2 { | |
font-family: var(--font-sans) !important; | |
font-size: 24px !important; | |
font-weight: 450 !important; | |
} | |
.h1, h1 { | |
font-size: 28px !important; | |
font-weight: 600 !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container .roam-sidebar-content .starred-pages-wrapper { | |
padding: 0 !important; | |
margin-top: 8px !important; | |
} | |
.roam-body .roam-app .roam-sidebar-container .roam-sidebar-content .log-button { | |
color: hsl(207,16%,73%) !important; | |
} | |
.starred-pages-wrapper div[style]:first-child { | |
opacity: 0.25 !important; | |
} | |
.starred-pages a .page { | |
padding: 8px 20px 8px 20px !important; | |
} | |
iframe { border: none !important; } | |
.roam-topbar { | |
background: transparent !important; | |
} | |
.roam-sidebar-container .bp3-popover-target .bp3-button.bp3-minimal .bp3-icon { | |
border: none !important; | |
height: 28px !important; | |
width: 28px !important; | |
box-shadow: 0 0 3px rgba(0,0,0,0.25) !important; | |
} | |
#buffer { | |
background-color: transparent !important; | |
right: 15px !important; | |
bottom: 15px !important; | |
} | |
#buffer > div { | |
background: #0C1013 !important; | |
box-shadow: 0 2px 14px rgba(0,0,0,0.75) !important; | |
} | |
.bp3-icon-help { color: transparent !important; } | |
.bp3-button.bp3-minimal:hover { background: transparent !important; } | |
.zoom-path-view .rm-zoom-mask { | |
background: none !important; | |
color: #ffffff !important; | |
} | |
.roam-log-preview .level2 + div { | |
font-family: var(--font-mono) !important; | |
padding-top: 1rem !important; | |
} | |
.roam-sidebar-container .rm-db-title-container:hover { | |
border-radius: 3px !important; | |
background: none !important; | |
} | |
.starred-pages-wrapper { | |
border-top: none !important; | |
} | |
#block-input-ghost { | |
opacity: 0.33 !important; | |
} | |
div#roam-right-sidebar-content span > a:not(.rm-alias-page):after, | |
div.roam-article span > a:not(.rm-alias-page):after { | |
content: ""; | |
display: inline-block; | |
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZyBmaWxsPSIjMzM3QUI3Ij48cGF0aCBkPSJNNiAxMmwxLjA2NTgxZS0xNCAxLjUwOTk2ZS0wN2M4LjMzOTI3ZS0wOC41NTIyODUuNDQ3NzE1IDEgMSAxaDkuNWwtNC4zNzExNGUtMDgtMS43NzYzNmUtMTVjLjU1MjI4NSAyLjQxNDExZS0wOCAxLS40NDc3MTUgMS0xIDIuNDE0MTFlLTA4LS41NTIyODUtLjQ0NzcxNS0xLTEtMWgtOS41bC00LjM3MTE0ZS0wOCAzLjU1MjcxZS0xNWMtLjU1MjI4NSAyLjQxNDExZS0wOC0xIC40NDc3MTUtMSAxIDAgMCAwIDguODgxNzhlLTE1IDAgOC44ODE3OGUtMTVaIj48L3BhdGg+PHBhdGggZD0iTTguMiAxNC43MjJsMS4wMDg3OWUtMDctOC4yMjU5MWUtMDhjLS42MjEwMzguNTA2NDA2LTEuMzk4NjcuNzgxNDA3LTIuMi43NzhsLTEuNTI5OWUtMDctMy41NTI3MWUtMTVjLTEuOTMzLTguNDQ5NGUtMDgtMy41LTEuNTY3LTMuNS0zLjUgOC40NDk0ZS0wOC0xLjkzMyAxLjU2Ny0zLjUgMy41LTMuNWwxLjM2NDc3ZS0wNy01LjAzNzkzZS0xMGMuODAxNDIxLS4wMDI5NTgzNSAxLjU3OTAyLjI3MjM4MSAyLjIuNzc5bC0zLjY2NDA2ZS0wOC0yLjk2MDQzZS0wOGMuNDI5OTU0LjM0NzM4NyAxLjA2MDExLjI4MDQ1MyAxLjQwNzUtLjE0OTUgLjM0NzM4Ny0uNDI5OTU0LjI4MDQ1My0xLjA2MDExLS4xNDk1LTEuNDA3NWw4LjE3MTUxZS0wOCA2LjYwMjcxZS0wOGMtMi4zNjI2Ny0xLjkwOTA4LTUuODI1NjEtMS41NDEzNy03LjczNDY5LjgyMTMwOCAtMS45MDkwOCAyLjM2MjY3LTEuNTQxMzcgNS44MjU2MS44MjEzMDggNy43MzQ2OSAyLjAxNjQ2IDEuNjI5MzMgNC44OTY5MiAxLjYyOTMzIDYuOTEzMzggMS4zMjA1NGUtMDdsLTEuNTM0OThlLTA4IDEuMjQxMDFlLTA4Yy40Mjk2NzgtLjM0NzM4Ny40OTYzODctLjk3NzMyMi4xNDktMS40MDcgLS4zNDczODctLjQyOTY3OC0uOTc3MzIyLS40OTYzODctMS40MDctLjE0OVoiPjwvcGF0aD48cGF0aCBkPSJNMTggNi41bC04LjUxNDdlLTA4IDEuMDI1NTFlLTEwYy0xLjI1ODM5LjAwMTUxNTYyLTIuNDc4NDcuNDMzMDI2LTMuNDU4IDEuMjIzbC0xLjExOTYzZS0wOSA5LjA1NzgzZS0xMGMtLjQyOTQwMS4zNDczODctLjQ5NTg4Ny45NzcwOTktLjE0ODUgMS40MDY1IC4zNDczODcuNDI5NDAxLjk3NzA5OS40OTU4ODcgMS40MDY1LjE0ODVsMS4xMTc2OGUtMDgtOS4xMDk5NWUtMDljLjYyMTEyLS41MDYyNTkgMS4zOTg3LS43ODEyNDEgMi4yLS43NzhsLTEuNTI5OWUtMDcgMy41NTI3MWUtMTVjMS45MzMtOC40NDk0ZS0wOCAzLjUgMS41NjcgMy41IDMuNSA4LjQ0OTRlLTA4IDEuOTMzLTEuNTY3IDMuNS0zLjUgMy41bC0xLjY3NDk0ZS0wNyA3LjcxMThlLTEwYy0uODAxMjAzLjAwMzY4ODkxLTEuNTc4ODMtLjI3MDk1My0yLjItLjc3N2w1LjIzNjA2ZS0wOCA0LjIzMzI2ZS0wOGMtLjQyOTY3OC0uMzQ3Mzg3LTEuMDU5NjEtLjI4MDY3OC0xLjQwNy4xNDkgLS4zNDczODcuNDI5Njc4LS4yODA2NzggMS4wNTk2MS4xNDkgMS40MDdsMS41NDU4OGUtMDcgMS4yNDgzNmUtMDdjMi4zNjMyMyAxLjkwODM5IDUuODI2MDYgMS41Mzk2OCA3LjczNDQ1LS44MjM1NDggMS45MDgzOS0yLjM2MzIzIDEuNTM5NjgtNS44MjYwNi0uODIzNTQ4LTcuNzM0NDUgLS45Nzc2ODEtLjc4OTUxNC0yLjE5NjI1LTEuMjIwNDItMy40NTI5MS0xLjIyMVoiPjwvcGF0aD48L2c+PC9zdmc+); | |
transform: rotate(-45deg); | |
background-size: 15px 15px; | |
width: 15px; | |
height: 15px; | |
margin: 0 2px 0 3px; | |
position: relative; | |
bottom: -2px; | |
left: -1px; } | |
div.roam-article .rm-level1 span > a:not(.rm-alias-page):after { | |
background-size: 20px 20px; | |
width: 20px; | |
height: 20px; } | |
div.roam-article .rm-level2 span > a:not(.rm-alias-page):after { | |
background-size: 18px 18px; | |
width: 18px; | |
height: 18px; } | |
div.roam-article .rm-level3 span > a:not(.rm-alias-page):after { | |
background-size: 16px 16px; | |
width: 16px; | |
height: 16px; } | |
.kanban-board { | |
max-width: 100% !important; | |
padding: 0 !important; | |
background: none !important; | |
} | |
.kanban-board .kanban-column { | |
border-radius: 6px !important; | |
padding: 0 !important; | |
margin: 0 !important; | |
} | |
.kanban-board .kanban-column:not([style*=background]) { | |
background: transparent !important; | |
} | |
.kanban-board .kanban-column[style*=background] { | |
background: var(--secondary-background-color) !important; | |
} | |
.kanban-board .kanban-column .kanban-title { | |
text-align: left !important; | |
border-bottom: 1px solid var(--subtle-border-color) !important; | |
padding: 2px 8px !important; | |
min-height: 31px; | |
max-height: 31px; | |
font-size: 14px !important; | |
white-space: nowrap; | |
overflow: hidden; | |
text-overflow: ellipsis; | |
} | |
.kanban-board .kanban-column .kanban-card { | |
background: var(--cards-background-color) !important; | |
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.7), 0px 4px 7px -1px rgba(0, 0, 0, 0.07) !important; | |
border-radius: 4px !important; | |
padding: 6px 10px !important; | |
margin: 0px 6px 12px !important; | |
font-size: 14px !important; | |
} | |
.kanban-board .kanban-column .kanban-card .check-container { | |
margin-bottom: 8px !important; | |
} | |
.rm-bullet--numbered { | |
margin-right: 10px !important; | |
padding-right: 10px !important; | |
padding-left: 0 !important; | |
} | |
@media (prefers-color-scheme: dark) { | |
:root { | |
background-color: hsl(206,23%,13%); | |
--subtle-border-color: rgba(255, 255, 255, 0.07); | |
--cards-background-color: #202B33; | |
--secondary-background-color: hsl(206,23%,94%); | |
} | |
body { | |
background: #0D1013 !important; | |
} | |
.roam-app { | |
background-color: hsl(206,23%,94%) !important; | |
border-top: 1px solid #CDD8E0 !important; | |
} | |
.rm-search-path { | |
background-color: hsl(206,23%,13%) !important; | |
color: hsl(206,23%,94%) !important; | |
border: 1px solid hsl(205,23%,16%) !important; | |
} | |
.bp3-portal .bp3-menu { | |
border: 1px solid #CDD8E0 !important; | |
} | |
#buffer > div, | |
.bp3-portal .bp3-popover-content { | |
background: hsl(210,22%,6%) !important; | |
} | |
.rm-block-main .bp3-button, | |
.rm-search-path-query-input, | |
.rm-query, | |
code, | |
.bp3-portal .bp3-menu, | |
.roam-block, | |
.roam-article textarea, | |
.roam-app, | |
#buffer > div, | |
.CodeMirror, | |
.roam-sidebar-container, | |
.rm-db-title-container .bp3-popover { | |
filter: invert(1) hue-rotate(180deg) !important; | |
} | |
.bp3-menu .bp3-menu { | |
filter: invert(0) hue-rotate(0deg) !important; | |
} | |
.rm-highlight { | |
background-color: #AC9513 !important; | |
} | |
.block-border-left { | |
border-left: 1px solid #CDD8E0 !important; | |
} | |
.parent-path-wrapper .rm-page-ref--tag, | |
.rm-reference-item .parent-path-wrapper .rm-page-ref--tag, | |
.rm-reference-item .rm-page-ref--tag { | |
color: hsl(206,23%,13%) !important; | |
} | |
.rm-reference-item .rm-page-ref--tag, | |
.rm-page-ref--tag, | |
.rm-page-ref--tag:hover { | |
color: #CDD8E0 !important; | |
} | |
.rm-reference-main .rm-reference-container div[style], | |
.rm-reference-main .flex-h-box strong[style] { | |
color: rgba(92,112,128,0.5) !important; | |
} | |
#right-sidebar { | |
border-left: 1px solid #cdd8e0 !important; | |
border-right: 1px solid #cdd8e0 !important; | |
border-bottom: 1px solid #cdd8e0 !important; | |
} | |
#right-sidebar, | |
.rm-reference-item { | |
background-color: #ffffff !important; | |
} | |
.rm-block-ref:hover { | |
background-color: #000000 !important; | |
} | |
#roam-right-sidebar-content > .sidebar-content > div > div[style] { | |
border-color: #cdd8e0 !important; | |
} | |
.roam-article textarea, | |
.roam-block { | |
color: #CDD8E0 !important; | |
} | |
.roam-block blockquote { | |
background-color: hsl(206,23%,3%) !important; | |
margin-block-end: 0 !important; | |
} | |
.roam-block .rm-paren { | |
background-color: hsl(206,23%,3%) !important; | |
border: 2px solid hsl(206,23%,13%) !important; | |
} | |
.roam-topbar .bp3-popover, | |
.bp3-input, | |
.bp3-elevation-3 { | |
border: 1px solid #CDD8E0 !important; | |
outline: none !important; | |
box-shadow: none !important; | |
} | |
.bp3-popover-content > .bp3-menu > div[style] { | |
color: hsl(206,23%,13%) !important; | |
} | |
.roam-article .bp3-button .bp3-button-text { | |
color: #ffffff !important; | |
} | |
.roam-log-container .roam-log-preview:hover { | |
background-color: rgba(255,255,255,0.5); | |
} | |
.roam-log-container .roam-log-page { | |
border-top: 1px solid #CDD8E0 !important; | |
} | |
span sub + button { | |
background: #000000 !important; | |
border: 1px solid hsl(206,23%,13%) !important; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment