/* Editable styles for the MAM-Bench blog post. */

:root,:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#141413;
  --surface:#1d1d1a;
  --surface-raised:#25241f;
  --text:#f5f1e8;
  --text-muted:#aaa69d;
  --border:#3b3932;
  --clay:#e58a6b;
  --clay-strong:#f09a79;
  --oat:#c8b99f;
  --olive:#a7b98a;
  --rust:#df766b;
  --code-bg:#0d0d0c;
  --focus:#f0a07f;
  --axis:#6f6c64;
  --surface-grid:#47463f
}
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#faf9f5;
  --surface:#fff;
  --surface-raised:#f0eee6;
  --text:#141413;
  --text-muted:#6f6d66;
  --border:#d1cfc5;
  --clay:#d97757;
  --clay-strong:#b85c3e;
  --oat:#e3dacc;
  --olive:#788c5d;
  --rust:#b04a3f;
  --code-bg:#1b1b19;
  --focus:#b85c3e;
  --axis:#8a877f;
  --surface-grid:#d7d3c9
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  background:var(--bg)
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:15px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}
body.theme-ready,body.theme-ready * {
  transition-property:background-color,border-color,color,fill,stroke;
  transition-duration:160ms;
  transition-timing-function:ease
}
a {
  color:inherit
}
button {
  font:inherit
}
.site-nav {
  position:sticky;
  top:0;
  z-index:1000;
  padding:16px 0;
  border-bottom:1px solid #313846;
  background:rgba(31,36,48,.9);
  backdrop-filter:blur(10px)
}
.site-nav .nav-wrapper {
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:800px;
  margin:0 auto;
  padding:0 24px
}
.site-nav .brand-logo {
  display:flex;
  align-items:center;
  color:#ffcc66;
  text-decoration:none
}
.site-nav .brand-logo img {
  width:32px;
  height:32px;
  border:2px solid #acb6bf;
  border-radius:50%
}
.site-nav ul {
  display:flex;
  gap:24px;
  margin:0;
  padding:0;
  list-style:none
}
.site-nav ul li a {
  padding:8px;
  color:#cbccc6;
  font-size:15px;
  font-weight:500;
  text-decoration:none
}
.site-nav ul li a:hover {
  color:#ffcc66;
  text-decoration:none
}
.page {
  max-width:1280px;
  margin:auto;
  padding:42px 28px 90px
}
.page-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  margin-bottom:58px
}
.header-topline {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-bottom:12px
}
.eyebrow,.kicker,.section-index,.message-meta,.micro {
  font:700 10px/1.4 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--oat)
}
.github-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid var(--clay-strong);
  border-radius:999px;
  background:var(--clay);
  color:#141413;
  box-shadow:0 7px 20px color-mix(in srgb,var(--clay) 24%,transparent);
  font:700 11px/1 ui-monospace,"SFMono-Regular",Consolas,monospace;
  letter-spacing:.05em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap
}
.github-link:hover {
  background:var(--clay-strong);
  text-decoration:none;
  transform:translateY(-1px)
}
h1,h2,h3,.display {
  font-family:ui-serif,Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.025em
}
h1 {
  font-size:clamp(44px,7vw,86px);
  line-height:.98;
  margin:12px 0 22px;
  max-width:970px
}
.one-sentence {
  font-family:ui-serif,Georgia,serif;
  font-size:clamp(22px,2.7vw,35px);
  line-height:1.3;
  max-width:1060px;
  margin:0;
  color:var(--text)
}
.intro-copy {
  max-width:1000px;
  margin-top:28px;
  color:var(--text-muted);
  font-size:17px
}
.intro-copy p {
  margin:0 0 18px
}
.intro-copy strong {
  color:var(--text)
}
.rule-examples,.concept-examples {
  margin:18px 0 22px;
  padding:18px 22px;
  border-left:3px solid var(--clay);
  border-radius:0 10px 10px 0;
  background:var(--surface);
  color:var(--text)
}
.rule-examples code {
  font-size:13px
}
.rule-examples ul,.concept-examples ul {
  margin:0;
  padding-left:22px
}
.rule-examples li,.concept-examples li {
  margin:8px 0
}
.pilot-intro {
  margin-top:36px;
  padding-top:30px;
  border-top:1px solid var(--border)
}
.pilot-intro h2 {
  font-size:clamp(28px,3.7vw,46px)
}
.pilot-intro p {
  max-width:980px;
  color:var(--text-muted);
  font-size:17px
}
.theme-toggle,.action-button,.restart-button {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  color:var(--text);
  background:var(--surface-raised);
  border:1px solid var(--border);
  border-radius:999px;
  font:600 12px/1 ui-monospace,"SFMono-Regular",Consolas,monospace;
  cursor:pointer;
  white-space:nowrap
}
.theme-toggle__indicator {
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--clay);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--clay) 18%,transparent)
}
button:hover {
  border-color:var(--clay)
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);
  outline-offset:3px
}
section {
  margin:0 0 92px;
  scroll-margin-top:24px
}
.section-head {
  display:grid;
  grid-template-columns:72px minmax(0,780px);
  gap:18px;
  margin-bottom:30px
}
.section-index {
  padding-top:9px;
  color:var(--clay)
}
h2 {
  font-size:clamp(31px,4vw,50px);
  line-height:1.05;
  margin:0 0 12px
}
.section-head p {
  margin:0;
  color:var(--text-muted);
  font-size:17px
}
.project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:var(--surface)
}
.project-grid article {
  padding:26px 28px;
  min-height:190px
}
.project-grid article+article {
  border-left:1px solid var(--border)
}
.project-grid h3 {
  font-size:22px;
  margin:6px 0 10px
}
.project-grid p {
  margin:0;
  color:var(--text-muted)
}
.manifold-panel,.pilot-report,.final-panel {
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  padding:28px
}
.definition-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  margin:0 0 22px;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:var(--border)
}
.definition-grid article {
  padding:17px;
  background:var(--surface)
}
.definition-grid b {
  display:block;
  font-family:ui-monospace,monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--oat);
  margin-bottom:6px
}
.definition-grid span {
  color:var(--text-muted);
  font-size:13px
}
.landscape-copy {
  max-width:980px;
  color:var(--text-muted);
  font-size:16px;
  margin:0 0 24px
}
.landscape-evidence {
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:20px;
  align-items:start
}
.manifold-panel .plotly-graph-div {
  width:100%;
  min-height:670px
}
.chart-hint {
  text-align:right;
  color:var(--text-muted);
  font:600 10px/1.4 ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:4px
}
.spot-note {
  display:grid;
  grid-template-columns:170px 1fr;
  gap:24px;
  margin-top:20px;
  padding-top:22px;
  border-top:1px solid var(--border)
}
.spot-value {
  font-family:ui-serif,Georgia,serif;
  font-size:50px;
  line-height:1;
  color:var(--clay)
}
.spot-note p {
  margin:0;
  color:var(--text-muted)
}
.compare-toolbar {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin-bottom:18px
}
.compare-toolbar p {
  margin:0;
  color:var(--text-muted);
  max-width:760px
}
.media-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.media-card {
  min-width:0;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface);
  overflow:hidden
}
.media-card header {
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:baseline
}
.media-card h3 {
  font-size:22px;
  margin:0
}
.media-card .rounds {
  font:600 10px/1 ui-monospace,monospace;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.1em
}
.media-card img {
  display:block;
  width:100%;
  height:auto;
  background:#141413
}
.media-card figcaption {
  padding:14px 18px 18px;
  color:var(--text-muted);
  font-size:13px
}
.landscape-board-card img {
  display:block;
  width:100%;
  height:auto;
  background:#141413
}
.legend-strip {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:16px;
  color:var(--text-muted);
  font-size:12px
}
.legend-strip span::before {
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:2px;
  background:var(--swatch);
  margin-right:7px
}
.pilot-report {
  padding:34px
}
.pilot-header {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:start
}
.pilot-header h2 {
  font-size:clamp(34px,4.5vw,58px);
  margin-top:5px
}
.pilot-header p {
  max-width:850px;
  font-size:17px;
  color:var(--text-muted)
}
.model-chip {
  border:1px solid var(--border);
  border-radius:11px;
  padding:12px 15px;
  font:600 11px/1.6 ui-monospace,monospace;
  text-align:right;
  white-space:nowrap
}
.metric-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:26px 0
}
.metric {
  border:1px solid var(--border);
  border-radius:10px;
  padding:17px 18px;
  background:var(--surface-raised)
}
.metric:first-child {
  border-left:4px solid var(--olive)
}
.metric:last-child {
  border-left:4px solid var(--rust)
}
.metric b {
  display:block;
  font:500 34px/1 ui-serif,Georgia,serif;
  margin-bottom:9px
}
.metric span {
  font:700 10px/1.4 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.06em
}
.metric small {
  display:block;
  color:var(--text-muted);
  margin-top:6px
}
.benchmark-table-wrap {
  overflow:auto;
  border:1px solid var(--border);
  border-radius:11px
}
table {
  width:100%;
  border-collapse:collapse;
  min-width:760px
}
th,td {
  padding:13px 15px;
  text-align:left;
  border-bottom:1px solid var(--border)
}
thead th {
  background:var(--surface-raised);
  font:700 10px/1.3 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text-muted)
}
tbody th {
  font-weight:600
}
tbody tr:last-child th,tbody tr:last-child td {
  border-bottom:0
}
.reference-row {
  background:color-mix(in srgb,var(--rust) 6%,transparent)
}
.model-row {
  background:color-mix(in srgb,var(--clay) 8%,transparent)
}
.delta-row {
  background:color-mix(in srgb,var(--olive) 11%,transparent)
}
.trajectory-card {
  border:1px solid var(--border);
  border-radius:12px;
  margin-top:18px;
  padding:20px;
  background:var(--surface-raised)
}
.trajectory-card h3 {
  font-size:23px;
  margin:0 0 4px
}
.trajectory-card p {
  margin:0;
  color:var(--text-muted)
}
.trajectory-card svg {
  display:block;
  width:100%;
  height:auto;
  margin-top:8px
}
.findings-head {
  margin:42px 0 18px
}
.findings-head h3 {
  font-size:29px;
  margin:0 0 4px
}
.findings-head p {
  color:var(--text-muted);
  margin:0
}
.finding-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.finding {
  padding:20px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-raised)
}
.finding.warn {
  border-left:3px solid var(--rust)
}
.finding .micro {
  color:var(--oat)
}
.finding h4 {
  font-family:ui-serif,Georgia,serif;
  font-size:18px;
  margin:6px 0 8px
}
.finding p {
  margin:0;
  color:var(--text-muted);
  font-size:13px
}
.coordination-sample {
  white-space:normal
}
.coordination-sample p {
  margin:0 0 12px
}
.coordination-sample ul {
  margin:8px 0 14px;
  padding-left:22px
}
.coordination-sample li {
  margin:5px 0
}
details {
  border:1px solid var(--border);
  border-radius:10px;
  margin-top:14px;
  background:var(--surface-raised)
}
summary {
  cursor:pointer;
  padding:14px 16px;
  font-family:ui-serif,Georgia,serif
}
details .detail-body {
  padding:0 18px 18px;
  color:var(--text-muted)
}
details li {
  margin:7px 0
}
.message-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:20px
}
.message-intro .callout {
  border-left:3px solid var(--clay);
  padding:20px 22px;
  background:var(--surface);
  border-radius:0 12px 12px 0
}
.message-intro p {
  margin:0;
  color:var(--text-muted)
}
.message-stack {
  position:relative;
  display:grid;
  gap:14px
}
.message-stack::before {
  content:"";
  position:absolute;
  top:24px;
  bottom:24px;
  left:35px;
  width:1px;
  background:var(--border)
}
.message-step {
  position:relative;
  margin-left:70px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  padding:20px 22px
}
.message-step::before {
  content:"";
  position:absolute;
  left:-43px;
  top:24px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--clay);
  box-shadow:0 0 0 6px var(--bg)
}
.message-meta {
  display:flex;
  gap:16px;
  flex-wrap:wrap
}
blockquote {
  margin:15px 0;
  padding:15px 17px;
  border-left:3px solid var(--oat);
  background:var(--surface-raised);
  font-family:ui-serif,Georgia,serif;
  font-size:18px;
  line-height:1.5
}
.message-reading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.message-reading--single {
  grid-template-columns:1fr
}
.message-reading p {
  margin:0;
  color:var(--text-muted);
  font-size:13px
}
.message-reading strong {
  color:var(--text)
}
.final-panel {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:40px;
  align-items:start;
  padding:38px
}
.final-panel h2 {
  font-size:clamp(36px,5vw,62px)
}
.final-panel .thesis {
  font-family:ui-serif,Georgia,serif;
  font-size:25px;
  line-height:1.4
}
.final-panel p {
  color:var(--text-muted)
}
.final-list {
  display:grid;
  gap:12px
}
.final-list article {
  border-top:1px solid var(--border);
  padding-top:14px
}
.final-list b {
  display:block;
  font-family:ui-monospace,monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--oat);
  margin-bottom:5px
}
.action-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px
}
.copy-status {
  font:11px/44px ui-monospace,monospace;
  color:var(--text-muted)
}
footer {
  border-top:1px solid var(--border);
  padding-top:20px;
  color:var(--text-muted);
  font:11px/1.6 ui-monospace,monospace
}
@media(max-width:900px) {
  .project-grid,.final-panel,.landscape-evidence {
    grid-template-columns:1fr
  }
  .definition-grid {
    grid-template-columns:1fr 1fr
  }
  .project-grid article+article {
    border-left:0;
    border-top:1px solid var(--border)
  }
  .media-grid,.finding-grid,.message-intro {
    grid-template-columns:1fr
  }
  .metric-row {
    grid-template-columns:1fr 1fr
  }
  .spot-note {
    grid-template-columns:1fr
  }
}
@media(max-width:560px) {
  .page {
    padding:24px 14px 60px
  }
  .definition-grid {
    grid-template-columns:1fr
  }
  .page-header {
    display:block;
    margin-bottom:44px
  }
  .theme-toggle {
    margin-top:24px
  }
  section {
    margin-bottom:68px
  }
  .section-head {
    grid-template-columns:1fr;
    gap:5px
  }
  .section-index {
    padding:0
  }
  .manifold-panel,.pilot-report,.final-panel {
    padding:18px 14px;
    margin-inline:-2px
  }
  .compare-toolbar,.pilot-header {
    display:block
  }
  .restart-button {
    margin-top:16px
  }
  .model-chip {
    text-align:left;
    display:inline-block;
    margin-bottom:18px
  }
  .metric-row {
    grid-template-columns:1fr
  }
  .media-card header {
    display:block
  }
  .media-card .rounds {
    display:block;
    margin-top:8px
  }
  .message-step {
    margin-left:45px;
    padding:17px 15px
  }
  .message-stack::before {
    left:18px
  }
  .message-step::before {
    left:-34px
  }
  .message-reading {
    grid-template-columns:1fr
  }
  blockquote {
    font-size:16px;
    margin-inline:0
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  body.theme-ready,body.theme-ready * {
    transition-duration:0ms
  }
}

@media(max-width:560px) {
  .site-nav .nav-wrapper {
    padding:0 16px
  }
  .site-nav ul {
    gap:8px
  }
  .site-nav ul li a {
    padding:6px;
    font-size:14px
  }
}
