/* Wide software panels and a quiet, readable publication catalogue. */
.library-section { padding-block:4rem; }
.library-section > .row { padding-bottom:2rem; border-bottom:1px solid var(--line-100); }
.library-section .eyebrow { margin-bottom:1rem; }
.library-section h1 { font-size:clamp(2.5rem,4.7vw,4rem); margin-bottom:1.25rem!important; }
.library-intro,.library-section .content-intro { max-width:65ch; color:var(--ink-600); margin-top:1rem; line-height:1.8; }
.library-section .form-control { padding:.85rem 1rem; border-radius:5px; }
.library-section .form-label { color:var(--ink-600); }
.tool-panels { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:2rem; }
.tool-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3rem; padding:clamp(2rem,4vw,3.5rem); border:1px solid var(--line-100); border-radius:12px; background:var(--surface-100); }
.tool-category { font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:1.75rem; }
.tool-panel h2 { font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600; margin-bottom:1rem; overflow-wrap:anywhere; }
.tool-description { max-width:70ch; font-size:1.05rem; line-height:1.85; color:var(--ink-600); margin:0; }
.tool-panel-actions { display:flex; flex-direction:column; align-items:center; gap:.9rem; }
.tool-panel-actions .btn { padding:1rem 1.3rem; min-width:205px; white-space:normal; }
.tool-source { color:var(--ink-600); font-size:.85rem; }
.publications-page .pub-toolbar { justify-content:space-between; gap:1rem 2rem; border:1px solid var(--line-100); border-radius:8px; padding:1rem 1.25rem; background:var(--surface-100); margin-block:2rem 1rem; }
.publications-page .pub-filter { border-radius:4px; background:transparent; border-color:transparent; color:var(--ink-600); padding:.6rem .85rem; font-weight:500; }
.publications-page .pub-filter[aria-pressed='true'],.publications-page .pub-filter:hover { background:var(--blue); border-color:var(--blue); color:var(--surface-50); }
.publications-page .pub-sort-btn { color:var(--ink-600); padding-block:.4rem; }
.publications-page .pub-sort-btn[aria-pressed='true'] { color:var(--ink-900); }
.library-count { font-size:.83rem; color:var(--ink-600); min-height:1.5em; margin:1rem 0 1.5rem; }
.publications-page .pub-list { display:grid; gap:1.25rem; }
.publications-page .pub-row { display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.5rem); margin:0; background:var(--white); border:1px solid var(--line-100); border-radius:8px; }
.publications-page .pub-row::before { display:none; }
.pub-heading { margin:0 0 .8rem; font-size:inherit; order:1; }
.publications-page .pub-title { font-size:clamp(1.15rem,2vw,1.4rem); font-weight:500; line-height:1.45; letter-spacing:-.02em; text-decoration:none; color:var(--ink-900); }
.publications-page .pub-title:hover { color:var(--blue); text-decoration:underline; text-underline-offset:.2em; }
.publications-page .pub-authors { order:2; font-size:.9rem; line-height:1.75; max-width:95ch; margin:0; color:var(--ink-600); }
.publications-page .pub-venue { order:0; margin:0 0 1rem; font-size:.8rem; color:var(--blue); }
.publications-page .pub-journal { font-style:normal; font-weight:500; color:var(--blue); }
.publications-page .pub-year { font:inherit; color:var(--ink-600); }
.publications-page .pub-tags { order:3; gap:1rem; justify-content:space-between; align-items:center; border-top:1px solid var(--line-100); margin-top:1.25rem; padding-top:1rem; }
.publications-page .pub-flags { font-size:.75rem; font-weight:400; letter-spacing:0; text-transform:none; color:var(--ink-600); }
.publications-page .pub-actions { flex-wrap:wrap; gap:.6rem; margin-left:auto; }
.publications-page .pub-action { padding:.4rem .75rem; border:1px solid var(--line-100); border-radius:4px; font-weight:500; font-size:.8rem; }
.publications-page .pub-action:hover,.publications-page .pub-action[aria-expanded='true'] { border-color:var(--blue); background:var(--surface-100); color:var(--blue); text-decoration:none; }
.publications-page .pub-abstract { order:4; }
.publications-page .pub-abstract-inner { max-width:80ch; margin-top:1.5rem; border-left:2px solid var(--blue); padding-left:1.25rem; line-height:1.85; }
.publications-page .pub-list mark { color:var(--ink-900); background:var(--surface-100); outline:1px solid var(--line-200); border-radius:2px; }
@media(max-width:767px) {
 .library-section { padding-block:2.5rem; }
 .tool-panel { grid-template-columns:1fr; gap:1.5rem; padding:1.5rem; }
 .tool-category { margin-bottom:1.2rem; }
 .tool-panel-actions { align-items:flex-start; }
 .tool-panel-actions .btn { min-width:0; }
 .publications-page .pub-toolbar { align-items:flex-start; }
 .publications-page .pub-sort { margin-left:0; flex-wrap:wrap; }
 .publications-page .pub-actions { margin-left:0; }
 .publications-page .pub-tags { align-items:flex-start; }
}
@media print { .publications-page .pub-row { break-inside:avoid; background:transparent; border:0; padding:1rem 0; } }
