:root {
  color-scheme: dark;
  --ink: #f7f1df;
  --paper: #eee2c9;
  --paper-ink: #191d1d;
  --paper-soft: #5b625f;
  --blue-black: #06121c;
  --blue-deep: #0a3146;
  --blue-mid: #0e5a72;
  --cyan: #7fc9d7;
  --gold: #d6b666;
  --rust: #9a6959;
  --line: rgba(247, 241, 223, 0.22);
  --paper-line: rgba(25, 29, 29, 0.16);
  --sans:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --serif:
    "Noto Serif KR", "Apple SD Gothic Neo", "Malgun Gothic", Georgia, serif;
  --display: Georgia, "Times New Roman", "Noto Serif KR", serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background: var(--blue-black);
  font-family: var(--serif);
  line-height: 1.82;
  letter-spacing: 0;
  word-break: keep-all;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2 {
  margin-top: 0;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 64px;
  padding: 0 clamp(18px, 4vw, 54px);
  color: rgba(247, 241, 223, 0.88);
  background: linear-gradient(
    180deg,
    rgba(3, 12, 18, 0.74),
    rgba(3, 12, 18, 0)
  );
  font-family: var(--sans);
}

.brand {
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-header nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 3vw, 34px);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.archive-page {
  background: #070f14;
}

.archive-front {
  position: relative;
  display: grid;
  grid-template-rows: minmax(420px, 0.9fr) auto;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

.archive-image,
.archive-shade {
  position: absolute;
  inset: 0;
}

.archive-image {
  z-index: -3;
  background-image: url("./assets/universe-reference.jpg");
  background-position: center 42%;
  background-size: cover;
  filter: saturate(0.66) contrast(1.08) brightness(0.74);
  transform: scale(1.01);
}

.archive-shade {
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(3, 12, 17, 0.9),
      rgba(3, 12, 17, 0.28) 62%,
      rgba(28, 18, 17, 0.52)
    ),
    linear-gradient(
      180deg,
      rgba(3, 10, 15, 0.3),
      rgba(3, 10, 15, 0.16) 44%,
      rgba(3, 10, 15, 0.94)
    );
}

.archive-intro {
  align-self: end;
  width: min(1180px, calc(100% - 48px));
  padding: 118px 0 clamp(42px, 6vw, 76px);
  margin: 0 auto;
}

.archive-intro h1 {
  max-width: 12ch;
  margin-bottom: 24px;
  font-size: clamp(4rem, 8vw, 8.2rem);
  line-height: 0.9;
}

.archive-intro > p:last-child {
  max-width: 720px;
  margin-bottom: 0;
  color: rgba(247, 241, 223, 0.82);
  font-size: clamp(1.02rem, 1.6vw, 1.22rem);
  line-height: 1.78;
}

.scholar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 clamp(18px, 3vw, 48px) 32px;
}

.scholar-card {
  display: grid;
  grid-template-rows: auto 1fr auto auto auto;
  align-content: start;
  gap: 10px;
  min-width: 0;
  min-height: 268px;
  padding: 26px 24px 22px;
  border-top: 1px solid rgba(247, 241, 223, 0.28);
  border-bottom: 1px solid rgba(247, 241, 223, 0.2);
  border-left: 1px solid rgba(247, 241, 223, 0.16);
  background: rgba(4, 14, 19, 0.58);
  backdrop-filter: blur(12px);
  transition: background-color 180ms ease;
}

.scholar-card:last-child {
  border-right: 1px solid rgba(247, 241, 223, 0.16);
}
.scholar-card:hover,
.scholar-card:focus-visible {
  background: rgba(21, 45, 52, 0.88);
  outline: none;
}
.scholar-augustine:hover,
.scholar-augustine:focus-visible {
  background: rgba(77, 49, 53, 0.9);
}
.scholar-aquinas:hover,
.scholar-aquinas:focus-visible {
  background: rgba(67, 57, 42, 0.92);
}
.scholar-tillich:hover,
.scholar-tillich:focus-visible {
  background: rgba(47, 58, 48, 0.92);
}

.scholar-number,
.scholar-name,
.scholar-open {
  font-family: var(--sans);
}

.scholar-number {
  color: var(--gold);
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.scholar-card strong {
  align-self: end;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(1.7rem, 2.6vw, 2.7rem);
  font-weight: 500;
  line-height: 1.02;
}

.scholar-name {
  color: rgba(247, 241, 223, 0.84);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.5;
}
.scholar-card small {
  min-height: 3.1em;
  color: rgba(247, 241, 223, 0.58);
  font-size: 0.8rem;
  line-height: 1.55;
}
.scholar-open {
  padding-top: 12px;
  border-top: 1px solid rgba(247, 241, 223, 0.18);
  color: rgba(247, 241, 223, 0.9);
  font-size: 0.72rem;
  font-weight: 800;
}

.archive-about {
  display: grid;
  grid-template-columns: minmax(160px, 0.28fr) minmax(0, 1fr);
  gap: clamp(32px, 8vw, 120px);
  padding: clamp(74px, 10vw, 138px) clamp(20px, 7vw, 104px);
  background: #eee7d7;
  color: #1a1d1c;
}

.archive-about h2 {
  margin-bottom: 24px;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  line-height: 1.05;
}
.archive-about div > p {
  max-width: 820px;
  margin-bottom: 0;
  color: #4f5552;
  font-size: clamp(1.06rem, 1.6vw, 1.24rem);
}

.archive-sequence {
  display: grid;
  grid-template-columns: 1fr 2fr repeat(4, auto);
  align-items: center;
  gap: clamp(18px, 4vw, 58px);
  padding: 40px clamp(20px, 7vw, 104px);
  background: #10242b;
  border-top: 1px solid rgba(247, 241, 223, 0.14);
}

.archive-sequence p {
  margin-bottom: 0;
}
.archive-sequence > p:not(.kicker) {
  color: rgba(247, 241, 223, 0.7);
  font-size: 0.94rem;
}
.archive-sequence > span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 850;
}

