:root{--bg-page: #fafafa;--bg-card: #ffffff;--bg-dark-card: #1f1f1f;--border-color: #eaeaea;--border-strong: #d1d5db;--text-main: #111827;--text-muted: #6b7280;--text-inverse: #f9fafb;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: #eff6ff;--danger: #ef4444;--success: #10b981;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-page);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em;color:var(--text-main)}.app-container{display:flex;flex-direction:column;height:100vh;padding:24px 20px;max-width:1400px;margin:0 auto;width:100%}.app-container.fullscreen{max-width:100%;padding:0}.app-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.workspace-badge{display:inline-flex;align-items:center;gap:6px;background-color:var(--accent-light);color:var(--accent);padding:6px 16px;border-radius:9999px;font-size:.85rem;font-weight:600;margin-bottom:24px}.app-header h1{font-size:2.25rem;margin-bottom:8px}.subtitle{color:var(--text-muted);font-size:1rem;max-width:600px;margin:0 auto 20px}.status-tracker{display:inline-flex;align-items:center;gap:12px}.status-step{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.9rem;font-weight:500}.status-step.current{color:var(--text-main);font-weight:600}.status-step.completed{color:var(--text-main)}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--border-color);color:var(--text-muted);font-size:.8rem;font-weight:600}.status-step.current .step-number,.status-step.completed .step-number{background:var(--text-main);color:var(--bg-card)}.status-divider{width:30px;height:2px;background:var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border-radius:9999px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.btn:hover{background:#f3f4f6}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;border:none;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:#fff;color:var(--text-main)}.btn-danger{background:#fee2e2;color:var(--danger);border:none}.btn-danger:hover{background:#fecaca}.btn-nav{padding:6px 12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0003}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--border-color);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .1s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.main-content{display:flex;flex:1;min-height:0;width:100%}.upload-view{width:100%;display:flex;flex-direction:column;gap:24px}.uploader-grid{display:flex;width:100%;gap:24px}.uploader-column{flex:1}.status-banner{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:16px 24px;border-radius:16px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.status-text{color:var(--success);font-weight:600}.editor-view{display:flex;gap:24px;width:100%;height:100%;padding-bottom:20px}.editor-main{flex:1;display:flex;flex-direction:column;gap:16px;background:var(--bg-dark-card);border-radius:16px;padding:24px;color:var(--text-inverse);box-shadow:var(--shadow-lg);min-height:0}.editor-main h2{color:var(--text-inverse)}.editor-header{display:flex;justify-content:space-between;align-items:center}.preview-nav{display:flex;align-items:center;gap:12px}.preview-count{font-size:.9rem;color:var(--text-muted)}.preview-nav .btn-nav{background:#ffffff1a;border:none;color:#fff}.preview-nav .btn-nav:hover{background:#fff3}.progress-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-card{background:var(--bg-card);padding:40px;border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:20px;min-width:350px;border:1px solid var(--border-color)}.progress-title{font-size:1.25rem;font-weight:700}.progress-bar-container{width:100%;height:8px;background:var(--border-color);border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);transition:width .2s linear}.progress-text{font-weight:600;color:var(--text-muted)}.uploader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--border-color);border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.uploader-container.dragging{border-color:var(--accent);background:var(--accent-light);transform:scale(1.02)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}.upload-label{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-icon-wrapper{background:#0000000d;padding:24px;border-radius:50%;margin-bottom:20px;color:var(--text-muted);transition:all .3s ease}.uploader-container:hover .upload-icon-wrapper{color:var(--accent);background:var(--accent-light);transform:translateY(-5px)}.upload-title{font-size:1.25rem;margin-bottom:8px;color:var(--text-main)}.upload-desc{font-size:.95rem;color:var(--text-muted);text-align:center}.mt-4{margin-top:16px}.editor-container{position:relative;width:100%;flex:1;min-height:0;display:flex;justify-content:center;align-items:center;overflow:hidden;background:transparent;border-radius:12px;padding:10px}.preview-image{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.watermark-overlay{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;justify-content:center;align-items:center;border:1px dashed transparent;transition:border .2s ease}.watermark-overlay.dragging{cursor:grabbing}.watermark-overlay:hover,.watermark-overlay.dragging,.watermark-overlay.active{border-color:var(--accent)}.watermark-overlay img{width:100%;height:100%;object-fit:contain;pointer-events:none}.resize-handle{position:absolute;bottom:-6px;right:-6px;width:12px;height:12px;background:var(--accent);border:2px solid white;border-radius:50%;cursor:nwse-resize;opacity:0;transition:opacity .2s ease,transform .2s ease}.watermark-overlay:hover .resize-handle,.watermark-overlay.dragging .resize-handle{opacity:1}.resize-handle:hover{transform:scale(1.5)}.settings-panel{width:320px;min-width:320px;padding:24px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}@media(max-width:1024px){.settings-panel{width:100%;min-width:unset}}.settings-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-color);margin-bottom:8px}.settings-header h2{font-size:1.2rem;font-weight:500;color:var(--text-main)}.text-accent{color:var(--accent)}.settings-group{display:flex;flex-direction:column;gap:12px}.setting-row{display:flex;justify-content:space-between;align-items:center}.setting-row label{font-size:.9rem;color:var(--text-muted);font-weight:500}.value-badge{background:var(--accent-light);padding:4px 10px;border-radius:9999px;font-size:.8rem;font-weight:600;color:var(--accent);border:1px solid transparent}.export-section{margin-top:auto;padding-top:24px;border-top:1px solid var(--border-color)}.w-full{width:100%}.loading-dots{position:relative}.loading-dots:after{content:"...";position:absolute;animation:dots 1.5s steps(4,end) infinite;width:1.5em;text-align:left}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}
