/* Library page */
.lib [hidden],.lib-doc[hidden]{display:none!important}
.lib{padding:48px clamp(24px,7vw,108px) 80px;max-width:1500px;margin:0 auto}
.lib-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:8px}
.lib-tools input{flex:1 1 320px;min-width:0;padding:14px 18px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:15px;outline:none}
.lib-tools input:focus{border-color:var(--blue)}
.lib-chips{display:flex;flex-wrap:wrap;gap:8px}
.lib-chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 15px;font-weight:700;font-size:13px;cursor:pointer}
.lib-chip:hover{border-color:var(--blue);color:var(--blue)}
.lib-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.lib-h{font-size:clamp(26px,3vw,38px);letter-spacing:-.025em;margin:46px 0 14px}
.lib-sub{color:var(--muted);line-height:1.7;max-width:760px;margin:0 0 20px}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.lib-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;transition:.22s}
.lib-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px #051e291a;border-color:#b8d6e0}
.lib-card .icon{width:28px;height:28px;color:var(--blue);margin-bottom:14px}
.lib-card h3{font-size:20px;line-height:1.2;margin:0 0 8px}
.lib-card p{color:var(--muted);line-height:1.6;font-size:14.5px;margin:0 0 16px;flex:1}
.lib-card .go{font-weight:800;font-size:13px;color:var(--blue)}
.lib-card.form{background:#f1f7f3}
.lib-card.link{background:#fff}
.lib-empty{color:var(--muted);padding:30px 0}

/* Reader */
.lib-doc{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,4vw,52px)}
.doc-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.doc-bar .back{font-weight:800;font-size:14px;color:var(--blue)}
.doc-tools{display:flex;gap:8px}
.doc-tools button{border:1px solid var(--ink);background:#fff;border-radius:99px;padding:9px 15px;font-weight:800;font-size:13px;cursor:pointer}
.doc-tools button:hover{background:var(--ink);color:#fff}
.lib-doc h1{font-size:clamp(32px,4vw,46px);line-height:1.08;letter-spacing:-.03em;margin:0 0 12px}
.doc-desc{color:var(--muted);line-height:1.7;margin:0 0 10px;font-size:17px}
.lib-doc section{margin-top:30px}
.lib-doc h3{font-size:22px;margin:0 0 12px}
.chk{list-style:none;margin:0;padding:0}
.chk li{border-top:1px solid var(--line)}
.chk label{display:flex;gap:12px;align-items:flex-start;padding:11px 2px;cursor:pointer;line-height:1.55}
.chk input{margin-top:5px;width:18px;height:18px;flex:none;accent-color:var(--blue)}
.chk input:checked+span{color:#7a8a90;text-decoration:line-through}
.doc-note{margin:30px 0 0;padding:16px 18px;background:#f7f8f5;border-left:4px solid var(--aqua);color:var(--muted);line-height:1.65;font-size:14.5px}
.doc-cta{margin-top:26px}
.doc-print-foot{display:none}
@media(max-width:700px){.lib{padding:30px 16px 60px}}
@media print{
  body>main.lib{display:block!important}
  .page-hero,.contact,footer,.doc-bar,.doc-cta,.rvc-fab,.rvc-panel,.wa-fab,.lib-tools{display:none!important}
  body{background:#fff}.lib{padding:0}.lib-doc{border:0;padding:0;max-width:none}
  .chk li{break-inside:avoid}.doc-print-foot{display:block;margin-top:24px;font-size:12px;color:#555;border-top:1px solid #ccc;padding-top:8px}
}
body.reading .page-hero{display:none}
