:root{
  --bg:#FAFAF7;
  --bg-2:#F1EEE5;
  --ink:#0A0A0A;
  --ink-2:#3A3A38;
  --ink-3:#7B7B76;
  --rule:#0A0A0A;
  --rule-soft:#C9C5B7;
  --accent:#C73E1D;
  --deck-scale:1.5;
  --pretendard:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#1B1916;color:var(--ink);font-family:var(--pretendard);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:'ss01','case','tnum';overflow-x:hidden}
a{color:inherit}

.toolbar{position:fixed;top:calc(14px * var(--deck-scale));right:calc(18px * var(--deck-scale));z-index:1000;display:flex;gap:calc(8px * var(--deck-scale));font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.05em;color:#bfb9a8}
.toolbar button{background:#2a2722;color:#e6e1d2;border:calc(1px * var(--deck-scale)) solid #3d3a32;padding:calc(6px * var(--deck-scale)) calc(10px * var(--deck-scale));border-radius:calc(2px * var(--deck-scale));cursor:pointer;font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.08em;text-transform:uppercase}
.toolbar button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.helpbar{position:fixed;bottom:calc(14px * var(--deck-scale));left:calc(18px * var(--deck-scale));z-index:1000;font-family:var(--mono);font-size:calc(10px * var(--deck-scale));letter-spacing:.1em;color:#7e7866}

.deck{display:flex;flex-direction:column;align-items:center;padding:calc(48px * var(--deck-scale)) 0 calc(80px * var(--deck-scale));gap:calc(36px * var(--deck-scale))}

.slide{
  position:relative;width:calc(1280px * var(--deck-scale));height:calc(720px * var(--deck-scale));background:var(--bg);
  overflow:hidden;
  box-shadow:0 calc(30px * var(--deck-scale)) calc(80px * var(--deck-scale)) calc(-30px * var(--deck-scale)) rgba(0,0,0,.5),0 calc(6px * var(--deck-scale)) calc(16px * var(--deck-scale)) calc(-6px * var(--deck-scale)) rgba(0,0,0,.3);
  letter-spacing:-.005em;
}
.slide::before{content:'';position:absolute;top:calc(32px * var(--deck-scale));left:calc(64px * var(--deck-scale));right:calc(64px * var(--deck-scale));height:calc(1px * var(--deck-scale));background:var(--rule)}
.slide::after{content:'';position:absolute;bottom:calc(32px * var(--deck-scale));left:calc(64px * var(--deck-scale));right:calc(64px * var(--deck-scale));height:calc(1px * var(--deck-scale));background:var(--rule)}

.slide .meta-top,.slide .meta-bottom{
  position:absolute;left:calc(64px * var(--deck-scale));right:calc(64px * var(--deck-scale));display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)
}
.slide .meta-top{top:calc(40px * var(--deck-scale))}
.slide .meta-bottom{bottom:calc(40px * var(--deck-scale))}
.slide .meta-bottom::before{content:'';position:absolute;left:0;bottom:calc(-30px * var(--deck-scale));width:calc(84px * var(--deck-scale));height:calc(18px * var(--deck-scale));background:url("../assets/fastcampus-logo-gray.png") no-repeat left center / contain;opacity:.38;pointer-events:none}
.slide .meta-top .deck-title{display:flex;align-items:center;gap:calc(12px * var(--deck-scale))}
.slide .meta-top .mark{width:calc(14px * var(--deck-scale));height:calc(14px * var(--deck-scale));border:calc(1.5px * var(--deck-scale)) solid var(--ink);border-radius:50%;position:relative}
.slide .meta-top .mark::after{content:'';position:absolute;top:50%;left:50%;width:calc(5px * var(--deck-scale));height:calc(5px * var(--deck-scale));background:var(--accent);border-radius:50%;transform:translate(-50%,-50%)}
.slide .meta-bottom .num{font-weight:600;color:var(--ink)}
.slide .meta-bottom .accent{color:var(--accent)}
.slide .body{position:absolute;top:calc(104px * var(--deck-scale));bottom:calc(104px * var(--deck-scale));left:calc(96px * var(--deck-scale));right:calc(96px * var(--deck-scale));display:flex;flex-direction:column;justify-content:center}

.layout-cover .body{justify-content:space-between}
.layout-cover .eyebrow{font-family:var(--mono);font-size:calc(12px * var(--deck-scale));letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.layout-cover h1{font-size:calc(104px * var(--deck-scale));font-weight:800;line-height:.98;letter-spacing:-.04em;margin-top:calc(18px * var(--deck-scale))}
.layout-cover h1.chapter-full-title{font-size:calc(58px * var(--deck-scale));line-height:1.12;letter-spacing:0;max-width:calc(1040px * var(--deck-scale));word-break:keep-all;text-wrap:balance}
.layout-cover h1 .title-fit{font-size:calc(82px * var(--deck-scale))}
.layout-cover h1 em{font-style:normal;color:var(--accent)}
.layout-cover h1 .underline{position:relative;display:inline-block}
.layout-cover h1 .underline::after{content:'';position:absolute;left:0;right:0;bottom:calc(8px * var(--deck-scale));height:calc(6px * var(--deck-scale));background:var(--accent);z-index:-1;opacity:.85}
.layout-cover .subtitle{font-size:calc(22px * var(--deck-scale));color:var(--ink-2);font-weight:400;max-width:calc(780px * var(--deck-scale));line-height:1.45;margin-top:calc(28px * var(--deck-scale))}
.layout-cover .by{display:flex;gap:calc(48px * var(--deck-scale));align-items:flex-end;justify-content:space-between}
.layout-cover .by .who{display:flex;flex-direction:column;gap:calc(4px * var(--deck-scale))}
.layout-cover .by .name{font-size:calc(16px * var(--deck-scale));font-weight:600}
.layout-cover .by .role{font-family:var(--mono);font-size:calc(11px * var(--deck-scale));color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}
.layout-cover .by .stamp{font-family:var(--mono);font-size:calc(11px * var(--deck-scale));color:var(--ink-3);letter-spacing:.18em;text-align:right;line-height:1.6}
.layout-cover .by .stamp.toc-area{font-family:var(--pretendard);font-size:calc(13px * var(--deck-scale));letter-spacing:0;text-align:right;line-height:1.45;max-width:calc(560px * var(--deck-scale));color:var(--ink-2)}
.layout-cover .by .stamp.toc-area span,
.layout-cover .by .stamp.toc-area a{display:block}
.layout-cover .by .stamp.toc-area a{text-decoration:none}
.layout-cover .by .stamp.toc-area a:hover,
.layout-cover .by .stamp.toc-area a:focus-visible{color:var(--accent)}
.layout-cover .by .stamp.toc-area a:focus-visible{outline:calc(1px * var(--deck-scale)) solid var(--accent);outline-offset:calc(3px * var(--deck-scale))}
.layout-cover .by .stamp.toc-area .toc-label{font-family:var(--mono);font-size:calc(10px * var(--deck-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(4px * var(--deck-scale))}
.layout-cover .by .stamp.toc-area .toc-chapter{font-weight:700;color:var(--ink);margin-bottom:calc(6px * var(--deck-scale))}
.layout-cover .by .stamp.toc-area .toc-module{font-weight:500;color:var(--ink-2)}

.layout-divider .body{justify-content:center;gap:calc(28px * var(--deck-scale))}
.layout-divider .part{font-family:var(--mono);font-size:calc(13px * var(--deck-scale));color:var(--accent);letter-spacing:.24em;text-transform:uppercase}
.layout-divider h2{font-size:calc(96px * var(--deck-scale));font-weight:800;line-height:1.02;letter-spacing:-.035em;max-width:calc(1040px * var(--deck-scale))}
.layout-divider .lede{font-size:calc(20px * var(--deck-scale));color:var(--ink-2);max-width:calc(760px * var(--deck-scale));line-height:1.55;margin-top:calc(8px * var(--deck-scale))}
.layout-divider .step-reference{display:flex;align-items:center;gap:calc(10px * var(--deck-scale));flex-wrap:wrap;font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.layout-divider .step-reference a,
.layout-divider .step-reference strong{display:inline-flex;align-items:center;min-height:calc(32px * var(--deck-scale));padding:calc(7px * var(--deck-scale)) calc(10px * var(--deck-scale));border:calc(1px * var(--deck-scale)) solid var(--rule);background:rgba(241,238,229,.55);text-decoration:none;font-weight:500}
.layout-divider .step-reference a:hover,
.layout-divider .step-reference a:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}
.layout-divider .step-reference strong{color:var(--accent);border-color:var(--accent);background:transparent}
.layout-divider .step-reference .arrow{color:var(--accent)}

.layout-statement h2{font-size:calc(60px * var(--deck-scale));font-weight:700;line-height:1.16;letter-spacing:-.028em;max-width:calc(1020px * var(--deck-scale))}
.layout-statement .lede{font-size:calc(26px * var(--deck-scale));font-weight:400;line-height:1.55;color:var(--ink-2);max-width:calc(920px * var(--deck-scale));margin-top:calc(36px * var(--deck-scale))}
.layout-statement .lede strong{color:var(--ink);font-weight:600}
.layout-statement .lede em{color:var(--accent);font-style:normal;font-weight:600}
.layout-statement .lede .br{display:block;height:calc(8px * var(--deck-scale))}
.layout-statement.huge h2{font-size:calc(84px * var(--deck-scale));letter-spacing:-.035em;line-height:1.05}

.layout-compare h2{font-size:calc(38px * var(--deck-scale));font-weight:700;letter-spacing:-.02em;margin-bottom:calc(24px * var(--deck-scale))}
.layout-compare .grid{display:grid;grid-template-columns:1fr calc(1px * var(--deck-scale)) 1fr;gap:calc(48px * var(--deck-scale));align-items:start}
.layout-compare .col .tag{font-family:var(--mono);font-size:calc(12px * var(--deck-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(18px * var(--deck-scale));display:flex;gap:calc(8px * var(--deck-scale));align-items:center}
.layout-compare .col .tag::before{content:'';width:calc(18px * var(--deck-scale));height:calc(1px * var(--deck-scale));background:var(--accent)}
.layout-compare .col h3{font-size:calc(30px * var(--deck-scale));font-weight:700;line-height:1.25;margin-bottom:calc(20px * var(--deck-scale));letter-spacing:-.015em}
.layout-compare .col p{font-size:calc(19px * var(--deck-scale));line-height:1.6;color:var(--ink-2)}
.layout-compare .col ul{list-style:none;display:flex;flex-direction:column;gap:calc(10px * var(--deck-scale));font-size:calc(18px * var(--deck-scale));color:var(--ink-2);line-height:1.55}
.layout-compare .col ul li{padding-left:calc(18px * var(--deck-scale));position:relative}
.layout-compare .col ul li::before{content:'';position:absolute;left:0;top:.7em;width:calc(8px * var(--deck-scale));height:calc(1px * var(--deck-scale));background:var(--ink-2)}
.layout-compare .vline{background:var(--rule);align-self:stretch}
.layout-compare .handoff-criteria-table{width:100%;border-collapse:collapse;margin-top:calc(24px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule);table-layout:fixed}
.layout-compare .handoff-criteria-table th{text-align:left;padding:calc(9px * var(--deck-scale)) calc(12px * var(--deck-scale));font-family:var(--mono);font-size:calc(10.5px * var(--deck-scale));text-transform:uppercase;color:var(--accent);letter-spacing:.12em;border-bottom:calc(1px * var(--deck-scale)) solid var(--rule-soft);font-weight:500}
.layout-compare .handoff-criteria-table td{padding:calc(10px * var(--deck-scale)) calc(12px * var(--deck-scale));border-bottom:calc(1px * var(--deck-scale)) solid var(--rule-soft);font-size:calc(14.5px * var(--deck-scale));line-height:1.4;vertical-align:top;color:var(--ink-2)}
.layout-compare .handoff-criteria-table td.k{font-weight:700;color:var(--ink);width:calc(120px * var(--deck-scale));font-size:calc(15px * var(--deck-scale))}
.layout-compare .handoff-criteria-table tr:last-child td{border-bottom:none}

.layout-grid h2{font-size:calc(42px * var(--deck-scale));font-weight:700;letter-spacing:-.02em;margin-bottom:calc(44px * var(--deck-scale))}
.layout-grid .cards{display:grid;gap:calc(28px * var(--deck-scale)) calc(48px * var(--deck-scale))}
.layout-grid.cols-2 .cards{grid-template-columns:repeat(2,1fr)}
.layout-grid.cols-3 .cards{grid-template-columns:repeat(3,1fr)}
.layout-grid.cols-4 .cards{grid-template-columns:repeat(4,1fr)}
.layout-grid .card{padding-top:calc(18px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule)}
.layout-grid .card .num{font-family:var(--mono);font-size:calc(12px * var(--deck-scale));letter-spacing:.16em;color:var(--accent);margin-bottom:calc(8px * var(--deck-scale))}
.layout-grid .card h3{font-size:calc(24px * var(--deck-scale));font-weight:700;line-height:1.25;margin-bottom:calc(8px * var(--deck-scale));letter-spacing:-.012em}
.layout-grid .card p{font-size:calc(15px * var(--deck-scale));color:var(--ink-2);line-height:1.55}
.layout-grid .practice-checklist{margin-top:calc(30px * var(--deck-scale));padding-top:calc(16px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule)}
.layout-grid .practice-checklist h3{font-size:calc(19px * var(--deck-scale));font-weight:700;line-height:1.25;margin-bottom:calc(12px * var(--deck-scale))}
.layout-grid .practice-checklist ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(16px * var(--deck-scale))}
.layout-grid .practice-checklist li{font-size:calc(14.5px * var(--deck-scale));line-height:1.45;color:var(--ink-2)}
.layout-grid .practice-checklist strong{display:block;font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(4px * var(--deck-scale))}
.layout-grid.compact-practice h2{margin-bottom:calc(32px * var(--deck-scale))}
.layout-grid.compact-practice .cards{gap:calc(22px * var(--deck-scale)) calc(42px * var(--deck-scale))}
.layout-grid.compact-practice .practice-checklist{margin-top:calc(24px * var(--deck-scale))}
.layout-grid .practice-checklist.role-separation ul{grid-template-columns:repeat(4,1fr);gap:calc(14px * var(--deck-scale))}
.layout-grid .practice-checklist.role-separation li{font-size:calc(13.5px * var(--deck-scale))}
.layout-grid .practice-checklist.handoff-form li{font-size:calc(12.8px * var(--deck-scale));line-height:1.42}
.layout-grid .practice-checklist.handoff-form strong{letter-spacing:.1em}
.layout-grid .practice-checklist.question-cards ul{grid-template-columns:repeat(4,1fr);gap:calc(14px * var(--deck-scale))}
.layout-grid .practice-checklist.question-cards li{font-size:calc(13.5px * var(--deck-scale))}
.layout-grid .practice-checklist.requirement-table ul{grid-template-columns:repeat(4,1fr);gap:calc(14px * var(--deck-scale))}
.layout-grid .practice-checklist.requirement-table li{font-size:calc(13.5px * var(--deck-scale))}
.playground-roadmap-slide h2{margin-bottom:calc(24px * var(--deck-scale))}
.playground-roadmap-slide .cards{gap:calc(18px * var(--deck-scale)) calc(40px * var(--deck-scale))}
.playground-roadmap-slide .card{padding-top:calc(12px * var(--deck-scale))}
.playground-roadmap-slide .card h3{font-size:calc(20px * var(--deck-scale))}
.playground-roadmap-slide .card p{font-size:calc(13.2px * var(--deck-scale));line-height:1.42}
.playground-roadmap-slide .practice-checklist{margin-top:calc(18px * var(--deck-scale));padding-top:calc(12px * var(--deck-scale))}
.playground-roadmap-slide .practice-checklist h3{font-size:calc(17px * var(--deck-scale));margin-bottom:calc(8px * var(--deck-scale))}
.playground-roadmap-slide .practice-checklist li{font-size:calc(12.5px * var(--deck-scale));line-height:1.35}
.playground-roadmap-slide .roadmap-section{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(12px * var(--deck-scale));margin-top:calc(14px * var(--deck-scale));padding-top:calc(12px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule)}
.playground-roadmap-slide .roadmap-step{border:calc(1px * var(--deck-scale)) solid var(--rule-soft);padding:calc(10px * var(--deck-scale)) calc(12px * var(--deck-scale));background:rgba(241,238,229,.42)}
.playground-roadmap-slide .roadmap-step span{display:block;font-family:var(--mono);font-size:calc(10.5px * var(--deck-scale));letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(6px * var(--deck-scale))}
.playground-roadmap-slide .roadmap-step p{font-size:calc(12.4px * var(--deck-scale));line-height:1.38;color:var(--ink-2)}
.mcp-necessity-slide h2{margin-bottom:calc(22px * var(--deck-scale))}
.mcp-necessity-slide .cards{gap:calc(14px * var(--deck-scale)) calc(36px * var(--deck-scale))}
.mcp-necessity-slide .card{padding-top:calc(10px * var(--deck-scale))}
.mcp-necessity-slide .card h3{font-size:calc(19px * var(--deck-scale));margin-bottom:calc(5px * var(--deck-scale))}
.mcp-necessity-slide .card p{font-size:calc(13px * var(--deck-scale));line-height:1.38}
.mcp-decision-wrap{margin-top:calc(20px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule);padding-top:calc(12px * var(--deck-scale))}
.mcp-decision-wrap .table-title{font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(8px * var(--deck-scale))}
.mcp-decision-table{width:100%;border-collapse:collapse;table-layout:fixed}
.mcp-decision-table th{text-align:left;padding:calc(7px * var(--deck-scale)) calc(10px * var(--deck-scale));font-family:var(--mono);font-size:calc(10px * var(--deck-scale));text-transform:uppercase;color:var(--accent);letter-spacing:.12em;border-bottom:calc(1px * var(--deck-scale)) solid var(--rule-soft);font-weight:500}
.mcp-decision-table td{padding:calc(8px * var(--deck-scale)) calc(10px * var(--deck-scale));border-bottom:calc(1px * var(--deck-scale)) solid var(--rule-soft);font-size:calc(13.2px * var(--deck-scale));line-height:1.35;vertical-align:top;color:var(--ink-2)}
.mcp-decision-table td.k{width:calc(130px * var(--deck-scale));font-weight:700;color:var(--ink);font-size:calc(13.5px * var(--deck-scale))}
.mcp-decision-table th:nth-child(1){width:calc(130px * var(--deck-scale))}
.mcp-decision-table th:nth-child(3){width:calc(92px * var(--deck-scale))}
.mcp-decision-table th:nth-child(4){width:calc(185px * var(--deck-scale))}
.mcp-decision-table tr:last-child td{border-bottom:none}
.final-demo-slide h2{font-size:calc(37px * var(--deck-scale));line-height:1.18;margin-bottom:calc(24px * var(--deck-scale))}
.final-demo-slide .cards{gap:calc(14px * var(--deck-scale)) calc(34px * var(--deck-scale))}
.final-demo-slide .card{padding-top:calc(10px * var(--deck-scale))}
.final-demo-slide .card .num{margin-bottom:calc(5px * var(--deck-scale))}
.final-demo-slide .card h3{font-size:calc(19px * var(--deck-scale));margin-bottom:calc(5px * var(--deck-scale))}
.final-demo-slide .card p{font-size:calc(12.6px * var(--deck-scale));line-height:1.38}
.final-demo-slide .mcp-decision-wrap{margin-top:calc(15px * var(--deck-scale));padding-top:calc(9px * var(--deck-scale))}
.final-demo-slide .mcp-decision-wrap .table-title{font-size:calc(10px * var(--deck-scale));margin-bottom:calc(5px * var(--deck-scale))}
.final-demo-slide .mcp-decision-table th{padding:calc(5px * var(--deck-scale)) calc(7px * var(--deck-scale));font-size:calc(9px * var(--deck-scale));letter-spacing:.1em}
.final-demo-slide .mcp-decision-table td{padding:calc(6px * var(--deck-scale)) calc(7px * var(--deck-scale));font-size:calc(11.3px * var(--deck-scale));line-height:1.3}
.final-demo-slide .mcp-decision-table td.k{font-size:calc(12px * var(--deck-scale))}
.final-demo-slide .mcp-decision-table th:nth-child(1){width:calc(92px * var(--deck-scale))}
.final-demo-slide .mcp-decision-table th:nth-child(3){width:calc(185px * var(--deck-scale))}
.final-demo-slide .mcp-decision-table th:nth-child(4){width:calc(158px * var(--deck-scale))}
.session-architecture-slide h2{margin-bottom:calc(22px * var(--deck-scale))}
.session-architecture-diagram{display:grid;grid-template-rows:calc(96px * var(--deck-scale)) calc(68px * var(--deck-scale)) calc(142px * var(--deck-scale)) calc(34px * var(--deck-scale));gap:calc(16px * var(--deck-scale))}
.architecture-main,
.architecture-rail,
.arch-worker,
.architecture-cues span{border:calc(1px * var(--deck-scale)) solid var(--rule);background:rgba(241,238,229,.58)}
.architecture-main{width:58%;margin:0 auto;padding:calc(15px * var(--deck-scale)) calc(22px * var(--deck-scale));text-align:center;position:relative;display:flex;flex-direction:column;justify-content:center}
.architecture-main::after{content:'';position:absolute;left:50%;bottom:calc(-17px * var(--deck-scale));width:calc(1px * var(--deck-scale));height:calc(16px * var(--deck-scale));background:var(--rule)}
.architecture-main strong,
.arch-worker strong{font-size:calc(21px * var(--deck-scale));line-height:1.25;letter-spacing:-.01em}
.architecture-main span,
.arch-worker span{font-size:calc(13.5px * var(--deck-scale));line-height:1.45;color:var(--ink-2);margin-top:calc(6px * var(--deck-scale))}
.session-architecture-diagram .node-label,
.session-architecture-diagram .rail-title{font-family:var(--mono);font-size:calc(10.5px * var(--deck-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(7px * var(--deck-scale))}
.architecture-rail{display:grid;grid-template-columns:calc(190px * var(--deck-scale)) 1fr;align-items:center;padding:calc(14px * var(--deck-scale)) calc(18px * var(--deck-scale));position:relative}
.architecture-rail::after{content:'';position:absolute;left:50%;bottom:calc(-17px * var(--deck-scale));width:calc(1px * var(--deck-scale));height:calc(16px * var(--deck-scale));background:var(--rule)}
.architecture-rail .rail-title{margin-bottom:0}
.architecture-rail .rail-copy{font-size:calc(15.5px * var(--deck-scale));line-height:1.45;color:var(--ink-2)}
.architecture-workers{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(18px * var(--deck-scale))}
.arch-worker{padding:calc(18px * var(--deck-scale)) calc(18px * var(--deck-scale)) calc(16px * var(--deck-scale));position:relative;display:flex;flex-direction:column;justify-content:center;min-height:calc(142px * var(--deck-scale))}
.arch-worker::before{content:'';position:absolute;top:calc(-17px * var(--deck-scale));left:50%;width:calc(1px * var(--deck-scale));height:calc(16px * var(--deck-scale));background:var(--rule)}
.architecture-cues{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(18px * var(--deck-scale))}
.architecture-cues span{display:flex;align-items:center;justify-content:center;padding:calc(7px * var(--deck-scale)) calc(10px * var(--deck-scale));font-family:var(--mono);font-size:calc(10.5px * var(--deck-scale));line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:center}
.layout-grid.work-prep-tree h2{margin-bottom:calc(24px * var(--deck-scale))}
.layout-grid.work-prep-tree .cards{grid-template-columns:repeat(4,1fr);gap:calc(16px * var(--deck-scale)) calc(24px * var(--deck-scale))}
.layout-grid.work-prep-tree .card{padding-top:calc(12px * var(--deck-scale))}
.layout-grid.work-prep-tree .card h3{font-size:calc(18px * var(--deck-scale))}
.layout-grid.work-prep-tree .card p{font-size:calc(12.5px * var(--deck-scale));line-height:1.45}
.work-tree-diagram{margin-top:calc(18px * var(--deck-scale));border-top:calc(1.5px * var(--deck-scale)) solid var(--rule);padding-top:calc(14px * var(--deck-scale))}
.work-tree-diagram .tree-title{font-family:var(--mono);font-size:calc(11px * var(--deck-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:calc(12px * var(--deck-scale))}
.work-tree-diagram .tree-flow{display:grid;grid-template-columns:1fr 1.25fr 1.6fr;gap:calc(18px * var(--deck-scale));align-items:stretch}
.work-tree-diagram .tree-node{border:calc(1px * var(--deck-scale)) solid var(--rule);background:rgba(241,238,229,.58);padding:calc(10px * var(--deck-scale)) calc(12px * var(--deck-scale));min-height:calc(64px * var(--deck-scale));display:flex;flex-direction:column;justify-content:center;position:relative}
.work-tree-diagram .tree-node::after{content:'';position:absolute;top:50%;right:calc(-18px * var(--deck-scale));width:calc(18px * var(--deck-scale));height:calc(1px * var(--deck-scale));background:var(--rule)}
.work-tree-diagram .tree-node strong{font-size:calc(15px * var(--deck-scale));line-height:1.25;letter-spacing:-.005em}
.work-tree-diagram .tree-node span{font-size:calc(12.5px * var(--deck-scale));line-height:1.4;color:var(--ink-2);margin-top:calc(5px * var(--deck-scale))}
.work-tree-diagram .tree-branch,.work-tree-diagram .tree-leaves{display:grid;gap:calc(8px * var(--deck-scale))}
.work-tree-diagram .tree-leaves{grid-template-columns:repeat(2,1fr)}
.work-tree-diagram .tree-leaves .tree-node{min-height:calc(56px * var(--deck-scale));padding:calc(9px * var(--deck-scale)) calc(10px * var(--deck-scale))}
.work-tree-diagram .tree-leaves .tree-node::after{display:none}
.work-tree-diagram .tree-leaves .tree-node strong{font-size:calc(13.5px * var(--deck-scale))}
.work-tree-diagram .tree-leaves .tree-node span{font-size:calc(11.5px * var(--deck-scale))}

.layout-table h2{font-size:calc(42px * var(--deck-scale));font-weight:700;letter-spacing:-.02em;margin-bottom:calc(36px * var(--deck-scale))}
.layout-table table{width:100%;border-collapse:collapse}
.layout-table th{text-align:left;padding:calc(14px * var(--deck-scale)) calc(18px * var(--deck-scale));font-family:var(--mono);font-size:calc(11px * var(--deck-scale));text-transform:uppercase;color:var(--accent);letter-spacing:.16em;border-bottom:calc(1.5px * var(--deck-scale)) solid var(--rule);font-weight:500}
.layout-table td{padding:calc(18px * var(--deck-scale));border-bottom:calc(1px * var(--deck-scale)) solid var(--rule-soft);font-size:calc(18px * var(--deck-scale));line-height:1.45;vertical-align:top;color:var(--ink-2)}
.layout-table td.k{font-weight:700;color:var(--ink);width:calc(240px * var(--deck-scale));font-size:calc(19px * var(--deck-scale))}
.layout-table tr:last-child td{border-bottom:none}

.layout-quote .quote{font-size:calc(46px * var(--deck-scale));font-weight:500;line-height:1.3;letter-spacing:-.02em;max-width:calc(1040px * var(--deck-scale));color:var(--ink)}
.layout-quote .quote::before{content:'\201C';color:var(--accent);font-family:Georgia,serif;font-size:1.1em;line-height:0;vertical-align:-.15em;margin-right:.05em}
.layout-quote .quote::after{content:'\201D';color:var(--accent);font-family:Georgia,serif;font-size:1.1em;line-height:0;vertical-align:-.45em;margin-left:.05em}
.layout-quote .attr{font-family:var(--mono);font-size:calc(13px * var(--deck-scale));color:var(--ink-2);margin-top:calc(36px * var(--deck-scale));letter-spacing:.12em;text-transform:uppercase}
.layout-quote .attr .src{color:var(--accent)}

.layout-story h2{font-size:calc(48px * var(--deck-scale));font-weight:700;letter-spacing:-.025em;margin-bottom:calc(36px * var(--deck-scale));max-width:calc(980px * var(--deck-scale));line-height:1.15}
.layout-story .stack{display:flex;flex-direction:column;gap:calc(18px * var(--deck-scale));max-width:calc(1020px * var(--deck-scale))}
.layout-story .row{display:flex;gap:calc(22px * var(--deck-scale));align-items:baseline}
.layout-story .row .n{font-family:var(--mono);font-size:calc(13px * var(--deck-scale));color:var(--accent);letter-spacing:.16em;flex:0 0 calc(56px * var(--deck-scale))}
.layout-story .row p{font-size:calc(22px * var(--deck-scale));line-height:1.45;color:var(--ink)}

.layout-image .body{display:grid;grid-template-columns:1fr calc(460px * var(--deck-scale));gap:calc(48px * var(--deck-scale));align-items:center}
.layout-image h2{font-size:calc(52px * var(--deck-scale));font-weight:750;line-height:1.12;letter-spacing:-.03em}
.layout-image .lede{font-size:calc(22px * var(--deck-scale));line-height:1.5;color:var(--ink-2);margin-top:calc(26px * var(--deck-scale));max-width:calc(660px * var(--deck-scale))}
.image-frame{border:calc(1px * var(--deck-scale)) solid var(--rule);background:var(--bg-2);height:calc(360px * var(--deck-scale));overflow:hidden}
.image-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.03)}

.portrait{position:absolute;top:calc(130px * var(--deck-scale));right:calc(96px * var(--deck-scale));width:calc(240px * var(--deck-scale));height:calc(240px * var(--deck-scale));background:var(--bg-2);border:calc(1px * var(--deck-scale)) solid var(--rule);overflow:hidden;display:flex;align-items:center;justify-content:center;filter:grayscale(100%) contrast(1.05)}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait .credit{position:absolute;bottom:calc(-22px * var(--deck-scale));left:0;right:0;font-family:var(--mono);font-size:calc(9.5px * var(--deck-scale));color:var(--ink-3);letter-spacing:.15em;text-transform:uppercase;text-align:center;white-space:nowrap}
.has-portrait .body{padding-right:calc(280px * var(--deck-scale))}
.has-portrait .body h2,.has-portrait .body .quote{max-width:calc(780px * var(--deck-scale))}
.has-portrait .body .lede{max-width:calc(780px * var(--deck-scale))}

.slide.dark{background:#0A0A0A;color:#F4F1E8}
.slide.dark::before,.slide.dark::after{background:#F4F1E8;opacity:.18}
.slide.dark .meta-top,.slide.dark .meta-bottom{color:#bfb9a8}
.slide.dark .meta-bottom .num{color:#fff}
.slide.dark .meta-top .mark{border-color:#F4F1E8}
.slide.dark .layout-cover h1,.slide.dark h1{color:#F4F1E8}
.slide.dark .by .name{color:#F4F1E8}
.slide.dark .by .role,.slide.dark .by .stamp{color:#bfb9a8}
.slide.dark.layout-cover .by .stamp.toc-area .toc-label{color:var(--accent)}
.slide.dark.layout-cover .by .stamp.toc-area .toc-chapter{color:#F4F1E8}
.slide.dark.layout-cover .by .stamp.toc-area .toc-module{color:#bfb9a8}
.slide.dark.layout-cover .by .stamp.toc-area a:hover,
.slide.dark.layout-cover .by .stamp.toc-area a:focus-visible{color:var(--accent)}
.slide.dark .meta-bottom::before{opacity:.32}
.layout-cover.closing .body{right:calc(96px * var(--deck-scale))}
.layout-cover.closing h1{font-size:calc(76px * var(--deck-scale));line-height:1.05;letter-spacing:-.035em;max-width:calc(840px * var(--deck-scale))}
.layout-cover.closing .subtitle{color:#bfb9a8;max-width:calc(640px * var(--deck-scale))}

.qr-card{position:absolute;background:#fff;border:calc(1px * var(--deck-scale)) solid rgba(10,10,10,.16);display:flex;align-items:center;justify-content:center}
.qr-card img{display:block;width:100%;height:100%;object-fit:contain}
.qr-label{position:absolute;font-family:var(--mono);font-size:calc(9px * var(--deck-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.speaker-link{font-family:var(--mono);font-size:calc(12px * var(--deck-scale));letter-spacing:.14em;color:var(--ink-3);margin-top:calc(10px * var(--deck-scale));text-transform:none}

.notes{width:calc(1280px * var(--deck-scale));padding:calc(22px * var(--deck-scale)) calc(32px * var(--deck-scale));background:#F1EEE5;border:calc(1px * var(--deck-scale)) solid #D8D4C5;font-size:calc(13.5px * var(--deck-scale));color:#2a2825;line-height:1.65;display:none;border-radius:0}
.show-notes .notes{display:block}
.notes .head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:calc(10px * var(--deck-scale));letter-spacing:.18em;text-transform:uppercase;color:#7a7466;margin-bottom:calc(10px * var(--deck-scale))}
.notes .head .accent{color:var(--accent)}
.notes h4{font-size:calc(14px * var(--deck-scale));font-weight:700;margin-bottom:calc(6px * var(--deck-scale));color:#1a1815}
.notes p{margin:0 0 calc(8px * var(--deck-scale))}
.notes ul{margin:calc(6px * var(--deck-scale)) 0 calc(8px * var(--deck-scale)) calc(18px * var(--deck-scale))}
.notes a{color:var(--accent);word-break:break-all}
.notes .cite{font-family:var(--mono);font-size:calc(11px * var(--deck-scale));color:#7a7466;margin-top:calc(6px * var(--deck-scale));letter-spacing:.04em}

.present{background:#0A0A0A;overflow:hidden;height:100vh}
.present .toolbar,.present .helpbar{display:none}
.present .deck{padding:0;gap:0;min-height:100vh;height:100vh;justify-content:center;overflow:hidden}
.present .deck .slide,.present .deck .notes{display:none}
.present .deck .slide.active{display:block;transform:scale(var(--scale,1));transform-origin:center center}
.present.show-notes .deck .notes.active{display:block;position:fixed;bottom:calc(24px * var(--deck-scale));left:50%;transform:translateX(-50%);max-width:calc(1100px * var(--deck-scale));background:#1F1D19;color:#E8E3D4;border-color:#2A2722;z-index:50}
.present.show-notes .deck .notes.active h4{color:#fff}
.present.show-notes .deck .notes.active{font-size:calc(13px * var(--deck-scale))}
.present.show-notes .deck .notes.active a{color:#FF7A5A}
.present.show-notes .deck .notes.active .head,.present.show-notes .deck .notes.active .cite{color:#a59f8c}

@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}
.helpbar .blink{animation:pulse 2s ease-in-out infinite}

@page{size:1920px 1080px;margin:0}
@media print{
  html,body{background:#fff}
  .toolbar,.helpbar,.notes{display:none !important}
  .deck{padding:0;gap:0}
  .slide{box-shadow:none;page-break-after:always;break-after:page}
}
