: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100vw;height:100vh;margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{position:absolute;top:20px;right:20px;z-index:20;background:#000000e6;border-radius:8px;padding:1.5rem;min-width:300px;box-shadow:0 4px 6px #0000004d}.auth-form h3{margin:0 0 1rem;color:#fff;font-size:1.2rem}.auth-form input{width:100%;padding:.75rem;margin-bottom:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff1a;color:#fff;font-size:.9rem;box-sizing:border-box}.auth-form input::placeholder{color:#ffffff80}.auth-form input:focus{outline:none;border-color:#0af}.auth-form button[type=submit]{width:100%;padding:.75rem;background:#0af;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s ease;margin-bottom:.5rem}.auth-form button[type=submit]:hover:not(:disabled){background:#08c}.auth-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.toggle-auth{width:100%;padding:.5rem;background:transparent;color:#0af;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:color .3s ease;text-decoration:underline}.toggle-auth:hover:not(:disabled){color:#08c}.toggle-auth:disabled{opacity:.6;cursor:not-allowed}.auth-message{margin-top:.75rem;padding:.5rem;background:#0af3;border-radius:4px;color:#fff;font-size:.85rem;text-align:center}.auth-button-container{display:flex;align-items:center;gap:1rem;background:#000000b3;padding:.5rem 1rem;border-radius:6px}.user-email{color:#fff;font-size:.9rem}.sign-out-button{padding:.5rem 1rem;background:#f44;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .3s ease}.sign-out-button:hover{background:#c00}.app-container{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}.drop-zone{width:100%;height:100%;position:relative;background:#1a1a1a;transition:background-color .3s ease}.drop-zone.dragging{background:#2a4a6a;border:3px dashed #00aaff}.drop-zone-content{width:100%;height:100%;position:relative}.viewer-container{width:100%;height:100%;position:absolute;top:0;left:0}.viewer-container canvas{display:block;width:100%;height:100%}.drop-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;pointer-events:none;background:#000000b3;padding:2rem 3rem;border-radius:12px;border:2px dashed #666;transition:all .3s ease}.drop-zone.dragging .drop-message{border-color:#0af;background:#00aaff1a}.drop-text{font-size:1.5rem;color:#fff;margin:0 0 1rem;font-weight:500}.drop-subtext{font-size:1rem;color:#aaa;margin:.5rem 0}.file-input-label{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:#0af;color:#fff;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:background .3s ease;pointer-events:auto}.file-input-label:hover{background:#08c}.file-input{display:none}.file-info{position:absolute;top:20px;left:20px;background:#000000b3;color:#fff;padding:.75rem 1.5rem;border-radius:6px;z-index:10;font-size:.9rem;max-width:500px}.file-info p{margin:0 0 .5rem}.share-link-container{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.share-label{font-size:.85rem;color:#aaa;margin-bottom:.5rem!important}.share-link-input-group{display:flex;gap:.5rem;align-items:center}.share-link-input{flex:1;padding:.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:.85rem;font-family:monospace;min-width:0}.share-link-input:focus{outline:none;border-color:#0af}.copy-button{padding:.5rem 1rem;background:#0af;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .3s ease;white-space:nowrap}.copy-button:hover{background:#08c}.copy-button:active{background:#069}.share-button{width:100%;padding:.75rem 1rem;background:#0af;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .3s ease;margin-top:.75rem}.share-button:hover:not(:disabled){background:#08c}.share-button:disabled{opacity:.6;cursor:not-allowed}.sign-in-button{position:absolute;top:20px;right:20px;z-index:20;padding:.75rem 1.5rem;background:#0af;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .3s ease;box-shadow:0 2px 4px #0000004d}.sign-in-button:hover{background:#08c}.auth-top-right{position:absolute;top:20px;right:20px;z-index:20}.shared-file-notice{font-size:.85rem;color:#aaa;font-style:italic;margin:.5rem 0 0!important}.auto-rotate-button{width:100%;padding:.75rem 1rem;background:#4a4a4a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .3s ease;margin-top:.75rem}.auto-rotate-button:hover{background:#5a5a5a}.share-my-own-button{width:100%;padding:.75rem 1rem;background:#0af;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .3s ease;margin-top:.75rem}.share-my-own-button:hover{background:#08c}
