@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/overpass-mono-cyrillic-ext-500-normal-DGTQowpm.woff2)format("woff2"),url(/assets/overpass-mono-cyrillic-ext-500-normal-DXHhqYQS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/overpass-mono-cyrillic-500-normal-tZOaLeux.woff2)format("woff2"),url(/assets/overpass-mono-cyrillic-500-normal-DF35YEs9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/overpass-mono-vietnamese-500-normal-Cd0aqzaH.woff2)format("woff2"),url(/assets/overpass-mono-vietnamese-500-normal-RNTKqux2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/overpass-mono-latin-ext-500-normal-B6Yv-hCw.woff2)format("woff2"),url(/assets/overpass-mono-latin-ext-500-normal-BeoCr26i.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/overpass-mono-latin-500-normal-DkKmcrh_.woff2)format("woff2"),url(/assets/overpass-mono-latin-500-normal-BmPyqWzT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#0a0a0a;--rule:#2a2a2a;--ink:#fff;--text-2:#c8c8c8;--text-3:#9a9a9a;--text-off:#737373;--purple:#ab7df8;--green:#3fb950;--red:#f85149;--sans:"Barlow", system-ui, sans-serif;--display:"Barlow Condensed", system-ui, sans-serif;--mono:"Overpass Mono", ui-monospace, monospace;--gap-section:96px;--gap-block:56px;--gap-heading:24px;--pad:clamp(24px, calc((100vw - 1200px) / 2), 120px);--ease-line:cubic-bezier(.77, 0, .175, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px;line-height:24px}body{overflow-wrap:anywhere;margin:0;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd,figure,pre{margin:0}ul,ol{padding:0;list-style:none}img{display:block}a{color:inherit}code,pre{font-family:var(--mono);font-weight:500}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:10;background:var(--ink);color:var(--ground);border-radius:4px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-64px;left:16px}.skip:focus{top:16px}.muted{color:var(--text-2)}.meta{color:var(--text-3)}.small{font-size:14px;line-height:20px}.no-ligatures{font-feature-settings:"calt" 0, "dlig" 0, "liga" 0}.wrap{width:100%;max-width:calc(1200px + 2 * var(--pad));padding-inline:var(--pad);margin-inline:auto}h1{font-family:var(--display);letter-spacing:-.01em;font-size:52px;font-weight:800;line-height:50px}h1 br{display:none}h2{font-family:var(--display);font-size:36px;font-weight:700;line-height:40px}h3{font-size:18px;font-weight:600;line-height:24px}.figure-text,.body-large{font-size:18px;line-height:28px}.header{justify-content:space-between;align-items:center;padding-block:16px;display:flex;position:relative}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:22px;font-weight:700;line-height:26px;text-decoration:none;display:flex}.menu-button{border:1.5px solid var(--ink);color:var(--ink);font:600 15px/20px var(--sans);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px}.nav-links{display:none}.nav-links[data-open=true]{inset-inline:0;z-index:5;padding:8px var(--pad) 24px;border-bottom:1px solid var(--rule);background:var(--ground);flex-direction:column;display:flex;position:absolute;top:100%}.nav-links a{color:var(--text-2);padding-block:10px;font-size:18px;text-decoration:none;display:block}.nav-links a:hover{color:var(--ink)}.hero{text-align:center;flex-direction:column;align-items:center;gap:24px;padding-top:56px;padding-bottom:40px;display:flex}.lead{max-width:680px;color:var(--text-2);font-size:18px;line-height:28px}.hero-actions{flex-direction:column;align-items:center;gap:24px;display:flex}.quiet-link{color:var(--text-2);text-underline-position:from-font;text-decoration:underline;text-decoration-thickness:1px}.quiet-link:hover{color:var(--ink)}.plate{background:var(--ink);width:240px;color:var(--ground);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 8px 8px 20px;font-size:15px;line-height:22px;display:flex}.plate:has(.copy:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.plate .copy:focus-visible{outline:none}.copy{font:600 15px/20px var(--sans);cursor:pointer;white-space:nowrap;border:0;border-radius:4px;flex-shrink:0}.copy-plate{background:var(--ground);color:var(--ink);padding:10px 16px}.copy-plate[data-state=copied]{color:var(--purple)}.copy-outline{border:1.5px solid var(--ink);width:80px;color:var(--ink);background:0 0;padding-block:10px}.copy-outline[data-state=copied]{border-color:var(--purple);color:var(--purple)}.copy-outline[data-state=blocked],.copy-plate[data-state=blocked]{font-size:13px}.copy-solid{background:var(--ink);color:var(--ground);padding:10px 16px}.copy-solid[data-state=copied]{background:var(--purple)}.st-label,.code-label,.event-label,.verdict{white-space:nowrap;position:absolute}.st-label{font-family:var(--display);font-size:24px;font-weight:700;line-height:28px}.st-label.small{font-size:18px;line-height:22px}.st-label.tiny{font-size:16px;line-height:20px}.st-label.center{text-align:center}.st-label.right{text-align:right}.code-label{font-family:var(--mono);font-size:15px;font-weight:500;line-height:22px}.event-label{color:var(--text-3);white-space:normal;font-size:14px;line-height:20px}.verdict{font-size:14px;font-weight:600;line-height:20px}.verdict.open{color:var(--green)}.verdict.closed{color:var(--red)}.verdict.right{text-align:right}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}.hero-runs{gap:40px;padding-top:8px;display:grid}.hero-run{flex-direction:column;gap:12px;min-width:0;display:flex}.hero-run-head{border-bottom:1px solid var(--rule);color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-bottom:10px;font-size:15px;line-height:22px;display:flex;position:relative}.hero-run-head code{color:var(--ink);font-size:15px}.hero-run-head .m-clock{bottom:-1px}.hero-art svg{width:100%;height:auto;display:block}.hero-art{transition:opacity .4s}.hero-art.still{opacity:.35}.hero-run-goal code{font-size:15px}.hero-run-note{color:var(--text-2);font-size:15px;line-height:22px}.hero-replay{font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:14px}.still .m-seg{stroke-dashoffset:0!important;animation:none!important}.still .m-pop{opacity:1!important;animation:none!important}.still .m-dim{opacity:.3!important}.hero-replay:focus-visible,.skill-row:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.skill-art{animation:.4s both stage-in}@keyframes stage-in{0%{opacity:0}}.m-clock{background:var(--purple);transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.anim[data-play] .m-clock{animation:clock var(--total-m) linear forwards}@keyframes clock{to{transform:scaleX(1)}}.m-seg{stroke-dasharray:1 1}.js .anim:not([data-play]) .m-seg{stroke-dashoffset:1px}.js .anim:not([data-play]) .m-pop{opacity:0}.anim[data-play] .m-seg{stroke-dashoffset:1px;animation:draw var(--dur) linear var(--at) forwards}.anim[data-play] .m-seg.m-dim{animation:draw var(--dur) linear var(--at) forwards, dim .32s ease var(--dim) both}.anim[data-play] .m-pop{animation:appear .24s ease-out var(--at) both}.anim[data-play] .m-pop.m-dim{animation:appear .24s ease-out var(--at) both, dim .32s ease var(--dim) forwards}html:not(.js) .m-dim{opacity:.3}.anim[data-paused=true] *{animation-play-state:paused!important}@keyframes dim{0%{opacity:1}to{opacity:.3}}.m-station{fill:var(--ink);font-family:var(--display);font-weight:700}.m-code{fill:var(--ink);font-family:var(--mono);font-weight:500}.m-note{fill:var(--text-3);font-family:var(--sans)}.m-verdict{font-family:var(--sans);font-size:13px;font-weight:600}@media (prefers-reduced-motion:reduce){.js .anim:not([data-play]) :is(.m-seg,.m-pop),.anim[data-play] :is(.m-seg,.m-pop){stroke-dashoffset:0;opacity:1;animation:none}.js .anim:not([data-play]) .m-dim,.anim[data-play] .m-dim{opacity:.3}.m-clock{display:none}.skill-art{animation:none}.hero-art.still{opacity:1}}.section{padding-top:var(--gap-section)}.section-tight{padding-top:var(--gap-block)}.section>h2,.how h2{margin-bottom:var(--gap-heading)}.section h3,.section-tight h3{margin-bottom:12px}.split{flex-direction:column;gap:48px;display:flex}.rows{border-top:1px solid var(--rule)}.rows>li,.rows>div{border-bottom:1px solid var(--rule);padding-block:12px}.rows dt code,.rows>li>code{font-size:15px;line-height:22px}.rows dd{margin-top:2px}.install-steps{gap:32px;display:grid}.install-steps>li{min-width:0}.install-after{margin-top:28px;font-size:15px;line-height:22px}.install-after a{color:var(--ink)}.install-steps h3{align-items:center;gap:12px;margin-bottom:12px;display:flex}.step-no{background:var(--ink);width:28px;height:28px;color:var(--ground);font:700 16px/1 var(--display);border-radius:50%;place-items:center;display:inline-grid}.step-note{color:var(--text-3);margin-top:10px;font-size:15px;line-height:22px}.step-note code{color:var(--ink)}.tabbed{border:1px solid var(--rule);border-radius:8px;position:relative}.tabbed-head{border-bottom:1px solid var(--rule)}.tab-list{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.tab-list [role=tab]{color:var(--text-3);font:600 15px/20px var(--sans);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:14px 10px 12px;position:relative}.tab-list [role=tab]:first-child{padding-left:16px}.tab-list [role=tab]:after{content:"";background:var(--purple);opacity:0;height:2px;position:absolute;inset:auto 10px -1px}.tab-list [role=tab]:first-child:after{left:16px}.tab-list [role=tab]:hover,.tab-list [aria-selected=true]{color:var(--ink)}.tab-list [aria-selected=true]:after{opacity:1}.tab-list [aria-disabled=true]{color:var(--text-off);cursor:not-allowed}.tab-list [aria-disabled=true]:hover{color:var(--text-off)}.tab-list [role=tab]:focus-visible{outline:2px solid var(--ink);outline-offset:-6px;border-radius:6px}.tab-panel{flex-direction:column;padding-bottom:12px;display:flex}.tab-panel .copy{align-self:flex-end;margin-right:12px}.tab-panel pre{padding:16px;font-size:14px;line-height:24px;overflow-x:auto}.tab-panel .comment{color:var(--text-3)}.how-roles,.how-line{display:none}.how-steps>li{gap:0;display:flex}.how-rail{flex-shrink:0;width:44px;position:relative}.how-rail:before{content:"";background:var(--ink);width:8px;position:absolute;top:0;bottom:0;left:10px}.how-steps>li:first-child .how-rail:before{top:14px}.how-steps>li.is-done .how-rail:before{height:14px;bottom:auto}.how-steps>li.is-review .how-rail:after{content:"";left:calc(-1 * var(--pad));width:calc(var(--pad) + 36px);background:var(--purple);height:8px;position:absolute;top:10px}.how-rail-station{z-index:1;width:28px;height:28px;position:relative}.is-review .how-rail-station{width:36px;height:36px;margin:-4px 0 0 -4px}.how-text{flex-direction:column;flex:1;gap:8px;min-width:0;padding-bottom:40px;display:flex}.how-text h3{font-family:var(--display);margin:0;font-size:22px;font-weight:700;line-height:28px}.prompt{border:1px solid var(--rule);border-radius:8px;padding:10px 12px;font-size:14px;line-height:22px}.how-role{flex-shrink:0;width:64px;height:64px;margin-left:16px}.skill-tour{flex-direction:column;gap:24px;display:flex}.skill-list{border-top:1px solid var(--rule)}.skill-name{flex-direction:column;display:flex}.skill-tag{color:var(--text-3);font-size:12px;line-height:16px}.skill-row{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:12px 0 12px 28px;display:flex;position:relative}.skill-row:before{content:"";border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent var(--purple);opacity:0;transition:opacity .2s,translate .2s;position:absolute;top:50%;left:2px;translate:-8px -50%}.skill-row[aria-selected=true]:before{opacity:1;translate:0 -50%}.skill-row code{color:var(--text-3);font-size:15px;line-height:22px}.skill-row:hover code,.skill-row[aria-selected=true],.skill-row[aria-selected=true] code{color:var(--ink)}.skill-row .m-clock{height:2px;bottom:-1px}.skill-stage{z-index:1;background:var(--ground);flex-direction:column;order:-1;gap:12px;padding-block:12px;display:flex;position:sticky;top:0}.skill-art svg{width:100%;height:auto;display:block}.skill-stage figcaption{min-height:66px;color:var(--text-2);font-size:15px;line-height:22px}@media (prefers-reduced-motion:reduce){.skill-row:before{transition:none}}.chart{flex-direction:column;gap:16px;display:flex}.chart-desktop{display:none}.chart-mobile{width:342px;height:400px;position:relative}.unit-token,.second-pass{display:none}.chart[data-play] .second-pass{stroke-dasharray:1 1;stroke-dashoffset:1px;animation:18s linear infinite second-pass;display:inline}.chart[data-play] .unit-token{border:3px solid var(--ground);background:var(--purple);opacity:0;offset-rotate:0deg;border-radius:50%;width:18px;height:18px;animation:none;display:block;position:absolute;top:0;left:0}.chart[data-play] .unit-token.fixed{animation-name:trip-fixed}.chart[data-play] .unit-token.blocked{animation-name:trip-blocked}.chart-art svg{display:block}.chart[data-play] :is(.verdict,.request,.approve,.block){opacity:.35}.chart[data-play] .request{animation:18s infinite verdict-request}.chart[data-play] .approve{animation:18s infinite verdict-approve}.chart[data-play] .block{animation:18s infinite verdict-block}.chart[data-paused=true] :is(.unit-token,.second-pass,.request,.approve,.block){animation-play-state:paused}@keyframes trip-fixed{0%{offset-distance:0%;opacity:0}2%,4%{offset-distance:0%;opacity:1}7%,9.5%{offset-distance:var(--p1)}13%,16.5%{offset-distance:var(--p2)}22%,24%{offset-distance:var(--p3)}27.5%,30.5%{offset-distance:var(--p4)}34%,36%{offset-distance:var(--p5)}39.5%,46%{offset-distance:100%;opacity:1}48.5%,to{offset-distance:100%;opacity:0}}@keyframes trip-blocked{0%,50%{offset-distance:0%;opacity:0}52%,54%{offset-distance:0%;opacity:1}59%,62%{offset-distance:var(--p1)}68%,72%{offset-distance:var(--p2)}80%,94%{offset-distance:100%;opacity:1}97%,to{offset-distance:100%;opacity:0}}@keyframes second-pass{0%,24%{stroke-dashoffset:1px;opacity:1}27.5%,46%{stroke-dashoffset:0;opacity:1}49%,to{stroke-dashoffset:0;opacity:0}}@keyframes verdict-request{0%,13%,21%,to{opacity:.35}14.5%,19%{opacity:1}}@keyframes verdict-approve{0%,27.5%,35.5%,to{opacity:.35}29%,33.5%{opacity:1}}@keyframes verdict-block{0%,72%,92%,to{opacity:.35}74%,90%{opacity:1}}@media (prefers-reduced-motion:reduce){.chart[data-play] :is(.unit-token,.second-pass){display:none}.chart[data-play] :is(.verdict,.request,.approve,.block){opacity:1;animation:none}}.chart figcaption{font-size:15px;line-height:22px}.two-parts{flex-direction:column;gap:16px;display:flex}.two-parts h3{margin:0}.evidence{gap:32px}.evidence-files{flex-direction:column;gap:24px;display:flex}.evidence-runs{flex-direction:column;order:-1;gap:24px;display:flex}.run-row{flex-direction:column;gap:8px;display:flex}.files dt code{font-size:15px}.strong-link{text-underline-position:from-font;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.h2-wide{max-width:860px}.plain{flex-direction:column;gap:12px;display:flex}.requirements{gap:8px}.requirements+.small{margin-top:16px}.credit-links{flex-wrap:wrap;gap:8px 24px;margin-top:16px;font-weight:600;display:flex}.credit-links a,.plain a{text-decoration:none}.credit-links a:hover,.plain a:hover,.footer a:hover{text-underline-position:from-font;text-decoration:underline;text-decoration-thickness:1px}.split .col-even+.col-even h3{margin-top:0}.closing{padding-top:var(--gap-section);text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.closing h2{text-wrap:balance;font-size:40px;font-weight:800;line-height:40px}.footer{flex-direction:column;gap:24px;padding-top:64px;padding-bottom:40px;font-size:15px;line-height:22px;display:flex}.footer hr{background:var(--rule);border:0;width:100%;height:1px;margin:0}.footer-row{flex-direction:column;gap:24px;display:flex}.footer-row p{gap:16px;display:flex}.footer-row ul{flex-wrap:wrap;gap:12px 24px;display:flex}.footer a{color:var(--text-2);text-decoration:none}@media (width>=1100px){:root{--gap-section:144px;--gap-block:72px;--gap-heading:40px}.hero-runs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}.hero-replay{grid-column:1/-1}.skill-tour{flex-direction:row;align-items:flex-start;gap:48px}.skill-list{flex:1 1 0;min-width:0}.skill-row{flex-direction:row;gap:16px;padding-block:14px}.skill-name{flex:0 0 132px}.skill-row code{font-size:16px;line-height:24px}.skill-tour{align-items:center}.skill-stage{flex:0 0 600px;order:0;padding-block:0;position:static}.header{padding-block:24px}.brand{gap:12px;font-size:24px;line-height:28px}.menu-button{display:none}.nav-links,.nav-links[data-open=true]{border:0;flex-direction:row;gap:32px;padding:0;display:flex;position:static}.nav-links a{padding:0;font-size:16px}h1 br{display:inline}h1{max-width:1000px;font-size:96px;line-height:92px}h2{font-size:48px;line-height:52px}h3{font-size:21px;line-height:28px}.hero{gap:32px;padding-top:112px;padding-bottom:72px}.lead{font-size:21px;line-height:32px}.hero-actions{flex-direction:row}.hero .plate,.closing .plate{width:220px}.plate code{font-size:16px;line-height:24px}.copy-plate,.copy-solid{padding:8px 14px}.copy-outline{padding-block:6px}.split{flex-direction:row;justify-content:space-between;gap:40px}.col-wide{flex:0 620px;min-width:0}.col-even{flex:0 560px;min-width:0}.col-narrow{flex:0 480px;min-width:0}.install-steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.tab-panel{padding-bottom:0}.tab-panel .copy{margin:0;padding:6px 12px;position:absolute;top:7px;right:8px}.tab-list [role=tab]{padding-inline:12px}.tab-list [role=tab]:after{inset-inline:12px}.tab-panel pre{padding:20px 24px;font-size:16px;line-height:28px}.rows>li,.rows>div{padding-block:14px}.rows dt code,.rows>li>code{font-size:16px;line-height:24px}.rows>div{display:flex}.rows dt{flex-shrink:0;width:160px}.rows dd{margin-top:0}.files dt{width:200px}.how-roles{grid-template-columns:repeat(6,minmax(0,1fr));height:112px;padding-bottom:16px;display:grid}.how-line{display:block}.how-line-inner{height:80px;position:relative}.how-route{background:var(--ink);width:calc(50vw + 33.3333% + 14px);height:8px;position:absolute;top:36px;left:calc(50% - 50vw)}.how-review{background:var(--purple);width:8px;height:80px;position:absolute;top:0;left:calc(50% + 10px)}.how-station{top:26px;left:calc(100% * var(--col) / 6);width:28px;height:28px;position:absolute}.how-station.interchange{top:22px;left:calc(100% * var(--col) / 6 - 4px);width:36px;height:36px}.how-steps{grid-template-columns:repeat(6,minmax(0,1fr));padding-top:8px;display:grid}.how-steps>li{padding-right:24px;display:block}.how-rail,.how-role{display:none}.how-text{gap:10px;padding-bottom:0}.how-text h3{font-size:24px}.how-text>.muted{font-size:16px}.chart-mobile{display:none}.chart-desktop{width:560px;height:272px;display:block;position:relative}.chart figcaption{max-width:520px;font-size:16px;line-height:24px}.two-parts p:not(.small){font-size:18px;line-height:28px}.evidence{gap:40px}.evidence-runs{order:0;gap:28px}.run-row{gap:12px}.run-row .figure-text,.figure-text{font-size:21px;line-height:32px}.closing{gap:32px}.closing h2{font-size:56px;line-height:56px}.footer{gap:28px;padding-bottom:48px}.footer-row{flex-direction:row;justify-content:space-between}.footer-row ul{gap:32px}}