.front {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #06121c;
}

.front-image,
.front-shade {
  position: absolute;
  inset: 0;
}

.front-image {
  z-index: -3;
  background-image: url("./assets/universe-reference.jpg");
  background-position: center;
  background-size: cover;
  transform: scale(1.012);
}

.front-shade {
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(3, 10, 17, 0.78) 0%,
      rgba(3, 10, 17, 0.45) 34%,
      rgba(3, 10, 17, 0.18) 64%,
      rgba(3, 10, 17, 0.5) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3, 10, 17, 0.5) 0%,
      rgba(3, 10, 17, 0.06) 28%,
      rgba(3, 10, 17, 0.1) 65%,
      rgba(3, 10, 17, 0.86) 100%
    );
}

.front::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    linear-gradient(rgba(247, 241, 223, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 241, 223, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.04));
  mix-blend-mode: overlay;
}

.front-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100svh;
  width: min(1140px, calc(100% - 40px));
  padding: 120px 0 clamp(52px, 8vw, 96px);
  margin: 0 auto;
}

.issue,
.kicker {
  margin-bottom: 18px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.35;
  text-transform: uppercase;
}

h1 {
  max-width: 9.5ch;
  margin-bottom: 26px;
  font-family: var(--display);
  font-size: clamp(4.6rem, 13.8vw, 12.6rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.82;
  text-shadow: 0 16px 80px rgba(0, 0, 0, 0.5);
}

.deck {
  max-width: 760px;
  margin-bottom: 34px;
  color: rgba(247, 241, 223, 0.84);
  font-size: clamp(1.06rem, 2vw, 1.28rem);
  line-height: 1.78;
  text-shadow: 0 8px 44px rgba(0, 0, 0, 0.62);
}

.front-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.front-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(247, 241, 223, 0.5);
  border-radius: 999px;
  background: rgba(4, 18, 28, 0.34);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.front-actions a:first-child {
  border-color: rgba(214, 182, 102, 0.8);
  background: rgba(214, 182, 102, 0.92);
  color: #07121a;
}

.front-meta {
  position: absolute;
  right: clamp(18px, 4vw, 54px);
  bottom: clamp(24px, 5vw, 58px);
  display: grid;
  gap: 8px;
  color: rgba(247, 241, 223, 0.7);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-align: right;
  text-transform: uppercase;
}

.opening {
  display: grid;
  grid-template-columns: minmax(160px, 0.32fr) minmax(0, 1fr);
  gap: clamp(28px, 7vw, 96px);
  padding: clamp(58px, 8vw, 108px) clamp(20px, 6vw, 84px);
  background:
    linear-gradient(135deg, rgba(11, 55, 76, 0.86), rgba(5, 18, 28, 0.98)),
    var(--blue-deep);
  border-top: 1px solid rgba(247, 241, 223, 0.14);
  border-bottom: 1px solid rgba(247, 241, 223, 0.14);
}

.opening p:last-child {
  max-width: 960px;
  margin-bottom: 0;
  color: rgba(247, 241, 223, 0.9);
  font-size: clamp(1.32rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.55;
}

.part-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 clamp(20px, 6vw, 84px);
  background: #091923;
  border-bottom: 1px solid rgba(247, 241, 223, 0.14);
}

.part-index a {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 54px);
  border-left: 1px solid rgba(247, 241, 223, 0.14);
}

.part-index a:last-child {
  border-right: 1px solid rgba(247, 241, 223, 0.14);
}

.part-index span,
.part-index small {
  color: rgba(247, 241, 223, 0.56);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-transform: uppercase;
}

.part-index strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.62rem;
  line-height: 1.4;
}

.part-index small {
  letter-spacing: 0;
  text-transform: none;
}

.interview-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(80px, 0.16fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 60px);
  padding: clamp(56px, 8vw, 110px) clamp(20px, 6vw, 84px);
  background:
    linear-gradient(
      90deg,
      rgba(238, 226, 201, 0.95),
      rgba(238, 226, 201, 0.99)
    ),
    var(--paper);
  color: var(--paper-ink);
}

