.gallery-wrap{box-sizing:border-box;width:100%;max-width:1200px;font-family:var(--font-roboto-mono),monospace;margin:0 auto;padding:20px}.gallery-header{text-align:center;margin-bottom:40px}.gallery-back-btn{color:#fff;cursor:pointer;background-color:#0000;border:1px solid #fff;border-radius:5px;align-items:center;gap:8px;margin-bottom:30px;padding:10px 20px;font-size:14px;transition:all .3s;display:inline-flex}.gallery-back-btn:hover{color:#000;background-color:#fff;transform:translate(-5px)}.pwd-container{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f0fcc;border:1px solid #333;border-radius:10px;max-width:400px;margin:80px auto;padding:30px;box-shadow:0 10px 30px #00000080}.pwd-title{margin-bottom:20px;font-family:Times New Roman,Times,serif;font-size:24px;font-weight:400}.pwd-input{color:#fff;box-sizing:border-box;text-align:center;background-color:#111;border:1px solid #fff;border-radius:5px;width:100%;margin-bottom:20px;padding:12px;font-family:inherit;font-size:16px;transition:border-color .3s}.pwd-input:focus{border-color:#aaa;outline:none;box-shadow:0 0 8px #fff3}.pwd-error{color:#ff4d4d;margin-bottom:15px;font-size:14px}.album-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;margin-top:20px;display:grid}.album-card{cursor:pointer;background:#0a0a0a99;border:1px solid #222;border-radius:8px;flex-direction:column;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;overflow:hidden}.album-card:hover{border-color:#666;transform:translateY(-8px);box-shadow:0 12px 24px #ffffff26}.album-cover-wrap{background-color:#000;justify-content:center;align-items:center;width:100%;height:250px;display:flex;position:relative;overflow:hidden}.album-cover{object-fit:contain;max-width:100%;max-height:100%;transition:transform .5s}.album-card:hover .album-cover{transform:scale(1.05)}.album-info{flex-direction:column;flex-grow:1;justify-content:space-between;padding:20px;display:flex}.album-name{color:#fff;font-size:16px;font-weight:600;line-height:1.4;font-family:var(--font-roboto-mono),monospace;margin:0 0 10px}.album-count{color:#888;font-size:13px}.image-grid{column-count:4;column-gap:15px;display:block}@media (max-width:1200px){.image-grid{column-count:3}}@media (max-width:800px){.image-grid{column-count:2}}@media (max-width:500px){.image-grid{column-count:1}}.image-item{break-inside:avoid;cursor:pointer;background-color:#050505;border:1px solid #222;border-radius:6px;width:100%;margin-bottom:15px;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.image-item:hover{border-color:#888;transform:scale(1.02);box-shadow:0 5px 15px #ffffff1a}.image-thumb{width:100%;height:auto;transition:filter .3s;display:block}.image-item:hover .image-thumb{filter:brightness(1.1)}.lightbox-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;box-sizing:border-box;background-color:#000000f2;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.lightbox-content-wrap{justify-content:center;align-items:center;max-width:90%;max-height:80vh;display:flex;position:relative}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:4px;max-width:100%;max-height:80vh;box-shadow:0 10px 40px #000c}.lightbox-nav-btn{color:#fff;cursor:pointer;z-index:10100;-webkit-user-select:none;user-select:none;background:#0009;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0;font-size:24px;transition:all .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav-btn:hover{color:#000;background:#fff;border-color:#fff}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:38px;transition:color .3s;display:flex;position:fixed;top:20px;right:30px}.lightbox-close:hover{color:#ccc}.lightbox-info{color:#ccc;text-align:center;margin-top:20px;font-size:14px}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:30px;height:30px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.lightbox-prev{background:#0006;left:-10px}.lightbox-next{background:#0006;right:-10px}}@media (max-width:768px){.lightbox-nav-btn{width:40px;height:40px;font-size:18px}.lightbox-prev{left:-5px}.lightbox-next{right:-5px}.lightbox-close{top:-45px;right:-5px}}
