.thesis-index-page {
  --thesis-ink: #10110f;
  --thesis-panel: #171914;
  --thesis-cream: #f3f0e8;
  --thesis-white: #fffdf8;
  --thesis-lime: #c8ff31;
  --thesis-gray: #686d65;
  --thesis-light-gray: #a1a59b;
  --thesis-dark-line: #272920;
  background: var(--thesis-ink);
  color: var(--thesis-ink);
  font-family: Inter, system-ui, sans-serif;
}

.thesis-index-page .editorial-header {
  border-color: rgba(246, 240, 228, .13);
  background: var(--thesis-ink);
}
.thesis-index-page .editorial-brand { color: var(--thesis-cream); }
.thesis-index-page .editorial-brand small { color: var(--thesis-light-gray); }
.thesis-index-page .editorial-header nav a { color: rgba(246, 240, 228, .58); }
.thesis-index-page .editorial-header nav a:hover,
.thesis-index-page .editorial-header nav a:focus-visible,
.thesis-index-page .editorial-header nav a.active { color: var(--thesis-cream); }
.thesis-index-page .editorial-header nav a.active { text-decoration-color: var(--thesis-lime); }
.thesis-index-page .header-cta { border-radius: 8px; }
.thesis-index-page main { width: 100%; margin: 0; padding: 0; }