.side-rail {
  position: sticky;
  top: 92px;
  align-self: start;
  display: grid;
  gap: 6px;
  padding-top: 4px;
  color: rgba(25, 29, 29, 0.54);
  font-family: var(--sans);
  font-size: clamp(0.75rem, 1.2vw, 0.95rem);
  font-weight: 850;
  letter-spacing: 0.18em;
  line-height: 1.25;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.side-rail::before {
  display: block;
  width: 1px;
  height: 120px;
  margin: 0 auto 24px;
  background: var(--paper-line);
  content: "";
}

.interview {
  max-width: 980px;
}

.part-heading {
  padding-bottom: clamp(44px, 7vw, 78px);
  border-bottom: 1px solid var(--paper-line);
}

.part-label,
.tractatus-ref {
  margin-bottom: 16px;
  color: var(--rust);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.part-heading h2 {
  max-width: 900px;
  margin-bottom: 20px;
  color: #07121a;
  font-family: var(--serif);
  font-size: 4.8rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
}

.part-heading > p:last-of-type {
  max-width: 780px;
  margin-bottom: 0;
  color: #3b4542;
  font-size: 1.16rem;
  line-height: 1.8;
}

.part-heading + .qa {
  padding-top: clamp(44px, 6vw, 70px);
}

.qa {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: clamp(20px, 4vw, 52px);
  padding: clamp(30px, 5vw, 58px) 0;
  border-bottom: 1px solid var(--paper-line);
}

.qa:first-child {
  padding-top: 0;
}

.speaker {
  margin: 0;
  color: var(--rust);
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.qa-body h2 {
  margin-bottom: 20px;
  color: #07121a;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.8vw, 2.32rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.38;
}

.qa-body p {
  max-width: 760px;
  margin-bottom: 1.05em;
  color: #29302f;
  font-size: clamp(1rem, 1.32vw, 1.13rem);
  line-height: 1.9;
}

.qa-body p:last-child {
  margin-bottom: 0;
}

.qa-body .tractatus-ref {
  max-width: none;
  margin-bottom: 10px;
  color: #236074;
  font-size: 0.72rem;
  line-height: 1.4;
}

.tractatus-shell {
  background:
    linear-gradient(
      90deg,
      rgba(219, 227, 224, 0.97),
      rgba(237, 241, 237, 0.99)
    ),
    #e3e9e6;
}

.tractatus-shell .side-rail {
  color: rgba(9, 66, 79, 0.62);
}

.tractatus-heading {
  border-bottom-color: rgba(9, 66, 79, 0.2);
}

.tractatus-map {
  display: grid;
  grid-template-columns: repeat(7, minmax(96px, 1fr));
  gap: 0;
  max-width: 900px;
  padding: clamp(32px, 5vw, 52px) 0 0;
  margin: 0;
  overflow-x: auto;
  list-style: none;
}

.tractatus-map li {
  display: grid;
  gap: 8px;
  min-width: 96px;
  padding: 14px 10px 0 0;
  border-top: 1px solid rgba(9, 66, 79, 0.32);
  color: #344542;
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.4;
}

.tractatus-map span {
  color: #236074;
  font-size: 0.68rem;
  font-weight: 900;
}

.notes {
  display: grid;
  grid-template-columns: minmax(130px, 0.18fr) minmax(0, 1fr);
  gap: clamp(20px, 5vw, 58px);
  padding: clamp(54px, 8vw, 96px) clamp(20px, 6vw, 84px);
  background: #07121a;
  color: var(--ink);
}

.notes .kicker {
  margin-bottom: 0;
}

.notes > p {
  max-width: 900px;
  margin-bottom: 0;
  color: rgba(247, 241, 223, 0.78);
  font-size: clamp(0.98rem, 1.4vw, 1.08rem);
}

.site-visitor-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 46px;
  padding: 12px clamp(18px, 4vw, 54px) 14px;
  border-top: 1px solid rgba(247, 241, 223, 0.14);
  color: var(--ink);
  background: #040b0f;
  font-family: var(--sans);
}

.visitor-counts {
  margin: 0;
}

.visitor-counts {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
}

.visitor-counts > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 0;
}

.visitor-counts > div + div {
  padding-left: 14px;
  border-left: 1px solid rgba(247, 241, 223, 0.18);
}

.visitor-counts dt {
  color: rgba(247, 241, 223, 0.46);
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.visitor-counts dd {
  min-width: 1.5ch;
  margin: 0;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  line-height: 1;
  text-align: right;
}

.work-front h1 {
  max-width: 14ch;
  font-size: 7.2rem;
  line-height: 0.92;
  overflow-wrap: anywhere;
}

.investigations-front .front-image {
  background-position: 50% 38%;
  filter: saturate(0.82) contrast(1.04);
}

.certainty-front .front-image {
  background-position: 50% 62%;
  filter: saturate(0.62) contrast(1.1) brightness(0.84);
}

.certainty-page .work-overview,
.certainty-page .work-return,
.works-next-certainty {
  background: #17312f;
}

.certainty-page .chapter-index {
  background: #0d1f1d;
}

.certainty-page .work-facts div {
  border-top-color: rgba(153, 197, 173, 0.42);
}

.certainty-page .work-facts dt,
.certainty-page .chapter-index span {
  color: #9bc7ae;
}

.blue-brown-front .front-image {
  background-position: 50% 45%;
  filter: saturate(0.68) contrast(1.08) brightness(0.82);
}

.blue-brown-front .front-shade {
  background:
    linear-gradient(
      90deg,
      rgba(4, 23, 34, 0.8) 0%,
      rgba(4, 23, 34, 0.42) 48%,
      rgba(55, 35, 28, 0.48) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3, 10, 17, 0.52) 0%,
      rgba(3, 10, 17, 0.08) 38%,
      rgba(20, 13, 11, 0.9) 100%
    );
}

.blue-brown-page .work-overview,
.blue-brown-page .work-return,
.works-next-blue-brown {
  background: #302925;
}

.blue-brown-page .chapter-index {
  background: #102633;
}

.blue-brown-page .work-facts div {
  border-top-color: rgba(205, 158, 119, 0.45);
}

.blue-brown-page .work-facts dt,
.blue-brown-page .chapter-index span {
  color: #d3a77f;
}

.scholar-front h1 {
  max-width: 13ch;
  font-size: 6.4rem;
}
.scholar-page .chapter-index {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.scholar-page .chapter-index a:last-child {
  border-right: 1px solid rgba(247, 241, 223, 0.14);
}

.augustine-front .front-image {
  background-position: 30% 34%;
  filter: saturate(0.56) sepia(0.14) contrast(1.08) brightness(0.76);
}
.augustine-front .front-shade {
  background:
    linear-gradient(
      90deg,
      rgba(30, 13, 21, 0.84),
      rgba(30, 13, 21, 0.3) 62%,
      rgba(7, 18, 25, 0.5)
    ),
    linear-gradient(
      180deg,
      rgba(8, 12, 18, 0.34),
      rgba(8, 12, 18, 0.08) 42%,
      rgba(20, 9, 15, 0.9)
    );
}
.augustine-page .work-overview,
.augustine-page .work-return {
  background: #41252d;
}
.augustine-page .chapter-index {
  background: #24171c;
}
.augustine-page .work-facts dt,
.augustine-page .chapter-index span {
  color: #d9a38f;
}

.aquinas-front .front-image {
  background-position: 66% 48%;
  filter: saturate(0.42) sepia(0.22) contrast(1.12) brightness(0.74);
}
.aquinas-front .front-shade {
  background:
    linear-gradient(
      90deg,
      rgba(25, 22, 16, 0.86),
      rgba(25, 22, 16, 0.32) 62%,
      rgba(9, 20, 25, 0.48)
    ),
    linear-gradient(
      180deg,
      rgba(8, 12, 16, 0.3),
      rgba(8, 12, 16, 0.08) 42%,
      rgba(22, 19, 13, 0.92)
    );
}
.aquinas-page .work-overview,
.aquinas-page .work-return {
  background: #3a3325;
}
.aquinas-page .chapter-index {
  background: #1e1b15;
}
.aquinas-page .work-facts dt,
.aquinas-page .chapter-index span {
  color: #d6bc78;
}

.tillich-front .front-image {
  background-position: 50% 66%;
  filter: saturate(0.54) contrast(1.1) brightness(0.72);
}
.tillich-front .front-shade {
  background:
    linear-gradient(
      90deg,
      rgba(10, 29, 29, 0.86),
      rgba(10, 29, 29, 0.3) 58%,
      rgba(51, 26, 20, 0.54)
    ),
    linear-gradient(
      180deg,
      rgba(6, 14, 17, 0.34),
      rgba(6, 14, 17, 0.08) 42%,
      rgba(7, 24, 23, 0.92)
    );
}
.tillich-page .work-overview,
.tillich-page .work-return {
  background: #213a35;
}
.tillich-page .chapter-index {
  background: #10231f;
}
.tillich-page .work-facts dt,
.tillich-page .chapter-index span {
  color: #9fc2aa;
}

.augustine-page .scholar-work-next {
  background: #301c23;
}

.aquinas-page .scholar-work-next {
  background: #29251b;
}

.tillich-page .scholar-work-next {
  background: #172f2b;
}

.augustine-page .scholar-work-next-secondary {
  background: #3a2028;
}

.aquinas-page .scholar-work-next-secondary {
  background: #312b1f;
}

.tillich-page .scholar-work-next-secondary {
  background: #1c3530;
}

.mathematics-front .front-image {
  background-position: 58% 40%;
  filter: saturate(0.48) contrast(1.12) brightness(0.72);
}

.mathematics-front .front-shade {
  background:
    linear-gradient(90deg, rgba(9, 24, 31, 0.88), rgba(9, 24, 31, 0.3) 62%),
    linear-gradient(180deg, rgba(4, 12, 18, 0.26), rgba(4, 12, 18, 0.92));
}

.mathematics-front h1 {
  max-width: 14ch;
  font-size: 5.7rem;
}

.mathematics-page .work-overview,
.mathematics-page .work-return,
.works-next-mathematics {
  background: #26383d;
}

.mathematics-page .chapter-index {
  background: #111f24;
}

.mathematics-page .work-facts dt,
.mathematics-page .chapter-index span {
  color: #9cc7c2;
}

.teacher-front h1,
.law-front h1,
.dynamics-front h1 {
  max-width: 12ch;
  font-size: 6.5rem;
}

.teacher-front .front-image {
  background-position: 22% 54%;
}

.law-front .front-image {
  background-position: 72% 58%;
}

.dynamics-front .front-image {
  background-position: 58% 60%;
}

.doctrine-front h1,
.essence-front h1 {
  max-width: 12ch;
  font-size: 6.4rem;
}

.courage-front h1 {
  max-width: 11ch;
  font-size: 6.8rem;
}

.doctrine-front .front-image {
  background-position: 24% 32%;
}

.essence-front .front-image {
  background-position: 70% 46%;
}

.courage-front .front-image {
  background-position: 55% 70%;
}

.work-overview {
  display: grid;
  grid-template-columns: minmax(220px, 0.5fr) minmax(0, 1fr);
  gap: clamp(36px, 7vw, 100px);
  padding: clamp(64px, 8vw, 112px) clamp(20px, 6vw, 84px);
  background: #0b2834;
  border-bottom: 1px solid rgba(247, 241, 223, 0.14);
}

.work-overview h2,
.work-return h2,
.works-next h2 {
  max-width: 900px;
  margin-bottom: 20px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 4.3rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.scholar-profile h2 {
  font-size: clamp(2.7rem, 4vw, 4.3rem);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.work-overview-copy > p {
  max-width: 800px;
  margin-bottom: 38px;
  color: rgba(247, 241, 223, 0.88);
  font-size: 1.18rem;
  line-height: 1.85;
}

.work-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 900px;
  margin: 0;
}

.work-facts div {
  min-width: 0;
  padding: 16px 20px 0 0;
  border-top: 1px solid rgba(127, 201, 215, 0.34);
}

.work-facts dt {
  margin-bottom: 8px;
  color: var(--cyan);
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.work-facts dd {
  margin: 0;
  color: rgba(247, 241, 223, 0.76);
  font-family: var(--sans);
  font-size: 0.84rem;
  line-height: 1.6;
}

.chapter-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 clamp(20px, 6vw, 84px);
  background: #081820;
  border-bottom: 1px solid rgba(247, 241, 223, 0.14);
}

.chapter-index a {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 30px 20px 34px;
  border-left: 1px solid rgba(247, 241, 223, 0.14);
}

.chapter-index a:last-child {
  border-right: 1px solid rgba(247, 241, 223, 0.14);
}

.chapter-index span,
.chapter-index small {
  color: rgba(127, 201, 215, 0.72);
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.chapter-index strong {
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.45;
}

.chapter-index small {
  color: rgba(247, 241, 223, 0.5);
  letter-spacing: 0;
  text-transform: none;
}

.work-chapter-shell {
  scroll-margin-top: 68px;
}

.work-chapter-alt {
  background:
    linear-gradient(
      90deg,
      rgba(219, 227, 224, 0.97),
      rgba(237, 241, 237, 0.99)
    ),
    #e3e9e6;
}

.work-return,
.works-next {
  padding: clamp(64px, 9vw, 118px) clamp(20px, 8vw, 120px);
  background: #0b2834;
  border-top: 1px solid rgba(247, 241, 223, 0.14);
  border-bottom: 1px solid rgba(247, 241, 223, 0.14);
}

.work-return > p:not(.kicker),
.works-next > p:not(.kicker) {
  max-width: 760px;
  color: rgba(247, 241, 223, 0.76);
  font-size: 1.1rem;
}

.work-return > a,
.works-next > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 16px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--gold);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 0.88rem;
  font-weight: 800;
}

.work-return > a + a {
  margin-left: 28px;
}

.archive-lab {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: clamp(42px, 8vw, 120px);
  padding: clamp(72px, 9vw, 124px) clamp(20px, 7vw, 104px);
  color: var(--ink);
  background: #503137;
  border-bottom: 1px solid rgba(247, 241, 223, 0.16);
}

.archive-lab h2 {
  max-width: 720px;
  margin-bottom: 24px;
  font-size: clamp(2.9rem, 5.2vw, 5.4rem);
  line-height: 1.02;
}

.archive-lab-copy > p {
  max-width: 760px;
  color: rgba(247, 241, 223, 0.82);
  font-size: 1.12rem;
}

.archive-lab-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 0;
  margin: 40px 0 28px;
  list-style: none;
}

.archive-lab-steps li {
  min-width: 0;
  padding: 14px 14px 0 0;
  border-top: 1px solid rgba(247, 241, 223, 0.25);
  color: rgba(247, 241, 223, 0.76);
  font-family: var(--sans);
  font-size: 0.78rem;
  line-height: 1.55;
}

.archive-lab-steps span {
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-weight: 800;
}

.archive-lab a,
.inquiry-next a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--gold);
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 800;
}

