:root{--bg-color:#121212;--text-color:#e0e0e0;--card-bg:#1e1e1e;--accent:#e63946;--font-main:"Outfit",sans-serif;--font-serif:"Cormorant Garamond",serif}body{font-family:var(--font-main);color:var(--text-color);-webkit-font-smoothing:antialiased;background:radial-gradient(at bottom,#1b2735 0%,#090a0f 100%);min-height:100vh;margin:0;overflow-x:hidden}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:auto}.star-background{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}#stars{background:0 0;width:1px;height:1px;animation:50s linear infinite animStar}#stars:after{content:" ";width:1px;height:1px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}#stars2{background:0 0;width:2px;height:2px;animation:100s linear infinite animStar}#stars2:after{content:" ";width:2px;height:2px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}#stars3{background:0 0;width:3px;height:3px;animation:150s linear infinite animStar}#stars3:after{content:" ";width:3px;height:3px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}@keyframes animStar{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}.app{max-width:1600px;margin:0 auto;padding:20px}header{text-align:center;padding:40px 0}header h1{font-family:var(--font-serif);letter-spacing:2px;margin:0;font-size:3rem;font-weight:300}.album{margin-bottom:60px}.album h2{font-family:var(--font-serif);color:#ccc;border-bottom:1px solid #333;margin-bottom:20px;padding-bottom:10px;font-size:2rem;font-weight:400}.gallery{column-count:3;column-gap:20px}@media (max-width:1200px){.gallery{column-count:2}}@media (max-width:768px){.gallery{column-count:1}}.photo-card{background:var(--card-bg);cursor:pointer;break-inside:avoid;border:2px solid #0000;border-radius:12px;margin-bottom:20px;transition:transform .3s,box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden}.photo-card img{width:100%;height:auto;transition:transform .5s,filter .3s;display:block}.photo-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 5px 15px #e6394633}.photo-card:hover img{filter:brightness(1.1);transform:scale(1.03)}.metadata-overlay{opacity:0;color:#fff;text-align:center;pointer-events:none;background:linear-gradient(#0000,#000000e6);padding:20px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.photo-card:hover .metadata-overlay{opacity:1}.date{font-size:1.2rem;font-style:italic;font-family:var(--font-serif);letter-spacing:1px;margin:0 0 5px}.tech-specs{opacity:.9;color:#e0e0e0;font-family:monospace;font-size:.8rem}.loading{color:#666;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;display:flex}.site-footer{text-align:center;color:#888;box-sizing:border-box;width:100%;margin-top:auto;padding:3rem 1rem;font-size:.9rem}.site-footer p{max-width:600px;margin:0 auto;line-height:1.5}.lightbox{z-index:1000;box-sizing:border-box;cursor:pointer;background:#000000f2;justify-content:center;align-items:center;width:100%;height:100%;padding:40px 40px 110px;display:flex;position:fixed;top:0;left:0}@media (max-width:768px){.navbar{padding:.8rem 1rem}.navbar.scrolled{padding:.6rem 1rem}.nav-title{font-size:1.2rem}.nav-links{gap:1rem}.nav-links button,.nav-links a{padding:.3rem;font-size:.9rem}main{padding-top:70px}}.lightbox-content{flex-direction:column;align-items:center;max-width:100%;max-height:100%;animation:.3s ease-out forwards zoomIn;display:flex;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-content img{object-fit:contain;max-width:100%;max-height:80vh;box-shadow:0 0 20px #00000080}.lightbox-info{text-align:center;color:#ccc;margin-top:20px}.nav-arrow{color:#fff;cursor:pointer;z-index:1001;opacity:.7;background:0 0;border:none;padding:20px;font-size:3rem;transition:opacity .3s;animation:2s infinite pulse;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover{opacity:1;animation:none}.nav-arrow.left{left:20px}.nav-arrow.right{right:20px}@keyframes pulse{0%{opacity:.7;transform:translateY(-50%)scale(1)}50%{opacity:1;transform:translateY(-50%)scale(1.1)}to{opacity:.7;transform:translateY(-50%)scale(1)}}.thumbstrip{box-sizing:border-box;z-index:1001;scrollbar-width:none;-ms-overflow-style:none;background:#000c;align-items:center;width:100%;height:100px;padding:10px;display:flex;position:absolute;bottom:0;left:0;overflow-x:auto}.thumbstrip::-webkit-scrollbar{display:none}.thumbstrip-inner{gap:10px;min-width:min-content;margin:0 auto;display:flex}.thumbstrip-item{cursor:pointer;opacity:.5;border-radius:4px;flex-shrink:0;width:120px;height:80px;transition:opacity .3s,transform .2s;overflow:hidden}.thumbstrip-item img{object-fit:cover;width:100%;height:100%}.thumbstrip-item:hover{opacity:.8}.thumbstrip-item.active{opacity:1;border:2px solid var(--accent);transform:scale(1.05)}.navbar{z-index:1000;box-sizing:border-box;justify-content:center;width:100%;padding:1rem 2rem;transition:background-color .3s,padding .3s;display:flex;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#121212f2;padding:.8rem 2rem;box-shadow:0 2px 10px #0000004d}.nav-content{justify-content:space-between;align-items:center;width:100%;max-width:1600px;display:flex}.nav-title{cursor:pointer;letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links button,.nav-links a{color:#e0e0e0;cursor:pointer;background:0 0;border:none;padding:.5rem;font-family:inherit;font-size:1rem;text-decoration:none;transition:color .2s}.nav-links button:hover,.nav-links a:hover{color:#fff}main{padding-top:80px}.album-title-link{cursor:pointer;transition:color .2s;display:inline-block}.album-title-link:hover{color:#aaa}.albums-view h2{text-align:center;margin-bottom:2rem}.albums-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;max-width:1600px;margin:0 auto;padding:0 2rem;display:grid}.album-card{background:var(--card-bg);cursor:pointer;border:2px solid #0000;border-radius:12px;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}.album-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 5px 15px #e6394633}.album-cover{aspect-ratio:3/2;background-color:#2a2a2a;border-radius:8px;width:100%;margin-bottom:1rem;overflow:hidden}.album-cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.album-card:hover .album-cover img{transform:scale(1.05)}.album-card h3{margin-bottom:.5rem;font-size:1.2rem}.album-card p{color:#888;font-size:.9rem}#root{text-align:center;max-width:1280px;margin:0 auto;padding:2rem}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}
