/* Library page: the original's library look (DESIGN_PARITY.md) on the shell's shared parts (styles.css STANDARDS:
   .page-head, .stat-strip, .seg, .table-wrap, .card, .empty / .state-panel, .btn, App.loader). This file holds only the
   library's own parts, in tokens (dark mode = <html data-theme="dark">) and the 11/12/13/15/17/20/26/32 type scale.
   The ad card, ad panel, meter and skeletons here are also used by the Fresh Ads page (.frq). */

/* ---------- local aliases of the shell's tokens ---------- */
:is(.lib,.frq,.lib-modal){
  --lx-head:var(--font-heading,"Bricolage Grotesque",system-ui,sans-serif);
  --lx-body:var(--font-body,Geist,system-ui,sans-serif);
  --lx-s1:var(--surface-1,var(--surface));
  --lx-overlay:var(--overlay,var(--surface));
  --lx-acc-text:var(--accent-text,var(--accent));
  --lx-shadow-card:var(--shadow-card,0 1px 2px rgba(28,18,10,.08));
  --lx-shadow-lift:var(--shadow-lift,0 12px 24px -6px rgba(28,18,10,.12));
  --lx-shadow-overlay:var(--shadow-overlay,0 20px 48px -12px rgba(28,18,10,.18));
  --lx-shadow-inset:var(--shadow-inset,inset 0 1px 2px 0 rgba(28,18,10,.08));
  --lx-ease:var(--ease-out,cubic-bezier(.16,1,.3,1));
  --lx-fast:var(--dur-fast,140ms);--lx-base:var(--dur-base,220ms);
  --lx-pos:var(--positive,#247849);--lx-neg:var(--negative,#bb3636);--lx-warn:var(--warning,#986316);
  font-family:var(--lx-body);color:var(--text)}
/* links take their colour from their own class (zero-specificity base, so a class always wins) */
:where(.lib,.frq,.lib-modal) a{color:inherit}
:is(.lib,.frq) .chip small{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}

/* save to collection: the card's bare bookmark (the labelled one is a shell .btn: secondary, soft once saved) */
.lib-save svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lib-save.on svg{fill:currentColor}
.lib-save.btn.on svg{color:var(--accent)}
.lib-save:disabled{opacity:.7;cursor:progress}
.lib-save.icon{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--lx-fast) var(--lx-ease),color var(--lx-fast) var(--lx-ease)}
.lib-save.icon svg{width:15px;height:15px;stroke-width:1.8}
.lib-save.icon:hover{background:var(--surface-2);color:var(--text)}
.lib-save.icon.on{color:var(--accent)}
.lib-save.icon.on:hover{background:var(--accent-soft)}

/* ---------- loading: skeletons in the shape of what is coming (the page-level loader is the shell's App.loader) ---------- */
@keyframes lib-pulse{0%,100%{opacity:.55}50%{opacity:1}}
.lib-skels{display:contents}
.lib-skel{border-radius:16px;background:color-mix(in oklab,var(--text) 5%,transparent);animation:lib-pulse 1.6s ease-in-out infinite both}
.lib-skel-grp{height:58px;border-radius:12px}.lib-skel-adv{height:150px}.lib-skel-row{height:52px;border-radius:12px}
.lib-skel-row+.lib-skel-row{margin-top:8px}
.lib-grid>.lib-skels>.lib-skel{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:132px 88px 38px;overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow)}
.lib-skel-img{background:color-mix(in oklab,var(--text) 7%,transparent)}
.lib-skel-b{display:flex;flex-direction:column;gap:10px;padding:18px 16px 0}
.lib-skel-b i{display:block;height:9px;border-radius:5px;background:color-mix(in oklab,var(--text) 10%,transparent)}
.lib-skel-b .a{width:42%}.lib-skel-b .b{width:84%;height:11px;background:color-mix(in oklab,var(--accent) 26%,transparent)}.lib-skel-b .c{width:62%}
.lib-skel-f{grid-column:1/-1;grid-row:2/4;border-top:1px solid var(--border);background:var(--surface-2)}
@media (prefers-reduced-motion:reduce){.lib-skel{animation:none}}

