2025-12-11 22:20:23 +00:00
|
|
|
/* @tailwind */
|
2025-12-08 22:08:30 +00:00
|
|
|
@reference "../main.css";
|
|
|
|
|
|
|
|
|
|
/* Custom Scrollbar */
|
|
|
|
|
*::-webkit-scrollbar {
|
|
|
|
|
@apply w-2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*::-webkit-scrollbar-track {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-surface0 rounded-full;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*::-webkit-scrollbar-thumb {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-surface1 rounded-full;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*::-webkit-scrollbar-thumb:hover {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-overlay0;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Firefox scrollbar */
|
|
|
|
|
* {
|
|
|
|
|
scrollbar-width: thin;
|
2026-01-15 22:26:08 +00:00
|
|
|
scrollbar-color: var(--color-surface1) var(--color-surface0);
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tiptap-editor {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply flex flex-col h-full bg-base;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-text;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-toolbar {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply flex gap-2 px-4 bg-surface0 border-b border-surface1 flex-wrap items-center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-content {
|
|
|
|
|
@apply h-full;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.toolbar-group {
|
|
|
|
|
@apply flex gap-1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.toolbar-divider {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply w-px h-6 bg-surface1;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-toolbar button {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply p-2 bg-transparent border-none rounded-sm text-text cursor-pointer transition-all duration-150 text-sm font-semibold min-w-8 flex items-center justify-center;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-toolbar button:hover:not(:disabled) {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-surface0;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-toolbar button.active {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-accent text-base;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-toolbar button:disabled {
|
|
|
|
|
@apply opacity-40 cursor-not-allowed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror:focus {
|
|
|
|
|
@apply outline-none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror p.is-editor-empty:first-child::before {
|
|
|
|
|
content: attr(data-placeholder);
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply float-left text-overlay0 pointer-events-none h-0;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
.ProseMirror ul {
|
|
|
|
|
@apply mb-0!;
|
|
|
|
|
}
|
|
|
|
|
.ProseMirror h1 {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-3xl font-bold mt-6 mb-4 text-accent;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror h2 {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-2xl font-semibold text-accent mt-4 mb-3;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror h3 {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-xl font-semibold text-accent mt-5 mb-2;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror code {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-surface0 text-accent px-1.5 py-0.5 rounded text-sm;
|
2025-12-08 22:08:30 +00:00
|
|
|
font-family: "JetBrains Mono", "Fira Code", monospace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror .code-block {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-surface0 border border-surface1 rounded-sm p-4 my-4 overflow-x-auto;
|
2025-12-08 22:08:30 +00:00
|
|
|
font-family: "JetBrains Mono", "Fira Code", monospace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror .code-block code {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply bg-transparent p-0 text-text;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror blockquote {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply border-l-4 border-accent pl-4 ml-0 text-subtext italic;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror hr {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply border-none border-t-2 border-surface1 my-8;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror a {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-accent underline;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror a:hover {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-accent;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror strong {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-accent font-semibold;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror em {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-accent;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Task List (Checkboxes) */
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] {
|
|
|
|
|
@apply list-none p-0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] > li {
|
|
|
|
|
@apply flex flex-row items-baseline m-0 p-0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] > li > label {
|
|
|
|
|
@apply flex-none mr-2 select-none flex items-center h-6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] > li > label input[type="checkbox"] {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply cursor-pointer m-0 accent-accent;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] > li > div {
|
|
|
|
|
@apply flex-1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror ul[data-type="taskList"] > li > div p {
|
|
|
|
|
@apply m-0 p-0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror li[data-checked="true"] > div > p {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply line-through text-text/40;
|
2025-12-08 22:08:30 +00:00
|
|
|
text-decoration-style: wavy;
|
2025-12-22 22:47:28 +00:00
|
|
|
text-decoration-thickness: 1px;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror u {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply decoration-accent;
|
2025-12-22 22:47:28 +00:00
|
|
|
/*text-decoration-style: wavy;*/
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror li::marker {
|
2026-01-15 22:26:08 +00:00
|
|
|
@apply text-accent;
|
2025-12-08 22:08:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* tiptap.css */
|
|
|
|
|
.ProseMirror ul,
|
|
|
|
|
.ProseMirror ol {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
margin-bottom: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ProseMirror li > p {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
margin-bottom: 0 !important;
|
|
|
|
|
}
|
2026-01-15 22:26:08 +00:00
|
|
|
|
|
|
|
|
hr {
|
|
|
|
|
border: none;
|
|
|
|
|
height: 3px;
|
|
|
|
|
background: repeating-linear-gradient(
|
|
|
|
|
90deg,
|
|
|
|
|
var(--color-accent) 0px,
|
|
|
|
|
var(--color-accent) 8px,
|
|
|
|
|
var(--color-accent) 16px
|
|
|
|
|
);
|
|
|
|
|
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 6'%3E%3Cpath d='M0 3 Q 3 0, 6 3 T 12 3 T 18 3 T 24 3' stroke='black' stroke-width='2' fill='none'/%3E%3C/svg%3E")
|
|
|
|
|
repeat-x;
|
|
|
|
|
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 6'%3E%3Cpath d='M0 3 Q 3 0, 6 3 T 12 3 T 18 3 T 24 3' stroke='black' stroke-width='2' fill='none'/%3E%3C/svg%3E")
|
|
|
|
|
repeat-x;
|
|
|
|
|
margin: 2em 0;
|
|
|
|
|
}
|