@import "tailwindcss"; @font-face { font-family: "Inter"; src: local("Inter"); } :root { /* Light theme */ --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #f0f1f3; --bg-hover: #e9ecef; --bg-active: #dde1e6; --bg-editor: #ffffff; --text-primary: #1a1a2e; --text-secondary: #495057; --text-tertiary: #868e96; --text-accent: #5b6abf; --border-color: #e2e5e9; --border-light: #f0f1f3; --accent: #5b6abf; --accent-hover: #4a59b0; --accent-light: #eef0f9; --danger: #e55353; --danger-hover: #d43d3d; --success: #40c057; --warning: #fab005; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08); --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12); --sidebar-width: 220px; --notelist-width: 280px; --panel-resize-handle: 3px; } :root.dark { --bg-primary: #1a1b26; --bg-secondary: #1f2029; --bg-tertiary: #24253a; --bg-hover: #2a2b3d; --bg-active: #33354a; --bg-editor: #1a1b26; --text-primary: #cdd6f4; --text-secondary: #a6adc8; --text-tertiary: #6c7086; --text-accent: #89b4fa; --border-color: #2a2b3d; --border-light: #24253a; --accent: #89b4fa; --accent-hover: #74a8f7; --accent-light: #1e2640; --danger: #f38ba8; --danger-hover: #eba0ac; --success: #a6e3a1; --warning: #f9e2af; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2); --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3); --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4); } *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; -webkit-user-select: none !important; user-select: none !important; } html, body { height: 100%; overflow: hidden; font-family: var( --editor-font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif ); background: var(--bg-primary); color: var(--text-primary); font-size: var(--editor-font-size, 14px); line-height: 1.5; -webkit-font-smoothing: antialiased; user-select: none; } /* Scrollbar styling */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--text-tertiary); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: var(--text-secondary); } /* Selection */ ::selection { background: var(--accent); color: white; } /* Focus ring */ :focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; } /* Allow text selection in editor and source view */ .editor-content, .editor-content *, .source-editor { -webkit-user-select: text !important; user-select: text !important; } /* Transitions */ .transition-colors { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; } /* Panel resize handle */ .resize-handle { width: var(--panel-resize-handle); cursor: col-resize; background: var(--border-color); transition: background 0.15s ease; flex-shrink: 0; } .resize-handle:hover, .resize-handle.active { background: var(--accent); } body.resizing .ProseMirror { pointer-events: none; contain: strict; } body.resizing { user-select: none; } /* ── Mobile (Android/iOS) ── */ @media (max-width: 768px) { html, body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); -webkit-tap-highlight-color: transparent; touch-action: manipulation; } ::-webkit-scrollbar { display: none; } .resize-handle { display: none !important; } } /* ── Print / Export PDF ── */ @media print { /* Hide everything except editor content */ .titlebar, .sidebar-panel, .notelist-panel, .resize-handle, .toolbar-actions, .editor-body-wrapper .note-search-bar, .formatting-toolbar, .editor-formatting-bar, .history-panel, .outline-panel, .graph-panel, .ai-panel, .link-context-menu, .image-toolbar, .selection-bar { display: none !important; } /* Force light theme colors for PDF */ :root, :root.dark { --bg-primary: #ffffff !important; --bg-secondary: #f8f9fa !important; --bg-tertiary: #f0f1f3 !important; --bg-editor: #ffffff !important; --text-primary: #1a1a2e !important; --text-secondary: #495057 !important; --text-tertiary: #868e96 !important; --text-accent: #5b6abf !important; --accent: #5b6abf !important; --border-color: #e2e5e9 !important; --border-light: #f0f1f3 !important; } html, body { height: auto; overflow: visible; background: white !important; color: #1a1a2e !important; font-size: 12pt; padding: 0; } /* Override all scoped height/overflow constraints for print flow */ * { overflow: visible !important; height: auto !important; max-height: none !important; min-height: 0 !important; } .app-layout { display: block !important; } .editor-panel { width: 100% !important; min-width: 0 !important; } .ProseMirror { padding: 0 !important; max-width: 100% !important; background: white !important; color: #1a1a2e !important; } /* Ensure images fit within page */ .ProseMirror img { max-width: 100% !important; page-break-inside: avoid; } /* Avoid breaking inside these elements */ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } pre, blockquote, table, figure { page-break-inside: avoid; } /* Code blocks with light background */ .ProseMirror pre, .ProseMirror code { background: #f8f9fa !important; color: #1a1a2e !important; } }