:root{--blue: #1d71b8;--red: #eb5760;--ink: #1f2933;--muted: #6b7280;--paper: #faf8f4;--card: #ffffff;--line: #e7e2d8;--maxw: 1100px;--radius: 14px;--shadow: 0 6px 24px rgba(31, 41, 51, .08);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit}img{display:block;max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--line);background:#faf8f4d9;backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.site-header .wrap{display:flex;align-items:center;gap:1rem;height:64px}.brandbar{height:4px;background:linear-gradient(90deg,var(--blue) 0 50%,var(--red) 50% 100%)}.brandmark{display:flex;align-items:center;gap:.55rem;text-decoration:none}.brandmark img{height:34px;width:auto;display:block}.brandmark span{font-weight:900;letter-spacing:.3px;font-size:1.05rem;color:var(--ink)}.site-header nav{margin-left:auto;display:flex;gap:1.25rem;font-weight:700;font-size:.95rem}.site-header nav a{text-decoration:none;color:var(--muted)}.site-header nav a:hover{color:var(--ink)}.hero{padding:4.5rem 0 3rem;text-align:center}.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;margin:0 0 .6rem;font-weight:900}.hero p{font-size:1.2rem;color:var(--muted);max-width:640px;margin:0 auto}.hero .accent{color:var(--blue)}.hero .rule{width:70px;height:4px;background:var(--red);border-radius:3px;margin:1.6rem auto 0}.timeline-intro{text-align:center;color:var(--muted);margin:1.5rem 0 .25rem}.timeline{display:flex;gap:.25rem;align-items:flex-end;justify-content:flex-start;padding:1rem .25rem .25rem;overflow-x:auto;border-bottom:2px solid var(--line)}.timeline{scrollbar-width:thin}.decade{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3rem;min-width:58px;flex:1 0 auto;background:none;border:none;padding:.2rem;cursor:pointer}.decade .count{font-size:.9rem;font-weight:800;line-height:1;height:1em;color:var(--ink)}.decade .bar{width:24px;min-height:4px;background:var(--blue);border-radius:5px 5px 0 0;transition:background .12s ease}.decade .lbl{font-size:.72rem;color:var(--muted);white-space:nowrap}.decade:not(.empty):hover .bar{filter:brightness(1.12)}.decade.active .bar{background:var(--red)}.decade.empty{cursor:default}.decade.empty .bar{background:var(--line)}.decade.empty .count{color:transparent}.decade.undated .bar{background:#c9c2b4}.years{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;padding:.85rem 0 .25rem}.years[hidden]{display:none}.year{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.3rem .75rem;font-weight:700;font-size:.82rem;cursor:pointer}.year .yc{background:var(--blue);color:#fff;border-radius:999px;padding:0 .42rem;font-size:.7rem}.year:not(.empty):hover{border-color:var(--blue)}.year.empty{opacity:.4;cursor:default}.year.active{background:var(--red);color:#fff;border-color:transparent}.year.active .yc{background:#ffffff59}.filters{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:1.5rem 0}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.35rem .9rem;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--ink)}.chip[aria-pressed=true]{color:#fff;border-color:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem 0 4rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card .thumb{aspect-ratio:4 / 3;background:#ece7dd center/cover no-repeat;position:relative}.albumcount{position:absolute;top:.5rem;right:.5rem;background:#1f2933c7;color:#fff;font-size:.72rem;font-weight:800;padding:.15rem .5rem;border-radius:999px}.hero-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in}.hero-btn img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);background:#ece7dd}.thumbstrip{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 0 .3rem;scroll-snap-type:x mandatory}.thumbstrip .ts{flex:0 0 86px;height:64px;border-radius:9px;border:2px solid transparent;background:#ece7dd center/cover no-repeat;cursor:pointer;scroll-snap-align:start;transition:border-color .12s ease}.thumbstrip .ts:hover{border-color:var(--blue)}.lightbox{position:fixed;inset:0;z-index:50;background:#0a0c10eb;display:flex;align-items:center;justify-content:center}.lightbox[hidden]{display:none}.lightbox img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 20px 60px #00000080}.lb-close,.lb-nav{position:absolute;background:#ffffff1f;color:#fff;border:none;cursor:pointer;border-radius:999px}.lb-close{top:1rem;right:1.25rem;width:44px;height:44px;font-size:1.2rem}.lb-nav{top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:2.2rem;line-height:1}.lb-prev{left:1.25rem}.lb-next{right:1.25rem}.lb-close:hover,.lb-nav:hover{background:#ffffff40}@media(max-width:720px){.lb-nav{width:44px;height:44px;font-size:1.6rem}}.hero-btn,.thumbstrip .ts{position:relative}.pdfflag{position:absolute;top:.5rem;left:.5rem;background:var(--red);color:#fff;font-size:.7rem;font-weight:800;padding:.12rem .45rem;border-radius:5px;letter-spacing:.5px}.pdfflag.sm{font-size:.58rem;top:.25rem;left:.25rem;padding:.05rem .3rem}.pdfopen{margin-top:.7rem}.card .doctag{position:absolute;top:.5rem;left:.5rem;background:var(--red);color:#fff;font-size:.68rem;font-weight:800;padding:.1rem .45rem;border-radius:5px}.pdfbox{position:fixed;inset:0;z-index:60;background:#0a0c10eb;display:flex;flex-direction:column;align-items:center;padding:3.2rem 1rem 1rem}.pdfbox[hidden]{display:none}.pdfpages{flex:1;overflow:auto;width:min(900px,94vw)}.pdfpages canvas{display:block;width:100%;height:auto;margin:0 auto .6rem;border-radius:6px;background:#fff;box-shadow:0 6px 20px #0006}.pdfmsg{color:#fff;text-align:center;margin-top:2rem}.pdfmsg a{color:#fff}.pdfbar{position:absolute;top:.7rem;right:1rem;left:1rem;display:flex;align-items:center;justify-content:space-between}.pdf-tab{color:#fff;font-weight:700;text-decoration:none;font-size:.9rem;opacity:.9}.pdf-tab:hover{text-decoration:underline}.card .meta{padding:.7rem .85rem}.card .ttl{font-weight:800;font-size:.98rem;margin:0 0 .35rem}.card .sub{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted)}.tag{display:inline-block;padding:.12rem .55rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800}.item{padding:2.5rem 0 4rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem}.item img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);background:#ece7dd}.item h1{margin:0 0 .5rem;font-size:1.8rem}.item .back{color:var(--muted);text-decoration:none;font-weight:700}.item dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin-top:1.25rem}.item dt{color:var(--muted);font-weight:700}@media(max-width:720px){.item{grid-template-columns:1fr}}footer.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;padding:2rem 0;text-align:center}.demo-banner{background:#fff7e6;border-bottom:1px solid #f0e0b8;color:#7a5b00;text-align:center;font-size:.82rem;padding:.4rem 1rem}
