.img-dropzone{border:2px dashed var(--card-border);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:14px;padding:22px 18px;transition:border-color .15s,background .15s;display:flex}.img-dropzone:hover,.img-dropzone.drag-over{border-color:var(--accent);background:#38bdf80f}.img-dropzone .dz-text{color:var(--fg-muted);font-size:.85rem;line-height:1.5}.img-dropzone input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.privacy-note{border-radius:var(--r-md);color:var(--fg-muted);background:#4ade8014;border:1px solid #4ade804d;align-items:flex-start;gap:8px;margin:14px 0 0;padding:12px 14px;font-size:.82rem;line-height:1.5;display:flex}.upload-preview-row{align-items:center;gap:12px;margin-top:18px;display:flex}.upload-thumb{object-fit:cover;border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-shrink:0;width:64px;height:84px}.upload-thumb-wrap{border-radius:10px;flex-shrink:0;line-height:0;display:block}.upload-thumb-wrap .upload-thumb{display:block}.upload-preview-meta{flex:1;min-width:0}.upload-preview-meta .field-label{text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;overflow:hidden}.btn-small{padding:6px 14px;font-size:.78rem}.model-gate{border:1px solid var(--card-border);border-radius:var(--r-md);background:var(--card-bg);margin-top:16px;padding:14px}.model-gate .field-hint{margin-bottom:10px}.bg-chip{align-items:center;gap:8px;display:inline-flex}.bg-chip:before{content:"";background:var(--chip-swatch,#999);border:1px solid rgb(var(--ink) / .35);border-radius:50%;flex-shrink:0;width:16px;height:16px}.bg-chip-custom{cursor:pointer;position:relative}.bg-chip-custom input[type=color]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-crop-frame{border:1px solid var(--card-border);border-radius:var(--r-md);background:repeating-conic-gradient(#2a3244 0% 25%,#232a3a 0% 50%) 0 0/20px 20px;justify-content:center;margin-top:10px;padding:10px;display:flex}#preview-canvas{cursor:grab;touch-action:none;width:auto;max-width:100%;height:auto;max-height:60vh;box-shadow:0 4px 18px rgb(var(--shade) / calc(.35 * var(--shade-a)));border-radius:6px}#preview-canvas:active{cursor:grabbing}#zoom-range{width:100%;accent-color:var(--accent);margin-top:12px}.debug-info{border-radius:var(--r-md);color:var(--fg-muted);white-space:pre-wrap;word-break:break-word;background:#facc1514;border:1px dashed #facc1580;margin-top:14px;padding:10px 12px;font-size:.72rem}.sheet-preview-frame{border:1px solid var(--card-border);border-radius:var(--r-md);background:repeating-conic-gradient(#2a3244 0% 25%,#232a3a 0% 50%) 0 0/20px 20px;justify-content:center;margin-top:10px;padding:10px;display:flex}#sheet-canvas{max-width:100%;height:auto;box-shadow:0 4px 18px rgb(var(--shade) / calc(.35 * var(--shade-a)));border-radius:4px}@media (width<=560px){.upload-preview-row{align-items:flex-start}}@media (prefers-reduced-motion:no-preference){#upload-preview:not([hidden]) .upload-preview-row{animation:file-in .45s var(--spring) both}#editor:not([hidden]){animation:file-in .5s var(--ease) both}#result:not([hidden]){animation:file-in .5s var(--ease) 80ms both}}:root[data-scheme=light] .photo-crop-frame,:root[data-scheme=light] .sheet-preview-frame{background:repeating-conic-gradient(#e2e6ee 0% 25%,#f4f6fa 0% 50%) 0 0/20px 20px}
