.auth-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.auth-modal{background:#000000e6;border:1px solid rgba(0,255,255,.3);border-radius:16px;padding:2rem;width:90%;max-width:400px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 40px #00000080,0 0 40px #00ffff1a;animation:slideUp .3s ease-out}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;margin:0 auto 1rem;color:#0ff}.auth-header h2{color:#fff;margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.auth-header p{color:#ffffffb3;margin:0;font-size:.9rem;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:1rem}.password-field{position:relative;display:flex;align-items:center}.password-field input{flex:1;background:#ffffff0d;border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:.75rem 3rem .75rem 1rem;color:#fff;font-size:1rem;transition:all .3s ease}.password-field input:focus{outline:none;border-color:#00ffff80;background:#ffffff14;box-shadow:0 0 0 2px #00ffff1a}.password-field input::placeholder{color:#ffffff80}.password-field input:disabled{opacity:.6;cursor:not-allowed}.toggle-password{position:absolute;right:.75rem;background:none;border:none;color:#0ff9;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.toggle-password:hover{color:#0ff;background:#00ffff1a}.toggle-password:disabled{opacity:.4;cursor:not-allowed}.auth-error{display:flex;align-items:center;gap:.5rem;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:6px;padding:.75rem;color:#ff6b6b;font-size:.9rem;animation:shake .3s ease-out}.auth-submit{background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:8px;padding:.75rem 1.5rem;color:#0ff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.auth-submit:hover:not(:disabled){background:linear-gradient(45deg,#0ff3,#00ffff4d);border-color:#00ffffb3;transform:translateY(-2px);box-shadow:0 4px 15px #0ff3}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(0,255,255,.3);border-top:2px solid #00ffff;border-radius:50%;animation:spin 1s linear infinite}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:#ffffff80;font-size:.8rem;margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (max-width: 480px){.auth-modal{padding:1.5rem;margin:1rem}.auth-header h2{font-size:1.25rem}.auth-icon{width:50px;height:50px}}.home-page{width:100%;min-height:100vh;position:relative;display:flex;flex-direction:column;overflow:hidden}.dynamic-background{position:fixed;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;transition:all .8s ease;z-index:-2}.background-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1}.home-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:100vh;padding:1rem}.home-stats-header{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;justify-content:center;gap:2rem;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1.5rem;border-radius:0 0 12px 12px;border:1px solid rgba(0,255,255,.1);border-top:none;z-index:100;min-width:200px;max-width:300px;cursor:pointer;transition:all .3s ease}.home-stats-header:hover{background:#0000004d;border-color:#00ffff4d;transform:translate(-50%) translateY(2px);box-shadow:0 4px 15px #0ff3}.home-stats-header .stat-item{display:flex;align-items:center;gap:.5rem;color:#fff}.home-stats-header .stat-number{font-size:1rem;font-weight:700;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.5)}.home-stats-header .stat-label{font-size:.8rem;color:#fffc}.home-center{flex:1;display:flex;align-items:center;justify-content:center;padding-top:3rem;padding-bottom:6rem;width:100%;position:relative;min-height:0}.photo-display{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:90%;max-height:70vh;position:relative}.main-photo{max-width:100%;max-height:50vh;object-fit:contain;border-radius:0;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none}.photo-info{display:none;text-align:center;margin-top:1rem;color:#fff;background:#00000080;padding:1rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,255,255,.2);max-width:80%}.photo-info h2{margin:0 0 .5rem;font-size:1.5rem;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.5)}.photo-info p{margin:.25rem 0;font-size:1rem;color:#ffffffe6}.photo-counter{font-size:.9rem;color:#0ffc;margin-top:.5rem}.no-photos-message{text-align:center;padding:2rem;border-radius:15px;background:#ffffff0d;border:1px solid rgba(0,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-photos-message .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.no-photos-message h2{margin-bottom:1rem;color:#0ff}.album-navigation-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.5rem;background:#0000000d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:.5rem 1rem;border-top:1px solid rgba(0,255,255,.05);z-index:100}.nav-btn-small{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.album-list-container-small{flex:1;overflow:hidden;position:relative;height:80px;display:flex;justify-content:center;margin:0 auto}.album-list-small{display:flex;gap:.5rem;padding:.25rem 0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;width:max-content;height:60px;scroll-behavior:smooth;will-change:scroll-position;transition:scroll-left .1s ease-out}.album-item-small{flex:0 0 70px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.4rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;transform:scale(.9);display:flex;flex-direction:column;align-items:center;background-color:#333333b3;will-change:transform}.album-item-small:hover{background:#ffffff1a;border-color:#0ff6;transform:scale(.95);box-shadow:0 4px 15px #0ff3}.album-item-small.selected{background:#00ffff26;border-color:#0ff9;transform:scale(1.05);box-shadow:0 4px 15px #00ffff4d,0 0 20px #0ff3}.page-title{margin:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.title-text{font-size:3rem;font-weight:700;background:linear-gradient(45deg,#fff,#0ff,#fff);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s ease-in-out infinite;text-shadow:0 0 30px rgba(0,255,255,.5)}.title-subtitle{font-size:1.2rem;font-weight:300;color:#fffc;letter-spacing:2px}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.top-stats-window{position:fixed;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;background:#000c;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:.25rem .75rem;z-index:1000;box-shadow:0 2px 12px #0000004d;cursor:pointer;transition:all .2s ease}.top-stats-window:hover{background:#000000e6;border-color:#0ff6;transform:translate(-50%) scale(1.02);box-shadow:0 4px 16px #0ff3}.stats-content{display:flex;gap:1rem;align-items:center}.stats-item{display:flex;flex-direction:column;align-items:center;gap:.0625rem}.stats-number{font-size:.8rem;font-weight:700;color:#0ff;text-shadow:0 0 6px rgba(0,255,255,.5);line-height:1}.stats-label{font-size:.5rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.25px;line-height:1}.error-state,.loading-state,.empty-state{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.error-message,.loading-message,.empty-message{padding:3rem 2rem;border-radius:20px;background:#000c;border:2px solid rgba(0,255,255,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideIn .5s ease-out;box-shadow:0 10px 40px #00000080;max-width:500px;width:100%}.loading-text{color:#0ff;font-size:1.2rem;text-align:center}.simple-loading{display:flex;align-items:center;justify-content:center;flex:1}.loading-spinner{font-size:2rem;animation:rotate 2s linear infinite;margin-bottom:1rem}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message h2,.empty-message h2{margin-bottom:1rem;color:#0ff;font-size:2rem;font-weight:700;text-shadow:0 0 20px rgba(0,255,255,.5);background:linear-gradient(45deg,#fff,#0ff,#fff);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s ease-in-out infinite}.error-message p,.empty-message p{color:#fffc;font-size:1.1rem;line-height:1.6;margin-bottom:.5rem}.empty-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.8;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.retry-button,.create-button,.create-album-btn{display:inline-block;padding:1.2rem 2.5rem;margin-top:1.5rem;background:linear-gradient(45deg,#00ffff26,#00ffff40);border:2px solid rgba(0,255,255,.6);border-radius:12px;color:#0ff;text-decoration:none;font-weight:700;font-size:1.1rem;transition:all .3s ease;cursor:pointer;text-shadow:0 0 10px rgba(0,255,255,.5);box-shadow:0 4px 15px #0ff3}.retry-button:hover,.create-button:hover,.create-album-btn:hover{background:linear-gradient(45deg,#00ffff40,#00ffff59);box-shadow:0 8px 25px #0ff6;transform:translateY(-3px) scale(1.05);border-color:#0ffc}@media (max-width: 768px){.home-stats-header{gap:1.5rem;padding:.4rem 1rem;min-width:180px;max-width:250px}.home-stats-header .stat-number{font-size:.9rem}.home-stats-header .stat-label{font-size:.7rem}.current-album-name{font-size:1.4rem}.current-album-desc{font-size:.8rem}.album-navigation-bottom{gap:.5rem;padding:.5rem}.nav-btn-small{width:28px;height:28px}.album-item-small{flex:0 0 70px}.album-thumbnail-small{width:50px;height:35px}}@media (max-width: 480px){.home-stats-header{gap:1rem;padding:.3rem .8rem;min-width:150px;max-width:200px}.home-stats-header .stat-number{font-size:.8rem}.home-stats-header .stat-label{font-size:.65rem}.current-album-name{font-size:1.2rem}.current-album-desc{font-size:.75rem}.album-item-small{flex:0 0 60px}.album-thumbnail-small{width:45px;height:30px}.album-name-small{font-size:.65rem}.album-count-small{font-size:.55rem}}.image-viewer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center}.image-viewer-container{width:100%;height:100vh;max-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.viewer-header{display:flex;justify-content:center;align-items:center;padding:1rem 2rem;background:transparent;border-bottom:1px solid rgba(0,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:10001}.photo-info{display:flex;align-items:center;gap:2rem}.photo-counter{color:#0ff;font-weight:600;font-size:1.1rem}.photo-title{color:#fff;font-size:1.1rem;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-controls{display:flex;align-items:center;gap:1rem}.control-button{background:#ffffff1a;border:1px solid rgba(0,255,255,.3);border-radius:6px;padding:.5rem;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.9rem;min-width:40px;height:40px}.control-button:hover{background:#0ff3;border-color:#0ff9;color:#0ff;transform:scale(1.05)}.close-button:hover{background:#ff646433;border-color:#ff646499;color:#ff6464}.zoom-level{color:#0ff;font-weight:600;min-width:50px;text-align:center;font-size:.9rem}.image-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;-webkit-user-select:none;user-select:none}.main-image{max-width:100%;max-height:100%;transition:transform .1s ease-out;transform-origin:center;user-drag:none;-webkit-user-drag:none}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s ease;z-index:10001;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.nav-arrow:hover{background:#0ff3;border-color:#0ff9;color:#0ff;transform:translateY(-50%) scale(1.1)}.nav-arrow-left{left:2rem}.nav-arrow-right{right:2rem}.viewer-footer{padding:1rem 2rem;background:transparent;border-top:1px solid rgba(0,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;max-height:120px;flex-wrap:wrap;gap:1rem}.photo-description{color:#ffffffe6;font-size:1rem;max-width:50%;line-height:1.4}.keyboard-shortcuts{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}.shortcut-group{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#ffffffb3;white-space:nowrap}.shortcut-key{background:#0ff3;color:#0ff;padding:.15rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-weight:600;font-size:.7rem;border:1px solid rgba(0,255,255,.3)}.viewer-group-info{flex:1;min-width:0}.viewer-group-title-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.viewer-group-title{font-size:1.2rem;font-weight:700;margin:0;background:linear-gradient(45deg,#fff,#0ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.viewer-description-info-btn{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .3s ease;flex-shrink:0}.viewer-description-info-btn:hover{background:#0ff3;border-color:#0ff9;color:#fff;transform:scale(1.1)}.viewer-group-stats{display:flex;gap:.8rem;align-items:center;font-size:.8rem;margin-top:.2rem}.viewer-photo-count{color:#0ff;font-weight:600}.viewer-created-date{color:#fff9}.viewer-photo-position{color:#0ff;font-weight:600;background:#00ffff1a;padding:.2rem .4rem;border-radius:4px;border:1px solid rgba(0,255,255,.3)}.viewer-controls-footer{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.viewer-control-button{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:4px;padding:.3rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-size:.7rem}.viewer-control-button:hover{background:#0ff3;border-color:#0ff9;color:#fff;transform:translateY(-1px)}.viewer-zoom-level{color:#0ff;font-weight:600;font-size:.8rem;min-width:35px;text-align:center}.viewer-keyboard-shortcuts{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:center;flex-shrink:0}.viewer-shortcut-group{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:#ffffffb3;white-space:nowrap}.viewer-shortcut-key{background:#0ff3;color:#0ff;padding:.1rem .3rem;border-radius:2px;font-family:Courier New,monospace;font-weight:600;font-size:.6rem;border:1px solid rgba(0,255,255,.3)}@media (max-width: 1024px){.nav-arrow-left{left:1rem}.nav-arrow-right{right:1rem}}@media (max-width: 768px){.viewer-header{padding:.75rem 1rem;flex-direction:column;gap:1rem}.photo-info{flex-direction:column;gap:.5rem;text-align:center}.photo-title{max-width:none}.viewer-controls{flex-wrap:wrap;justify-content:center}.nav-arrow{width:50px;height:50px}.nav-arrow-left{left:.5rem}.nav-arrow-right{right:.5rem}.viewer-footer{padding:.75rem 1rem;flex-direction:column;gap:1rem;text-align:center}.photo-description{max-width:100%}.keyboard-shortcuts{flex-wrap:wrap;justify-content:center;gap:1rem}}@media (max-width: 480px){.viewer-header{padding:.5rem}.viewer-controls{gap:.5rem}.control-button{padding:.4rem;min-width:36px;height:36px;font-size:.8rem}.nav-arrow{width:40px;height:40px}.keyboard-shortcuts{display:none}.zoom-level{font-size:.8rem;min-width:40px}}@media (hover: none){.control-button:hover,.nav-arrow:hover{transform:none;background:#00ffff1a;border-color:#0ff6}.close-button:hover{background:#ff64641a;border-color:#ff646466}}.main-image{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.group-detail-page{width:100%;min-height:100vh;padding-top:0;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#e2e8f0;position:relative}.group-detail-page:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.group-detail-page>*{position:relative;z-index:1}.group-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,255,255,.2);position:sticky;top:0;z-index:100}.back-button-icon{background:#ffffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;padding:.75rem;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.back-button-icon:hover{background:#00ffff1a;border-color:#0ff9;color:#0ff;transform:translate(-2px)}.group-info{flex:1;margin:0 2rem;text-align:center}.group-title-container{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.group-title{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(45deg,#fff,#0ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.group-description{color:#fffc;margin:0 0 1rem;font-size:1.1rem;white-space:pre-wrap}.group-stats{display:flex;gap:1rem;align-items:center;font-size:.9rem;flex-shrink:0}.photo-count{color:#0ff;font-weight:600}.created-date{color:#fff9}.fullscreen-button{background:#ffffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;padding:.75rem;color:#fff;cursor:pointer;transition:all .3s ease}.fullscreen-button:hover{background:#00ffff1a;border-color:#0ff9;color:#0ff}.main-photo-container{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.main-photo-wrapper{position:relative;max-width:100%;max-height:70vh;background:#ffffff0d;border-radius:15px;overflow:hidden;border:1px solid rgba(0,255,255,.2);box-shadow:0 0 30px #00ffff1a}.photo-counter{position:absolute;top:1rem;right:1rem;background:#000c;color:#0ff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(0,255,255,.3);z-index:10}.main-photo{width:100%;height:auto;max-height:70vh;object-fit:contain;cursor:zoom-in;transition:transform .3s ease}.main-photo:hover{transform:scale(1.02)}.photo-title{position:absolute;bottom:3rem;left:1rem;right:1rem;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:1.1rem;font-weight:600;text-align:center;border:1px solid rgba(0,255,255,.3)}.photo-description{position:absolute;bottom:.5rem;left:1rem;right:1rem;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#ffffffe6;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;text-align:center;border:1px solid rgba(0,255,255,.2)}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#000c;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s ease;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-button:hover{background:#0ff3;border-color:#0ff9;color:#0ff;transform:translateY(-50%) scale(1.1)}.nav-button-left{left:-80px}.nav-button-right{right:-80px}.thumbnails-container{margin-top:2rem;overflow-x:auto;padding:1rem 0}.thumbnails-wrapper{display:flex;gap:1rem;padding:0 1rem;min-width:max-content}.thumbnail{position:relative;width:100px;height:100px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease;flex-shrink:0}.thumbnail:hover{border-color:#00ffff80;transform:scale(1.05)}.thumbnail.active{border-color:#0ff;box-shadow:0 0 20px #0ff6}.thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.thumbnail:hover .thumbnail-overlay{opacity:1}.thumbnail.active .thumbnail-overlay{opacity:0}.thumbnail-index{color:#0ff;font-weight:600;font-size:.9rem}.controls-hint{display:flex;justify-content:center;gap:2rem;padding:1rem;background:#ffffff0d;border-radius:15px;border:1px solid rgba(0,255,255,.1);position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hint-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.hint-key{background:#0ff3;color:#0ff;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-weight:600;font-size:.8rem}.hint-text{color:#fffc}.empty-group{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;min-height:100vh;position:relative}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-group h3{color:#0ff;margin-bottom:1rem}.empty-group p{color:#fffc;margin-bottom:2rem}.error-state{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}.error-message{padding:2rem;border-radius:15px;background:#ffffff0d;border:1px solid rgba(255,100,100,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.retry-button,.back-button{padding:.75rem 1.5rem;background:#ffffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease}.retry-button:hover,.back-button:hover{background:#00ffff1a;border-color:#0ff9;color:#0ff}.thumbnail-grid-view{padding:15px 2rem 0;padding-bottom:120px;max-width:1400px;margin:0 auto}.grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,255,.2)}.grid-header h3{color:#0ff;font-size:1.5rem;margin:0}.view-controls{display:flex;gap:1rem}.btn-view-mode{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:8px;color:#0ff;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-view-mode:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);box-shadow:0 0 25px #0ff6;transform:translateY(-2px)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;padding:0}.grid-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease;background:#ffffff0d}.grid-item:hover{border-color:#00ffff80;transform:scale(1.05);box-shadow:0 8px 25px #0ff3}.grid-item.active{border-color:#0ff;box-shadow:0 0 30px #00ffff80}.grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.grid-item:hover img{transform:scale(1.1)}.grid-item-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0000,#0000004d,#000c);display:flex;flex-direction:column;justify-content:space-between;padding:1rem;opacity:0;transition:opacity .3s ease}.grid-item:hover .grid-item-overlay,.grid-item.active .grid-item-overlay{opacity:1}.item-number{align-self:flex-start;background:#00ffffe6;color:#000;padding:.25rem .75rem;border-radius:20px;font-weight:700;font-size:.9rem;box-shadow:0 2px 10px #00ffff4d}.item-title{align-self:flex-end;background:#000c;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@media (max-width: 1024px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}@media (max-width: 768px){.thumbnail-grid-view{padding:1rem}.grid-header{flex-direction:column;gap:1rem;text-align:center}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.grid-item-overlay{padding:.5rem}.item-number{padding:.2rem .5rem;font-size:.8rem}.item-title{padding:.3rem .6rem;font-size:.8rem}}@media (max-width: 480px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}}@media (max-width: 1024px){.nav-button-left{left:-60px}.nav-button-right{right:-60px}}@media (max-width: 768px){.group-header{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.group-info{margin:0}.group-title{font-size:1.5rem}.group-stats{flex-direction:column;gap:.5rem}.group-content{padding:1rem}.nav-button{width:50px;height:50px}.nav-button-left{left:-30px}.nav-button-right{right:-30px}.controls-hint{flex-direction:column;gap:1rem;text-align:center}.thumbnails-wrapper{gap:.5rem}.thumbnail{width:80px;height:80px}}@media (max-width: 480px){.group-title{font-size:1.3rem}.nav-button-left,.nav-button-right{display:none}.main-photo-wrapper{margin:0 -1rem;border-radius:0}.thumbnail{width:70px;height:70px}.controls-hint{display:none}}.viewer-controls-header{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.viewer-controls-header .control-button{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:6px;padding:.4rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:.8rem}.viewer-controls-header .control-button:hover{background:#0ff3;border-color:#0ff9;color:#fff;transform:translateY(-1px)}.viewer-controls-header .close-button{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.viewer-controls-header .close-button:hover{background:#ef444433;border-color:#ef444499;color:#fff}.viewer-controls-header .zoom-level{color:#0ff;font-weight:600;font-size:.9rem;min-width:40px;text-align:center}.description-info-btn{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .3s ease;flex-shrink:0}.description-info-btn:hover{background:#0ff3;border-color:#0ff9;color:#fff;transform:scale(1.1)}.description-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:999999;animation:fadeIn .3s ease-out}.description-modal-content{background:#000000e6;border:1px solid rgba(0,255,255,.3);border-radius:12px;padding:0;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;overflow-x:hidden;animation:slideInScale .3s ease-out;position:relative;word-wrap:break-word;word-break:break-word}.description-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid rgba(0,255,255,.2)}.description-modal-header h3{margin:0;color:#0ff;font-size:1.2rem}.description-modal-close{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .3s ease}.description-modal-close:hover{color:#fff;background:#ffffff1a}.description-modal-body{padding:1.5rem 2rem 2rem}.description-modal-body p{margin:0;color:#ffffffe6;font-size:1rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@keyframes slideInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-page{width:100%;min-height:100vh;padding-top:80px;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#e2e8f0;position:relative}.admin-page:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.admin-page>*{position:relative;z-index:1}.admin-content{display:flex;flex-direction:column;min-height:calc(100vh - 200px);gap:.5rem}.album-horizontal-container{flex:1;overflow:hidden;position:relative;height:100px;display:flex;justify-content:center;margin:0 auto}.admin-top-header{position:fixed;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;background:#000c;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:.25rem .75rem;z-index:1000;box-shadow:0 2px 12px #0000004d;cursor:pointer;transition:all .2s ease}.admin-top-header:hover{background:#000000e6;border-color:#0ff6;transform:translate(-50%) scale(1.02);box-shadow:0 4px 16px #0ff3}.admin-header-content{display:flex;gap:1rem;align-items:center}.admin-header-item{display:flex;align-items:center;gap:.5rem;color:#0ff;text-decoration:none;font-size:.8rem;font-weight:700;text-shadow:0 0 6px rgba(0,255,255,.5);transition:all .2s ease;background:none;border:none;cursor:pointer;padding:0}.admin-header-item:hover{color:#fff;transform:translateY(-1px)}.back-home-header{display:flex;align-items:center;gap:.5rem;color:#0ff;text-decoration:none;font-size:.8rem;font-weight:700;text-shadow:0 0 6px rgba(0,255,255,.5);transition:all .2s ease}.back-home-header:hover{color:#fff;transform:translateY(-1px)}.create-album-btn{display:flex;align-items:center;gap:.5rem;color:#0ff;text-decoration:none;font-size:.8rem;font-weight:700;text-shadow:0 0 6px rgba(0,255,255,.5);transition:all .2s ease;background:none;border:none;cursor:pointer;padding:0}.create-album-btn:hover{color:#fff;transform:translateY(-1px)}.album-selection-area{background:transparent;border:none;border-radius:0;padding:.5rem;flex-shrink:0;padding-top:0;margin-top:-40px;margin-bottom:.5rem;height:120px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:999}.albums-loading{display:flex;justify-content:center;padding:2rem}.album-horizontal-list.compact{background:transparent;border-radius:0;padding:0;margin-bottom:.5rem;display:flex;flex-direction:column;justify-content:center;min-height:auto}.expand-controls-inline{display:flex;justify-content:center;margin-top:-1.5rem;padding-top:0;border-top:none;position:relative;z-index:100}.expand-btn-inline{background:none;border:none;border-radius:0;padding:0;color:#0ff;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;text-shadow:0 0 6px rgba(0,255,255,.5);text-decoration:none}.expand-btn-inline:hover{color:#fff;transform:translateY(-1px)}.expand-btn-inline.expanded{color:#fff;text-shadow:0 0 8px rgba(0,255,255,.7)}.expand-btn-inline .rotate{transform:rotate(90deg)}.album-navigation-container{display:flex;align-items:center;gap:.25rem;padding:.5rem;border-top:none;z-index:100;flex:1;justify-content:center;max-width:100%;overflow:hidden}.nav-btn-small{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;position:relative;z-index:101}.nav-btn-small:hover{background:#0ff3;border-color:#0ff9;transform:scale(1.1);box-shadow:0 0 15px #0ff6}.album-list-container-small{flex:1;overflow:visible;position:relative;height:120px;display:flex;justify-content:center;margin:0 auto;align-items:center;max-width:calc(100% - 80px);min-width:0}.album-list-small{display:flex;gap:.5rem;padding:.75rem 0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;width:max-content;height:100px;scroll-behavior:smooth;will-change:scroll-position;transition:scroll-left .1s ease-out;align-items:center;max-width:100%}.album-list-small::-webkit-scrollbar{display:none}.album-item-small{flex:0 0 70px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.4rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;transform:scale(.95);display:flex;flex-direction:column;align-items:center;background-color:#333333b3;will-change:transform;position:relative;z-index:1}.album-item-small:hover{background:#ffffff1a;border-color:#0ff6;transform:scale(1);box-shadow:0 4px 15px #0ff3;z-index:2}.album-item-small.selected{background:#00ffff26;border-color:#0ff9;transform:scale(1.05);box-shadow:0 4px 15px #00ffff4d,0 0 20px #0ff3;z-index:3;margin:0 .15rem;position:relative}.album-thumbnail-small{width:50px;height:35px;border-radius:4px;overflow:hidden;background:#ffffff1a;display:flex;align-items:center;justify-content:center;margin:0 auto .2rem;border:1px solid rgba(0,255,255,.2);background-color:#333}.thumbnail-img-small{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;background-color:#333}.no-thumbnail-small{font-size:1.2rem;color:#ffffff80;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.album-info-small{color:#fff;display:flex;flex-direction:column;align-items:center}.album-name-small{margin:0 0 .125rem;font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;max-width:100%}.album-count-small{margin:0;font-size:.6rem;color:#0ff;opacity:.8;line-height:1}.preview-title-section{display:flex;flex-direction:column;gap:.5rem}.title-with-actions{display:flex;align-items:center;gap:1rem;justify-content:space-between;width:100%}.title-with-actions h4{margin:0}.album-actions-inline{display:flex;gap:.5rem;align-items:center;margin-left:auto}.album-actions-inline .add-photos-button.view-btn{background:linear-gradient(45deg,#22c55e33,#22c55e4d);border-color:#22c55eb3;color:#10b981;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-inline .add-photos-button.view-btn:hover{background:linear-gradient(45deg,#22c55e4d,#22c55e66);border-color:#22c55ee6;color:#059669;box-shadow:0 0 15px #22c55e66;transform:translateY(-1px)}.album-actions-inline .add-photos-button.edit-btn{background:linear-gradient(45deg,#eab30833,#eab3084d);border-color:#eab308b3;color:#f59e0b;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-inline .add-photos-button.edit-btn:hover{background:linear-gradient(45deg,#eab3084d,#eab30866);border-color:#eab308e6;color:#d97706;box-shadow:0 0 15px #eab30866;transform:translateY(-1px)}.album-actions-inline .add-photos-button.delete-btn{background:linear-gradient(45deg,#ef444433,#ef44444d);border-color:#ef4444b3;color:#dc2626;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-inline .add-photos-button.delete-btn:hover{background:linear-gradient(45deg,#ef44444d,#ef444466);border-color:#ef4444e6;color:#b91c1c;box-shadow:0 0 15px #ef444466;transform:translateY(-1px)}.album-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:4px;color:#0ff;cursor:pointer;transition:all .2s ease;font-size:12px}.album-action-btn:hover{background:#0ff3;border-color:#00ffff80;transform:scale(1.1)}.album-list-empty{text-align:center;padding:2rem 1rem}.empty-content{max-width:300px;margin:0 auto}.empty-content h3{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.empty-content p{color:#fff9;margin:0 0 1.5rem;line-height:1.5;font-size:.9rem}.create-album-button{background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:6px;padding:.5rem 1rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}.create-album-button:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);border-color:#00ffffb3;transform:translateY(-1px)}.album-navigation-container{display:flex;align-items:center;gap:.75rem;width:100%}.nav-button-large{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .3s ease;flex-shrink:0}.nav-button-large:hover{background:#0ff3;border-color:#0ff9;transform:scale(1.05)}.album-list-container.compact{flex:1;position:relative;overflow:hidden;min-width:0;transition:all .3s ease}.album-list.compact{display:flex;gap:.5rem;overflow-x:auto;scroll-behavior:smooth;padding:.25rem 0;scrollbar-width:none;-ms-overflow-style:none;transition:all .3s ease}.album-list.compact::-webkit-scrollbar{display:none}.album-card.compact{flex:0 0 60px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .3s ease;text-align:center;min-height:60px;display:flex;flex-direction:column;justify-content:center}.album-card.compact:hover{background:#ffffff14;border-color:#00ffff4d;transform:translateY(-1px)}.album-card.compact.selected{background:#00ffff1a;border-color:#00ffff80;box-shadow:0 0 10px #0ff3}.album-thumbnail.compact{width:40px;height:40px;border-radius:6px;overflow:hidden;background:#ffffff1a;display:flex;align-items:center;justify-content:center;margin:0 auto .25rem;border:1px solid rgba(0,255,255,.2);flex-shrink:0}.album-card.compact:hover .thumbnail-img{transform:scale(1.05)}.album-info.compact{text-align:center;min-width:0}.album-info.compact .album-name{margin:0 0 .125rem;color:#fff;font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1;max-width:50px}.album-info.compact .album-count{margin:0;color:#0ff;font-size:.6rem;line-height:1}.album-controls.compact{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.album-controls.compact .album-actions{display:flex;gap:.25rem}.album-controls.compact .action-btn{background:linear-gradient(135deg,#4096ff33,#64c8ff26);border:1px solid rgba(64,150,255,.5);border-radius:8px;padding:.5rem;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all .3s ease;min-width:32px;height:32px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 10px #4096ff40;font-weight:600}.album-controls.compact .action-btn svg{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0}.album-controls.compact .view-btn{color:#fff;border-color:#00dca099;background:linear-gradient(135deg,#00dca040,#32ffc826);box-shadow:0 2px 12px #00dca04d}.album-controls.compact .view-btn:hover{background:linear-gradient(135deg,#00dca066,#32ffc840);border-color:#00dca0e6;color:#fff;box-shadow:0 0 20px #00dca099,0 4px 15px #00dca04d;transform:translateY(-2px) scale(1.08)}.album-controls.compact .edit-btn{color:#fff;border-color:#ffb40099;background:linear-gradient(135deg,#ffb40040,#ffc83226);box-shadow:0 2px 12px #ffb4004d}.album-controls.compact .edit-btn:hover{background:linear-gradient(135deg,#ffb40066,#ffc83240);border-color:#ffb400e6;color:#fff;box-shadow:0 0 20px #ffb40099,0 4px 15px #ffb4004d;transform:translateY(-2px) scale(1.08)}.album-controls.compact .delete-btn{color:#fff;border-color:#ff506499;background:linear-gradient(135deg,#ff506440,#ff788226);box-shadow:0 2px 12px #ff50644d}.album-controls.compact .delete-btn:hover{background:linear-gradient(135deg,#ff506466,#ff788240);border-color:#ff5064e6;color:#fff;box-shadow:0 0 20px #ff506499,0 4px 15px #ff50644d;transform:translateY(-2px) scale(1.08)}.album-controls.compact .create-btn{background:linear-gradient(135deg,#00ffff26,#00ffff40);border:1px solid rgba(0,255,255,.6);border-radius:6px;padding:.4rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0ff3}.album-controls.compact .create-btn:hover{background:linear-gradient(135deg,#00ffff4d,#0ff6);border-color:#00ffffe6;color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #0ff6}.expand-controls.compact{text-align:center;margin-top:.5rem;transition:all .3s ease}.expand-controls.compact .expand-btn{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:4px;padding:.25rem .5rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;position:relative;overflow:hidden}.expand-controls.compact .expand-btn:hover{background:#0ff3;border-color:#0ff9;transform:translateY(-1px)}.expand-controls.compact .expand-btn.expanded{background:#00ffff26;border-color:#00ffff80}.expand-controls.compact .expand-btn .rotate{transform:rotate(90deg);transition:transform .3s ease}@keyframes expandPulse{0%{box-shadow:0 0 #0ff6}70%{box-shadow:0 0 0 8px #0ff0}to{box-shadow:0 0 #0ff0}}.expand-controls.compact .expand-btn.expanded:hover{animation:expandPulse 1.5s infinite}.album-list-empty{text-align:center;padding:3rem 1rem}.empty-content{max-width:400px;margin:0 auto}.empty-icon{color:#0ff6;margin-bottom:1rem}.empty-content h3{color:#fff;margin:0 0 .5rem;font-size:1.3rem}.empty-content p{color:#fff9;margin:0 0 1.5rem;line-height:1.5}.create-album-button{background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:8px;padding:.75rem 1.5rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.create-album-button:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);border-color:#00ffffb3;transform:translateY(-2px)}.album-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.album-section-title{color:#0ff;font-size:1.3rem;font-weight:600;margin:0}.toggle-view-button{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;padding:.5rem 1rem;color:#0ff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.toggle-view-button:hover{background:#0ff3;border-color:#0ff9}.horizontal-scroll-area{position:relative;overflow:hidden}.horizontal-albums-container{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;padding:.5rem 0;scrollbar-width:thin;scrollbar-color:rgba(0,255,255,.3) transparent}.horizontal-albums-container::-webkit-scrollbar{height:6px}.horizontal-albums-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.horizontal-albums-container::-webkit-scrollbar-thumb{background:#00ffff4d;border-radius:3px}.horizontal-albums-container::-webkit-scrollbar-thumb:hover{background:#00ffff80}.horizontal-album-item{flex:0 0 250px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative}.horizontal-album-item:hover{background:#ffffff14;border-color:#00ffff4d;transform:translateY(-2px)}.horizontal-album-item.selected{background:#00ffff1a;border-color:#00ffff80;box-shadow:0 0 15px #0ff3}.horizontal-album-content{display:flex;align-items:center;gap:1rem}.horizontal-album-thumbnail{width:60px;height:60px;border-radius:8px;overflow:hidden;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(0,255,255,.2)}.horizontal-thumbnail-image{width:100%;height:100%;object-fit:cover}.horizontal-no-thumbnail{color:#0ff9}.horizontal-album-info{flex:1;min-width:0}.horizontal-album-name{margin:0 0 .25rem;color:#fff;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.horizontal-album-count{margin:0 0 .25rem;color:#0ff;font-size:.85rem}.horizontal-album-desc{margin:0;color:#ffffffb3;font-size:.75rem;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.horizontal-album-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .3s ease}.horizontal-album-item:hover .horizontal-album-actions{opacity:1}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#0ff;cursor:pointer;transition:all .3s ease;z-index:10}.nav-button:hover{background:#0ff3;border-color:#0ff9;transform:translateY(-50%) scale(1.1)}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button.prev{left:-20px}.nav-button.next{right:-20px}.album-expanded-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000001;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.album-expanded-view{width:100%;max-width:90vw;padding:1rem;background:#000000fc;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-radius:15px;box-shadow:0 20px 40px #00000080;z-index:1000002;max-height:80vh;overflow-y:auto}.all-albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.5rem;padding:.5rem 0}.album-card-expanded{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:.5rem;min-height:140px;position:relative}.album-card-expanded:hover{background:#ffffff14;border-color:#00ffff4d;transform:translateY(-2px);box-shadow:0 4px 20px #0ff3}.album-card-expanded.selected{background:#00ffff1a;border-color:#00ffff80;box-shadow:0 0 15px #00ffff4d}.album-thumbnail-expanded{width:100%;height:80px;border-radius:6px;overflow:hidden;background:#ffffff1a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,255,255,.2);flex-shrink:0;position:relative}.album-thumbnail-expanded img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;display:block;max-width:100%;max-height:100%}.album-card-expanded:hover .album-thumbnail-expanded img{transform:scale(1.05)}.album-thumbnail-expanded .no-thumbnail{color:#0ff9}.album-info-expanded{flex:1;text-align:center}.album-info-expanded .album-name{margin:0 0 .25rem;color:#fff;font-size:.9rem;font-weight:600;line-height:1.2;word-break:break-word}.album-info-expanded .album-count{margin:0 0 .25rem;color:#0ff;font-size:.75rem;font-weight:500}.album-info-expanded .album-desc{margin:0;color:#ffffffb3;font-size:.7rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.album-actions-expanded{display:flex;justify-content:center;gap:.5rem;margin-top:auto}.album-actions-expanded .action-btn{min-width:36px;height:36px;padding:.6rem;display:flex;align-items:center;justify-content:center}.album-actions-expanded .action-btn svg{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0}.action-btn svg{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;width:14px;height:14px}.album-number{position:absolute;top:-8px;left:-8px;background:linear-gradient(45deg,#0ff,#0080ff);color:#000;font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,.3);z-index:10;box-shadow:0 2px 4px #0000004d;transition:all .3s ease}.album-card-expanded:hover .album-number{transform:scale(1.1);box-shadow:0 3px 6px #0006}.album-card-expanded{cursor:grab;transition:all .3s ease}.album-card-expanded:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.album-card-expanded:active{cursor:grabbing}.album-card-expanded.dragging{opacity:.5;transform:rotate(5deg) scale(1.05);z-index:1000;box-shadow:0 8px 25px #0000004d}.album-card-expanded.dragging .album-number{transform:scale(1.2);background:linear-gradient(45deg,#ff6b6b,#ff8e8e);color:#fff}.album-actions-expanded .action-btn.view-btn{background:linear-gradient(45deg,#22c55e33,#22c55e4d);border-color:#22c55eb3;color:#10b981;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-expanded .action-btn.view-btn:hover{background:linear-gradient(45deg,#22c55e4d,#22c55e66);border-color:#22c55ee6;color:#059669;box-shadow:0 0 15px #22c55e66;transform:translateY(-1px)}.album-actions-expanded .action-btn.edit-btn{background:linear-gradient(45deg,#eab30833,#eab3084d);border-color:#eab308b3;color:#f59e0b;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-expanded .action-btn.edit-btn:hover{background:linear-gradient(45deg,#eab3084d,#eab30866);border-color:#eab308e6;color:#d97706;box-shadow:0 0 15px #eab30866;transform:translateY(-1px)}.album-actions-expanded .action-btn.delete-btn{background:linear-gradient(45deg,#ef444433,#ef44444d);border-color:#ef4444b3;color:#dc2626;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.album-actions-expanded .action-btn.delete-btn:hover{background:linear-gradient(45deg,#ef44444d,#ef444466);border-color:#ef4444e6;color:#b91c1c;box-shadow:0 0 15px #ef444466;transform:translateY(-1px)}.add-album-button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:200px;background:#00ffff0d;border:2px dashed rgba(0,255,255,.3);border-radius:12px;color:#0ff;cursor:pointer;transition:all .3s ease;flex-direction:column}.add-album-button:hover{background:#00ffff1a;border-color:#00ffff80;transform:translateY(-2px)}.action-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;font-size:.8rem}.view-button{color:#0ff}.view-button:hover{background:#0ff3;border-color:#00ffff80}.edit-button{color:#fa0}.edit-button:hover{background:#fa03;border-color:#ffaa0080}.delete-button{color:#ff6464}.delete-button:hover{background:#ff646433;border-color:#ff646480}.main-content-area{background:transparent;border:none;border-radius:0;padding:0;flex:1;min-height:500px;display:flex;flex-direction:column}.album-management{height:100%;display:flex;flex-direction:column;gap:1.5rem;background:transparent;border:none;border-radius:0;padding:0;flex:1;min-height:500px}.no-album-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5rem;color:#fff9;min-height:100vh;width:100%;position:absolute;top:0;left:0;z-index:1}.no-album-icon{opacity:.5;color:#0ff}.no-album-selected h3{color:#fff;margin:0;font-size:1.5rem}.no-album-selected p{margin:0;max-width:400px;line-height:1.5;font-size:1rem}.create-album-cta{padding:1rem 2rem;background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:8px;color:#0ff;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:1rem}.create-album-cta:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);border-color:#00ffffb3;transform:translateY(-2px)}.glow-hover:hover{box-shadow:0 0 20px #00ffff4d}.photos-preview-section{flex:1;background:#ffffff0d;border:1px solid rgba(0,255,255,.2);border-radius:10px;padding:.5rem 1.5rem 1.5rem;min-height:300px;position:relative;z-index:1}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,255,255,.1)}.preview-title-section{display:flex;align-items:center;gap:1rem;flex-shrink:0;min-width:0}.preview-header h4{margin:0;color:#0ff;font-size:1.1rem}.drag-hint{margin:.25rem 0 0;color:#fff9;font-size:.8rem}.add-photos-button{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .8rem;background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:12px;color:#0ff;cursor:pointer;font-size:.85rem;transition:all .3s ease;text-decoration:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;white-space:nowrap}.add-photos-button:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);transform:translateY(-1px)}.add-photos-button svg{display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-photos-button span{display:flex;align-items:center;justify-content:center;white-space:nowrap}.add-photos-button:disabled{opacity:.5;cursor:not-allowed}.upload-spinner{width:16px;height:16px;border:2px solid rgba(0,255,255,.3);border-top:2px solid #00ffff;border-radius:50%;animation:spin 1s linear infinite}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;padding:1rem 0}.photo-grid-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease;background:#ffffff0d}.photo-grid-item:hover{border-color:#00ffff80;transform:scale(1.05);box-shadow:0 4px 15px #0ff3}.photo-grid-item.sortable{cursor:grab}.photo-grid-item.dragging{z-index:1000;cursor:grabbing;transform:rotate(5deg) scale(1.1);box-shadow:0 8px 25px #0ff6}.saving-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1001;border-radius:10px}.grid-photo{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-grid-item:hover .grid-photo{transform:scale(1.1)}.photo-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0000,#0003,#0009);display:flex;flex-direction:column;justify-content:space-between;padding:.5rem;transition:opacity .3s ease}.photo-number{align-self:flex-start;background:#00ffffe6;color:#000;padding:.2rem .5rem;border-radius:12px;font-weight:700;font-size:.8rem;box-shadow:0 2px 8px #00ffff4d;opacity:1}.photo-title{align-self:flex-end;background:#000c;color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .3s ease}.photo-grid-item:hover .photo-title{opacity:1}.photos-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.no-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:#fff9;text-align:center;gap:1rem}.no-photos-icon{color:#0ff6}.no-photos p{margin:0;font-size:.9rem}.upload-section{margin-top:1rem}.selected-group-info{text-align:center;margin-bottom:2rem;padding:1rem;background:#00ffff0d;border:1px solid rgba(0,255,255,.2);border-radius:10px}.selected-group-info h3{margin:0 0 .5rem;color:#0ff;font-size:1.3rem}.selected-group-info p{margin:0;color:#fffc}.drop-zone{border:2px dashed rgba(0,255,255,.3);border-radius:10px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#ffffff05;position:relative;min-height:150px;display:flex;align-items:center;justify-content:center}.drop-zone:hover{border-color:#0ff9;background:#00ffff0d}.drop-zone.drag-over{border-color:#0ff;background:#00ffff1a;box-shadow:0 0 30px #00ffff4d}.drop-zone.uploading{cursor:not-allowed;border-color:#00ffff80}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{color:#0ff;opacity:.7}.drop-zone h4{margin:0;color:#fff;font-size:1.2rem;font-weight:600}.drop-zone p{margin:0;color:#ffffffb3;line-height:1.4;font-size:.9rem}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:1rem}.progress-circle{position:relative;width:120px;height:120px;border-radius:50%;background:conic-gradient(from 0deg,#00ffff var(--progress, 0%),rgba(0,255,255,.2) var(--progress, 0%));display:flex;align-items:center;justify-content:center}.progress-circle:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#000}.progress-bar{position:relative;z-index:1;color:#0ff;font-size:1.2rem;font-weight:600}.no-group-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5rem;color:#fff9}.no-group-icon{opacity:.5;color:#0ff}.no-group-selected h3{color:#fff;margin:0}.no-group-selected p{margin:0;max-width:400px;line-height:1.5}.create-group-cta{padding:1rem 2rem;background:linear-gradient(45deg,#00ffff1a,#0ff3);border:1px solid rgba(0,255,255,.5);border-radius:8px;color:#0ff;cursor:pointer;font-weight:600;transition:all .3s ease}.create-group-cta:hover{background:linear-gradient(45deg,#0ff3,#00ffff4d);transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000fa;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:999999;overflow:hidden;pointer-events:auto}.modal-overlay:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.modal-overlay>*{position:relative;z-index:1}.modal-content{background:#000000fc;border:1px solid rgba(0,255,255,.3);border-radius:15px;padding:2rem;max-width:500px;width:90%;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);animation:slideInScale .3s ease-out;position:relative;z-index:1000000;box-shadow:0 0 60px #000000f2}@keyframes slideInScale{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,255,.2)}.modal-header h3{margin:0;color:#0ff;font-size:1.3rem}.modal-close{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .3s ease}.modal-close:hover{color:#fff;background:#ffffff1a}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#fff;font-weight:600;font-size:.9rem}.form-group input,.form-group textarea{background:#ffffff1a;border:1px solid rgba(0,255,255,.3);border-radius:8px;padding:.75rem;color:#fff;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0ff9;box-shadow:0 0 10px #0ff3}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff80}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.button-secondary,.button-primary{padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;border:1px solid}.button-secondary{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.button-secondary:hover{background:#ffffff26;border-color:#ffffff80}.button-primary{background:linear-gradient(45deg,#0ff3,#00ffff4d);border-color:#00ffff80;color:#0ff}.button-primary:hover{background:linear-gradient(45deg,#00ffff4d,#0ff6);border-color:#00ffffb3;transform:translateY(-1px)}.result-toast{position:fixed;top:100px;right:2rem;max-width:400px;background:#000000e6;border-radius:8px;padding:1rem;display:flex;align-items:flex-start;gap:1rem;z-index:1000002;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid}.result-toast.success{border-color:#00ff0080;box-shadow:0 0 20px #0f03}.result-toast.error{border-color:#ff646480;box-shadow:0 0 20px #ff646433}.toast-content{flex:1;display:flex;gap:.75rem}.toast-icon{flex-shrink:0}.result-toast.success .toast-icon{color:#0f0}.result-toast.error .toast-icon{color:#ff6464}.toast-message{flex:1}.toast-title{margin:0 0 .5rem;color:#fff;font-weight:600;font-size:.9rem}.toast-details{margin-top:.5rem;color:#fffc;font-size:.8rem}.toast-details p{margin:0 0 .25rem}.toast-details ul{margin:0;padding-left:1rem;list-style-type:disc}.toast-details li{margin-bottom:.25rem}.toast-close{background:none;border:none;color:#ffffff80;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease;flex-shrink:0}.toast-close:hover{color:#fff;background:#ffffff1a}.album-actions-above{display:flex;justify-content:center;margin-bottom:1rem;padding:.5rem 0}.album-actions-centered{display:flex;gap:.75rem;background:#0000004d;padding:.75rem 1.5rem;border-radius:12px;border:1px solid rgba(0,255,255,.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.album-actions-centered .action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:1px solid;cursor:pointer;transition:all .3s ease;font-weight:500;text-decoration:none;min-width:80px;justify-content:center}.album-actions-centered .action-btn svg{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0}.album-actions-centered .view-btn{background:linear-gradient(135deg,#00dca040,#32ffc826);border-color:#00dca099;color:#fff;box-shadow:0 2px 12px #00dca04d}.album-actions-centered .view-btn:hover{background:linear-gradient(135deg,#00dca066,#32ffc840);border-color:#00dca0e6;color:#fff;box-shadow:0 0 20px #00dca099,0 4px 15px #00dca04d;transform:translateY(-2px) scale(1.05)}.album-actions-centered .edit-btn{background:linear-gradient(135deg,#ffb40040,#ffc83226);border-color:#ffb40099;color:#fff;box-shadow:0 2px 12px #ffb4004d}.album-actions-centered .edit-btn:hover{background:linear-gradient(135deg,#ffb40066,#ffc83240);border-color:#ffb400e6;color:#fff;box-shadow:0 0 20px #ffb40099,0 4px 15px #ffb4004d;transform:translateY(-2px) scale(1.05)}.album-actions-centered .delete-btn{background:linear-gradient(135deg,#ff506440,#ff788226);border-color:#ff506499;color:#fff;box-shadow:0 2px 12px #ff50644d}.album-actions-centered .delete-btn:hover{background:linear-gradient(135deg,#ff506466,#ff788240);border-color:#ff5064e6;color:#fff;box-shadow:0 0 20px #ff506499,0 4px 15px #ff50644d;transform:translateY(-2px) scale(1.05)}.album-actions-centered .create-btn{background:linear-gradient(135deg,#00ffff40,#00ffff26);border-color:#0ff9;color:#0ff;box-shadow:0 2px 12px #00ffff4d}.album-actions-centered .create-btn:hover{background:linear-gradient(135deg,#0ff6,#00ffff40);border-color:#00ffffe6;color:#fff;box-shadow:0 0 20px #0ff9,0 4px 15px #00ffff4d;transform:translateY(-2px) scale(1.05)}@media (max-width: 1024px){.admin-content{gap:1.5rem}.album-horizontal-container,.main-management-area{padding:1rem}.horizontal-album-item{flex:0 0 250px}.all-albums-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 768px){.admin-page{padding-top:60px}.admin-content{gap:1rem}.album-horizontal-container,.main-management-area{padding:1rem}.album-section-header{flex-direction:column;align-items:flex-start;gap:1rem}.horizontal-album-item{flex:0 0 180px}.horizontal-album-content{flex-direction:column;text-align:center;gap:.5rem}.horizontal-album-thumbnail{width:80px;height:80px;align-self:center}.album-expanded-overlay{padding:10px}.album-expanded-view{max-height:70vh;max-width:95vw;padding:.5rem}.all-albums-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.25rem;padding:.25rem 0}.album-card-expanded{padding:.5rem;min-height:100px}.album-thumbnail-expanded{height:60px}.album-thumbnail-expanded img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;max-width:100%;max-height:100%}.album-info-expanded .album-name{font-size:.8rem}.album-info-expanded .album-count{font-size:.7rem}.album-info-expanded .album-desc{font-size:.65rem}.nav-button{width:35px;height:35px}.nav-button.prev{left:-17px}.nav-button.next{right:-17px}.drop-zone{padding:2rem 1rem;min-height:300px}.result-toast{right:1rem;left:1rem;max-width:none}.modal-content{padding:1.5rem}.album-actions-centered{flex-wrap:wrap;gap:.5rem}.album-actions-centered .action-btn{min-width:70px;padding:.4rem .8rem;font-size:.9rem}.album-actions-centered .action-btn span{font-size:.8rem}}@media (max-width: 480px){.album-horizontal-container,.main-management-area{padding:.75rem}.horizontal-album-item{flex:0 0 150px}.horizontal-album-content{padding:.5rem}.horizontal-album-thumbnail{width:60px;height:60px}.album-expanded-overlay{padding:5px}.album-expanded-view{max-height:65vh;max-width:98vw;padding:.4rem}.all-albums-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:.2rem;padding:.2rem 0}.album-card-expanded{padding:.4rem;min-height:80px}.album-thumbnail-expanded{height:50px}.album-thumbnail-expanded img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;max-width:100%;max-height:100%}.album-info-expanded .album-name{font-size:.75rem}.album-info-expanded .album-count{font-size:.65rem}.album-info-expanded .album-desc{font-size:.6rem}.nav-button{width:30px;height:30px;font-size:.8rem}.nav-button.prev{left:-15px}.nav-button.next{right:-15px}.drop-zone{padding:1.5rem .5rem}.drop-zone h4{font-size:1.2rem}.modal-actions{flex-direction:column}.progress-circle{width:100px;height:100px}.album-actions-above{margin-bottom:.75rem}.album-actions-centered{padding:.5rem 1rem}.album-actions-centered .action-btn{min-width:60px;padding:.3rem .6rem;font-size:.8rem}.album-actions-centered .action-btn span{display:none}.album-actions-centered .action-btn svg{margin:0}}.selection-actions,.normal-actions{display:flex;gap:.3rem;align-items:center;flex-shrink:0;white-space:nowrap}.selection-mode-btn,.selection-btn,.delete-selected-btn,.cancel-selection-btn{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(0,255,255,.3);border-radius:6px;background:#00ffff1a;color:#0ff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.selection-mode-btn:hover,.selection-btn:hover{background:#0ff3;border-color:#00ffff80;transform:translateY(-1px)}.delete-selected-btn{background:#ff00001a;border-color:#ff00004d;color:#f44}.delete-selected-btn:hover:not(:disabled){background:#f003;border-color:#ff000080;transform:translateY(-1px)}.delete-selected-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-selection-btn{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.cancel-selection-btn:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.photo-grid-item.selected{border:2px solid #00ffff;box-shadow:0 0 10px #00ffff80}.photo-selection-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:flex-start;padding:.5rem;z-index:2}.selection-checkbox{width:20px;height:20px;border:2px solid #00ffff;border-radius:4px;background:#000c;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.selection-checkbox .checkmark{color:#0ff;font-weight:700;font-size:12px}.photo-grid-item.selected .selection-checkbox{background:#0ff3;border-color:#0ff}.photos-grid.selection-mode .photo-grid-item{cursor:pointer}.photos-grid.selection-mode .photo-grid-item:hover{border-color:#00ffff80;box-shadow:0 0 8px #00ffff4d}@media (max-width: 768px){.selection-actions,.normal-actions{gap:.3rem}.selection-mode-btn,.selection-btn,.delete-selected-btn,.cancel-selection-btn{padding:.4rem .8rem;font-size:.8rem}.delete-selected-btn span{display:none}.delete-selected-btn:after{content:"删除"}}.delete-confirm-modal{background:linear-gradient(135deg,#1e1e1ef2,#323232f2);border:1px solid rgba(255,0,0,.3);border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 40px #00000080,0 0 0 1px #ff00001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1000003}.delete-confirm-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.delete-confirm-icon{color:#f44;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ff44441a;border-radius:50%;border:2px solid rgba(255,68,68,.3)}.delete-confirm-header h3{color:#f44;font-size:1.5rem;font-weight:600;margin:0}.delete-confirm-body{margin-bottom:2rem}.delete-confirm-body p{color:#e2e8f0;font-size:1rem;line-height:1.6;margin:0 0 1rem}.delete-confirm-body strong{color:#f44;font-weight:600}.delete-warning{color:#fa4!important;font-weight:500;background:#ffaa441a;padding:.75rem;border-radius:8px;border-left:4px solid #ffaa44}.delete-confirm-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn{background:#64646433;border:1px solid rgba(150,150,150,.3);color:#e2e8f0;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#6464644d;border-color:#96969680;transform:translateY(-1px)}.confirm-btn{background:linear-gradient(135deg,#f44,#c33);border:1px solid #ff6666;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff44444d}.confirm-btn:hover{background:linear-gradient(135deg,#f33,#b22);border-color:#f55;transform:translateY(-1px);box-shadow:0 6px 16px #f446}.confirm-btn:active{transform:translateY(0);box-shadow:0 2px 8px #ff44444d}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;text-align:center;border:1px solid rgba(255,255,255,.2)}.auth-header{margin-bottom:30px}.auth-icon{color:#667eea;margin-bottom:20px;display:flex;justify-content:center}.auth-header h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:#718096;font-size:1rem;margin:0}.auth-form{margin-bottom:30px}.form-group{margin-bottom:20px}.password-input-container{position:relative;display:flex;align-items:center}.password-input{width:100%;padding:15px 50px 15px 20px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;box-sizing:border-box;color:#000!important;-webkit-text-fill-color:#000000!important}.password-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;color:#000!important;-webkit-text-fill-color:#000000!important}.password-input:disabled{background-color:#f7fafc;cursor:not-allowed;color:#000!important;-webkit-text-fill-color:#000000!important}.password-input::placeholder{color:#a0aec0!important;-webkit-text-fill-color:#a0aec0!important}.password-toggle{position:absolute;right:15px;background:none;border:none;color:#a0aec0;cursor:pointer;padding:5px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:#667eea;background-color:#f7fafc}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:.9rem;margin-bottom:20px;border:1px solid #feb2b2}.auth-submit-button{width:100%;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.auth-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.auth-footer{color:#a0aec0;font-size:.9rem}.auth-footer p{margin:0}@media (max-width: 480px){.auth-container{padding:30px 20px;margin:10px}.auth-header h1{font-size:2rem}.password-input{padding:12px 45px 12px 15px}.auth-submit-button{padding:12px}}.auth-submit-button:disabled{position:relative}.auth-submit-button:disabled:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;inset:0}.auth-submit-button.loading:disabled:after{display:block}.auth-submit-button:disabled:not(.loading):after{display:none}.app{width:100%;min-height:100vh;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;position:relative;overflow-x:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff;font-size:1.2rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.app:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.app>*{position:relative;z-index:1}.main-content{width:100%;min-height:100vh;position:relative}.app:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(2px 2px at 20px 30px,#ffffff,transparent),radial-gradient(2px 2px at 40px 70px,rgba(0,255,255,.8),transparent),radial-gradient(1px 1px at 90px 40px,#ffffff,transparent),radial-gradient(1px 1px at 130px 80px,rgba(0,255,255,.6),transparent),radial-gradient(2px 2px at 160px 30px,#ffffff,transparent);background-repeat:repeat;background-size:200px 100px;animation:twinkle 20s ease-in-out infinite alternate;z-index:-1;opacity:.6}@keyframes twinkle{0%{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:.6;transform:scale(1)}}.app:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:50px 50px;z-index:-1;pointer-events:none}@media (max-width: 768px){.app:before{background-size:150px 75px}.app:after{background-size:30px 30px}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#e2e8f0;min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background:#0000004d;z-index:-1}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000004d}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#0ff,#0080ff);border-radius:4px;box-shadow:0 0 10px #00ffff4d}::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#0ff,#40a0ff);box-shadow:0 0 15px #00ffff80}.glow{box-shadow:0 0 20px #00ffff80}.glow-hover{transition:all .3s ease}.glow-hover:hover{box-shadow:0 0 30px #0ffc}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(1deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-5px) rotate(-1deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-slide-in{animation:slideIn .5s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-spin{animation:spin 1s linear infinite}@media (max-width: 768px){html{font-size:14px}.glow-hover:hover{box-shadow:0 0 20px #0ff9}}@media (max-width: 480px){html{font-size:12px}}
