*{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";line-height:1.6;display:flex;flex-direction:column;min-height:100vh;padding-top:65px;padding-bottom:50px;background-color:#f4f7f6;color:#333;overflow-x:hidden}body.modal-open{overflow:hidden}header{background-color:#2c3e50;color:#ecf0f1;padding:0 25px;position:fixed;top:0;left:0;width:100%;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,.2);height:65px;display:flex;align-items:center}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto}header h1{font-size:1.7em;margin:0;font-weight:600;white-space:nowrap}header .version{font-size:.6em;font-weight:400;opacity:.8;margin-left:5px;position:relative;top:-3px}header .nav-button{background-color:#3498db;color:#fff;padding:9px 16px;border:none;border-radius:5px;text-decoration:none;font-size:.9em;font-weight:500;cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease;display:inline-flex;align-items:center;white-space:nowrap}header .nav-button i{margin-right:7px}header .nav-button:hover{background-color:#2980b9;box-shadow:0 2px 4px rgba(0,0,0,.15)}main{flex-grow:1;padding:25px;max-width:1200px;width:95%;margin:20px auto;background-color:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:25px;min-height:0}.description{font-size:1.1em;color:#555;text-align:center;padding:15px;background-color:#e9ecef;border-radius:5px;border-left:4px solid #3498db;flex-shrink:0}#content-columns{display:flex;flex-direction:row;gap:25px;align-items:stretch;flex-grow:1;min-height:0}#output-container,#upload-container{flex-basis:50%;flex-shrink:1;flex-grow:1;min-width:280px;display:flex;flex-direction:column}#upload-container{margin-bottom:0}#upload-area{border:3px dashed #bdc3c7;border-radius:10px;padding:30px 20px;text-align:center;background-color:#f8f9fa;transition:border-color .3s ease,background-color .3s ease;flex-grow:1;display:flex;flex-direction:column;justify-content:center;min-height:250px}#upload-area.drag-over{border-color:#3498db;background-color:#eaf5ff}#upload-label{cursor:pointer;display:block;color:#555;font-weight:500}#upload-label i{color:#e74c3c;margin-bottom:12px;display:block;font-size:2.5em}#upload-label:hover{color:#2c3e50}#upload-label:hover i{color:#c0392b}#pdf-upload{display:none}#status{margin-top:15px;padding:10px;text-align:center;font-weight:500;color:#666;min-height:2em;border-radius:4px;transition:background-color .3s ease,color .3s ease;flex-shrink:0}#status.status-info{background-color:#f8f9fa;color:#555}#status.status-processing{background-color:#eaf5ff;color:#2980b9;font-weight:700}#status.status-success{background-color:#e6ffed;color:#218838;font-weight:700}#status.status-warning{background-color:#fff8e1;color:#ff8f00}#status.status-error{background-color:#fbeae5;color:#c0392b;font-weight:700}#output-container{margin-top:0}#output-container h2{margin-bottom:15px;font-size:1.4em;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:8px;flex-shrink:0}#extracted-text{width:100%;flex-grow:1;height:auto;min-height:200px;padding:15px;border:1px solid #ced4da;border-radius:5px;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:.95em;line-height:1.5;margin-bottom:15px;background-color:#fdfdfd;resize:vertical;box-shadow:inset 0 1px 3px rgba(0,0,0,.06);color:#333}#extracted-text:focus{outline:0;border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#save-button{background-color:#28a745;color:#fff;padding:12px 25px;border:none;border-radius:5px;cursor:pointer;font-size:1.05em;font-weight:500;transition:background-color .3s ease,opacity .3s ease,box-shadow .3s ease;display:inline-flex;align-items:center;flex-shrink:0;align-self:flex-start}#save-button i{margin-right:8px}#save-button:hover:not(:disabled){background-color:#218838;box-shadow:0 2px 4px rgba(0,0,0,.1)}#save-button:disabled{background-color:#adb5bd;cursor:not-allowed;opacity:.7}footer{background-color:#34495e;color:#bdc3c7;padding:0 25px;text-align:center;font-size:.9em;position:fixed;bottom:0;left:0;width:100%;z-index:1000;box-shadow:0 -2px 5px rgba(0,0,0,.1);height:50px;display:flex;align-items:center}.footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto}footer a{color:#ecf0f1;text-decoration:none}footer a:hover{text-decoration:underline;color:#fff}#disclaimer-button{background:0 0;border:1px solid #7f8c8d;color:#bdc3c7;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.85em;margin-left:15px;transition:background-color .3s,color .3s,border-color .3s}#disclaimer-button:hover{background-color:#7f8c8d;color:#fff;border-color:#95a5a6}.modal-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.65);z-index:2000;display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease-in-out}.modal-overlay.visible{display:flex;opacity:1}.modal-content{background-color:#fff;padding:30px 40px;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.3);position:relative;max-width:650px;width:90%;max-height:85vh;overflow-y:auto;color:#333;transform:scale(.95) translateY(-10px);transition:transform .3s ease-in-out,opacity .3s ease-in-out;opacity:0}.modal-overlay.visible .modal-content{transform:scale(1) translateY(0);opacity:1}.modal-content h2{margin-top:0;margin-bottom:20px;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:10px;font-size:1.5em}.modal-content p{margin-bottom:15px;line-height:1.7}.modal-content strong{color:#e74c3c;font-weight:600}.modal-close-button{position:absolute;top:15px;right:20px;background:0 0;border:none;font-size:2em;font-weight:300;color:#aaa;cursor:pointer;line-height:1;padding:0;transition:color .2s ease,transform .2s ease}.modal-close-button:hover{color:#333;transform:scale(1.1)}.modal-source{margin-top:25px;padding-top:15px;border-top:1px solid #eee;font-size:.85em;text-align:center;color:#777}.modal-source a{color:#3498db}.modal-source a:hover{color:#2980b9}@media (max-width:992px){#content-columns{flex-direction:column;flex-grow:1;align-items:stretch}#output-container,#upload-container{flex-basis:auto;flex-grow:0;min-width:unset;width:100%}#extracted-text{min-height:250px;height:300px}#upload-area{min-height:200px}}@media (max-width:768px){body{padding-top:65px;padding-bottom:70px}header{padding:0 15px}.header-content{flex-wrap:wrap;justify-content:center;gap:10px}header h1{font-size:1.4em}header .nav-button{font-size:.85em;padding:8px 12px}main{padding:15px;width:98%;margin:15px auto;gap:20px}#extracted-text{height:250px}footer{padding:0 15px;height:auto}.footer-content{flex-direction:column;justify-content:center;gap:5px;padding:8px 0}#disclaimer-button{margin-left:0;margin-top:5px}.modal-content{padding:20px 25px;max-height:90vh}.modal-close-button{top:8px;right:10px;font-size:1.8em}}@media (max-width:480px){header h1{font-size:1.2em}.description{font-size:1em;padding:10px}#output-container h2{font-size:1.2em}#save-button{width:100%;justify-content:center;padding:14px}.footer-content span{font-size:.8em;text-align:center}#extracted-text{min-height:150px;height:200px}#upload-label i{font-size:2em}}