.inquiry-next {
  display: grid;
  grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
  gap: clamp(36px, 7vw, 100px);
  padding: clamp(68px, 8vw, 108px) clamp(20px, 7vw, 98px);
  color: var(--ink);
  background: #173e43;
  border-block: 1px solid rgba(247, 241, 223, 0.14);
}

.inquiry-next h2 {
  max-width: 860px;
  margin-bottom: 18px;
  font-size: clamp(2.7rem, 4.6vw, 4.9rem);
  line-height: 1.08;
}

.inquiry-next-copy > p {
  max-width: 760px;
  color: rgba(247, 241, 223, 0.8);
  font-size: 1.08rem;
}

.lab-page {
  color: var(--ink);
  background: #071513;
}

.lab-header {
  color: rgba(247, 241, 223, 0.92);
}

.lab-workbench {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(560px, 1.3fr);
  gap: clamp(44px, 7vw, 108px);
  min-height: 100svh;
  padding: 112px clamp(20px, 5vw, 72px) 72px;
  overflow: hidden;
  isolation: isolate;
}

.lab-workbench-image,
.lab-workbench-shade {
  position: absolute;
  inset: 0;
}

.lab-workbench-image {
  z-index: -3;
  background-image: url("./assets/universe-reference.jpg");
  background-position: 50% 42%;
  background-size: cover;
  filter: saturate(0.6) contrast(1.1) brightness(0.62);
  transform: scale(1.01);
}

