.interactive-banner{-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.interactive-banner-image{will-change:transform;transition:transform .2s ease-out}.interactive-banner-image.dragging{transition:none;cursor:grabbing!important}.interactive-banner-overlay{pointer-events:none;opacity:0;background:#0003;border:2px dashed #60a5fa;transition:opacity .3s;position:absolute;inset:0}.interactive-banner-overlay.visible{opacity:1}.interactive-banner-hint{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:0;background:#000c;border-radius:9999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.interactive-banner-hint.visible{opacity:1}.interactive-banner-controls{z-index:20;opacity:0;transition:opacity .3s;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.interactive-banner-controls.visible{opacity:1}.interactive-banner-controls-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e6;border:1px solid #ffffff1a;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 10px 25px #00000080}.interactive-banner-position{color:#fff;text-align:center;min-width:3rem;font-size:.875rem;font-weight:500}.interactive-banner-arrows{gap:.5rem;display:flex}.interactive-banner-arrow{color:#fff;cursor:pointer;background:#4b5563cc;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.interactive-banner-arrow:hover{background:#6b7280e6;transform:translateY(-1px)}.interactive-banner-arrow:active{transform:translateY(0)}.interactive-banner-actions{gap:.5rem;display:flex}.interactive-banner-save{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.interactive-banner-save:hover{background:#047857;transform:translateY(-1px)}.interactive-banner-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.interactive-banner-cancel{color:#fff;cursor:pointer;background:#4b5563cc;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.interactive-banner-cancel:hover{background:#6b7280e6;transform:translateY(-1px)}.interactive-banner-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width:768px){.interactive-banner-controls-panel{gap:.75rem;margin:0 1rem;padding:.75rem}.interactive-banner-position{min-width:2.5rem;font-size:.75rem}.interactive-banner-arrow{padding:.375rem}.interactive-banner-save,.interactive-banner-cancel{padding:.375rem .75rem;font-size:.75rem}.interactive-banner-hint{padding:.5rem 1rem;font-size:.75rem}}@media (hover:none) and (pointer:coarse){.interactive-banner-arrow,.interactive-banner-save,.interactive-banner-cancel{min-width:44px;min-height:44px}.interactive-banner-controls-panel{gap:1rem}}@media (prefers-contrast:high){.interactive-banner-overlay{background:#00000080;border-color:#fff}.interactive-banner-controls-panel{background:#000;border-color:#fff}.interactive-banner-hint{background:#000;border:1px solid #fff}}@media (prefers-reduced-motion:reduce){.interactive-banner-image,.interactive-banner-overlay,.interactive-banner-hint,.interactive-banner-controls,.interactive-banner-arrow,.interactive-banner-save,.interactive-banner-cancel{transition:none}}.interactive-banner-arrow:focus,.interactive-banner-save:focus,.interactive-banner-cancel:focus{outline-offset:2px;outline:2px solid #60a5fa}.interactive-banner-loading{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;inset:0}.interactive-banner-loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;margin-left:.5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
.ProseMirror{color:#fff;background:#1e1e1e;border:2px solid #374151;border-radius:.5rem;outline:none;min-height:300px;padding:1rem;transition:border-color .2s}.ProseMirror:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.ProseMirror.ProseMirror-focused{border-color:#8b5cf6}.ProseMirror h1{color:#f3f4f6;margin:1rem 0 .5rem;font-size:2rem;font-weight:700}.ProseMirror h2{color:#f3f4f6;margin:1rem 0 .5rem;font-size:1.5rem;font-weight:700}.ProseMirror h3{color:#f3f4f6;margin:1rem 0 .5rem;font-size:1.25rem;font-weight:700}.ProseMirror p{margin:.5rem 0;line-height:1.6}.ProseMirror strong{color:#f9fafb;font-weight:700}.ProseMirror em{color:#e5e7eb;font-style:italic}.ProseMirror u{text-decoration:underline}.ProseMirror s{text-decoration:line-through}.ProseMirror ul{margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.ProseMirror ol{margin:.5rem 0;padding-left:1.5rem;list-style-type:decimal}.ProseMirror li{margin:.25rem 0;line-height:1.5}.ProseMirror li p{margin:0}.ProseMirror a{color:#60a5fa;text-decoration:underline;transition:color .2s}.ProseMirror a:hover{color:#93c5fd}.ProseMirror img{border-radius:.5rem;max-width:100%;height:auto;margin:.5rem 0;box-shadow:0 4px 6px -1px #0000001a}.ProseMirror .text-left{text-align:left}.ProseMirror .text-center{text-align:center}.ProseMirror .text-right{text-align:right}.ProseMirror .text-justify{text-align:justify}.ProseMirror blockquote{color:#d1d5db;background:#8b5cf61a;border-left:4px solid #8b5cf6;border-radius:0 .5rem .5rem 0;margin:1rem 0;padding-left:1rem;font-style:italic}.ProseMirror code{color:#f9fafb;background:#374151;border-radius:.25rem;padding:.125rem .25rem;font-family:Courier New,monospace;font-size:.875rem}.ProseMirror pre{color:#f9fafb;background:#1f2937;border:1px solid #374151;border-radius:.5rem;margin:1rem 0;padding:1rem;overflow-x:auto}.ProseMirror pre code{background:0 0;border-radius:0;padding:0}.ProseMirror table{border-collapse:collapse;background:#1f2937;border-radius:.5rem;width:100%;margin:1rem 0;overflow:hidden}.ProseMirror th,.ProseMirror td{text-align:left;border:1px solid #374151;padding:.5rem}.ProseMirror th{color:#f9fafb;background:#374151;font-weight:700}.ProseMirror td{color:#e5e7eb}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#6b7280;pointer-events:none;height:0}.ProseMirror ::-moz-selection{background:#8b5cf64d}.ProseMirror ::selection{background:#8b5cf64d}.rich-text-toolbar{background:linear-gradient(135deg,#374151 0%,#1f2937 100%);border:2px solid #4b5563;border-bottom:none;border-radius:.75rem .75rem 0 0;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;display:flex}.rich-text-toolbar button{color:#e5e7eb;cursor:pointer;background:#4b5563;border:1px solid #6b7280;border-radius:.375rem;justify-content:center;align-items:center;min-width:2.5rem;height:2.5rem;padding:.5rem;transition:all .2s;display:flex}.rich-text-toolbar button:hover{background:#6b7280;border-color:#8b5cf6;transform:translateY(-1px)}.rich-text-toolbar button.is-active{color:#fff;background:#8b5cf6;border-color:#a855f7;box-shadow:0 2px 4px #8b5cf64d}.rich-text-toolbar button:disabled{opacity:.5;cursor:not-allowed;transform:none}.rich-text-toolbar button:disabled:hover{background:#4b5563;border-color:#6b7280;transform:none}.rich-text-toolbar .toolbar-separator{background:#6b7280;width:1px;height:1.5rem;margin:0 .25rem}.color-picker-button{position:relative}.color-picker-dropdown{z-index:50;background:#1f2937;border:2px solid #4b5563;border-radius:.5rem;grid-template-columns:repeat(6,1fr);gap:.25rem;padding:.5rem;display:grid;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #0000004d}.color-picker-dropdown button{cursor:pointer;border:1px solid #6b7280;border-radius:.25rem;width:1.5rem;height:1.5rem;transition:transform .1s}.color-picker-dropdown button:hover{border-color:#fff;transform:scale(1.1)}@media (max-width:768px){.rich-text-toolbar{gap:.25rem;padding:.5rem}.rich-text-toolbar button{min-width:2rem;height:2rem;padding:.25rem}.ProseMirror{min-height:200px;padding:.75rem}}.rich-text-editor-container{animation:.3s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rich-text-editor-error .ProseMirror,.rich-text-editor-error .rich-text-toolbar{border-color:#ef4444}.rich-text-editor-loading{opacity:.7;pointer-events:none}.rich-text-editor-loading .rich-text-toolbar{background:#374151}.rich-text-editor-loading .ProseMirror{background:#1f2937}
