:root {
      --paper: #f3ede2;
      --paper-bright: #fbf7ee;
      --paper-deep: #e7dece;
      --ink: #19202a;
      --muted: #686861;
      --line: #cbc1b1;
      --line-strong: #91897d;
      --night: #101925;
      --night-raised: #162335;
      --night-ink: #f3eee4;
      --night-muted: #adb5bd;
      --gold: #e0a04e;
      --cobalt: #3f649c;
      --serif: Georgia, "Times New Roman", Times, serif;
      --sans: "Segoe UI", Helvetica, Arial, sans-serif;
      --mono: "Cascadia Code", Consolas, "SFMono-Regular", monospace;
      --measure: 1240px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.62;
      -webkit-font-smoothing: antialiased;
    }

    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; }
    ::selection { color: var(--night-ink); background: var(--cobalt); }
    :focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
    section { scroll-margin-top: 110px; }

    .skip-link {
      position: fixed;
      top: 12px;
      left: 18px;
      z-index: 100;
      padding: 10px 14px;
      color: var(--night-ink);
      background: var(--night);
      font-family: var(--mono);
      font-size: 12px;
      text-decoration: none;
      transform: translateY(-180%);
    }
    .skip-link:focus { transform: none; }

    .wrap {
      width: min(var(--measure), calc(100% - 72px));
      margin-inline: auto;
    }

    .eyebrow,
    .micro,
    .section-number,
    .status,
