/* Slide deck 1280x720 in the USTH style (navy band + red rule, white logo chip). Derived from the USTH-DSES deck template:
   every text size is >= 20 px on the 1280x720 canvas, the deck is scaled to the window by deck.js. Scoped under .mdeck. */
.mdeck{max-width:1280px;margin:14px auto;color:#1b2433}
.mdeck *{box-sizing:border-box}
.mdeck-canvas-wrap{width:100%;position:relative;overflow:hidden;background:#fff;border:1px solid #d5dae6;border-radius:10px;box-shadow:0 4px 20px rgba(20,40,80,.12)}
.mdeck-viewport{width:1280px;height:720px;position:absolute;left:0;top:0;transform-origin:top left}
.mdeck-slide{display:none;position:absolute;left:0;top:0;width:1280px;height:720px;overflow:hidden;font-size:24px;line-height:1.35;background:#fff;color:#1b2433;padding:96px 60px 20px}
.mdeck-slide.active{display:block}
.mdeck-slide::before{content:"";position:absolute;top:0;left:0;right:0;height:68px;background:#273896;border-bottom:4px solid #ED1C24}
.mdeck-slide h2{position:absolute;left:60px;right:290px;top:0;height:68px;margin:0;padding:0;display:flex;align-items:center;color:#fff;font-size:32px;line-height:1.08;font-weight:800;z-index:1}
.mdeck-slide{--fs:27px}
.mdeck-slide p,.mdeck-slide li{font-size:max(20px,var(--fs));line-height:1.36;color:#1b2433}
.mdeck-slide ul,.mdeck-slide ol{margin:6px 0;padding-left:34px}.mdeck-slide li{margin:calc(var(--fs)*.42) 0}
.mdeck-slide b,.mdeck-slide strong{color:#ED1C24}
.mdeck-slide .katex{font-size:1.04em}
.mdeck-slide .katex-display{margin:.5em 0}
.mdeck-slide table{border-collapse:collapse;width:100%;font-size:max(20px,calc(var(--fs)*.89));background:#fff}
.mdeck-slide th{background:#273896;color:#fff;text-align:left;padding:calc(var(--fs)*.4) 14px;font-size:max(20px,calc(var(--fs)*.89))}
.mdeck-slide td{border:1px solid #d5dae6;padding:calc(var(--fs)*.4) 14px;vertical-align:middle;line-height:1.3;font-size:max(20px,calc(var(--fs)*.89))}
.mdeck-slide tr:nth-child(even) td{background:#f5f7fc}
.mdeck-slide .callout{margin:16px 0;padding:12px 20px;border-radius:10px;border-left:8px solid #273896;background:#eef2fa;font-size:max(20px,calc(var(--fs)*.96));color:#1b2433}
.mdeck-slide .callout.warn{border-left-color:#ED1C24;background:#fdeeee}
.mdeck-slide .callout.good{border-left-color:#1a7f37;background:#e6f4ea}
.mdeck-slide .callout .lbl{font-weight:800;color:#273896;margin-bottom:2px;font-size:max(20px,calc(var(--fs)*.96))}
.mdeck-slide .callout.warn .lbl{color:#ED1C24}
.mdeck-slide .formula{background:#eef2fa;border-radius:10px;padding:8px 18px;margin:12px 0;font-size:var(--fs);color:#1b2433}
.mdeck-slide .cols{display:flex;gap:26px;align-items:flex-start}.mdeck-slide .cols>div{min-width:0;flex:1}
.mdeck-slide .cards{display:grid;gap:18px;margin-top:6px;grid-template-columns:repeat(3,1fr);min-height:430px;align-items:stretch}
.mdeck-slide .card{border:1px solid #d5dae6;border-top:7px solid #273896;border-radius:12px;padding:14px 18px;background:#fff;display:block;color:#1b2433}
.mdeck-slide .card b{color:#273896;font-size:calc(var(--fs)*1.05);display:block;margin-bottom:10px;line-height:1.15}.mdeck-slide .card span{font-size:max(20px,calc(var(--fs)*.92));color:#1b2433}
.mdeck-slide .step{font-size:25px;margin:8px 0}
.mdeck-slide .small{font-size:max(20px,calc(var(--fs)*.84));color:#566074}
.mdeck-slide .logo-chip{position:absolute;top:7px;right:16px;height:54px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:3px 12px;z-index:3}
.mdeck-slide .logo-chip img{height:44px;width:auto;display:block}
.mdeck-slide.cover,.mdeck-slide.endcard{padding:130px 60px 40px 70px;border-top:10px solid #273896}
.mdeck-slide.cover::before,.mdeck-slide.endcard::before{display:none}
.mdeck-slide.cover::after,.mdeck-slide.endcard::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#ED1C24}
.mdeck-slide.cover h2,.mdeck-slide.endcard h2{position:static;height:auto;display:block;font-size:64px;line-height:1.05;margin-bottom:18px;color:#273896}
.mdeck-slide .cover-sub{font-size:31px;line-height:1.4;max-width:820px;margin:12px 0 22px}
.mdeck-slide .cover-meta{font-size:23px;line-height:1.6;color:#2a3550;max-width:900px}
.mdeck-slide.cover .logo-chip,.mdeck-slide.endcard .logo-chip{top:26px;right:34px;height:78px;padding:6px 16px}.mdeck-slide.cover .logo-chip img,.mdeck-slide.endcard .logo-chip img{height:64px}
.mdeck-slide.endcard li,.mdeck-slide.endcard p{font-size:34px;margin:16px 0}
.mdeck-slide.divider{background:#273896;padding:0 80px;display:none}.mdeck-slide.divider.active{display:flex;flex-direction:column;justify-content:center}
.mdeck-slide.divider::before{display:none}.mdeck-slide.divider::after{content:"";position:absolute;left:0;right:0;bottom:60px;height:4px;background:#ED1C24}
.mdeck-slide.divider h2{position:static;height:auto;display:block;font-size:56px;color:#fff;margin:0}.mdeck-slide.divider p,.mdeck-slide.divider li{color:#fff}.mdeck-slide.divider b{color:#fff}
.mdeck-bar{display:flex;align-items:center;gap:8px;padding:8px 4px;flex-wrap:wrap}
.mdeck-bar button{font:inherit;font-size:.9rem;background:var(--card,#fff);color:var(--fg,#1b2433);border:1px solid #d5dae6;border-radius:8px;padding:5px 14px;cursor:pointer}
.mdeck-bar button:hover{border-color:#273896}.mdeck-count{font-size:.9rem;color:var(--muted,#566074);min-width:60px}
.mdeck-dots{display:flex;gap:5px;flex-wrap:wrap;flex:1;justify-content:center}
.mdeck-dots button{width:10px;height:10px;padding:0;border-radius:50%;background:#c7cde0;border:0}.mdeck-dots button.on{background:#ED1C24;transform:scale(1.35)}
.mdeck:fullscreen{background:#0f1420;display:flex;flex-direction:column;justify-content:center;max-width:none;padding:0;margin:0}
.mdeck:fullscreen .mdeck-bar{background:#0f1420;color:#fff}
/* the page-level dark-mode heading colours must never leak into the slides */
.mdeck .mdeck-slide h2{color:#fff!important}
.mdeck .mdeck-slide.cover h2,.mdeck .mdeck-slide.endcard h2{color:#273896!important}
.mdeck .mdeck-slide .callout .lbl{color:#273896!important}.mdeck .mdeck-slide .callout.warn .lbl{color:#ED1C24!important}
.mdeck .mdeck-slide b,.mdeck .mdeck-slide strong{color:#ED1C24!important}
.mdeck .mdeck-slide.divider b{color:#fff!important}