.lab-workbench-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(4, 18, 22, 0.93), rgba(4, 18, 22, 0.62)),
    linear-gradient(180deg, rgba(4, 10, 14, 0.28), rgba(4, 10, 14, 0.92));
}

.lab-intro {
  align-self: start;
  max-width: 560px;
  padding-top: clamp(16px, 4vw, 58px);
}

.lab-intro h1 {
  max-width: 8ch;
  margin-bottom: 26px;
  font-size: clamp(4rem, 7vw, 7.4rem);
  line-height: 0.9;
}

.lab-intro > p:not(.issue) {
  max-width: 540px;
  color: rgba(247, 241, 223, 0.82);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.depth-guide {
  padding: 0;
  margin: 42px 0 0;
  list-style: none;
}

.depth-guide li {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid rgba(247, 241, 223, 0.18);
  color: rgba(247, 241, 223, 0.72);
  font-family: var(--sans);
  font-size: 0.82rem;
}

.depth-guide span {
  color: var(--gold);
  font-weight: 800;
}

.inquiry-panel {
  align-self: start;
  min-width: 0;
  padding: clamp(24px, 4vw, 48px);
  color: var(--paper-ink);
  background: rgba(238, 226, 201, 0.98);
  border: 1px solid rgba(247, 241, 223, 0.4);
  border-radius: 4px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.26);
}

.panel-heading {
  padding-bottom: 26px;
  border-bottom: 1px solid var(--paper-line);
}

.panel-heading h2 {
  margin-bottom: 8px;
  font-size: clamp(2.2rem, 3vw, 3.35rem);
  line-height: 1.08;
}

.panel-heading > p:last-child {
  margin: 0;
  color: var(--paper-soft);
  font-family: var(--sans);
  font-size: 0.78rem;
}

.control-group {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.control-group legend,
.select-control > span {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  color: #41504c;
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scholar-control {
  padding: 26px 0 22px;
}

.scholar-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--paper-line);
}

.scholar-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--paper-line);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.84rem;
  font-weight: 700;
}

.scholar-options label:nth-child(odd) {
  border-right: 1px solid var(--paper-line);
}

.scholar-options label:nth-child(even) {
  padding-left: 14px;
}

.scholar-options input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #0e5a72;
}

.control-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
  gap: 24px;
  padding-bottom: 20px;
}

.select-control select {
  width: 100%;
  min-height: 46px;
  padding: 0 38px 0 12px;
  color: #17201e;
  background: #f7efdc;
  border: 1px solid rgba(25, 29, 29, 0.28);
  border-radius: 3px;
  font: 700 0.84rem/1 var(--sans);
}

