body.is-compact-app{overflow:hidden}body.is-compact-app main{max-width:100%;margin:0;padding:0}body.is-compact-app .mobile-header{display:none}@media (width>=900px){body.is-compact-app main{padding-top:72px}}.app-editor{flex-direction:column;height:100dvh;display:flex}@media (width>=900px){.app-editor{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:560px;height:calc(100dvh - 72px);margin:0 auto}}.app-editor-bar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.app-editor-back,.app-editor-download{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.app-editor-back svg,.app-editor-download svg{width:16px;height:16px}.app-editor-download{background:var(--primary);color:#fff;border-color:#0000}.app-editor-download svg{color:#fff}.app-editor-title{text-align:center;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Baloo,sans-serif;font-size:15px;font-weight:800;overflow:hidden}@media (width>=640px){.app-editor-download{display:none}}.app-editor-canvas-area{background:#f5f3fa;flex:none;justify-content:center;align-items:center;padding:16px;display:flex}.editor-canvas-frame{background:#efedf5 50%/cover;border-radius:12px;width:100%;max-width:300px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 26px #201e2b24}@media (height>=720px){.editor-canvas-frame{max-width:340px}}#editorCanvas{width:100%;height:100%;display:block}.app-editor-panel{-webkit-overflow-scrolling:touch;min-height:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.editor-field{border:1px solid var(--border);background:#fff;border-radius:14px;flex:none;padding:12px 14px}.editor-field label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.editor-field input[type=text]{border:1px solid var(--border);border-radius:9px;width:100%;padding:9px 10px;font-family:inherit;font-size:14px}.editor-field input[type=text]:focus{outline:2px solid var(--primary);outline-offset:1px}.editor-image-row{align-items:center;gap:10px;display:flex}.editor-image-thumb{object-fit:cover;border:1px solid var(--border);border-radius:10px;flex:none;width:42px;height:42px}.editor-upload-btn{border:1.5px dashed var(--border);color:var(--muted);cursor:pointer;text-align:center;background:#f9f8fc;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:13px;font-weight:700;display:flex}.editor-upload-btn:hover{border-color:var(--primary);color:var(--primary)}.editor-upload-btn svg{flex:none;width:16px;height:16px}.editor-edit-btn{border:1px solid var(--border);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;flex:none;padding:10px 12px;font-size:12px;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;flex:none;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:15px;font-size:14.5px;font-weight:800;transition:transform .18s;display:flex}.editor-download-btn:hover{transform:translateY(-1px)}.editor-download-btn svg{width:17px;height:17px}.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:420px;padding:18px}.cropper-image-wrap{background:#111;border-radius:10px;width:100%;height:55dvh;max-height:420px;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}
