@font-face{font-family:Manrope;src:url('/static/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url('/static/fonts/manrope-cyrillic.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{color-scheme:light;--paper:#f5f4f0;--ink:#161615;--surface:#e9e7e1;--muted:#696762;--hover:rgba(0,0,0,.06);--icon-filter:none;--ease:cubic-bezier(.23,1,.32,1)}
:root[data-theme="dark"]{color-scheme:dark;--paper:#171716;--ink:#eeede8;--surface:#252524;--muted:#aaa9a3;--hover:rgba(255,255,255,.08);--icon-filter:invert(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#171716;--ink:#eeede8;--surface:#252524;--muted:#aaa9a3;--hover:rgba(255,255,255,.08);--icon-filter:invert(1)}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--ink);color:white;z-index:3;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.header{height:130px;padding:20px 40px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:32px}
.wordmark{font-family:'Times New Roman',Times,serif;font-size:50px;line-height:1.2;letter-spacing:-2px;font-weight:400}
.header-controls{display:flex;align-items:center;gap:24px;padding-top:7px}
.theme-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink)}
.theme-toggle img{width:20px;height:20px;filter:var(--icon-filter)}
.theme-toggle .theme-sun{display:none}
:root[data-theme="dark"] .theme-moon{display:none}
:root[data-theme="dark"] .theme-sun{display:block}
.theme-toggle:active{opacity:.65}
@media(hover:hover) and (pointer:fine){.theme-toggle:hover{background:var(--hover)}}
nav{display:flex;gap:44px;align-items:center}
.nav-item{font-size:19.5px;line-height:28px;white-space:nowrap;display:block;position:relative;padding:8px 0}
.nav-item.current::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--ink)}
.nav-item.future{cursor:default}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 22px 22px;outline:none}
.photo{padding:0;border:0;background:var(--surface);overflow:hidden;position:relative;display:block;aspect-ratio:4/3;isolation:isolate;min-height:0;min-width:0}
.photo:nth-child(10n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.photo:nth-child(10n+6),.photo:nth-child(10n+7){aspect-ratio:1}
.photo:nth-child(10n+8){grid-column:span 2;aspect-ratio:auto}
.photo:nth-child(10n+9),.photo:nth-child(10n+10){grid-column:span 2;aspect-ratio:3/2}
.photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:opacity 180ms var(--ease)}
.gallery.compact .photo:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
.gallery.compact .photo:only-child{grid-column:1/-1;aspect-ratio:16/9}
.photo:focus-visible{outline-offset:-5px;outline-color:white}
.photo:active img{opacity:.9}
@media(hover:hover) and (pointer:fine){.photo:hover img{opacity:.92}.icon-button:hover{background:rgba(255,255,255,.15)}}
.page-status{font-size:16px;text-align:center;margin:100px 24px 28px;line-height:1.6}
.retry{display:block;margin:0 auto 80px;padding:10px 16px;border:1px solid var(--ink);background:transparent}
.demo-note{margin:32px 22px;font-size:12px;line-height:1.6;color:var(--muted)}
.viewer{position:fixed;inset:0;margin:0;padding:0;border:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;background:#000;color:white;overflow:hidden;overscroll-behavior:contain}
.viewer::backdrop{background:#000}.viewer:focus{outline:none}
.image-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;touch-action:pinch-zoom}
.viewer-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.image-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);padding:12px 18px;max-width:80%;font-size:14px;text-align:center}
.viewer-ui{opacity:1;transition:opacity 180ms var(--ease)}
.viewer.is-idle{cursor:none}.viewer.is-idle .viewer-ui{opacity:0;pointer-events:none}
.viewer-top{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.photo-count{font-size:13px;font-variant-numeric:tabular-nums;margin:0;padding:10px 14px;background:rgba(0,0,0,.45)}
.viewer-actions{display:flex;gap:8px;pointer-events:auto}
.icon-button{width:44px;height:44px;display:flex;justify-content:center;align-items:center;border:0;border-radius:0;background:rgba(0,0,0,.45);color:white;transition:background-color 160ms ease,transform 160ms var(--ease)}
.icon-button img{width:24px;height:24px;filter:brightness(0) invert(1);pointer-events:none}
.icon-button:active{transform:scale(.97)}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:56px}.arrow:active{transform:translateY(-50%) scale(.97)}
.previous{left:28px}.next{right:28px}
.viewer-bottom{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;align-items:flex-end;justify-content:space-between;gap:24px;pointer-events:none}
.photo-caption{background:rgba(0,0,0,.45);padding:12px 16px;max-width:45%}
.photo-caption h2{font-size:18px;line-height:1.45;font-weight:500;margin:0;overflow-wrap:anywhere}
.photo-caption p{margin:6px 0 0;color:#ddd;font-size:12px}.photo-caption p:empty{display:none}
.exif-panel{width:330px;padding:18px 20px;background:rgba(20,20,20,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.exif-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:11px;line-height:1.4;color:#c9c9c9;margin-bottom:16px}
#sample-label{color:#c9c9c9;font-size:10px}
.exif-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:0}
.exif-field{min-width:0}.exif-field.wide{grid-column:1/-1}
.exif-panel dt{font-size:10px;color:#bdbdbd;line-height:1.4;margin-bottom:3px}
.exif-panel dd{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}
body.viewer-open{overflow:hidden}
@media(min-width:1800px){.header{height:148px;padding-top:30px}.gallery{gap:14px;margin-left:32px;margin-right:32px}}
@media(max-width:900px){.header{padding:20px 24px 0;height:112px;gap:24px}.wordmark{font-size:40px}.header-controls{padding-top:2px}nav{gap:24px}.nav-item{font-size:15px}.gallery{margin:0 16px 16px;gap:8px}.exif-panel{width:300px}}
@media(max-width:600px){
 .header-controls{gap:8px;padding-top:14px}.header-controls nav{flex:1;min-width:0;padding-top:0;gap:8px}
 .header{height:auto;display:block;padding:18px 16px 24px}.wordmark{font-size:40px;letter-spacing:-1.8px;display:inline-block}
 nav{justify-content:space-between;gap:10px;padding-top:14px}.nav-item{font-size:13px;line-height:24px;padding:6px 0}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 10px 10px}
 .photo:nth-child(10n+1){grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
 .photo:nth-child(10n+8){aspect-ratio:3/2}
 .photo:nth-child(10n+9),.photo:nth-child(10n+10){grid-column:span 1;aspect-ratio:3/4}
 .demo-note{margin:24px 16px;font-size:11px}
 .viewer-top{top:max(12px,env(safe-area-inset-top));left:12px;right:12px}.viewer-actions{gap:4px}
 .arrow{width:44px;height:48px}.previous{left:8px}.next{right:8px}
 .viewer-bottom{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px;align-items:stretch;flex-direction:column}
 .photo-caption{max-width:100%;align-self:flex-start;padding:8px 12px}.photo-caption h2{font-size:15px}.photo-caption p{font-size:11px}
 .exif-panel{width:100%;padding:12px 14px}.exif-heading{margin-bottom:9px}
 .exif-panel dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exif-field.wide{grid-column:span 2}.exif-panel dd{font-size:11px}.exif-panel dt{font-size:9px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:380px){.header-controls .nav-item{font-size:12px}.header-controls{gap:8px}}
