#root{width:100%;min-height:100vh;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.navbar{background-color:#1a1a1a;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.navbar .logo{font-size:1.5rem;font-weight:700}.nav-links{display:flex;gap:2rem}.nav-links a{color:#fff;text-decoration:none;font-weight:500;transition:color .3s}.nav-links a:hover{color:#646cff}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.page{margin-bottom:2rem}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.feature-cards .card{background-color:#f9f9f9;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .3s}.feature-cards .card:hover{transform:translateY(-5px)}.upload-form{max-width:500px;margin:2rem 0;padding:2rem;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}button{background-color:#646cff;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s}button:hover{background-color:#535bf2}button:disabled{background-color:#9499ff;cursor:not-allowed}.upload-result{margin-top:2rem;padding:1rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.posts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.post-card{background-color:#f9f9f9;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.post-image{width:100%;height:200px;object-fit:cover;border-radius:4px;margin:1rem 0}.post-video{width:100%;height:200px;margin:1rem 0;border-radius:4px;overflow:hidden}.post-video iframe{width:100%;height:100%;border:none}.post-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;display:flex;justify-content:space-between;font-size:.9rem;color:#666}.footer{background-color:#1a1a1a;color:#fff;text-align:center;padding:1.5rem;margin-top:auto}.auth-form{max-width:400px;margin:2rem 0;padding:2rem;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.auth-form .form-group{margin-bottom:1.5rem}.auth-form .form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.auth-form .form-group input:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.auth-form button{width:100%}.auth-switch{margin-top:1.5rem;text-align:center;color:#666}.auth-switch a{color:#646cff;text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.profile-card{max-width:400px;margin:2rem 0;padding:2rem;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;font-size:2.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.profile-info{margin-bottom:1.5rem}.profile-info p{margin:.5rem 0;color:#333}.logout-btn{background-color:#dc3545}.logout-btn:hover{background-color:#c82333}.file-info{margin:1rem 0;padding:1rem;background-color:#e9ecef;border-radius:4px}.file-info p{margin:.3rem 0;font-size:.9rem;color:#495057}.preview-container{margin:1rem 0;text-align:center}.image-preview{max-width:100%;max-height:300px;border-radius:4px;box-shadow:0 2px 8px #0000001a}.loading{text-align:center;padding:2rem;color:#666;font-size:1.1rem}.error-message{padding:1rem;margin:1rem 0;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem}.empty-state{text-align:center;padding:3rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.nav-links{gap:1rem}.main-content{padding:1rem}.feature-cards,.posts-list{grid-template-columns:1fr}}@media (max-width: 480px){.upload-form,.auth-form,.profile-card{padding:1.5rem}.post-card{padding:1.25rem}.profile-avatar{width:60px;height:60px;font-size:2rem}}@media (prefers-color-scheme: dark){.feature-cards .card,.upload-form,.auth-form,.profile-card,.post-card{background-color:#2a2a2a;color:#ffffffde}.form-group input,.form-group select{background-color:#3a3a3a;border-color:#555;color:#ffffffde}.file-info{background-color:#3a3a3a}.file-info p{color:#ffffffde}.post-meta{border-top-color:#3a3a3a;color:#fff9}.profile-info p{color:#ffffffde}.auth-switch,.empty-state{color:#fff9}.gallery-item{background-color:#2a2a2a;border-color:#3a3a3a}.gallery-item-info .file-name{color:#ffffffde}.gallery-item-info .file-size{color:#fff9}.preview-container{background-color:#1a1a1a;color:#ffffffde}.preview-info h3{color:#ffffffde}.preview-info p{color:#fff9}.preview-link{background-color:#3a3a3a;color:#646cff}.preview-link:hover{background-color:#4a4a4a}.tab-button{background-color:#3a3a3a;color:#fff9}.tab-button.active{background-color:#646cff;color:#fff}.video-placeholder{background-color:#3a3a3a}}.gallery-tabs{display:flex;gap:1rem;margin:2rem 0}.tab-button{padding:.75rem 1.5rem;border:none;border-radius:4px;background-color:#f0f0f0;color:#666;font-weight:500;cursor:pointer;transition:all .3s}.tab-button:hover{background-color:#e0e0e0}.tab-button.active{background-color:#646cff;color:#fff}.refresh-button{margin-left:auto}.refresh-button-small{margin-left:1rem;padding:.25rem .75rem;font-size:.8rem;background-color:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.refresh-button-small:hover{background-color:#535bf2}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.gallery-item{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.gallery-item-content{cursor:pointer;position:relative;overflow:hidden}.gallery-image{width:100%;height:200px;object-fit:cover;transition:transform .3s}.gallery-item-content:hover .gallery-image{transform:scale(1.05)}.gallery-video{width:100%;height:200px;position:relative}.video-placeholder{width:100%;height:100%;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.gallery-item-content:hover .video-placeholder{background-color:#d0d0d0}.play-button{font-size:3rem;color:#646cff;opacity:.7;transition:transform .3s,opacity .3s}.gallery-item-content:hover .play-button{transform:scale(1.1);opacity:.9}.gallery-item-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.file-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.8rem;color:#666}.gallery-item-actions{padding:0 1rem 1rem;display:flex;justify-content:flex-end}.download-button{padding:.5rem 1rem;background-color:#646cff;color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background-color .3s}.download-button:hover{background-color:#535bf2}.preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.preview-container{max-width:90%;max-height:90%;background-color:#fff;border-radius:8px;padding:0;position:relative;overflow:hidden;display:flex;flex-direction:column;max-width:800px}.preview-header{padding:1.5rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.preview-header h3{margin:0;color:#333;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:1rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.close-button:hover{color:#333;background:none}.preview-content{padding:2rem;flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.image-preview-wrapper,.video-preview-wrapper{max-width:100%;max-height:60vh;overflow:hidden;border-radius:4px;box-shadow:0 4px 12px #00000026}.preview-image,.preview-video{max-width:100%;max-height:60vh;display:block;object-fit:contain}.preview-info{padding:1.5rem;border-top:1px solid #e9ecef;background-color:#fff}.preview-meta{display:flex;gap:2rem;margin-bottom:1rem}.preview-meta p{margin:0;color:#666;font-size:.9rem}.preview-actions{display:flex;gap:1rem;margin-top:1rem}.preview-link{padding:.5rem 1rem;background-color:#f0f0f0;color:#646cff;text-decoration:none;border-radius:4px;transition:background-color .3s;font-size:.9rem}.preview-link:hover{background-color:#e0e0e0}.preview-actions .download-button{font-size:.9rem}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.preview-container{padding:1.5rem}.preview-image,.preview-video{max-height:50vh}}@media (max-width: 480px){.gallery-tabs{flex-direction:column}.tab-button{width:100%}.gallery-grid{grid-template-columns:1fr}.preview-overlay,.preview-container{padding:1rem}.preview-image,.preview-video{max-height:40vh}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#f5f5f5;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;min-width:320px;min-height:100vh;color:#333;background-color:#f5f5f5}h1{font-size:2.5em;line-height:1.1;margin-bottom:1rem}h2{font-size:2em;line-height:1.2;margin-bottom:1rem}h3{font-size:1.5em;line-height:1.3;margin-bottom:.75rem}p{margin-bottom:1rem}@media (prefers-color-scheme: dark){:root{color:#ffffffde;background-color:#1a1a1a}body{color:#ffffffde;background-color:#1a1a1a}.feature-cards .card,.upload-form,.post-card{background-color:#2a2a2a;color:#ffffffde}.post-meta{border-top-color:#3a3a3a;color:#fff9}.form-group input,.form-group select{background-color:#3a3a3a;border-color:#555;color:#ffffffde}}
