@tailwind base; @tailwind components; @tailwind utilities; @import 'highlight.js/styles/github-dark-dimmed.css'; :root { --scope-color: #555566; /* updated dynamically by layout */ --bg-color: #1a1a22; --card-bg: #252530; --text-color: #e0e0e0; --accent: #4a9eff; --danger: #e05555; --success: #4caf7c; --warning: #e8a944; --info: #5bc0de; --muted: #7a7a8e; --border-color: #333340; --tag-bg: #3d3d50; --project-tag-bg: #7c6cf0; --person-ref-bg: #e17055; --sidebar-bg: #1e1e28; } body { font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; } /* Tree list styles (from prototype) */ ul.tree-list { list-style-type: none; padding-left: 20px; margin: 0; border-left: 1px solid var(--border-color); } ul.tree-list li { position: relative; margin-top: 4px; } .list-content { color: #ddd; } /* Markdown content */ .markdown-content { @apply prose prose-sm prose-invert max-w-none; } .markdown-content pre { @apply bg-[#111] rounded; } .markdown-content code { @apply bg-[#111] px-1 py-0.5 rounded text-sm; } .markdown-content pre code { @apply bg-transparent p-0; } .markdown-content img { @apply max-w-full rounded; } .markdown-content a { @apply text-accent; } .markdown-content ul, .markdown-content ol { padding-left: 20px; } .markdown-content> :first-child { margin-top: 0; } .markdown-content> :last-child { margin-bottom: 0; } /* Callout blocks */ .callout { border-radius: 6px; padding: 0.6rem 0.9rem; margin: 0.75rem 0; border-left: 4px solid; } .callout-title { font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem; } .callout-body > :first-child { margin-top: 0; } .callout-body > :last-child { margin-bottom: 0; } .callout-note { background: #1a2a3a; border-color: var(--accent); } .callout-note .callout-title { color: var(--accent); } .callout-info { background: #1a2a3a; border-color: var(--info); } .callout-info .callout-title { color: var(--info); } .callout-tip { background: #1a2e22; border-color: var(--success); } .callout-tip .callout-title { color: var(--success); } .callout-success { background: #1a2e22; border-color: var(--success); } .callout-success .callout-title { color: var(--success); } .callout-warning { background: #2e2510; border-color: var(--warning); } .callout-warning .callout-title { color: var(--warning); } .callout-danger { background: #2e1515; border-color: var(--danger); } .callout-danger .callout-title { color: var(--danger); } .callout-caution { background: #2e1515; border-color: var(--danger); } .callout-caution .callout-title { color: var(--danger); } /* Tables */ .markdown-content .table-wrapper { overflow-x: auto; margin: 0.75rem 0; } .markdown-content table { border-collapse: collapse; width: 100%; font-size: 0.875rem; } .markdown-content th { background: #2a2a38; color: #e0e0e0; font-weight: 600; text-align: left; padding: 0.4rem 0.75rem; border: 1px solid var(--border-color); } .markdown-content td { padding: 0.35rem 0.75rem; border: 1px solid var(--border-color); vertical-align: top; } .markdown-content tbody tr:nth-child(even) td { background: #22222e; } /* Typography tweaks */ .markdown-content blockquote { border-left: 3px solid var(--accent); padding-left: 0.75rem; color: #aaa; font-style: italic; margin-left: 0; } .markdown-content hr { border: none; height: 1px; background: linear-gradient(to right, transparent, var(--border-color), transparent); margin: 1.25rem 0; } /* Tiptap Editor */ .ka-editor-wrapper { @apply rounded border border-[#444] bg-bg font-mono text-white; } .ka-editor-wrapper:focus-within { @apply border-accent; } .ka-editor-wrapper .ProseMirror { @apply prose prose-sm prose-invert max-w-none p-2.5 outline-none; } .ka-editor-wrapper .ProseMirror p.is-editor-empty:first-child::before { content: attr(data-placeholder); @apply float-left h-0 pointer-events-none text-[#666]; } .ka-editor-wrapper .ProseMirror img { @apply max-w-full max-h-[300px] rounded inline-block; } .ka-editor-wrapper .ProseMirror pre { @apply bg-[#111] rounded; } .ka-editor-wrapper .ProseMirror code { @apply bg-[#111] px-1 py-0.5 rounded text-sm; } .ka-editor-wrapper .ProseMirror pre code { @apply bg-transparent p-0; } .ka-editor-wrapper .ProseMirror a { @apply text-accent; } .ka-editor-wrapper .ProseMirror ul, .ka-editor-wrapper .ProseMirror ol { padding-left: 20px; } /* Table styles in editor */ .ka-editor-wrapper .ProseMirror table { border-collapse: collapse; width: 100%; font-size: 0.875rem; margin: 0.5rem 0; overflow-x: auto; display: block; } .ka-editor-wrapper .ProseMirror th, .ka-editor-wrapper .ProseMirror td { border: 1px solid #444; padding: 0.3rem 0.6rem; vertical-align: top; min-width: 60px; position: relative; } .ka-editor-wrapper .ProseMirror th { background: #2a2a38; font-weight: 600; } .ka-editor-wrapper .ProseMirror .selectedCell::after { content: ''; position: absolute; inset: 0; background: rgba(74, 158, 255, 0.15); pointer-events: none; } /* Rating indicators on @NAME tags */ .person-ref.rating-1 { border-bottom: 3px solid #d9534f !important; } .person-ref.rating-2 { border-bottom: 3px solid #f0ad4e !important; } .person-ref.rating-3 { border-bottom: 3px solid #5cb85c !important; } .person-ref.rating-4 { border-bottom: 3px solid #5bc0de !important; } /* Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--bg-color); } ::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; } /* Scrollbar hide utility */ .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } .scrollbar-hide::-webkit-scrollbar { display: none; } /* Touch devices: make hover-only actions always visible */ @media (hover: none) { .group-hover\:opacity-100 { opacity: 1 !important; } } /* Prevent iOS input zoom */ input, select, textarea { font-size: 16px !important; } /* Native date/time pickers: use dark color scheme so icons/separators render in light color */ input[type='date'], input[type='time'], input[type='datetime-local'] { color-scheme: dark; } /* Safe area padding */ .pt-safe { padding-top: env(safe-area-inset-top); } .pb-safe { padding-bottom: env(safe-area-inset-bottom); }