@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-500.ttf')}@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-700.ttf');font-weight:700}
.video-start{display:block;margin:0 auto 12px;background:#087f80;border-color:#62d3be;font-weight:700}
*{box-sizing:border-box}body{margin:0;background:#071c25;color:#eaf3f3;font-family:Manrope,Arial,sans-serif}button,a{font:inherit;touch-action:manipulation}button{cursor:pointer;border:1px solid #36525c;color:inherit;background:transparent;border-radius:6px;padding:10px 15px}button:focus-visible,a:focus-visible{outline:3px solid #f2b96a;outline-offset:4px}button:hover{background:#183b45}button:disabled{opacity:.3;cursor:default}a{color:#75dcca;text-decoration:none}.bar{max-width:1500px;margin:auto;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:700;font-size:18px}.brand small{display:block;font-size:10px;letter-spacing:.12em;color:#a7c0c8;margin-top:6px}.bar nav{display:flex;gap:8px;flex-wrap:wrap}.materials{max-width:1450px;margin:0 auto 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 26px}.materials a{padding:12px 16px;border:1px solid #294853;border-radius:6px;color:#eaf3f3}.materials strong,.materials span{display:block}.materials strong{font-size:14px}.materials span{font-size:11px;color:#99b6bf;margin-top:5px}.hint{text-align:center;color:#a4bfc8;font-size:12px;margin:8px 20px 14px}.stage,.deck-footer{width:min(94vw,calc((100dvh - 248px)*1.7777778));margin:auto;min-width:min(94vw,660px)}.canvas{aspect-ratio:16/9;position:relative;container-type:inline-size;overflow:hidden;box-shadow:0 16px 60px #0003;animation:arrive .35s ease both}.text,.graphic,.shot{position:absolute;margin:0}.text{white-space:pre-wrap;line-height:1.2;font-family:Manrope;pointer-events:none;font-weight:500;overflow:visible}.text.bold{font-weight:700}.shot{padding:0;background:transparent;border:0;border-radius:0;cursor:zoom-in}.shot:hover{background:transparent;outline:2px solid #61d3be}.shot img{width:100%;height:100%;object-fit:contain;display:block}.deck-footer{display:flex;gap:15px;align-items:center;padding:14px 0 24px}.deck-footer strong{min-width:65px;color:#72d6c5;font-size:14px}.deck-footer span{font-size:11px;color:#acc2ca;flex:1}.progress{height:3px;width:18%;background:#28414a}.progress i{display:block;height:100%;background:#62d3be}.nav{display:flex;gap:6px}.nav button{font-size:21px;min-width:44px;padding:5px 14px}.modal{border:1px solid #41606a;border-radius:12px;color:#eaf3f3;background:#0c2631;width:min(1200px,96vw);max-height:92dvh;padding:24px}.modal::backdrop{background:#031016ee}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.modal h2{font-size:25px;margin:0}.modal p{color:#acc4cc}.toc{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.toc button{text-align:left;font-size:14px}.toc button[aria-current=true]{border-color:#62d3be;color:#7fe0ce}.section-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.section-links button{font-size:12px;color:#7edbca}.viewer{width:min(1800px,97vw)}.screen-wrap{overflow:auto;max-height:70dvh;background:#051923;display:flex;justify-content:center}.screen-wrap img{max-width:100%;max-height:68dvh;object-fit:contain;display:block}.screen-wrap.zoomed{display:block}.screen-wrap.zoomed img{max-width:none;max-height:none}.view-tools{display:flex;gap:10px;margin-top:14px;align-items:center}.view-tools p{font-size:12px;margin-left:auto}.video-modal{width:min(1550px,96vw)}video{width:100%;max-height:68dvh;background:#031016}.video-chapters{display:flex;gap:8px;overflow:auto;padding:14px 0}.video-chapters button{white-space:nowrap;font-size:12px}.bottom-note{max-width:1250px;margin:10px auto 30px;color:#7f9da8;font-size:11px;text-align:center;padding:0 20px}@keyframes arrive{from{opacity:0}to{opacity:1}}@media(max-width:760px){.bar{padding:14px;align-items:flex-start}.bar nav{justify-content:flex-end}.bar button{padding:7px 9px;font-size:11px}.brand{font-size:14px}.materials{grid-template-columns:repeat(2,1fr);padding:0 14px}.materials a{padding:10px}.materials strong{font-size:12px}.stage,.deck-footer{width:100%;min-width:0}.deck-footer{padding:14px;flex-wrap:wrap}.deck-footer span{font-size:10px}.progress{display:none}.toc{grid-template-columns:1fr}.modal{padding:16px}.modal h2{font-size:20px}.view-tools{flex-wrap:wrap}.view-tools p{width:100%;margin:4px 0}.canvas .text{line-height:1.18}}@media(prefers-reduced-motion:reduce){.canvas{animation:none}}
