.lib-shell{
  grid-template-columns:minmax(0,1fr) 360px !important;
  max-width:1280px;
  margin-inline:auto;
}
.lib-card{ overflow:visible; }
.lib-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:16px; }
.lib-panel{ min-width:0; }
.lib-panel-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.lib-panel-title{ font-size:1.08rem; font-weight:900; letter-spacing:-0.02em; color:#0f172a; }
.lib-microw{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:start; }
.lib-textarea{ min-height:128px; resize:vertical; }
.lib-textarea-sm{ min-height:92px; }
.lib-micbtn{ min-width:56px; min-height:48px; align-self:start; }
.lib-micbtn.listening{ border-color:rgba(37,99,235,0.65); box-shadow:0 0 0 4px rgba(37,99,235,0.15); }
.lib-chiprow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.lib-addchip{ appearance:none; border:1px solid rgba(11,18,32,0.12); background:#fff; border-radius:999px; padding:8px 12px; font-weight:800; cursor:pointer; }
.lib-addchip:hover{ border-color:rgba(37,99,235,0.30); }
.lib-configgrid,.lib-modegrid,.lib-searchgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lib-searchgrid{ grid-template-columns:minmax(0,1.3fr) 0.85fr 0.85fr auto; align-items:end; }
.lib-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.lib-checkrow{ display:flex; gap:12px 18px; flex-wrap:wrap; margin-top:6px; }
.lib-checkrow label{ font-weight:700; color:#334155; display:flex; align-items:center; gap:8px; }
.lib-minirow{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.lib-mini{ border:1px solid rgba(11,18,32,0.10); border-radius:16px; padding:12px 14px; background:#fff; }
.lib-mini-k{ color:#64748b; font-weight:800; font-size:0.85rem; }
.lib-mini-v{ color:#0f172a; font-weight:900; margin-top:4px; }
.lib-hr{ border:0; border-top:1px solid rgba(11,18,32,0.08); margin:18px 0; }
.lib-previewhead{ display:flex; justify-content:space-between; gap:16px; align-items:end; flex-wrap:wrap; margin-bottom:14px; }
.lib-summarybox{ border:1px solid rgba(11,18,32,0.08); border-radius:18px; padding:16px 18px; background:#fff; }
.lib-summarybox h1,.lib-summarybox h2,.lib-summarybox h3,.lib-summarybox h4{ margin:0.8em 0 0.35em; line-height:1.2; }
.lib-summarybox h1:first-child,.lib-summarybox h2:first-child,.lib-summarybox h3:first-child,.lib-summarybox h4:first-child{ margin-top:0; }
.lib-summarybox p{ margin:0.5em 0; }
.lib-summarybox ul,.lib-summarybox ol{ margin:0.5em 0 0.75em 1.2em; }
.lib-summarybox code{ background:rgba(11,18,32,0.06); padding:0.12em 0.38em; border-radius:6px; }
.lib-sectiontitle{ margin:16px 0 8px; font-size:1rem; font-weight:900; color:#0f172a; }
.lib-quickgrid{ overflow-x:auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(116px,1fr)); }
.lib-jsonwrap{ margin-top:14px; }
.lib-jsonout{ min-height:220px; white-space:pre; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.lib-results{ margin-top:14px; display:grid; gap:12px; }
.lib-result{ border:1px solid rgba(11,18,32,0.10); border-radius:18px; padding:14px 14px 12px; background:#fff; }
.lib-result-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.lib-result-title{ font-weight:900; font-size:1rem; color:#0f172a; }
.lib-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.lib-badge{ display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(11,18,32,0.10); border-radius:999px; padding:5px 9px; font-size:0.78rem; font-weight:800; background:#fff; color:#334155; }
.lib-result-summary{ color:#475569; margin-top:8px; }
.lib-result-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.lib-previewbox{ margin-top:10px; border-top:1px solid rgba(11,18,32,0.08); padding-top:12px; }
.lib-itemline{ display:flex; align-items:center; gap:10px; font-weight:900; }
.lib-itemline .i{ font-size:1.25rem; }
.lib-itemmeta{ color:#64748b; font-weight:700; margin-top:6px; }
.lib-side{ display:flex; flex-direction:column; gap:16px; }
.lib-statrow{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lib-stat{ border:1px solid rgba(11,18,32,0.08); border-radius:16px; padding:12px 14px; background:#fff; }
.lib-stat .k{ color:#64748b; font-weight:800; font-size:0.85rem; }
.lib-stat .v{ color:#0f172a; font-weight:900; margin-top:2px; font-size:1.35rem; }
.lib-side-list{ margin:0; padding-left:1.1rem; color:#475569; }
.lib-side-list li + li{ margin-top:8px; }
.lib-catlist{ display:flex; flex-wrap:wrap; gap:8px; }
.lib-catpill{ border:1px solid rgba(11,18,32,0.10); border-radius:999px; padding:8px 10px; background:#fff; font-weight:800; color:#334155; font-size:0.82rem; }
.lib-searchactions{ align-self:end; }
.lib-alert-warn{ border-color:rgba(245,158,11,0.45); background:rgba(255,251,235,0.75); }
.lib-empty{ color:#64748b; font-weight:700; border:1px dashed rgba(11,18,32,0.14); border-radius:16px; padding:14px; text-align:center; }
.lib-advanced{ margin-top:12px; }
.lib-advanced > summary{ cursor:pointer; font-weight:900; }
@media (max-width: 1100px){
  .lib-shell{ grid-template-columns:minmax(0,1fr) !important; }
  .lib-side{ order:2; }
  .lib-grid,.lib-searchgrid{ grid-template-columns:1fr; }
  .lib-minirow,.lib-configgrid,.lib-modegrid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px){
  .lib-minirow,.lib-configgrid,.lib-modegrid{ grid-template-columns:1fr; }
  .lib-previewhead,.lib-result-head{ flex-direction:column; align-items:stretch; }
  .lib-microw{ grid-template-columns:minmax(0,1fr); }
  .lib-micbtn{ width:100%; }
}
