339 lines
7.0 KiB
CSS
339 lines
7.0 KiB
CSS
@import './colors.css';
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
button,
|
|
input,
|
|
select,
|
|
textarea,
|
|
a {
|
|
/* Make all interactive elements not act as handles
|
|
* to drag the electron app window by default,
|
|
* per the electron docs: https://www.electronjs.org/docs/latest/tutorial/window-customization#set-custom-draggable-region
|
|
*/
|
|
-webkit-app-region: no-drag;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
@apply font-sans;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
@apply text-chalkboard-110;
|
|
overflow: hidden;
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--color-chalkboard-20) var(--color-chalkboard-40);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
@apply font-display;
|
|
}
|
|
|
|
.body-bg {
|
|
@apply bg-chalkboard-10;
|
|
}
|
|
|
|
.body-bg.dark,
|
|
.dark .body-bg {
|
|
@apply bg-chalkboard-100;
|
|
}
|
|
|
|
body.dark {
|
|
scrollbar-color: var(--color-chalkboard-70) var(--color-chalkboard-90);
|
|
@apply text-chalkboard-10;
|
|
}
|
|
|
|
select {
|
|
@apply bg-chalkboard-20;
|
|
}
|
|
|
|
.dark select {
|
|
@apply bg-chalkboard-90;
|
|
}
|
|
|
|
/* We hide the cursor if the user has turned off the textEditor.blinkingCursor setting
|
|
* any elements that could present a blinking cursor to the user
|
|
*/
|
|
input,
|
|
textarea,
|
|
*[contenteditable] {
|
|
caret-color: var(--cursor-color, auto);
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
@apply w-2 h-2 rounded-sm;
|
|
@apply bg-chalkboard-20;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
@apply bg-chalkboard-40 rounded-sm;
|
|
}
|
|
|
|
.dark ::-webkit-scrollbar {
|
|
@apply bg-chalkboard-90;
|
|
}
|
|
|
|
.dark ::-webkit-scrollbar-thumb {
|
|
@apply bg-chalkboard-70;
|
|
}
|
|
|
|
button {
|
|
@apply border border-chalkboard-30 m-0.5 px-3 rounded text-xs;
|
|
@apply focus-visible:outline-chalkboard-100;
|
|
}
|
|
|
|
button:hover {
|
|
@apply border-chalkboard-40 bg-primary/5;
|
|
}
|
|
|
|
.dark button {
|
|
@apply border-chalkboard-70 focus-visible:outline-chalkboard-10;
|
|
}
|
|
|
|
.dark button:hover {
|
|
@apply border-chalkboard-60;
|
|
}
|
|
|
|
button:disabled {
|
|
@apply cursor-not-allowed bg-chalkboard-20/50 text-chalkboard-60 border-chalkboard-20;
|
|
}
|
|
|
|
.dark button:disabled {
|
|
@apply bg-chalkboard-90 text-chalkboard-40 border-chalkboard-70;
|
|
}
|
|
|
|
a {
|
|
@apply text-primary hover:hue-rotate-15;
|
|
}
|
|
|
|
.dark a {
|
|
@apply hover:brightness-110 hover:hue-rotate-0;
|
|
}
|
|
|
|
a.action-button,
|
|
.dark a.action-button {
|
|
@apply text-inherit no-underline hover:hue-rotate-0;
|
|
}
|
|
|
|
input {
|
|
@apply selection:bg-primary/50;
|
|
}
|
|
|
|
.dark input {
|
|
@apply selection:bg-primary/40;
|
|
}
|
|
|
|
.mono {
|
|
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
monospace;
|
|
}
|
|
|
|
code {
|
|
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
monospace;
|
|
}
|
|
|
|
/*
|
|
* The first descendent of the CodeMirror wrapper is the theme,
|
|
* but its identifying class can change depending on the theme.
|
|
*/
|
|
#code-mirror-override > div,
|
|
#code-mirror-override .cm-editor {
|
|
@apply bg-transparent h-full;
|
|
@apply select-auto;
|
|
}
|
|
|
|
#code-mirror-override .cm-scroller {
|
|
overflow: auto;
|
|
}
|
|
|
|
#code-mirror-override .cm-gutter {
|
|
@apply select-none;
|
|
}
|
|
|
|
#code-mirror-override .cm-activeLine,
|
|
#code-mirror-override .cm-activeLineGutter {
|
|
@apply bg-primary/5;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-activeLine,
|
|
.dark #code-mirror-override .cm-activeLineGutter {
|
|
@apply bg-chalkboard-70/20;
|
|
mix-blend-mode: lighten;
|
|
}
|
|
|
|
#code-mirror-override .cm-focused .cm-activeLine,
|
|
#code-mirror-override .cm-focused .cm-activeLineGutter {
|
|
@apply bg-primary/10;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-focused .cm-activeLine,
|
|
.dark #code-mirror-override .cm-focused .cm-activeLineGutter {
|
|
@apply bg-chalkboard-70/40;
|
|
}
|
|
|
|
#code-mirror-override .cm-matchingBracket {
|
|
@apply bg-primary/20;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-matchingBracket {
|
|
@apply bg-chalkboard-70/60;
|
|
}
|
|
|
|
#code-mirror-override .cm-gutters {
|
|
@apply bg-chalkboard-10/30;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-gutters {
|
|
@apply bg-chalkboard-110/50;
|
|
}
|
|
|
|
#code-mirror-override .cm-content {
|
|
@apply caret-primary;
|
|
}
|
|
.dark #code-mirror-override .cm-content {
|
|
@apply caret-chalkboard-10;
|
|
}
|
|
|
|
#code-mirror-override .cm-focused {
|
|
outline: none;
|
|
}
|
|
|
|
@keyframes blink {
|
|
0%,
|
|
100% {
|
|
opacity: 0;
|
|
}
|
|
10% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.react-json-view {
|
|
@apply bg-transparent !important;
|
|
}
|
|
|
|
#code-mirror-override .cm-tooltip {
|
|
@apply text-xs shadow-md;
|
|
@apply bg-chalkboard-10 text-chalkboard-80;
|
|
@apply rounded-sm border-solid border border-chalkboard-40/30 border-l-liquid-10;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-tooltip {
|
|
@apply bg-chalkboard-110 text-chalkboard-40;
|
|
@apply border-chalkboard-70/20 border-l-liquid-70;
|
|
}
|
|
|
|
#code-mirror-override .cm-tooltip-hover {
|
|
@apply py-1 px-2 w-max max-w-md;
|
|
}
|
|
|
|
#code-mirror-override .cm-completionInfo {
|
|
@apply px-4 rounded-l-none;
|
|
@apply bg-chalkboard-10 text-liquid-90;
|
|
@apply border-liquid-40/30;
|
|
}
|
|
|
|
.dark #code-mirror-override .cm-completionInfo {
|
|
@apply bg-liquid-120 text-liquid-50;
|
|
@apply border-liquid-90/60;
|
|
}
|
|
|
|
#code-mirror-override .cm-tooltip-autocomplete li {
|
|
@apply px-2 py-1;
|
|
}
|
|
#code-mirror-override .cm-tooltip-autocomplete li[aria-selected='true'] {
|
|
@apply bg-liquid-10 text-liquid-110;
|
|
}
|
|
.dark #code-mirror-override .cm-tooltip-autocomplete li[aria-selected='true'] {
|
|
@apply bg-liquid-100 text-liquid-20;
|
|
}
|
|
|
|
#code-mirror-override .cm-content {
|
|
white-space: pre-wrap;
|
|
word-break: normal;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.cm-ghostText,
|
|
.cm-ghostText * {
|
|
color: rgb(120, 120, 120, 0.8) !important;
|
|
}
|
|
|
|
.segment-length-label-text {
|
|
transform: translate(var(--x, 0), var(--y, 0)) rotate(var(--degree, 0));
|
|
@apply font-mono body-bg px-2 pt-0.5 rounded-sm border border-chalkboard-110 dark:border-chalkboard-10;
|
|
}
|
|
|
|
@layer components {
|
|
kbd.hotkey {
|
|
@apply font-mono text-xs inline-block px-0.5 py-[2px] rounded;
|
|
|
|
/* This is the only place in our code where layout is impacted by theme.
|
|
* We may not want that later, if hotkeys are possibly visible
|
|
* while switching theme, but more padding feels better in dark mode.
|
|
*/
|
|
@apply dark:px-1;
|
|
|
|
@apply text-chalkboard-70 dark:text-chalkboard-40;
|
|
@apply bg-chalkboard-20 dark:bg-chalkboard-90;
|
|
@apply border border-t-0 border-b-2 border-chalkboard-30 dark:border-chalkboard-80;
|
|
}
|
|
}
|
|
|
|
@layer utilities {
|
|
/*
|
|
This is where your own custom Tailwind utility classes can go,
|
|
which lets you use them with @apply in your CSS, and get
|
|
autocomplete in classNames in your JSX.
|
|
*/
|
|
.parsed-markdown ul,
|
|
.parsed-markdown ol {
|
|
@apply list-outside pl-4 lg:pl-8 my-2;
|
|
}
|
|
|
|
.parsed-markdown ul li {
|
|
@apply list-disc;
|
|
}
|
|
|
|
.parsed-markdown li p {
|
|
@apply inline;
|
|
}
|
|
|
|
.parsed-markdown code {
|
|
@apply px-1 py-0.5 rounded-sm;
|
|
@apply bg-chalkboard-20 text-chalkboard-80;
|
|
@apply dark:bg-chalkboard-80 dark:text-chalkboard-30;
|
|
}
|
|
|
|
button.reset {
|
|
@apply bg-transparent border-transparent m-0 p-0 rounded-none text-base;
|
|
}
|
|
|
|
button.reset:hover {
|
|
@apply bg-transparent border-transparent;
|
|
}
|
|
|
|
/* Add an outline that matches the app foreground (or text) color */
|
|
.outline-appForeground {
|
|
@apply outline-chalkboard-100 dark:outline-chalkboard-10;
|
|
}
|
|
}
|
|
|
|
#code-mirror-override .cm-scroller,
|
|
#code-mirror-override .cm-editor {
|
|
height: 100% !important;
|
|
}
|
|
|
|
/* Can't use #code-mirror-override here as we're outside of this div */
|
|
.body-bg .cm-diagnosticAction {
|
|
@apply bg-primary;
|
|
}
|