.s-shelf{--muted:var(--color-muted-light);--foreground:var(--color-gray-900);--card-foreground:var(--foreground);--secondary-foreground:var(--foreground);--accent-foreground:var(--foreground);--s-shelf-gutter:max(32px,calc((100% - 1240px) / 2));min-height:100%;padding-bottom:40px;color:var(--foreground);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.s-shelf,.s-shelf__top{background:var(--color-bg)}.s-shelf__top{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px var(--s-shelf-gutter);border-bottom:1px solid transparent}@keyframes s-shelf-stuck{to{border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}}@supports (animation-timeline:scroll()){.s-shelf__top{animation:s-shelf-stuck linear both;animation-timeline:scroll(nearest block);animation-range:0 16px}}@supports not (animation-timeline:scroll()){.s-shelf__top{border-bottom-color:var(--border)}}.s-shelf__title{display:flex;align-items:center;gap:8px;min-width:0}.s-shelf__title h1{margin:0;font-size:20px;font-weight:700;line-height:1.05}.s-shelf__count{margin:4px 0 0;color:var(--muted-foreground);font-size:13px}.s-shelf__back{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:var(--foreground)}@media (pointer:coarse){.s-shelf__back{width:44px;height:44px}}.s-shelf__back:hover{background:var(--secondary)}.s-shelf__back:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.s-shelf__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.s-shelf__search{position:relative;width:280px;min-width:0}.s-shelf__top{container:s-shelf-bar/inline-size}@container s-shelf-bar (max-width: 1220px){.s-shelf__filters{flex:1 1 100%}.s-shelf__search{flex:1 1 260px;width:auto}}@container s-shelf-bar (max-width: 760px){.s-shelf__search{flex-basis:100%}}.s-shelf__body{display:flex;flex-direction:column;gap:40px;padding:8px var(--s-shelf-gutter) 0}.s-shelf__status{margin:0;color:var(--muted-foreground);font-size:14px}.s-shelf__h2{margin:0;font-size:16px;font-weight:700}.s-shelf__tally{color:var(--muted-foreground);font-size:13px}.s-shelf__unit{margin:0 0 12px;color:var(--muted-foreground);font-size:12px;font-weight:600;letter-spacing:.02em}.s-shelf__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (min-width:640px){.s-shelf__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.s-shelf__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1536px){.s-shelf__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.s-shelf__recent{display:grid;grid-template-columns:repeat(var(--s-recent,4),minmax(0,1fr));gap:20px;margin:0;padding:0;overflow:visible}.s-shelf__recent>*{width:auto}}.s-shelf-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);transition:border-color .15s}.group:hover .s-shelf-card{border-color:color-mix(in oklab,var(--border),var(--foreground) 18%)}.s-shelf-card__body{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;padding:14px 16px 16px}.s-shelf-card__chapter{margin:0 0 2px;overflow:hidden;color:var(--muted-foreground);font-size:12px;font-weight:600;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.s-shelf-card__title{margin:0;font-size:15px;font-weight:600;line-height:1.3}.s-shelf-card__note{margin:4px 0 0;color:var(--muted-foreground);font-size:13px}.s-shelf-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:12px}.s-shelf-card__kind{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600}@media (max-width:639px){.s-shelf{font-size:14px}.s-shelf__top{position:static;padding:12px .8rem}.s-shelf__title h1{font-size:18px}.s-shelf__search{width:100%}.s-shelf__body{gap:32px;padding:4px .8rem 0}.s-shelf__grid{gap:12px}.s-shelf-card__body{padding:10px 12px 12px}.s-shelf-card__title{font-size:14px}}