*{box-sizing:border-box}body{margin:0;color:#182d40;background:#f4f8fc;font:17px/1.6 system-ui,sans-serif}header{padding:35px max(20px,calc((100vw - 1120px)/2));background:linear-gradient(120deg,#081e31,#125f7c);color:white;border-bottom:5px solid #c89e32}header a{color:#d6f5ff}h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:14px 0}h2{line-height:1.3}.eyebrow{font-size:.8rem;letter-spacing:.12em}main{max-width:1160px;margin:auto;padding:24px 20px}section,.card{background:white;border:1px solid #d7e3ef;border-radius:18px;padding:24px;margin-bottom:24px}a{color:#095c80}a.button,button{display:inline-block;background:#105c80;color:white;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b88612;outline-offset:4px}.tags{color:#105c80;font-weight:700}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid a{padding:14px;background:#edf5fa;border:1px solid #cedfeb;border-radius:10px}figure{margin:0}#slide-image{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#eef3f8;border-radius:10px}#slide-title{margin:0 0 12px}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}select{padding:10px;border:1px solid #b9cddd;border-radius:8px;font:inherit;max-width:100%;width:100%}label{display:block;font-weight:700;margin-bottom:6px}details{margin-top:16px}summary{cursor:pointer;font-weight:700}#transcript p{margin:.5em 0}footer{padding:25px 20px;text-align:center;border-top:1px solid #cedfeb;font-size:.9rem}.preview{display:block;width:100%;height:auto;max-width:520px;border-radius:10px;margin-bottom:20px}.muted{color:#4e6578}#viewer:fullscreen{background:#081e31;padding:16px;overflow:auto;max-width:none;color:white}#viewer:fullscreen #slide-image{max-height:75vh;object-fit:contain}#viewer:fullscreen select{width:auto}#viewer:fullscreen a{color:#e5f4ff}@media(max-width:640px){.grid{grid-template-columns:1fr}section,.card{padding:16px}.controls{gap:8px}button{padding:10px 12px}}