:root{--bg:#faf9f7;--surface:#fff;--text:#1f2933;--muted:#6b7280;--accent:#b4532a;--border:#e5e1da;--shadow:0 1px 3px #00000014, 0 8px 24px #0000000f;--radius:12px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.app{flex-direction:column;min-height:100vh;display:flex}.site-header{text-align:center;border-bottom:1px solid var(--border);background:var(--surface);padding:2.5rem 1rem 1.5rem}.brand{letter-spacing:-.02em;color:var(--text);font-size:2rem;font-weight:800}.brand:hover{text-decoration:none}.brand-accent{color:var(--accent)}.tagline{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.site-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.site-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:1.5rem;font-size:.85rem}.page-title{margin:0 0 .25rem;font-size:1.75rem}.page-subtitle{color:var(--muted);margin:0 0 1.5rem}.breadcrumb{margin-bottom:1rem;font-size:.95rem}.album-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.album-card a{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.album-card a:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 4px 12px #0000001f,0 12px 32px #0000001a}.album-cover{aspect-ratio:4/3;background:#ece8e1}.album-cover img{object-fit:cover;width:100%;height:100%}.album-meta{padding:.9rem 1rem 1.1rem}.album-meta h2{margin:0;font-size:1.1rem}.album-count{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.album-description{color:var(--text);margin:.5rem 0 0;font-size:.9rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.photo-thumb button{cursor:pointer;aspect-ratio:1;background:#ece8e1;border:none;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.photo-thumb button:hover img{transform:scale(1.05)}.lightbox{z-index:100;background:#000000e6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-figure{flex-direction:column;align-items:center;max-width:92vw;max-height:92vh;margin:0;display:flex}.lightbox-figure img{object-fit:contain;border-radius:6px;max-width:92vw;max-height:82vh}.lightbox-figure figcaption{color:#e5e1da;margin-top:.75rem;font-size:.9rem}.lightbox-close,.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;line-height:1;transition:background .15s;position:absolute}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff40}.lightbox-close{width:2.5rem;height:2.5rem;font-size:1.6rem;top:1rem;right:1.25rem}.lightbox-nav{width:3rem;height:3rem;font-size:2rem;top:50%;transform:translateY(-50%)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.empty-state h2{color:var(--text)}.empty-state code{background:#efece6;border-radius:4px;padding:.1rem .35rem;font-size:.85em}@media (width<=600px){.brand{font-size:1.6rem}.site-main{padding:1.25rem 1rem 3rem}}
