.rich-editor{border:1px solid #d4d4d8;border-radius:12px;background:#fff;min-width:0;overflow:hidden}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:10px;border-bottom:1px solid #e4e4e7;background:#f8faf9}.rich-toolbar button,.rich-toolbar select{min-height:36px;border:1px solid #d4d4d8;border-radius:6px;padding:5px 9px;background:#fff;font-size:12px;color:#27272a}.rich-toolbar button[aria-pressed=true]{background:#d1fae5;border-color:#059669;color:#047857}.rich-toolbar button:disabled{opacity:.35}.rich-toolbar label{display:flex;align-items:center;gap:4px;font-size:12px}.rich-toolbar input[type=color]{width:32px;height:34px;padding:2px}.rich-insert{padding:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-bottom:1px solid #d4d4d8;font-size:13px}.rich-insert input{border:1px solid #a1a1aa;border-radius:5px;padding:6px;max-width:100%}.rich-insert input[type=number]{width:60px}.rich-insert button{padding:7px 12px;border-radius:6px;background:#047857;color:#fff}.rich-content{color:#3f3f46;font-size:15px;line-height:1.9;overflow-wrap:anywhere;min-width:0}.rich-content p{margin:0 0 1em;white-space:pre-wrap}.rich-content h2{font-size:24px;line-height:1.4;font-weight:800;margin:1.5em 0 .7em;color:#18181b}.rich-content h3{font-size:20px;line-height:1.4;font-weight:750;margin:1.2em 0 .6em;color:#18181b}.rich-content strong{font-weight:800}.rich-content em{font-style:italic}.rich-content ul{list-style:disc;padding-left:1.5em}.rich-content ol{list-style:decimal;padding-left:1.5em}.rich-content li p{margin-bottom:.3em}.rich-content blockquote{margin:1em 0;padding:12px 18px;border-left:3px solid #10b981;background:#ecfdf5}.rich-content a{color:#047857;text-decoration:underline}.rich-content hr{margin:24px 0;border-top:1px solid #d4d4d8}.rich-table-scroll,.rich-content .tableWrapper{max-width:100%;overflow-x:auto;margin:16px 0}.rich-content table{width:100%;border-collapse:collapse;table-layout:fixed}.rich-content th,.rich-content td{position:relative;border:1px solid #d4d4d8;padding:10px;min-width:70px;vertical-align:top}.rich-content th{background:#ecfdf5;font-weight:700;text-align:left}.rich-content td p,.rich-content th p{margin:0}.rich-content .selectedCell{background:#d1fae5}.rich-editor .tiptap{min-height:250px;max-height:55vh;overflow-y:auto;padding:16px;outline:none}.rich-editor .tiptap:focus{box-shadow:inset 0 0 0 2px #10b981}.rich-editor-status{padding:6px 12px;font-size:11px;color:#71717a;border-top:1px solid #e4e4e7}@media(max-width:640px){.rich-toolbar,.rich-content th,.rich-content td{padding:7px}.rich-content table{min-width:320px}}.post-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0008;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.post-editor-panel{width:100%;max-width:1100px;max-height:92dvh;overflow-y:auto;border-radius:20px;background:#fff;color:#18181b;box-shadow:0 24px 80px #0003}.post-editor-header{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid #e4e4e7;background:#fff}.post-editor-header h2{font-size:20px;font-weight:800}.post-editor-header button{display:flex;align-items:center;gap:6px;border-radius:10px;padding:10px 12px;background:#f4f4f5;font-size:13px;font-weight:700}.post-editor-header button:disabled{opacity:.4}.post-editor-content{padding:20px 24px 24px}.article-composer{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:start}.article-composer:has(>.rich-editor:only-child){grid-template-columns:minmax(0,1fr)}.photo-library{min-width:0;border:1px solid #d4d4d8;border-radius:12px;background:#f8faf9;overflow:hidden}.photo-library summary{padding:12px;cursor:pointer;font-size:14px;font-weight:700}.photo-library summary span{float:right;font-size:12px;color:#71717a}.photo-library-body{padding:0 10px 10px}.photo-library-body>p{font-size:12px;line-height:1.6;margin-bottom:10px;color:#71717a}.photo-upload{display:block;padding:9px;margin-bottom:10px;border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;text-align:center;font-size:13px;font-weight:700;color:#047857;cursor:pointer}.photo-upload input{display:block;max-width:100%;margin-top:6px;font-size:10px}.photo-library-list{display:grid;gap:12px;max-height:57vh;overflow-y:auto;padding:2px}.library-photo{position:relative;border:1px solid #e4e4e7;border-radius:9px;background:#fff;overflow:hidden;cursor:grab;transition:opacity .15s}.library-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}.library-photo-label{position:absolute;top:6px;left:6px;border-radius:5px;padding:3px 6px;background:#064e3bdd;color:#fff;font-size:10px}.library-photo>div{display:flex;flex-wrap:wrap;gap:5px;padding:7px}.library-photo button{padding:5px;border:1px solid #e4e4e7;border-radius:5px;font-size:11px}.library-photo button:first-child{color:#047857;font-weight:700}.library-photo.is-dragging,.article-image-node.is-dragging{opacity:.35}.article-image-node{margin:18px 0;padding:5px;border:2px solid transparent;border-radius:10px;cursor:grab}.article-image-node img{width:100%;height:auto;border-radius:6px;pointer-events:none}.article-image-node figcaption{font-size:11px;text-align:center;color:#71717a;padding:5px;background:#f4f4f5}.article-image-node.is-selected{border-color:#10b981}.article-body-photo{display:block;width:100%;height:auto;border-radius:14px;margin:24px 0}.article-photo-button{display:block;width:100%}@media(max-width:899px){.article-composer{grid-template-columns:minmax(0,1fr)}.photo-library{grid-row:1}.photo-library-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:280px}.post-editor-backdrop{padding:8px}.post-editor-header{padding:12px 16px}.post-editor-content{padding:16px}}@media(max-width:480px){.photo-library-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.editor-discard{position:sticky;top:73px;z-index:26;padding:20px 24px;background:#ecfdf5;border-bottom:1px solid #a7f3d0;font-size:14px}.editor-discard>div{display:flex;gap:10px;margin-top:12px}.editor-discard button{border:1px solid #a7f3d0;background:#fff;padding:8px 12px;border-radius:8px}
