@font-face {
  font-family: Karla;
  src: url(./karla.woff2) format("woff2");
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url(./montserrat.woff2) format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --ink: #202724;
  --muted: #626b65;
  --line: #d5d8d0;
  --red: #bd2833;
  --paper: #fafaf7;
  --green: #344940;
  --heading: Montserrat, Arial, sans-serif;
  font:
    16px Karla,
    Arial,
    sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
select {
  font: inherit;
  color: inherit;
}
button,
select {
  cursor: pointer;
}
button {
  background: transparent;
  border: 0;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #976825;
  outline-offset: 3px;
}
button:disabled {
  cursor: wait;
  opacity: 0.6;
}
[hidden] {
  display: none !important;
}
svg {
  display: block;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: var(--heading);
  font-weight: 600;
  letter-spacing: -0.045em;
}
button svg {
  width: 18px;
  height: 18px;
}

#lock{display:grid;place-items:center;min-height:100dvh;padding:28px;background:var(--paper)}
#unlock{position:relative;width:min(275px,82vw)}
.entry-field{position:relative;display:flex;align-items:center;gap:17px;padding:0 10px 12px;border-bottom:1px solid #adb4ab}
.entry-field:focus-within{border-color:var(--red)}
.entry-field>svg{width:23px;height:23px;flex:none;color:var(--red)}
#password{font-size:25px;letter-spacing:.18em;font-weight:500;width:100%;min-width:0;background:transparent;border:0;border-radius:0;outline:none;height:42px;color:var(--ink)}
#password::placeholder{color:#c0c4bc}
.entry-progress{width:5px;height:5px;flex:none;border-radius:50%;background:var(--red);opacity:0}
.checking .entry-progress{opacity:1}
#lock-status{position:absolute;top:calc(100% + 12px);width:100%;font-size:13px;color:var(--muted);text-align:center}
.mast{border-bottom:1px solid var(--line)}
.mast-inner,.layout{max-width:1264px;margin:auto;padding:0 clamp(20px,5vw,76px)}
.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:83px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;color:var(--red);font:700 clamp(15px,1.5vw,22px)/1.2 var(--heading);letter-spacing:-.06em}
.brand img{width:39px;height:44px;object-fit:contain}
#title{font:550 clamp(16px,1.55vw,22px)/1.23 var(--heading);letter-spacing:-.04em;text-align:right}
.summary-band{display:grid;grid-template-columns:1.6fr .7fr .82fr max-content;align-items:end;gap:24px;padding:35px 0 31px;border-bottom:1px solid var(--ink)}
.stat-label{font-size:15px;color:var(--muted);line-height:1.25;letter-spacing:.005em}
.primary-stat strong,.count-stat strong,.selection-band strong{display:block;font-family:var(--heading);font-variant-numeric:tabular-nums;letter-spacing:-.075em;font-weight:740;line-height:1.02;overflow-wrap:anywhere}
.primary-stat strong{font-size:clamp(50px,5.8vw,83px);color:var(--red);margin-top:6px}
.count-stat strong{font-size:clamp(40px,4.2vw,59px);margin-top:9px}
.valuation-controls{display:grid;justify-items:end;gap:9px}
.tool-button,.multiplier,.multiplier-field,.section-head,.legend-button,.citation-head,.year-select,.list-controls,.quote-button{display:flex;align-items:center}
.multiplier{gap:8px;color:var(--muted);font-size:14px}
.multiplier-field{gap:2px;background:#f4f4ee;border:1px solid #cdd2c8;border-radius:4px;padding:1px 7px;color:var(--ink);height:29px}
#multiplier{field-sizing:content;min-width:3ch;max-width:13ch;text-align:center;appearance:textfield;border:0;background:none;font-weight:650;line-height:20px}
#multiplier::-webkit-inner-spin-button{appearance:none}
.filter-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.filter-controls #search{margin:0;height:33px;width:165px;max-width:100%;border:1px solid var(--line);border-radius:4px;background:#fff;padding:5px 9px;appearance:none}.filter-controls .year-select select{border:1px solid var(--line);border-radius:4px;height:33px}
#reset-filters{color:var(--red);border-color:#d4a7a7}
.selection-band{display:flex;align-items:center;gap:22px;padding:13px 15px;border-left:3px solid var(--red);background:#f3f1ec;margin:10px 0 5px}
.selection-band .stat-label{font-size:12px}
.selection-band strong{font-size:27px;letter-spacing:-.055em;color:var(--red);margin-top:3px}
.selection-band>div:nth-child(2){flex:1;min-width:0}
#selection-label,#selection-count{display:block;overflow-wrap:anywhere}
#selection-label{font-weight:650}
#selection-count{font-size:13px;color:var(--muted);margin-top:3px}
.text-button:hover,.legend-button:hover{background:#eeefe9}
.coverage-section {
  padding: 28px 0 16px;
}
.section-head {
  justify-content: space-between;
  gap: 12px;
}
.section-head h2,
.dialog-head h2 {
  font-size: clamp(24px, 2.6vw, 35px);
  line-height: 1.13;
}
.section-meta,
.citation-head span {
  color: var(--muted);
  font-size: 14px;
}
.section-meta {
  margin-top: 6px;
}
.tool-button,
dialog .dialog-actions button {
  justify-content: center;
  gap: 7px;
  border: 1px solid #c8cdc4;
  border-radius: 5px;
  height: 34px;
  padding: 0 11px;
  font-size: 14px;
  font-weight: 550;
}
.tool-button:hover,
.dialog-actions button:hover {
  background: #f0f0e9;
  border-color: #a7b0a7;
}
#legend {
  margin: 20px 0 8px;
  display: flex;
  gap: 4px 10px;
  flex-wrap: wrap;
}
.legend-button {
  gap: 6px;
  min-height: 29px;
  padding: 2px 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 13px;
  white-space: nowrap;
}
.legend-button[aria-pressed="true"] {
  border-color: #abb4aa;
  background: #edf0e8;
}
.dot {
  width: 9px;
  height: 9px;
  display: inline-block;
  border-radius: 2px;
  flex: 0 0 auto;
}
.chart svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.grid {
  stroke: #d9ddd5;
  stroke-width: 1;
}
.tick,
.year-label,
.bar-value {
  font-family: Karla, Arial, sans-serif;
  fill: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.year-label {
  fill: #4c554e;
  font-size: 14px;
}
.bar-value {
  font-size: 14px;
  fill: var(--ink);
  font-weight: 680;
}
.year[aria-pressed="true"] .year-label {
  fill: var(--red);
  font-weight: 800;
}
.hit {
  fill: transparent;
  stroke: transparent;
}
.year {
  cursor: pointer;
}
.year:hover .hit,
.year:focus-visible .hit {
  fill: #7784760c;
  stroke: #a3aea34d;
}
.citation-head {
  gap: 15px;
  justify-content: space-between;
  margin-top: 13px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.citation-head h3 {
  font-size: 19px;
  letter-spacing: -0.035em;
}
#citation-chart {
  margin-top: 3px;
}
.records-section {
  border-top: 1px solid var(--ink);
  padding-top: 25px;
}
.year-select {
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}
.year-select select {
  padding: 6px 9px;
  font-size: 14px;
  color: var(--ink);
  border-color: var(--line);
  background: var(--paper);
}
.list-controls {
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  border-bottom: 1px solid var(--line);
}
.tabs {
  display: flex;
  gap: 23px;
}
.tabs button {
  padding: 10px 0 11px;
  border-bottom: 2px solid transparent;
  font-weight: 650;
  color: var(--muted);
}
.tabs button[aria-pressed="true"] {
  color: var(--ink);
  border-color: var(--red);
}
#search {
  background: none;
  border-color: var(--line);
  padding: 5px 9px;
  font-size: 13px;
  max-width: 190px;
  margin-bottom: 5px;
}
#list-summary {
  font-size: 13px;
  margin: 14px 0 0;
}
.record {
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr) max-content;
  gap: 5px 20px;
  align-items: baseline;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}
.record-date {
  font-size: 14px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.record-title {
  font:
    600 17px/1.4 Karla,
    Arial,
    sans-serif;
  letter-spacing: -0.015em;
  color: var(--ink);
  text-decoration: none;
}
.record-title:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.external {
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
  color: #7f8982;
}
.external svg {
  width: 12px;
  height: 12px;
}
.record-meta {
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.4;
}
.record-meta .dot {
  width: 7px;
  height: 7px;
  margin-right: 6px;
}
.quote-button {
  gap: 5px;
  padding: 4px 0 4px 8px;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
}
.quote-button svg {
  width: 12px;
  height: 12px;
}
.quote-button[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.item-details {
  grid-column: 2/-1;
  display: flex;
  gap: 8px 15px;
  flex-wrap: wrap;
  align-items: center;
  border-left: 2px solid #ccd0c9;
  padding: 4px 13px;
  margin: 7px 0 0;
  font-size: 13px;
}
.detail-text {
  width: 100%;
  color: var(--muted);
}
.size-label {
  display: flex;
  gap: 5px;
  align-items: center;
}
.size-label input {
  width: 75px;
  padding: 4px;
}
.text-button {
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: 5px;
}
.empty {
  padding: 25px 0;
}
.records-section #more {
  margin: 17px auto 0;
}
footer {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 22px 0 30px;
  border-top: 1px solid var(--line);
  margin-top: 45px;
  font-size: 13px;
  color: var(--muted);
}
#feedback {
  position: fixed;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ink);
  color: white;
  border-radius: 4px;
  padding: 11px 17px;
  font-size: 14px;
  visibility: hidden;
}
#feedback.visible {
  visibility: visible;
}
@media(max-width:820px){
.mast-inner{min-height:68px;gap:15px}.brand{font-size:16px}.brand img{width:30px;height:35px}
.summary-band{grid-template-columns:1.42fr .58fr .75fr;gap:16px;padding:22px 0 20px}
.valuation-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
  .record {
    grid-template-columns: 80px minmax(0, 1fr) max-content;
    gap: 6px 10px;
  }
  #legend {
    gap: 2px 5px;
  }
  .legend-button {
    font-size: 12px;
  }
  .citation-head span {
    font-size: 12px;
  }
}
@media (max-width: 510px) {
  .mast-inner,
  .layout {
    padding-left: 18px;
    padding-right: 18px;
  }
  .mast-inner{padding-top:13px;padding-bottom:12px;align-items:flex-start;flex-direction:column;gap:5px}
  .brand{font-size:clamp(14px,4.25vw,20px);gap:7px}.brand img{width:25px;height:28px}
  #title{font-size:15px;text-align:left;letter-spacing:-.03em}
  .summary-band{grid-template-columns:1fr 1fr;gap:14px;padding:21px 0 17px}
  .primary-stat{grid-column:1/-1}.primary-stat strong{font-size:clamp(51px,14vw,70px)}
  .count-stat strong{font-size:37px;margin-top:3px}.stat-label{font-size:13px}
  .chart-head{align-items:flex-start;flex-direction:column;gap:12px}
  .filter-controls{gap:7px}.filter-controls #search{width:142px}
  .selection-band{gap:12px}
  .coverage-section {
    padding-top: 21px;
  }
  .section-head h2 {
    font-size: 25px;
  }
  .tool-button {
    font-size: 12px;
    padding: 0 7px;
    gap: 4px;
  }
  .tool-button svg {
    width: 15px;
  }
  .section-meta {
    font-size: 13px;
  }
  #legend {
    margin-top: 11px;
  }
  .legend-button {
    font-size: 12px;
    padding: 1px 3px;
    min-height: 26px;
  }
  .citation-head {
    align-items: baseline;
    gap: 5px;
  }
  .citation-head h3 {
    font-size: 17px;
  }
  .citation-head span {
    text-align: right;
    max-width: 52%;
  }
  .year-label,
  .bar-value {
    font-size: 11px;
  }
  .tick {
    font-size: 10px;
  }
  .list-controls {
    flex-wrap: wrap;
    margin-top: 10px;
    gap: 4px;
  }
  #search {
    max-width: 136px;
  }
  .tabs {
    gap: 12px;
  }
  .tabs button {
    font-size: 14px;
  }
  .record {
    grid-template-columns: 1fr auto;
    gap: 5px 8px;
  }
  .record-date {
    grid-column: 1;
    font-size: 12px;
  }
  .record-body {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .quote-button {
    grid-column: 2;
    grid-row: 1;
    font-size: 12px;
    padding: 0;
  }
  .record-title {
    font-size: 16px;
  }
  .item-details {
    grid-column: 1/-1;
  }
  .record-meta {
    font-size: 12px;
  }
  footer {
    font-size: 12px;
  }
  .brand img {
    width: 30px;
    height: 34px;
  }
}

.paper-cites {
  color: #5e4c72;
  font-weight: 650;
}
.paper-cites:hover {
  text-decoration: underline;
}
.filter-paper {
  margin: 10px 0 0;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--green);
  text-align: left;
  font-size: 13px;
}

.legend-count {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  font-size: 0.94em;
}
