.txt-viewer{height:100vh;background:#fff;display:flex;flex-direction:column;font-family:Courier New,Monaco,monospace}.txt-viewer.dark-theme{background:#1e1e1e}.txt-viewer.dark-theme .txt-header{background:#2d2d30;border-bottom-color:#464647;color:#cccccc}.txt-viewer.dark-theme .file-path{color:#ffffff}.txt-viewer.dark-theme .txt-content{background:#1e1e1e}.txt-viewer.dark-theme .line-numbers{background-color:#2d2d30;border-right-color:#464647;color:#858585}.txt-viewer.dark-theme .line-number.active{background-color:#094771;color:#9cdcfe}.txt-viewer.dark-theme .text-content{background:#1e1e1e;color:#d4d4d4}.txt-viewer.dark-theme .text-line:hover{background-color:#2a2d2e}.txt-viewer.dark-theme .text-line.active{background-color:#094771}.txt-viewer.dark-theme .text-content::-webkit-scrollbar-track{background:#2d2d30}.txt-viewer.dark-theme .text-content::-webkit-scrollbar-thumb{background:#424242}.txt-viewer.dark-theme .text-content::-webkit-scrollbar-thumb:hover{background:#4f4f4f}.txt-viewer.dark-theme .txt-status-bar{background:#2d2d30;border-top-color:#464647;color:#cccccc}.txt-viewer.dark-theme .error{background:#1e1e1e;color:#f48771}.txt-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#f1f3f4;border-bottom:1px solid #d1d5db;font-size:14px;color:#4b5563;user-select:none}.file-path{font-weight:500;color:#374151}.txt-content{display:flex;flex:1;overflow:hidden;background:#fff;outline:none}.txt-content:focus{outline:none}.line-numbers{border-right:1px solid #d1d5db;padding:16px 8px;min-width:60px;text-align:right;color:#4b5563;font-size:14px;line-height:1.5;user-select:none;flex-shrink:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:#f1f3f4}.line-numbers::-webkit-scrollbar{display:none}.line-number{height:21px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;cursor:pointer}.line-number.active{background-color:#e3f2fd;color:#1976d2;font-weight:500}.text-content{flex:1;padding:16px;font-size:14px;line-height:1.5;color:#212529;white-space:pre;word-wrap:break-word;cursor:text;position:relative;outline:none;background:#fff;overflow:auto}.text-content:focus{outline:2px solid #007acc;outline-offset:-2px}.text-line{height:21px;display:flex;align-items:center;min-height:21px;cursor:text;padding:0 4px;margin:0 -4px}.text-line:hover{background-color:#f8f9fa}.text-line.active{background-color:#e3f2fd}.error,.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:#6c757d}.error{color:#dc3545}.text-content::-webkit-scrollbar{width:8px;height:6px}.text-content::-webkit-scrollbar-track{background:#f1f1f1}.text-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.text-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8;cursor:default}.txt-status-bar{display:flex;justify-content:flex-end;align-items:center;padding:4px 16px;background:#f1f3f4;border-top:1px solid #d1d5db;font-size:12px;color:#4b5563;user-select:none;min-height:28px;flex-shrink:0}.file-info{font-size:12px}@media (max-width:768px){.line-numbers{min-width:50px;padding:12px 4px}.text-content{padding:12px}.txt-header{padding:6px 12px}.line-number,.text-line,.txt-header{font-size:12px}}@media print{.txt-viewer{height:auto}.txt-header{display:none}.txt-content{background:white;overflow:visible}.line-numbers{display:none}.text-content{padding:0;overflow:visible;background:white}.text-line{margin:0;padding:0}.text-line,.text-line.active,.text-line:hover{background:white!important}.txt-status-bar{display:none}}#docx-container{height:100%;overflow-y:auto}.docx-preview{width:800pt!important;position:relative;z-index:1;margin:0 auto;padding:20px 0}#docx-container::-webkit-scrollbar{width:8px}#docx-container::-webkit-scrollbar-track{background:#f1f1f1}#docx-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}#docx-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.docx-preview{width:100%!important;padding:10px;box-sizing:border-box}}.pptx-preview{padding:30px 0;overflow-y:auto;height:100%}.pptx-preview .pptx-preview-wrapper{height:auto!important;background:none!important;overflow:visible!important}.pptx-preview .pptx-preview-wrapper .pptx-preview-slide-wrapper{box-shadow:0 0 10px #333!important;margin-bottom:12px!important}.pptx-preview::-webkit-scrollbar{width:8px}.pptx-preview::-webkit-scrollbar-track{background:#f1f1f1}.pptx-preview::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.pptx-preview::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.pptx-preview{padding:15px 0}.pptx-preview .pptx-preview-wrapper .pptx-preview-slide-wrapper{margin-bottom:8px!important}}.xlsx-page{background-color:#fff;overflow:hidden}.xlsx-page,.xlsx-page .res-obj{width:100vw;height:100vh}.xlsx-page::-webkit-scrollbar{width:8px}.xlsx-page::-webkit-scrollbar-track{background:#f1f1f1}.xlsx-page::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.xlsx-page::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.simple-loading-container{display:flex;justify-content:center;align-items:center;height:100px}.trinity-rings-spinner,.trinity-rings-spinner *{box-sizing:border-box}.trinity-rings-spinner{height:66px;width:66px;padding:3px;position:relative;display:flex;justify-content:center;align-items:center;flex-direction:row;overflow:hidden;box-sizing:border-box}.trinity-rings-spinner .circle{position:absolute;display:block;border-radius:50%;border:3px solid #ffffff;opacity:1}.trinity-rings-spinner .circle:first-child{height:60px;width:60px;animation:trinity-rings-spinner-circle1-animation 1.5s linear infinite;border-width:3px}.trinity-rings-spinner .circle:nth-child(2){height:calc(60px * .65);width:calc(60px * .65);animation:trinity-rings-spinner-circle2-animation 1.5s linear infinite;border-width:2px}.trinity-rings-spinner .circle:nth-child(3){height:calc(60px * .1);width:calc(60px * .1);animation:trinity-rings-spinner-circle3-animation 1.5s linear infinite;border-width:1px}@keyframes trinity-rings-spinner-circle1-animation{0%{transform:rotate(20deg) rotateY(0deg)}to{transform:rotate(100deg) rotateY(1turn)}}@keyframes trinity-rings-spinner-circle2-animation{0%{transform:rotate(100deg) rotateX(0deg)}to{transform:rotate(0deg) rotateX(1turn)}}@keyframes trinity-rings-spinner-circle3-animation{0%{transform:rotate(100deg) rotateX(-1turn)}to{transform:rotate(-1turn) rotateX(1turn)}}