
:root{--bg:#f8fafc;--panel:#ffffff;--text:#0f172a;--muted:#64748b;--border:#d8dee9;--accent:#1d4ed8;--accent2:#0f766e;--danger:#b91c1c;--shadow:0 10px 24px rgba(15,23,42,.08);--noteWidth:minmax(0,1.45fr);--slideWidth:minmax(320px,.85fr);--fontScale:1.08;}
html.theme-cream{--bg:#f7f0df;--panel:#fffaf0;--text:#231b11;--muted:#75624a;--border:#e3d3b0;--accent:#8a4b13;--accent2:#6b6f1d;--danger:#a1361a;}
html.theme-dark{--bg:#0b1220;--panel:#111827;--text:#e5e7eb;--muted:#9ca3af;--border:#334155;--accent:#93c5fd;--accent2:#5eead4;--danger:#fca5a5;--shadow:0 10px 24px rgba(0,0,0,.35);}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:calc(18px * var(--fontScale));line-height:1.65;} a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}.container{max-width:1500px;margin:0 auto;padding:24px}.topbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;gap:14px;align-items:center;justify-content:space-between;max-width:1500px;margin:auto;padding:10px 24px;flex-wrap:wrap}.brand{font-weight:800;letter-spacing:.01em}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}button,.button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 11px;font-size:.9rem;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04)}button:hover,.button:hover{border-color:var(--accent);text-decoration:none}.hero{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:24px;margin:22px 0;box-shadow:var(--shadow)}.hero h1{margin:.1em 0 .2em;font-size:2rem;line-height:1.15}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.stat{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:12px}.stat strong{display:block;font-size:1.4rem}.search-row{display:flex;gap:10px;margin:18px 0}.search-row input{width:100%;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:12px 14px;font-size:1rem}.slide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.slide-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.05)}.slide-card h2{font-size:1.05rem;margin:.1em 0 .4em}.slide-meta{font-size:.85rem;color:var(--muted);display:flex;gap:9px;flex-wrap:wrap}.thumb{width:100%;border-radius:10px;border:1px solid var(--border);margin-top:10px}.slide-layout{display:grid;grid-template-columns:var(--noteWidth) var(--slideWidth);gap:22px;align-items:start}.notes-panel,.image-panel,.qa-panel,.audit-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.notes-panel{min-width:0}.image-panel{position:sticky;top:82px}.slide-img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);background:#fff}.nav-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap}.slide-title h1{font-size:1.75rem;line-height:1.2;margin:.1em 0}.pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:3px 9px;color:var(--muted);font-size:.82rem}.note-heading{line-height:1.25;margin:1.35em 0 .35em;padding-bottom:.18em;border-bottom:1px solid var(--border)}.note-heading.level-0{font-size:1.25rem;color:var(--accent)}.note-heading.level-1{font-size:1.12rem;color:var(--accent2);margin-left:1rem}.note-heading.level-2,.note-heading.level-3,.note-heading.level-4{font-size:1.02rem;margin-left:2rem;color:var(--text)}.note-line{display:grid;grid-template-columns:1.2em minmax(0,1fr);gap:.35em;margin:.34em 0}.note-line.level-0{margin-left:.35em}.note-line.level-1{margin-left:1.6em}.note-line.level-2{margin-left:3.0em}.note-line.level-3{margin-left:4.4em}.note-line.level-4{margin-left:5.6em}.bullet{color:var(--accent);font-weight:800}.danger{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;color:var(--danger)}strong{font-weight:800}details{border:1px solid var(--border);border-radius:14px;background:var(--panel);margin:12px 0}summary{cursor:pointer;padding:12px 14px;font-weight:750}.answer{border-top:1px solid var(--border);padding:10px 18px 18px}.qnum{display:inline-block;background:var(--accent);color:var(--bg);border-radius:999px;padding:1px 8px;margin-right:8px;font-size:.78rem}.note-table,.audit-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95em}.note-table th,.note-table td,.audit-table th,.audit-table td{border:1px solid var(--border);padding:8px 10px;vertical-align:top}.note-table th,.audit-table th{background:color-mix(in srgb,var(--accent) 10%,var(--panel));text-align:left}.audit-table{font-size:.78rem}.audit-table td:nth-child(6){word-break:break-word}.section-break{border:0;border-top:2px dashed var(--border);margin:18px 0}.side-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:40;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);width:44px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.side-arrow.prev{left:8px}.side-arrow.next{right:8px}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:1px 5px;background:var(--bg)}.hidden{display:none!important}.footer{color:var(--muted);font-size:.9rem;margin:28px 0}.toc-mini{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.progress{height:8px;background:var(--border);border-radius:999px;overflow:hidden;min-width:160px}.progress span{display:block;height:100%;background:var(--accent)}
@media(max-width:1050px){.slide-layout{grid-template-columns:1fr}.image-panel{position:relative;top:0}.side-arrow{display:none}.container{padding:14px}.topbar-inner{padding:8px 14px}.notes-panel,.image-panel,.qa-panel,.audit-panel{padding:16px}}
@media print{.topbar,.side-arrow,.controls,.nav-row,.image-panel{display:none}.slide-layout{display:block}.notes-panel,.qa-panel,.audit-panel{box-shadow:none;border:0}}

body{font-size:calc(17.5px * var(--fontScale));line-height:1.58}.container{max-width:1580px}.slide-layout{grid-template-columns:minmax(0,1.62fr) minmax(320px,.78fr)}.notes-panel h2,.qa-panel h2{margin-top:0}.note-heading{margin-top:1.15em;border-bottom:2px solid color-mix(in srgb,var(--accent) 25%,var(--border));}.note-heading.level-0{font-size:1.3rem;background:color-mix(in srgb,var(--accent) 7%,var(--panel));padding:.35rem .55rem;border-radius:10px}.note-heading.level-1{font-size:1.1rem}.note-line{margin:.22em 0}.note-line.level-0{margin-left:.1em}.note-line.level-1{margin-left:1.1em}.note-line.level-2{margin-left:2.4em}.note-line.level-3{margin-left:3.7em}.note-line.high-yield{background:color-mix(in srgb,var(--danger) 7%,var(--panel));border-left:4px solid var(--danger);border-radius:8px;padding:3px 6px}.note-table.compact td:first-child{font-weight:750;white-space:nowrap;width:22%}.qa-card summary{font-size:1.03rem}.answer .note-heading.level-0{font-size:1.05rem;background:transparent;padding:0;border-radius:0}.thumb{aspect-ratio:16/9;object-fit:cover}.build-badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:2px 8px;margin-right:5px;color:var(--muted);font-size:.85rem}

.inline-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:12px 0 18px 0;padding:12px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--panel));}
.inline-figure-card{margin:0;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px color-mix(in srgb,var(--text) 12%,transparent)}
.inline-figure-card img{display:block;width:100%;max-height:440px;object-fit:contain;background:#111;}
.inline-figure-card figcaption{font-size:.9rem;line-height:1.35;padding:8px 10px;color:var(--text)}
.fig-meta{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.figure-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.figure-strip img{width:100%;height:110px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#111}.image-panel details+details{margin-top:12px}.slide-layout.visual{grid-template-columns:minmax(0,1.72fr) minmax(300px,.68fr)}.hero .build-badge.figure-badge{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}
/* codex:frcs-host-overrides */


/* FRCS host integration overrides */
.note-section {
  margin-top: clamp(1.75rem, 3.2vw, 3rem);
  padding-top: clamp(1.1rem, 2.4vw, 1.8rem);
  border-top: 1px solid var(--border);
}
.note-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.note-section h3,
.note-section h4 {
  display: block;
  margin: 0 0 .8rem;
  padding-left: .8rem;
  border-left: .28rem solid var(--accent);
  color: var(--accent);
  font-weight: 900;
  letter-spacing: 0;
}
.note-section h3 {
  font-size: clamp(1.38rem, 1.7vw, 1.9rem);
}
.note-section h4 {
  font-size: clamp(1.12rem, 1.2vw, 1.42rem);
}
.note-list {
  gap: .42rem;
}
.figure-gallery,
.stem-gallery {
  margin: 1rem 0 1.45rem;
  gap: 1rem;
}
.side-nav .side,
.side-arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 64px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  color: var(--accent);
  box-shadow: var(--shadow);
  font-size: 1.65rem;
  font-weight: 900;
  text-decoration: none;
}
.side-nav .side:hover,
.side-arrow:hover {
  border-color: var(--accent);
  text-decoration: none;
}
.side-nav .side.prev,
.side-arrow.prev {
  left: 8px;
}
.side-nav .side.next,
.side-arrow.next {
  right: 8px;
}
.embedded-figure img,
.stem-figure img,
.slide-img {
  display: block;
  max-width: 100%;
  height: auto;
}
html.embedded,
html.embedded body,
body.embedded {
  overflow-x: hidden;
}
html.embedded {
  --content-width: 100%;
}
body.embedded .topbar {
  position: sticky;
  top: 0;
  z-index: 20;
}
body.embedded .topbar .controls,
body.embedded .topbar .subtle,
body.embedded .side-nav {
  display: none !important;
}
body.embedded .topbar .slide-header,
body.embedded .site-header,
body.embedded .slide-header,
body.embedded .slide-footer,
body.embedded .study-grid,
body.embedded .qa-section,
body.embedded .visual-stem {
  max-width: 100%;
}
body.embedded .topbar .slide-header,
body.embedded .site-header,
body.embedded .slide-header {
  padding: .55rem .75rem;
}
body.embedded .nav-row {
  margin: 0;
  gap: .45rem;
}
body.embedded .btn,
body.embedded button {
  min-height: 2.25rem;
  padding: .34rem .62rem;
  border-radius: .55rem;
}
body.embedded .slide-title {
  font-size: clamp(1.45rem, 4vw, 2rem);
}
body.embedded .study-grid {
  padding-left: .75rem;
  padding-right: .75rem;
}
body.embedded .visual-stem {
  margin-bottom: .75rem;
  padding-left: .75rem;
  padding-right: .75rem;
}
u,
.risk-line {
  text-decoration-color: currentColor;
  text-decoration-thickness: .11em;
  text-underline-offset: .18em;
}
[data-theme="cream"] u,
[data-theme="cream"] .risk-line {
  color: #8b2d19;
  text-decoration-color: #b45309;
}
[data-theme="dark"] u,
[data-theme="dark"] .risk-line {
  color: #ffb3a7;
  text-decoration-color: #ffb3a7;
}
@media (max-width: 700px) {
  html {
    overflow-x: hidden;
    font-size: 16px;
  }
  body {
    overflow-x: hidden;
    font-size: calc(16px * var(--fontScale, 1));
  }
  .topbar {
    position: sticky;
    top: 0;
  }
  .topbar-inner,
  .controls,
  .nav-row {
    align-items: stretch;
    gap: 8px;
  }
  .topbar-inner {
    padding: 9px max(10px, env(safe-area-inset-right)) 9px max(10px, env(safe-area-inset-left));
  }
  .brand {
    width: 100%;
    font-size: 1rem;
    line-height: 1.25;
  }
  .controls {
    display: flex;
    flex-wrap: wrap;
  }
  .controls button,
  .controls .button,
  button,
  .button {
    min-height: 40px;
    padding: 7px 10px;
    border-radius: 10px;
    white-space: nowrap;
  }
  .container {
    width: 100%;
    max-width: 100%;
    padding: 12px max(10px, env(safe-area-inset-right)) 20px max(10px, env(safe-area-inset-left));
  }
  .hero,
  .notes-panel,
  .image-panel,
  .qa-panel,
  .audit-panel,
  .slide-card {
    max-width: 100%;
    border-radius: 14px;
    padding: 14px;
  }
  .hero h1,
  .slide-title h1 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
  }
  .slide-layout,
  .slide-layout.visual,
  .stats,
  .slide-list,
  .inline-figures,
  .stem-gallery,
  .figure-gallery {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .notes-panel,
  .image-panel {
    min-width: 0;
    overflow: hidden;
  }
  .note-heading,
  .note-heading.level-0,
  .note-heading.level-1,
  .note-heading.level-2,
  .note-heading.level-3,
  .note-heading.level-4 {
    margin-left: 0;
    overflow-wrap: anywhere;
  }
  .note-line,
  .note-line.level-0,
  .note-line.level-1,
  .note-line.level-2,
  .note-line.level-3,
  .note-line.level-4 {
    grid-template-columns: 1.05em minmax(0, 1fr);
    gap: .45em;
    margin-left: 0;
  }
  .note-line > *,
  .answer,
  .slide-card,
  figcaption {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .inline-figure-card img,
  .stem-figure img,
  .embedded-figure img,
  .slide-img,
  .thumb {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 58vh;
    object-fit: contain;
  }
  .note-table,
  .audit-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  .side-nav .side,
  .side-arrow {
    display: none;
  }
}