.segmented-control {
  display: grid;
  grid-template-columns: repeat(5, minmax(36px, 1fr));
}

.segmented-control label {
  min-width: 0;
  cursor: pointer;
}

.segmented-control input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.segmented-control span {
  display: grid;
  place-items: center;
  min-height: 46px;
  border: 1px solid rgba(25, 29, 29, 0.28);
  border-left: 0;
  color: #47514e;
  background: #f7efdc;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 800;
}

.segmented-control label:first-child span {
  border-left: 1px solid rgba(25, 29, 29, 0.28);
  border-radius: 3px 0 0 3px;
}

.segmented-control label:last-child span {
  border-radius: 0 3px 3px 0;
}

.segmented-control input:checked + span {
  color: var(--ink);
  background: #173e43;
  border-color: #173e43;
}

.segmented-control input:focus-visible + span,
.scholar-options input:focus-visible,
.select-control select:focus-visible,
.inquiry-panel button:focus-visible,
.reinforcement-tabs button:focus-visible,
.queue-item button:focus-visible {
  outline: 2px solid #b85e43;
  outline-offset: 2px;
}

.selection-status {
  min-height: 22px;
  margin: 0;
  color: #8a3d2e;
  font-family: var(--sans);
  font-size: 0.76rem;
}

.generate-button,
.output-actions button,
.clear-queue {
  min-height: 46px;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 800;
}

.generate-button {
  width: 100%;
  margin-top: 8px;
  color: var(--ink);
  background: #173e43;
}

.generate-button:hover {
  background: #24565b;
}

.inquiry-output {
  padding-top: 34px;
  margin-top: 36px;
  border-top: 2px solid #173e43;
}

.generated-meta {
  margin-bottom: 12px;
  color: #0e5a72;
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.inquiry-output > h2 {
  margin-bottom: 18px;
  font-size: clamp(1.7rem, 2.5vw, 2.6rem);
  line-height: 1.38;
}

.generated-rationale {
  margin-bottom: 30px;
  color: #4b5652;
  font-size: 0.94rem;
  line-height: 1.75;
}

.answer-plan {
  border-top: 1px solid var(--paper-line);
}

.answer-plan .kicker {
  margin: 18px 0 6px;
  color: #8a3d2e;
}

.answer-plan ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

.answer-plan li {
  display: grid;
  grid-template-columns: minmax(120px, 0.32fr) minmax(0, 1fr);
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--paper-line);
}

.answer-plan strong {
  font-family: var(--sans);
  font-size: 0.76rem;
}

.answer-plan p {
  margin: 0;
  color: #44504c;
  font-size: 0.86rem;
  line-height: 1.7;
}

.prepared-answer {
  padding-top: 26px;
  margin-top: 32px;
  border-top: 2px solid #8a3d2e;
}

.prepared-answer > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 12px;
}

.prepared-answer > header .kicker {
  margin: 0;
  color: #8a3d2e;
}

.prepared-answer > header span {
  color: #6f7773;
  font-family: var(--sans);
  font-size: 0.68rem;
  font-weight: 750;
}

.prepared-answer > h3 {
  margin: 0 0 22px;
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  line-height: 1.48;
}

.prepared-answer-sections > section {
  display: grid;
  grid-template-columns: minmax(120px, 0.28fr) minmax(0, 1fr);
  gap: 20px;
  padding: 15px 0;
  border-top: 1px solid var(--paper-line);
}

.prepared-answer-sections h4,
.queue-answer h4 {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.76rem;
  line-height: 1.5;
}

.prepared-answer-sections p,
.queue-answer section p {
  margin: 0;
  color: #3f4b47;
  font-size: 0.88rem;
  line-height: 1.78;
}

.prepared-answer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding-top: 18px;
  border-top: 1px solid var(--paper-line);
}

.prepared-answer-links a,
.reinforcement-work-link {
  padding-bottom: 2px;
  border-bottom: 1px solid #8a3d2e;
  color: #73392e;
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 800;
}

.prepared-answer-note {
  margin: 22px 0 0;
  color: #707773;
  font-family: var(--sans);
  font-size: 0.72rem;
  line-height: 1.65;
}

.output-actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.output-actions button {
  flex: 1;
  padding: 0 16px;
  color: #173e43;
  background: transparent;
  border: 1px solid #173e43;
}

.output-actions button:last-child {
  color: var(--ink);
  background: #8c4a3b;
  border-color: #8c4a3b;
}

.reinforcement-section,
.queue-section,
.lineage-section {
  padding: clamp(76px, 9vw, 132px) clamp(20px, 7vw, 104px);
}

.reinforcement-section {
  color: var(--paper-ink);
  background: var(--paper);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
  column-gap: clamp(30px, 7vw, 96px);
  max-width: 1320px;
  margin-bottom: 54px;
}

.section-heading .kicker {
  grid-row: 1 / span 2;
}

.section-heading h2 {
  max-width: 900px;
  margin-bottom: 18px;
  font-size: clamp(3rem, 5.6vw, 6.2rem);
  line-height: 0.98;
}

.section-heading > p:last-child {
  max-width: 740px;
  margin: 0;
  color: #4e5955;
  font-size: 1.05rem;
}

.reinforcement-tabs {
  display: flex;
  max-width: 1320px;
  overflow-x: auto;
  border-block: 1px solid var(--paper-line);
}

.reinforcement-tabs button {
  min-width: 170px;
  min-height: 56px;
  padding: 0 24px;
  color: #56605c;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--paper-line);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 800;
}

.reinforcement-tabs button[aria-selected="true"] {
  color: var(--ink);
  background: #173e43;
}

.reinforcement-panel {
  max-width: 1320px;
  padding-top: 48px;
}

