:root{color-scheme:light;--bg:#fbfaf7;--text:#17212b;--muted:#5e6b78;--line:#c9d0d5;--accent:#1e5a96;--navy:#102b4e}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#e5e8eb;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.media-toggle{position:absolute;right:64px;top:432px;min-width:144px;height:36px;padding:0 18px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:3px;font-size:14px;font-weight:600}.media-toggle:hover{background:var(--accent)}.media-toggle[aria-pressed="true"]{background:#edf1f3;color:var(--navy)}
@media print{.media-toggle{display:none!important}}
#deck{position:absolute;width:1280px;height:720px;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scale,1));transform-origin:center}.slide{position:absolute;inset:0;background:var(--bg);display:none;overflow:hidden}.slide.active{display:block}.text,.rule,.figure,.media,table,.panel{position:absolute}.text{white-space:pre;letter-spacing:0;font-family:"PingFang SC","Helvetica Neue",Arial,sans-serif}.panel{border:0;pointer-events:none}.figure{object-fit:contain;cursor:zoom-in}.figure:focus-visible{outline:2px solid var(--accent)}.media{object-fit:contain;background:#102039}
table{border-collapse:collapse;table-layout:fixed;font-size:17px;background:var(--bg)}th,td{border:0.4px solid var(--line);padding:7px 12px;text-align:left;vertical-align:middle;white-space:pre-line;line-height:1.35;overflow-wrap:normal}th{font-size:17px;font-weight:600;background:#e8eef3;height:42px}td{color:var(--muted)}td.primary{color:var(--navy);font-weight:600}
.term-trigger{display:inline;border:0;border-bottom:1px dotted #7c94ab;padding:0;margin:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-align:inherit;line-height:inherit;white-space:inherit;vertical-align:baseline;cursor:help}.term-trigger:hover,.term-trigger[aria-expanded=true]{color:var(--accent);background:#dfeaf380;border-bottom-style:solid}.details-link,.paper-link{position:absolute;bottom:10px;right:136px;background:none;border:0;padding:2px 0;color:var(--accent);font-size:10px;letter-spacing:.02em}.paper-link{right:200px}.details-link:hover,.paper-link:hover{text-decoration:underline}
.controls{position:fixed;bottom:5px;right:12px;z-index:20;display:flex;align-items:center;gap:1px;padding:2px 4px;background:#fbfaf7f5;border:1px solid var(--line);border-radius:3px;font-size:11px;opacity:0;transition:opacity .2s}.controls:hover,.controls:focus-within,body.controls-visible .controls{opacity:1}.controls button{border:0;background:transparent;padding:5px 8px;border-radius:0}.controls button:hover{background:#dfeaf3}.controls button:disabled{opacity:.3}.controls [hidden]{display:none}#counter{padding:0 6px;color:var(--muted);font-variant-numeric:tabular-nums}
dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:0;box-shadow:0 18px 55px #142d4430;max-width:min(1040px,94vw);max-height:88vh;padding:28px 36px;line-height:1.65}dialog::backdrop{background:#182b425c}.close{position:absolute;right:11px;top:5px;background:none;border:0;font-size:25px;color:var(--muted)}dialog h2{margin:0 0 18px;font-size:24px;color:var(--navy)}dialog h3{margin:17px 0 7px;color:var(--navy)}#toc{width:1040px}.toc-list{columns:2;column-gap:40px}.toc-list section{break-inside:avoid}.toc-list h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#a33b34;break-after:avoid}.toc-list button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);padding:7px 0;background:none;font-size:13px;break-inside:avoid}.toc-list button:hover{color:var(--accent)}.toc-list button span{color:var(--muted);font-variant-numeric:tabular-nums}#notes{width:850px;font-size:16px}.note-detail{margin:20px 0;padding:6px 18px 14px;border-left:2px solid var(--accent);background:#e8eef360}.note-detail p{margin:9px 0}.note-detail a{font-size:13px}#zoom{width:96vw;height:92vh;max-width:96vw;max-height:92vh;padding:32px;background:#fff}#zoom img{width:100%;height:100%;object-fit:contain}
.term-popover{position:fixed;z-index:50;width:470px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#fffefb;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;padding:15px 21px 20px;box-shadow:0 14px 44px #142d443b;font-size:15px;line-height:1.7;color:#405160;overscroll-behavior:contain}.term-popover[hidden]{display:none}.term-tools{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.term-tools span{margin-right:auto;letter-spacing:.05em}.term-tools button{background:none;border:0;padding:3px 6px}.term-tools button:hover{background:#e8eef3}#closeTerm{font-size:20px;line-height:1}.term-popover h2{font-size:21px;line-height:1.3;color:var(--navy);margin:10px 0 15px}.term-popover h3{font-size:11px;letter-spacing:.04em;color:var(--accent);margin:14px 0 4px}.term-popover p{margin:0}.term-popover .term-sources{margin-top:15px;padding-top:10px;border-top:1px solid var(--line);font-size:12px}.term-sources a{margin-right:12px}.term-popover.pinned{border-top-color:#a33b34}.term-popover.pinned #pinTerm{color:#a33b34;background:#f2e9e5}
@media(max-width:600px){.term-popover{font-size:14px;padding:13px 16px}.term-popover h2{font-size:19px}dialog{padding:26px 20px}.toc-list{columns:1}.controls{right:5px;gap:0}.controls button{padding:5px 6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@page{size:1280px 720px;margin:0}@media print{html,body{width:1280px;height:auto;overflow:visible;background:var(--bg);print-color-adjust:exact;-webkit-print-color-adjust:exact}#deck{position:static;transform:none;width:1280px;height:auto}.slide{display:block!important;position:relative;width:1280px;height:720px;break-after:page;page-break-after:always}.slide:last-child{break-after:auto}.controls,dialog,.term-popover,.details-link,.paper-link{display:none!important}.term-trigger{border:0;background:none;color:inherit}.figure{cursor:default}video{object-fit:contain}}
/* Paper links and technical explanations are distinct, composable affordances. */
.paper-ref{font:inherit;color:inherit;text-decoration:underline;text-decoration-color:#8193a666;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer;border:0}
.paper-ref:hover,.paper-ref[aria-expanded=true]{color:var(--accent);text-decoration-color:var(--accent);background:#dfeaf350}
.term-trigger.paper-ref{border:0;cursor:pointer}
.role-title .paper-ref{text-decoration-color:#8193a650;text-underline-offset:6px}
.figure-frame{position:absolute;overflow:hidden}
.figure-frame .figure{max-width:none;max-height:none}
.equation.term-trigger{position:absolute;display:block;border:0;padding:0;background:none;line-height:0;white-space:normal}
.equation img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.equation.term-trigger:hover,.equation.term-trigger[aria-expanded=true]{background:#dce6ef88;outline:1px solid #93a8bc55;outline-offset:5px}
.toc-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;break-inside:avoid;padding:2px 0}
.toc-row>span{flex:1}.toc-list .toc-row button{width:auto;flex:none;border:0;padding:6px 2px 6px 10px;color:var(--muted);font-variant-numeric:tabular-nums}
.term-popover h2 .paper-ref{color:inherit}
