:root{--ink:#182b32;--muted:#63767d;--line:#e1e8e7;--accent:#087e75;--paper:#f6f8f8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #18a99a;outline-offset:4px}.shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.site-header>.shell{min-height:80px}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:-.7px}.brand-icon{display:grid;place-items:center;background:var(--accent);color:white;width:36px;height:36px;border-radius:10px;font-size:24px}.brand-divider{font-weight:300;color:#c6d3d1;margin:0 5px}.brand-sub{font-size:15px;letter-spacing:0;font-weight:500;color:var(--muted)}.nav-link{font-weight:600;font-size:16px}.hero{padding:64px 0 36px;max-width:730px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.8px;font-weight:750;color:var(--accent);margin:0 0 18px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}h1{font-size:clamp(34px,4.5vw,54px);line-height:1.12;letter-spacing:-2px;font-weight:700;margin:0 0 20px}h2{font-size:18px;letter-spacing:-.4px;font-weight:650;margin:0}h3{font-size:17px;font-weight:650;margin:8px 0}.intro{font-size:16px;color:var(--muted);line-height:1.8;margin:0;max-width:660px}.stats{margin-bottom:32px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:22px 24px;display:flex;flex-direction:column}.stat>span{font-size:13px;font-weight:600;color:var(--muted)}.stat strong{font-size:32px;line-height:1.5;letter-spacing:-1px;font-weight:650;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:13px}.stat .stat-date{font-size:26px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #183c3203}.panel-heading{padding:24px}.panel-heading p{font-size:14px;color:var(--muted);margin:5px 0 0}.badge{color:#08736b;background:#eaf6f2;border:1px solid #d7eee6;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:650;white-space:nowrap}.filters{padding:0 24px 24px}.filters label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.search-field{flex:1;min-width:180px}.corpus-field{width:240px;max-width:100%}input,select{height:42px;width:100%;border:1px solid #d7e1df;border-radius:7px;padding:0 12px;background:#fff;color:var(--ink)}input::placeholder{color:#859390}.button{background:var(--accent);border:1px solid var(--accent);color:white;border-radius:7px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;line-height:20px}.button:hover{background:#06685f;color:white}.reset-link{padding:10px 0;color:var(--muted);font-size:13px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f5f8f7;border-block:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.7px;text-transform:uppercase;font-weight:650;padding:13px 20px}td{padding:19px 20px;border-bottom:1px solid #edf1f0;font-size:14px}tbody tr:hover{background:#fafcfb}tbody tr:last-child td{border-bottom:0}.number{text-align:right;font-variant-numeric:tabular-nums}.rank{color:#85938f;font-variant-numeric:tabular-nums;font-size:13px}.model-link{font-weight:650;display:block;white-space:normal;overflow-wrap:anywhere;min-width:180px;max-width:340px}.cell-sub{display:block;font-size:12px;color:var(--muted);margin-top:3px}.corpus-link{color:var(--accent);text-decoration:underline;text-decoration-color:#b9d8cf;text-underline-offset:4px;white-space:normal;overflow-wrap:anywhere}.score{font-weight:700;color:#086f65;font-family:ui-monospace,monospace;background:#edf7f3;padding:5px 9px;border-radius:5px}.date-cell{color:var(--muted);font-size:13px}.table-footer{border-top:1px solid var(--line);padding:16px 24px;color:var(--muted);font-size:13px}.pagination a{font-weight:600;color:var(--accent)}.method-note{padding:25px 0 0;max-width:780px;font-size:13px;color:var(--muted)}.method-note strong{color:var(--ink)}.method-note p{margin:6px 0}.site-footer{margin-top:64px;padding-block:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.empty-state{text-align:center;padding:45px 20px;white-space:normal}.empty-state p{color:var(--muted);margin:5px 0}.empty-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf5f2;color:var(--accent);font-size:26px}.back-link{display:inline-block;margin-top:32px;font-size:13px;color:var(--muted)}.detail-hero{padding:32px 0}.detail-hero h1{font-size:clamp(28px,4vw,42px);overflow-wrap:anywhere}.metadata{padding:0 24px 16px;margin:0}.metadata>div{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:16px;padding:12px 0;border-top:1px solid #edf1f0}.metadata dt{font-size:13px;color:var(--muted)}.metadata dd{margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.skip-link{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:10}.skip-link:focus{top:12px}@media(max-width:640px){.shell{width:calc(100% - 32px)}.site-header>.shell{min-height:68px}.brand-sub,.brand-divider{display:none}.hero{padding-top:40px}.panel-heading{padding:20px}.filters{padding:0 20px 20px}.corpus-field{width:100%}.stat{padding:18px 20px}.metadata{padding-inline:20px}.metadata>div{grid-template-columns:1fr;gap:4px}.site-footer{margin-top:40px}}
.main-nav{display:flex;align-items:center;gap:20px}.nav-link[aria-current="page"]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}.corpus-panel{margin-bottom:24px}.corpus-metadata{white-space:normal}.corpus-metadata th{width:200px}.corpus-metadata td,.document-source{overflow-wrap:anywhere;white-space:normal}.document-text{min-width:280px;white-space:normal;overflow-wrap:anywhere}.document-text summary{cursor:pointer;color:var(--accent)}.document-text p{white-space:pre-wrap;max-height:480px;overflow-y:auto}.pagination{display:flex;gap:16px;align-items:center;justify-content:center}@media(max-width:640px){.main-nav{gap:12px}.corpus-metadata th{width:140px}}
.page-table{padding-top:32px}.dashboard-heading{padding:36px 0 8px}.dashboard-heading h1{font-size:32px;letter-spacing:-1px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bar-chart{list-style:none;margin:0;padding:0 24px 24px;max-height:360px;overflow:auto}.bar-chart li+li{margin-top:18px}.bar-label{display:flex;justify-content:space-between;gap:16px;font-size:13px;margin-bottom:6px}.bar-label span{overflow-wrap:anywhere}.bar-label strong{font-variant-numeric:tabular-nums}.bar-track{height:12px;background:#edf3f1;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:4px}.chart-empty{color:var(--muted)}@media(max-width:640px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts{grid-template-columns:1fr}.dashboard-stats .stat strong{font-size:26px}.site-header>.shell{flex-wrap:wrap;padding-block:14px}.main-nav{flex-wrap:wrap}}
.site-header>.shell{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.site-header .brand{justify-self:start}.main-nav{grid-column:2;margin-left:0;align-self:center;justify-content:center}.main-nav .nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px}@media(max-width:420px){.site-header>.shell{grid-template-columns:1fr}.site-header .brand{grid-column:1}.main-nav{grid-column:1;justify-self:center}}
.panel>.filters:first-child{padding-top:24px}@media(max-width:640px){.panel>.filters:first-child{padding-top:20px}}

/* Shared interface refinements. */
:root {
  --ink: #203734;
  --muted: #637770;
  --line: #e0e9e5;
  --accent: #087e75;
  --paper: #f3f7f5;
}
body { -webkit-font-smoothing: antialiased; }
.shell { width: min(1280px, calc(100% - 80px)); }
main.shell { padding-bottom: 56px; }
.site-header { position: sticky; top: 0; z-index: 20; background: #ffffff; }
html { scroll-padding-top: 72px; }
.skip-link { z-index: 30; }
.site-header > .shell { min-height: 60px; padding-block: 8px; }
.brand { gap: 8px; font-size: 21px; }
.brand-icon { width: 32px; height: 32px; border-radius: 9px; font-size: 21px; }
.main-nav { gap: 4px; padding: 3px; background: #f2f6f4; border: 1px solid var(--line); border-radius: 10px; }
.main-nav .nav-link { min-height: 32px; padding: 4px 16px; border-radius: 7px; font-size: 14px; color: var(--muted); }
.main-nav .nav-link:hover { color: var(--accent); background: #e8f1ed; }
.main-nav .nav-link[aria-current="page"] { background: white; color: var(--accent); text-decoration: none; box-shadow: 0 1px 4px #20373412; }
.page-table { padding-top: 36px; }
.panel { border-radius: 16px; box-shadow: 0 4px 20px #20373404; }
.panel-heading { padding: 24px 28px; }
.panel-heading h2 { font-size: 17px; }
.filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; padding: 24px 28px; }
.filters label { color: #465f55; font-size: 13px; margin-bottom: 8px; }
.search-field { min-width: 220px; }
.corpus-field { width: 280px; }
input, select { height: 46px; border-color: #dce5e0; border-radius: 9px; background: #fbfdfc; }
input:hover, select:hover { border-color: #a9c6ba; }
input:focus, select:focus { border-color: var(--accent); background: white; }
.button { min-height: 46px; padding: 12px 22px; border-radius: 9px; }
.reset-link { padding-block: 13px; }
th { background: #f6f9f7; padding: 10px 24px; font-size: 11px; letter-spacing: .9px; }
td { padding: 10px 24px; }
tbody tr:hover { background: #f5faf7; }
.rank { display: inline-grid; place-items: center; min-width: 30px; height: 30px; border: 1px solid #e5ece8; border-radius: 8px; color: #657a70; background: #fafcfb; }
.model-link { font-size: 15px; letter-spacing: -.2px; }
.cell-sub { margin-top: 4px; font-size: 13px; }
.corpus-link { text-decoration: none; font-weight: 500; }
.corpus-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.score { display: inline-block; min-width: 76px; text-align: center; padding: 6px 10px; background: #eaf6ef; border: 1px solid #d8ecdf; border-radius: 7px; }
.table-footer { padding: 18px 28px; background: #fcfdfc; }
.pagination a { padding: 6px 12px; border: 1px solid var(--line); border-radius: 7px; background: white; }
.pagination a:hover { border-color: #a9c6ba; background: #f2f8f5; }
.dashboard-heading { padding: 36px 0 22px; }
.dashboard-heading h1 { font-size: 28px; margin: 0; letter-spacing: -.8px; }
.dashboard-stats { gap: 18px; }
.stat { padding: 24px 28px; border-radius: 14px; }
.stat strong { margin-top: 8px; font-size: 34px; overflow-wrap: anywhere; }
.dashboard-charts { gap: 24px; }
.bar-chart { padding: 0 28px 28px; }
.bar-track { height: 8px; background: #eff4f1; }
.bar-fill { background: linear-gradient(90deg, #087e75, #68b397); }
.bar-label { margin-bottom: 9px; }
.detail-hero h1 { letter-spacing: -1px; }
.back-link { font-weight: 500; }
.empty-state { padding: 64px 24px; }
.metadata { padding-inline: 28px; }
@media (max-width: 900px) {
  .shell { width: calc(100% - 40px); }
  .corpus-field { width: 220px; }
}
@media (max-width: 640px) {
  .shell { width: calc(100% - 24px); }
  .site-header > .shell { min-height: 56px; grid-template-columns: auto 1fr; gap: 12px; }
  .brand { font-size: 20px; }
  .brand-icon { width: 30px; height: 30px; border-radius: 8px; }
  .main-nav { grid-column: 2; justify-self: end; flex-wrap: nowrap; gap: 2px; padding: 3px; }
  .main-nav .nav-link { padding: 4px 10px; min-height: 30px; font-size: 13px; }
  .page-table { padding-top: 20px; }
  .panel { border-radius: 12px; }
  .panel-heading, .filters { padding: 20px; }
  .search-field, .corpus-field { width: 100%; min-width: 0; flex-basis: 100%; }
  .filters .button { flex: 1; }
  th, td { padding: 8px 16px; }
  .table-footer { padding: 16px 20px; }
  .dashboard-heading { padding-top: 24px; }
  .dashboard-stats { gap: 12px; }
  .stat { padding: 18px; }
  .bar-chart { padding-inline: 20px; }
  .metadata { padding-inline: 20px; }
}

.sort-link { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; }
.sort-link span { font-size: 14px; color: var(--muted); }
.sort-link:hover, .sort-link.is-active, .sort-link.is-active span { color: var(--accent); }

/* Authentication */
.logout-form { justify-self: end; margin: 0; }
.logout-form .button { min-height: 34px; padding: 6px 12px; }
.model-list-title { margin: 0; font-size: 22px; letter-spacing: -.5px; line-height: 1.3; }
.model-list-table { table-layout: fixed; min-width: 1120px; }
.model-col-no { width: 44px; }
.model-col-author { width: 112px; }
.model-col-architecture { width: 160px; }
.model-col-parameters, .model-col-context { width: 126px; }
.model-col-languages { width: 88px; }
.model-col-license { width: 100px; }
.model-col-evaluations { width: 44px; }
.model-col-updated { width: 110px; }
.model-list-table th { padding: 6px 12px; font-size: 10px; letter-spacing: .5px; }
.model-list-table td { padding: 6px 12px; font-size: 12px; line-height: 1.4; }
.model-list-table td:not(.number):not(.date-cell) { max-width: 200px; white-space: normal; overflow-wrap: anywhere; }
.model-list-table .model-link { min-width: 0; max-width: 100%; font-size: 13px; }
.model-list-table .cell-sub { margin-top: 2px; font-size: 11px; }
.model-list-table .sort-link { gap: 4px; min-height: 26px; }
.model-list-table .sort-link span { font-size: 12px; }
.model-list-table th:nth-child(9), .model-list-table td:nth-child(9) { padding-inline: 2px; white-space: normal; overflow-wrap: anywhere; }
.model-list-table th:nth-child(9) .sort-link { gap: 1px; letter-spacing: 0; }
@media (max-width: 640px) {
  .site-header .brand { grid-column: 1; grid-row: 1; }
  .logout-form { grid-column: 2; grid-row: 1; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .main-nav .nav-link { flex: 1; }
  html { scroll-padding-top: 120px; }
}