.evidence,
figcaption {
  font-family: var(--mono);
  font-size: 11px;
      line-height: 1.5;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .masthead-strip {
      color: var(--night-muted);
      background: var(--night);
      border-bottom: 1px solid rgba(243, 238, 228, .15);
    }
    .masthead-inner {
      min-height: 34px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .masthead-inner span:first-child { color: var(--gold); }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 30;
      background: rgba(243, 237, 226, .94);
      border-bottom: 1px solid var(--line-strong);
      backdrop-filter: blur(14px);
    }
    .nav {
      min-height: 78px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 30px;
    }
    .wordmark {
      justify-self: start;
      font-family: var(--serif);
      font-size: 28px;
      line-height: 1;
      text-decoration: none;
    }
    .wordmark em { color: var(--cobalt); font-weight: 400; }
    .nav-links { display: flex; align-items: center; gap: 27px; }
    .nav-links a {
      color: var(--muted);
      font-family: var(--mono);
    font-size: 11px;
      letter-spacing: .12em;
      text-decoration: none;
      text-transform: uppercase;
    }
    .nav-links a:hover { color: var(--ink); }

    .nav-cta,
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 45px;
      padding: 11px 18px;
      border: 1px solid var(--ink);
      font-family: var(--mono);
    font-size: 11px;
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: .11em;
      text-decoration: none;
      text-transform: uppercase;
      transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
    }
    .nav-cta { justify-self: end; min-height: 39px; padding: 9px 14px; }
    .button.primary { color: var(--paper-bright); background: var(--ink); }
    .button.secondary { background: transparent; }
    .button:hover,
    .nav-cta:hover { color: var(--paper-bright); background: var(--cobalt); border-color: var(--cobalt); transform: translateY(-1px); }

    @media (max-width: 980px) {
      .nav { grid-template-columns: 1fr auto; }
      .nav-links { display: none; }
    }

    @media (max-width: 720px) {
      .wrap { width: min(100% - 34px, var(--measure)); }
      .masthead-inner { min-height: 31px; }
      .masthead-inner span:last-child { display: none; }
      .nav { min-height: 66px; gap: 16px; }
      .wordmark { font-size: 23px; }
      .nav-cta { min-height: 36px; padding: 8px 10px; font-size: 11px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .button,
      .nav-cta { transition: none; }
      .button:hover,
      .nav-cta:hover { transform: none; }
    }


/* Research overview and journal. */
.lab-reader { --measure: 1200px; }
.lab-reader .prototype-note { background: #e6ded0; border-bottom: 1px solid #cbc1b1; font: 11px var(--mono); letter-spacing: .06em; padding: 9px 20px; text-align: center; }

.notebook-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 80px;
  align-items: start;
  padding-top: 50px;
  padding-bottom: 80px;
}

/* Desktop Rail */
.notebook-rail {
  position: sticky;
  top: 110px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.back-link {
  font: 11px var(--mono);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.back-link:hover { color: var(--ink); border-color: var(--ink); }
.rail-nav .micro { color: var(--cobalt); display: block; margin-bottom: 16px; font-weight: 600; }
.rail-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.rail-nav a { font-size: 15px; color: var(--muted); text-decoration: none; display: block; }
.rail-nav a:hover, .rail-nav a:focus-visible { color: var(--ink); }
.rail-actions { border-top: 1px solid var(--line); padding-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.rail-actions a { font: 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--cobalt); text-decoration: none; font-weight: 600; }
.rail-actions a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Mobile Native Disclosure */
.mobile-rail-nav { display: none; margin-bottom: 40px; background: var(--paper-bright); border: 1px solid var(--line); }
.mobile-rail-nav summary { font-size: 14px; font-weight: 600; padding: 16px 20px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.mobile-rail-nav summary::-webkit-details-marker { display: none; }
.mobile-rail-nav summary::after { content: "↓"; font-family: var(--mono); color: var(--cobalt); }
.mobile-rail-nav[open] summary::after { content: "↑"; }
.mobile-nav-links { border-top: 1px solid var(--line); padding: 16px 20px; display: flex; flex-direction: column; gap: 14px; }
.mobile-quick-links { display: none; gap: 16px; margin-bottom: 30px; }
.mobile-quick-links a { font: 11px var(--mono); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--cobalt); border: 1px solid var(--line); padding: 8px 14px; text-decoration: none; }

/* Main Content */
.notebook-content h1 { font: 400 clamp(42px, 5.5vw, 68px)/1.05 var(--serif); letter-spacing: -.02em; margin: 0 0 16px; max-width: 15em; }
.notebook-content h1 em { color: var(--cobalt); font-style: italic; }
.project-status { font: 11px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--muted); display: inline-block; padding-bottom: 12px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.notebook-content .intro { font: 400 22px/1.6 var(--serif); color: var(--ink); margin: 0 0 40px; max-width: 32em; }

.notebook-section { padding: 50px 0; border-top: 1px solid var(--line); }
.notebook-section:first-of-type { border-top: none; padding-top: 10px; }
.notebook-section h2 { font: 400 32px/1.15 var(--serif); margin: 0 0 24px; }
.notebook-section p { font-size: 18px; line-height: 1.65; margin: 0 0 20px; max-width: 38em; }
.notebook-section p a { text-decoration-color: var(--line-strong); text-underline-offset: 4px; }
.notebook-section p a:hover { color: var(--cobalt); }

/* Figures */
.primary-figure { margin: 40px 0; padding: 24px; background: var(--paper-bright); border: 1px solid var(--line); }
.primary-figure img { width: 100%; height: auto; }
.primary-figure figcaption { font: 13.5px/1.6 var(--sans); text-transform: none; letter-spacing: 0; color: var(--muted); margin-top: 16px; }
.primary-figure figcaption strong { color: var(--ink); font-weight: 600; }
.fig-tools { margin-top: 12px; display: flex; gap: 16px; }
.fig-tools a { font: 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--cobalt); text-decoration: none; }
.fig-tools a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Timeline / Journal */
.journal-timeline { margin: 30px 0 0; border-left: 2px solid var(--line); padding-left: 24px; display: flex; flex-direction: column; gap: 40px; }
.journal-entry { position: relative; }
.journal-entry::before { content: ""; position: absolute; left: -31px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--line-strong); }
.journal-entry.completed::before { background: var(--line-strong); }
.journal-entry.progress::before { border-color: var(--gold); background: var(--gold); }
.journal-entry.planned::before { border-color: var(--muted); border-style: dashed; }

.entry-meta { font: 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-bottom: 8px; display: block; }
.entry-title { font: 400 24px/1.2 var(--serif); margin: 0 0 12px; color: var(--ink); }
.entry-desc { font-size: 16px; line-height: 1.6; color: var(--ink); margin: 0; max-width: 40em; }
.entry-link { display: inline-block; margin-top: 12px; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--cobalt); text-decoration: none; }
.entry-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Electrode Guide Native Details */
.electrode-panel { background: var(--paper-bright); border: 1px solid var(--line); margin: 30px 0; }
.electrode-panel summary { cursor: pointer; padding: 16px 20px; font-weight: 600; font-size: 15px; }
.electrode-panel summary::marker { color: var(--cobalt); }
.electrode-panel .disclosure-body { padding: 0 20px 24px; }
.diagram-intro { font-size: 15px; line-height: 1.6; margin-bottom: 24px; max-width: 45em; }
.electrode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.electrode-card { min-width: 0; }
.electrode-card + .electrode-card { border-left: 1px solid var(--line); padding-left: 24px; }
.electrode-card h3 { font: 400 20px var(--serif); margin: 0 0 4px; }
.electrode-card .count { font: 11px var(--mono); color: var(--muted); margin-bottom: 12px; }
.legend { font-size: 14px; line-height: 1.5; margin: 12px 0 0; }
.legend strong { font-weight: 600; }
.key { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--gold); margin-right: 6px; }
.key.blue { background: var(--cobalt); }
.diagram-note { font-size: 12px; color: var(--muted); margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }

