body{font-family:Arial,sans-serif;margin:0;padding-top:70px;padding-bottom:100px;background-color:#f4f4f4;color:#333;display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#333;color:#fff;padding:10px 20px;position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,.2);height:70px;box-sizing:border-box}.header-title h1{margin:0;font-size:1.8em}.header-title .version{font-size:.6em;font-weight:400;color:#ccc}.header-nav button{background-color:#555;color:#fff;border:none;padding:10px 15px;cursor:pointer;border-radius:4px;font-size:.9em}.header-nav button i{margin-right:5px}.header-nav button:hover{background-color:#777}.app-main{flex:1;padding:20px;max-width:900px;margin:20px auto;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1);border-radius:8px}.app-description{text-align:center;margin-bottom:30px;font-size:1.1em;color:#555}.mode-selector{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid #eee;padding-bottom:15px}.mode-button{padding:10px 20px;margin:0 5px;cursor:pointer;border:1px solid transparent;background-color:#e9e9e9;border-radius:5px 5px 0 0;font-size:1em;transition:background-color .3s,color .3s}.mode-button.active{background-color:#007bff;color:#fff;border-bottom:2px solid #007bff}.mode-button:not(.active):hover{background-color:#d4d4d4}.tool-mode{display:none;padding:20px;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px}.tool-mode.active-mode{display:block}.tool-mode h2{margin-top:0;color:#333;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:20px}.file-upload-area{margin-bottom:20px;border:2px dashed #ccc;padding:25px;text-align:center;border-radius:8px;background-color:#f9f9f9;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.file-label{cursor:pointer;font-size:1.1em;color:#007bff}.file-label i{margin-right:8px;font-size:1.3em}input[type=file]{display:none}.file-list{list-style:none;padding:0;margin-bottom:20px}.file-list li{background-color:#e9ecef;padding:10px 15px;margin-bottom:8px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;cursor:grab;border:1px solid #dee2e6}.file-list li span{margin-right:10px;word-break:break-all}.file-list li button{background:0 0;border:none;color:#dc3545;cursor:pointer;font-size:1.2em;padding:0 5px;line-height:1}.file-list li button:hover{color:#c82333}#pagePreviewArea{border:1px solid #ccc;min-height:150px;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;padding:10px;margin-bottom:15px;background-color:#f8f9fa;overflow-y:auto;max-height:450px}#pagePreviewArea .no-file-selected{color:#777;align-self:center;width:100%;text-align:center;padding:20px}.page-thumbnail-container{margin:8px;border:3px solid transparent;cursor:pointer;position:relative;padding:2px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:border-color .2s,background-color .2s}.page-thumbnail-container.selected-for-deletion{border-color:#dc3545;background-color:#ffebee}.page-thumbnail-container canvas{max-width:120px;max-height:170px;border:1px solid #ddd;display:block}.page-number-overlay{position:absolute;bottom:3px;right:3px;background-color:rgba(0,0,0,.6);color:#fff;font-size:.8em;padding:2px 5px;border-radius:3px}#pageControls{display:flex;justify-content:space-around;align-items:center;margin-bottom:15px;padding:10px 0;border-top:1px solid #eee;margin-top:10px}#pageControls button{padding:8px 12px;margin:0 5px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}#pageControls button:disabled{background-color:#ccc;cursor:not-allowed}#pageControls button:hover:not(:disabled){background-color:#5a6268}#pageIndicator{font-weight:700;color:#333}#compressInfo{margin:15px 0;padding:10px;background-color:#e9f7fd;border:1px solid #bce8f1;border-radius:4px;color:#31708f}#compressInfo p{margin:5px 0}#compressionOptions{margin:20px 0;padding:15px;border:1px solid #eee;border-radius:4px;background-color:#f9f9f9}#compressionOptions label{margin-right:10px;font-weight:700}#compressionOptions select{padding:8px;border-radius:4px;border:1px solid #ccc;min-width:200px}.action-button{background-color:#28a745;color:#fff;padding:12px 20px;border:none;border-radius:4px;cursor:pointer;font-size:1.1em;display:block;margin:20px auto 0;transition:background-color .2s}.action-button:disabled{background-color:#ccc;cursor:not-allowed}.action-button:hover:not(:disabled){background-color:#218838}.app-footer{background-color:#333;color:#ccc;text-align:center;padding:15px 20px;position:fixed;bottom:0;left:0;width:100%;font-size:.9em;z-index:1000;box-sizing:border-box}.app-footer a{color:#7fdbff;text-decoration:none}.app-footer a:hover{text-decoration:underline}.app-footer .footer-link{color:#7fdbff;text-decoration:underline;cursor:pointer}.app-footer .footer-link:hover{text-decoration:none}dialog{border:1px solid #ccc;border-radius:8px;padding:25px;box-shadow:0 5px 20px rgba(0,0,0,.25);width:auto;min-width:320px;max-width:500px;margin:auto}dialog::backdrop{background-color:rgba(0,0,0,.6)}dialog h3{margin-top:0;margin-bottom:15px;color:#333;font-size:1.4em;border-bottom:1px solid #eee;padding-bottom:10px}dialog label{display:block;margin-bottom:8px;font-weight:700;font-size:.95em}dialog input[type=text]{width:calc(100% - 22px);padding:10px;margin-bottom:5px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em}.dialog-note{font-size:.85em;color:#555;margin-top:0;margin-bottom:15px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}dialog button{padding:10px 18px;border-radius:4px;cursor:pointer;font-size:1em;font-weight:700;border:none}dialog #alertOkBtn,dialog #confirmYesBtn,dialog button[type=submit]{background-color:#007bff;color:#fff}dialog #alertOkBtn:hover,dialog #confirmYesBtn:hover,dialog button[type=submit]:hover{background-color:#0056b3}dialog #confirmNoBtn,dialog button[type=button]{background-color:#6c757d;color:#fff}dialog #confirmNoBtn:hover,dialog button[type=button]:hover{background-color:#545b62}#alertDialog p,#confirmDialog p{margin-bottom:20px;font-size:1.05em;line-height:1.5}#alertDialog #alertOkBtn{min-width:80px}#disclaimerDialog{max-width:700px}#disclaimerDialog #disclaimerContent{max-height:60vh;overflow-y:auto;font-size:.9em;line-height:1.6;margin-bottom:20px;text-align:left}#disclaimerDialog #disclaimerContent p{margin-bottom:12px}#disclaimerDialog #disclaimerContent strong{color:#333}#disclaimerDialog .dialog-buttons{justify-content:flex-end}#disclaimerDialog #disclaimerCloseBtn{background-color:#6c757d;color:#fff}#disclaimerDialog #disclaimerCloseBtn:hover{background-color:#5a6268}.sortable-ghost{opacity:.5;background-color:#c8ebfb;border:1px dashed #007bff}#loadingIndicator{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.85);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.spinner{border:8px solid #e9ecef;border-top:8px solid #007bff;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#loadingIndicator p{font-size:1.2em;color:#333;font-weight:700}.drop-zone{transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out}.drop-zone.drag-over{background-color:#eef7ff;box-shadow:inset 0 0 15px rgba(0,123,255,.25)}.drop-zone.drag-over .file-upload-area{border-color:#007bff!important;border-style:solid!important;background-color:#e0f0ff}.file-upload-area.drag-over-child{border-color:#007bff!important;border-style:solid!important;background-color:#e0f0ff}