:root {
  --hc-bg:#101112;
  --hc-ink:#f0ede5;
  --hc-muted:#aaa9a4;
  --hc-line:#343638;
  --hc-purple:#c4b5ef;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--hc-bg);
  color:var(--hc-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
}
button {
  font:inherit;
}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--hc-purple);
  outline-offset:6px;
}
.hc-skip {
  position:absolute;
  left:24px;
  top:-80px;
  z-index:2000;
  background:#fff;
  color:#111;
  padding:14px;
}
.hc-skip:focus {
  top:80px;
}
.hc-wrap {
  width:min(1180px,calc(100% - 100px));
  margin:auto;
}
.hc-hero {
  padding-top:150px;
}
.hc-eyebrow,.hc-kicker {
  font-family:ui-monospace,SFMono-Regular,monospace;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.13em;
  line-height:1.7;
  color:var(--hc-purple);
}
.hc-hero h1 {
  font-size:clamp(44px,5.8vw,82px);
  max-width:1020px;
  line-height:1.06;
  letter-spacing:-.055em;
  font-weight:500;
  margin:30px 0;
}
.hc-hero h1 em {
  font-style:normal;
  color:var(--hc-purple);
}
.hc-deck {
  font-size:20px;
  line-height:1.65;
  color:#bcbdb8;
  max-width:750px;
}
.hc-meta {
  display:flex;
  flex-wrap:wrap;
  gap:16px 48px;
  border-top:1px solid var(--hc-line);
  padding:24px 0 32px;
  margin-top:36px;
  font-size:13px;
}
.hc-meta span {
  display:block;
  color:var(--hc-muted);
  font-size:11px;
  margin-bottom:6px;
}
.hc-cover {
  margin:0;
}
.hc-cover img {
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1.6;
  object-fit:cover;
  border-radius:4px;
}
figcaption {
  font-size:12px;
  line-height:1.65;
  color:var(--hc-muted);
  margin:14px 0 0;
  max-width:900px;
}
figcaption a {
  text-underline-offset:3px;
}
.hc-summary {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:36px;
  padding:40px 0 50px;
  border-bottom:1px solid var(--hc-line);
}
.hc-summary h2 {
  font-size:13px;
  font-weight:500;
  color:var(--hc-purple);
  margin:0 0 12px;
}
.hc-summary p {
  font-size:15px;
  line-height:1.7;
  margin:0;
  color:#c9c8c1;
}
.hc-layout {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:70px;
  padding:70px 0 90px;
}
.hc-toc {
  position:sticky;
  top:110px;
  align-self:start;
  display:grid;
  gap:17px;
  font-size:12px;
  color:var(--hc-muted);
}
.hc-toc a {
  text-decoration:none;
}
.hc-toc a:hover {
  color:var(--hc-ink);
}
.hc-toc .hc-kicker {
  margin-bottom:10px;
}
.hc-story {
  min-width:0;
}
.hc-section {
  margin-bottom:75px;
  scroll-margin-top:100px;
}
.hc-section h2 {
  font-size:clamp(29px,3vw,42px);
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.035em;
  max-width:720px;
  margin:16px 0 25px;
}
.hc-section h3 {
  font-size:21px;
  font-weight:500;
  letter-spacing:-.02em;
  margin:36px 0 12px;
}
.hc-section p {
  font-size:17px;
  line-height:1.85;
  color:#c7c8c3;
  max-width:740px;
  margin:0 0 20px;
}
.hc-section p a {
  color:var(--hc-purple);
  text-underline-offset:4px;
}
.hc-note {
  border-left:2px solid var(--hc-purple);
  padding:2px 0 2px 22px;
  margin:28px 0;
}
.hc-note p {
  font-size:14px;
  margin:0;
}
.hc-before {
  margin:30px 0;
  background:#202223;
  padding:20px;
  border:1px solid var(--hc-line);
  border-radius:4px;
}
.hc-before img {
  width:100%;
  height:auto;
  display:block;
}
.hc-before a {
  display:block;
}
.hc-section blockquote {
  font-size:clamp(27px,3.4vw,42px);
  line-height:1.3;
  letter-spacing:-.03em;
  margin:38px 0;
  padding:30px 0;
  border-block:1px solid var(--hc-line);
  color:var(--hc-purple);
}
.hc-flow {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:28px 0;
  border-block:1px solid var(--hc-line);
}
.hc-flow div {
  padding:24px 18px 24px 0;
}
.hc-flow b {
  display:block;
  font-size:17px;
  font-weight:500;
  margin-bottom:10px;
}
.hc-flow span {
  display:block;
  color:var(--hc-muted);
  font-size:13px;
  line-height:1.6;
}
.hc-tabs {
  display:flex;
  gap:8px;
  margin:28px 0 14px;
}
.hc-tabs button {
  border:1px solid #55545b;
  border-radius:100px;
  padding:11px 20px;
  background:transparent;
  color:var(--hc-ink);
  cursor:pointer;
  font-size:13px;
}
.hc-tabs button[aria-selected=true] {
  background:var(--hc-purple);
  color:#17131f;
  border-color:var(--hc-purple);
}
.hc-exhibit {
  margin:0;
}
.hc-exhibit img {
  display:block;
  width:100%;
  height:auto;
  border-radius:4px;
}
.hc-exhibit a {
  display:block;
}
.hc-exhibit[hidden] {
  display:none;
}
.hc-table {
  width:100%;
  border-collapse:collapse;
  margin:28px 0;
  font-size:14px;
  line-height:1.65;
}
.hc-table th,.hc-table td {
  padding:17px 14px 17px 0;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--hc-line);
}
.hc-table th {
  font-weight:500;
  color:var(--hc-purple);
}
.hc-table td {
  color:#c7c8c3;
}
.hc-table td:first-child {
  color:var(--hc-ink);
  width:30%;
}
.hc-sources {
  border-top:1px solid var(--hc-line);
  padding-top:32px;
}
.hc-sources ol {
  padding-left:20px;
  color:var(--hc-muted);
  font-size:13px;
  line-height:1.7;
}
.hc-sources li {
  padding:0 0 14px 8px;
}
.hc-sources a {
  color:#d8d5df;
  text-underline-offset:4px;
}
.hc-related {
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:34px 0 65px;
  border-top:1px solid var(--hc-line);
}
.hc-related a {
  text-decoration:none;
  font-size:17px;
}
.hc-related span {
  display:block;
  color:var(--hc-muted);
  font-size:11px;
  margin-bottom:10px;
}
.hc-footer {
  color:var(--hc-muted);
  font-size:12px;
  padding-bottom:30px;
}
@media(max-width:900px) {
  .hc-wrap {
    width:calc(100% - 48px);
  }
  .hc-layout {
    grid-template-columns:1fr;
    gap:35px;
    padding-top:35px;
  }
  .hc-toc {
    position:static;
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    padding-bottom:25px;
    border-bottom:1px solid var(--hc-line);
  }
  .hc-toc .hc-kicker {
    display:none;
  }
  .hc-hero {
    padding-top:120px;
  }
}
@media(max-width:560px) {
  .hc-wrap {
    width:calc(100% - 36px);
  }
  .hc-hero h1 {
    font-size:43px;
  }
  .hc-deck {
    font-size:17px;
  }
  .hc-meta {
    gap:20px 30px;
  }
  .hc-summary {
    grid-template-columns:1fr;
    gap:22px;
    padding:30px 0;
  }
  .hc-section {
    margin-bottom:50px;
  }
  .hc-section p {
    font-size:16px;
  }
  .hc-before {
    padding:10px;
  }
  .hc-flow {
    grid-template-columns:1fr;
  }
  .hc-flow div {
    padding:18px 0;
  }
  .hc-flow div+div {
    border-top:1px solid var(--hc-line);
  }
  .hc-tabs button {
    padding:10px 16px;
  }
  .hc-table {
    font-size:12px;
  }
  .hc-related a {
    font-size:15px;
  }
  .hc-hero h1 {
    letter-spacing:-.045em;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

/* Actual website comparisons and readable screenshot inspection. */
.hc-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.hc-screen { margin: 0; min-width: 0; }
.hc-screen-label { display: grid; gap: 7px; padding: 14px 0; }
.hc-screen-label b { font-size: 14px; font-weight: 500; }
.hc-screen-label span { font-size: 11px; color: var(--hc-muted); }
.hc-screen-trigger {
  width: 100%;
  display: block;
  padding: 0;
  border: 1px solid #4d5055;
  border-radius: 5px;
  overflow: hidden;
  background: #1d2025;
  color: var(--hc-ink);
  text-align: left;
  cursor: zoom-in;
}
.hc-screen-trigger img { display: block; width: 100%; height: auto; border-radius: 0; }
.hc-screen-trigger > span {
  display: block;
  padding: 11px 13px;
  font-size: 11px;
  letter-spacing: .03em;
}
.hc-screen-trigger:hover { border-color: var(--hc-purple); }
.hc-screen figcaption { font-size: 11px; }
.hc-exhibit figcaption a { display: inline; }
.hc-detail { margin: 30px 0; }
#hc-screen-dialog {
  width: min(1440px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid #535766;
  border-radius: 7px;
  color: var(--hc-ink);
  background: #16191f;
  overflow: auto;
}
#hc-screen-dialog::backdrop { background: rgb(0 0 0 / 82%); }
.hc-dialog-bar {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 15px 20px;
  background: #16191f;
}
.hc-dialog-bar p { font-size: 12px; line-height: 1.5; margin: 0; }
.hc-dialog-bar button {
  flex-shrink: 0;
  border: 1px solid #81858f;
  background: transparent;
  color: white;
  padding: 10px 15px;
  border-radius: 4px;
  cursor: pointer;
}
#hc-expanded-screen { display: block; width: 100%; height: auto; }
@media (max-width: 650px) {
  .hc-compare-grid { grid-template-columns: 1fr; gap: 22px; }
  #hc-screen-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 24px); }
  .hc-dialog-bar { padding: 12px; gap: 12px; }
}
