:host{all:initial;display:block}
:root,:host{--row-h:104px;--gutter:16px;--gap:4px;--paper:#f7f8f8;--ink:#25282a;--muted:#565d62;--surface:#e4e7e9;--line:#bcc2c6;--scrim-end:#20262a;--scrim-text:#fff;--scrim:linear-gradient(transparent,#20262a);color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
[data-theme=light],:host([data-theme=light]){color-scheme:light}
[data-theme=dark],:host([data-theme=dark]){--paper:#202427;--ink:#f1f3f4;--muted:#b8c0c6;--surface:#30373c;--line:#606b73;--scrim-end:#20262a;--scrim-text:#fff;--scrim:linear-gradient(transparent,#20262a);color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]),:host(:not([data-theme])){--paper:#202427;--ink:#f1f3f4;--muted:#b8c0c6;--surface:#30373c;--line:#606b73}}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}button,input{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button{background:transparent;color:inherit;border:1px solid var(--line);border-radius:3px;padding:10px 16px;min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.public-page{font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);min-height:100%;overflow-wrap:anywhere}.skip-link{position:absolute;left:16px;top:-100px;z-index:5;background:var(--paper);padding:12px}.skip-link:focus{top:12px}main{padding:24px var(--gutter)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.75rem);margin:0 0 16px}h2{font-size:1.8rem}.grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--gap)}.grid::after{content:"";flex-grow:1e9}.grid-page{display:contents}.grid>.page-data{display:none}.tile{display:flex;align-items:center;justify-content:center;flex-basis:calc(var(--row-h)*var(--a));flex-grow:calc(var(--a)*1000000);aspect-ratio:var(--a);background:var(--surface);overflow:hidden;margin:0;min-width:0;text-decoration:none}.tile img{display:block;width:100%;height:auto;max-width:var(--mw);max-height:100%;object-fit:contain}.tile:hover{opacity:.94}.placeholder{font-size:14px;color:var(--muted);padding:12px}.pagination{display:flex;justify-content:center;padding:24px 0;gap:12px}.pagination a,.photo-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px}.empty-state{padding:56px 0;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}.album-end{text-align:center;color:var(--muted);margin:36px 0}.notice{padding:12px 16px;background:var(--surface);border-left:2px solid var(--muted)}footer{display:flex;justify-content:space-between;align-items:flex-start;padding:24px var(--gutter);border-top:1px solid var(--line);gap:24px}.report summary{min-height:44px;padding:8px 0}.report p{max-width:60ch}.report input{display:block;width:min(100%,48ch);padding:8px;color:var(--ink);background:var(--paper);border:1px solid var(--line)}.photo-view{margin:0 auto 40px;text-align:center}.photo-view>img{display:block;max-width:min(100%,var(--mw));max-height:80svh;width:auto;height:auto;margin:auto}.photo-nav{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.photo-view figcaption{max-width:65ch;text-align:left;margin:24px auto}.photo-description,.album-description{white-space:pre-wrap}.photo-facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px}.photo-facts dt{color:var(--muted)}.photo-facts dd{margin:0}
@media(min-width:768px){:root,:host{--row-h:180px;--gutter:32px;--gap:6px}}
@media(min-width:1200px){:root,:host{--row-h:240px;--gutter:48px;--gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.album-menu{position:absolute;right:max(16px,env(safe-area-inset-right));top:16px;z-index:2;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:4px 12px;max-width:min(28rem,calc(100vw - 32px))}.album-menu>summary{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;cursor:pointer}.album-menu .report{padding:8px 0}.policy{padding:clamp(20px,5vw,64px);max-width:54rem;margin:auto}.policy p{line-height:1.65;overflow-wrap:anywhere}.policy section{margin-top:3rem}
.cover{position:relative;margin:0 auto;color:var(--ink);background:var(--paper)}
.cover-image{width:min(100%,var(--cover-w));height:min(var(--cover-h),clamp(160px,38svh,420px));margin:auto;background:var(--surface);overflow:hidden}
.cover-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center var(--focus)}
.cover-copy{padding:32px var(--gutter);max-width:80ch;margin:auto}
.cover-copy .album-description{max-width:65ch;margin:0 0 16px}
.album-count{color:var(--muted);font-size:14px;margin:0}
@media(min-width:768px){.cover:has(.cover-image){width:min(100%,var(--cover-w))}.cover:has(.cover-image) .cover-copy{position:absolute;inset:auto 0 0;max-width:none;color:var(--scrim-text);background:var(--scrim);padding:60px 32px 24px}.cover:has(.cover-image) .album-count{color:var(--scrim-text)}}
