.year-link{font-size:clamp(18px, calc(var(--top-height) * .4) , 24px);color:var(--color-h2);line-height:1.2;font-family:"Outfit", "Trebuchet MS", "Segoe UI", var(--font-sans,system-ui, sans-serif);border-radius:4px;margin:0 .5em 0 0;padding:.25em .5em;font-weight:800;text-decoration:none;transition:color .18s;display:inline-block}.album-page{--album-gutter:clamp(30px, 4vw, 50px);--album-head-width:1120px;--photo-gap:12px;--photo-column-width:clamp(220px, 18vw, 340px);min-height:50vh;margin-inline:var(--album-gutter);padding:10px 0 36px}.album-head{width:min(var(--album-head-width), 100%);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 32px;margin:0 auto 36px;display:grid}.album-title-block{grid-area:1/1/3}.album-head h1{color:var(--color-main);margin:0 0 .35em;font-size:clamp(1.8rem,4vw,2rem);font-weight:700;line-height:1.1}.album-summary{max-width:42rem;color:var(--color-main);opacity:.82;margin:0;font-size:.95rem;line-height:1.2}.album-info{text-align:left;flex-direction:column;grid-area:1/2/3;place-self:stretch end;align-items:flex-start;min-width:9.5em;display:flex}.album-date,.album-count{color:var(--color-main);white-space:nowrap;align-items:baseline;gap:.25em;margin:0;display:inline-flex}.photo-list{column-width:var(--photo-column-width);column-gap:var(--photo-gap)}.photo-item{break-inside:avoid;margin:0 0 var(--photo-gap);color:inherit;background:#ffffff47;text-decoration:none;transition:opacity .18s,transform .18s;display:block;position:relative;overflow:hidden}.photo-item:hover,.photo-item:focus-visible{opacity:.86}.photo-item img{width:100%;height:auto;transition:transform .22s,filter .22s;display:block}.photo-item:hover img,.photo-item:focus-visible img{filter:saturate(1.08);transform:scale(1.018)}.photo-item.is-missing{aspect-ratio:3/2}.photo-item.is-missing:before{content:"";background:linear-gradient(135deg,#ffffff5c,#ffffff14);position:absolute;inset:0}.photo-item.is-missing:after{content:"⿻ 縮圖製作中";letter-spacing:.08em;color:var(--color-main);opacity:.45;font-size:.7rem;position:absolute;bottom:8px;right:10px}.empty-text{color:var(--color-main);margin:0}@media (width<=900px){.album-page{--album-gutter:30px;--photo-column-width:220px}.album-head{column-gap:20px}}@media (width<=720px){.album-page{--album-gutter:24px;--photo-gap:8px}.album-head{grid-template-rows:auto auto;grid-template-columns:1fr auto;margin-bottom:28px;display:grid}.album-title-block{grid-area:1/1/auto/-1}.album-head h1{font-size:clamp(1.6rem,6vw,2.1rem)}.album-summary{font-size:.95rem;line-height:1.7}.album-date{grid-area:2/1;justify-self:start;padding-top:18px;font-size:.9rem}.album-count{grid-area:2/2;place-self:start end;padding-bottom:12px;font-size:.9rem}.photo-list{column-count:1;column-width:auto}}.photo-load-sentinel{height:1px}.photo-load-status{color:var(--color-main);text-align:center;opacity:.52;margin:28px 0 0;font-size:.85rem}.photo-load-status.is-complete{opacity:.36}.lightbox{z-index:1000;backdrop-filter:blur(12px);opacity:0;pointer-events:none;visibility:hidden;background:#14082cdb;grid-template-columns:minmax(44px,80px) minmax(0,1fr) minmax(44px,80px);align-items:center;padding:32px;transition:opacity .18s,visibility .18s;display:grid;position:fixed;inset:0}.lightbox.is-open{opacity:1;pointer-events:auto;visibility:visible}.lightbox-figure{grid-column:2;justify-items:center;gap:14px;margin:0;display:grid}.lightbox-image{object-fit:contain;width:auto;max-width:min(100%,1600px);height:auto;max-height:calc(100vh - 120px);display:block}.lightbox-caption{color:#ffffffb8;letter-spacing:.08em;min-height:1.4em;font-size:.86rem}.lightbox-close,.lightbox-nav{color:#ffffffd1;cursor:pointer;background:0 0;border:0}.lightbox-close{width:44px;height:44px;font-size:2rem;line-height:1;position:absolute;top:18px;right:24px}.lightbox-nav{place-items:center;width:100%;min-height:160px;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;display:grid}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox-close:hover,.lightbox-nav:hover,.lightbox-close:focus-visible,.lightbox-nav:focus-visible{color:#fff}body.is-lightbox-open{overflow:hidden}body.is-lightbox-open .top-bar{opacity:0;pointer-events:none}@media (width<=720px){.lightbox{grid-template-columns:1fr;padding:20px}.lightbox-figure{grid-column:1}.lightbox-image{max-height:calc(100vh - 110px)}.lightbox-nav{width:52px;min-height:96px;font-size:3rem;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-close{top:12px;right:14px}}
