:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1e1e1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#1e1e1e}button{background-color:#f9f9f9}}:root{--primary-color: #ffffff;--secondary-color: #f5f5f5;--text-color: #333;--light-text: #333}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;line-height:1.6;color:var(--text-color);background-color:#1e1e1e;width:100%}#root{width:100%}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;width:100%}.header{background-color:#e7e7e7;color:#1e1e1e;padding:0 1rem;height:54px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid #FFFFFF;box-shadow:0 2px 4px #00000080}.header-left{display:flex;align-items:center;gap:1rem}.header-left a{display:flex;align-items:center;gap:1rem;text-decoration:none}.header-left:hover{text-decoration:none}.header-left:active{opacity:.8}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.header-left:hover .avatar{box-shadow:0 2px 4px #0000001a}.header-title{font-size:16px;font-weight:500;margin:0;transition:all .1s ease;position:relative;color:#1e1e1e;text-shadow:0 0 2px rgba(255,255,255,.8);white-space:nowrap}.header-left:hover .header-title{color:#666}.header-left:hover .header-title:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background-color:#666}.album-nav{display:flex;align-items:center;gap:0rem;position:absolute;right:0;margin-right:1rem}.nav-left,.nav-right{display:flex;align-items:center}.nav-center{position:absolute;left:50%;transform:translate(-50%);text-align:center;width:100%;pointer-events:none}.album-title{font-size:18px;font-weight:600;margin:0;color:#1e1e1e;text-shadow:0 0 2px rgba(255,255,255,.8);white-space:nowrap;display:inline-block}.album-nav.active{display:block}.album-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}.album-nav button{background:none;border:none;color:#333;font-size:1rem;cursor:pointer;padding:.5rem 1rem;transition:all .1s ease;min-width:100px;text-align:center;display:flex;align-items:center;justify-content:center}.album-nav button.active{background:#f8f8f8;border-radius:4px}.album-nav button.active:hover{color:#000}.nav-link{background:#ff0000b3;border:1px solid rgba(51,51,51,.2);color:#000;padding:.25rem .75rem;border-radius:0;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .05s ease;outline:none;font-size:16px;position:relative;text-decoration:none;min-width:80px}.nav-link:hover{background:#ffffffe6;color:#000;box-shadow:0 2px 3px #0000001a}.nav-link:active{background:#fffc;color:#000;box-shadow:0 1px 2px #0000001a}.nav-link:focus{outline:1px solid rgba(0,0,0,.3);outline-offset:2px}.nav-link.active{background:#1e1e1e;color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 4px #0003}.nav-link.external{background:#fff;border:1px solid rgba(51,51,51,.3);color:#000;padding:.25rem .75rem;border-radius:2px;box-shadow:0 1px 3px #0003}.nav-link.external:hover{background:#fff;color:#000;box-shadow:0 2px 3px #0000001a}.hamburger-menu,.mobile-dropdown{display:none}.mobile-dropdown .dropdown-menu{position:fixed;top:54px;right:0;width:200px;margin-top:0rem;max-height:calc(100vh - 54px);overflow-y:auto}.mobile-section{margin-bottom:1rem}.mobile-section:last-child{margin-bottom:0}.mobile-section h3{margin:0 0 .5rem;font-size:1rem;color:#333;font-weight:600}.main-content{margin-top:0;padding:1rem;background-color:#1e1e1e;position:relative;width:100%;overflow-x:hidden}.main-content-title{display:none;color:#fff;text-align:center;margin-bottom:1rem;font-size:18px;font-weight:500}.loading,.error{text-align:center;padding:2rem;font-size:1.2rem}.rate-limit-error{color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.rate-limit-icon{font-size:4rem;margin-bottom:1rem}.rate-limit-error h2{color:#fff;font-size:2rem;margin-bottom:.5rem}.rate-limit-error p{color:#fff;font-size:1.2rem;margin:.5rem 0}.retry-button{margin-top:1.5rem;padding:.75rem 2rem;font-size:1.1rem;background-color:#4ade80;color:#1e1e1e;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:600}.retry-button:hover{background-color:#22c55e;transform:translateY(-2px);box-shadow:0 4px 12px #4ade8066}.retry-button:active{transform:translateY(0)}.footer-wrapper{display:none;opacity:0;visibility:hidden;transform:translateY(20px);pointer-events:none}.footer-wrapper.visible{display:block;opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .4s ease,transform .4s ease;animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.photo-item{margin-top:0;box-shadow:0 2px 4px #0000001a;transition:all .1s ease;background-color:#1a1a1a}.photo-item:hover{box-shadow:0 4px 8px #0003}@media(min-width:768px){.mobile-dropdown{display:none}}@media(max-width:599px){.header{padding:0 .5rem}.main-content{margin-top:54px;padding-bottom:2rem}.photo-item{padding:0}.mobile-dropdown{display:block}}@media(max-width:767px){.album-nav{display:flex}}@media(max-width:768px){.album-nav{display:flex}}@media(max-width:335px){.header-title{display:none}}@media(max-width:599px){.album-title{display:none}.main-content-title{display:block}}.footer{background-color:#252525;padding:2rem 0;margin-top:2rem;border-top:1px solid #444}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;text-align:center;color:#fff}.footer-content p{margin-bottom:1rem}.footer-links{display:flex;justify-content:center;gap:2rem}.footer-link{color:#fff;text-decoration:none;font-weight:500;border-bottom:1px solid #fff}.license-page{max-width:800px;margin:2rem auto;padding:0 1rem;color:#fff}.license-page h1{text-align:center;margin-bottom:2rem;color:#fff}.license-content{background-color:#ffffff1a;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0003}.license-content h2{color:#fff;margin-top:0rem;margin-bottom:1rem}.license-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.license-content li{margin-bottom:.5rem;line-height:1.6}.license-content p{line-height:1.6;margin-bottom:1rem}.license-content a{color:#fff;text-decoration:none;border-bottom:1px solid #fff}.license-content a:hover{opacity:.8}.dropdown-container{position:relative;display:inline-block;background-color:#fff9;margin-left:1rem}@media(max-width:400px){.dropdown-arrow{display:none}.dropdown-container{margin-left:0;width:80px;margin-right:-5px;margin-top:-4px}.nav-link,.nav-link:hover,.nav-link:active,.nav-link.active{height:35px}.dropdown-button,.dropdown-button:hover,.dropdown-button:active{width:80px;height:35px;margin:0 4px;padding:.25rem .5rem;justify-content:center;min-width:80px;max-width:80px}.album-nav{display:flex;flex-wrap:wrap;gap:8px;height:35px;padding:4px}.album-nav button,.album-nav button:hover,.album-nav button:active,.album-nav button.active{width:80px;margin:0;padding:.25rem .5rem;text-align:center;min-width:80px;max-width:80px}.header-content{padding:0 8px}}.dropdown-button{border:none;color:var(--text-color);font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.dropdown-button:hover{background-color:#fff}.dropdown-arrow{margin-left:.5rem;transition:transform .3s ease-in-out}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;right:0;width:200px;margin-top:.7rem;background:#ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #FFF;border-top:none;padding:1rem;box-shadow:0 4px 4px #00000080;z-index:999;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-10px);transition:transform .3s ease-in-out,opacity .3s ease-in-out,visibility .3s ease-in-out}.dropdown-menu.open{visibility:visible;opacity:1;transform:translateY(0)}.dropdown-menu .nav-link{width:100%;text-align:left;padding:.75rem 1rem;margin-bottom:.5rem;border-radius:0;background:#fff;border:1px solid rgba(51,51,51,.3);color:#000;box-shadow:0 1px 3px #0003;transition:all .3s ease-in-out}.dropdown-menu .nav-link:last-child{margin-bottom:0}.dropdown-menu .nav-link:hover{background:#000;color:#fff;box-shadow:0 2px 3px #0000001a}.dropdown-menu .nav-link.active{background:#1e1e1e;color:#fff;border:1px solid #d5d5d5;box-shadow:0 2px 4px #0003}.external-links{display:flex;gap:1rem;list-style:none;margin:0;padding:0}.nav-link.external{display:flex;align-items:center;gap:.5rem;color:var(--text-color);text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.external-icon{opacity:.7}.photo-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;padding:0;width:100%;max-width:100%;margin-top:1rem;align-items:start}.photo-column{display:flex;flex-direction:column;gap:1rem;max-height:100%}.photo-item{position:relative;cursor:pointer;overflow:hidden;width:100%;border:1px solid rgba(255,255,255,.1);display:block}.photo-item:last-child{margin-bottom:0}.photo-item.albums-list{display:flex;align-items:center;justify-content:center;background-color:#0003;cursor:default}.photo-item:hover{border-color:#ffffff4d}.photo-item img{width:100%;height:auto;object-fit:contain;transition:transform .1s ease;display:block;opacity:0;transition:opacity .3s ease}.photo-item img.loaded{opacity:1}.photo-item:hover img{transform:none}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}body.modal-open{overflow:hidden;height:100%;width:100%;position:relative}.modal-content{position:relative;width:100%;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;padding:1rem}.modal-content img{max-width:100%;max-height:80vh;object-fit:contain;margin:0 auto}.modal-placeholder{transform:none;width:100%;height:auto;max-height:80vh;object-fit:contain}.modal-controls{position:absolute;top:0;right:0;display:flex;gap:.5rem;z-index:1001;transform:translate(-.25rem,-100%);padding:.25rem}.modal-navigation{position:absolute;bottom:0;right:0;display:flex;gap:.5rem;transform:translate(-.25rem,100%);z-index:1001;padding:.25rem}.modal-navigation button{background:#0009;border:2px solid rgba(51,51,51,.5);color:#fff;padding:.75rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none;box-shadow:0 2px 4px #0003;min-width:40px;min-height:40px;font-size:1.1rem;pointer-events:auto}.modal-controls button,.modal-navigation button{background:#00000080;border:2px solid rgba(51,51,51,.5);color:#fff;padding:.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none;box-shadow:0 2px 4px #0003;width:38px;height:38px;min-width:38px;min-height:38px}.modal-controls button svg,.modal-navigation button svg{width:20px;height:20px}.modal-controls button:hover,.modal-navigation button:hover{background:#000c;border-color:#333c;box-shadow:0 4px 8px #0000004d}.modal-loading{width:100%;height:80vh;background-color:#333;display:flex;justify-content:center;align-items:center}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:600px){.photo-grid{grid-template-columns:repeat(2,1fr);margin-top:54px}}@media(min-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.photo-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1600px){.photo-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:599px){.photo-grid{padding:0;margin-top:0;gap:1rem}.main-content{padding-bottom:2rem}.modal-content{max-width:100%;padding:0}}.mobile-menu button{background:#fff;border:1px solid rgba(51,51,51,.3);color:#000;padding:.5rem .75rem;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .05s ease;outline:none;box-shadow:0 1px 3px #0003;font-size:16px;position:relative;min-width:36px;min-height:36px;text-align:left;width:100%}.mobile-menu button:hover{background:#000;color:#fff;box-shadow:0 2px 3px #0000001a}.mobile-menu button:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.albums-list-content{padding:1rem;text-align:center;width:100%}.albums-list-content h3{color:#fff;margin-bottom:1rem;font-size:1.5rem}.albums-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;align-items:center;padding:0 .5rem}.album-button{background:#ffffff1a;color:#fff;padding:.25rem .5rem;border-radius:4px;text-decoration:none;transition:all .2s ease;width:100%;text-align:center;font-size:.9rem}.album-button:hover{background:#fff3;transform:translateY(-2px)}.footer{background-color:#252525;padding:2rem 0;margin-top:2rem;border-top:1px solid #444;border-bottom:1px solid #444}.footer-content{max-width:800px;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.footer-content h3{margin-bottom:2rem;color:#fff;font-size:1.2rem}.albums-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}.album-button{display:inline-block;padding:.5rem 1rem;background-color:#3b3b3b;color:#fff;text-decoration:none;border-radius:4px;transition:background-color .2s;width:150px;text-align:center}.album-button:hover{background-color:#4b4b4b;color:#fff}.album-button:visited,.album-button:visited:hover{color:#fff}.footer-bottom{display:flex;flex-direction:column;align-items:center;width:100%;color:#fff}.footer-links{display:flex;gap:1rem;align-items:center;justify-content:center}.footer-separator{color:#888;-webkit-user-select:none;user-select:none}.footer-link{color:#fff;text-decoration:none;border-bottom:1px solid #fff}.footer-link:hover{opacity:.8}.footer-link:visited{color:#fff}.footer-link:visited:hover{opacity:.8}
