:root{--spring:linear(0, .079, .236, .403, .551, .671, .764, .833, .883, .919, .944, .962, .974, .983, .988, .992, .995, .997, .998, .998, 1);--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg:#fff;--fg:#111;--muted:#737373;--line:#e6e6e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0c0c0c;--fg:#eee;--muted:gray;--line:#262626}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font:13px/1.5 var(--mono);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--sans);text-box:trim-both cap alphabetic;margin:0;font-weight:500;line-height:1.2}h1{font-size:20px}h2{font-size:15px}a{color:inherit;transition:color .2s var(--spring), opacity .2s var(--spring)}@media (hover:hover){a:not(.card):hover{color:var(--fg)}}a:not(.card):active{opacity:.5;transition-duration:.5s}p{margin:0}button{font:inherit}.muted{color:var(--muted)}.small{font-size:11px}.page{max-width:960px;margin:0 auto;padding:48px 16px}.site-header{gap:8px;margin-bottom:40px;display:grid}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:8px 16px;margin-top:40px;padding-top:16px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:6px;gap:6px;height:100%;padding:16px;text-decoration:none;display:grid}.site-footer-links{gap:16px;display:flex}.colophon h1{margin:32px 0 16px}.colophon h2{margin:40px 0 16px}.colophon ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.colophon ul.colophon-experiments{gap:16px}.colophon-experiments p{margin-top:4px}.card h2{margin-bottom:4px}@media (hover:hover){.card:hover{border-color:var(--muted)}}.card{transition:opacity .2s var(--spring)}.card:active{opacity:.5;transition-duration:.5s}.card-cover{aspect-ratio:16/10;object-fit:cover;background:var(--line);border-radius:3px;width:100%;margin-bottom:6px}.experiment{flex-direction:column;height:100dvh;display:flex}.experiment-bar{z-index:10000;border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;gap:8px;padding:10px 16px;display:flex;position:relative}.experiment-bar a{text-decoration:none}.switcher{position:relative}.switcher-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.switcher:hover:after{content:"";height:12px;position:absolute;inset:100% 0 auto}.switcher-card{min-width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--bar-height,0px) - 32px);background:var(--bg);border:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .25s var(--spring), translate .25s var(--spring), visibility .25s;border-radius:6px;gap:6px;margin:0;padding:10px 12px;list-style:none;display:grid;position:absolute;top:calc(100% + 10px);left:-12px;overflow:auto;translate:0 -4px;box-shadow:0 8px 24px #0000001f}.switcher:is(:hover,:focus-within):not([data-dismissed]) .switcher-card{opacity:1;visibility:visible;translate:0}.switcher-card li{white-space:nowrap;justify-content:space-between;gap:32px;display:flex}.switcher-views{gap:16px;display:flex}.switcher-card a{color:var(--muted)}.switcher-card li[aria-current]>a,.switcher-card a[aria-current]{color:var(--fg)}@media (width<=720px){.switcher{position:static}.switcher-card{min-width:0;left:16px;right:16px}.switcher-card li{flex-wrap:wrap;gap:2px 16px}}.views{gap:16px;display:flex}.experiment-bar .views a{color:var(--muted)}.experiment-bar .views a:hover,.experiment-bar .views a.active{color:var(--fg)}.experiment-body{flex:1;min-height:0;display:flex}.stage{flex:1;min-width:0;position:relative;overflow:auto}.dialkit-panel[data-mode=popover][data-position=top-right]{top:calc(var(--bar-height,0px) + 16px);max-height:calc(100dvh - var(--bar-height,0px) - 32px)}.dialkit-panel[data-mode=popover][data-position=top-right] .dialkit-panel-inner{max-height:calc(100dvh - var(--bar-height,0px) - 32px)}.controls{border-left:1px solid var(--line);flex-shrink:0;width:300px;overflow:auto}.controls:empty{display:none}@media (width<=720px){.experiment-body{flex-direction:column}.controls{border-left:0;border-top:1px solid var(--line);width:auto;max-height:45dvh}}.site-progress{inset:var(--bar-height,0px) 0 auto;z-index:10001;pointer-events:none;height:2px;position:fixed;overflow:hidden}.site-progress>div{background:var(--fg);position:absolute;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.experiment-reading{flex:1;min-height:0;overflow:auto}.reading{max-width:680px;margin:0 auto;padding:40px 16px 96px}.notes{max-width:960px}.notes .prose,.source .file{min-height:calc(100dvh - var(--bar-height,0px))}.notes .prose{max-width:680px}.contents{display:none}@media (width>=900px){.notes{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:16px;display:grid}.notes .prose{grid-area:1/2}.contents{grid-area:1/1;gap:12px;display:grid;position:sticky;top:40px}.contents a{color:var(--muted);text-box:trim-both cap alphabetic;text-decoration:none}.contents a[data-level="3"]{padding-left:12px}.contents a[aria-current]{color:var(--fg)}}.prose{line-height:1.65}.prose h1,.prose h2,.prose h3{font-weight:550}.prose h1{margin-bottom:24px}.prose h2{margin:36px 0 10px}.prose h3{margin:24px 0 8px}.prose p,.prose ul,.prose ol,.prose pre,.prose blockquote{margin:0 0 14px}.prose ul,.prose ol{padding-left:20px}.prose blockquote{border-left:2px solid var(--line);color:var(--muted);padding-left:12px}.prose code{background:var(--line);border-radius:3px;padding:1px 4px}.prose pre{border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.5;overflow:auto}.shiki span,.file .line span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){.shiki span,.file .line span{color:var(--shiki-dark)}}.prose pre code{background:0 0;padding:0}.source{gap:16px;max-width:960px;display:grid}.files{flex-wrap:wrap;gap:6px;display:flex}.files button,.file figcaption button{border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:color .2s var(--spring), border-color .2s var(--spring), opacity .2s var(--spring);background:0 0;border-radius:4px;padding:2px 8px}.files button:active,.file figcaption button:active{opacity:.5;transition-duration:.5s}.files button:hover,.files button[aria-pressed=true],.file figcaption button:hover{color:var(--fg);border-color:var(--muted)}@media (width>=900px){.source{grid-template-columns:180px minmax(0,1fr);align-items:start}.source>p{grid-column:1/-1}.files{flex-direction:column;position:sticky;top:40px}.files button{text-align:left;overflow-wrap:anywhere}}.file{border:1px solid var(--line);border-radius:6px;margin:0;overflow:hidden}.file figcaption{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.file pre{counter-reset:line;margin:0;padding:12px 12px 12px 0;font-size:12px;line-height:1.55;overflow:auto}.file .line:before{counter-increment:line;content:counter(line);text-align:right;width:5ch;color:var(--muted);opacity:.6;-webkit-user-select:none;user-select:none;margin-right:2ch;display:inline-block}
