:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;display:block;min-width:100vw;min-height:100vh;overflow:hidden}#root{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}.image-gallery-container{width:100vw;height:calc(100vh - 40px);overflow-y:auto;overflow-x:hidden;margin:0;padding:0;flex:1}.image-gallery{display:flex;flex-direction:column;gap:0;padding:0;margin:0;width:100%;height:auto}.gallery-image{width:100vw;height:100vh;object-fit:cover;padding:0;margin:0;display:block;flex-shrink:0}.loading{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;font-size:1.5rem;color:#333;background-color:#f5f5f5}.no-images{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw;text-align:center;background-color:#f5f5f5;color:#333;padding:2rem}.no-images h2{margin:0 0 1rem;font-size:2.5rem;color:#2c3e50}.no-images h3{margin:1rem 0 .5rem;font-size:1.5rem;color:#34495e}.no-images h4{margin:1rem 0 .5rem;font-size:1.2rem;color:#34495e}.no-images p{margin:.5rem 0;font-size:1.1rem;color:#555}.no-images code{background-color:#e0e0e0;padding:.2rem .4rem;border-radius:4px;font-family:monospace;color:#333}.upload-section{margin-top:2rem;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:600px}.upload-methods{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}.upload-method{padding:1.5rem;border:2px dashed #ddd;border-radius:8px;background-color:#fafafa;transition:border-color .3s ease}.upload-method:hover{border-color:#3498db}.file-input{margin:1rem 0;padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;cursor:pointer}.file-input:hover{border-color:#3498db}.image-gallery .gallery-image{width:100vw;height:100vh;object-fit:cover;min-width:100vw;min-height:100vh;max-width:100vw;max-height:100vh}@media (max-width: 768px){.upload-methods{flex-direction:column}.no-images h2{font-size:2rem}.upload-section{padding:1rem;margin:1rem}}.pdf-viewer{width:100vw;height:calc(100vh - 40px);margin:0;padding:0;display:flex;flex-direction:column;flex:1}.pdf-viewer h1{display:none}.pdf-container{flex:1;width:100%;height:100%;border:none;margin:0;padding:0}.pdf-container iframe{width:100%;height:100%;border:none;display:block}.jpg-image{width:100%;height:100%;object-fit:cover;display:block}.jpg-viewer{width:100vw;height:calc(100vh - 40px);margin:0;padding:0;display:flex;flex-direction:column;flex:1}.jpg-container{flex:1;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#000;overflow:hidden}.jpg-image{max-width:100%;max-height:100%;object-fit:contain;display:block}.image-line-viewer{margin:0;padding:0;width:100%;height:100vh;overflow-y:auto}.line-image{display:block;width:100%;height:auto;margin:0;padding:0;border:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}.App{width:100%;height:100%;margin:0;padding:0;display:flex;flex-direction:column}.navbar{display:flex;background-color:#2c3e50;padding:8px 16px;gap:4px;z-index:1000;box-shadow:0 2px 4px #0000001a}.nav-tab{text-decoration:none;color:#ecf0f1;font-size:12px;font-weight:500;padding:6px 12px;border-radius:4px;transition:all .2s ease;white-space:nowrap;background-color:transparent}.nav-tab:hover{background-color:#34495e;color:#fff}.nav-tab.active{background-color:#3498db;color:#fff}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
