@font-face {
  font-family: "H3 Sans";
  src: url("assets/NotoSansSC-subset.woff2?v=20261104-demo-1") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --paper: #ffffff;
  --background: #f2f3ef;
  --ink: #182923;
  --muted: #63726b;
  --green: #1a624d;
  --green-dark: #102e25;
  --green-soft: #edf5ef;
  --line: #dde4df;
  --amber: #8a6125;
  --sidebar-width: 244px;
  --topbar-height: 70px;
  font-family: "H3 Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  color: var(--ink);
  background: var(--background);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-size: 15px; line-height: 1.7; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; }
a { color: var(--green); text-underline-offset: 4px; }
a:hover { color: #103d30; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #b08845; outline-offset: 4px; }
button:disabled { opacity: .35; cursor: default; }
::selection { background: #d8eadf; }

.skip-link { position: fixed; left: 260px; top: -80px; z-index: 20; background: var(--paper); padding: 12px 22px; }
.skip-link:focus { top: 8px; }
.sidebar { width: var(--sidebar-width); position: fixed; inset: 0 auto 0 0; z-index: 10; background: var(--green-dark); color: #ecf4ef; padding: 30px 20px 20px; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 13px; padding: 0 10px; color: white; text-decoration: none; line-height: 1.5; font-size: 13px; letter-spacing: .06em; }
.brand:hover { color: white; }
.brand-mark { font-size: 36px; font-weight: 750; letter-spacing: -.07em; line-height: 1; padding-right: 14px; border-right: 1px solid #577066; }
.brand small { color: #a4b9ad; font-size: 8px; letter-spacing: .13em; }
.edition { margin: 27px 10px 17px; font-size: 10px; letter-spacing: .08em; color: #d2e0d7; }
.edition span { color: #9ab5a6; margin-left: 8px; }
#contents { overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: #577066 transparent; padding: 0 0 12px; }
.nav-group { font-size: 10px; color: #9ab5a6; margin: 18px 10px 7px; letter-spacing: .12em; }
.nav-group:first-child { margin-top: 0; }
.nav-link { display: flex; align-items: baseline; gap: 11px; text-decoration: none; color: #bcd0c3; font-size: 12px; padding: 7px 11px; border-radius: 5px; margin: 2px 0; line-height: 1.5; border-left: 2px solid transparent; transition: background .16s; }
.nav-link:hover { color: white; background: #203d31; }
.nav-link.active { background: #284b3b; color: #fff; border-left-color: #c5d9aa; }
.nav-number { color: #92b19d; font-size: 10px; width: 18px; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.nav-link.active .nav-number { color: #d6e7b8; }
.sidebar-bottom { font-size: 9px; color: #b2c7b9; margin-top: auto; padding: 17px 10px 0; border-top: 1px solid #355144; line-height: 1.8; }
.status-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #bcce93; margin-right: 6px; vertical-align: 1px; }
.snapshot-date { color: #8ca995; }
.topbar { height: var(--topbar-height); position: fixed; left: var(--sidebar-width); top: 0; right: 0; z-index: 9; background: #fafbf8; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 34px; }
.breadcrumb { display: flex; align-items: center; gap: 14px; color: #647369; font-size: 11px; }
.breadcrumb > span:first-child { color: var(--ink); font-weight: 600; }
.breadcrumb-separator { opacity: .45; }
.toolbar { display: flex; align-items: center; gap: 9px; }
.toolbar button { background: var(--paper); color: #3e5346; font-size: 11px; border: 1px solid #cfd9d1; border-radius: 4px; padding: 7px 13px; white-space: nowrap; line-height: 1.5; }
.toolbar button:hover { border-color: var(--green); background: var(--green-soft); }
.toolbar #mode-toggle { background: var(--green); color: white; border-color: var(--green); }
.toolbar #mode-toggle:hover { background: #144936; }
.toolbar .quiet-button { border-color: transparent; background: transparent; }
.page-counter { font-size: 11px; color: #7b897f; margin-right: 12px; font-variant-numeric: tabular-nums; }
.reading-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; }
.reading-progress span { display: block; height: 100%; width: 6.67%; background: #a5bc80; transition: width .2s; }

main { margin-left: var(--sidebar-width); padding: 100px 34px 62px; }
.slide { background: var(--paper); border: 1px solid #e0e6df; border-radius: 5px; max-width: 1220px; min-height: 710px; margin: 0 auto 32px; padding: 34px 46px 23px; display: flex; flex-direction: column; position: relative; scroll-margin-top: 96px; box-shadow: 0 3px 16px #20342904; }
.slide-meta { display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #7b8b7e; margin-bottom: 25px; line-height: 1.5; }
.slide-meta span:first-child { color: var(--green); font-weight: 650; }
h1, h2, h3, p { margin-top: 0; }
h2 { font-size: clamp(24px, 2.2vw, 35px); line-height: 1.35; font-weight: 700; letter-spacing: -.035em; margin-bottom: 15px; text-wrap: balance; }
h3 { font-size: 15px; line-height: 1.5; margin-bottom: 10px; font-weight: 650; }
p { margin-bottom: 14px; }
.lead { color: var(--muted); max-width: 940px; margin-bottom: 22px; font-size: 14px; line-height: 1.85; }
.lead strong { color: var(--green); font-weight: 700; }
.slide-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); font-size: 9px; line-height: 1.7; color: #78867d; }
.slide-footer span:last-child { flex-shrink: 0; color: #546a5c; }
.footnote { font-size: 10px; line-height: 1.85; color: #768479; margin: 14px 0 20px; }
.footnote strong { font-weight: 600; color: #4c6252; }

table { width: 100%; border-collapse: collapse; margin: 0 0 21px; font-size: 12px; line-height: 1.7; }
caption { text-align: left; caption-side: top; color: #79867d; font-size: 10px; margin-bottom: 9px; font-weight: 450; letter-spacing: .01em; }
thead { background: #edf2ed; }
th, td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
thead th { color: #4c6452; font-size: 11px; font-weight: 600; border-top: 1px solid #d3ddd2; border-bottom: 1px solid #cad7cc; white-space: nowrap; }
tbody th { font-weight: 550; }
tbody tr:last-child > * { border-bottom-color: #cbd7cd; }
tbody tr.emphasis { background: #f0f6ed; }
tbody tr.emphasis > th { color: #1b603a; font-weight: 700; }
tbody td.best { background: #ecf5eb; color: #1d623e; font-weight: 650; }
.numeric-table { font-variant-numeric: tabular-nums; }
.numeric-table td { text-align: right; white-space: nowrap; }
.numeric-table thead th:not(:first-child) { text-align: right; }
.numeric-table tbody th { min-width: 115px; }
.compact-table td, .compact-table th { padding-top: 10px; padding-bottom: 10px; }
.score-table { font-size: 11px; }
.score-table td, .score-table th { padding: 10px 11px; }
.score-table caption { margin-bottom: 7px; }
.score-table thead th { font-size: 10px; }
.score-table tbody th { min-width: 112px; }
.table-scroll { width: 100%; overflow-x: auto; margin-bottom: 0; }
.table-scroll table { min-width: 710px; }
.delta-positive { color: #326744; }
.delta-negative { color: #8b6242; }
.delta-neutral { color: #69796c; }
.missing { color: #8b968d; }
.pending { display: inline-block; color: #836335; background: #f6f0e4; border: 1px solid #e7dac4; padding: 2px 8px; font-size: 10px; border-radius: 3px; white-space: nowrap; }

.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.text-columns { margin: 0 0 5px; }
.text-columns > div { padding: 9px 0 0; }
.text-columns p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.text-panel { padding: 19px 22px; background: #f5f7f2; border-left: 3px solid #b4c5a3; margin: 2px 0 20px; }
.text-panel h3 { font-size: 12px; color: var(--green); margin-bottom: 7px; }
.text-panel p { color: #677668; font-size: 12px; margin-bottom: 0; }
.pipeline-text { letter-spacing: .04em; color: var(--ink) !important; font-weight: 550; padding-bottom: 8px; }
.pipeline-text span { color: #8c9d8a; margin: 0 14px; }
.placeholder { border: 1px dashed #b9c6b4; background: #fcfcf9; padding: 25px 24px; min-height: 118px; display: flex; flex-direction: column; justify-content: center; margin-bottom: 20px; }
.placeholder-label { font-size: 10px; letter-spacing: .06em; color: #7a8c70; margin-bottom: 8px; }
.placeholder p { color: #929d8c; font-size: 12px; margin-bottom: 0; }
.placeholder.compact { min-height: 88px; padding-top: 16px; padding-bottom: 16px; }
.placeholders { gap: 18px; }
.row-index { display: block; color: #9aa993; font-weight: 450; font-size: 11px; letter-spacing: .1em; margin-bottom: 4px; }
.ideas-table td, .ideas-table th { padding: 25px 20px; }
.ideas-table th:first-child { width: 23%; font-size: 15px; }
.ideas-table th:nth-child(2) { width: 49%; }
.ideas-table thead th { padding-top: 13px; padding-bottom: 13px; font-size: 11px; }
.statement { margin: 7px 0 8px; color: var(--green); font-weight: 600; font-size: 18px; line-height: 1.7; }
.result-note { border-left: 3px solid #9bb481; padding: 2px 0 2px 17px; margin: 2px 0 5px; }
.result-note > span { font-size: 9px; color: #849775; letter-spacing: .1em; }
.result-note p { font-size: 12px; color: #536747; margin: 5px 0 0; line-height: 1.85; }
.next-heading { margin: 0 0 12px; font-size: 13px; color: var(--green); }
.dense-slide .slide-meta { margin-bottom: 18px; }
.dense-slide .lead { margin-bottom: 14px; }
.dense-slide table { margin-bottom: 14px; }
.dense-slide .score-table td, .dense-slide .score-table th { padding-top: 6px; padding-bottom: 6px; }
.dense-slide .footnote { margin-top: 3px; margin-bottom: 15px; }
.comparison-table tbody td:last-child { width: 110px; }
.h200-results-slide .slide-meta { margin-bottom: 16px; }
.h200-results-slide .lead { margin-bottom: 15px; }
.h200-results-slide table { margin-bottom: 15px; }
.h200-results-slide #h200-speed-table th,
.h200-results-slide #h200-speed-table td { padding-top: 9px; padding-bottom: 9px; }
.h200-results-slide .table-scroll table { min-width: 620px; }
.configuration-table th:first-child { width: 20%; white-space: nowrap; }
.configuration-table th:nth-child(2) { width: 80%; }
.configuration-table tbody td:last-child { line-height: 1.9; }
.conclusion-table { min-width: 780px; }
.conclusion-table th, .conclusion-table td { padding: 14px 10px; }
.conclusion-table thead th[colspan] { text-align: center; }
.conclusion-table thead tr:nth-child(2) th { white-space: normal; font-size: 10px; line-height: 1.7; }
.conclusion-table thead tr:first-child th:nth-child(3), .conclusion-table tbody td:nth-child(3),
.conclusion-table thead tr:nth-child(2) th:nth-child(4), .conclusion-table tbody td:nth-child(6) { border-left: 1px solid var(--line); }
.conclusion-speedup { color: var(--green); font-weight: 700; }

.model-slide .slide-meta { margin-bottom: 18px; }
.model-slide .lead { font-size: 12px; margin-bottom: 12px; }
.model-slide table { margin-bottom: 14px; }
.model-slide .compact-table td, .model-slide .compact-table th { padding-top: 7px; padding-bottom: 7px; }
.architecture-figure { margin: 0 0 14px; }
.architecture-figure a { display: block; background: #f6f7fc; border: 1px solid #e6e8ed; border-radius: 4px; overflow: hidden; }
.architecture-figure img { display: block; width: 100%; height: auto; max-height: 400px; object-fit: contain; }
.architecture-figure figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: 9px; color: #7c8b7e; margin-top: 5px; }
.architecture-figure figcaption span { color: var(--green); }
.process-description { font-size: 11px; line-height: 1.9; color: #617264; margin: 0 0 18px; }
.process-description strong { color: var(--green); font-weight: 600; }
.metric-rationale { font-size: 12px; line-height: 1.9; color: #637364; margin-bottom: 10px; }
.timing-table tbody th { width: 26%; white-space: nowrap; }
#ideas h2 { margin-bottom: 28px; }
.media-slide h2 { margin-bottom: 26px; }
.short-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 20px; margin: 0; }
.long-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 0; }
.video-slot { min-width: 0; }
.video-slot h3 { margin: 0 0 9px; color: #4e6557; font-size: 11px; font-weight: 550; line-height: 1.6; }
.video-space { display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 9; background: #fafbf8; border: 1px dashed #c4d0bf; border-radius: 3px; color: #a2afa0; }
.video-space span { font-size: 10px; letter-spacing: .06em; }
.task-label { display: inline-block; color: var(--green); font-size: 9px; font-weight: 650; margin-right: 10px; padding: 2px 7px; background: #edf3e9; border-radius: 3px; }

.case-slide .slide-meta { margin-bottom: 18px; }
.case-slide h2 { margin-bottom: 12px; }
.title-part { font-weight: 450; font-size: .52em; color: #91a088; margin-left: 10px; letter-spacing: .03em; }
.media-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 21px; font-size: 10px; color: #7b8a74; }
.media-toolbar > div { display: flex; gap: 6px; }
.media-toolbar button, .prompt-details, #close-prompt-dialog { font: inherit; color: var(--green); background: #f7f9f3; border: 1px solid #d5dfce; border-radius: 3px; padding: 5px 9px; font-size: 9px; }
.media-toolbar button:hover, .prompt-details:hover { background: #eaf1e3; border-color: #a2b995; }
.short-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 21px; }
.long-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin-bottom: 18px; }
.case-card { min-width: 0; }
.case-heading { display: flex; gap: 12px; align-items: center; min-height: 39px; margin-bottom: 10px; }
.case-kicker { color: #91a083; font-size: 8px; letter-spacing: .08em; }
.case-heading h3 { margin: 1px 0 0; font-size: 14px; line-height: 1.6; color: #36563f; }
.case-seed { margin-left: auto; white-space: nowrap; color: #a1ab99; font-size: 8px; font-variant-numeric: tabular-nums; }
.case-video { display: block; width: 100%; height: auto; aspect-ratio: 1368 / 1280; object-fit: contain; border: 1px solid #e0e7dc; border-radius: 4px; background: #102e25; }
.long-case-card .case-video { aspect-ratio: 1368 / 432; }
.case-print-poster { display: none; }
.case-prompt { margin: 10px 0 6px; font-size: 10px; color: #4b6251; line-height: 1.7; }
.case-prompt > span { display: block; text-transform: uppercase; font-size: 8px; color: #98a68e; letter-spacing: .06em; margin-bottom: 3px; }
.case-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.case-translation { font-size: 9px; color: #8d9b84; line-height: 1.7; }
.case-reference { flex-shrink: 0; margin-left: auto; border: 1px solid #d5dfce; border-radius: 3px; overflow: hidden; line-height: 0; }
.case-reference img { width: 56px; height: 32px; object-fit: cover; }
.case-reference + .case-seed { margin-left: 0; }
.long-case-card .case-heading { min-height: 32px; margin-bottom: 7px; }
.long-case-card .case-heading h3 { font-size: 12px; }
.long-case-card .case-prompt { font-size: 9px; line-height: 1.7; margin-top: 7px; }
.long-case-card .case-translation { font-size: 8px; }
.case-slot { min-width: 0; }
.case-slot .case-heading { min-height: 32px; margin-bottom: 7px; }
.case-slot .case-heading h3 { font-size: 12px; color: #91a083; }
.case-slot-space { aspect-ratio: 1368 / 856; display: grid; place-items: center; border: 1px dashed #c8d5c0; border-radius: 4px; background: #fafbf8; color: #98a68e; font-size: 12px; }
.prompt-details { font-size: 8px; padding: 2px 5px; white-space: nowrap; }
#prompt-dialog { border: 1px solid #c8d7bf; border-radius: 7px; padding: 25px; max-width: min(700px, 90vw); color: #36503a; }
#prompt-dialog::backdrop { background: #102e2580; }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.dialog-heading h3 { margin: 0; }
#prompt-dialog-text { font-size: 13px; line-height: 1.9; margin: 0; }

.cover { padding: 34px 48px 25px; background: #fcfdf9; }
.cover .slide-meta { margin-bottom: 25px; }
.cover-body { padding: 12px 0 24px; }
.eyebrow { font-size: 11px; letter-spacing: .14em; color: #7c8f73; margin-bottom: 19px; }
h1 { font-size: clamp(42px, 4.8vw, 72px); line-height: 1.22; font-weight: 700; letter-spacing: -.055em; margin-bottom: 16px; }
h1 em { font-style: normal; color: var(--green); }
.cover-subtitle { font-size: 24px; font-weight: 450; letter-spacing: .05em; color: #52654d; margin-bottom: 22px; }
.cover-description { font-size: 13px; color: #7a8874; max-width: 640px; line-height: 1.9; }
.cover-summary { margin: 30px 0 0; width: min(750px, 100%); }
.cover-summary td { padding: 15px 20px 0 0; border: 0; border-top: 1px solid #cfdcc9; width: 33%; vertical-align: top; }
.cover-summary strong { display: block; font-size: 18px; font-weight: 600; color: var(--green); letter-spacing: -.03em; margin-bottom: 3px; }
.cover-summary span { font-size: 10px; color: #89967f; }
.cover-footer { margin-top: auto; padding-top: 18px; border-top: 1px solid #d5e0ce; display: flex; justify-content: space-between; gap: 14px; font-size: 9px; color: #859278; }
.appendix .lead { font-size: 12px; margin-bottom: 15px; }
.appendix .compact-table td, .appendix .compact-table th { padding-top: 7px; padding-bottom: 7px; font-size: 10px; }
.appendix-links { display: flex; flex-wrap: wrap; gap: 11px 22px; margin: 2px 0 12px; font-size: 10px; }
details { font-size: 10px; color: #60765e; margin-bottom: 20px; }
summary { cursor: pointer; padding: 7px 0; }
.source-paths { margin-top: 12px; }
.source-paths p { margin-bottom: 12px; }
.source-paths strong { display: block; color: #3f5940; }
.source-paths code { display: block; font-size: 9px; line-height: 1.8; overflow-wrap: anywhere; color: #7a8975; }
.reference-links { margin-top: 14px; }
.pass-label { color: #387245; font-size: 10px; white-space: nowrap; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.deck-controls { display: none; }
.noscript { padding: 20px; background: #fcf5e7; }

body.deck { background: #e7ebe4; }
body.deck main { padding-top: 94px; padding-bottom: 86px; }
body.deck .slide { display: none; margin-bottom: 0; min-height: calc(100vh - 182px); }
body.deck .slide.is-current { display: flex; }
body.deck .slide:not(.is-current) { content-visibility: hidden; }
body.deck .deck-controls { display: flex; position: fixed; z-index: 9; bottom: 0; left: var(--sidebar-width); right: 0; justify-content: center; align-items: center; gap: 22px; min-height: 65px; padding: 9px 24px; background: #fafbf8; border-top: 1px solid #d2ddce; }
.deck-controls button { background: transparent; border: 1px solid #cad7c4; border-radius: 4px; padding: 5px 14px; color: var(--green); font-size: 11px; }
.deck-controls > span { color: #687d60; font-size: 11px; font-variant-numeric: tabular-nums; }
.deck-controls .keyboard-hint { font-size: 9px; color: #8e9c85; position: absolute; right: 24px; }

@media screen and (min-width: 901px) {
  body.deck { overflow: hidden; }
  body.deck main { height: 100dvh; overflow: hidden; }
  body.deck .slide { transform: scale(var(--deck-scale, 1)); transform-origin: top center; }
  body.deck .appendix details { display: none; }
}

@media (min-width: 1600px) {
  :root { --sidebar-width: 262px; }
  .slide { min-height: 770px; padding: 40px 56px 26px; }
  body { font-size: 16px; }
  table { font-size: 13px; }
  .lead { font-size: 16px; }
  .score-table { font-size: 12px; }
  .score-table th, .score-table td { padding-top: 12px; padding-bottom: 12px; }
  .cover { min-height: 800px; }
  .cover-body { padding-top: 35px; }
  .cover-summary { margin-top: 50px; }
}

@media (max-width: 1190px) {
  :root { --sidebar-width: 204px; }
  .sidebar { padding-left: 12px; padding-right: 12px; }
  .topbar { padding-left: 23px; padding-right: 23px; }
  .breadcrumb { gap: 8px; font-size: 10px; }
  main { padding-left: 22px; padding-right: 22px; }
  .slide { padding: 28px 28px 21px; }
  h2 { font-size: 26px; }
  th, td { padding-left: 10px; padding-right: 10px; }
  table { font-size: 11px; }
  .lead { font-size: 13px; }
  .numeric-table { font-size: 10px; }
  .numeric-table thead th { font-size: 10px; }
  .score-table { font-size: 10px; }
  .deck-controls .keyboard-hint { display: none; }
}

@media (max-width: 900px) {
  :root { --sidebar-width: 0px; --topbar-height: 64px; }
  .sidebar { display: none; }
  .topbar { left: 0; padding: 0 20px; }
  main { margin-left: 0; padding: 86px 20px 40px; }
  .slide { max-width: 850px; min-height: 670px; }
  .breadcrumb > span:first-child, .breadcrumb-separator { display: none; }
  body.deck .deck-controls { left: 0; }
  .skip-link { left: 10px; }
}

@media (max-width: 600px) {
  body { font-size: 14px; }
  .topbar { padding: 0 12px; gap: 8px; }
  .breadcrumb { max-width: 100px; white-space: nowrap; overflow: hidden; font-size: 10px; }
  .toolbar { gap: 5px; }
  .toolbar button { font-size: 10px; padding: 6px 8px; }
  .toolbar #fullscreen-toggle { display: none; }
  .page-counter { font-size: 10px; margin-right: 3px; }
  main { padding: 78px 10px 28px; }
  .slide { padding: 24px 19px 20px; min-height: 0; border-radius: 3px; margin-bottom: 18px; scroll-margin-top: 78px; }
  .slide-meta { font-size: 8px; margin-bottom: 22px; }
  h2 { font-size: 25px; line-height: 1.45; }
  .lead { font-size: 12px; line-height: 1.9; margin-bottom: 18px; }
  table { font-size: 10px; line-height: 1.8; margin-bottom: 18px; }
  caption { font-size: 9px; }
  th, td { padding: 10px 7px; }
  thead th { white-space: normal; font-size: 9px; }
  .numeric-table tbody th { min-width: 65px; }
  .numeric-table th, .numeric-table td { padding-left: 5px; padding-right: 5px; font-size: 9px; }
  .numeric-table thead th { font-size: 8px; }
  #short-speed-table thead th:nth-child(4) { max-width: 60px; }
  .score-table th, .score-table td { font-size: 10px; padding-left: 9px; padding-right: 9px; }
  .table-scroll .score-table { min-width: 690px; }
  .two-columns { grid-template-columns: 1fr; gap: 3px; }
  .text-columns > div { padding-top: 0; }
  .text-columns p { font-size: 11px; }
  .text-panel { padding: 16px; }
  .pipeline-text { letter-spacing: 0; font-size: 11px !important; }
  .pipeline-text span { margin: 0 3px; }
  .placeholder { min-height: 100px; margin-bottom: 12px; padding: 20px; }
  .placeholder p { font-size: 11px; }
  .footnote { font-size: 9px; margin: 12px 0 19px; }
  .slide-footer { font-size: 8px; gap: 10px; padding-top: 12px; }
  .slide-footer span:last-child { display: none; }
  .cover { min-height: 650px; padding: 25px 24px 21px; }
  .cover .slide-meta { font-size: 7px; letter-spacing: .07em; }
  .cover-body { padding-top: 35px; }
  h1 { font-size: 46px; }
  .cover-subtitle { font-size: 21px; }
  .cover-description { font-size: 12px; }
  .cover-summary { margin-top: 30px; }
  .cover-summary td { padding-right: 8px; }
  .cover-summary strong { font-size: 15px; }
  .cover-summary span { font-size: 8px; display: block; line-height: 1.8; }
  .cover-footer { flex-wrap: wrap; font-size: 8px; }
  .cover-footer span:nth-child(2) { order: 3; flex-basis: 100%; }
  .ideas-table td, .ideas-table th { padding: 16px 8px; }
  .ideas-table th:first-child { width: 27%; font-size: 12px; }
  .ideas-table thead th { font-size: 10px; padding-top: 10px; padding-bottom: 10px; }
  .statement { font-size: 16px; }
  .architecture-figure img { max-height: none; }
  .architecture-figure figcaption { font-size: 8px; }
  .process-description, .metric-rationale { font-size: 10px; }
  .timing-table tbody th { white-space: normal; width: 32%; }
  .short-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .long-video-grid { grid-template-columns: 1fr; gap: 20px; }
  .video-slot h3 { font-size: 9px; min-height: 29px; margin-bottom: 6px; }
  .long-video-grid .video-slot h3 { min-height: 0; font-size: 10px; }
  .video-space span { font-size: 8px; }
  .short-case-grid, .long-case-grid { grid-template-columns: 1fr; gap: 26px; }
  .media-toolbar { font-size: 9px; margin-bottom: 16px; }
  .media-toolbar button { font-size: 8px; padding: 5px 8px; }
  .case-heading h3 { font-size: 13px; }
  .case-seed { font-size: 7px; }
  .case-prompt { font-size: 10px; }
  .long-case-card .case-prompt { font-size: 10px; }
  .long-case-card .case-translation { font-size: 9px; }
  .conclusion-table td, .conclusion-table th { vertical-align: top; }
  .appendix .compact-table td, .appendix .compact-table th { font-size: 8px; padding-left: 5px; padding-right: 5px; }
  .appendix-links { gap: 8px 15px; }
  body.deck main { padding-top: 78px; }
  body.deck .slide { min-height: calc(100dvh - 160px); }
  body.deck .deck-controls { min-height: 58px; gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

@media print {
  @page { size: A4 landscape; margin: 9mm; }
  :root { font-size: 10px; }
  html, body, body.deck { margin: 0; background: white; }
  html { scroll-behavior: auto; }
  .sidebar, .topbar, .deck-controls, .skip-link, .noscript, .sr-only, #prompt-dialog { display: none !important; }
  main, body.deck main { margin: 0; padding: 0; }
  .slide, body.deck .slide, body.deck .slide:not(.is-current) { display: flex !important; content-visibility: visible !important; border: 0; box-shadow: none; border-radius: 0; width: 100%; max-width: none; height: 190mm; min-height: 0; margin: 0; padding: 4mm 7mm; break-after: page; page-break-after: always; overflow: hidden; }
  .slide:last-child { break-after: auto; page-break-after: auto; }
  .slide-meta, .dense-slide .slide-meta { font-size: 7px; margin-bottom: 4mm; }
  h1 { font-size: 48px; }
  h2 { font-size: 23px; margin-bottom: 3mm; }
  h3 { font-size: 11px; margin-bottom: 2mm; }
  .lead, .appendix .lead { font-size: 10px; line-height: 1.7; margin-bottom: 4mm; }
  table, .numeric-table { font-size: 9px; margin-bottom: 4mm; }
  th, td { padding: 2.8mm 3mm; }
  caption, thead th, .numeric-table thead th { font-size: 8px; }
  .score-table { font-size: 8px; }
  .score-table th, .score-table td { padding: 2.2mm 2.7mm; font-size: 8px; }
  .table-scroll { overflow: visible; }
  .table-scroll table { min-width: 0; }
  .text-panel { padding: 3mm 4mm; margin-bottom: 3mm; }
  .text-panel p, .text-columns p, .result-note p { font-size: 9px; }
  .footnote { font-size: 7.5px; line-height: 1.7; margin: 2mm 0 3mm; }
  .slide-footer { font-size: 7px; padding-top: 3mm; }
  .two-columns { grid-template-columns: 1fr 1fr; }
  .placeholder { min-height: 22mm; padding: 3mm 4mm; margin-bottom: 3mm; }
  .placeholder p, .placeholder-label { font-size: 8px; }
  .ideas-table th, .ideas-table td { padding: 6mm 4mm; }
  .ideas-table th:first-child { font-size: 12px; }
  .statement { font-size: 13px; margin: 3mm 0; }
  .cover-body { padding-top: 9mm; }
  .cover-subtitle { font-size: 20px; margin-bottom: 5mm; }
  .cover-description { font-size: 11px; }
  .cover-summary { margin-top: 8mm; width: 75%; }
  .cover-summary strong { font-size: 15px; }
  .cover-summary span, .cover-footer { font-size: 8px; }
  .dense-slide table { margin-bottom: 3mm; }
  .dense-slide .score-table th, .dense-slide .score-table td { padding: 1.6mm 3mm; }
  .appendix .compact-table th, .appendix .compact-table td { font-size: 8px; padding: 1.6mm 2mm; }
  .appendix-links { font-size: 8px; margin-bottom: 3mm; }
  .appendix details { display: none; }
  .pending { font-size: 8px; }
  .model-slide .lead { font-size: 9px; margin-bottom: 3mm; }
  .model-slide .slide-meta { margin-bottom: 3mm; }
  .model-slide .compact-table td, .model-slide .compact-table th { padding-top: 1.7mm; padding-bottom: 1.7mm; }
  .model-slide table { margin-bottom: 3mm; }
  .architecture-figure { margin-bottom: 2mm; }
  .architecture-figure img { max-height: 82mm; }
  .architecture-figure figcaption { font-size: 7px; margin-top: 1mm; }
  .process-description { font-size: 8px; margin-bottom: 2mm; }
  .metric-rationale { font-size: 9px; margin-bottom: 2mm; }
  .short-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6mm 5mm; }
  .long-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5mm; }
  .short-video-grid .video-space { aspect-ratio: auto; height: 40mm; }
  .long-video-grid .video-space { aspect-ratio: auto; height: 45mm; }
  .video-slot h3, .long-video-grid .video-slot h3 { font-size: 8px; margin-bottom: 2mm; min-height: 0; }
  .video-space span { font-size: 8px; }
  .task-label { font-size: 7px; }
  .media-slide h2 { margin-bottom: 5mm; }
  .case-slide h2 { margin-bottom: 3mm; }
  .case-slide .slide-meta { margin-bottom: 3mm; }
  .media-toolbar { display: none; }
  .short-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6mm; margin-bottom: 3mm; }
  .long-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3mm 5mm; margin-bottom: 3mm; }
  .case-video { display: none; }
  .case-print-poster { display: block; width: 100%; height: auto; max-height: 111mm; object-fit: contain; background: #f5f7f2; }
  .long-case-card .case-print-poster { max-height: 37mm; }
  .four-method-case .case-print-poster { max-height: 50mm; }
  .case-heading, .long-case-card .case-heading { min-height: 0; margin-bottom: 2mm; }
  .case-heading h3, .long-case-card .case-heading h3 { font-size: 9px; }
  .case-kicker, .case-seed { font-size: 6px; }
  .case-prompt, .long-case-card .case-prompt { font-size: 7.5px; margin: 2mm 0 1mm; }
  .case-prompt > span { font-size: 6px; }
  .case-translation, .long-case-card .case-translation { font-size: 7px; }
  .prompt-details { display: none; }
  .case-reference img { width: 14mm; height: 8mm; }
  .case-slot .case-heading { min-height: 0; margin-bottom: 2mm; }
  .case-slot .case-heading h3 { font-size: 9px; }
  .case-slot-space { height: 50mm; aspect-ratio: auto; font-size: 9px; }
  * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
