@font-face{font-family:Excalifont;src:url('vendor/Excalifont.woff2') format('woff2');font-display:swap}:root{color-scheme:dark;--bg:#0b0b0b;--fg:#f0f0ed;--muted:#aaa;--line:#444}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif}body{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:1px solid var(--fg);outline-offset:5px}.viewport{width:100%;height:100dvh;overflow:hidden}.track{height:100%;display:flex;transition:transform 350ms cubic-bezier(.22,.7,.25,1);will-change:transform}.slide{width:100%;flex:0 0 100%;height:100%;padding:clamp(30px,6vh,75px) max(6vw,calc((100vw - 1180px)/2)) 82px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;overscroll-behavior:contain}h1{font-size:clamp(32px,3.7vw,57px);line-height:1.13;letter-spacing:-1.8px;font-weight:400;margin:0 0 20px;max-width:1100px}.visual{min-height:0;width:100%;display:flex;flex-direction:column;justify-content:center}.diagram{width:100%;max-height:55vh;aspect-ratio:1000/460}.diagram svg{display:block;width:100%;height:100%;overflow:visible}.diagram text{font-family:Excalifont,Arial,sans-serif;font-weight:400;letter-spacing:0}.caption{font-size:clamp(16px,1.4vw,20px);line-height:1.55;color:var(--muted);margin:19px 0 0;max-width:1000px}.controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:var(--bg);z-index:10}.controls button{border:0;background:none;font-size:24px;padding:4px 12px;color:var(--muted)}.controls button:hover{color:var(--fg)}.controls button:disabled{opacity:.25;cursor:default}#position{font-family:monospace;font-size:12px;color:var(--muted)}#timing{position:fixed;bottom:29px;right:32px;font-size:12px;font-family:monospace;color:var(--muted)}.recipe-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:30px 4%;min-height:350px}.recipe-layout pre{font-size:clamp(19px,2vw,29px);line-height:1.6;font-family:monospace;margin:0;color:var(--fg)}.recipe-key{display:flex;flex-direction:column;gap:25px;font-family:Excalifont,Arial,sans-serif;font-size:clamp(24px,2.6vw,40px);line-height:1.5}.schema-note{font-size:13px;color:var(--muted);margin:15px 4% 0}.metric{min-height:330px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 0;font-size:clamp(40px,6.3vw,98px);letter-spacing:-3px;font-weight:400}.metric>span:first-child{color:var(--muted)}.metric strong{font-weight:400}.metric .metric-arrow{font-family:Excalifont,Arial,sans-serif;font-size:55px}dialog{border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:30px;width:min(600px,90vw)}dialog::backdrop{background:#000b}.contents-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.contents-top h2{font-size:23px;font-weight:400;margin:0}.contents-top button{border:0;background:none;font-size:25px}dialog nav{display:flex;flex-direction:column;gap:5px}dialog nav button{text-align:left;display:flex;gap:20px;padding:12px 0;font-size:17px;border:0;background:none}dialog nav button span{color:var(--muted);font-family:monospace}dialog p{margin:25px 0 0;font-size:13px;color:var(--muted)}::selection{background:var(--fg);color:var(--bg)}
@media(max-width:760px){.slide{padding:28px 22px 76px;justify-content:center}h1{font-size:34px;letter-spacing:-1px}.diagram{max-height:48vh}.caption{font-size:16px;margin-top:20px}.recipe-layout{grid-template-columns:1fr;gap:25px;padding:15px 0;min-height:0}.recipe-layout pre{font-size:20px}.recipe-key{font-size:23px;gap:5px}.metric{flex-direction:column;justify-content:center;gap:12px;min-height:300px;font-size:58px;letter-spacing:-2px}.metric .metric-arrow{transform:rotate(90deg);font-size:30px}#timing{bottom:68px;right:20px;font-size:11px}.controls{bottom:14px}}@media(max-height:600px) and (min-width:761px){.slide{padding-top:20px;padding-bottom:60px}h1{font-size:34px;margin-bottom:10px}.caption{font-size:16px;margin-top:8px}.diagram{max-height:54vh}.recipe-layout{min-height:0;padding:0 4%}.recipe-layout pre{font-size:20px}.metric{min-height:200px;padding:10px 0}.controls{bottom:9px}}@media(prefers-reduced-motion:reduce){.track{transition:none}}@media print{html,body{height:auto;overflow:visible}.viewport{height:auto;overflow:visible}.track{display:block;height:auto;transform:none!important}.slide{height:auto;min-height:650px;break-after:page;overflow:visible;padding:40px}.diagram{max-height:none}.controls,#timing,dialog{display:none!important}}

.code-example{padding:35px 2%;min-height:280px;display:flex;align-items:center}.code-example pre{font-family:monospace;font-size:clamp(16px,2vw,28px);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
