.pubs{padding-inline:var(--gutter);padding-block:calc(var(--space-10) + 1rem) var(--space-10);max-width:90rem;margin-inline:auto}.pubs__head{gap:var(--space-5);margin-bottom:var(--space-8);display:grid}.pubs h1{font-size:var(--text-3xl);letter-spacing:var(--track-display);line-height:var(--leading-display)}.pubs__lead{max-width:58ch;font-size:var(--text-lg);color:var(--ink-on-surface-soft);line-height:1.5}.pubs__lead a{color:var(--ink-on-surface)}.pubs__tools{z-index:10;align-items:end;gap:var(--space-4) var(--space-6);padding-block:var(--space-4);margin-bottom:var(--space-6);background:var(--water-surface);border-bottom:1px solid #0c2a331f;flex-wrap:wrap;display:flex;position:sticky;top:3.9rem}.pubs__tools[hidden]{display:none}.pubs__search{gap:var(--space-2);flex:22rem;display:grid}.pubs__search label{font-family:var(--font-display);font-size:var(--text-xs);color:var(--ink-on-surface-soft);font-weight:600}.pubs__search input{width:100%;min-height:2.9rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-text);font-size:var(--text-base);transition:border-color var(--dur-hover) ease;background:#fff;border:1px solid #0c2a3347}.pubs__search input:focus-visible{outline:2px solid var(--tape-deep);outline-offset:1px;border-color:var(--tape-deep)}.pubs__types{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.pubs__types label{cursor:pointer;position:relative}.pubs__types input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pubs__types span{min-height:2.5rem;padding-inline:var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);transition:background-color var(--dur-hover) ease, color var(--dur-hover) ease, border-color var(--dur-hover) ease;border:1px solid #0c2a3347;border-radius:999px;align-items:center;font-weight:550;display:inline-flex}.pubs__types input:checked+span{background:var(--ink-on-surface);border-color:var(--ink-on-surface);color:var(--water-surface)}.pubs__types input:focus-visible+span{outline:2px solid var(--tape-deep);outline-offset:2px}@media (hover:hover) and (pointer:fine){.pubs__types input:not(:checked):hover+span{border-color:var(--ink-on-surface)}}.pubs__count{font-family:var(--font-display);font-size:var(--text-sm);color:var(--ink-on-surface-soft);min-height:1.5em}.pubs__body{gap:var(--space-6);display:grid}@media (width>=861px){.pubs__body{gap:var(--space-8);grid-template-columns:7rem minmax(0,1fr)}}.pubs__years ol{gap:var(--space-1) var(--space-3);scrollbar-width:none;padding:0;list-style:none;display:flex;overflow-x:auto}.pubs__years a{padding:var(--space-1) 0;font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--ink-on-surface-soft);text-decoration:none;display:inline-block}.pubs__years a[data-empty]{opacity:.35;pointer-events:none}@media (hover:hover) and (pointer:fine){.pubs__years a:hover{color:var(--ink-on-surface)}}@media (width>=861px){.pubs__years{align-self:start;position:sticky;top:11rem}.pubs__years ol{flex-direction:column;overflow:visible}}.pubs .year{gap:var(--space-4);padding-bottom:var(--space-8);scroll-margin-top:11rem;display:grid}.pubs .year[hidden]{display:none}@media (width>=1100px){.pubs .year{gap:var(--space-6);grid-template-columns:8rem minmax(0,1fr)}}.pubs .year__title{font-size:var(--text-2xl);letter-spacing:var(--track-display);align-self:start;line-height:1}@media (width>=1100px){.pubs .year__title{position:sticky;top:11rem}}.pubs .year__items{border-top:1px solid #0c2a332e;padding:0;list-style:none}.pubs .year__items li{gap:var(--space-2);padding-block:var(--space-4);border-bottom:1px solid #0c2a331a;display:grid}.pubs .year__items li[hidden]{display:none}.pubs .year__type{font-family:var(--font-display);font-size:var(--text-xs);color:var(--ink-on-surface-soft);font-weight:600}.pubs__empty{gap:var(--space-4);padding-block:var(--space-8);font-size:var(--text-lg);justify-items:start;display:grid}.pubs__empty button{min-height:2.75rem;padding-inline:var(--space-5);background:var(--ink-on-surface);color:var(--water-surface);font-family:var(--font-display);cursor:pointer;transition:transform var(--dur-press) var(--ease-out);border:0;border-radius:999px;font-weight:600}.pubs__empty button:active{transform:scale(.97)}
