:root{color-scheme:light;--paper:#f0eee6;--ink:#243c38;--muted:#60716a;--faint:#8b9990;--accent:#a95734;--rule:#d6d8cd;--mono:"SFMono-Regular", Menlo, Consolas, monospace;--sans:"Avenir Next", Avenir, "Segoe UI", sans-serif;--gutter:clamp(16px, 4vw, 52px)}[data-theme=dark]{color-scheme:dark;--paper:#101b1e;--ink:#e4e9d9;--muted:#95aba3;--faint:#647f78;--accent:#d69a70;--rule:#24383a}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}html:not([data-theme]) body{opacity:0;animation:0s .6s forwards reveal}@keyframes reveal{to{opacity:1}}body{color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .6s,color .6s}a{color:inherit;text-decoration-color:var(--faint);text-underline-offset:4px}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,p,ul{margin:0}.skip{z-index:10;background:var(--paper);padding:8px 12px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}header{z-index:2;padding:28px var(--gutter);justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.brand{letter-spacing:-.04em;align-items:center;gap:11px;font-size:23px;font-weight:600;text-decoration:none;display:inline-flex}.brand svg{width:auto;height:24px}nav{gap:28px;font-size:13px;display:flex}nav a{text-decoration:none}.scene{height:clamp(560px,100svh - 76px,940px);position:relative;overflow:hidden}.scene canvas{image-rendering:pixelated;position:absolute;top:0;left:0}.scene:not([data-ready]) .labels{display:none}.no-script{top:40%;left:var(--gutter);max-width:30em;color:var(--muted);font-size:15px;line-height:1.7;position:absolute}.label{font:11px/1.55 var(--mono);text-shadow:0 0 3px var(--paper), 0 0 6px var(--paper);text-align:center;white-space:nowrap;pointer-events:none;padding:2px 6px;position:absolute;transform:translate(-50%)}.label>span{display:block}.label .state{min-height:1.55em;color:var(--muted)}.label .state.active{color:var(--accent)}.trigger{text-align:left;transform:none}.trigger .name:before{content:"";background:var(--faint);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin:0 9px 1px 0;transition:background-color .3s;display:inline-block}.trigger.fired .name:before{background:var(--accent)}.trigger .name,.trigger .detail{display:inline}.trigger .detail{color:var(--muted);margin-left:12px}.trigger .state{padding-left:14px}.intro{padding:22px var(--gutter) 0;justify-content:space-between;align-items:baseline;gap:12px 40px;font-size:14px;line-height:1.7;display:flex}.intro p:first-child{max-width:34em}.adapters{color:var(--muted);font:11px/1.7 var(--mono);white-space:nowrap}.docs,.origin{max-width:1120px;padding:0 var(--gutter);grid-template-columns:minmax(150px,1fr) minmax(0,2.6fr);gap:24px 48px;margin-top:clamp(72px,10vw,128px);display:grid}h2{letter-spacing:-.01em;font-size:15px;font-weight:600}.docs p,.origin p{max-width:40em;color:var(--muted);font-size:14px;line-height:1.8}.origin a{color:var(--ink)}pre{color:var(--ink);font:12px/1.9 var(--mono);margin:22px 0 34px;overflow-x:auto}.contents{border-top:1px solid var(--rule);max-width:40em;padding:0;list-style:none}.contents li{border-bottom:1px solid var(--rule);font-size:14px}.contents a{grid-template-columns:9em 1fr;gap:4px 24px;padding:11px 0;text-decoration:none;display:grid}.contents li span:last-child{color:var(--muted)}footer{padding:clamp(80px, 12vw, 150px) var(--gutter) 36px;color:var(--muted);font:11px/1.7 var(--mono);justify-content:space-between;gap:12px 40px;display:flex}footer span{color:var(--ink);margin-left:10px}@media (width<=760px){header{padding-block:22px}.brand{gap:9px;font-size:20px}.brand svg{height:20px}nav{gap:18px;font-size:12px}.scene{height:clamp(540px,100svh - 150px,640px)}.label{padding:1px 4px;font-size:10px}.intro{flex-direction:column;font-size:14px}.adapters{white-space:normal}.docs,.origin{grid-template-columns:1fr;gap:18px}.contents a{grid-template-columns:1fr}footer{flex-direction:column}footer span{margin:4px 0 0;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.trigger .name:before{transition:none}}
