.rich-content-editor{border:1px solid var(--border-color-soft);border-radius:var(--border-radius-soft);overflow:hidden;font-family:var(--font-family-main);background:var(--bg-offset);box-shadow:0 2px 4px var(--shadow-color-soft)}.rich-content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--bg-subtle-accent);border-bottom:1px solid var(--border-color-soft)}.rich-toolbar-actions,.rich-toolbar-format-group{display:flex;align-items:center;gap:6px}.rich-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0;background-color:var(--bg-offset);border:1px solid var(--border-color-soft);border-radius:50%;color:var(--accent-color);font-size:var(--font-size-small);font-family:var(--font-family-main);cursor:pointer;box-shadow:0 1px 3px var(--shadow-color-soft);transition:all var(--transition-speed) var(--transition-timing)}.rich-toolbar-btn:hover{background-color:var(--bg-subtle-accent);border-color:var(--accent-color-lighter);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color-medium)}.rich-toolbar-btn.active{background-color:var(--accent-color);color:var(--accent-text-color);border-color:var(--accent-color);box-shadow:0 2px 4px var(--shadow-color-medium);transform:translateY(0)}.rich-toolbar-btn:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.rich-toolbar-btn:disabled:hover{background-color:var(--bg-offset);border-color:var(--border-color-soft)}.rich-content-editor-body,.rich-content-viewer{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);min-height:200px;color:var(--primary-text-color);font-size:var(--font-size-base);line-height:var(--line-height-base)}.rich-content-editor-body h1,.rich-content-editor-body h2,.rich-content-editor-body h3,.rich-content-viewer h1,.rich-content-viewer h2,.rich-content-viewer h3{font-family:var(--font-family-headings);line-height:var(--line-height-heading);color:var(--primary-text-color)}.rich-content-editor-body a,.rich-content-viewer a{color:var(--accent-color)}.rich-content-editor-body blockquote,.rich-content-viewer blockquote{border-left:3px solid var(--border-color-medium);margin-left:0;padding-left:calc(var(--spacing-unit) * 2);color:var(--secondary-text-color)}.rich-content-editor-body code,.rich-content-viewer code{background:var(--bg-subtle-accent);border-radius:4px;padding:1px 4px;font-size:.9em}.rich-content-editor-body .ProseMirror>*,.rich-content-viewer>*{overflow:hidden}.rich-content-editor-body .ProseMirror{outline:none}.float-image{margin:0 0 var(--spacing-unit) 0;box-sizing:border-box}.float-image-topBottom{display:block;clear:both;margin-left:auto;margin-right:auto}.float-image-frame{display:block}.float-image-frame,.float-image-media{width:100%;position:relative}.float-image-media.is-positionable{cursor:grab}.float-image-media.is-positionable:active{cursor:grabbing}.float-image img{display:block;width:100%;height:auto;border-radius:var(--border-radius-soft);box-shadow:0 2px 4px var(--shadow-color-soft)}.float-image-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--bg-subtle-accent);color:var(--secondary-text-color);font-size:var(--font-size-small);border-radius:var(--border-radius-soft)}.float-image figcaption,.float-image-caption-input{font-size:var(--font-size-small);color:var(--secondary-text-color);text-align:center;margin-top:4px;font-family:var(--font-family-main)}.float-image-caption-input{width:100%;border:1px solid transparent;background:transparent;padding:2px 4px;border-radius:4px;cursor:text}.float-image-caption-input:focus,.float-image-caption-input:hover{border-color:var(--border-color-soft);outline:none}.float-image-media:hover img{outline:2px dashed var(--border-color-medium);outline-offset:-3px}.float-image-frame.is-selected .float-image-media img{outline:2px solid var(--accent-color);outline-offset:-3px}.float-image-delete-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:rgba(20,20,20,.6);color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-speed) var(--transition-timing),background-color var(--transition-speed) var(--transition-timing)}.float-image-frame.is-selected .float-image-delete-btn,.float-image-media:hover .float-image-delete-btn{opacity:1}.float-image-delete-btn:hover{background:var(--accent-color-darker)}.float-image-wrap-toolbar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:6px;opacity:0;transition:opacity var(--transition-speed) var(--transition-timing)}.float-image-frame.is-selected .float-image-wrap-toolbar,.float-image-media:hover .float-image-wrap-toolbar{opacity:1}.float-image-wrap-toolbar button{padding:4px 10px;border:1px solid rgba(255,255,255,.6);border-radius:var(--border-radius-soft);background:rgba(20,20,20,.5);color:#fff;font-size:var(--font-size-tiny);font-family:var(--font-family-main);cursor:pointer;backdrop-filter:blur(2px);transition:background-color var(--transition-speed) var(--transition-timing)}.float-image-wrap-toolbar button:hover{background:rgba(20,20,20,.75)}.float-image-wrap-toolbar button.active{background:var(--accent-color);border-color:var(--accent-color)}.float-image-drop-indicator{position:fixed;height:3px;border-radius:2px;background:var(--accent-color);box-shadow:0 0 4px var(--shadow-color-medium);pointer-events:none;z-index:10;transform:translateY(-1.5px)}.float-image-resize-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent-color);border:2px solid var(--bg-offset);box-shadow:0 1px 3px var(--shadow-color-medium);opacity:0;transition:opacity var(--transition-speed) var(--transition-timing),transform var(--transition-speed) var(--transition-timing)}.float-image-frame.is-selected .float-image-resize-handle,.float-image-media:hover .float-image-resize-handle{opacity:1}.float-image-resize-handle:hover{transform:scale(1.2)}.float-image-resize-handle-nw{top:4px;left:4px;cursor:nwse-resize}.float-image-resize-handle-ne{top:4px;right:4px;cursor:nesw-resize}.float-image-resize-handle-sw{bottom:4px;left:4px;cursor:nesw-resize}.float-image-resize-handle-se{bottom:4px;right:4px;cursor:nwse-resize}.rich-content-editor-loading,.rich-content-viewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 2);min-height:200px;color:var(--secondary-text-color);font-size:var(--font-size-small);font-family:var(--font-family-main)}