:root{--ink:#383E42;--ink-2:#535656;--accent:#8B6914;--accent-hover:#6F5310;--tint:#F6F3EC;--line:#D8D4D1;--ground:#FFFFFF;--bar-h:64px}
.lib{padding-top:var(--bar-h);color:var(--ink);background:var(--ground);overflow-wrap:anywhere;font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.6}
.lib *{box-sizing:border-box}
.lib a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.lib a:hover{color:var(--accent-hover)}
.lib .wrap{max-width:1080px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.lib .lib-hero{padding:72px 0 32px;border-bottom:1px solid var(--line)}
.lib .kicker{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 12px}
.lib h1{font-size:clamp(36px,6vw,60px);line-height:1.08;margin:0 0 20px;font-weight:700;letter-spacing:-.01em}
.lib .lead{font-size:21px;max-width:720px;margin:0 0 12px}
.lib .lead+.lead{color:var(--ink-2)}
.lib .tools{position:sticky;top:var(--bar-h);z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:14px 0}
.lib .tools .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lib .search{flex:1 1 260px;font:inherit;font-size:17px;padding:10px 14px;border:1px solid var(--ink-2);border-radius:6px;color:var(--ink)}
.lib .search:focus{outline:2px solid var(--accent);outline-offset:1px}
.lib .chips{display:flex;flex-wrap:wrap;gap:8px}
.lib .chip{font:inherit;font-size:16px;padding:7px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;cursor:pointer;text-decoration:none}
.lib .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.lib .count{font-size:16px;color:var(--ink-2);margin-left:auto}
.lib section.room{padding:56px 0 8px;border-bottom:1px solid var(--line)}
.lib h2{font-size:34px;line-height:1.15;margin:0 0 8px;font-weight:700}
.lib .room-line{color:var(--ink-2);max-width:720px;margin:0 0 28px}
.lib h3.group{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:36px 0 12px;font-weight:700}
.lib .group-line{max-width:720px;margin:-4px 0 16px;color:var(--ink-2);font-size:16px}
.lib .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.lib .lib-card{border:1px solid var(--line);border-radius:10px;padding:20px 22px;background:#fff;display:flex;flex-direction:column;gap:8px}
.lib .lib-card:hover{border-color:#cfc6c1}
.lib .lib-card .k{font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}
.lib .lib-card .t{font-size:21px;line-height:1.25;font-weight:700;margin:0}
.lib .lib-card .t small{display:block;font-size:16px;font-weight:400;color:var(--ink-2)}
.lib .lib-card .l{font-size:16px;margin:0;color:var(--ink)}
.lib .lib-doors{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;padding-top:6px;font-size:16px}
.lib .lib-doors a{font-weight:700}
.lib .lib-doors .muted{color:var(--ink-2)}
.lib .flag{display:inline-block;font-size:16px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:4px;background:var(--tint);color:var(--accent)}
.lib .flag.done{background:var(--ink);color:#fff}
.lib .rows{border-top:1px solid var(--line)}
.lib .row{display:grid;grid-template-columns:76px 1fr auto;gap:6px 18px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.lib .row .n{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.lib .row .t{font-weight:700}
.lib .row .f{font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-left:8px;font-weight:700}
.lib .row .l{grid-column:2/3;font-size:16px;color:var(--ink-2);margin:0}
.lib .row .lib-doors{grid-column:3/4;grid-row:1/3;margin:0;padding:0;justify-content:flex-end}
.lib .nb{margin:32px 0 6px;display:flex;gap:12px;align-items:baseline}
.lib .nb b{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.lib .bronze{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.lib .bronze a.work{text-decoration:none;color:var(--ink);display:block}
.lib .bronze .img{position:relative;aspect-ratio:3/4;background:var(--ink) center/cover no-repeat;border-radius:8px;display:flex;align-items:flex-end;padding:14px;overflow:hidden}
.lib .bronze .img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.lib .bronze .t{font-weight:700;font-size:19px;margin:10px 0 0}
.lib .bronze .e{font-size:16px;color:var(--ink-2);margin:2px 0 0;letter-spacing:.04em}
.lib .bronze .l{font-size:16px;margin:4px 0 0}
.lib .resp{border-top:1px solid var(--line)}
.lib .resp .row{grid-template-columns:44px 1fr auto}
.lib .lately{display:flex;gap:10px;overflow-x:auto;padding:4px 0 18px;scrollbar-width:thin}
.lib .lately a{flex:0 0 auto;border:1px solid var(--line);border-radius:8px;padding:10px 14px;text-decoration:none;color:var(--ink);font-size:16px;max-width:280px}
.lib .lately a b{display:block;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.lib .arch details{border-bottom:1px solid var(--line);padding:12px 0}
.lib .arch summary{cursor:pointer;font-weight:700;list-style:none}
.lib .arch summary::-webkit-details-marker{display:none}
.lib .arch summary span{color:var(--ink-2);font-weight:400;font-size:16px;margin-left:8px}
.lib .arch ul{margin:10px 0 4px;padding:0;list-style:none}
.lib .arch li{padding:6px 0;font-size:16px}
.lib .arch li span{color:var(--ink-2)}
.lib .lib-band{background:var(--tint);border-radius:12px;padding:32px;margin:40px 0 56px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.lib .lib-band h2{font-size:28px}
.lib .lib-band a.lib-btn{background:var(--accent);color:#fff;text-decoration:none;padding:12px 20px;border-radius:8px;font-weight:700}
.lib .lib-band a.lib-btn:hover{background:var(--accent-hover)}
.lib .foot-note{color:var(--ink-2);font-size:16px;padding:32px 0 64px}
.lib .hide{display:none!important}
.lib [id]{scroll-margin-top:190px}
.lib .lately-k{margin-top:28px}
.lib .room-line.after{margin-top:20px}
.lib .lib-band .band-p{margin:0}
.lib .letters{display:flex;flex-wrap:wrap;gap:4px 10px;font-weight:700;margin:6px 0 0}
.lib .entry{padding:18px 0;border-bottom:1px solid var(--line)}
.lib .entry .term{font-size:21px;font-weight:700;margin:0}
.lib .entry .reg{margin-left:10px;vertical-align:middle}
.lib .entry p{margin:6px 0 0;max-width:760px}
.lib .entry .meta{font-size:16px;color:var(--ink-2)}
.lib .letter{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:40px 0 0;padding-bottom:8px;border-bottom:2px solid var(--ink)}
@media (max-width:720px){.lib .tools{padding:10px 0}.lib .chips{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none}.lib .chip{flex:0 0 auto;font-size:16px;padding:6px 12px}.lib .count{display:none!important}.lib{font-size:17px}.lib .row{grid-template-columns:56px 1fr}.lib .row .lib-doors{grid-column:2/3;grid-row:auto;justify-content:flex-start}.lib .lib-band{grid-template-columns:1fr}.lib .count{margin-left:0;width:100%}}
