.back-link{color:var(--text-muted);font-size:14px;display:inline-block;margin-bottom:16px}.back-link:hover{color:var(--accent)}.tool-hero{margin-bottom:32px}.tool-hero h2{font-size:28px;font-weight:600;margin:0 0 8px}.tool-hero .subtitle{color:var(--text-muted);margin:0 0 16px}.stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:20px}.stage h3{margin:0 0 12px;font-size:17px;font-weight:600}.stage .hint{color:var(--text-muted);font-size:13px;margin:0 0 16px}#app>.stage{display:none}#app[data-state=idle] [data-show~=idle],#app[data-state=loading] [data-show~=loading],#app[data-state=loaded] [data-show~=loaded],#app[data-state=configuring] [data-show~=loaded],#app[data-state=configuring] [data-show~=configuring],#app[data-state=previewed] [data-show~=loaded],#app[data-state=previewed] [data-show~=configuring],#app[data-state=previewed] [data-show~=previewed],#app[data-state=splitting] [data-show~=splitting],#app[data-state=done] [data-show~=done],#app[data-state=error] [data-show~=error]{display:block}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;max-width:640px;min-height:260px;margin:0 auto;padding:48px 32px;border:2px dashed var(--border);border-radius:var(--radius);text-align:center;background:#f9fafb;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:#eff6ff}.dropzone.dragover{transform:scale(1.01)}.dropzone:before{content:"";display:block;width:56px;height:56px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='17 8 12 3 7 8'/><line x1='12' y1='3' x2='12' y2='15'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;transition:filter .15s}.dropzone:hover:before,.dropzone.dragover:before{filter:hue-rotate(210deg) saturate(2) brightness(.9)}.dropzone input[type=file]{display:none}.dropzone .big{font-size:18px;font-weight:500;margin:0;color:var(--text)}.dropzone .small{color:var(--text-muted);font-size:13.5px;margin:0;max-width:440px}.file-info{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;background:#f3f4f6;border-radius:8px;font-size:14px}.file-info .name{font-weight:500}.file-info .meta{color:var(--text-muted)}.file-info .reset{margin-left:auto;font-size:13px;padding:4px 10px}.form-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:8px}.form-row label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:4px}.form-row .field{min-width:180px}.form-row .field.grow{flex:1 1 200px}.preview-panel{margin-top:16px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:14px}.preview-panel .row{display:flex;justify-content:space-between;gap:16px;padding:4px 0}.preview-panel .row span:first-child{color:var(--text-muted)}.preview-panel .row span:last-child{font-weight:500}.preview-panel .samples{margin-top:10px;padding-top:10px;border-top:1px dashed #bae6fd;color:var(--text-muted);font-size:13px}.preview-panel .samples code{display:inline-block;background:#fff;border:1px solid #bae6fd;border-radius:4px;padding:1px 6px;margin:2px 4px 0 0;font-size:12px;color:var(--text)}.progress-wrap{display:flex;flex-direction:column;gap:8px}.progress-wrap progress{width:100%;height:14px}.progress-wrap .phase{font-size:13px;color:var(--text-muted);min-height:18px}.error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;color:var(--danger)}.done-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-bottom:16px;color:#166534}.done-summary ul{margin:8px 0 0;padding-left:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.faq{margin-top:32px}.faq h3{font-size:17px;font-weight:600;margin:0 0 12px}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:8px}.faq summary{font-weight:500;cursor:pointer}.faq details[open] summary{margin-bottom:8px}.faq details p{margin:0;color:var(--text-muted);font-size:14px}.inline-error{color:var(--danger);font-size:13px;margin-top:4px;min-height:18px}.text-danger{color:var(--danger)}
