body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.castwindow-box-sound{color:#333;display:block;font-size:.7em;margin:0 auto;max-width:90%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.castwindow-boxes{bottom:8px;display:flex;gap:12px;justify-content:center;left:0;position:absolute;width:100%;z-index:3}.castwindow-box{background:#fff;border:1.5px solid #aaa;border-radius:4px;box-shadow:0 1px 3px #00000012;height:60px;position:relative;width:85px}.castdnd-container{display:flex;flex-direction:column;height:100vh}.castdnd-header{align-items:center;background:#222;color:#fff;display:flex;font-size:2rem;justify-content:space-between;letter-spacing:2px;padding:1rem;text-align:center}.castdnd-header h1{align-items:center;display:flex;gap:.5rem;margin:0}.castdnd-header h1 img{display:block}.castdnd-title-group{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.castdnd-build-info{font-size:.75rem;letter-spacing:.3px;margin-top:.2rem;opacity:.7}.header-buttons{display:flex;gap:10px}.load-project-button,.save-project-button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.load-project-button{background:#2196f3}.load-project-button:hover:not(:disabled),.save-project-button:hover:not(:disabled){background:#45a049}.load-project-button:hover:not(:disabled){background:#1976d2}.load-project-button:disabled,.save-project-button:disabled{background:#ccc;cursor:not-allowed}.castdnd-main{display:flex;height:100vh}.castdnd-sidebar{background:#f9f9f9;border-right:1px solid #ccc;box-sizing:border-box;height:100vh;max-width:600px;min-width:200px;overflow:auto;padding:16px}.castdnd-resizer{background:#ddd;cursor:ew-resize;height:100vh;width:6px;z-index:10}.castdnd-section{margin-bottom:2rem}.castdnd-list-item{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.castdnd-thumb{border:1px solid #ccc;border-radius:4px;height:40px;object-fit:cover;width:40px}.castdnd-audio{width:120px}.castdnd-content{background:#fff;flex:1 1;padding:2rem}.chonky-container{display:flex;flex-direction:column;height:100%}.chonky-file-list-entry-dragging{cursor:grabbing}.simple-filebrowser{background:#fff;border-radius:4px;display:flex;flex-direction:column;height:100%;overflow:hidden}.filebrowser-header{align-items:center;background:#f3f3f3;border-bottom:1px solid #ddd;display:flex;padding:10px 15px}.navigation-button,.upload-button{align-items:center;background:#4caf50;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:5px;padding:8px 12px}.navigation-button:disabled{background:#ccc;cursor:default}.upload-button{margin-left:auto}.breadcrumb{flex-grow:1;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-item{color:#2962ff}.breadcrumb-separator{color:#888;margin:0 5px}.filebrowser-content{flex-grow:1;overflow-y:auto;padding:15px}.empty-folder{color:#888;font-style:italic;margin-top:50px;text-align:center}.file-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.file-item{flex-direction:column;padding:10px}.file-item:hover{background-color:#f5f5f5}.file-icon{align-items:center;display:flex;height:60px;justify-content:center;margin-bottom:8px;width:60px}.file-name{font-size:13px;text-align:center;width:100%}.file-delete{align-items:center;background:#ffffffb3;border:none;border-radius:50%;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;position:absolute;right:5px;top:5px;transition:opacity .2s;width:24px}.file-item:hover .file-delete{opacity:1}.file-delete:hover{background:#ff00001a}.drive-toggle{background-color:#f8f8f8;border-bottom:1px solid #ddd;padding:10px 15px}.drive-button,.drive-toggle{align-items:center;display:flex}.drive-button{background:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;gap:8px;padding:8px 16px}.drive-button.active{background:#34a853}.drive-button:disabled{background:#ccc;cursor:default}.settings-button{align-items:center;background:#f1f1f1;border:1px solid #ddd;border-radius:50%;color:#555;cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:10px;transition:transform .2s,background-color .2s;width:36px}.settings-button:hover{background:#e0e0e0;transform:rotate(30deg)}.signout-button{background:#f1f1f1;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;margin-left:auto;padding:6px 12px}.loading-indicator{align-items:center;color:#555;display:flex;flex-direction:column;gap:12px;height:100px;justify-content:center}.spinner{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.settings-modal-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{animation:fadeIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:90%;width:600px}.settings-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px}.settings-modal-header h3{color:#333;font-size:18px;margin:0}.close-button{background:none;border:none;color:#777;cursor:pointer;font-size:24px}.settings-modal-body{overflow-y:auto;padding:20px}.settings-info{color:#555;line-height:1.5;margin-bottom:20px}.settings-info a{color:#4285f4;text-decoration:none}.settings-info a:hover{text-decoration:underline}.settings-instructions{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;margin-bottom:20px;padding:15px}.settings-instructions h4{color:#333;margin-bottom:10px;margin-top:0}.settings-instructions ol{margin-bottom:0;padding-left:20px}.settings-instructions li{margin-bottom:5px}.settings-instructions code{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#c7254e;display:block;font-family:monospace;font-size:13px;margin:8px 0;padding:8px;word-break:break-all}.test-users{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;margin-bottom:15px;margin-top:20px;padding:12px}.test-users h5{color:#856404;font-weight:600;margin-bottom:8px;margin-top:0}.test-users p{font-size:13px;margin-bottom:8px}.test-users ol{margin-bottom:0;padding-left:20px}.test-users li{font-size:13px;margin-bottom:4px}.common-errors{border-top:1px dashed #ddd;margin-top:15px;padding-top:10px}.common-errors h5{color:#d32f2f;margin-bottom:8px;margin-top:0}.common-errors ul{margin-bottom:0;padding-left:20px}.common-errors li{font-size:13px;margin-bottom:5px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#4285f4;outline:none}.connection-result{border-radius:4px;font-size:14px;margin-top:15px;padding:10px 15px}.connection-result.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.connection-result.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.connection-result p{margin:0 0 10px}.direct-auth{border-top:1px dashed #ccc;margin-top:12px;padding-top:12px}.direct-auth p{font-size:13px;font-style:italic;margin-bottom:10px}.direct-auth-button{background-color:#4285f4;border-radius:4px;color:#fff;display:inline-block;font-size:14px;margin-top:5px;padding:8px 12px;text-decoration:none}.direct-auth-button:hover{background-color:#3367d6;color:#fff;text-decoration:none}.settings-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.test-button{background-color:#f8f9fa;border:1px solid #dadce0;color:#3c4043}.test-button:disabled{background-color:#f1f1f1;color:#9e9e9e;cursor:not-allowed}.cancel-button{background-color:#f8f9fa;border:1px solid #dadce0;color:#3c4043}.save-button{background-color:#4285f4;border:1px solid #4285f4;color:#fff}.cancel-button,.save-button,.test-button,.troubleshoot-button{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;padding:8px 16px;transition:background-color .2s}.troubleshoot-button{background-color:#673ab7;border:1px solid #673ab7;color:#fff;margin-left:10px}.troubleshoot-button:hover{background-color:#5e35b1}.cancel-button:hover,.test-button:hover:not(:disabled){background-color:#e8eaed}.save-button:hover{background-color:#3b78e7}.output-screen-active{animation:outputGlow 1s ease-in-out infinite alternate;border-color:#42a5f599!important;box-shadow:0 0 40px #42a5f566,0 0 40px #42a5f533}@keyframes outputGlow{0%{box-shadow:0 0 20px #001aff66,0 0 40px #42a5f533}to{box-shadow:0 0 25px #148ff380,0 0 50px #1d98fc4d}}.scene-modal-backdrop{background-color:#000c;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.scene-modal-container{background-color:#222;border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;min-height:225px;min-width:400px;padding:20px;position:relative}.resize-handle{background:#0000;position:absolute;z-index:10}.resize-handle-n{cursor:n-resize;height:10px;left:10px;right:10px;top:-5px}.resize-handle-s{bottom:-5px;cursor:s-resize;height:10px;left:10px;right:10px}.resize-handle-e{bottom:10px;cursor:e-resize;right:-5px;top:10px;width:10px}.resize-handle-w{bottom:10px;cursor:w-resize;left:-5px;top:10px;width:10px}.resize-handle-ne{cursor:ne-resize;height:15px;right:-5px;top:-5px;width:15px}.resize-handle-nw{cursor:nw-resize;height:15px;left:-5px;top:-5px;width:15px}.resize-handle-se{bottom:-5px;cursor:se-resize;height:15px;right:-5px;width:15px}.resize-handle-sw{bottom:-5px;cursor:sw-resize;height:15px;left:-5px;width:15px}.scene-modal-header{align-items:center;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px}.scene-modal-title{font-size:1.5em;margin:0}.scene-modal-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:24px;height:32px;padding:0;transition:background-color .2s;width:32px}.scene-modal-close,.scene-modal-content{align-items:center;display:flex;justify-content:center}.scene-modal-content{border-radius:8px;flex:1 1;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.scene-modal-content.has-image{background:#222}.scene-modal-content.no-image{background:#444}.scene-modal-mode-icon{background:#ffffffe6;border:2px solid #000;border-radius:6px;cursor:pointer;left:12px;padding:8px;position:absolute;top:12px;transition:background-color .2s;z-index:2}.scene-modal-mode-icon:hover{background:#fff}.scene-modal-zoom-control{background:#ffffffe6;border-radius:6px;color:#222;cursor:pointer;font-size:1.2em;font-weight:700;padding:8px 12px;position:absolute;right:12px;top:12px;transition:background-color .2s;z-index:2}.scene-modal-zoom-control:hover{background:#fff}.scene-modal-grid-container{top:60px}.scene-modal-grid-container,.scene-modal-pointer-container{align-items:center;display:flex;flex-direction:column;gap:6px;position:absolute;right:12px;z-index:2}.scene-modal-pointer-container{top:150px}.scene-modal-grid-toggle{align-items:center;background:#ffffffe6;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.scene-modal-grid-toggle:hover{background:#fff}.scene-modal-grid-toggle.active{background:#4caf501a;border-color:#4caf50}.scene-modal-pointer-toggle{align-items:center;background:#ffffffe6;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.scene-modal-pointer-toggle:hover{background:#fff}.scene-modal-pointer-toggle.active{background:#ff98001a;border-color:#ff9800}.scene-modal-grid-slider{-webkit-appearance:none;appearance:none;background:#ffffffe6;border-radius:6px;cursor:pointer;height:12px;outline:none;transition:background .2s;width:80px}.scene-modal-grid-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4caf50;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-webkit-transition:background .2s;transition:background .2s;width:16px}.scene-modal-grid-slider::-webkit-slider-thumb:hover{background:#45a049}.scene-modal-grid-slider::-moz-range-thumb{background:#4caf50;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-moz-transition:background .2s;transition:background .2s;width:16px}.scene-modal-grid-slider::-moz-range-thumb:hover{background:#45a049}.scene-modal-grid-overlay{z-index:1}.scene-modal-grid-overlay,.scene-modal-pointer-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.scene-modal-pointer-overlay{z-index:3}.scene-modal-pointer-indicator{animation:pointerPulse 2s infinite;background:#ff44444d;border:3px solid #f44;border-radius:50%;box-shadow:0 0 10px #f449;height:20px;position:absolute;transform:translate(-50%,-50%);width:20px}@keyframes pointerPulse{0%{box-shadow:0 0 10px #f449;opacity:1}50%{box-shadow:0 0 20px #f44c;opacity:.8}to{box-shadow:0 0 10px #f449;opacity:1}}.scene-modal-image{cursor:grab;height:100%;pointer-events:none;transition:none;width:100%}.scene-modal-image.mode-fit{background:#222;object-fit:contain}.scene-modal-image.mode-cover-width{background:#222;object-fit:cover;object-position:center top}.scene-modal-image.mode-cover-height{background:#222;object-fit:cover;object-position:left center}.scene-modal-image.mode-stretch{background:#222;object-fit:fill}.scene-modal-no-image{color:#aaa;font-size:1.5em;font-style:italic;text-align:center}.scene-modal-sound-boxes{bottom:16px;display:flex;gap:16px;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.scene-modal-sound-box{background:#fff;border:2px solid #aaa;border-radius:6px;box-shadow:0 2px 8px #0000004d;height:70px;position:relative;transition:box-shadow .2s;width:100px}.scene-modal-sound-box:hover{box-shadow:0 4px 12px #0006}.scene-modal-sound-name{color:#333;display:block;font-size:.75em;margin:4px auto;max-width:90%;overflow:hidden;padding:0 4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.scene-modal-sound-controls{bottom:26px;display:flex;gap:3px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.scene-modal-sound-icon{border-radius:2px;cursor:pointer;padding:2px;transition:all .2s}.scene-modal-sound-icon:hover{background:#0000001a}.scene-modal-sound-icon.active-play{filter:drop-shadow(0 0 4px #1ec600) brightness(1.5)}.scene-modal-sound-icon.active-pause{filter:drop-shadow(0 0 4px #0074d9) brightness(1.5)}.scene-modal-sound-icon.active-stop{filter:drop-shadow(0 0 4px #ff4136) brightness(1.5)}.scene-modal-sound-icon.active-loop{filter:drop-shadow(0 0 4px #ffdc00) brightness(1.5)}.scene-modal-volume-container{bottom:4px;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.scene-modal-volume-slider{background:#ddd;border-radius:6px;cursor:pointer;height:12px;outline:none;transition:background .2s;width:80px}.scene-modal-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4caf50;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-webkit-transition:background .2s;transition:background .2s;width:16px}.scene-modal-volume-slider::-webkit-slider-thumb:hover{background:#45a049}.scene-modal-volume-slider::-moz-range-thumb{background:#4caf50;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-moz-transition:background .2s;transition:background .2s;width:16px}.scene-modal-volume-slider::-moz-range-thumb:hover{background:#45a049}@media (max-width:900px){.scene-modal-container{min-height:180px;min-width:320px;padding:15px}.scene-modal-sound-boxes{gap:12px}.scene-modal-sound-box{height:60px;width:80px}.scene-modal-volume-slider{width:60px}.scene-modal-grid-container{right:8px;top:50px}.scene-modal-pointer-container{right:8px;top:110px}.scene-modal-grid-slider{width:60px}}@media (max-width:600px){.scene-modal-container{min-height:158px;min-width:280px;padding:10px}.scene-modal-title{font-size:1.2em}.scene-modal-sound-boxes{flex-wrap:wrap;gap:8px;width:200px}.scene-modal-sound-box{height:50px;width:70px}.scene-modal-sound-name{font-size:.7em}.scene-modal-volume-slider{height:10px;width:50px}.scene-modal-grid-container{right:6px;top:45px}.scene-modal-pointer-container{right:6px;top:100px}.scene-modal-grid-slider{height:10px;width:50px}}.file-browser{background:#fff;border:1px solid #ccc;border-radius:4px;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.file-browser.dragging-over{border:2px dashed #4285f4}.drop-overlay{background:#ffffffe6;bottom:0;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:100}.drop-message,.drop-overlay{align-items:center;display:flex}.drop-message{background:#4285f41a;border:2px dashed #4285f4;border-radius:8px;color:#4285f4;flex-direction:column;font-size:18px;padding:20px;text-align:center}.drop-message svg{margin-bottom:10px}.file-item.drop-target{animation:pulse 1s infinite alternate;background-color:#4285f41a;border:2px dashed #4285f4}.file-browser-content.list .file-item[class*=directory].drop-target{animation:pulse 1s infinite alternate;background-color:#4285f426;border:2px dashed #4285f4;transform:scale(1.02);z-index:10}.file-browser-content.list .file-item[class*=directory].drop-target:after{background-color:#4285f41a;border-radius:4px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}.tree-node-content.drop-target{animation:pulse 1s infinite alternate;background-color:#4285f41a;border:2px dashed #4285f4}@keyframes pulse{0%{box-shadow:0 0 0 0 #4285f480}to{box-shadow:0 0 0 4px #4285f433}}.drag-drop-helper{align-items:center;animation:fadeIn .3s ease-in-out;background:#fff;border:1px solid #e0e0e0;border-radius:8px;bottom:20px;box-shadow:0 2px 10px #0000001a;display:flex;max-width:300px;padding:10px 15px;position:absolute;right:20px;z-index:100}.helper-icon{flex-shrink:0;margin-right:10px}.helper-text{color:#333;font-size:14px;line-height:1.4}.close-helper{background:none;border:none;color:#999;cursor:pointer;font-size:18px;margin-left:5px;padding:0 0 0 8px}.close-helper:hover{color:#333}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.file-browser-header{align-items:center;background:#f5f5f5;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;justify-content:space-between;padding:8px}.file-browser-source{align-items:center;display:flex;flex:1 1}.source-selector{background:#fff;border:1px solid #ccc;border-radius:4px;padding:5px}.auth-button{background:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:8px;padding:5px 10px}.auth-button:hover{background:#3367d6}.file-browser-navigation{align-items:center;display:flex;flex:1 1;margin:5px 0}.nav-button{background:none;border:none;border-radius:4px;cursor:pointer;margin-right:8px;padding:4px}.nav-button:hover{background:#e0e0e0}.nav-button:disabled{cursor:default;opacity:.5}.current-path{background:#fff;border:1px solid #ddd;border-radius:4px;flex:1 1;font-family:monospace;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.new-folder-button,.view-mode-button{background:none;border:none;border-radius:4px;cursor:pointer;margin-left:5px;padding:4px}.new-folder-button:hover,.view-mode-button:hover{background:#e0e0e0}.file-browser-content,.file-browser-tree{flex:1 1;overflow-y:auto;padding:8px}.tree-node{position:relative}.tree-node-content{align-items:center;border-radius:3px;cursor:pointer;display:flex;padding:4px 2px}.tree-node-content:hover{background:#f0f0f0}.tree-toggle-icon{align-items:center;cursor:pointer;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-right:4px;-webkit-user-select:none;user-select:none;width:16px}.tree-file-icon{align-items:center;display:flex;margin-right:5px}.tree-file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-drop-indicator{background:#4285f41a;border:2px dashed #4285f4;border-radius:3px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}.tree-node-children{margin-left:10px}.file-browser-content.list{display:flex;flex-direction:column}.file-browser-content.grid{grid-gap:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.file-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:8px;position:relative;transition:background-color .2s}.file-item[draggable=true]{cursor:grab!important}.file-item[draggable=true]:active{cursor:grabbing!important}.file-item[draggable=true]:hover{box-shadow:0 2px 5px #0003;transform:translateY(-1px)}.file-item.directory{border:1px solid #0000;position:relative;transition:all .2s ease}.file-item.directory:hover{background-color:#4285f41a;border:1px dashed #4285f4}.file-browser-content.list .file-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;margin-bottom:4px;position:relative;touch-action:none}.file-browser-content.list .file-item[draggable=true]{position:relative;transition:background-color .2s,transform .1s,box-shadow .2s;-webkit-user-select:none;user-select:none;z-index:10}.file-browser-content.list .file-item[draggable=true]:before{color:#aaa;content:"⋮⋮";font-size:14px;left:-5px;opacity:.5;position:absolute;top:50%;transform:translateY(-50%)}.file-browser-content.list .file-item[draggable=true]:hover:before{opacity:1}.file-item.dragging{box-shadow:0 5px 10px #0003;opacity:.7}.file-browser-content.list .file-item[class*=directory]:hover{background-color:#4285f40d;border:1px dashed #4285f44d}.file-browser-content.list .file-item[draggable=true]{cursor:grab}.file-browser-content.grid .file-item{flex-direction:column;height:150px;justify-content:center;text-align:center}.file-item:hover{background:#f5f5f5}.file-icon{height:24px;margin-right:8px;position:relative;width:24px}.file-browser-content.grid .file-icon{height:64px;margin:0 0 8px;width:64px}.file-thumbnail{border-radius:4px;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.file-browser-content.grid .file-thumbnail{border:1px solid #eee}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-browser-content.list .file-name{flex:1 1;margin-right:20px}.file-browser-content.grid .file-name{font-size:.9em;margin-top:5px;padding:0 5px;width:100%}.file-date,.file-size,.file-type{color:#777;font-size:.85em;margin-left:10px;white-space:nowrap}.file-browser-empty,.file-browser-error,.file-browser-loading{color:#777;padding:16px;text-align:center}.file-browser-error{color:#e53935}.file-delete-error,.file-upload-error{animation:slideDown .3s forwards;background:#ffebee;border-bottom:1px solid #ffcdd2;padding:8px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.error-message{align-items:center;color:#c62828;display:flex;font-size:14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.new-folder-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.new-folder-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:90%;padding:20px;width:400px}.new-folder-dialog h3{color:#333;margin-bottom:16px;margin-top:0}.new-folder-form{display:flex;flex-direction:column}.new-folder-form label{font-weight:500;margin-bottom:8px}.new-folder-form input{border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:16px;padding:8px 12px}.new-folder-form input:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.folder-creation-error{background:#ffebee;border-radius:4px;color:#e53935;font-size:14px;margin-bottom:16px;padding:8px 12px}.dialog-buttons{display:flex;gap:10px;justify-content:flex-end}.cancel-button{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333}.cancel-button,.create-button{cursor:pointer;font-weight:500;padding:8px 16px}.create-button{background:#4285f4;border:none;border-radius:4px;color:#fff}.create-button:hover:not(:disabled){background:#3367d6}.create-button:disabled{background:#a1c4fd;cursor:not-allowed}.cancel-button:hover{background:#e0e0e0}.standalone-buttons{gap:8px;margin:8px 8px 4px;width:-webkit-fit-content;width:fit-content}.standalone-button,.standalone-buttons{display:flex;justify-content:flex-start}.standalone-button{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:0 0 auto;padding:0 6px;transition:all .2s}.standalone-button.icon-only{border-radius:0;flex:0 0 auto;height:40px;justify-content:center;padding:8px;width:40px}.standalone-button:hover{background:#e0e0e0;box-shadow:0 2px 5px #0000001a;position:relative;transform:translateY(-1px);z-index:1}.standalone-button svg{margin-right:8px}.standalone-button.icon-only svg{height:24px;margin-right:0;width:24px}.delete-button{position:relative;transition:all .2s ease}.delete-button.delete-hover{background:#ffebee!important;border-color:#e53935!important;box-shadow:0 4px 10px #e539354d;transform:scale(1.05) translateY(-2px)}.delete-drop-indicator{background:#e53935;border-radius:4px;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;padding:6px 12px;top:-40px;white-space:nowrap;z-index:1000}.delete-drop-indicator,.delete-drop-indicator:after{left:50%;position:absolute;transform:translateX(-50%)}.delete-drop-indicator:after{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #e53935;content:"";height:0;top:100%;width:0}.file-item.directory.drop-target,.tree-node-content.drop-target,div[class*=directory].drop-target{background-color:#4285f433!important;border:2px dashed #4285f4!important;box-shadow:0 0 5px #4285f480;transform:scale(1.03);transition:all .2s ease;z-index:10}
/*# sourceMappingURL=main.e81a83c0.css.map*/