@media (max-width: 980px) {
  .notebook-layout { grid-template-columns: 1fr; gap: 40px; }
  .notebook-rail { display: none; }
  .mobile-rail-nav, .mobile-quick-links { display: flex; }
  .electrode-grid { grid-template-columns: 1fr; gap: 32px; }
  .electrode-card + .electrode-card { border-left: none; padding-left: 0; border-top: 1px solid var(--line); padding-top: 24px; }
}
@media (max-width: 720px) {
  .notebook-content h1 { font-size: clamp(38px, 10vw, 48px); }
  .notebook-content .intro { font-size: 19px; }
  .primary-figure { padding: 16px; }
}


.review-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:"Segoe UI",Helvetica,Arial,sans-serif;font-size:13px;color:#686861;margin:0 0 24px;}
.review-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:#3f649c;}
.review-source-links{display:flex;gap:22px;margin:16px 0 24px!important;font-family:"Segoe UI",Helvetica,Arial,sans-serif!important;font-size:14px!important;}
.review-source-links a{display:inline-flex;align-items:center;min-height:44px;color:#3f649c;}
.review-project-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #cbc1b1;text-decoration:none;background:#fbf7ee;}
.review-project-card strong{font:28px/1.2 Georgia,serif;color:#19202a;}.review-card-label{font:11px/1.5 Consolas,monospace;text-transform:uppercase;color:#3f649c;}
.review-diagram-note{font-size:13px;line-height:1.6;color:#686861;padding:16px 24px;}
.review-entry-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#3f649c;}
figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;} summary{min-height:48px;}
a:focus-visible,summary:focus-visible{outline:3px solid #3f649c;outline-offset:4px;}
[id]{scroll-margin-top:110px;} footer .footer-grid{display:grid;grid-template-columns:repeat(4,1fr);} footer{padding:28px 0;}footer .k{font-size:11px;text-transform:uppercase;color:#686861;}footer .v{font-size:13px;}
@media(max-width:720px){.reader-hero{padding-top:20px!important;}.review-breadcrumb{margin-bottom:14px;font-size:12px;}.review-source-links{margin:10px 0 18px!important;}.notebook-content>.mobile-rail-nav{margin-bottom:20px;}.mobile-fast-links{display:none!important;}.notebook-content .review-breadcrumb{margin-top:0;}footer .footer-grid{grid-template-columns:1fr 1fr;} .lab-reader .reader-jump{display:grid;grid-template-columns:1fr 1fr;gap:0;} .reader-jump a{min-height:44px;display:flex;align-items:center;} .primary-figure{padding:12px!important;} }

.mobile-menu-row{display:none;}@media(max-width:980px){.mobile-menu-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px;}.mobile-menu-row .mobile-quick-links{display:flex;margin:0;flex:0 0 auto;}.mobile-menu-row .mobile-quick-links a{min-height:48px;display:inline-flex;align-items:center;}.mobile-menu-row .mobile-rail-nav{flex:1;margin:0;display:block;}.mobile-menu-row summary{padding:12px 16px;min-height:48px;font-size:14px;}.mobile-nav-links a{min-height:40px;display:flex;align-items:center;}}

.flow-label{font:11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);}
.flow-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0;}.flow-actions a{min-height:46px;display:inline-flex;align-items:center;padding:12px 18px;border:1px solid var(--ink);text-decoration:none;font:13px var(--sans);}.flow-actions .primary{color:var(--paper-bright);background:var(--night);}
.flow-hero{padding:58px 0 44px;max-width:850px;}.flow-hero h1{font:400 clamp(48px,6vw,78px)/1.05 var(--serif);letter-spacing:-.025em;margin:14px 0 22px;}.flow-hero p{font:20px/1.6 var(--sans);max-width:39em;margin:0;}
.collection-tabs{display:flex;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px;}.collection-tabs a{display:inline-flex;align-items:center;min-height:52px;color:var(--ink);text-decoration:none;font-size:14px;}
.collection-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:28px 0 20px;}.collection-heading h2{font:32px var(--serif);margin:0;}.collection-heading span{font:11px var(--mono);text-transform:uppercase;color:var(--muted);}
.project-feature{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);background:var(--paper-bright);}.project-feature-copy{padding:34px;}.project-feature h3{font:400 38px/1.13 var(--serif);margin:18px 0;letter-spacing:-.015em;}.project-feature p{font:17px/1.65 var(--sans);margin:0 0 18px;}.project-feature-visual{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding:24px;margin:0;background:var(--paper);}.project-feature-visual img{width:100%;height:auto;}.project-feature-visual figcaption{font:12px/1.7 var(--sans);text-transform:none;letter-spacing:0;margin-top:14px;color:var(--muted);}
.project-meta{display:flex;flex-wrap:wrap;gap:10px 18px;font:11px/1.6 var(--mono);text-transform:uppercase;color:var(--muted);}.project-meta .active{color:var(--cobalt);}
.archive-note{border-top:1px solid var(--line);padding:32px 0 64px;margin-top:52px;}.archive-note h2{font:32px var(--serif);margin:0 0 16px;}.archive-note p{font:17px/1.65 var(--sans);max-width:44em;color:var(--muted);}
.project-brief{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0;display:grid;grid-template-columns:repeat(3,1fr);}.project-brief div{padding:20px 18px 20px 0;}.project-brief dt{font:11px var(--mono);text-transform:uppercase;color:var(--cobalt);margin-bottom:10px;}.project-brief dd{margin:0;font:15px/1.6 var(--sans);}
.project-next{border-left:3px solid var(--cobalt);padding:8px 0 8px 22px;margin:28px 0;}.project-next p{font-size:16px;}.chapter-link{min-height:44px;display:inline-flex;align-items:center;color:var(--cobalt);font-size:15px;}.rail-nav a[aria-current=page]{color:var(--ink);font-weight:600;border-left:2px solid var(--cobalt);padding-left:10px;}.rail-nav a,.rail-actions a{min-height:36px;display:flex;align-items:center;}.review-breadcrumb{gap:8px;font-size:12px;}.notebook-content .project-opening{font-family:var(--sans);font-size:19px;line-height:1.7;max-width:40em;}.notebook-content .project-title{font-size:clamp(40px,4.5vw,61px);line-height:1.08;max-width:14em;}.project-status{margin-bottom:18px;}.notebook-section h2{scroll-margin-top:130px;}.journal-timeline{margin-top:32px;}.report-scope{font-size:14px!important;color:var(--muted);}
@media(max-width:980px){.project-feature{grid-template-columns:1fr;}.project-feature-visual{border-left:0;border-top:1px solid var(--line);}.project-feature-visual img{max-width:780px;margin:auto;}.notebook-layout{padding-top:22px;}.mobile-menu-row{margin-bottom:22px;}.project-brief{grid-template-columns:1fr;}.project-brief div{padding:16px 0;border-bottom:1px solid var(--line);}.project-brief div:last-child{border-bottom:0;}}
@media(max-width:720px){.flow-hero{padding:30px 0;}.flow-hero h1{font-size:48px;}.flow-hero p{font-size:18px;}.project-feature-copy{padding:22px;}.project-feature h3{font-size:32px;}.project-feature-visual{padding:14px;}.collection-heading h2{font-size:27px;}.collection-heading{gap:12px;}.collection-tabs{margin-bottom:28px;}.notebook-content .project-title{font-size:38px;}.notebook-content .project-opening{font-size:18px;}.flow-actions{gap:10px;}.flow-actions a{padding:12px 14px;}.review-breadcrumb{font-size:12px;}.archive-note{margin-top:34px;}}

/* Navigation hit areas and bookmarked links on the former combined overview. */
.nav-cta, .wordmark, .back-link, .rail-nav a, .rail-actions a, .fig-tools a,
.entry-link { min-height: 44px; display: inline-flex; align-items: center; }
.rail-nav a { display: flex; }
.fig-tools { flex-wrap: wrap; }
.mobile-nav-links a { min-height: 44px; }
.legacy-project-links a { display: none; }
.legacy-project-links a:target { display: block; margin: 24px auto; padding: 18px;
  max-width: 720px; border: 1px solid var(--line); background: var(--paper-bright); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
