:root {
  --canvas:#fff;--sidebar:#f9f9f9;--ink:#202020;--muted:#666;--border:#e8e8e8;
  --accent:#202020;--accent-hover:#3c3c3c;--accent-soft:#f1f1f1;--hover:#ededed;--subtle:#f4f4f4;
  --nav-width:260px;--rail-width:64px;--chat-width:768px;--radius:8px;--radius-lg:16px;
  --radius-composer:26px;--radius-pill:999px;--control-size:40px;--header-height:64px;
  --text-display:32px;--text-composer:16px;--icon-size:20px;--icon-small:16px;
  --composer-shadow:0 2px 12px rgba(0,0,0,.04);--panel-shadow:0 12px 48px rgba(0,0,0,.12);
  --motion-panel:180ms;--ease-out:cubic-bezier(.2,.8,.2,1);
}
.icon{width:var(--icon-size);height:var(--icon-size);flex-shrink:0;vertical-align:middle}
.button{font-weight:500;border-radius:var(--radius);gap:var(--s2)}
.button.quiet:hover:not(:disabled){background:var(--hover)}
.icon-button{width:var(--control-size);height:var(--control-size);min-height:var(--control-size);padding:var(--s2);border:0;flex-shrink:0;border-radius:var(--radius)}
.button.pill{border-radius:var(--radius-pill)}
.button.send{border-radius:50%;background:var(--ink);color:var(--surface)}
.button.send:disabled{opacity:.3}
.card{border-radius:var(--radius-lg)}
.passage{line-height:1.85;text-wrap:pretty}
.dialog{border-radius:var(--radius-lg);box-shadow:var(--panel-shadow)}
.dialog-header h2{font-weight:600}
.source-dialog{border-radius:0;box-shadow:none}
.title-qualifier{display:inline-block;max-width:100%}
.source-dialog .page-controls{gap:var(--s2)}
.source-dialog .page-controls input{width:var(--rail-width)}
.source-dialog .page-controls .button{padding-inline:var(--s2)}
.page-viewport{overflow:auto;max-height:70dvh;overscroll-behavior:contain;border:1px solid var(--border);background:var(--sidebar)}
.page-viewport .page-image{max-width:none;border:0}
.zoom-controls .button{padding-inline:var(--s3)}
.zoom-controls [role=status]{min-width:var(--s10);text-align:center}
.empty{border-style:solid;background:var(--sidebar)}
.page-heading h1{font-weight:600}
.page-heading p{font-size:var(--text-sm)}
.nav-item{display:flex;align-items:center;gap:var(--s3);min-height:var(--control-size);padding:var(--s2) var(--s3);border-radius:var(--radius);color:var(--ink);font-size:var(--text-sm);text-decoration:none;border:0;background:transparent;text-align:left;width:100%;line-height:1.4}
.nav-item:hover,.nav-item[aria-current=page]{background:var(--hover);color:var(--ink)}
.nav-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nav-item[aria-current=page]{font-weight:500}
.composer-preview{max-width:var(--chat-width);border:1px solid var(--border);border-radius:var(--radius-composer);box-shadow:var(--composer-shadow);padding:var(--s4);background:var(--surface)}
.composer-preview textarea{border:0;resize:none;padding:var(--s2);min-height:var(--s12)}
.content.library-screen{gap:var(--s4)}
.library-screen .section-heading{margin-bottom:var(--s2)}
.library-errors:empty{display:none}
.table-shell{container-type:inline-size;border:1px solid var(--border);border-radius:var(--radius);min-width:0}
.list-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left;font-size:var(--text-sm);line-height:1.5}
.list-table th,.list-table td{padding:var(--s2) var(--s3);vertical-align:middle;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.list-table thead th{font-size:var(--text-xs);font-weight:500;color:var(--muted);background:var(--sidebar);padding-block:var(--s3)}
.list-table thead th:first-child{border-start-start-radius:var(--radius)}
.list-table thead th:last-child{border-start-end-radius:var(--radius)}
.list-table tbody th{font-weight:500}
.list-table tbody:last-child>tr:last-child>*{border-bottom:0}
.list-table tbody:last-child>.list-row:has(+.source-details[hidden])>*{border-bottom:0}
.list-row:hover{background:var(--sidebar)}
.list-table .table-author{width:calc(var(--s12)*3)}
.list-table .table-format{width:calc(var(--s10)*2 + var(--s6))}
.list-table .table-status{width:calc(var(--s12)*3)}
.list-table .table-date{width:calc(var(--s12)*2 + var(--s4));font-variant-numeric:tabular-nums}
.list-table .table-actions{width:calc(var(--control-size)*2 + var(--s1) + var(--s6))}
.list-table .table-action-single{width:calc(var(--control-size) + var(--s6))}
.list-table td.table-secondary{font-size:var(--text-xs);color:var(--muted)}
.table-title{display:block;min-height:var(--control-size);padding-block:var(--s2);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.table-title:hover{text-decoration:underline}
.table-mobile-meta{display:none}
.source-row h2{font-size:var(--text-sm);line-height:1.5;font-weight:500}
.button.source-title{display:block;min-height:var(--control-size);padding:0;border:0;border-radius:var(--s1);background:transparent;color:var(--ink);font:inherit;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.button.source-title:hover{color:var(--muted);text-decoration:underline;text-underline-offset:var(--s1)}
.source-actions{display:flex;gap:var(--s1)}
.source-details .notice{font-size:var(--text-xs)}
.source-maintenance{display:flex;flex-wrap:wrap;gap:var(--s2)}
.source-details .notice+.source-maintenance{margin-top:var(--s2)}
.source-maintenance[hidden]{display:none}
.library-tools{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}
.library-tools .search-field{flex:1;min-width:min(100%,var(--nav-width))}
.search-field{position:relative}
.search-field>.icon{position:absolute;left:var(--s3);top:var(--s3);color:var(--muted)}
.search-field input{padding-left:var(--s10);min-height:calc(var(--s10) + var(--s1));border-radius:var(--radius-lg);background:var(--sidebar)}
.library-tools select{width:auto;max-width:100%;font-size:var(--text-sm)}
.library-tools .library-tag-filter{max-width:var(--nav-width)}
.library-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font-size:var(--text-xs);color:var(--muted)}
.library-summary .button{font-size:var(--text-xs)}
.research-note-form{padding:var(--s5);border:1px solid var(--border);border-radius:var(--radius-lg)}
@container(max-width:799px){
  .list-table{table-layout:auto}
  .list-table .list-row>th{width:100%}
  .list-table .table-secondary{display:none}
  .table-mobile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s1) var(--s2);font-size:var(--text-xs);font-weight:400;color:var(--muted);margin-top:var(--s1)}
  .list-table .source-actions{align-items:flex-start}
}
@media(max-width:1023px){
  .library-tools{gap:var(--s2)}
  .library-tools .search-field{flex-basis:100%}
  .library-tools select{flex:1;min-width:0}
}
@media(max-width:767px){.page-viewport{max-height:45dvh}}
@media(max-width:479px){.library-tools select{flex-basis:calc(50% - var(--s2))}}
