.editor-wrap{max-width:100%;padding:20px 0 60px;overflow-x:hidden}.editor-grid{grid-template-columns:minmax(0,1fr);gap:28px;max-width:100%;display:grid}@media (width>=900px){.editor-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start}}.editor-canvas-wrap{box-sizing:border-box;background:#f5f3fa;border-radius:20px;justify-content:center;align-items:center;min-width:0;max-width:100%;padding:20px;display:flex}@media (width>=900px){.editor-canvas-wrap{padding:24px;position:sticky;top:100px}}.editor-canvas-frame{background:#efedf5;border-radius:12px;max-width:100%;position:relative;overflow:hidden;box-shadow:0 16px 40px #201e2b29}#editorCanvas{max-width:100%;height:auto;display:block}.editor-form{flex-direction:column;gap:16px;min-width:0;display:flex}.editor-field{border:1px solid var(--border);background:#fff;border-radius:16px;padding:16px}.editor-field label{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.editor-field input[type=text]{border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14.5px}.editor-field input[type=text]:focus{outline:2px solid var(--primary);outline-offset:1px}.editor-char-count{color:var(--faint);text-align:right;margin-top:5px;font-size:11.5px}.editor-image-row{align-items:center;gap:12px;display:flex}.editor-image-thumb{object-fit:cover;border:1px solid var(--border);border-radius:12px;flex:none;width:56px;height:56px}.editor-upload-btn{border:1.5px dashed var(--border);color:var(--muted);cursor:pointer;text-align:center;background:#f9f8fc;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13.5px;font-weight:700;display:flex}.editor-upload-btn:hover{border-color:var(--primary);color:var(--primary)}.editor-upload-btn svg{flex:none;width:18px;height:18px}.editor-image-actions{align-items:center;gap:8px;display:flex}.editor-edit-btn{border:1px solid var(--border);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:700}.editor-edit-btn:hover{border-color:var(--primary);color:var(--primary)}.editor-download-btn{background:var(--primary);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-fab);border:none;border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:15.5px;font-weight:800;transition:transform .18s;display:flex}.editor-download-btn:hover{transform:translateY(-1px)}.editor-download-btn svg{width:18px;height:18px}.cropper-modal{z-index:200;opacity:0;visibility:hidden;background:#14121cb3;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.cropper-modal.open{opacity:1;visibility:visible}.cropper-modal-inner{background:#fff;border-radius:18px;width:100%;max-width:480px;padding:18px}.cropper-image-wrap{background:#111;border-radius:10px;max-height:60vh;overflow:hidden}.cropper-image-wrap img{max-width:100%;display:block}.cropper-modal-actions{gap:10px;margin-top:16px;display:flex}.cropper-modal-actions button{border:1px solid var(--border);cursor:pointer;background:#f5f3fa;border-radius:10px;flex:1;padding:11px;font-size:13.5px;font-weight:700}.cropper-modal-actions .primary{background:var(--primary);color:#fff;border-color:#0000}.cropper-modal-actions .ghost{background:#fff}.hidden{display:none!important}