/* ---------- page frame ---------- */
.lib{max-width:1320px}
.lib .page-title{max-width:1000px}
.lib-strip{margin:0 0 24px}
.lib-strip .stat-value a{color:var(--text);text-decoration:none}
.lib-strip .stat-value a:hover{color:var(--lx-acc-text)}
.lib-strip-adv .stat:first-child .stat-value small{color:var(--text-muted)}
.lib-lbl{margin:0;font:600 12px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-advh{display:inline-flex;align-items:center;gap:12px;max-width:100%}
.lib-advh>span:last-child{min-width:0;overflow-wrap:anywhere}
.lib .page-sub a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.lib .page-sub a:hover{text-decoration-color:var(--accent)}

/* the letter tiles (no third-party favicon requests) */
.lib-fav,.lib-advlogo,.lib-sg-logo{display:inline-grid;place-items:center;flex:none;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font:600 11px/1 var(--lx-body)}
.lib-fav{width:16px;height:16px;border-radius:4px}
.lib-advlogo{width:24px;height:24px;border-radius:6px}
.lib-advlogo.lg{width:36px;height:36px;border-radius:10px;font:600 15px/1 var(--lx-body)}
.lib-sg-logo{width:100%;height:100%;border:0;border-radius:6px;background:transparent;font-size:12px}

/* states: the shell's .empty / .state-panel; actions in one row */
.lib-state{margin:0}
.lib-state p{margin:4px 0 0;font-size:13px;line-height:1.55;max-width:64ch}
.lib-state .lib-state-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.lib-tree .lib-state{margin-top:4px}

/* meter */
.lib-meter{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}
.lib-meter>span{display:block;height:100%;border-radius:999px;background:var(--accent)}

/* ---------- search ---------- */
.lib-bar{position:relative;margin:0 0 28px}
.lib-form{display:flex;gap:8px}
.lib-search{position:relative;flex:1;min-width:0}
.lib-search>svg{position:absolute;left:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.lib-search .field{padding-left:40px;padding-right:42px;-webkit-appearance:none;appearance:none}
.lib-search .field::-webkit-search-cancel-button,.lib-search .field::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.lib-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}
.lib-clear:hover{background:var(--surface-2);color:var(--text)}
.lib-clear svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lib-form .btn{min-height:44px;padding-inline:18px}
.lib-sugg{position:absolute;z-index:30;top:calc(100% + 8px);left:0;right:0;max-width:640px;border:1px solid var(--border);border-radius:16px;background:var(--lx-overlay);box-shadow:var(--lx-shadow-overlay);overflow:hidden}
.lib-sg-list{max-height:min(420px,52vh);overflow-y:auto;overscroll-behavior:contain;padding:8px}
.lib-sg+.lib-sg{margin-top:4px}
.lib-sg-h{margin:0;padding:8px 12px 4px;font:600 12px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-sg-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text);transition:background var(--lx-fast) var(--lx-ease)}
.lib-sg-row:hover{background:var(--surface-2)}
.lib-sg-row:focus-visible{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}
.lib-sg-ic{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-muted)}
.lib-sg-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lib-sg-row:focus-visible .lib-sg-ic{border-color:color-mix(in oklab,var(--accent) 30%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}
.lib-sg-tx{display:flex;flex-direction:column;min-width:0;flex:1}
.lib-sg-tx>span{font:400 15px/1.4 var(--lx-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-sg-tx small{font:400 13px/1.4 var(--lx-body);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-sg-go{flex:none;font-size:13px;color:var(--lx-acc-text);opacity:0}
.lib-sg-row:focus-visible .lib-sg-go{opacity:1}
.lib-sg-none{margin:0;padding:24px 16px;text-align:center;font:400 13px/1.5 var(--lx-body);color:var(--text-muted)}
.lib-sg-all{display:flex;align-items:center;gap:6px;padding:11px 16px;border-top:1px solid var(--border);background:color-mix(in oklab,var(--surface-2) 50%,transparent);font:500 13px/1.4 var(--lx-body);color:var(--lx-acc-text);text-decoration:none}
.lib-sg-all:hover,.lib-sg-all:focus-visible{background:var(--accent-soft)}
.lib-active{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lib-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font:400 13px/1.4 var(--lx-body);color:var(--text-muted);text-decoration:none;transition:color var(--lx-fast) var(--lx-ease),border-color var(--lx-fast) var(--lx-ease),background var(--lx-fast) var(--lx-ease)}
.lib-chip:hover{color:var(--text);border-color:var(--border-strong)}
.lib-chip small{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}
.lib-chip.on{color:var(--text);border-color:color-mix(in oklab,var(--accent) 40%,var(--border));background:var(--accent-soft)}
.lib-chip.on b{font-weight:500}
.lib-chip i{font-style:normal;color:var(--text-muted);margin-left:2px}
.lib-quick{display:flex;flex-direction:column;gap:10px;margin:-12px 0 24px}
.lib-quick:empty{display:none}
/* search with no exact match: what is closest, and live ads for the words (pages/library.js noExact) */
#lbFallback:not(:empty){margin:0 0 24px}
.lib-fb-near{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.lib-fb .lib-state-a .btn-primary{white-space:normal;text-align:left}
.lib-tier-h{grid-column:1/-1;margin:12px 0 0;padding-top:16px;border-top:1px solid var(--border);font:600 13px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-tier-h.first{margin-top:0;padding-top:0;border-top:0}
.lib-brand.none{color:var(--text-muted);padding-left:10px}
/* a pasted URL or one very long word in the query must wrap, never widen the page (375 px review, 2026-10-26) */
.lib .page-title,.lib .page-sub,.lib-state h3,.lib-state p,.lib-state .btn,.lib-brand span,.lib-brands .chip,.lib-tier-h,.lib-sg-tx,.lib-count{overflow-wrap:anywhere;min-width:0}
.lib-fb,.lib-quick,.lib-brands{min-width:0;max-width:100%}
.lib-brands{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lib-brands .lib-lbl{margin-right:4px}
.lib-brand{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font:400 13px/1.4 var(--lx-body);color:var(--text);text-decoration:none}
.lib-brand:hover{border-color:var(--border-strong)}
.lib-brand small{color:var(--text-muted);font-variant-numeric:tabular-nums}

/* ---------- sections ---------- */
.lib-sec{margin-top:40px}
.lib-sec-first{margin-top:4px}
.lib-sec-h{flex-wrap:wrap}
.lib-count{font:400 13px/1.5 var(--lx-body);color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-countrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:20px}
.lib-countrow .lib-count{margin-left:auto}
.lib-note{margin:0 0 16px;max-width:72ch;font:400 13px/1.55 var(--lx-body);color:var(--text-muted)}
.lib-body{margin-top:20px}
.lib-link{border:0;background:none;padding:4px 6px;font:500 13px/1.4 var(--lx-body);color:var(--lx-acc-text);cursor:pointer;border-radius:6px}
.lib-link:hover{background:var(--accent-soft)}
.lib-link-in{padding:2px 4px;margin-left:-4px}
.lib-sel{display:inline-flex;align-items:center;gap:10px}
.lib-sel select{max-width:min(360px,70vw)}

/* browse by industry: groups as the original's disclosure rows; industries only inside an opened group */
.lib-grps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;align-items:start}
.lib-grp{border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color var(--lx-fast) var(--lx-ease),box-shadow var(--lx-fast) var(--lx-ease)}
.lib-grp:hover{border-color:var(--border-strong)}
.lib-grp[open]{border-color:color-mix(in oklab,var(--accent) 18%,var(--border-strong));box-shadow:var(--card-shadow)}
.lib-grp summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 12px 10px 16px;cursor:pointer;list-style:none;border-radius:12px}
.lib-grp summary::-webkit-details-marker{display:none}
.lib-grp-t{display:flex;flex-direction:column;min-width:0}
.lib-grp-t b{font:600 15px/1.35 var(--lx-head);letter-spacing:-.01em;color:var(--text)}
.lib-grp-t small{font:400 13px/1.4 var(--lx-body);color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-grp-ic{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);transition:transform .26s var(--lx-ease),color var(--lx-fast) var(--lx-ease),background var(--lx-fast) var(--lx-ease)}
.lib-grp-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lib-grp[open] .lib-grp-ic{transform:rotate(45deg);color:var(--accent);background:var(--accent-soft)}
.lib-grp-b{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px 16px 16px;border-top:1px solid var(--border)}
.lib-tree-more{margin-top:12px}

/* tabs: the shell's segmented control (.seg) with links; counts faint */
.lib-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px;white-space:nowrap;border-radius:9px;font:500 13px/1.3 var(--lx-body);color:var(--text-faint);text-decoration:none;transition:color var(--lx-fast) var(--lx-ease)}
.lib-tabs a:hover:not(.on){color:var(--text-muted)}
.lib-tabs a.on{color:var(--text);background:var(--surface);box-shadow:var(--shadow-card)}
:root[data-theme=dark] .lib-tabs a.on{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-strong)}
.lib-tab-n{font:400 12px/1 var(--lx-body);color:var(--text-faint);font-variant-numeric:tabular-nums}
.lib-subs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-8px 0 20px}
.lib-subs .lib-lbl{margin-right:6px}

/* ---------- ad cards (the original's ChatGptAdUnit + TriggeringPrompt + CaptureMeta) ---------- */
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,calc((100% - 40px) / 3))),1fr));gap:20px}
.lib-item{min-width:0;display:flex}
/* hover like the shell's .card.clickable: border + lift shadow, no movement */
.lib-card{position:relative;display:flex;flex-direction:column;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--card-shadow);cursor:pointer;text-align:left;transition:border-color var(--lx-base) var(--lx-ease),box-shadow var(--lx-base) var(--lx-ease)}
.lib-card:hover{border-color:var(--border-strong);box-shadow:var(--lx-shadow-lift)}
.lib-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.lib-u{display:flex;align-items:stretch;height:132px;min-width:0}
.lib-u.x{height:auto;min-height:132px}
.lib-u-img{position:relative;display:grid;place-items:center;flex:0 0 132px;width:132px;align-self:stretch;overflow:hidden;background:var(--surface-2)}
.lib-u-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lib-u-mono{font:700 26px/1 var(--lx-head);color:var(--text-muted);-webkit-user-select:none;user-select:none}
/* text starts at the top of the unit (not centred) */
.lib-u-b{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;flex:1;min-width:0;padding:14px 16px 12px}
.lib-u.x .lib-u-b{padding-block:16px}
.lib-u-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}
.lib-u-adv{display:flex;align-items:center;gap:6px;min-width:0}
.lib-u-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 13px/1.5 var(--lx-body);color:var(--text-muted);text-decoration:none}
a.lib-u-name:hover,.lib-card:hover .lib-u-name{color:var(--lx-acc-text)}
.lib-u-tag{display:flex;align-items:center;gap:4px;flex:none}
.lib-u-tag .lib-save.icon{margin:-4px -8px -4px 0}
.lib-u-tag>span{padding:1px 6px;border-radius:4px;background:var(--surface-2);font:600 11px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-u-t{margin:0;font:500 15px/1.4 var(--lx-body);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-u.x .lib-u-t{white-space:normal;font:600 17px/1.35 var(--lx-head);letter-spacing:-.01em}
.lib-u-d{margin:0;font:400 13px/1.5 var(--lx-body);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lib-u.x .lib-u-d{display:block;font-size:15px;line-height:1.55}
.lib-tp{display:flex;flex-direction:column;justify-content:center;height:88px;margin-top:auto;padding:0 16px;border-top:1px solid var(--border);background:var(--surface-2)}
.lib-tp .lib-lbl{margin-bottom:4px}
.lib-tp-q{margin:0;font:400 13px/1.5 var(--lx-body);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lib-tp-none{margin:0;font:400 13px/1.5 var(--lx-body);color:var(--text-muted)}
.lib-cm{display:flex;align-items:center;justify-content:space-between;gap:8px;height:38px;margin-top:auto;padding:0 16px;border-top:1px solid var(--border)}
.lib-tp+.lib-cm{margin-top:0}
.lib-cm-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 13px/1.5 var(--lx-body);color:var(--text-muted)}
.lib-cm-l b{font-weight:500;color:var(--text)}
.lib-loc{display:inline-flex;align-items:center;gap:6px;flex:none;padding:1px 8px;border:1px solid var(--border);border-radius:999px;font:400 12px/1.5 var(--lx-body);color:var(--text-muted);white-space:nowrap}
.lib-loc svg{width:11px;height:11px;fill:none;stroke:var(--text-muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* load more */
.lib-more{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:28px}
.lib-more:empty{display:none}
.lib-more-s{margin:0;font:500 12px/1.4 var(--lx-body);color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-err{color:var(--lx-neg)}

/* ---------- advertiser cards (.card.compact.clickable) ---------- */
.lib-advgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,calc((100% - 32px) / 3))),1fr));gap:16px}
.lib-advc{display:flex;flex-direction:column;gap:14px;min-width:0;text-decoration:none}
.lib-advc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.lib-advc-n{display:flex;align-items:center;gap:10px;min-width:0}
.lib-advc-n b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 17px/1.35 var(--lx-head);letter-spacing:-.01em;color:var(--text);transition:color var(--lx-fast) var(--lx-ease)}
.lib-advc-ads{flex:none;font:400 13px/1.4 var(--lx-body);color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-advc:hover .lib-advc-n b,.lib-advc:hover .lib-advc-go{color:var(--lx-acc-text)}
.lib-advc-num{display:flex;align-items:baseline;gap:8px}
.lib-advc-num b{font:600 26px/1.15 var(--lx-head);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.lib-advc-num small{font:400 13px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-advc-go{display:inline-flex;align-items:center;gap:6px;font:400 13px/1.5 var(--lx-body);color:var(--text-muted);transition:color var(--lx-fast) var(--lx-ease)}

/* ---------- tables (.table-wrap from the shell) ---------- */
.lib-table .r{text-align:right}
.lib-table td{color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-tname{color:var(--text);font-weight:500;text-decoration:none}
.lib-tname:hover{color:var(--lx-acc-text)}
.lib-mrow{display:flex;align-items:center;gap:10px;min-width:160px}
.lib-mrow .lib-meter{flex:1}
.lib-mv{width:56px;text-align:right;color:var(--text-muted)}

/* ---------- prompts ---------- */
.lib-prompts{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.lib-prompts:has(>.lib-skel),.lib-prompts:empty{border:0;background:none}
.lib-pr{padding:12px 16px}
.lib-pr+.lib-pr{border-top:1px solid var(--border)}
.lib-pr-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lib-pr-q{min-width:0;font:400 15px/1.55 var(--lx-body);color:var(--text);text-decoration:none}
.lib-pr-q:hover{color:var(--lx-acc-text)}
.lib-pr-m{display:flex;align-items:center;gap:8px;flex:none}
.lib-pr-none{font:500 12px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-pr-ads{display:none;margin:10px 0 2px;padding:10px 0 0;border-top:1px dashed var(--border);list-style:none}
.lib-pr.open .lib-pr-ads{display:grid;gap:6px}
.lib-pr-ads li{display:flex;align-items:baseline;gap:10px;min-width:0;font:400 13px/1.5 var(--lx-body);color:var(--text-muted)}
.lib-pr-adv{display:inline-flex;align-items:center;gap:6px;flex:none;font-weight:500;color:var(--text);text-decoration:none}
.lib-pr-adv:hover{color:var(--lx-acc-text)}
.lib-pr-adv .lib-fav{align-self:center}
.lib-pr-more{color:var(--text-muted)}
.lib-toggle{display:inline-flex;align-items:center;gap:8px;font:400 13px/1.4 var(--lx-body);color:var(--text-muted);cursor:pointer}
.lib-toggle input{width:16px;height:16px;accent-color:var(--accent)}

/* ---------- context hints (.card.compact) ---------- */
.lib-hints{display:grid;gap:12px}
.lib-hint-m{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lib-conf{display:inline-flex;align-items:center;padding:2px 8px;border-radius:8px;font:600 12px/1.5 var(--lx-body)}
.lib-conf.c-strong{background:color-mix(in oklab,var(--lx-pos) 12%,transparent);color:var(--lx-pos)}
.lib-conf.c-moderate{background:var(--accent-soft);color:var(--lx-acc-text)}
.lib-conf.c-weak{background:color-mix(in oklab,var(--lx-warn) 12%,transparent);color:var(--lx-warn)}
.lib-conf.c-low{background:var(--surface-2);color:var(--text-muted)}
.lib-hint-ev{font:400 12px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-hint-t{margin:12px 0 0;font:400 15px/1.6 var(--lx-body);color:var(--text)}
.lib-hint-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 20px;margin:16px 0 0}
.lib-hint-f dt{font:600 12px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-hint-f dd{margin:2px 0 0;font:400 13px/1.5 var(--lx-body);color:var(--text)}
.lib-hint-p{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.lib-hint-p ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.lib-hint-p li a{font:400 13px/1.5 var(--lx-body);color:var(--text-muted);text-decoration:none}
.lib-hint-p li a:hover{color:var(--lx-acc-text)}

/* triggering prompt box (the ad panel) */
.lib-tpbox{padding:16px 18px;border:1px solid color-mix(in oklab,var(--accent) 20%,transparent);border-radius:14px;background:var(--accent-soft)}
.lib-tpbox .lib-lbl{margin-bottom:6px}
.lib-tpbox p:not(.lib-lbl){margin:0;font:400 15px/1.6 var(--lx-body);color:var(--text)}
.lib-tpbox p+p:not(.lib-lbl),.lib-tp-more p:not(.lib-lbl){margin-top:6px}
.lib-tp-more{margin-top:6px}
.lib-tpbox a{color:var(--text);text-decoration:none}
.lib-tpbox a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.lib-tpbox .lib-link{margin-top:8px}
.lib-tpbox.none{background:var(--surface-2);border-color:var(--border)}
.lib-tpbox.none p:not(.lib-lbl){color:var(--text-muted)}

/* ---------- ad panel: the original's ad lightbox, toolbar sticky at the top ---------- */
.lib-scrim{position:fixed;inset:0;z-index:80;background:color-mix(in oklab,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity var(--dur-fast,140ms) ease}
.lib-scrim.open{opacity:1}
.lib-drawer.lib-modal{position:fixed;z-index:81;left:50%;top:50%;width:min(672px,calc(100vw - 32px));max-height:85vh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:16px;background:var(--lx-overlay);box-shadow:var(--lx-shadow-overlay);opacity:0;transform:translate(-50%,calc(-50% + 30px)) scale(.98);transition:opacity var(--lx-base) var(--lx-ease),transform var(--lx-base) var(--lx-ease)}
.lib-drawer.lib-modal.open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.lib-dtop{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 12px 10px 24px;border-bottom:1px solid var(--border);background:var(--lx-overlay)}
.lib-dpos{margin-right:auto;font:400 13px/1.4 var(--lx-body);color:var(--text-muted);font-variant-numeric:tabular-nums}
.lib-ib{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background var(--lx-fast) var(--lx-ease),color var(--lx-fast) var(--lx-ease)}
.lib-ib:hover{background:var(--surface-2);color:var(--text)}
.lib-ib:disabled{opacity:.4;pointer-events:none}
.lib-ib[aria-busy=true]{opacity:.6;cursor:progress}
.lib-ib svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lib-dunit{border-bottom:1px solid var(--border)}
.lib-dunit .lib-u-img{flex-basis:160px;width:160px}
.lib-dbody{display:grid;gap:20px;padding:20px 24px 24px}
.lib-df .lib-lbl{margin-bottom:4px}
.lib-df-v{font:400 15px/1.6 var(--lx-body);color:var(--text-muted);overflow-wrap:anywhere}
.lib-df-v a{color:var(--text);text-decoration:none}.lib-df-v a:hover{color:var(--lx-acc-text)}
.lib-dfacts{display:flex;flex-wrap:wrap;gap:16px 40px}
.lib-dlinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.lib-dl{margin-left:4px;font:400 13px/1.5 var(--lx-body);color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.lib-dl:hover{color:var(--text);text-decoration-color:currentColor}
.lib-related{padding-top:16px;border-top:1px solid var(--border)}
.lib-mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.lib-mini{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--text);transition:border-color var(--lx-fast) var(--lx-ease)}
.lib-mini:hover{border-color:var(--border-strong)}
.lib-mini-img{position:relative;display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:8px;overflow:hidden;background:var(--surface-2);font:700 15px/1 var(--lx-head);color:var(--text-muted)}
.lib-mini-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lib-mini-t{display:flex;flex-direction:column;min-width:0}
.lib-mini-t b{font:500 13px/1.4 var(--lx-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lib-mini-t small{font:400 12px/1.4 var(--lx-body);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-dload{margin:0;padding:0 24px 18px;font:400 13px/1.4 var(--lx-body);color:var(--text-muted)}
.lib-modal .cdl{min-height:0;padding:32px 0}

/* ---------- narrow screens ---------- */
@media (max-width:900px){
  .lib-grps{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .lib-sec{margin-top:32px}
  .lib-sec-first{margin-top:4px}
  .lib-u-img,.lib-dunit .lib-u-img{flex-basis:112px;width:112px}
  .lib-u{height:120px}
  .lib-grid>.lib-skels>.lib-skel{grid-template-columns:112px minmax(0,1fr);grid-template-rows:120px 88px 38px}
  .lib-drawer.lib-modal{width:calc(100vw - 24px);max-height:88vh}
  .lib-dtop{padding:8px 8px 8px 16px}
  .lib-dbody{padding:16px}
  .lib-dload{padding:0 16px 16px}
  .lib-mgrid{grid-template-columns:minmax(0,1fr)}
  .lib-pr-hd{flex-direction:column;gap:6px}
  .lib-form .btn{padding-inline:14px}
  .lib .page-actions:has(.btn-primary){width:100%}
  .lib .page-actions .btn{flex:1 1 auto}
  .lib-dlinks .btn{flex:1 1 auto}
}
/* the presence cell's rank line can be long (industry names): two lines, the rest in its tooltip */
.lib-strip .stat-note span[title]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
