@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--brand-blue:#3b82f6;--brand-blue-hover:#2563eb;--brand-blue-light:#60a5fa;--brand-dark:#09090b;--success:#22c55e;--success-hover:#16a34a;--warning:#f59e0b;--danger:#ef4444;--info:#0ea5e9;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--zinc-950:#09090b;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Consolas", "Monaco", monospace;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.7;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-glow-blue:0 0 20px #3b82f64d;--shadow-glow-green:0 0 20px #22c55e4d;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-modal:1000;--z-toast:10000;--bg-app:var(--zinc-950);--bg-surface:var(--slate-800);--bg-elevated:var(--slate-800);--bg-hover:var(--zinc-900);--text-primary:var(--slate-50);--text-secondary:var(--slate-400);--text-tertiary:var(--slate-500);--border-subtle:#ffffff0d;--border-medium:#ffffff1a;--border-strong:#fff3;--accent-color:var(--brand-blue);--accent-glow:#3b82f633}.light-theme,[data-theme=light]{--bg-app:var(--slate-50);--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:var(--slate-100);--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-tertiary:var(--slate-500);--border-subtle:#0000000d;--border-medium:#0000001a;--border-strong:#0003;--accent-glow:#3b82f626;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-2xl:0 25px 50px -12px #00000026}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-app);color:var(--text-primary);line-height:var(--leading-normal);transition:background-color var(--transition-base), color var(--transition-base)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-surface{background-color:var(--bg-surface)}.bg-elevated{background-color:var(--bg-elevated)}.border-subtle{border-color:var(--border-subtle)}.border-medium{border-color:var(--border-medium)}.border-strong{border-color:var(--border-strong)}.hidden{display:none!important}#app{flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:2rem 1.5rem;display:flex}.app-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:2rem;display:flex}.header-left a{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.app-logo{background:var(--brand-blue);width:40px;height:40px;font-family:var(--font-sans);color:#fff;filter:drop-shadow(0 0 8px #3b82f666);border-radius:10px;justify-content:center;align-items:center;font-size:1.75rem;font-weight:800;line-height:1;display:flex}.app-name{letter-spacing:-.02em;color:var(--text-primary);font-size:1.65rem;font-weight:800}.app-name .domain{color:var(--brand-blue)}.header-right{align-items:center;gap:.75rem;display:flex}.privacy-badge{color:var(--brand-blue);align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;display:inline-flex}.privacy-badge svg{width:16px;height:16px}.header-icon-btn{border:1px solid var(--border-medium);cursor:pointer;width:36px;height:36px;color:var(--brand-blue);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.header-icon-btn:hover{border-color:var(--brand-blue);background:#3b82f614}.drop-zone{border:2px dashed var(--border-medium);text-align:center;cursor:pointer;background:var(--bg-surface);border-radius:16px;width:100%;padding:3rem 2rem;transition:all .25s;position:relative}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--brand-blue);background:#3b82f60a}.drop-zone.drag-over{transform:scale(1.01)}.drop-zone-icon{color:var(--text-tertiary);margin-bottom:1rem}.drop-zone-icon svg{width:48px;height:48px}.drop-zone h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.drop-zone p{color:var(--text-secondary);margin:0;font-size:.9rem}.drop-zone .format-tags{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:1rem;display:flex}.format-tag{color:var(--brand-blue);text-transform:uppercase;letter-spacing:.04em;background:#3b82f61a;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.drop-zone input[type=file]{display:none}.file-queue{flex-direction:column;gap:.5rem;width:100%;margin-top:1.5rem;display:flex}.file-queue-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.file-queue-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0;font-size:.8rem;font-weight:700}.file-queue-actions{gap:.5rem;display:flex}.queue-btn{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s}.queue-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.queue-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.file-card{background:var(--bg-surface);border:1px solid var(--border-medium);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .15s;display:flex}.file-card:active{cursor:grabbing}.file-card.dragging{opacity:.4;border-color:var(--brand-blue)}.file-card.drag-target{border-color:var(--brand-blue);box-shadow:0 0 0 2px #3b82f633}.file-card-grip{color:var(--text-tertiary);cursor:grab;flex-shrink:0}.file-card-grip svg{width:16px;height:16px}.file-card-icon{text-transform:uppercase;letter-spacing:.04em;color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.6rem;font-weight:800;display:flex}.file-card-icon.pdf{background:#ef4444}.file-card-icon.txt{background:#64748b}.file-card-icon.md{background:#8b5cf6}.file-card-icon.csv{background:#22c55e}.file-card-icon.json{background:#f59e0b}.file-card-icon.docx{background:#3b82f6}.file-card-icon.rtf{background:#06b6d4}.file-card-info{flex:1;min-width:0}.file-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.file-card-meta{color:var(--text-tertiary);margin-top:.15rem;font-size:.72rem}.file-card-preview{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;opacity:.7;max-width:400px;margin-top:.2rem;font-size:.7rem;overflow:hidden}.file-card-order{color:var(--text-tertiary);text-align:center;flex-shrink:0;width:20px;font-size:.7rem;font-weight:700}.file-card-remove{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:.25rem;transition:all .15s;display:flex}.file-card-remove:hover{color:var(--danger);background:#ef44441a}.merge-controls{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-top:1.5rem;padding:1.25rem;display:flex}.output-format{align-items:center;gap:.75rem;display:flex}.output-format-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:.75rem;font-weight:700}.output-format-value{color:var(--brand-blue);text-transform:uppercase;background:#3b82f61a;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.merge-btn{background:var(--brand-blue);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.75rem 2rem;font-size:.95rem;font-weight:700;transition:all .2s}.merge-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.merge-btn:disabled{opacity:.5;cursor:not-allowed}.merge-progress{width:100%;margin-top:1rem}.progress-bar-bg{background:var(--border-medium);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--brand-blue);border-radius:3px;width:0%;height:100%;transition:width .3s}.progress-text{text-align:center;color:var(--text-secondary);margin-top:.5rem;font-size:.8rem}.merge-success{text-align:center;background:var(--bg-surface);border:1px solid #22c55e4d;border-radius:12px;width:100%;margin-top:1.5rem;padding:2rem}.merge-success h3{color:#22c55e;margin:0 0 .5rem;font-size:1.1rem}.merge-success p{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.85rem}.result-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.result-filename-input{background:var(--bg-app);border:1px solid var(--border-medium);color:var(--text-primary);text-align:center;border-radius:8px;min-width:220px;max-width:350px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;font-weight:600}.result-filename-input:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 2px #3b82f626}.result-size-label{color:var(--text-secondary);font-size:.85rem}.download-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}.download-btn:hover{background:#16a34a;transform:translateY(-1px)}.start-over-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin:1rem auto 0;font-size:.8rem;text-decoration:underline;display:block}.start-over-btn:hover{color:var(--text-primary)}.merge-error{width:100%;color:var(--danger);text-align:center;background:#ef444414;border:1px solid #ef444440;border-radius:8px;margin-top:1rem;padding:.85rem 1rem;font-size:.85rem}.feedback-bar{border-top:1px solid var(--border-medium);justify-content:center;align-items:center;gap:.75rem;width:100%;margin-top:2rem;padding:1.5rem 1rem;display:flex}.feedback-prompt{color:var(--text-secondary);font-size:.875rem;font-weight:500}.feedback-icon-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.4rem;transition:color .2s,transform .2s;display:flex}.feedback-icon-btn:hover{transform:scale(1.15)}.feedback-icon-btn:first-of-type:hover{color:#22c55e}.feedback-icon-btn:last-of-type:hover{color:#ef4444}.ecosystem-footer{text-align:center;color:var(--text-tertiary);padding:.75rem 0 1.5rem;font-size:.75rem}.ecosystem-footer a{color:var(--brand-blue);text-decoration:none}.ecosystem-footer a:hover{text-decoration:underline}.feedback-modal-overlay,.updates-modal-overlay,.help-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#09090bb3;justify-content:center;align-items:center;padding:1.5rem;animation:.18s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.feedback-modal-overlay.hidden,.updates-modal-overlay.hidden,.help-modal-overlay.hidden{display:none}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.feedback-modal-card,.updates-modal-card,.help-modal-card{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 3rem);padding:2rem 2.25rem 1.75rem;animation:.22s ease-out modal-card-in;position:relative;overflow-y:auto;box-shadow:0 20px 60px -10px #0009}@keyframes modal-card-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.updates-modal-card,.help-modal-card{max-width:640px}.feedback-modal-close,.updates-modal-close,.help-modal-close{appearance:none;background:var(--bg-app);border:1px solid var(--border-medium);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:1rem;right:1rem}.feedback-modal-close:hover,.updates-modal-close:hover,.help-modal-close:hover{color:var(--brand-blue);border-color:var(--brand-blue)}.feedback-modal-close svg,.updates-modal-close svg,.help-modal-close svg{width:14px;height:14px}.feedback-modal-title,.updates-modal-title,.help-modal-title{color:var(--text-primary);margin:0 0 .4rem;padding-right:2.5rem;font-size:1.4rem;font-weight:700}.feedback-modal-subtitle,.updates-modal-subtitle,.help-modal-subtitle{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.feedback-vote-row{gap:.75rem;margin-bottom:1.5rem;display:flex}.feedback-vote-btn{appearance:none;background:var(--bg-app);color:var(--text-secondary);border:1px solid var(--border-medium);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.feedback-vote-btn svg{width:18px;height:18px}.feedback-vote-btn:hover{color:var(--brand-blue);border-color:var(--brand-blue)}.feedback-vote-btn.selected{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.feedback-comment-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.feedback-comment-label .optional{color:var(--text-tertiary);font-weight:400}.feedback-comment-input{background:var(--bg-app);width:100%;color:var(--text-primary);border:1px solid var(--border-medium);resize:vertical;box-sizing:border-box;border-radius:10px;min-height:100px;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:all .15s}.feedback-comment-input::placeholder{color:var(--text-tertiary)}.feedback-comment-input:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 3px #3b82f626}.feedback-char-count{text-align:right;color:var(--text-tertiary);margin-top:.4rem;font-size:.75rem}.feedback-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.feedback-cancel-btn,.feedback-submit-btn{appearance:none;cursor:pointer;border:none;border-radius:10px;padding:.7rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .15s}.feedback-cancel-btn{background:var(--bg-app);color:var(--text-secondary);border:1px solid var(--border-medium)}.feedback-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.feedback-submit-btn{background:var(--brand-blue);color:#fff}.feedback-submit-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 14px -4px #3b82f680}.feedback-submit-btn:disabled{opacity:.5;cursor:not-allowed}.updates-timeline{flex-direction:column;gap:1.25rem;display:flex}.updates-version{background:var(--bg-app);border:1px solid var(--border-medium);border-radius:12px;padding:1.25rem}.updates-version-header{align-items:baseline;gap:.85rem;margin-bottom:.85rem;display:flex}.updates-version-tag{background:var(--brand-blue);color:#fff;letter-spacing:.04em;border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-block}.updates-version-date{color:var(--text-tertiary);font-size:.8rem}.updates-version-list{color:var(--text-secondary);margin:0;padding-left:1.4rem;font-size:.92rem;line-height:1.6}.updates-version-list li{margin-bottom:.5rem}.updates-version-list li::marker{color:var(--brand-blue)}.help-section{margin-bottom:1.5rem}.help-section:last-child{margin-bottom:0}.help-section h3{color:var(--text-primary);border-left:3px solid var(--brand-blue);margin:0 0 .6rem;padding-left:.75rem;font-size:1rem;font-weight:700;line-height:1.3}.help-section p{color:var(--text-secondary);margin:0 0 .7rem;font-size:.9rem;line-height:1.6}.help-section p:last-child{margin-bottom:0}.help-section ol,.help-section ul{color:var(--text-secondary);margin:0 0 .7rem;padding-left:1.4rem;font-size:.9rem;line-height:1.6}.help-section li{margin-bottom:.4rem}.help-section ol li::marker{color:var(--brand-blue);font-weight:700}.help-section strong{color:var(--text-primary);font-weight:600}@media (width<=640px){.feedback-modal-card,.updates-modal-card,.help-modal-card{max-height:calc(100vh - 1.5rem);padding:1.5rem 1.25rem 1.25rem}}.toast{background:var(--bg-elevated);border:1px solid var(--border-medium);color:var(--text-primary);z-index:1000;pointer-events:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.85rem;font-weight:500;transition:transform .3s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(120%)}.toast.visible{transform:translate(-50%)translateY(0)}.page-title{text-align:center;color:var(--text-primary);margin:0 0 .75rem;font-size:2rem;font-weight:700;line-height:1.3}.page-subtitle{text-align:center;max-width:640px;color:var(--text-secondary);margin:0 auto 2.5rem;font-size:1.05rem;line-height:1.7}@media (width<=640px){#app{padding:1rem}.app-header{gap:.5rem}.app-name{font-size:1rem}.privacy-badge span{display:none}.drop-zone{padding:2rem 1rem}.drop-zone h2{font-size:1.1rem}.merge-controls{text-align:center;flex-direction:column;align-items:stretch}.output-format{justify-content:center}.merge-btn{width:100%}.file-card-name{font-size:.8rem}}[data-theme=light] .drop-zone{background:#fff;border-color:#e2e8f0}[data-theme=light] .drop-zone:hover,[data-theme=light] .drop-zone.drag-over{border-color:var(--brand-blue);background:#3b82f608}[data-theme=light] .file-card,[data-theme=light] .merge-controls{background:#fff;border-color:#e2e8f0}[data-theme=light] .merge-success{background:#fff}[data-theme=light] .header-icon-btn{border-color:#e2e8f0}[data-theme=light] .header-icon-btn:hover{background:#3b82f60f}[data-theme=light] .feedback-bar{border-top-color:#e2e8f0}
