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;transition:transform .15s}.app-editor-download svg{color:#fff}.app-editor-download:active{transform:scale(.92)}.app-editor-download.is-loading{opacity:.6;pointer-events:none}.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}.download-menu-wrap{flex:none;position:relative}.download-menu{z-index:20;border:1px solid var(--border);width:220px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;background:#fff;border-radius:14px;padding:6px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)scale(.98)}.download-menu.open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.download-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:9px 12px;display:flex}.download-menu-item:hover,.download-menu-item.is-active{background:#f1faf9}.download-menu-format{color:var(--ink);font-size:13.5px;font-weight:800}.download-menu-hint{color:var(--muted);font-size:11px;font-weight:600}.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}}.editor-canvas-frame canvas,.editor-canvas-frame>div{width:100%!important;height:100%!important}.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-fields-row{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.editor-photo-card{flex:0 0 108px;width:108px;height:132px;position:relative}.editor-photo-upload{border:1.5px dashed var(--border);cursor:pointer;background:#f9f8fc;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.editor-photo-upload:hover{border-color:var(--primary)}.editor-photo-placeholder{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:0 6px;display:flex}.editor-photo-placeholder svg{width:16px;height:16px}.editor-photo-placeholder span{font-size:11px;font-weight:700;line-height:1.2}.editor-photo-thumb{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.editor-photo-thumb:not(.hidden)~.editor-photo-placeholder{display:none}.editor-photo-thumb:not(.hidden){border-radius:14px}.editor-photo-card:has(.editor-photo-thumb:not(.hidden)) .editor-photo-upload{border-style:solid;border-color:var(--border)}.editor-photo-edit{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14121c8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:6px;right:6px}.editor-photo-edit svg{width:13px;height:13px}.editor-text-card{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;flex:230px;gap:8px;min-width:230px;padding:12px 14px;display:flex}.editor-text-card label{color:var(--muted);font-size:12px;font-weight:700;display:block}.editor-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.editor-card-head label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.editor-remove-btn{width:20px;height:20px;color:var(--muted);cursor:pointer;background:#f1eff7;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.editor-remove-btn svg{width:11px;height:11px}.editor-remove-btn:hover{color:#d9483b;background:#fce4e4}.editor-remove-btn-photo{z-index:2;color:#fff;background:#14121c8c;width:22px;height:22px;position:absolute;top:6px;left:6px}.editor-remove-btn-photo:hover{background:#d9483b}.editor-text-card input[type=text]{border:1px solid var(--border);border-radius:9px;width:100%;padding:9px 10px;font-family:inherit;font-size:14px}.editor-text-card input[type=text]:focus{outline:2px solid var(--primary);outline-offset:1px}.editor-text-style-row{align-items:center;gap:6px;display:flex}.editor-style-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#f9f8fc;border-radius:8px;flex:none;font-size:13px;font-weight:800}.editor-style-btn.is-italic{font-style:italic}.editor-style-btn:hover{border-color:var(--primary);color:var(--primary)}.editor-style-btn[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.editor-color-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:none;width:30px;height:30px;display:block;position:relative;overflow:hidden}.editor-color-btn input[type=color]{cursor:pointer;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;inset:-4px}.editor-add-row{flex:none;gap:10px;display:flex}.editor-add-btn{border:1.5px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:13px;font-weight:700;display:flex}.editor-add-btn:hover{border-color:var(--primary);color:var(--primary)}.editor-add-btn svg{width:15px;height:15px}.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}
