/* Fixed 16:9 slide composition. The canvas is scaled as a whole to fit the screen. */
body.deck-document{height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column;background:#e5e9e9;color:#193b4e}
.deck-document .topbar{height:46px;min-height:46px;padding:0 24px;background:transparent;border:0;gap:12px}
.deck-document .brand{font-size:11px;letter-spacing:1.8px;gap:8px}.deck-document .brand-mark{width:25px;line-height:25px;height:25px;font-size:21px;border-radius:6px}.deck-document .brand small{display:none}.deck-document .top-context{font-size:10px}.deck-document .top-actions{gap:6px}.deck-document .top-actions .chip,.deck-document .top-actions .icon-button{font-size:10px;padding:5px 9px;background:#f7f9f6;border-color:#d2dcda}.deck-document #fullscreen,.deck-document #menu{font-size:18px;padding:0 8px;display:inline-block}
.deck-document main.deck-stage{position:relative;display:block;flex:1;width:100%;max-width:none;min-height:0;height:auto;padding:0;margin:0;overflow:hidden}
.deck-document .slide-canvas{--slide-scale:.8;position:absolute;left:50%;top:50%;width:1280px;height:720px;transform:translate(-50%,-50%) scale(var(--slide-scale));transform-origin:center;overflow:hidden;background:#f7f8fa;box-shadow:0 4px 25px #173b4c16}
.deck-document .slide-canvas::before{content:'';position:absolute;left:0;right:0;top:0;height:7px;background:#087f86}
.deck-document .page-heading{position:absolute;top:35px;left:54px;right:54px;height:115px;display:block;margin:0;padding:0}.deck-document .page-heading .eyebrow{font-size:10px;letter-spacing:2px;line-height:15px}.deck-document h1{font-size:35px;letter-spacing:-.8px;font-weight:650;line-height:1.12;margin:12px 0 10px;max-width:none}.deck-document .subtitle{font-size:14px;line-height:1.5;max-width:none}
.deck-document .visual-panel{position:absolute;left:54px;right:54px;top:166px;height:416px;min-height:0;display:block;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
.deck-document .scene{display:flex;flex-direction:column;justify-content:center;gap:16px;height:416px;width:100%;min-height:0;padding:0;overflow:visible;zoom:1!important}
.deck-document .scene h2{font-size:32px;line-height:1.2;letter-spacing:-.7px;margin-bottom:12px}.deck-document .scene .mini-label{font-size:10px;line-height:15px;letter-spacing:1.2px;margin-bottom:10px}.deck-document .scene .disclaimer{font-size:11px;line-height:1.5}
.deck-document .slide-caption{position:absolute;left:54px;right:54px;top:598px;height:59px;border-top:1px solid #dce4e5;display:flex;align-items:center;gap:20px;padding-top:9px}
.deck-document .step-content{flex:1;min-width:0;animation:appear .3s ease both}.deck-document .step-content h2{display:inline;font-size:14px;line-height:1.6;color:#087f86;font-weight:700;letter-spacing:0;margin:0 9px 0 0}.deck-document .step-content h2:after{content:' —'}.deck-document .step-content p{display:inline;font-size:14px;line-height:1.6;color:#405c69;margin:0}.deck-document .step-dots{margin:0;width:90px;min-width:90px;display:flex;gap:5px;align-self:center}.deck-document .step-dots button{min-height:16px;height:16px;min-width:0;background-clip:content-box;padding:5px 0;border-radius:4px}
.deck-document .canvas-footer{position:absolute;left:54px;right:54px;top:670px;height:37px}.deck-document #source{display:block;max-height:16px;font-size:8px;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#71838b}.deck-document .canvas-baseline{border-top:1px solid #dce4e5;display:flex;justify-content:space-between;align-items:center;padding-top:7px;margin-top:3px;font-size:9px;letter-spacing:.2px;color:#71838b}.deck-document .page-number{display:flex;align-items:center;gap:4px}.deck-document .page-number strong{font-size:11px;font-weight:700;letter-spacing:0;color:#087f86}.deck-document .page-number span{font-size:9px;color:#71838b}
.deck-document .bottom-bar{position:static;min-height:54px;height:54px;flex-shrink:0;background:transparent;border:0;padding:5px 24px 8px;gap:16px}.deck-document .slide-controls{gap:6px}.deck-document .round-button{height:30px;width:30px;font-size:16px}.deck-document #step-number{font-size:10px;margin-left:7px;color:#6c8289;white-space:nowrap}.deck-document .animation-controls{margin:0;gap:12px}.deck-document .play-button{padding:7px 10px;font-size:10px;background:#f7f9f6}.deck-document #replay{font-size:18px}.deck-document .speed-label{font-size:9px}.deck-document .speed-label select{font-size:9px}.deck-document .advance{min-width:156px;padding:9px 13px;font-size:11px}.deck-document .slide-progress{gap:5px;display:flex}.deck-document .slide-progress button{width:6px;height:6px}.deck-document .slide-progress button.current{width:16px}
/* Diagram typography is tied to slide coordinates, not to viewport media queries. */
.deck-document .scene .flow{display:flex;gap:14px;align-items:stretch}.deck-document .scene .flow-node{padding:17px;min-height:82px;border-radius:8px;gap:7px;flex:1}.deck-document .scene .flow-node strong{font-size:19px;line-height:1.3;font-weight:650}.deck-document .scene .flow-node small{font-size:12px;line-height:1.5}.deck-document .scene .flow-node:not(:last-child)::after{width:14px;right:-14px;font-size:16px}.deck-document .scene .callout{font-size:17px;line-height:1.5;padding:14px 20px;border-radius:6px}
.deck-document .scene .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.deck-document .scene .cols.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.deck-document .scene .info-card{padding:22px;border-radius:8px}.deck-document .scene .info-card h3{font-size:21px;line-height:1.3;margin-bottom:12px;font-weight:650}.deck-document .scene .info-card p{font-size:17px;line-height:1.6;margin:0}.deck-document .scene .info-card .num{font-size:30px;line-height:1.1;float:none;display:block;margin:0 0 13px}
.deck-document .scene .cover{padding:0 10px}.deck-document .scene .cover h2{font-size:61px;line-height:1.08;letter-spacing:-2px;max-width:850px;margin:0 0 18px}.deck-document .scene .cover .subtitle{font-size:20px}.deck-document .scene .cover-meta{gap:45px!important;margin-top:28px}.deck-document .scene .cover-meta strong{font-size:16px}.deck-document .scene .cover-meta small{font-size:12px}.deck-document .scene .badge{font-size:10px;margin-bottom:18px}.deck-document .scene .cover-art{right:20px;top:0;width:47%;height:100%}.deck-document .scene .connector{height:40px}
.deck-document .scene .formula{font-size:27px;line-height:1.2;padding:0;margin:0}.deck-document [data-kind=fusion] .scene{gap:10px}.deck-document [data-kind=fusion] .flow-node{min-height:58px;padding:12px 16px;gap:4px}.deck-document [data-kind=fusion] .flow-node strong{font-size:18px}.deck-document [data-kind=fusion] .flow-node small{font-size:11px}.deck-document .scene .fusion-shell{padding:10px 12px;border-radius:10px}.deck-document .scene .fusion-title{font-size:10px;margin-top:7px;line-height:1.2}.deck-document .scene .math-boards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.deck-document .scene .math-block{display:block;padding:8px;border-radius:7px}.deck-document .scene .math-block h3{font-size:13px;line-height:1.2;text-align:center;margin:0 0 5px}.deck-document .scene .matrix{padding:6px;gap:4px;max-width:180px}.deck-document .scene .cell{min-width:25px;font-size:14px;line-height:1.2;padding:5px}.deck-document .scene .matrix-label{font-size:10px;line-height:1.3;margin-top:5px}.deck-document .scene .memory-path{margin-top:0;gap:12px;font-size:11px}.deck-document .scene .memory-slot{padding:7px;border-radius:4px}.deck-document [data-kind=fusion] .callout{font-size:15px;padding:10px 16px}
.deck-document .scene .milestone{padding:11px 3px;gap:16px;font-size:17px;grid-template-columns:32px minmax(0,1fr) auto}.deck-document .scene .milestone.active{padding-left:9px;padding-right:9px}.deck-document .scene .tag{font-size:10px;padding:5px 8px}.deck-document .scene .milestone-icon{width:27px;height:27px;font-size:13px}
.deck-document .scene .mask-compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.deck-document .scene .mask-compare>div{padding:18px;border-radius:8px}.deck-document .scene .mask-compare h3{font-size:17px;line-height:1.2;margin-bottom:12px}.deck-document .scene .matrix-wall{max-width:225px;margin:12px auto;gap:3px}.deck-document .scene .backend-token{font-size:16px;max-width:360px;padding:23px;margin:30px auto}.deck-document .scene .memory-meter{height:8px;margin:12px 0}.deck-document .scene .meter-label{font-size:11px;line-height:1.5}.deck-document [data-kind=mask] .scene{gap:12px}
.deck-document .scene .picture-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.deck-document .scene .figure-box{padding:8px;border-radius:7px}.deck-document .scene .figure-box img{max-height:264px;width:100%;object-fit:contain}.deck-document .scene .figure-box figcaption{font-size:12px;line-height:1.4;padding:9px 4px 3px}.deck-document .scene .figure-box.wide img{max-height:300px}.deck-document .scene .proof-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.deck-document .scene .proof-grid .figure-box img{max-height:302px}.deck-document .scene .mini-items{gap:14px}.deck-document .scene .mini-item{font-size:16px;line-height:1.5;padding:11px 15px}.deck-document .scene .mini-item strong{font-size:19px;margin-bottom:4px}.deck-document [data-kind=contributions] .proof-grid{grid-template-columns:1fr 1.2fr}
.deck-document .scene .validation-lanes{gap:16px}.deck-document .scene .lane-label{font-size:12px;margin-bottom:8px}.deck-document [data-kind=validation] .flow-node{min-height:66px;padding:12px 17px}.deck-document .scene .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.deck-document .scene .metric{font-size:17px;padding:12px}.deck-document .scene .metric small{font-size:11px;margin-top:6px}.deck-document .scene .switch{font-size:15px;padding:12px 18px;gap:14px}.deck-document .scene .toggle-track{flex-shrink:0}
.deck-document .scene .egraph{display:flex;flex-direction:row;gap:18px}.deck-document .scene .candidate{padding:24px 18px;border-radius:9px}.deck-document .scene .candidate h3{font-size:19px;margin:4px 0 17px}.deck-document .scene .candidate .op-mini{display:block;width:auto;font-size:16px;padding:14px 10px;margin:8px 0}.deck-document .scene .candidate small{font-size:13px;line-height:1.5}.deck-document .scene .candidate.selected:before{font-size:10px;padding:5px;top:-12px}
.deck-document .scene .partition{display:grid;grid-template-columns:1fr 70px 1fr;gap:25px;align-items:center}.deck-document .scene .tensor-grid{max-width:330px;gap:6px}.deck-document .scene .tensor-grid .cell{height:40px;font-size:15px;line-height:1;display:grid;place-items:center;padding:6px}.deck-document .scene .partition-arrows{font-size:36px;line-height:2.4;height:auto;transform:none;text-align:center}.deck-document .scene .device-stack{display:grid;grid-template-columns:1fr;gap:18px}.deck-document .scene .device{padding:17px;border-radius:7px}.deck-document .scene .device h3{font-size:17px;margin-bottom:12px}.deck-document .scene .device .tensor-grid .cell{height:28px;font-size:13px}.deck-document .scene .legend{font-size:11px;gap:23px}
/* Notes are a separate modal; they never resize the slide. */
.deck-document dialog.notes-panel{position:fixed;display:block;margin:auto;width:900px;max-width:94vw;max-height:88dvh;padding:28px;border-radius:12px;line-height:1.8;background:white}.deck-document dialog.notes-panel:not([open]){display:none}.deck-document .notes-heading{align-items:flex-start;gap:20px}.deck-document .notes-heading h2{font-size:26px;margin:9px 0 22px}.deck-document .notes-step{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:18px}.deck-document .notes-step h3{font-size:18px}.deck-document .notes-step p{font-size:15px;line-height:1.8}.deck-document .notes-panel .takeaway{margin:0 0 22px}.deck-document .notes-panel .script-label{font-size:14px;margin-top:20px}.deck-document .notes-panel #notes-fr{font-size:14px;line-height:1.9}.deck-document .notes-panel [hidden]{display:none!important}
@media(max-width:900px){.deck-document .top-context,.deck-document .slide-progress{display:none}.deck-document .topbar{padding:0 15px}.deck-document .bottom-bar{padding:5px 15px 8px;gap:12px}}
@media(max-width:550px){.deck-document .topbar{height:43px;min-height:43px;padding:0 10px}.deck-document .brand{font-size:9px;gap:5px;letter-spacing:1px}.deck-document .brand-mark{width:22px;line-height:22px;font-size:18px}.deck-document .top-actions{gap:4px}.deck-document .top-actions .chip,.deck-document .top-actions .icon-button{padding:4px 6px;font-size:9px}.deck-document #fullscreen,.deck-document #menu{font-size:17px;padding:0 6px}.deck-document .bottom-bar{height:93px;min-height:93px;padding:8px 12px;display:grid;grid-template-columns:1fr auto;gap:7px}.deck-document .animation-controls{grid-row:2;grid-column:1}.deck-document .speed-label{display:none}.deck-document .advance{grid-column:2;grid-row:1 / 3;min-width:136px;min-height:37px;gap:10px}.deck-document .slide-controls{gap:6px}.deck-document .play-button{font-size:10px}.deck-document .brand small{display:none}.deck-document dialog.notes-panel{padding:20px}.deck-document .notes-heading h2{font-size:23px}}
@media print{body.deck-document{height:auto;overflow:visible;background:white}.deck-document .topbar,.deck-document .bottom-bar{display:none!important}.deck-document main.deck-stage{height:720px;overflow:visible}.deck-document .slide-canvas{position:relative;top:0;left:0;transform:none;box-shadow:none}.deck-document .visual-panel{border:0}.deck-document .scene{min-height:0}.deck-document .page-heading{margin:0}}
