.library-toolbar{ display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:12px 14px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.filter-chips{ display:flex;flex-wrap:wrap;gap:6px}
.filter-chips .chip{ height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid transparent;background:var(--c-line-2);color:var(--c-ink-2);font-size:13px;cursor:pointer;transition:.15s}
.filter-chips .chip:hover{ color:var(--c-red);background:var(--c-red-soft)}
.filter-chips .chip.is-active{ background:var(--c-red);color:#fff;border-color:var(--c-red);box-shadow:var(--sh-sm)}
.search-box{ position:relative;margin-left:auto}
.search-box .icon{ position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-faint)}
.search-box input{ height:38px;width:300px;max-width:42vw;border:1px solid var(--c-line);border-radius:10px;padding:0 14px 0 36px;background:var(--c-surface);outline:none;font-size:13.5px;transition:.15s}
.search-box input:focus{ border-color:var(--c-red);box-shadow:0 0 0 3px rgba(200,16,46,.08)}
.library-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;align-items:start}
.doc-card{ display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;transition:.18s;color:inherit;text-decoration:none}
.doc-card:hover{ border-color:var(--c-ink-2);transform:translateY(-3px);box-shadow:var(--sh-lg)}
.dc-head{ display:flex;align-items:center;gap:9px;padding:14px 16px 0}
.dc-head .doc-ic{ width:32px;height:32px;border-radius:9px;background:var(--c-red-soft);color:var(--c-red);display:flex;align-items:center;justify-content:center;flex:none}
.dc-head .doc-ic .icon{ width:17px;height:17px}
.dc-head h2{ margin:0;font-size:15.5px;line-height:1.45;color:var(--c-ink);font-weight:650;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-width:0}
.dc-preview{ position:relative;margin:12px 16px;height:210px;background:var(--c-preview-chrome);border:1px solid var(--c-line-2);border-radius:12px;overflow:hidden}
.dc-preview:after{ content:"";position:absolute;left:0;right:0;bottom:0;height:44px;background:linear-gradient(to bottom,transparent,var(--c-preview-chrome));pointer-events:none}
.dc-mini-paper{ width:21cm;min-height:29.7cm;background:var(--c-paper-bg);box-shadow:0 2px 10px rgba(0,0,0,.12);padding:2.2cm 2.6cm;font-family:var(--font-doc);font-size:16pt;line-height:1.9;color:var(--c-paper-text);transform-origin:left top}
.dc-mini-paper p{ margin:0 0 6pt;text-indent:2em}
.dc-mini-paper h1,.dc-mini-paper h2,.dc-mini-paper h3{ margin:0 0 12pt;text-align:center;text-indent:0;font-weight:700;line-height:1.55}
.dc-mini-paper h1{ font-size:22pt}
.dc-mini-paper h2{ font-size:18pt}
.dc-mini-paper h3{ font-size:16pt}
.dc-mini-paper img{ max-width:100%}
.dc-mini-paper table{ border-collapse:collapse;width:100%;font-size:12pt;line-height:1.55}
.dc-mini-paper td,.dc-mini-paper th{ border:1px solid #d7d7d7;padding:5px 7px}
.dc-fallback{ padding:18px 16px;font-family:var(--font-doc);font-size:13px;line-height:1.9;color:var(--c-ink-2);white-space:pre-wrap}
.dc-info{ padding:0 16px 15px}
.dc-info p{ margin:0;color:var(--c-muted);line-height:1.7;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.doc-meta{ margin-top:12px;display:flex;align-items:center;gap:10px;color:var(--c-faint);font-size:12px;min-width:0}
.doc-meta span{ display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap}
.doc-meta span:first-child{ max-width:36%;overflow:hidden;text-overflow:ellipsis}
.doc-meta .icon{ width:12px;height:12px}
.doc-meta .price{ margin-left:auto;color:var(--c-red);font-weight:700}
.doc-meta .free{ margin-left:auto;color:var(--c-ok);font-weight:600}
.lib-preview-src{ display:none}
.lib-pages{ margin:18px 0 4px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.lib-pages a{ min-width:34px;height:34px;padding:0 11px;border:1px solid var(--c-line);border-radius:9px;background:var(--c-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--c-ink-2);font-size:13px;text-decoration:none}
.lib-pages a:hover,.lib-pages a.current{ border-color:var(--c-red);background:var(--c-red);color:#fff}
.lib-pages a.disabled{ opacity:.45;cursor:not-allowed;background:var(--c-line-2);color:var(--c-faint);border-color:var(--c-line)}
.empty-wrap{ background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
@media(max-width:760px){
	.library-toolbar{ align-items:stretch}
	.library-grid{ grid-template-columns:1fr}
	.search-box{ margin-left:0;width:100%}
	.search-box input{ width:100%;max-width:100%}
}
