.lib{--lib-head:60px;--lib-gutter:clamp(16px, 2.6vw, 32px);--lib-ease:cubic-bezier(.22, 1, .36, 1);--lib-display:clamp(3rem, min(9vw, 13svh), 8rem);--lib-hero-top:clamp(32px, min(7vw, 6svh), 104px);--lib-hero-row-gap:clamp(24px, min(4vw, 4svh), 56px);--lib-shelf-gap:clamp(28px, min(5vw, 5svh), 72px);--lib-shelf-h:clamp(136px, min(15vw, 21svh), 216px);--lib-heading:clamp(1.5rem, 2.6vw, 2.5rem);--lib-lead:1.5rem;--lib-body:1.0625rem;--lib-small:.875rem;background:var(--paper);color:var(--ink);font-size:var(--lib-body)}.lib .seg-a,.lib .p-a,.lib .e-a,.lib .g-a{--tint:var(--era-ancient)}.lib .seg-m,.lib .p-m,.lib .e-m,.lib .g-m{--tint:var(--era-medieval)}.lib .seg-c,.lib .p-c,.lib .e-c,.lib .g-c{--tint:var(--era-colonial)}.lib .seg-mo,.lib .p-mo,.lib .e-mo,.lib .g-mo{--tint:var(--era-modern)}.lib :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.lib-wrap{width:min(1320px, 100% - 2 * var(--lib-gutter));margin-inline:auto}.lib-hero{padding-top:var(--lib-hero-top)}.lib-hero h1{font-family:var(--serif);font-size:var(--lib-display);letter-spacing:-.045em;margin:0;font-weight:800;line-height:.9}.lib-hero h1 span{font-size:var(--lib-heading);letter-spacing:-.02em;margin-top:.4em;font-weight:500;line-height:1.1;display:block}.lib-scope{font-size:var(--lib-body);margin:24px 0 0}.lib-scope a{color:var(--brass);text-underline-offset:4px}.lib-hero-row{margin-top:var(--lib-hero-row-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:24px clamp(32px,5vw,80px);display:grid}.lib-lead{max-width:34em;font-size:var(--lib-lead);margin:0;line-height:1.4}.lib-note{max-width:44em;font-size:var(--lib-body);margin:16px 0 0;line-height:1.55}.lib-go{background:var(--brass);min-height:56px;color:var(--paper);font:inherit;font-size:var(--lib-body);cursor:pointer;border:0;justify-self:end;align-items:center;padding:0 1.75em;font-weight:600;text-decoration:none;display:inline-flex}.lib-go:hover{background:var(--brass-deep)}.lib-shelf{margin-top:var(--lib-shelf-gap);align-items:flex-end;gap:6px;display:flex}.lib-seg{min-width:0;min-height:var(--lib-shelf-h);background:var(--tint);color:var(--on-era);font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;flex:1 1 0;gap:2px;padding:18px 18px 20px;display:flex}.lib-seg-marks{flex-wrap:wrap;gap:7px;margin-bottom:auto;padding-bottom:16px;display:flex}.lib-seg-marks i{background:currentColor;border-radius:50%;width:11px;height:11px}.lib-seg-marks i.off{opacity:.3;transform:scale(.6)}.lib-seg b{font-family:var(--serif);font-size:var(--lib-lead);letter-spacing:-.015em;font-weight:700;line-height:1.1}.lib-seg-dates,.lib-seg-count{font-size:var(--lib-small);line-height:1.4}.lib-seg-count{font-weight:600}.lib-shelf[data-picked] .lib-seg[aria-pressed=false]{background:var(--paper-deep);color:var(--ink)}.lib-shelf[data-picked] .lib-seg[aria-pressed=false] .lib-seg-marks{color:var(--tint)}.lib-filters{background:var(--paper-deep);padding:clamp(24px,3vw,40px) 0}.lib-frow{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.lib-search{flex:320px;min-width:0;display:flex;position:relative}.lib-search input{border:1px solid var(--control);background:var(--paper);min-width:0;height:52px;color:var(--ink);font:inherit;font-size:var(--lib-body);border-radius:0;flex:1;padding:0 56px 0 16px}.lib-search-go{background:var(--brass);width:44px;color:var(--paper);cursor:pointer;border:0;place-items:center;display:grid;position:absolute;top:4px;bottom:4px;right:4px}.lib-search-go svg{width:20px;height:20px}.lib-search-go:hover{background:var(--brass-deep)}.lib-sel{color:var(--ink-soft);font-size:var(--lib-small);flex-direction:column;gap:4px;display:flex}.lib-sel select{border:1px solid var(--control);background:var(--paper);height:52px;color:var(--ink);font:inherit;font-size:var(--lib-body);cursor:pointer;border-radius:0;padding:0 .8em}.lib-views{gap:4px;display:flex}.lib-views button,.lib-chip{background:var(--paper);color:var(--ink);font:inherit;font-size:var(--lib-body);cursor:pointer;border:0;border-radius:0}.lib-views button{height:52px;padding:0 1.25em}.lib-themes{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.lib-chip{min-height:44px;padding:0 1em}.lib-views button:hover,.lib-chip:hover{color:var(--brass-deep)}.lib-views button[aria-pressed=true],.lib-chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.lib-fmeta{font-size:var(--lib-body);align-items:baseline;gap:20px;margin-top:16px;display:flex}.lib-lnk{color:var(--ink);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lib-lnk[hidden]{display:none}.lib-res{padding:clamp(64px,8vw,128px) 0 clamp(96px,10vw,160px)}.lib-res.list{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.lib-plate{top:calc(var(--lib-head) + 24px);height:min(calc(100svh - var(--lib-head) - 48px), 760px);background:var(--tint);color:var(--on-era);flex-direction:column;padding:clamp(24px,2.6vw,40px);display:flex;position:sticky}.lib-plate-face{flex-direction:column;flex:1;min-height:0;display:flex}.lib-plate-era{min-height:44px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.4em;margin:-10px 0 0;padding:0;font-weight:600;display:inline-flex}button.lib-plate-era{cursor:pointer;text-underline-offset:4px}button.lib-plate-era:hover{text-decoration:underline}.lib-plate-era svg{width:1em;height:1em}.lib-plate-era:focus-visible{outline-color:var(--on-era)}.lib-plate-year{font-family:var(--serif);font-size:var(--lib-display);letter-spacing:-.05em;font-variant-numeric:lining-nums tabular-nums;margin-top:auto;font-weight:800;line-height:.85}.lib-plate-year small{font-size:var(--lib-heading);letter-spacing:-.01em;margin-top:.12em;font-weight:600;display:block}.lib-plate-title{-webkit-line-clamp:3;font-family:var(--serif);font-size:var(--lib-lead);-webkit-box-orient:vertical;margin-top:24px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.lib-plate-link{color:var(--on-era);font-size:var(--lib-small);text-underline-offset:4px;margin-top:24px}.lib-plate-link:focus-visible{outline-color:var(--on-era)}.lib-grp+.lib-grp{margin-top:clamp(80px,9vw,140px)}.lib-gh h2{color:var(--tint);font-size:var(--lib-heading);margin:0;font-weight:700}.lib-gh p{margin:8px 0 0}.lib-items{gap:4px;margin-top:24px;display:grid}.lib-res.list>.lib-list>.lib-items{margin-top:0}.lib-entry{color:var(--ink);gap:6px;margin-inline:-28px;padding:24px 28px;text-decoration:none;display:grid}.lib-entry[data-active]{background:var(--paper-deep)}.lib-entry-date{color:var(--tint);font-size:var(--lib-small);font-weight:600}.lib-entry-date:before{content:"";background:var(--tint);vertical-align:-.05em;width:.75em;height:.75em;margin-right:.5em;display:inline-block}.lib-entry h3{font-size:var(--lib-lead);line-height:1.15}.lib-entry:hover h3{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.lib-entry-hook{max-width:60ch;line-height:1.55}.lib-entry-meta{color:var(--ink-soft);font-size:var(--lib-small)}.lib-res.grid .lib-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(32px,4vw,56px);margin-top:32px}.lib-res.grid .lib-entry{align-content:start;margin:0;padding:0}.lib-res.grid .lib-entry-hook{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lib-empty{grid-column:1/-1;max-width:28rem}.lib-empty h2{font-size:var(--lib-heading);margin:0}.lib-empty p{color:var(--ink-soft);margin:12px 0 24px}@media (width<=900px){.lib-hero-row{grid-template-columns:1fr}.lib-go{justify-self:start}.lib-res.list{display:block}.lib-plate{z-index:5;top:var(--lib-head);height:auto;margin:0 calc(-1 * var(--lib-gutter)) 32px;padding:14px var(--lib-gutter)}.lib-plate-face{flex-direction:row;align-items:center;gap:16px}.lib-plate-era,.lib-plate-link{display:none}.lib-plate-year{white-space:nowrap;margin-top:0;font-size:3rem}.lib-plate-year small{font-size:var(--lib-small);letter-spacing:0;margin:0 0 0 .2em;display:inline}.lib-plate-title{-webkit-line-clamp:2;font-size:var(--lib-body);margin-top:0}.lib-entry{margin-inline:calc(-1 * var(--lib-gutter));padding:20px var(--lib-gutter)}.lib-res.grid .lib-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.lib{--lib-lead:1.25rem}.lib-shelf{flex-direction:column;align-items:stretch;gap:4px}.lib-seg{flex-basis:auto;min-height:0;padding:16px}.lib-seg-marks{order:1;margin:10px 0 0;padding:0}.lib-grp+.lib-grp{margin-top:64px}.lib-res.grid .lib-items{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.lib-hero h1,.lib-hero-copy,.lib-hero .lib-go,.lib-seg{animation:lib-rise .9s var(--lib-ease) backwards}.lib-hero-copy{animation-delay:90ms}.lib-hero .lib-go{animation-delay:.16s}.lib-seg:first-child{animation-delay:.24s}.lib-seg:nth-child(2){animation-delay:.32s}.lib-seg:nth-child(3){animation-delay:.4s}.lib-seg:nth-child(4){animation-delay:.48s}.lib-seg{transition:transform .3s var(--lib-ease), background-color .25s ease, color .25s ease}.lib-seg:hover{transform:translateY(-6px)}.lib-seg[aria-pressed=true]{transform:translateY(-12px)}.lib-seg:active{transform:translateY(-2px)}.lib-seg-marks i{transition:opacity .3s ease, transform .3s var(--lib-ease)}.lib-go,.lib-search-go,.lib-views button,.lib-chip{transition:background-color .15s,color .15s,transform .15s}.lib-go:active,.lib-search-go:active,.lib-views button:active,.lib-chip:active{transform:scale(.97)}.lib-entry{transition:background-color .2s}.lib-plate-era svg{transition:transform .2s var(--lib-ease)}button.lib-plate-era:hover svg{transform:translateY(3px)}.lib-plate{transition:background-color .5s,color .5s}.lib-plate-year,.lib-plate-title{animation:lib-turn .55s var(--lib-ease) both}.lib-plate-title{animation-delay:60ms}.lib [data-reveal],.lib .lib-gh[data-reveal]>*{transition:opacity .7s var(--lib-ease), transform .9s var(--lib-ease), background-color .2s ease}.lib .lib-gh[data-reveal]>:nth-child(2),.lib .lib-items>:nth-child(3n+2){transition-delay:70ms}.lib .lib-items>:nth-child(3n){transition-delay:.14s}.lib .lib-entry[data-reveal].is-pending,.lib .lib-gh[data-reveal].is-pending>*{opacity:0;transform:translateY(24px)}}@media (width<=640px) and (prefers-reduced-motion:no-preference){.lib-seg:hover,.lib-seg[aria-pressed=true]{transform:none}}@keyframes lib-rise{0%{opacity:0;transform:translateY(28px)}}@keyframes lib-turn{0%{opacity:0;transform:translateY(.25em)}}