.reinforcement-panel > h3 {
  max-width: 1000px;
  margin-bottom: 16px;
  font-size: clamp(2rem, 3.4vw, 3.8rem);
  line-height: 1.16;
}

.reinforcement-panel > p {
  max-width: 760px;
  color: #56605c;
}

.reinforcement-list {
  padding: 0;
  margin: 44px 0 0;
  list-style: none;
}

.reinforcement-list li {
  display: grid;
  grid-template-columns: 70px minmax(170px, 0.35fr) minmax(0, 1fr);
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid var(--paper-line);
}

.reinforcement-list span {
  color: #9a6959;
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 850;
}

.reinforcement-list strong {
  font-size: 1.16rem;
}

.reinforcement-list p {
  margin: 0;
  color: #44504c;
  font-size: 0.94rem;
}

.reinforcement-work-link {
  display: inline-flex;
  margin-top: 28px;
}

.lineage-section {
  background: #102b2a;
}

.lineage-heading > p:last-child {
  color: rgba(247, 241, 223, 0.74);
}

.lineage-wave {
  max-width: 1440px;
  margin-top: 72px;
}

.lineage-wave > header {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding-bottom: 18px;
}

.lineage-wave > header span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lineage-wave > header h3 {
  margin: 0;
  font-size: 1.45rem;
}

.lineage-row {
  display: grid;
  grid-template-columns:
    56px minmax(190px, 0.33fr) minmax(240px, 0.7fr) minmax(260px, 0.8fr)
    auto;
  gap: clamp(18px, 3vw, 42px);
  align-items: start;
  padding: 28px 0;
  border-top: 1px solid rgba(247, 241, 223, 0.18);
}

.lineage-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 850;
}

.lineage-row h3 {
  margin-bottom: 3px;
  overflow-wrap: anywhere;
  font-size: 1.6rem;
  line-height: 1.1;
}

.lineage-row div > p,
.lineage-row > p {
  margin: 0;
  color: rgba(247, 241, 223, 0.73);
  font-size: 0.88rem;
  line-height: 1.7;
}

.lineage-row strong {
  color: rgba(247, 241, 223, 0.94);
}

.lineage-row > a {
  min-width: max-content;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--gold);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 800;
}

.lineage-wave-second {
  margin-top: 92px;
}

.queue-section {
  color: var(--ink);
  background: #503137;
}

.queue-section .section-heading > p:last-child {
  color: rgba(247, 241, 223, 0.76);
}

.queue-empty {
  padding: 26px 0;
  border-top: 1px solid rgba(247, 241, 223, 0.22);
  color: rgba(247, 241, 223, 0.7);
}

.question-queue {
  max-width: 1320px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.queue-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr) 44px;
  gap: 30px;
  align-items: start;
  padding: 24px 0;
  border-top: 1px solid rgba(247, 241, 223, 0.2);
}

.queue-meta {
  margin: 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.55;
}

.queue-question {
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.7rem);
  line-height: 1.55;
}

.queue-content {
  min-width: 0;
}

.queue-answer {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(247, 241, 223, 0.2);
}

.queue-answer summary {
  width: fit-content;
  cursor: pointer;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 800;
}

.queue-answer-thesis {
  max-width: 900px;
  margin: 18px 0 8px;
  color: rgba(247, 241, 223, 0.94);
  font-size: 1.02rem;
  line-height: 1.7;
}

.queue-answer section {
  display: grid;
  grid-template-columns: minmax(120px, 0.25fr) minmax(0, 1fr);
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid rgba(247, 241, 223, 0.14);
}

.queue-answer h4 {
  color: rgba(247, 241, 223, 0.92);
}

.queue-answer section p {
  color: rgba(247, 241, 223, 0.7);
}

.queue-item button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--ink);
  background: transparent;
  border: 1px solid rgba(247, 241, 223, 0.28);
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.25rem;
}

.clear-queue {
  margin-top: 28px;
  padding: 0 18px;
  color: #503137;
  background: var(--ink);
}

.lab-notes {
  display: grid;
  grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr);
  gap: clamp(36px, 7vw, 96px);
  padding: clamp(56px, 7vw, 92px) clamp(20px, 7vw, 104px);
  background: #071513;
}

.lab-notes > p:last-child {
  max-width: 900px;
  margin: 0;
  color: rgba(247, 241, 223, 0.7);
  font-size: 0.94rem;
}

