html{font-family:Inter,Arial,sans-serif}body{margin:0}.preview-overlay{z-index:1000;background:#0f172ab8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.preview-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:1000px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.preview-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:22px 26px;display:flex}.preview-header h2{color:#162b45;margin:0 0 5px;font-size:22px}.preview-header p{color:#64748b;overflow-wrap:anywhere;margin:0;font-size:13px}.preview-close{color:#64748b;background:0 0;border:none;padding:8px}.preview-toolbar{background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px 26px;font-size:13px;font-weight:600;display:flex}.preview-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.preview-toolbar button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;padding:9px 12px;display:flex}.preview-content{flex:1;padding:24px;overflow-y:auto}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px;display:grid}.preview-page{color:#475569;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.preview-page.selected{background:#eff6ff;border-color:#194d85}.preview-page img{object-fit:contain;background:#fff;width:100%;height:185px;box-shadow:0 2px 8px #00000014}.preview-page span{font-size:13px;font-weight:600}.preview-loading{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:25px;display:flex}.preview-error{color:#b91c1c}.preview-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:18px 26px;display:flex}.preview-footer button{border-radius:8px;padding:12px 20px;font-weight:600}.preview-cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.preview-save{color:#fff;background:#194d85;border:1px solid #194d85}.preview-open{color:#194d85;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.preview-open:hover{background:#eff6ff}@media (width<=600px){.preview-overlay{padding:5px}.preview-modal{max-height:98vh}.preview-header,.preview-toolbar,.preview-content,.preview-footer{padding:14px}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-open span{display:none}}.preview-page{cursor:default;min-width:0;position:relative}.preview-drag-handle{color:#64748b;cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-self:flex-end;align-items:center;padding:5px;display:flex}.preview-drag-handle:active{cursor:grabbing}.preview-page-select{color:#334155;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:10px;width:100%;padding:0;display:flex}.preview-page-select img{object-fit:contain;background:#fff;width:100%;height:185px;transition:transform .18s}.preview-page-select span{font-size:13px;font-weight:600}.preview-rotate-actions{border-top:1px solid #e2e8f0;justify-content:center;gap:12px;width:100%;padding-top:6px;display:flex}.preview-rotate-actions button{color:#194d85;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;padding:7px 12px;display:flex}.preview-rotate-actions button:hover{background:#dbeafe}.preview-image-placeholder{color:#64748b;background:#e2e8f0;border-radius:5px;justify-content:center;align-items:center;width:100%;height:185px;display:flex}.preview-page:focus-within{outline-offset:2px;outline:2px solid #93c5fd}:root{color:#1e293b;font-synthesis:none;background:#f3f6fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh}.header{background:#fff;border-bottom:1px solid #e2e8f0}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1050px;margin:auto;padding:19px 24px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-icon{color:#fff;background:#194d85;border-radius:12px;padding:12px;display:flex}.brand h1{color:#162b45;margin:0;font-size:20px}.brand p{color:#64748b;margin:3px 0 0;font-size:12px}.privacy-label{color:#15803d;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.main{max-width:850px;margin:46px auto;padding:0 20px}.intro{margin-bottom:26px}.intro h2{color:#162b45;margin:0 0 9px;font-size:30px}.intro p{color:#64748b;margin:0;line-height:1.6}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px;box-shadow:0 8px 30px #1428460a}.upload-zone{text-align:center;color:#194d85;background:#f8fbff;border:2px dashed #b7cbe2;border-radius:12px;padding:36px 20px}.upload-zone h3{color:#1e293b;margin:12px 0 6px;font-size:19px}.upload-zone p{color:#64748b;margin:0 0 20px;font-size:14px}.upload-zone small{color:#94a3b8;margin-top:16px;display:block}.select-button{color:#194d85;background:#fff;border:1px solid #b7cbe2;border-radius:8px;padding:11px 22px;font-weight:600}.select-button:hover{background:#eaf3ff}.section-heading{justify-content:space-between;align-items:center;margin:32px 0 15px;display:flex}.section-heading h3{margin:0 0 5px;font-size:17px}.section-heading p{color:#94a3b8;margin:0;font-size:13px}.file-counter{color:#194d85;background:#edf3fa;border-radius:20px;padding:7px 11px;font-size:12px;font-weight:600}.empty-state{text-align:center;color:#94a3b8;border:1px solid #e2e8f0;border-radius:10px;padding:28px}.empty-state p{margin:8px 0 0;font-size:14px}.file-list{flex-direction:column;gap:9px;display:flex}.file-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.file-row.dragging{opacity:.65;z-index:10}.drag-handle{color:#94a3b8;cursor:grab;touch-action:none;background:0 0;border:none;padding:5px}.file-number{color:#94a3b8;width:15px;font-size:13px}.file-icon{color:#dc3545;background:#fff1f2;border-radius:8px;padding:10px;display:flex}.file-details{flex:1;min-width:0}.file-details strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.file-details span{color:#94a3b8;margin-top:5px;font-size:12px;display:block}.remove-button{color:#94a3b8;background:0 0;border:none;padding:8px}.remove-button:hover{color:#dc3545}.summary{color:#64748b;background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:18px;margin-top:15px;padding:14px;font-size:13px;display:flex}.output-section{border-top:1px solid #e2e8f0;margin-top:30px;padding-top:25px}.output-section label{margin-bottom:10px;font-size:14px;font-weight:600;display:block}.filename-input{border:1px solid #cbd5e1;border-radius:8px;margin-bottom:18px;display:flex;overflow:hidden}.filename-input input{border:none;outline:none;flex:1;min-width:0;padding:13px}.filename-input span{color:#64748b;background:#f1f5f9;padding:13px 16px}.merge-button{color:#fff;background:#194d85;border:none;border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-weight:600;display:flex}.merge-button:hover:not(:disabled){background:#123b68}.merge-button:disabled,.select-button:disabled{opacity:.5;cursor:not-allowed}.message{border-radius:8px;align-items:center;gap:10px;margin-top:15px;padding:14px;font-size:13px;display:flex}.message.error{color:#b91c1c;background:#fef2f2}.message.success{color:#15803d;background:#f0fdf4}footer{color:#64748b;text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:25px;font-size:12px;display:flex}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=600px){.header-inner{padding:15px}.privacy-label{font-size:0}.intro h2{font-size:24px}.panel{padding:15px}.file-row{gap:7px}.summary{gap:10px}}.action-buttons{align-items:stretch;gap:12px;display:flex}.reset-button{color:#475569;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:16px 22px;font-weight:600;display:flex}.reset-button:hover:not(:disabled){background:#f1f5f9}.reset-button:disabled{opacity:.5;cursor:not-allowed}.action-buttons .merge-button{flex:1;width:auto}@media (width<=600px){.action-buttons{flex-direction:column}.action-buttons .merge-button{width:100%}}
