*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{color:#2d3436;-webkit-font-smoothing:antialiased;background:#f8f9fa;height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px}#app{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer;border:none;border-radius:8px;font-family:inherit;font-size:.9rem;transition:background .2s,transform .2s,box-shadow .2s}button:active{transform:scale(.97)}input,select{border:1px solid #dfe6e9;border-radius:8px;outline:none;padding:.4rem .7rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce726}label{color:#636e72;font-size:.82rem;font-weight:500}.btn-primary{color:#fff;background:#6c5ce7;padding:.6rem 1.2rem;font-weight:600;box-shadow:0 1px 4px #0000000f}.btn-primary:hover{background:#5a4bd1;box-shadow:0 4px 16px #00000014}.btn-secondary{color:#2d3436;background:#fff;border:1px solid #dfe6e9;padding:.6rem 1.2rem;font-weight:500}.btn-secondary:hover{background:#f1f3f9}.btn-danger{color:#fff;background:#d63031;padding:.4rem .8rem;font-size:.8rem}.btn-danger:hover{filter:brightness(1.1)}.btn-success{color:#fff;background:#00b894;padding:.6rem 1.4rem;font-weight:600}.btn-success:hover{filter:brightness(1.05);box-shadow:0 4px 16px #00000014}.uploader.svelte-1vsvcmb{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2.5px dashed #dfe6e9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:520px;padding:4rem 2rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #00000014}.uploader.svelte-1vsvcmb:hover,.uploader.svelte-1vsvcmb:focus-visible{background:#6c5ce70a;border-color:#6c5ce7;outline:none}.uploader.dragging.svelte-1vsvcmb{background:#6c5ce714;border-color:#6c5ce7;box-shadow:0 0 0 4px #6c5ce726,0 4px 16px #00000014}.uploader__icon.svelte-1vsvcmb{color:#6c5ce7;background:#6c5ce71a;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.uploader__icon.svelte-1vsvcmb svg{width:38px;height:38px}.uploader.svelte-1vsvcmb h2:where(.svelte-1vsvcmb){color:#2d3436;font-size:1.3rem;font-weight:700}.uploader.svelte-1vsvcmb p:where(.svelte-1vsvcmb){color:#636e72;font-size:.95rem}.uploader__hint.svelte-1vsvcmb{color:#b2bec3;background:#f8f9fa;border:1px solid #dfe6e9;border-radius:20px;padding:.3rem .8rem;font-size:.78rem}.grid-wrap.svelte-41d1sp{flex:1;padding:1.5rem;overflow-y:auto}.grid.svelte-41d1sp{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.grid__item.svelte-41d1sp{cursor:pointer;background:#fff;border:2px solid #dfe6e9;border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .6rem .4rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 4px #0000000f}.grid__item.svelte-41d1sp:hover{border-color:#6c5ce7;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.grid__thumb.svelte-41d1sp{aspect-ratio:210/297;background:#eee;border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.grid__thumb.svelte-41d1sp img:where(.svelte-41d1sp){object-fit:contain;width:100%;height:100%;display:block}.grid__label.svelte-41d1sp{color:#636e72;font-size:.78rem;font-weight:600}.editor.svelte-1bfeqgu{background:#f8f9fa;flex-direction:column;flex:1;display:flex;overflow:hidden}.editor__toolbar.svelte-1bfeqgu{background:#fff;border-bottom:1px solid #dfe6e9;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;box-shadow:0 1px 4px #0000000f}.editor__body.svelte-1bfeqgu{flex:1;gap:0;display:flex;overflow:hidden}.editor__canvas-wrap.svelte-1bfeqgu{background:#e9edf2;flex:1;justify-content:center;align-items:flex-start;padding:1.5rem;display:flex;overflow:auto}.editor__stage.svelte-1bfeqgu{cursor:default;border-radius:2px;box-shadow:0 8px 32px #0000001f}.editor__stage.cursor-crosshair.svelte-1bfeqgu{cursor:crosshair}.editor__props.svelte-1bfeqgu{background:#fff;border-left:1px solid #dfe6e9;flex-direction:column;gap:.7rem;width:240px;min-width:240px;padding:1rem;display:flex;overflow-y:auto}.editor__props.svelte-1bfeqgu h3:where(.svelte-1bfeqgu){color:#2d3436;border-bottom:1px solid #dfe6e9;padding-bottom:.5rem;font-size:.9rem;font-weight:700}.editor__props.svelte-1bfeqgu label:where(.svelte-1bfeqgu){color:#636e72;flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.editor__props.svelte-1bfeqgu label:where(.svelte-1bfeqgu) input[type=text],.editor__props.svelte-1bfeqgu label:where(.svelte-1bfeqgu) input[type=number]{width:100%}.editor__props.svelte-1bfeqgu .font-size-row:where(.svelte-1bfeqgu){align-items:center;gap:.5rem;display:flex}.editor__props.svelte-1bfeqgu .font-size-row:where(.svelte-1bfeqgu) input[type=range]{flex:1}.editor__props.svelte-1bfeqgu .font-size-row:where(.svelte-1bfeqgu) span:where(.svelte-1bfeqgu){color:#6c5ce7;min-width:32px;font-size:.85rem;font-weight:600}.editor__props.editor__props--empty.svelte-1bfeqgu{justify-content:center;align-items:center}.toolbar__group.svelte-1bfeqgu{align-items:center;gap:.4rem;display:flex}.toolbar__config.svelte-1bfeqgu{background:#6c5ce70a;border:1px solid #6c5ce726;border-radius:8px;flex-wrap:wrap;padding:.3rem .6rem}.toolbar__nav.svelte-1bfeqgu{gap:.5rem;margin-left:auto}.tool-btn.svelte-1bfeqgu{color:#636e72;background:#fff;border:1.5px solid #dfe6e9;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.tool-btn.svelte-1bfeqgu svg{width:16px;height:16px}.tool-btn.svelte-1bfeqgu:hover{color:#6c5ce7;border-color:#6c5ce7}.tool-btn.active.svelte-1bfeqgu{color:#fff;background:#6c5ce7;border-color:#6c5ce7;box-shadow:0 1px 4px #0000000f}.page-indicator.svelte-1bfeqgu{color:#636e72;padding:0 .4rem;font-size:.85rem;font-weight:600}.btn-secondary.svelte-1bfeqgu{color:#2d3436;cursor:pointer;background:#fff;border:1px solid #dfe6e9;border-radius:8px;padding:.4rem .8rem;font-size:.82rem;font-weight:500;transition:all .2s}.btn-secondary.svelte-1bfeqgu:hover:not(:disabled){background:#f1f3f9}.btn-secondary.svelte-1bfeqgu:disabled{opacity:.4;cursor:default}.checkbox-label.svelte-1bfeqgu{cursor:pointer;flex-direction:row!important;align-items:center!important;gap:.4rem!important}.hint.svelte-1bfeqgu{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.hint.svelte-1bfeqgu span:where(.svelte-1bfeqgu){font-size:2rem}.hint.svelte-1bfeqgu p:where(.svelte-1bfeqgu){color:#b2bec3;max-width:160px;font-size:.82rem}.btn-danger.svelte-1bfeqgu{color:#fff;cursor:pointer;background:#d63031;border:none;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;transition:filter .2s}.btn-danger.svelte-1bfeqgu:hover{filter:brightness(1.1)}.app.svelte-1n46o8q{background:#f8f9fa;flex-direction:column;min-height:100vh;display:flex}.app__header.svelte-1n46o8q{z-index:100;background:#fff;border-bottom:1px solid #dfe6e9;align-items:center;gap:1rem;min-height:52px;padding:.6rem 1.4rem;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0000000f}.app__main.svelte-1n46o8q{flex-direction:column;flex:1;display:flex;overflow:hidden}.logo.svelte-1n46o8q{cursor:pointer;color:#6c5ce7;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.3rem .6rem;font-size:1.1rem;font-weight:700;transition:background .2s;display:flex}.logo.svelte-1n46o8q:hover{background:#6c5ce712}.logo.svelte-1n46o8q svg{stroke:#6c5ce7;width:22px;height:22px}.breadcrumb.svelte-1n46o8q{flex:1;align-items:center;gap:.35rem;display:flex}.crumb.svelte-1n46o8q{color:#636e72;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.3rem;max-width:280px;padding:.2rem .4rem;font-size:.85rem;transition:color .2s,background .2s;display:flex;overflow:hidden}.crumb.svelte-1n46o8q:hover{color:#6c5ce7;background:#6c5ce70f}.crumb--active.svelte-1n46o8q{color:#2d3436;cursor:default;background:0 0;padding:.2rem .4rem;font-size:.85rem;font-weight:600}.crumb__badge.svelte-1n46o8q{color:#6c5ce7;background:#6c5ce71a;border-radius:20px;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.crumb__sep.svelte-1n46o8q{color:#b2bec3;font-size:1rem}.header__actions.svelte-1n46o8q{align-items:center;gap:.5rem;margin-left:auto;display:flex}.fields-badge.svelte-1n46o8q{color:#00b894;background:#00b8941f;border-radius:20px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.btn-success.svelte-1n46o8q{color:#fff;cursor:pointer;background:#00b894;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-success.svelte-1n46o8q:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 16px #00000014}.btn-success.svelte-1n46o8q:disabled{opacity:.5;cursor:default}.upload-view.svelte-1n46o8q{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;padding:3rem 1.5rem;display:flex}.upload-view__hero.svelte-1n46o8q{text-align:center;max-width:500px}.upload-view__hero.svelte-1n46o8q h1:where(.svelte-1n46o8q){color:#2d3436;margin-bottom:.5rem;font-size:2rem;font-weight:800}.upload-view__hero.svelte-1n46o8q p:where(.svelte-1n46o8q){color:#636e72;font-size:1rem;line-height:1.6}.grid-view.svelte-1n46o8q{flex-direction:column;flex:1;display:flex;overflow:hidden}.grid-view__header.svelte-1n46o8q{padding:1rem 1.5rem 0}.grid-view__header.svelte-1n46o8q h2:where(.svelte-1n46o8q){color:#2d3436;font-size:1.1rem;font-weight:700}.grid-view__header.svelte-1n46o8q p:where(.svelte-1n46o8q){color:#636e72;margin-top:.2rem;font-size:.85rem}.loading-card.svelte-1n46o8q{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:.8rem;width:100%;max-width:520px;padding:2.5rem 3rem;display:flex;box-shadow:0 4px 16px #00000014}.loading-card.svelte-1n46o8q p:where(.svelte-1n46o8q){color:#636e72;font-size:.95rem}.progress-info.svelte-1n46o8q{justify-content:space-between;gap:1rem;width:100%;display:flex}.progress-label.svelte-1n46o8q{color:#2d3436;font-size:.9rem;font-weight:600}.progress-eta.svelte-1n46o8q{color:#b2bec3;font-size:.82rem}.progress-bar.svelte-1n46o8q{background:#dfe6e9;border-radius:5px;width:100%;height:10px;overflow:hidden}.progress-bar__fill.svelte-1n46o8q{background:#6c5ce7;border-radius:5px;height:100%;transition:width .3s}.progress-pct.svelte-1n46o8q{color:#6c5ce7;font-size:1.1rem;font-weight:700}.error-msg.svelte-1n46o8q{color:#d63031;background:#d6303112;border:1px solid #d6303133;border-radius:8px;max-width:520px;padding:.6rem 1rem;font-size:.9rem}.error-toast.svelte-1n46o8q{color:#d63031;background:#d630311a;border:1px solid #d6303140;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:.88rem;font-weight:500;display:flex}.error-toast.svelte-1n46o8q button:where(.svelte-1n46o8q){color:#d63031;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .2rem;font-size:1rem}.error-toast.svelte-1n46o8q button:where(.svelte-1n46o8q):hover{opacity:1}.spinner.svelte-1n46o8q{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite svelte-1n46o8q-spin;display:inline-block}.spinner--lg.svelte-1n46o8q{border-width:3px;border-color:#6c5ce7 #6c5ce733 #6c5ce733;width:36px;height:36px}@keyframes svelte-1n46o8q-spin{to{transform:rotate(360deg)}}
