.ez{max-width:1040px;margin:0 auto}.ez-head h1{overflow-wrap:anywhere}.ez-head .kicker{font-size:var(--fs-code);line-height:var(--lh-ui);margin-top:0}.ez-head .kicker a{color:var(--muted);transition:color var(--dur-hover) var(--ease-out)}.ez-head .ez-sum{color:var(--ink-2);font-size:var(--fs-lead);line-height:var(--lh-body);max-width:var(--measure);margin-top:var(--sp-4)}.ez-head .ez-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-4);font-size:var(--fs-label);line-height:var(--lh-ui)}.ez h2{font-size:var(--fs-sub);font-weight:var(--fw-head);letter-spacing:var(--track-sub);line-height:var(--lh-sub);color:var(--ink)}.ez-sec{margin-top:var(--sp-8)}.ez-sec>p{color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);margin-top:var(--sp-3)}.ez-note a,.ez-sec>p a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px}.ez code{font-family:var(--font-mono),monospace;font-size:max(12px,.86em);color:var(--ink);background:var(--surface-2);padding:1px var(--sp-1);border-radius:var(--r-in);overflow-wrap:anywhere}.ez-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-6)}.ez-chart{padding:var(--sp-4) var(--sp-4) var(--sp-3)}.ez-chart .meta{display:block;white-space:normal;margin-bottom:var(--sp-2)}.ez-svg{display:block;width:100%;height:auto}.ez-grid{stroke:var(--line-2);stroke-dasharray:3 4}.ez-base{stroke:var(--line-2)}.ez-diag{stroke:var(--muted);stroke-opacity:.45;stroke-dasharray:2 4}.ez-line{stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.ez-dot{fill:var(--bg);stroke:var(--accent);stroke-width:2}.ez-axis,.ez-svg .ez-note,.ez-tick{font-family:var(--font-mono),monospace;font-size:12px;fill:var(--muted)}.ez-svg .ez-note{fill:var(--ink-2);font-size:12px}.ez-thumb{display:block;width:100%;height:auto;aspect-ratio:88/56;background:var(--bg);border-radius:var(--r-in)}.ez-thumb .ez-line{stroke-width:2.2}.ez-cap{color:var(--muted);font-size:var(--fs-ui);line-height:var(--lh-body);margin-top:var(--sp-2)}.ez-demo{padding:var(--sp-5) var(--sp-5) var(--sp-4);margin-top:var(--sp-5);--travel:56cqw}.ez-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3)}.ez-row+.ez-row{margin-top:var(--sp-3)}.ez-lab-name{font-family:var(--font-mono),monospace;font-size:var(--fs-label);letter-spacing:var(--track-caps);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-track{container-type:inline-size;height:36px;background:var(--surface-2);border-radius:var(--r-ctl);overflow:hidden;display:flex;align-items:center}.ez-box{flex:none;width:24px;height:24px;margin-left:22cqw;border-radius:var(--r-in);background:var(--accent)}.ez-box-ref{background:var(--raised-2)}.ez-box{animation:ez-run var(--d,3s) var(--loop,infinite) both;animation-timing-function:var(--ez)}.ez-box-ref{animation-timing-function:linear}@keyframes ez-run{0%{translate:0 0}50%,to{translate:var(--travel) 0}}@media (prefers-reduced-motion:reduce){.ez-box{animation:none;translate:var(--travel) 0}}.ez-stopnote{display:none}@media (prefers-reduced-motion:reduce){.ez-stopnote{display:block}}.ez-clip{margin-top:var(--sp-5);overflow:hidden;max-width:640px}.ez-stage{position:relative;aspect-ratio:16/9;background:var(--bg)}.ez-stage img,.ez-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ez-stage video{opacity:0;transition:opacity var(--dur-state) var(--ease-out)}.ez-stage video[data-on]{opacity:1}.ez-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-5);list-style:none}.ez-stat{padding:var(--sp-4)}.ez-stat dt{font-size:var(--fs-label);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.ez-stat dd,.ez-stat dt{font-family:var(--font-mono),monospace}.ez-stat dd{margin-top:var(--sp-2);font-size:var(--fs-lead);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ez-stat dd small{display:block;margin-top:var(--sp-1);font-size:var(--fs-code);line-height:var(--lh-ui);color:var(--muted);letter-spacing:0}.ez-codes{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-5)}.ez-codes .mv-code pre{max-height:240px;white-space:pre;word-break:normal}.ez-codes .mv-code-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-note{color:var(--muted);line-height:var(--lh-body);max-width:var(--measure);margin-top:var(--sp-3)}.ez-note,.ez-table{font-size:var(--fs-ui)}.ez-table{width:100%;border-collapse:collapse;margin-top:var(--sp-5);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ez-table td,.ez-table th{text-align:left;padding:var(--sp-3);border-bottom:1px solid var(--line);vertical-align:top}.ez-table th{font-family:var(--font-mono),monospace;font-size:var(--fs-label);font-weight:400;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.ez-table td{color:var(--ink-2)}.ez-table td.n{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.ez-scroll{overflow-x:auto}.ez-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-5)}.ez-two>div{padding:var(--sp-4) var(--sp-5)}.ez-two h3{font-family:var(--font-mono),monospace;font-size:var(--fs-label);font-weight:400;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.ez-two ul{list-style:none;margin-top:var(--sp-3)}.ez-two li{color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}.ez-two li+li{margin-top:var(--sp-3)}.ez-rel{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-4)}.ez-rel li{position:relative;padding:var(--sp-3);transition:box-shadow var(--dur-hover) var(--ease-out)}.ez-rel li:has(a:focus-visible){outline:var(--focus-ring);outline-offset:2px}.ez-rel a{font-family:var(--font-title);font-weight:var(--fw-head);font-size:var(--fs-ui);outline:none}.ez-rel a:after{content:"";position:absolute;inset:0}.ez-rel .meta{display:block;margin-top:var(--sp-2)}.ez-moves{list-style:none;margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ez-moves li{padding:0}.ez-moves a{display:inline-flex;align-items:center;min-height:var(--hit);padding:0 var(--sp-4);background:var(--raised);border-radius:var(--r-ctl);color:var(--ink);font-size:var(--fs-ui);text-decoration:none;transition:background-color var(--dur-hover) var(--ease-out),scale var(--dur-press) var(--ease-press)}.ez-moves a:active{scale:var(--press)}.ez-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-5);list-style:none}.ez-facts li{padding-top:var(--sp-3);border-top:1px solid var(--line-2)}.ez-facts b{display:block;font-family:var(--font-mono),monospace;font-weight:400;font-size:var(--fs-figure);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ez-facts span{display:block;margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-ui);line-height:var(--lh-body)}.ez-group{margin-top:var(--sp-8);scroll-margin-top:var(--sp-5)}.ez-group>p{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);margin-top:var(--sp-2)}.ez-grid-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-4)}.ez-card{position:relative;padding:var(--sp-3);content-visibility:auto;contain-intrinsic-size:auto 150px;transition:box-shadow var(--dur-hover) var(--ease-out)}.ez-card:has(a:focus-visible){outline:var(--focus-ring);outline-offset:2px}.ez-card a{display:block;margin-top:var(--sp-3);font-family:var(--font-title);font-weight:var(--fw-head);font-size:var(--fs-ui);line-height:var(--lh-sub);letter-spacing:-.01em;outline:none;overflow-wrap:anywhere}.ez-card a:after{content:"";position:absolute;inset:0}.ez-card .ez-blurb{color:var(--ink-2);font-size:var(--fs-ui);overflow-wrap:anywhere}.ez-card .ez-blurb,.ez-card .meta{margin-top:var(--sp-2);line-height:var(--lh-body)}.ez-card .meta{display:block;white-space:normal}.ez-fam{display:flex;flex-wrap:wrap;gap:0 var(--sp-4);margin-top:var(--sp-5);font-size:var(--fs-ui)}.ez-fam a{display:inline-flex;align-items:center;min-height:var(--hit);color:var(--muted);transition:color var(--dur-hover) var(--ease-out);text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px}@media (max-width:900px){.ez-facts,.ez-rel,.ez-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ez-charts,.ez-two{grid-template-columns:minmax(0,1fr)}.ez-row{grid-template-columns:72px minmax(0,1fr)}.ez-demo{padding:var(--sp-4) var(--sp-3) var(--sp-3)}.ez-group,.ez-sec{margin-top:var(--sp-7)}.ez-rel{grid-template-columns:minmax(0,1fr)}.ez-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.ez-card:hover,.ez-rel li:hover{box-shadow:0 0 0 1px var(--line-2)}.ez-fam a:hover,.ez-head .kicker a:hover{color:var(--ink)}.ez-moves a:hover{background:var(--raised-2)}}.ez-group.ez-group-tight{margin-top:var(--sp-6)}.ez-h3{white-space:normal}.ez-clip .ez-cap{margin-top:0;padding:var(--sp-3) var(--sp-4)}.ez-more summary{display:inline-flex;align-items:center;min-height:var(--hit);margin-top:var(--sp-3);cursor:pointer;font-size:var(--fs-ui);font-weight:600;color:var(--ink);border-radius:var(--r-in)}.ez-sr{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.ez-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-4);margin-top:var(--sp-6)}.ez-search{flex:1 1 240px;max-width:360px}.ez-search input{width:100%;min-height:var(--hit);padding:0 var(--sp-4);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-ctl);color:var(--ink);font:inherit;font-size:var(--fs-ui)}.ez-search input::placeholder{color:var(--muted)}.ez-search input:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ez-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ez-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--sp-3);background:transparent;border:1px solid var(--line-2);border-radius:var(--r-ctl);color:var(--ink-2);font:inherit;font-size:var(--fs-ui);cursor:pointer;text-decoration:none;transition:background-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out),scale var(--dur-press) var(--ease-press)}.ez-chip:active{scale:var(--press)}.ez-chip:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ez-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.ez-count{margin-left:auto}.ez-empty{overflow-wrap:anywhere;margin-top:var(--sp-6);color:var(--ink-2);font-size:var(--fs-body)}.ez-link{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}[data-ez-card][hidden],[data-ez-group][hidden]{display:none}.ez-spacing{display:block;width:100%;height:auto;margin-top:var(--sp-2)}.ez-sp-ghost{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1}.ez-sp-end{stroke:var(--line-2);stroke-dasharray:2 3}.ez-sp-rows{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3)}.ez-race-h{display:block;margin-bottom:var(--sp-2)}.ez-card-act{position:relative;z-index:var(--z-raise);display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.ez-card-act button{flex:1 1;min-height:32px;padding:0 var(--sp-2);background:transparent;border:1px solid var(--line-2);border-radius:var(--r-in);color:var(--ink-2);font:inherit;font-size:var(--fs-code);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out)}.ez-card-act button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ez-card-act .ez-pick[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}@media (pointer:coarse){.ez-card-act button{min-height:var(--hit)}}@media (hover:hover) and (pointer:fine){.ez-card-act button:hover{color:var(--ink);border-color:var(--muted)}}.ez-tray{position:-webkit-sticky;position:sticky;bottom:var(--sp-3);z-index:var(--z-sticky);margin-top:var(--sp-6);padding:var(--sp-4) var(--sp-5);background:var(--bg);--travel:56cqw}.ez-tray-head{flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.ez-tray-act,.ez-tray-head{display:flex;gap:var(--sp-2)}.ez-tray .ez-cap{margin-top:var(--sp-3)}.ez-why{margin-top:var(--sp-8);padding:var(--sp-4) var(--sp-5)}.ez-why summary{cursor:pointer;min-height:var(--hit);display:flex;align-items:center;font-weight:600;color:var(--ink)}.ez-why p{color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);margin-top:var(--sp-3)}.ez-why .ez-facts{margin-top:var(--sp-5)}@media (max-width:640px){.ez-count{margin-left:0}.ez-tray{padding:var(--sp-3)}.ez-why{padding:var(--sp-3) var(--sp-4)}}.ez-quick{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}.ez-rel .ez-cmp{position:relative;z-index:var(--z-raise);display:inline-block;margin-top:var(--sp-2);font-family:var(--font-sans),sans-serif;font-weight:400;font-size:var(--fs-code);color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px}.ez-rel .ez-cmp:after{content:none}@media (max-width:640px){.ez-card-act{flex-direction:column}.ez-card-act button{min-height:36px}}.ez-lab{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-5)}.ez-lab-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-5);padding:var(--sp-3) var(--sp-4)}.ez-lab-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.ez-graphs{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);align-content:start}.ez-spacing-fig .ez-spacing{margin-top:0}.ez-lab-side{display:grid;grid-template-rows:auto 1fr;grid-gap:var(--sp-3);gap:var(--sp-3);align-self:stretch}.ez-lab-body .ez-demo{margin-top:0;display:grid;align-content:center}.ez-lab .ez-lab-name{white-space:normal;overflow-wrap:anywhere}.ez-ui{grid-column:1/-1;padding:var(--sp-4)}.ez-ui>.meta{white-space:normal}.ez-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-3)}.ez-tile .meta{display:block;margin-top:var(--sp-2);white-space:normal}.ez-ph{animation:ez-ph-x var(--d,3s) var(--loop,infinite) linear both}.ez-ph-line{stroke:var(--ink);stroke-opacity:.55;stroke-width:1}.ez-ph-dot{fill:var(--accent);stroke:var(--bg);stroke-width:2;animation:ez-ph-y var(--d,3s) var(--loop,infinite) both;animation-timing-function:var(--ez)}@keyframes ez-ph-x{0%{translate:0 0}50%,to{translate:var(--px) 0}}@keyframes ez-ph-y{0%{translate:0 0}50%,to{translate:0 var(--py)}}.ez-stage-ui{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-2);border-radius:var(--r-in)}.ez-stage-ui i{display:block;height:6px;border-radius:3px;background:var(--raised-2)}.ez-stage-ui i:last-of-type{width:60%}.ez-ui-card,.ez-ui-menu,.ez-ui-modal,.ez-ui-toast{position:absolute;background:var(--raised);box-shadow:var(--ring);animation-duration:var(--d,3s);animation-iteration-count:var(--loop,infinite);animation-fill-mode:both;animation-timing-function:var(--ez)}.ez-ui-card{left:14%;right:14%;top:24%;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-in);animation-name:ez-ui-card}.ez-ui-dim{position:absolute;inset:0;background:var(--bg);opacity:.5}.ez-ui-modal{left:20%;right:20%;top:24%;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-in);animation-name:ez-ui-modal}.ez-ui-modal b{display:block;width:40%;height:14px;margin-top:var(--sp-1);border-radius:var(--r-in);background:var(--ink)}.ez-ui-toast{left:12%;right:12%;top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-ctl);animation-name:ez-ui-toast}.ez-ui-toast span{flex:none;width:8px;height:8px;border-radius:50%;background:var(--ink-2)}.ez-ui-toast i{flex:1 1}.ez-ui-menu{left:0;top:0;bottom:0;width:46%;display:grid;align-content:start;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-4) var(--sp-3);animation-name:ez-ui-menu}@keyframes ez-ui-card{0%{translate:0 24px;opacity:0}50%,to{translate:0 0;opacity:1}}@keyframes ez-ui-modal{0%{scale:.9;opacity:0}50%,to{scale:1;opacity:1}}@keyframes ez-ui-toast{0%{translate:0 -160%;opacity:0}50%,to{translate:0 0;opacity:1}}@keyframes ez-ui-menu{0%{translate:-100% 0}50%,to{translate:0 0}}.ez-lab-open{margin-left:auto;display:inline-flex;align-items:center;min-height:var(--hit)}@media (max-width:900px){.ez-lab-body{grid-template-columns:minmax(0,1fr)}.ez-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ez-lab-bar,.ez-ui{padding:var(--sp-3)}}@media (prefers-reduced-motion:reduce){.ez-lab *{animation:none!important}.ez-lab-motion,.ez-ph{display:none}}.ez-jump{display:flex;flex-wrap:wrap;gap:0 var(--sp-5);margin-top:var(--sp-5);font-size:var(--fs-ui)}.ez-jump a{display:inline-flex;align-items:center;min-height:var(--hit);color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px}.ez-all{margin-top:var(--sp-8);scroll-margin-top:var(--sp-5)}.ez-table a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px}.ez-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-2);color:var(--muted);font-size:var(--fs-ui);line-height:var(--lh-body)}.ez-table td.ez-hit{color:var(--ink);background:var(--surface-2)}.ez-first{margin-top:var(--sp-4)}.ez-sub{margin-top:var(--sp-6);font-weight:var(--fw-head);color:var(--ink)}.ez-rules,.ez-sub{font-size:var(--fs-body)}.ez-rules{list-style:disc;padding-left:var(--sp-5);margin-top:var(--sp-3);color:var(--ink-2);line-height:var(--lh-body);max-width:var(--measure)}.ez-rules li+li{margin-top:var(--sp-2)}@media (max-width:640px){.ez-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ez-stack,.ez-stack caption,.ez-stack tbody,.ez-stack tr{display:block}.ez-stack tr{padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.ez-stack td{display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-1) 0;border:0}.ez-stack td:before{content:attr(data-label);font-family:var(--font-mono),monospace;font-size:var(--fs-label);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}}