.thesis-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.thesis-kicker,
.library-section-heading > p,
.research-heading > p,
.working-method header > p {
  margin: 0;
  font: 500 9px/1.4 "IBM Plex Mono", monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.thesis-library-hero { background: var(--thesis-ink); color: var(--thesis-white); }
.hero-layout { min-height: 500px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(410px, 500px); gap: clamp(48px, 7vw, 90px); align-items: center; padding-block: 72px; }
.hero-copy { max-width: 670px; }
.hero-copy .thesis-kicker { color: #8c9187; }
.hero-copy h1 { max-width: 660px; margin: 20px 0 0; color: var(--thesis-white); font-size: clamp(42px, 5vw, 60px); font-weight: 600; line-height: 1.02; letter-spacing: -.045em; }
.hero-copy > p:not(.thesis-kicker) { max-width: 570px; margin: 24px 0 0; color: #a4a99e; font-size: 16px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; margin-top: 30px; }
.hero-actions a { display: inline-flex; align-items: center; gap: 10px; border-radius: 8px; background: var(--thesis-lime); color: var(--thesis-ink); padding: 13px 17px; font-size: 12px; font-weight: 700; text-decoration: none; }
.hero-actions > span { color: #81867c; font: 500 8px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }

.thesis-map { border: 1px solid var(--thesis-dark-line); border-radius: 8px; padding: 25px; }
.thesis-map header,
.thesis-map footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #777c72; font: 500 8px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.thesis-map header strong { color: var(--thesis-lime); font-weight: 500; }
.map-field { position: relative; height: 230px; margin: 20px 0 14px; border-left: 1px solid var(--thesis-dark-line); border-bottom: 1px solid var(--thesis-dark-line); background-image: linear-gradient(to right, transparent 33%, var(--thesis-dark-line) 33%, var(--thesis-dark-line) calc(33% + 1px), transparent calc(33% + 1px), transparent 66%, var(--thesis-dark-line) 66%, var(--thesis-dark-line) calc(66% + 1px), transparent calc(66% + 1px)), linear-gradient(to bottom, transparent 33%, var(--thesis-dark-line) 33%, var(--thesis-dark-line) calc(33% + 1px), transparent calc(33% + 1px), transparent 66%, var(--thesis-dark-line) 66%, var(--thesis-dark-line) calc(66% + 1px), transparent calc(66% + 1px)); }
.map-point { position: absolute; display: flex; align-items: center; gap: 8px; color: var(--thesis-white); font: 500 8px/1.2 "IBM Plex Mono", monospace; letter-spacing: .07em; text-decoration: none; white-space: nowrap; }
.map-point i { width: 12px; height: 12px; flex: 0 0 auto; border-radius: 50%; background: var(--thesis-lime); }
.map-point:hover span, .map-point:focus-visible span { color: var(--thesis-lime); }
.map-point.pending { color: #787d73; }
.map-point.pending i { border: 1px solid #777c72; background: var(--thesis-ink); }
.point-one { left: 8%; top: 64%; }
.point-two { left: 39%; top: 42%; }
.point-three { left: 13%; top: 19%; }
.point-four { left: 58%; top: 7%; font-weight: 700; }
.point-four i { width: 18px; height: 18px; }
.point-five { left: 45%; top: 80%; }
.point-six { left: 71%; top: 57%; }

.published-papers { background: var(--thesis-cream); padding: 64px 0 72px; }
.library-section-heading { display: grid; gap: 12px; max-width: 800px; padding-bottom: 24px; }
.library-section-heading > p { color: var(--thesis-gray); }
.library-section-heading h2,
.research-heading h2 { margin: 0; font-size: clamp(28px, 3.2vw, 36px); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.library-section-heading > span,
.research-heading > span { color: var(--thesis-gray); font-size: 14px; line-height: 1.65; }

.paper-list { border-top: 1px solid rgba(16, 17, 15, .14); }
.paper-row { display: grid; grid-template-columns: 105px minmax(0, 1fr) 320px; gap: 34px; align-items: start; border-bottom: 1px solid rgba(16, 17, 15, .14); padding: 38px 20px 38px 0; color: var(--thesis-ink); text-decoration: none; transition: background-color .18s ease, padding-left .18s ease; }
.paper-row:hover,
.paper-row:focus-visible { background: rgba(255, 255, 255, .55); padding-left: 20px; }
.paper-index { display: grid; justify-items: start; gap: 12px; }
.paper-index > strong { font-size: 50px; font-weight: 600; line-height: 1; letter-spacing: -.045em; }
.paper-index > span { color: var(--thesis-gray); font: 500 8px/1.3 "IBM Plex Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.paper-index .new-label { border-radius: 6px; background: var(--thesis-lime); color: var(--thesis-ink); padding: 6px 8px; font-weight: 700; }
.paper-row-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; padding-top: 3px; }
.paper-row-copy > span { color: var(--thesis-gray); font: 500 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.paper-row-copy h3 { margin: 0; font-size: clamp(26px, 3vw, 32px); font-weight: 600; line-height: 1.14; letter-spacing: -.035em; }
.paper-row-copy p { max-width: 630px; margin: 0; color: var(--thesis-gray); font-size: 14px; line-height: 1.65; }
.paper-row-copy b { margin-top: 3px; border-bottom: 2px solid var(--thesis-lime); padding-bottom: 3px; font-size: 12px; }

.paper-schematic { height: 176px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 8px; background: var(--thesis-ink); padding: 22px; color: var(--thesis-white); }
.paper-schematic small,
.paper-schematic em { color: #858a80; font: 500 8px/1.3 "IBM Plex Mono", monospace; font-style: normal; letter-spacing: .12em; text-transform: uppercase; }
.paper-schematic em { color: var(--thesis-lime); }
.framework-schematic > div,
.bottleneck-schematic > div { display: flex; flex-direction: column; gap: 6px; }
.framework-schematic i,
.bottleneck-schematic i { height: 6px; border-radius: 4px; background: #45483f; }
.framework-schematic i:nth-child(1) { width: 100%; }
.framework-schematic i:nth-child(2) { width: 88%; }
.framework-schematic i:nth-child(3) { width: 76%; }
.framework-schematic i:nth-child(4) { width: 64%; background: var(--thesis-lime); }
.framework-schematic i:nth-child(5) { width: 52%; }
.framework-schematic i:nth-child(6) { width: 42%; }
.framework-schematic i:nth-child(7) { width: 30%; }
.model-flow { display: flex; align-items: center; gap: 20px; }
.model-flow > i { width: 60px; height: 60px; border: 1px solid #52564c; border-radius: 6px; }
.model-flow > b { color: #898e84; font-size: 14px; font-weight: 400; }
.model-flow > span { display: grid; grid-template-columns: repeat(4, 10px); gap: 6px; }
.model-flow > span i { width: 10px; height: 10px; border-radius: 2px; background: var(--thesis-lime); }
.model-flow > span i:nth-child(4n),
.model-flow > span i:nth-child(6) { background: #4a4d45; }
.stack-schematic > div { display: flex; flex-direction: column; gap: 7px; }
.stack-schematic i { display: grid; grid-template-columns: 1fr 62px; align-items: center; gap: 10px; }
.stack-schematic i b { height: 10px; border-radius: 3px; background: #4a4d45; }
.stack-schematic i:first-child b { background: var(--thesis-lime); }
.stack-schematic i span { color: #858a80; font: 500 7px/1 "IBM Plex Mono", monospace; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.stack-schematic i:first-child span { color: var(--thesis-lime); }
.bottleneck-schematic > div { align-items: center; }
.bottleneck-schematic i:nth-child(1) { width: 100%; }
.bottleneck-schematic i:nth-child(2) { width: 82%; }
.bottleneck-schematic i:nth-child(3) { width: 58%; }
.bottleneck-schematic i:nth-child(4) { width: 32%; background: var(--thesis-lime); }
.bottleneck-schematic i:nth-child(5) { width: 56%; }
.bottleneck-schematic i:nth-child(6) { width: 74%; }

.research-agenda { background: var(--thesis-ink); color: var(--thesis-white); padding: 72px 0; }
.research-heading { display: grid; gap: 12px; max-width: 680px; }
.research-heading > p { color: #858a80; }
.research-heading > span { color: #8f9489; }
.research-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); list-style: none; margin: 46px 0 44px; padding: 0; }
.research-timeline::before { content: ""; position: absolute; top: 6px; right: 0; left: 0; border-top: 1px solid var(--thesis-dark-line); }
.research-timeline li { position: relative; display: grid; justify-items: start; gap: 8px; }
.research-timeline i { z-index: 1; width: 13px; height: 13px; margin-bottom: 7px; border: 1px solid #6e7369; border-radius: 50%; background: var(--thesis-ink); }
.research-timeline .complete i { border-color: var(--thesis-lime); background: var(--thesis-lime); }
.research-timeline strong { color: var(--thesis-lime); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.research-timeline span { max-width: 110px; color: #8d9288; font-size: 10px; line-height: 1.35; }
.development-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.development-grid article { min-height: 340px; display: flex; flex-direction: column; border: 1px solid var(--thesis-dark-line); border-radius: 8px; padding: 28px; }
.development-grid article > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.development-grid article > header strong { color: #7d8278; font-size: 24px; letter-spacing: .08em; }
.development-grid article > header span { color: var(--thesis-lime); font: 500 8px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.development-grid h3 { margin: 20px 0 10px; font-size: 25px; letter-spacing: -.035em; }
.development-grid p { max-width: 550px; margin: 0; color: #92978d; font-size: 14px; line-height: 1.65; }
.development-grid article > footer { display: flex; justify-content: space-between; margin-top: 10px; color: #777c72; font: 500 8px/1.3 "IBM Plex Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.development-grid article > footer span:last-child { color: var(--thesis-lime); }
.cycle-chart { height: 90px; display: flex; align-items: end; gap: 8px; border-bottom: 1px solid var(--thesis-dark-line); margin-top: auto; padding-inline: 8px; }
.cycle-chart i { flex: 1; border-radius: 3px 3px 0 0; background: #464940; }
.cycle-chart i:nth-child(1) { height: 18%; }
.cycle-chart i:nth-child(2) { height: 38%; }
.cycle-chart i:nth-child(3) { height: 76%; background: var(--thesis-lime); }
.cycle-chart i:nth-child(4) { height: 31%; }
.cycle-chart i:nth-child(5) { height: 23%; }
.cycle-chart i:nth-child(6) { height: 49%; }
.cycle-chart i:nth-child(7) { height: 86%; background: var(--thesis-lime); }
.cycle-chart i:nth-child(8) { height: 36%; }
.currency-chart { position: relative; height: 90px; overflow: hidden; border-bottom: 1px solid var(--thesis-dark-line); margin-top: auto; }
.currency-chart i { position: absolute; left: 2%; width: 96%; height: 2px; transform-origin: left center; }
.currency-chart i:first-child { bottom: 25px; background: var(--thesis-lime); transform: rotate(-10deg); }
.currency-chart i:last-child { top: 27px; background: #555950; transform: rotate(10deg); }

.working-method { background: var(--thesis-cream); padding: 64px 0; }
.method-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: start; }
.working-method header { display: grid; gap: 13px; }
.working-method header > p { color: var(--thesis-gray); }
.working-method h2 { margin: 0; font-size: 31px; line-height: 1.08; letter-spacing: -.035em; }
.working-method header > span { color: var(--thesis-gray); font-size: 12px; line-height: 1.6; }
.working-method ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
.working-method li { min-height: 180px; border: 1px solid rgba(16, 17, 15, .14); border-radius: 8px; background: var(--thesis-white); padding: 26px; }
.working-method li strong { font: 700 10px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.working-method li h3 { margin: 28px 0 10px; font-size: 16px; letter-spacing: -.025em; }
.working-method li p { margin: 0; color: var(--thesis-gray); font-size: 12px; line-height: 1.6; }

@media (max-width: 980px) {
  .hero-layout { grid-template-columns: 1fr; }
  .thesis-map { max-width: 620px; }
  .paper-row { grid-template-columns: 90px minmax(0, 1fr); }
  .paper-schematic { grid-column: 2; width: min(100%, 440px); }
  .method-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .thesis-shell { width: min(100% - 30px, 1180px); }
  .hero-layout { min-height: 0; gap: 42px; padding-block: 54px; }
  .hero-copy h1 { font-size: clamp(40px, 12vw, 54px); }
  .hero-copy > p:not(.thesis-kicker) { font-size: 15px; }
  .thesis-map { padding: 20px 17px; }
  .map-field { height: 250px; }
  .map-point { font-size: 7px; white-space: normal; }
  .point-one { left: 6%; }
  .point-two { left: 34%; }
  .point-three { left: 8%; }
  .point-four { left: 51%; }
  .point-five { left: 38%; }
  .point-six { left: 64%; }
  .thesis-map footer { align-items: flex-start; font-size: 7px; }
  .published-papers { padding: 52px 0 60px; }
  .paper-row { grid-template-columns: 48px 1fr; gap: 18px; padding: 32px 0; }
  .paper-row:hover,
  .paper-row:focus-visible { padding-left: 0; }
  .paper-index > strong { font-size: 34px; }
  .paper-row-copy h3 { font-size: 25px; }
  .paper-schematic { grid-column: 1 / 3; width: 100%; }
  .research-agenda { padding: 58px 0; }
  .research-timeline { grid-template-columns: repeat(3, 1fr); gap: 24px 0; }
  .research-timeline::before { display: none; }
  .research-timeline li { border-top: 1px solid var(--thesis-dark-line); padding-top: 14px; }
  .development-grid { grid-template-columns: 1fr; }
  .working-method { padding: 54px 0; }
  .working-method ol { grid-template-columns: 1fr; }
  .working-method li { min-height: 0; }
}

@media (max-width: 440px) {
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .map-point span { max-width: 78px; }
  .paper-schematic { height: 165px; padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .paper-row { transition: none; }
}
