.llb-shelf{--forest:#263739;--ink:#253435;--muted:#758080;--paper:#fbfaf7;--soft:#f4f4ef;--line:rgba(38,55,57,.14);--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;max-width:1120px;margin:0 auto;padding:20px 22px 84px;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif}.llb-shelf *{box-sizing:border-box}.llb-shelf :is(h1,h2,h3){background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.llb-shelf :is(h1,h2,h3)::before,.llb-shelf :is(h1,h2,h3)::after{display:none!important;content:none!important}.llb-shelf__head{padding:10px 0 30px}.llb-shelf__crumb{font-size:12px;line-height:1.5;color:#788483;margin:0 0 34px}.llb-shelf__intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:end;gap:44px;padding-bottom:30px;border-bottom:1px solid var(--line)}.llb-shelf__eyebrow{font-size:10px;letter-spacing:.24em;color:#7d8988;margin:0 0 12px}.llb-shelf h1{font-family:var(--serif)!important;font-weight:500!important;font-size:clamp(2.35rem,5.4vw,4.6rem)!important;letter-spacing:-.045em!important;line-height:1.08!important;margin:0!important;color:var(--forest)!important}.llb-shelf__lead{font-family:var(--serif);font-size:1rem;line-height:1.9;margin:0;color:#4e5c5c}.llb-shelf__tools{margin:24px 0 50px}.llb-search{height:52px;max-width:720px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;align-items:center;padding:0 15px 0 17px;box-shadow:0 3px 16px rgba(38,55,57,.025)}.llb-search:focus-within{border-color:rgba(38,55,57,.36);box-shadow:0 0 0 3px rgba(38,55,57,.05)}.llb-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;height:100%;padding:0!important;font-size:15px;color:var(--ink)}.llb-search input::placeholder{color:#929b9a}.llb-search span{font-size:22px;line-height:1;color:#697878;transform:rotate(-20deg)}.llb-filters{display:flex;gap:7px;overflow-x:auto;padding:12px 0 3px;scrollbar-width:none}.llb-filters::-webkit-scrollbar{display:none}.llb-filters button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:transparent;color:#526160;font-size:12px;line-height:1;padding:9px 13px;cursor:pointer}.llb-filters button.is-active{background:var(--forest);color:#fff;border-color:var(--forest)}.llb-shelf__bar{display:flex;align-items:end;justify-content:space-between;margin:0 0 21px}.llb-shelf__bar>div{min-width:0}.llb-shelf__bar-kicker{display:block;font-size:9px;letter-spacing:.2em;color:#8c9695;margin-bottom:5px}.llb-shelf__bar h2{font-family:var(--serif)!important;font-size:1.3rem!important;font-weight:500!important;line-height:1.25!important;margin:0!important;color:var(--forest)!important}.llb-shelf__count{font-size:11px;color:var(--muted);padding-bottom:2px}.llb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 22px}.llb-card{min-width:0}.llb-card[hidden]{display:none!important}.llb-card__cover{display:block;position:relative;aspect-ratio:3/4.25;overflow:hidden;border-radius:5px;background:#d9dfdb;box-shadow:0 10px 24px rgba(22,37,38,.07);text-decoration:none;transform:translateZ(0)}.llb-card__cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.llb-card__cover:hover img{transform:scale(1.018)}.llb-card__cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,31,35,0) 52%,rgba(15,31,35,.2) 100%);pointer-events:none}.llb-card__blank{display:block;width:100%;height:100%;background:linear-gradient(145deg,#e3e6e2,#c6cfca)}.llb-card__no{position:absolute;z-index:2;left:11px;top:11px;color:#fff;font-size:9px;letter-spacing:.15em;text-shadow:0 1px 5px rgba(0,0,0,.25)}.llb-card__draft{position:absolute;z-index:3;right:8px;top:8px;background:rgba(250,249,245,.93);color:var(--forest);font-size:9px;padding:5px 7px;border-radius:999px}.llb-card__body{padding-top:11px}.llb-card__index{margin:0 0 5px;color:#909998;font-size:9px;letter-spacing:.13em}.llb-card h3{font-family:var(--serif)!important;font-weight:500!important;font-size:1rem!important;line-height:1.55!important;margin:0 0 6px!important}.llb-card h3 a{color:var(--forest);text-decoration:none}.llb-card__subtitle{font-size:11px;line-height:1.65;color:#6e7a79;margin:0}.llb-card__tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.llb-card__tags span{font-size:9px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:#657271;background:transparent}.llb-empty{font-family:var(--serif);padding:40px 0;color:#687574}.llb-shelf__foot{margin-top:55px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:#879190}.llb-no-results .llb-shelf__foot{margin-top:24px}@media(max-width:900px){.llb-shelf__intro{grid-template-columns:1fr;gap:20px}.llb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.llb-shelf{padding:8px 20px 64px}.llb-shelf__head{padding-top:4px;padding-bottom:19px}.llb-shelf__crumb{margin-bottom:25px;font-size:11px}.llb-shelf__intro{display:block;padding-bottom:24px}.llb-shelf__eyebrow{margin-bottom:9px;font-size:9px}.llb-shelf h1{font-size:2.25rem!important;line-height:1.15!important;letter-spacing:-.04em!important}.llb-shelf__lead{font-size:.91rem;line-height:1.8;margin-top:17px}.llb-shelf__lead br{display:none}.llb-shelf__tools{margin:18px 0 37px}.llb-search{height:50px;border-radius:12px}.llb-filters{padding-top:10px}.llb-filters button{font-size:11px;padding:8px 12px}.llb-shelf__bar{margin-bottom:18px}.llb-shelf__bar h2{font-size:1.17rem!important}.llb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 15px}.llb-card__cover{border-radius:5px;box-shadow:0 8px 20px rgba(22,37,38,.065)}.llb-card h3{font-size:.93rem!important;line-height:1.5!important}.llb-card__subtitle{font-size:10px;line-height:1.55}.llb-card__no{left:9px;top:9px;font-size:8px}.llb-card__tags{gap:4px}.llb-card__tags span{font-size:8px;padding:4px 6px}.llb-card__index{font-size:8px}.llb-shelf__foot{margin-top:44px}.llb-grid--count-1{grid-template-columns:minmax(0,1fr)}.llb-grid--count-1 .llb-card{display:grid;grid-template-columns:minmax(120px,39%) minmax(0,1fr);gap:17px;align-items:start}.llb-grid--count-1 .llb-card__body{padding-top:3px}.llb-grid--count-1 .llb-card h3{font-size:1.08rem!important}.llb-grid--count-1 .llb-card__subtitle{font-size:11px}.llb-grid--count-1 .llb-card__tags{margin-top:11px}}@media(max-width:360px){.llb-shelf{padding-left:17px;padding-right:17px}.llb-grid{gap:29px 12px}.llb-grid--count-1 .llb-card{grid-template-columns:minmax(112px,40%) minmax(0,1fr);gap:14px}.llb-card h3{font-size:.88rem!important}}

/* v0.1.5 — real book-cover shelf + two display modes */
.llb-shelf__bar-side{display:flex;align-items:center;gap:14px}
.llb-view-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55)}
.llb-view-switch button{appearance:none;border:0;background:transparent;color:#758080;font-size:10px;line-height:1;padding:7px 10px;border-radius:999px;cursor:pointer}
.llb-view-switch button.is-active{background:var(--forest);color:#fff}
.llb-shelf__count{padding-bottom:0}

/* 表紙表示：Amazonの本一覧のように、表紙を主役にする */
.llb-grid.llb-grid--view-cover{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 24px}
.llb-grid--view-cover .llb-card{display:block;min-width:0}
.llb-grid--view-cover .llb-card__cover{aspect-ratio:2/3;border-radius:4px;box-shadow:0 12px 25px rgba(22,37,38,.10),-2px 0 0 rgba(255,255,255,.12) inset;overflow:hidden;background:#0b1b25}
.llb-grid--view-cover .llb-card__cover:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:7px;background:linear-gradient(90deg,rgba(0,0,0,.20),rgba(255,255,255,.08),transparent);opacity:.45;pointer-events:none}
.llb-grid--view-cover .llb-card__cover:after{background:linear-gradient(90deg,rgba(0,0,0,.09),transparent 9%,transparent 100%)}
.llb-grid--view-cover .llb-card__cover img{object-fit:cover}
.llb-grid--view-cover .llb-card__no{display:none}
.llb-grid--view-cover .llb-card__body{padding-top:12px!important}
.llb-grid--view-cover .llb-card__index{margin-bottom:5px}
.llb-grid--view-cover .llb-card h3{font-size:.98rem!important;line-height:1.52!important;margin-bottom:0!important}
.llb-grid--view-cover .llb-card__subtitle,
.llb-grid--view-cover .llb-card__blurb,
.llb-grid--view-cover .llb-card__tags{display:none}

/* リスト表示：表紙＋説明。検索結果を内容で選びたい時用 */
.llb-grid.llb-grid--view-list{display:block}
.llb-grid--view-list .llb-card{display:grid;grid-template-columns:124px minmax(0,1fr)!important;gap:22px;align-items:start;padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--line)}
.llb-grid--view-list .llb-card:last-child{margin-bottom:0}
.llb-grid--view-list .llb-card__cover{aspect-ratio:2/3;border-radius:4px;box-shadow:0 8px 18px rgba(22,37,38,.08)}
.llb-grid--view-list .llb-card__no{display:none}
.llb-grid--view-list .llb-card__body{padding-top:4px!important}
.llb-grid--view-list .llb-card__index{margin-bottom:7px}
.llb-grid--view-list .llb-card h3{font-size:1.16rem!important;line-height:1.5!important;margin-bottom:8px!important}
.llb-grid--view-list .llb-card__subtitle{font-size:11px;line-height:1.65;margin:0 0 8px;color:#667473}
.llb-card__blurb{display:none;font-size:11px;line-height:1.75;color:#768281;margin:0}
.llb-grid--view-list .llb-card__blurb{display:block}
.llb-grid--view-list .llb-card__tags{margin-top:12px}

/* 1冊の時も横長カードにせず、棚の最初の一冊として置く */
.llb-grid--view-cover.llb-grid--count-1{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:900px){
  .llb-grid.llb-grid--view-cover,.llb-grid--view-cover.llb-grid--count-1{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .llb-shelf__bar{align-items:center}
  .llb-shelf__bar-side{gap:9px}
  .llb-view-switch button{font-size:9px;padding:6px 8px}
  .llb-grid.llb-grid--view-cover,.llb-grid--view-cover.llb-grid--count-1{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .llb-grid--view-cover .llb-card{display:block}
  .llb-grid--view-cover .llb-card__cover{border-radius:4px;box-shadow:0 9px 20px rgba(22,37,38,.09)}
  .llb-grid--view-cover .llb-card__body{padding-top:9px!important}
  .llb-grid--view-cover .llb-card h3{font-size:.88rem!important;line-height:1.48!important}
  .llb-grid--view-list .llb-card{grid-template-columns:92px minmax(0,1fr)!important;gap:15px;padding-bottom:21px;margin-bottom:21px}
  .llb-grid--view-list .llb-card h3{font-size:1rem!important;line-height:1.5!important}
  .llb-grid--view-list .llb-card__subtitle{font-size:10px}
  .llb-grid--view-list .llb-card__blurb{font-size:10px;line-height:1.65}
}
@media(max-width:360px){
  .llb-grid.llb-grid--view-cover,.llb-grid--view-cover.llb-grid--count-1{gap:28px 12px}
  .llb-view-switch{display:none}
}
\n\n/* v0.1.6 — tighter SWELL spacing + cleaner horizontal filters */\n.llb-filters-wrap{position:relative;min-width:0}\n.llb-filters-wrap::before,.llb-filters-wrap::after{content:"";position:absolute;z-index:4;top:8px;bottom:0;width:30px;pointer-events:none;opacity:0;transition:opacity .18s ease}\n.llb-filters-wrap::before{left:0;background:linear-gradient(90deg,var(--paper) 22%,rgba(251,250,247,0))}\n.llb-filters-wrap::after{right:0;background:linear-gradient(270deg,var(--paper) 22%,rgba(251,250,247,0))}\n.llb-filters-wrap.has-overflow:not(.is-at-end)::after{opacity:1}\n.llb-filters-wrap.is-scrolled::before{opacity:1}\n.llb-filters{scroll-padding-left:4px;scroll-padding-right:34px;padding-right:32px}\n@media(max-width:640px){\n  .llb-shelf__head{padding-top:0}\n  .llb-shelf__crumb{margin-bottom:20px}\n  .llb-shelf__tools{margin-top:16px}\n  .llb-filters-wrap::before,.llb-filters-wrap::after{width:34px}\n}\n
/* v0.1.8: filtering must win over view-mode display rules. */
.llb-grid .llb-card[hidden]{display:none!important}

/* v0.1.9: filtered cards are always removed from layout, regardless of view/theme CSS. */
.llb-card[hidden]{display:none!important}

/* v0.2.0 — research lab parent link */
.llb-shelf__crumb a{color:inherit;text-decoration:none}.llb-shelf__crumb a:hover{text-decoration:underline}
