body{background:var(--bg)}.lib-head{padding:46px 0 0}.lib-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.lib-top h1{font-size:clamp(1.9rem,3.2vw,2.65rem);font-weight:800;letter-spacing:-.03em;line-height:1.04;margin:0 0 8px;color:var(--fg-1)}.lib-top .sub{font-size:17px;color:var(--fg-2);line-height:1.5;margin:0;max-width:46ch}.lib-meta{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-3);display:flex;align-items:center;gap:9px;white-space:nowrap;padding-bottom:4px}.lib-meta .pip{width:7px;height:7px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 4px var(--accent-soft)}.lib-search{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:16px 24px;box-shadow:var(--shadow-sm);margin-top:30px;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.lib-search:focus-within{border-color:var(--green-400);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-sm)}.lib-search svg{width:21px;height:21px;color:var(--fg-3);flex:none}.lib-search input{border:none;outline:none;font-family:var(--font-sans);font-size:16px;color:var(--fg-1);width:100%;background:none}.lib-search input::placeholder{color:var(--fg-3)}.lib-search .clear{flex:none;display:none;background:var(--bg-sunken);border:none;color:var(--fg-2);cursor:pointer;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center}.lib-search .clear svg{width:15px;height:15px}.lib-search.has-q .clear{display:inline-flex}.lib-controls{align-items:flex-start;gap:16px 24px;margin-top:18px}.filters,.lib-controls{display:flex;flex-wrap:wrap}.filters{gap:10px;flex:1 1 auto;min-width:0;padding:2px 0;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{flex:none;font-size:14px;font-weight:500;border-radius:var(--r-pill);padding:9px 17px;border:1px solid var(--border);color:var(--fg-2);background:var(--surface);cursor:pointer;white-space:nowrap;scroll-snap-align:start;transition:all var(--dur) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--fg-1)}.chip.on{background:var(--fg-1);color:var(--fg-inverse);border-color:var(--fg-1)}.chip .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green-500);margin-right:7px;vertical-align:middle}.chip.on .dot{background:var(--green-300)}.sortby{flex:none;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;color:var(--fg-3);padding-top:8px}.sortby svg{width:16px;height:16px}.sortby select{font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--fg-1);background:none;border:none;outline:none;cursor:pointer;padding:4px 2px}.lib-rule{border:none;border-top:1px solid var(--border);margin:8px 0 0}.shelves{padding:14px 0 40px}.shelf{margin-top:42px}.shelf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px}.shelf-tt .eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--tint-green-fg);margin-bottom:9px;display:flex;align-items:center;gap:8px}.shelf-tt .eyebrow svg{width:14px;height:14px}.shelf-tt h2{font-size:21px;font-weight:700;letter-spacing:-.025em;margin:0 0 4px;color:var(--fg-1)}.shelf-tt .supp{font-size:14.5px;color:var(--fg-3);margin:0;line-height:1.45}.shelf-act{display:flex;align-items:center;gap:14px;flex:none;padding-bottom:2px}.viewall{font-size:14px;font-weight:600;color:var(--accent-hover);display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:none;border:none;font-family:var(--font-sans);transition:gap var(--dur) var(--ease-out)}.viewall svg{width:15px;height:15px}.viewall:hover{gap:9px}.shelf-arrows{display:flex;gap:8px}.sa{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--fg-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--dur) var(--ease-out)}.sa:hover{border-color:var(--fg-1);color:var(--fg-1)}.sa:disabled{opacity:.32;cursor:default;border-color:var(--border);color:var(--fg-3)}.sa svg{width:18px;height:18px}.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;margin:-6px -2px 0;scrollbar-width:none}.track::-webkit-scrollbar{display:none}.card{flex:0 0 clamp(258px,76vw,318px);scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 22px 18px;cursor:pointer;display:flex;flex-direction:column;min-height:228px;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.cat-pill{font-family:var(--font-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border-radius:6px;color:var(--tint-green-fg);background:var(--tint-green-bg)}.cat-pill.blue{color:var(--tint-blue-fg);background:var(--tint-blue-bg)}.cat-pill.violet{color:var(--tint-violet-fg);background:var(--tint-violet-bg)}.cat-pill.amber{color:var(--tint-amber-fg);background:var(--tint-amber-bg)}.cat-pill.teal{color:var(--tint-teal-fg);background:var(--tint-teal-bg)}.cat-pill.rose{color:var(--tint-rose-fg);background:var(--tint-rose-bg)}.cat-pill.slate{color:var(--tint-slate-fg);background:var(--tint-slate-bg)}.cat-pill.orange{color:var(--tint-orange-fg);background:var(--tint-orange-bg)}.cat-pill.cyan{color:var(--tint-cyan-fg);background:var(--tint-cyan-bg)}.card h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.22;margin:0 0 9px;color:var(--fg-1);text-wrap:pretty}.card .sum{font-size:14px;color:var(--fg-2);line-height:1.5;margin:0 0 16px;text-wrap:pretty}.card-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:13px;display:flex;align-items:center;gap:10px}.card-foot .n{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-foot .arrow{margin-left:auto;color:var(--accent);transition:transform var(--dur) var(--ease-out);font-size:15px}.card:hover .arrow{transform:translateX(4px)}.card-badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:999px}.badge svg{width:11px;height:11px}.badge.relevant{color:var(--tint-green-fg);background:var(--tint-green-bg);border:1px solid rgba(31,203,128,.24)}.badge.featured{color:var(--tint-amber-fg);background:var(--tint-amber-bg);border:1px solid rgba(255,177,61,.3)}.badge.strength{color:var(--tint-blue-fg);background:var(--tint-blue-bg);border:1px solid rgba(46,127,230,.2)}.badge.detail{color:var(--fg-3);background:var(--bg-subtle);border:1px solid var(--border)}.shelf.relevant{background:linear-gradient(115deg,var(--accent-soft) 0,transparent 60%);border:1px solid rgba(31,203,128,.22);border-radius:var(--r-2xl);padding:26px 26px 8px;margin-top:34px}.shelf.relevant .shelf-head{margin-bottom:16px}.shelf.relevant .track{padding-bottom:18px}.results{padding:18px 0 60px}.res-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:6px 0 24px}.res-head h2{font-size:21px;font-weight:700;letter-spacing:-.025em;margin:0;color:var(--fg-1)}.res-head .c{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-3)}.res-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.res-grid .card{flex:none;width:auto}.res-empty{text-align:center;padding:60px 20px;color:var(--fg-3)}.res-empty svg{width:34px;height:34px;margin-bottom:14px;color:var(--n-300)}[data-theme=dark] .res-empty svg{color:var(--fg-3)}.res-empty p{font-size:16px;margin:0}.pager{display:flex;gap:5px;margin-top:40px;flex-wrap:wrap}.pager,.pager a,.pager span.btn-pg{align-items:center;justify-content:center}.pager a,.pager span.btn-pg{min-width:42px;height:42px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--fg-2);cursor:pointer;display:inline-flex;gap:7px;transition:all var(--dur) var(--ease-out)}.pager a:hover{border-color:var(--fg-1);color:var(--fg-1)}.pager .on{background:var(--fg-1);color:var(--fg-inverse);border-color:var(--fg-1);cursor:default}.pager .disabled{opacity:.38;cursor:default;pointer-events:none}.pager svg{width:15px;height:15px}.pager .sep{color:var(--n-300);padding:0 1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-theme=dark] .pager .sep{color:var(--fg-3)}@media(max-width:760px){.res-grid{grid-template-columns:1fr 1fr}.shelf-arrows{display:none}.lib-meta{padding-bottom:0}.filters{flex-wrap:wrap;gap:8px;padding:2px 0}.chip{flex:0 0 auto;font-size:13px;padding:8px 14px}}@media(max-width:520px){.res-grid{grid-template-columns:1fr}.lib-controls{flex-direction:column;align-items:stretch;gap:12px}.sortby{align-self:flex-end;padding-top:0}}