.editor-toast{position:fixed;top:24px;left:50%;transform:translate(-50%,-20px);z-index:10000;padding:12px 22px;border-radius:12px;font-size:.88rem;font-weight:500;color:var(--text-primary);background:linear-gradient(135deg,#ffffff24,#ffffff0f),var(--lg-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(16px) saturate(var(--glass-saturate));box-shadow:0 12px 36px #0000002e,inset 1px 1px .5px #fff6;opacity:0;transition:opacity .28s ease,transform .28s cubic-bezier(.2,.9,.3,1.2);pointer-events:none;max-width:90vw}.editor-toast.show{opacity:1;transform:translate(-50%)}.editor-toast-error{border-color:#ef444466;color:#ef4444}.editor-toast-success{border-color:#22c55e66;color:#22c55e}.flat .editor-toast{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface);box-shadow:0 8px 24px #0000001f}.editor-section{padding:var(--sp-5);margin-bottom:var(--sp-4)}.section-title{font-size:1.05rem;font-weight:700;margin-bottom:var(--sp-4);color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-2)}.required{color:#ef4444;font-size:.8em}.form-group{margin-bottom:var(--sp-4)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-2)}.form-hint{font-size:.75rem;color:var(--text-tertiary);font-weight:400;margin-left:var(--sp-1)}.form-input,.form-textarea,.form-select{width:100%;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--lg-border);background:var(--lg-bg-subtle);backdrop-filter:blur(var(--lg-blur));-webkit-backdrop-filter:blur(var(--lg-blur));color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.flat .form-input,.flat .form-textarea,.flat .form-select{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface);border-color:var(--border)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--brand);background:var(--lg-bg);box-shadow:0 0 0 3px var(--brand-a15)}.form-textarea{resize:vertical;min-height:80px;line-height:1.6}.form-textarea-sm{min-height:60px}.form-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.form-row .form-label{margin-bottom:0}.cover-upload{position:relative;border:2px dashed var(--lg-border);border-radius:var(--r-md);overflow:hidden;transition:all .25s ease;background:var(--lg-bg-subtle)}.cover-upload.drag-over{border-color:var(--brand);background:var(--brand-a15)}.cover-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-5);cursor:pointer;gap:var(--sp-2);color:var(--text-tertiary)}.cover-placeholder span{font-size:.9rem}.cover-hint{font-size:.75rem!important;opacity:.7}.cover-preview{position:relative;min-height:160px}.cover-preview img{display:block;width:100%;max-height:300px;object-fit:cover}.cover-preview-error{min-height:200px;background:var(--lg-bg-subtle);display:flex;align-items:center;justify-content:center}.cover-preview-error img{display:none}.cover-preview-error .cover-overlay{opacity:1;background:#00000080}.cover-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);opacity:0;transition:opacity .25s}.cover-preview:hover .cover-overlay{opacity:1}.cover-btn{padding:10px 22px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.5);background:#fff3;color:#fff;font-size:.9rem;cursor:pointer;backdrop-filter:blur(8px);transition:all .2s}.cover-btn:hover{background:#ffffff59}.cover-btn-danger:hover{background:#ef4444b3;border-color:#ef4444}.md-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:var(--sp-2);border-radius:var(--r-sm) var(--r-sm) 0 0;border:1px solid var(--lg-border);border-bottom:none;background:var(--lg-bg-subtle)}.md-tool{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);border-radius:var(--r-xs);font-size:.8rem;font-weight:600;transition:all .15s}.md-tool:hover{background:var(--brand-a15);color:var(--brand)}.md-tool.active{background:var(--brand-a25);color:var(--brand)}.md-tool-sep{width:1px;height:20px;background:var(--lg-border);margin:0 4px}.md-editor-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--lg-border);border-radius:0 0 var(--r-sm) var(--r-sm);overflow:hidden;min-height:400px}.md-editor-wrap.preview-only{grid-template-columns:0 1fr}.md-editor-wrap.preview-only .md-textarea{display:none}.md-textarea{width:100%;min-height:400px;padding:var(--sp-4);border:none;resize:vertical;background:transparent;color:var(--text-primary);font-family:var(--font-mono, "Courier New", monospace);font-size:.875rem;line-height:1.7;outline:none}.md-preview{padding:var(--sp-4);overflow-y:auto;border-left:1px solid var(--lg-border);background:var(--lg-bg-subtle);color:var(--text-primary);font-size:.9rem;line-height:1.7}.md-editor-wrap.preview-only .md-preview{border-left:none}.md-preview h1{font-size:1.5rem;font-weight:700;margin:0 0 var(--sp-3)}.md-preview h2{font-size:1.25rem;font-weight:700;margin:var(--sp-3) 0 var(--sp-2)}.md-preview h3{font-size:1.1rem;font-weight:600;margin:var(--sp-3) 0 var(--sp-2)}.md-preview p{margin-bottom:var(--sp-3)}.md-preview pre{background:#00000014;padding:var(--sp-3);border-radius:var(--r-xs);overflow-x:auto;margin:var(--sp-3) 0}.dark .md-preview pre{background:#0000004d}.md-preview code{font-family:var(--font-mono, monospace);font-size:.85em;color:var(--brand)}.md-preview pre code{color:inherit}.md-preview blockquote{border-left:3px solid var(--brand);padding-left:var(--sp-3);color:var(--text-secondary);margin:var(--sp-3) 0}.md-preview ul{padding-left:var(--sp-4);margin-bottom:var(--sp-3)}.md-preview li{margin-bottom:var(--sp-1);list-style:disc}.md-preview img{max-width:100%;border-radius:var(--r-xs);margin:var(--sp-2) 0}.md-preview a{color:var(--brand);text-decoration:underline}.md-preview strong{font-weight:700}.tag-picker{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tag-picker-loading{color:var(--text-tertiary);font-size:.85rem;padding:var(--sp-2)}.tag-chip{padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--lg-border);background:var(--lg-bg-subtle);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s;user-select:none}.tag-chip:hover{border-color:var(--brand);color:var(--brand)}.tag-chip-selected{background:var(--brand-a15);border-color:var(--brand);color:var(--brand);font-weight:600}.radio-group{display:flex;flex-direction:row;align-items:center;gap:var(--sp-4)}.radio-item{display:inline-flex;flex-direction:row;align-items:center;gap:6px;cursor:pointer;font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.radio-item input{cursor:pointer;width:16px;height:16px;accent-color:var(--brand)}.radio-item span{line-height:1}.switch-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.88rem}.switch-toggle input{width:38px;height:22px;appearance:none;background:#7878784d;border-radius:22px;position:relative;cursor:pointer;transition:.2s}.switch-toggle input:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0003}.switch-toggle input:checked{background:var(--brand)}.switch-toggle input:checked:before{transform:translate(16px)}.toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}.toggle-cell{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.toggle-cell .form-label{margin-bottom:0}.toggle-control{display:flex;align-items:center;min-height:42px}.toggle-cell .form-select{width:100%}@media (max-width: 1024px){.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.toggle-grid{grid-template-columns:1fr}}.editor-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) 0}@media (max-width: 768px){.md-editor-wrap{grid-template-columns:1fr}.md-preview{border-left:none;border-top:1px solid var(--lg-border)}.md-editor-wrap.preview-only .md-preview{border-top:none}.form-row{flex-direction:column;align-items:flex-start}}
