.photo-page.svelte-g66pht{max-width:1100px;margin:0 auto;padding:2rem}.photo-nav-top.svelte-g66pht{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:2rem;display:flex}.photo-layout.svelte-g66pht{grid-template-columns:1fr 320px;align-items:start;gap:3rem;display:grid}.photo-image-wrap.svelte-g66pht{top:calc(var(--nav-height) + 2rem);cursor:default;touch-action:pan-y;position:sticky}.photo-image-wrap.svelte-g66pht img{aspect-ratio:auto calc(var(--photo-w,3) / var(--photo-h,2));width:min(100%, calc(80vh * var(--photo-w,3) / var(--photo-h,2)));border-radius:3px;max-width:100%;height:auto}.photo-image-wrap.loading.svelte-g66pht img{background:linear-gradient(100deg,#ffffff05 30%,#ffffff12 50%,#ffffff05 70%) 0 0/200% 100%,#ffffff0a;animation:1.3s linear infinite svelte-g66pht-photo-skeleton}@keyframes svelte-g66pht-photo-skeleton{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.photo-image-wrap.loading.svelte-g66pht img{animation:none}}.preload.svelte-g66pht{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.photo-meta.svelte-g66pht{flex-direction:column;gap:1.25rem;padding-top:.5rem;display:flex}.meta-category.svelte-g66pht{display:flex}.cat-badge.svelte-g66pht{letter-spacing:.07em;text-transform:uppercase;background:var(--color-border);color:#ffffffb3;border-radius:100px;padding:.3rem .75rem;font-size:.7rem;display:inline-block}.photo-title.svelte-g66pht{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-text);font-size:2.4rem;font-style:italic;font-weight:400;line-height:1.15}.photo-year.svelte-g66pht{letter-spacing:.1em;color:#ffffff75;font-size:.75rem}.photo-body.svelte-g66pht{color:#ffffffb3;font-size:.92rem;line-height:1.75}.photo-body.svelte-g66pht p{margin-bottom:1em}.photo-body.svelte-g66pht p:last-child{margin-bottom:0}.photo-image-wrap.svelte-g66pht .zoom-button .chip{view-transition-name:photo-zoom}.photo-pager.svelte-g66pht{view-transition-name:photo-pager}@media (width<=860px){.photo-layout.svelte-g66pht{grid-template-columns:1fr;gap:2rem}.photo-image-wrap.svelte-g66pht{position:relative;top:auto}.photo-image-wrap.svelte-g66pht img{width:min(100%, calc(70vh * var(--photo-w,3) / var(--photo-h,2)));margin-inline:auto}}@media (width<=480px){.photo-page.svelte-g66pht{padding:1.25rem}.photo-title.svelte-g66pht{font-size:1.9rem}}
