:root { color-scheme: light dark; --accent: #16a06e; --text: #0f172a; --muted: #64748b; --border: #f1f5f9; --toolbar-bg: #ffffff; --toolbar-fg: #64748b; --toolbar-active-bg: #ecfdf5; --toolbar-active-border: #bbf7d0; --toolbar-active-fg: #047857; --code-bg: color-mix(in srgb, CanvasText 7%, transparent); --placeholder: #94a3b8; } .tiptap-mathematics-render[data-type="block-math"] { max-width: 100%; margin: 1rem 0; overflow-x: auto; overflow-y: hidden; padding: 0.25rem 0; text-align: center; -webkit-overflow-scrolling: touch; } .inline-math-error, .block-math-error { color: #be123c; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; } html[data-theme="dark"] .inline-math-error, html[data-theme="dark"] .block-math-error { color: #fda4af; } html[data-theme="dark"] { --text: #f8fafc; --muted: #cbd5e1; --border: #334155; --toolbar-bg: #0f172a; --toolbar-fg: #cbd5e1; --toolbar-active-bg: #14532d; --toolbar-active-border: #166534; --toolbar-active-fg: #86efac; --placeholder: #64748b; } /* Android LocalTiptapEditor shell: column flex, toolbar fixed top, body scrolls. */ html, body { width: 100%; max-width: 100%; min-width: 0; height: 100%; margin: 0; padding: 0; overflow: hidden; background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); -webkit-text-size-adjust: 100%; } html[data-theme="dark"], html[data-theme="dark"] body { background: #0f172a; } /* Full-height column; never let sticky/fixed fight the keyboard visual viewport. */ #shell { display: flex; flex-direction: column; width: 100%; max-width: 100%; min-width: 0; height: 100%; min-height: 100%; overflow: hidden; background: inherit; } /* * Formatting toolbar — always pinned under the native meta row / top of the WebView. * Do NOT use position:sticky/fixed here: WKWebView + software keyboard reparents the * visual viewport and sticky toolbars jump to the bottom-right (what the user hit). */ #toolbar { display: none; flex: 0 0 auto; flex-direction: row; align-items: center; gap: 4px; width: 100%; max-width: 100%; min-height: 38px; box-sizing: border-box; padding: 6px 12px; border-bottom: 1px solid var(--border); background: var(--toolbar-bg); overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; position: relative; z-index: 5; } #toolbar::-webkit-scrollbar { display: none; } #toolbar.editor-mode { display: flex; } #toolbar button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 36px; min-height: 32px; margin: 0; padding: 0; border: 1px solid transparent; border-radius: 999px; background: transparent; font-size: 14px; font-weight: 600; line-height: 1; color: var(--toolbar-fg); } #toolbar button:active, #toolbar button.is-active { border-color: var(--toolbar-active-border); background: var(--toolbar-active-bg); color: var(--toolbar-active-fg); } /* Scrollable editor body — only this region pans, toolbar stays put. */ #editor { flex: 1 1 auto; min-height: 0; min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; } /* TipTap mounts .ProseMirror inside #editor */ .edgeever-prose, .tiptap, .ProseMirror { outline: none; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 100%; padding: 12px 16px 48px; line-height: 1.55; word-break: break-word; caret-color: #0f766e; } .edgeever-prose p.is-editor-empty:first-child::before, .ProseMirror p.is-editor-empty:first-child::before { color: var(--placeholder); content: attr(data-placeholder); float: left; height: 0; pointer-events: none; } .ProseMirror ul[data-type="taskList"] { margin: 0 0 1rem; padding-left: 0; list-style: none; } .ProseMirror ul[data-type="taskList"] li[data-checked] { display: flex; align-items: flex-start; gap: 9px; margin: 4px 0; } .ProseMirror ul[data-type="taskList"] li[data-checked] > label { display: inline-flex; flex: 0 0 auto; align-items: center; margin-top: 3px; user-select: none; } .ProseMirror ul[data-type="taskList"] li[data-checked] > label input { width: 18px; height: 18px; margin: 0; accent-color: #16a06e; } .ProseMirror ul[data-type="taskList"] li[data-checked] > div { min-width: 0; flex: 1 1 auto; } .ProseMirror ul[data-type="taskList"] li[data-checked] > div > p { margin-bottom: 0; } .ProseMirror ul[data-type="taskList"] li[data-checked="true"] > div > p { color: var(--placeholder); text-decoration: line-through; transition: color 150ms ease, text-decoration 150ms ease; } .ProseMirror ul[data-type="taskList"] ul[data-type="taskList"] { margin: 4px 0 0; padding-left: 24px; } .edgeever-prose img, .ProseMirror img { max-width: 100%; height: auto; border-radius: 8px; display: block; margin: 12px 0; } /* Android-parity image node: figure + ⋯ actions + size presets. * Width % is applied on the figure so the layout box shrinks with the image. * Do not leave the figure at 100% while only scaling the — that leaves * an empty full-width slot (the pale selection wash users see). */ .edgeever-image-node { position: relative; display: block; box-sizing: border-box; width: var(--ee-image-width, 100%); max-width: 100%; margin: 14px auto; line-height: 0; /* Prevent WebKit contenteditable from painting a full-line selection wash */ -webkit-user-select: none; user-select: none; background: transparent; } .edgeever-image-node.has-width { /* Reinforced by inline style; class helps when attrs rehydrate */ max-width: min(100%, var(--ee-image-width, 100%)); } .edgeever-image-node.is-loading, .edgeever-image-node.is-failed { min-height: 120px; overflow: hidden; border-radius: 10px; background: #f1f5f9; } .edgeever-image-loading { display: flex; min-height: 120px; align-items: center; justify-content: center; gap: 10px; padding: 16px; color: #64748b; font-size: 13px; font-weight: 600; line-height: 1.3; } .edgeever-image-loading[hidden] { display: none; } .edgeever-image-loading-label { text-align: center; } .edgeever-image-node > img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0 !important; border-radius: 10px; vertical-align: top; } .edgeever-image-node > img[hidden] { display: none; } [data-edgeever-image-gallery] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 8px; margin: 14px 0; } [data-edgeever-image-gallery][data-image-gallery-layout="3"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-edgeever-image-gallery][data-image-gallery-layout="1"] { grid-template-columns: minmax(0, 1fr); } [data-edgeever-image-gallery] > .edgeever-image-node, [data-edgeever-image-gallery] > img { width: 100% !important; min-width: 0; height: 100%; min-height: 112px; max-height: 220px; margin: 0 !important; overflow: hidden; border-radius: 10px; background: #f1f5f9; } [data-edgeever-image-gallery] > .edgeever-image-node > img, [data-edgeever-image-gallery] > img { width: 100%; height: 100%; min-height: 112px; max-height: 220px; object-fit: cover; } /* Outline the figure box (matches actual occupied width), not a full-width wash */ .edgeever-image-node.is-selected, .edgeever-image-node.ProseMirror-selectednode { outline: 2px solid #0f766e; outline-offset: 3px; background: transparent !important; box-shadow: none !important; } .edgeever-image-node.is-selected > img, .edgeever-image-node.ProseMirror-selectednode > img { outline: none; } /* Kill native selection fill that WebKit paints across the whole content line */ .ProseMirror-selectednode { background: transparent !important; } .edgeever-image-node::selection, .edgeever-image-node *::selection { background: transparent; } .edgeever-image-actions { position: absolute; right: 8px; bottom: 8px; z-index: 5; display: inline-flex; width: 42px; height: 42px; appearance: none; -webkit-appearance: none; align-items: center; justify-content: center; border: 1px solid #cbd5e1; border-radius: 999px; background: rgba(255, 255, 255, 0.92); color: #334155; font-size: 24px; font-weight: 700; line-height: 1; box-shadow: 0 3px 12px rgba(15, 23, 42, 0.2); padding: 0; pointer-events: auto; touch-action: manipulation; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; } .edgeever-image-actions[hidden] { display: none; } .edgeever-image-size-controls { position: absolute; top: 8px; left: 50%; z-index: 5; display: flex; width: max-content; max-width: calc(100% - 16px); align-items: center; gap: 3px; transform: translateX(-50%); border: 1px solid #bbf7d0; border-radius: 9px; padding: 4px; background: rgba(255, 255, 255, 0.96); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.2); line-height: 1.15; pointer-events: auto; touch-action: manipulation; -webkit-user-select: none; user-select: none; } .edgeever-image-size-controls[hidden] { display: none !important; } .edgeever-image-size-button { display: inline-flex; min-width: 52px; min-height: 38px; appearance: none; -webkit-appearance: none; align-items: center; justify-content: center; border: 0; border-radius: 7px; padding: 4px 7px; background: transparent; color: #475569; font: inherit; font-size: 12px; font-weight: 700; pointer-events: auto; touch-action: manipulation; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; cursor: pointer; } .edgeever-image-size-button.is-active { background: #ccfbf1; color: #0f766e; } .edgeever-image-upload-spinner { width: 18px; height: 18px; border: 2px solid #cbd5e1; border-top-color: #0f766e; border-radius: 999px; animation: edgeever-image-upload-spin 0.8s linear infinite; } @keyframes edgeever-image-upload-spin { to { transform: rotate(360deg); } } html[data-theme="dark"] .edgeever-image-node.is-loading, html[data-theme="dark"] .edgeever-image-node.is-failed { background: #1e293b; } html[data-theme="dark"] .edgeever-image-actions { border-color: #475569; background: rgba(15, 23, 42, 0.9); color: #e2e8f0; } html[data-theme="dark"] .edgeever-image-size-controls { border-color: #475569; background: rgba(15, 23, 42, 0.96); } html[data-theme="dark"] .edgeever-image-size-button { color: #cbd5e1; } html[data-theme="dark"] .edgeever-image-size-button.is-active { background: #134e4a; color: #99f6e4; } .edgeever-prose code, .ProseMirror code { border: 1px solid #d4ebdc; border-radius: 4px; background: #f2f9f5; color: #0d5f3a; padding: 2px 5px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.88em; font-weight: 550; } .edgeever-prose pre code, .ProseMirror pre code { border: 0; background: transparent; padding: 0; color: inherit; font-weight: normal; } .edgeever-prose pre, .ProseMirror pre { background: var(--code-bg); border: 1px solid var(--border); padding: 10px 12px; border-radius: 8px; overflow-x: auto; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9em; } /* External hyperlinks — match Web/Android default styling. */ .edgeever-prose a, .ProseMirror a { color: #00751f; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(0, 117, 31, 0.45); text-underline-offset: 2px; cursor: pointer; } .edgeever-prose a:active, .ProseMirror a:active { color: #00a82d; text-decoration-color: #00a82d; } html[data-theme="dark"] .edgeever-prose a, html[data-theme="dark"] .ProseMirror a { color: #86efac; text-decoration-color: rgba(134, 239, 172, 0.45); } html[data-theme="dark"] .edgeever-prose a:active, html[data-theme="dark"] .ProseMirror a:active { color: #4ade80; text-decoration-color: #4ade80; } .edgeever-prose a.edgeever-attachment-link, .ProseMirror a.edgeever-attachment-link, .edgeever-prose a[href*="/api/v1/resources/"], .ProseMirror a[href*="/api/v1/resources/"] { display: flex; min-width: 0; max-width: 100%; min-height: 48px; align-items: center; gap: 8px; margin: 6px 0; overflow: hidden; border: 1px solid #cbd5e1; border-radius: 10px; padding: 7px 10px; background: #f8fafc; color: #1e293b; font-size: 0.93rem; font-weight: 700; line-height: 1.3; text-decoration: none; } .edgeever-prose a.edgeever-attachment-link::before, .ProseMirror a.edgeever-attachment-link::before, .edgeever-prose a[href*="/api/v1/resources/"]::before, .ProseMirror a[href*="/api/v1/resources/"]::before { display: inline-flex; width: 30px; height: 30px; flex: 0 0 30px; align-items: center; justify-content: center; border-radius: 8px; background: #f1f5f9; color: #64748b; content: "FILE"; font-size: 8px; font-weight: 800; letter-spacing: -0.2px; } .edgeever-prose a.edgeever-attachment-link::after, .ProseMirror a.edgeever-attachment-link::after, .edgeever-prose a[href*="/api/v1/resources/"]::after, .ProseMirror a[href*="/api/v1/resources/"]::after { margin-left: auto; flex: 0 0 auto; color: #64748b; content: attr(data-attachment-meta) " ⋯"; font-size: 11px; font-weight: 600; white-space: nowrap; } .edgeever-prose a.edgeever-attachment-kind-image::before, .ProseMirror a.edgeever-attachment-kind-image::before { background: #ecfdf5; color: #10b981; content: "▧"; font-size: 20px; } .edgeever-prose a.edgeever-attachment-kind-audio::before, .ProseMirror a.edgeever-attachment-kind-audio::before { background: #f0f9ff; color: #0ea5e9; content: "♪"; font-size: 21px; } .edgeever-prose a.edgeever-attachment-kind-video::before, .ProseMirror a.edgeever-attachment-kind-video::before { background: #fff1f2; color: #f43f5e; content: "▶"; font-size: 15px; } .edgeever-prose a.edgeever-attachment-kind-pdf::before, .ProseMirror a.edgeever-attachment-kind-pdf::before { background: #fff1f2; color: #e11d48; content: "PDF"; } .edgeever-prose a.edgeever-attachment-kind-spreadsheet::before, .ProseMirror a.edgeever-attachment-kind-spreadsheet::before { background: #f0fdf4; color: #16a34a; content: "XLS"; } .edgeever-prose a.edgeever-attachment-kind-document::before, .ProseMirror a.edgeever-attachment-kind-document::before { background: #eff6ff; color: #2563eb; content: "DOC"; } .edgeever-prose a.edgeever-attachment-kind-presentation::before, .ProseMirror a.edgeever-attachment-kind-presentation::before { background: #fff7ed; color: #f97316; content: "PPT"; } .edgeever-prose a.edgeever-attachment-kind-archive::before, .ProseMirror a.edgeever-attachment-kind-archive::before { background: #fffbeb; color: #d97706; content: "ZIP"; } .edgeever-prose a.edgeever-attachment-kind-code::before, .ProseMirror a.edgeever-attachment-kind-code::before { background: #faf5ff; color: #8b5cf6; content: ""; } .edgeever-prose a.edgeever-attachment-kind-text::before, .ProseMirror a.edgeever-attachment-kind-text::before { background: #f1f5f9; color: #64748b; content: "TXT"; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-link, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-link, html[data-theme="dark"] .edgeever-prose a[href*="/api/v1/resources/"], html[data-theme="dark"] .ProseMirror a[href*="/api/v1/resources/"] { border-color: #334155; background: #172033; color: #f1f5f9; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-link::after, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-link::after { color: #94a3b8; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-image::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-image::before { background: #064e3b; color: #6ee7b7; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-audio::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-audio::before { background: #0c4a6e; color: #7dd3fc; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-video::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-video::before, html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-pdf::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-pdf::before { background: #881337; color: #fda4af; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-spreadsheet::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-spreadsheet::before { background: #14532d; color: #86efac; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-document::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-document::before { background: #1e3a8a; color: #93c5fd; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-presentation::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-presentation::before { background: #7c2d12; color: #fdba74; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-archive::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-archive::before { background: #713f12; color: #fde68a; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-code::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-code::before { background: #581c87; color: #d8b4fe; } html[data-theme="dark"] .edgeever-prose a.edgeever-attachment-kind-text::before, html[data-theme="dark"] .ProseMirror a.edgeever-attachment-kind-text::before { background: #334155; color: #cbd5e1; } .edgeever-prose .edgeever-unsupported-content, .ProseMirror .edgeever-unsupported-content { border: 1px dashed #94a3b8; border-radius: 8px; background: #f8fafc; color: #475569; font-size: 12px; font-weight: 600; } .edgeever-prose .edgeever-unsupported-content--block, .ProseMirror .edgeever-unsupported-content--block { display: block; margin: 8px 0; padding: 12px; } .edgeever-prose .edgeever-unsupported-content--inline, .ProseMirror .edgeever-unsupported-content--inline { display: inline-block; margin: 0 2px; padding: 2px 6px; } .edgeever-prose .edgeever-unsupported-mark, .ProseMirror .edgeever-unsupported-mark { border-bottom: 1px dashed #64748b; } html[data-theme="dark"] .edgeever-prose .edgeever-unsupported-content, html[data-theme="dark"] .ProseMirror .edgeever-unsupported-content { border-color: #64748b; background: #1e293b; color: #cbd5e1; } html[data-theme="dark"] .edgeever-prose .edgeever-unsupported-mark, html[data-theme="dark"] .ProseMirror .edgeever-unsupported-mark { border-bottom-color: #94a3b8; } .ProseMirror hr { margin: 1.5rem 0; border: 0; border-top: 1px solid #cbd5e1; } .ProseMirror hr.edgeever-merge-divider, .ProseMirror hr[data-edgeever-merge-divider] { margin: 1.5rem 0; height: 0; border: 0; border-top: 2px solid #66ca80; background: transparent; } html[data-theme="dark"] .ProseMirror hr { border-top-color: #475569; } html[data-theme="dark"] .ProseMirror hr.edgeever-merge-divider, html[data-theme="dark"] .ProseMirror hr[data-edgeever-merge-divider] { border-top-color: #4ade80; } .edgeever-prose blockquote, .ProseMirror blockquote { margin: 0.5em 0; padding: 6px 12px; border-left: 3px solid var(--accent); border-radius: 1px 4px 4px 1px; background: color-mix(in srgb, var(--accent) 4%, transparent); color: #334155; } html[data-theme="dark"] .edgeever-prose blockquote, html[data-theme="dark"] .ProseMirror blockquote { background: color-mix(in srgb, var(--accent) 7%, transparent); color: #cbd5e1; } html[data-theme="dark"] .edgeever-prose code, html[data-theme="dark"] .ProseMirror code { border-color: rgba(22, 160, 110, 0.28); background: rgba(22, 160, 110, 0.12); color: #6ee7b7; } html[data-theme="dark"] .edgeever-prose pre code, html[data-theme="dark"] .ProseMirror pre code { border: 0; background: transparent; color: inherit; } .edgeever-prose .tableWrapper, .ProseMirror .tableWrapper { --mobile-table-column-width: clamp(4.5rem, 24cqi, 12rem); container-type: inline-size; display: block; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; margin: 10px 0; border: 1px solid var(--border); border-radius: 6px; background: var(--toolbar-bg); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); } .edgeever-prose table, .ProseMirror table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 100%; max-width: none; table-layout: fixed; } .edgeever-prose table:has(> colgroup > col:first-child:last-child), .ProseMirror table:has(> colgroup > col:first-child:last-child) { --mobile-table-column-width: 100cqi; } .edgeever-prose table:has(> colgroup > col:first-child:nth-last-child(2)), .ProseMirror table:has(> colgroup > col:first-child:nth-last-child(2)) { --mobile-table-column-width: 50cqi; } .edgeever-prose table:has(> colgroup > col:first-child:nth-last-child(3)), .ProseMirror table:has(> colgroup > col:first-child:nth-last-child(3)) { --mobile-table-column-width: calc(100cqi / 3); } .edgeever-prose table:has(> colgroup > col:first-child:nth-last-child(4)), .ProseMirror table:has(> colgroup > col:first-child:nth-last-child(4)) { --mobile-table-column-width: 25cqi; } .edgeever-prose table:has(> colgroup > col:first-child:nth-last-child(n+5)), .ProseMirror table:has(> colgroup > col:first-child:nth-last-child(n+5)) { width: max-content; --mobile-table-column-width: clamp(4.5rem, 24cqi, 10rem); } .edgeever-prose table:not(:has(colgroup)), .ProseMirror table:not(:has(colgroup)) { table-layout: auto; width: 100%; min-width: 100%; } .edgeever-prose table col, .ProseMirror table col { width: var(--mobile-table-column-width) !important; min-width: var(--mobile-table-column-width) !important; } .edgeever-prose th, .ProseMirror th { background: var(--code-bg); font-weight: 600; } .edgeever-prose th, .edgeever-prose td, .ProseMirror th, .ProseMirror td { position: relative; width: var(--mobile-table-column-width, auto); min-width: var(--mobile-table-column-width, 3.5rem); border: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 6px 8px; text-align: left; vertical-align: top; white-space: normal; overflow-wrap: anywhere; word-break: break-word; line-height: 1.4; } .edgeever-prose th:last-child, .edgeever-prose td:last-child, .ProseMirror th:last-child, .ProseMirror td:last-child { border-right: 0; } .edgeever-prose tr:last-child td, .ProseMirror tr:last-child td { border-bottom: 0; } .edgeever-prose h1, .edgeever-prose h2, .edgeever-prose h3, .ProseMirror h1, .ProseMirror h2, .ProseMirror h3 { line-height: 1.25; } .edgeever-mermaid { overflow-x: auto; margin: 12px 0; padding: 8px; border-radius: 8px; background: var(--code-bg); } .edgeever-mermaid svg { max-width: 100%; height: auto; } .edgeever-x6-diagram { width: 100%; height: min(56vh, 520px); min-height: 360px; margin: 18px 16px; overflow: hidden; border: 1px solid #e3ece7; border-radius: 14px; background: #f8faf9; touch-action: none; } html[data-theme="dark"] .edgeever-x6-diagram { border-color: #26382f; background: #101311; } /* Viewer: no toolbar band, full-area scroll still via #editor */ body.viewer-mode #toolbar { display: none !important; } /* Stable, light export surface used by PNG/JPEG generation in the bundled WebView. */ .edgeever-image-document { width: 768px; padding: 40px 28px 32px; background: #f8fafc; color: #172033; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } .edgeever-image-card { min-height: 1px; padding: 40px 36px 32px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; color: #172033; } .edgeever-image-title { margin: 0 0 14px; color: #0f172a; font-size: 36px; font-weight: 760; letter-spacing: -0.02em; line-height: 1.24; overflow-wrap: anywhere; } .edgeever-image-meta { margin: 0 0 28px; padding-bottom: 18px; border-bottom: 1px solid #e2e8f0; color: #64748b; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; } .edgeever-image-content { font-size: 17px; line-height: 1.82; } .edgeever-image-content, .edgeever-image-content .tiptap { min-height: 0 !important; height: auto !important; overflow: visible !important; background: #fff !important; color: #172033 !important; } .edgeever-image-content h1, .edgeever-image-content h2, .edgeever-image-content h3 { color: #0f172a !important; } .edgeever-image-content pre { background: #f1f5f9 !important; color: #172033 !important; } .edgeever-image-content code { color: inherit !important; } .edgeever-image-content blockquote { color: #475569 !important; border-color: #94a3b8 !important; } .edgeever-image-content table, .edgeever-image-content th, .edgeever-image-content td { border-color: #cbd5e1 !important; color: #172033 !important; } .edgeever-image-content th { background: #f8fafc !important; } .edgeever-image-brand { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; color: #64748b; font-size: 13px; font-weight: 650; letter-spacing: 0.01em; } .edgeever-image-brand-mark { width: 9px; height: 9px; border-radius: 3px; background: #16a06e; } .edgeever-image-brand-name { color: #07130b; font-weight: 760; }