@media (max-width: 1100px) {
  .lab-workbench {
    grid-template-columns: 1fr;
  }

  .lab-intro {
    max-width: 780px;
    padding-top: 10px;
  }

  .depth-guide {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .depth-guide li {
    grid-template-columns: 1fr;
    padding-right: 18px;
  }

  .inquiry-panel {
    width: 100%;
  }

  .lineage-row {
    grid-template-columns: 48px minmax(180px, 0.36fr) minmax(0, 1fr);
  }

  .lineage-row > p:last-of-type,
  .lineage-row > a {
    grid-column: 3;
  }
}

@media (max-width: 920px) {
  .archive-lab,
  .inquiry-next,
  .lab-notes,
  .section-heading {
    grid-template-columns: 1fr;
  }

  .archive-lab-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .section-heading .kicker {
    grid-row: auto;
  }

  .reinforcement-list li {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .reinforcement-list p {
    grid-column: 2;
  }

  .queue-item {
    grid-template-columns: minmax(150px, 0.32fr) minmax(0, 1fr) 44px;
  }
}

@media (max-width: 620px) {
  .archive-lab,
  .inquiry-next,
  .reinforcement-section,
  .lineage-section,
  .queue-section,
  .lab-notes {
    padding-inline: 20px;
  }

  .archive-lab-steps,
  .depth-guide,
  .scholar-options,
  .control-row {
    grid-template-columns: 1fr;
  }

  .archive-lab h2,
  .inquiry-next h2 {
    font-size: 2.55rem;
  }

  .lab-workbench {
    padding: 112px 16px 48px;
  }

  .lab-intro h1 {
    max-width: 100%;
    font-size: 3.5rem;
  }

  .depth-guide li {
    grid-template-columns: 42px 1fr;
    padding-right: 0;
  }

  .inquiry-panel {
    padding: 22px 18px;
  }

  .scholar-options label:nth-child(odd) {
    border-right: 0;
  }

  .scholar-options label:nth-child(even) {
    padding-left: 0;
  }

  .answer-plan li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .prepared-answer > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .prepared-answer-sections > section,
  .queue-answer section {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .output-actions {
    flex-direction: column;
  }

  .section-heading h2 {
    font-size: 3rem;
  }

  .reinforcement-tabs button {
    min-width: 148px;
    padding-inline: 16px;
  }

  .lineage-wave > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .lineage-row {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px 18px;
  }

  .lineage-row > p,
  .lineage-row > p:last-of-type,
  .lineage-row > a {
    grid-column: 2;
  }

  .lineage-row > a {
    justify-self: start;
    margin-top: 4px;
  }

  .queue-item {
    grid-template-columns: minmax(0, 1fr) 38px;
    gap: 10px;
  }

  .queue-meta {
    grid-column: 1 / -1;
  }

  .queue-question {
    grid-column: 1;
  }

  .queue-item button {
    grid-column: 2;
  }
}

@media (max-width: 920px) {
  .site-header {
    position: absolute;
  }

  .front-content {
    width: min(100% - 32px, 760px);
  }

  .front-meta {
    display: none;
  }

  .opening,
  .interview-shell,
  .notes,
  .work-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .side-rail {
    position: static;
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 10px;
    writing-mode: horizontal-tb;
  }

  .side-rail::before {
    width: 54px;
    height: 1px;
    margin: 0 8px 0 0;
    align-self: center;
  }

  .part-index a {
    padding-inline: 24px;
  }

  .part-heading h2 {
    font-size: 3.8rem;
  }

  .work-front h1 {
    font-size: 5.4rem;
  }

  .work-overview h2,
  .work-return h2,
  .works-next h2 {
    font-size: 3.6rem;
  }

  .chapter-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chapter-index a:nth-child(3) {
    border-top: 1px solid rgba(247, 241, 223, 0.14);
  }

  .chapter-index a:nth-child(4) {
    border-top: 1px solid rgba(247, 241, 223, 0.14);
  }

  .archive-front {
    grid-template-rows: auto auto;
  }
  .archive-intro {
    min-height: 62svh;
    padding-top: 130px;
  }
  .scholar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .scholar-card:nth-child(3),
  .scholar-card:nth-child(4) {
    border-top-color: rgba(247, 241, 223, 0.16);
  }
  .archive-about {
    grid-template-columns: 1fr;
  }
  .archive-sequence {
    grid-template-columns: 1fr repeat(4, auto);
  }
  .archive-sequence > p:not(.kicker) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .scholar-page .chapter-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .site-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding-top: 18px;
  }

  .site-header nav {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .part-index {
    grid-template-columns: 1fr;
  }

  .part-index a,
  .part-index a:last-child {
    border-right: 1px solid rgba(247, 241, 223, 0.14);
  }

  .part-index a + a {
    border-top: 1px solid rgba(247, 241, 223, 0.14);
  }

  .part-index strong {
    font-size: 1.36rem;
  }

  .part-heading h2 {
    font-size: 2.7rem;
  }

  .part-heading > p:last-of-type {
    font-size: 1.05rem;
  }

  .work-front h1 {
    max-width: 100%;
    font-size: 2.55rem;
    line-height: 1;
  }

  .work-overview h2,
  .work-return h2,
  .works-next h2 {
    font-size: 2.55rem;
  }

  .work-overview-copy > p {
    font-size: 1.05rem;
  }

  .work-return > a + a {
    margin-left: 0;
  }

  .work-facts {
    grid-template-columns: 1fr;
  }

  .work-facts div + div {
    margin-top: 22px;
  }

  .chapter-index {
    grid-template-columns: 1fr;
  }

  .chapter-index a,
  .chapter-index a:last-child {
    border-right: 1px solid rgba(247, 241, 223, 0.14);
  }

  .chapter-index a + a {
    border-top: 1px solid rgba(247, 241, 223, 0.14);
  }

  .archive-intro {
    min-height: 76svh;
    width: calc(100% - 32px);
    padding-bottom: 54px;
  }

  .archive-intro h1 {
    max-width: 9ch;
    font-size: 3.45rem;
    line-height: 0.94;
  }
  .scholar-grid {
    grid-template-columns: 1fr;
    padding: 0 16px 24px;
  }
  .scholar-card {
    min-height: 238px;
  }
  .scholar-card + .scholar-card {
    border-top-color: rgba(247, 241, 223, 0.16);
  }
  .archive-sequence {
    grid-template-columns: repeat(4, 1fr);
  }
  .archive-sequence .kicker,
  .archive-sequence > p:not(.kicker) {
    grid-column: 1 / -1;
  }
  .archive-sequence > span {
    text-align: center;
  }
  .scholar-page .chapter-index {
    grid-template-columns: 1fr;
  }
  .scholar-front h1 {
    max-width: 100%;
    font-size: 2.55rem;
  }

  .front-image {
    background-position: 48% center;
  }

  h1 {
    max-width: 7.6ch;
    font-size: clamp(3.35rem, 16.5vw, 5.2rem);
  }

  .deck {
    font-size: 1rem;
  }

  .front-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .qa {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .speaker {
    color: #755144;
  }

  .site-visitor-footer {
    min-height: 42px;
    padding: 11px 16px 13px;
  }

  .visitor-counts {
    width: auto;
    min-width: 0;
  }

  .visitor-counts > div + div {
    padding-left: 12px;
  }
}
