.sk{--disc:48px;position:relative}@media (min-width:640px){.sk{--disc:56px}}.sk-host{width:0;height:0;position:absolute;overflow:hidden}.sk-side{margin-bottom:3rem}html:not(.js) .sk-side{display:none}.sk-main{min-width:0}@media (min-width:1024px){html.js .sk{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;column-gap:3.5rem;display:grid}html.js .sk-side{top:calc(var(--hud-top-h,36px) + 1.25rem);max-height:calc(100dvh - var(--hud-top-h,36px) - var(--hud-bottom-h,32px) - 2.5rem);scrollbar-width:thin;scrollbar-color:var(--color-line-strong) transparent;grid-area:1/2;margin:0;padding:.35rem .35rem 1rem;position:sticky;overflow-y:auto}html.js .sk-main{grid-area:1/1}}.sk-f{gap:1rem;display:grid}.sk-s{display:block;position:relative}.sk-si{border:1px solid color-mix(in oklab, var(--color-node) 18%, transparent);background:color-mix(in oklab, var(--color-base) 72%, transparent);width:100%;min-height:44px;color:var(--color-hi);font:inherit;transition:border-color var(--dur-2) var(--ease-arrive);border-radius:10px;padding:.6rem 2.75rem .6rem .95rem;font-size:1rem;line-height:1.4}.sk-si::placeholder{color:var(--color-mut)}.sk-si:hover{border-color:color-mix(in oklab, var(--color-node) 34%, transparent)}.sk-si:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:10px}.sk-k{border:1px solid color-mix(in oklab, var(--color-node) 22%, transparent);font-family:var(--font-mono), monospace;color:var(--color-mut);pointer-events:none;border-radius:5px;padding:.05rem .42rem;font-size:.7rem;line-height:1.4;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.sk-si:not(:placeholder-shown)+.sk-k{display:none}@media (hover:none){.sk-k{display:none}}.sk-fs,.sk-ft{flex-wrap:wrap;gap:.4rem;display:flex}.sk-fb{border:1px solid color-mix(in oklab, var(--color-node) 18%, transparent);min-width:44px;min-height:44px;color:var(--color-mid);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-2) var(--ease-arrive), color var(--dur-2) var(--ease-arrive), background-color var(--dur-2) var(--ease-arrive);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.3rem .85rem;font-size:.82rem;line-height:1.25;display:inline-flex}.sk-fb:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-hi)}.sk-fb[aria-pressed=true]{border-color:color-mix(in oklab, var(--color-node) 55%, transparent);background:color-mix(in oklab, var(--color-node) 11%, transparent);color:var(--color-hi)}.sk-fb:focus-visible{border-radius:999px}.sk-fb:disabled{opacity:.4;cursor:default}.sk-fn{font-family:var(--font-mono), monospace;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--color-mut);font-size:.68rem}.sk-fd,.sk-cd{border:1.2px solid var(--color-node);background:var(--color-node);border-radius:50%;flex:none;width:.6rem;height:.6rem;display:inline-block}.sk-fd[data-tier=worked-with],.sk-cd[data-tier=worked-with]{background:0 0}.sk-cd{vertical-align:-.08em;margin-right:.5em}.sk-live{font-family:var(--font-mono), monospace;font-size:var(--text-hud-sm);letter-spacing:.2em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--color-mut);margin:0}@media (max-width:639.98px){.sk-fs{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-canvas) 1.25rem, var(--color-canvas) calc(100% - 1.25rem), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-canvas) 1.25rem, var(--color-canvas) calc(100% - 1.25rem), transparent);mask-image:linear-gradient(90deg, transparent, var(--color-canvas) 1.25rem, var(--color-canvas) calc(100% - 1.25rem), transparent);flex-wrap:nowrap;margin:0 -1.5rem;padding:0 1.5rem;scroll-padding-inline:1.5rem;overflow-x:auto}.sk-fs::-webkit-scrollbar{display:none}.sk-fs .sk-fb{white-space:nowrap;flex:none}}@media (min-width:1024px){html.js .sk-fs{gap:.15rem;display:grid}html.js .sk-fs .sk-fb,html.js .sk-fs .sk-fb:focus-visible{border-radius:8px}html.js .sk-fs .sk-fb{border-color:#0000;justify-content:space-between;padding:.3rem .8rem}html.js .sk-fs .sk-fb:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-accent) 70%, transparent)}html.js .sk-fs .sk-fb[aria-pressed=true]{border-color:color-mix(in oklab, var(--color-node) 30%, transparent)}html.js .sk-side[data-panel=open] .sk-fs,html.js .sk-side[data-panel=open] .sk-ft{display:none}html.js .sk-side[data-panel=closed] .sk-fs,html.js .sk-side[data-panel=closed] .sk-ft,html.js .sk-side[data-panel=closed] .sk-live{animation:sk-back var(--dur-3) var(--ease-arrive) backwards}html.js .sk-side[data-panel=open] .sk-live{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.sk-empty{color:var(--color-mid);margin:0 0 2.5rem;font-size:1.05rem;line-height:1.6}.sk-sec:not([hidden])~.sk-sec:not([hidden]){margin-top:4.5rem;padding-top:3.5rem;position:relative}.sk-sec:not([hidden])~.sk-sec:not([hidden]):before{content:"";background:linear-gradient(90deg, var(--color-line-strong), transparent 85%);height:1px;position:absolute;top:0;left:0;right:0}.sk-sh{max-width:42rem;margin-bottom:2.25rem}.sk-sn{font-family:var(--font-body), system-ui, sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--color-hi);flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:0;font-size:.9rem;font-weight:500;line-height:1.4;display:flex}@media (min-width:640px){.sk-sn{font-size:1rem}}.sk-n{font-family:var(--font-mono), monospace;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--color-mut);font-size:.7rem;font-weight:400}.sk-sp{text-wrap:pretty;color:var(--color-mid);margin:.9rem 0 0;font-size:.95rem;line-height:1.7}.sk-cl:not([hidden])~.sk-cl:not([hidden]){margin-top:2.75rem}html.js .sk-cl{--cols:3;--pitch:7rem;content-visibility:auto;contain-intrinsic-block-size:auto 36rem;margin-inline:-.5rem;margin-bottom:-.5rem;padding:0 .5rem .5rem}html.js .sk-cl:has(>.sk-gi){--cols:2;--pitch:4.6rem}@media (min-width:640px){html.js .sk-cl{--cols:6;--pitch:7.85rem}html.js .sk-cl:has(>.sk-gi){--cols:3}}@supports (height:round(up, 1px, 1px)){html.js .sk-cl{contain-intrinsic-block-size:auto calc(1.4rem + round(up, var(--n,12) / var(--cols), 1) * var(--pitch))}}.sk-ch{font-family:var(--font-mono), monospace;font-size:var(--text-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--color-hi);align-items:baseline;gap:.75rem;margin:0 0 1.1rem;font-weight:400;line-height:1.1;display:flex}.sk-ch:after{content:"";background:color-mix(in oklab, var(--color-line) 80%, transparent);flex:1;align-self:center;height:1px}.sk-g{grid-template-columns:repeat(auto-fill,minmax(5.75rem,1fr));gap:1rem .5rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.sk-g{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:1.35rem .5rem}}.sk-b{width:100%;min-width:44px;min-height:44px;color:inherit;font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;margin:0;padding:.45rem .25rem .4rem;display:flex;position:relative}.sk-b:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:12px}.sk-d{width:var(--disc);height:var(--disc);border:1.6px solid var(--color-node);background:var(--color-node);color:var(--color-ink);font-family:var(--font-body), system-ui, sans-serif;font-size:calc(var(--disc) * .525);letter-spacing:.02em;transition:transform var(--dur-2) var(--ease-arrive), border-color var(--dur-2) var(--ease-arrive), box-shadow var(--dur-2) var(--ease-arrive);border-radius:50%;flex:none;place-items:center;padding-top:.08em;font-weight:600;line-height:1;display:grid;position:relative}.sk-t[data-tier=worked-with] .sk-d,.sk-d[data-tier=worked-with]{background:var(--color-canvas);color:var(--color-node)}.sk-mk,.sk-lu{width:calc(var(--disc) * .525);height:calc(var(--disc) * .525);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sk-mk{fill:currentColor;overflow:visible}.sk-d:has(>.sk-mk){font-size:0}.sk-tw{font-family:var(--font-mono), monospace;font-size:var(--text-hud-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);line-height:1.4}html.js .sk-tw{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sk-nm{text-wrap:balance;overflow-wrap:anywhere;color:var(--color-mid);transition:color var(--dur-2) var(--ease-arrive);font-size:.8rem;line-height:1.3}@media (hover:hover){.sk-b:hover .sk-d{border-color:var(--color-accent);transform:scale(1.14)}.sk-b:hover .sk-nm{color:var(--color-hi)}}.sk-b:focus-visible .sk-d{border-color:var(--color-accent);transform:scale(1.14)}.sk-b:focus-visible .sk-nm,.sk-b[aria-expanded=true] .sk-nm{color:var(--color-hi)}.sk-b[aria-expanded=true] .sk-d{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--color-accent) 24%, transparent)}.sk-gi{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem}@media (min-width:640px){.sk-gi{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.55rem}}.sk-c{border:1px solid color-mix(in oklab, var(--color-node) 15%, transparent);background:color-mix(in oklab, var(--color-surface) 40%, transparent);text-align:left;height:100%;transition:border-color var(--dur-2) var(--ease-arrive), background-color var(--dur-2) var(--ease-arrive);border-radius:10px;justify-content:center;align-items:flex-start;gap:.3rem;padding:.7rem .9rem}.sk-c:focus-visible{border-radius:10px}.sk-c .sk-nm{text-wrap:pretty;color:var(--color-hi);font-size:.88rem}.sk-r{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--color-mut);font-size:.62rem;line-height:1.4}@media (hover:hover){.sk-c:hover{border-color:var(--color-accent)}}.sk-c[aria-expanded=true]{border-color:var(--color-accent);background:color-mix(in oklab, var(--color-surface) 75%, transparent)}html.js .sk-t>.sk-l,html.js .sk-t>.sk-w,html.js .sk-t>.sk-o{display:none}.sk-l{color:var(--color-mid);margin:.35rem 0 0;font-size:.9rem;line-height:1.6}.sk-w{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.6rem 0 0;display:flex}.sk-w>span{font-family:var(--font-mono), monospace;font-size:var(--text-hud-sm);letter-spacing:.2em;text-transform:uppercase;color:var(--color-mut);flex-basis:100%}.sk-pw ul{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.sk-w a,.sk-chip{border:1px solid color-mix(in oklab, var(--color-node) 28%, transparent);min-width:44px;min-height:44px;color:var(--color-hi);transition:border-color var(--dur-2) var(--ease-arrive), color var(--dur-2) var(--ease-arrive);border-radius:6px;justify-content:center;align-items:center;padding:.28rem .75rem;font-size:.8rem;line-height:1.3;text-decoration:none;display:inline-flex}.sk-w a:focus-visible,.sk-chip:focus-visible{border-radius:6px}.sk-w a:hover,.sk-w a:focus-visible,.sk-chip:hover,.sk-chip:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}.sk-o,.sk-po{min-height:44px;font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);text-underline-offset:4px;transition:text-shadow var(--dur-2) var(--ease-arrive);align-items:center;font-size:.66rem;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.sk-o:hover,.sk-o:focus-visible,.sk-po:hover,.sk-po:focus-visible{text-shadow:0 0 18px color-mix(in oklab, var(--color-accent) 45%, transparent)}html:not(.js) .sk-g{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:2rem 2.5rem}html:not(.js) .sk-b:not(.sk-c){grid-template-columns:var(--disc) 1fr;text-align:left;cursor:default;grid-template-rows:auto auto;place-items:center start;gap:.15rem .9rem;padding:0;display:grid}html:not(.js) .sk-b:not(.sk-c) .sk-d{grid-row:1/span 2}html:not(.js) .sk-b:not(.sk-c) .sk-nm{color:var(--color-hi);align-self:end;font-size:1rem}html:not(.js) .sk-b:not(.sk-c) .sk-tw{align-self:start}html:not(.js) .sk-t:not(.sk-ti)>:not(.sk-b){margin-left:calc(var(--disc) + .9rem)}html:not(.js) .sk-t>.sk-l{margin-top:.55rem}.sk-p{right:0;bottom:var(--hud-bottom-h,32px);z-index:61;border-top:1px solid color-mix(in oklab, var(--color-node) 22%, transparent);background:color-mix(in oklab, var(--color-base) 92%, transparent);-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);max-height:min(68dvh,34rem);box-shadow:var(--shadow-panel-lg);visibility:hidden;transition:transform var(--dur-2) var(--ease-exit), visibility 0s linear var(--dur-2);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;left:0;transform:translateY(110%)}.sk-p:focus{outline:none}.sk-ps{overscroll-behavior:contain;min-height:0;transition:opacity var(--dur-2) var(--ease-arrive);padding:1.35rem 1.25rem 1.5rem;overflow-y:auto}.sk-ps[data-swap]{opacity:0;transition:opacity var(--dur-1) var(--ease-exit)}.sk-p[data-open=true]{visibility:visible;transition:transform var(--dur-3) var(--ease-arrive), visibility 0s;transform:translate(0,0)}.sk-p:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--color-accent) 70%, transparent), transparent);pointer-events:none;height:1px;position:absolute;top:0;left:10%;right:10%}.sk-scrim{z-index:61;background:color-mix(in oklab, var(--color-canvas) 60%, transparent);animation:sk-scrim-in var(--dur-3) var(--ease-arrive);position:fixed;inset:0}.sk-scrim[data-leaving]{pointer-events:none;opacity:0;transition:opacity var(--dur-2) var(--ease-exit);animation:none}@keyframes sk-scrim-in{0%{opacity:0}}@media (max-width:1023.98px){html:has(.sk-p[data-open=true]) [data-os-fab]{opacity:0;pointer-events:none}}@media (min-width:1024px){html.js .sk-p{z-index:auto;border:1px solid color-mix(in oklab, var(--color-node) 16%, transparent);border-radius:var(--radius-panel);background:color-mix(in oklab, var(--color-base) 82%, transparent);max-height:none;box-shadow:var(--shadow-panel);visibility:visible;margin-top:1rem;transition:none;display:none;position:relative;bottom:auto;left:auto;right:auto;transform:none}html.js .sk-p[data-open=true]{animation:sk-panel-in var(--dur-3) var(--ease-arrive);display:block}html.js .sk-p[data-leaving]{opacity:0;transition:opacity var(--dur-2) var(--ease-exit), transform var(--dur-2) var(--ease-exit);display:block;transform:translateY(6px)}html.js .sk-ps{padding:1.25rem 1.2rem 1.3rem;overflow:visible}}@keyframes sk-panel-in{0%{opacity:0;transform:translateY(6px)}}.sk-px{z-index:1;width:44px;height:44px;font-family:var(--font-mono), monospace;color:var(--color-mut);cursor:pointer;transition:color var(--dur-2) var(--ease-arrive);background:0 0;border:0;place-items:center;padding:0;font-size:.8rem;line-height:1;display:grid;position:absolute;top:.35rem;right:.35rem}.sk-px span{border:1px solid color-mix(in oklab, var(--color-node) 28%, transparent);width:1.6rem;height:1.6rem;transition:border-color var(--dur-2) var(--ease-arrive), background-color var(--dur-2) var(--ease-arrive);border-radius:999px;place-items:center;display:grid}.sk-px:hover,.sk-px:focus-visible{color:var(--color-accent)}.sk-px:hover span,.sk-px:focus-visible span{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent);background:color-mix(in oklab, var(--color-accent) 12%, transparent)}.sk-pd{--disc:64px;margin-bottom:1.1rem}.sk-pe{margin:0 0 .5rem;padding-right:2.75rem}.sk-p[data-kind=tool] .sk-pe{color:var(--color-accent);letter-spacing:.18em}.sk-pn{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.01em;color:var(--color-hi);margin:0;padding-right:2.75rem;font-size:1.625rem;font-weight:500;line-height:1.15}.sk-pn:focus{outline:none}.sk-p[data-via=key] .sk-pn:focus{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:6px;text-decoration-thickness:2px}.sk-pm{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--color-mut);margin:.55rem 0 0;font-size:.66rem;line-height:1.5}.sk-pl{color:var(--color-mid);margin:1rem 0 0;font-size:.95rem;line-height:1.6}.sk-pw{margin-top:1.35rem}.sk-pw .hud-label{margin:0}.sk-po{margin-top:1.1rem}html.js .sk-cl[data-reveal]{opacity:1;transition:none;animation:none;transform:none}html.js .sk-cl[data-reveal]:not(.is-in) .sk-t:not(.sk-ti) .sk-d,html.js .sk-cl[data-reveal]:not(.is-in) .sk-t:not(.sk-ti) .sk-nm,html.js .sk-cl[data-reveal]:not(.is-in) .sk-c{opacity:0;animation:sk-safety .28s var(--ease-out-quart) 4s forwards}html.js .sk[data-live] .sk-cl[data-reveal]:not(.is-in) .sk-t:not(.sk-ti) .sk-d,html.js .sk[data-live] .sk-cl[data-reveal]:not(.is-in) .sk-t:not(.sk-ti) .sk-nm,html.js .sk[data-live] .sk-cl[data-reveal]:not(.is-in) .sk-c{animation:none}.sk-g>li{--i:0}.sk-g>li:nth-child(2){--i:1}.sk-g>li:nth-child(3){--i:2}.sk-g>li:nth-child(4){--i:3}.sk-g>li:nth-child(5){--i:4}.sk-g>li:nth-child(6){--i:5}.sk-g>li:nth-child(7){--i:6}.sk-g>li:nth-child(8){--i:7}.sk-g>li:nth-child(9){--i:8}.sk-g>li:nth-child(10){--i:9}.sk-g>li:nth-child(11){--i:10}.sk-g>li:nth-child(12){--i:11}.sk-g>li:nth-child(13){--i:12}.sk-g>li:nth-child(14){--i:13}.sk-g>li:nth-child(15){--i:14}.sk-g>li:nth-child(16){--i:15}.sk-g>li:nth-child(17){--i:16}.sk-g>li:nth-child(18){--i:17}.sk-g>li:nth-child(19){--i:18}.sk-g>li:nth-child(20){--i:19}.sk-g>li:nth-child(21){--i:20}.sk-g>li:nth-child(22){--i:21}.sk-g>li:nth-child(23){--i:22}.sk-g>li:nth-child(24){--i:23}.sk-g>li:nth-child(25){--i:24}.sk-g>li:nth-child(26){--i:25}.sk-g>li:nth-child(27){--i:26}.sk-g>li:nth-child(28){--i:27}.sk-g>li:nth-child(29){--i:28}.sk-g>li:nth-child(30){--i:29}.sk-g>li:nth-child(31){--i:30}.sk-g>li:nth-child(32){--i:31}.sk-g>li:nth-child(33){--i:32}.sk-g>li:nth-child(34){--i:33}.sk-g>li:nth-child(35){--i:34}.sk-g>li:nth-child(36){--i:35}.sk-g>li:nth-child(37){--i:36}.sk-g>li:nth-child(38){--i:37}.sk-g>li:nth-child(39){--i:38}.sk-g>li:nth-child(40){--i:39}.sk-g>li:nth-child(41){--i:40}.sk-g>li:nth-child(42){--i:41}.sk-g>li:nth-child(43){--i:42}.sk-g>li:nth-child(44){--i:43}.sk-g>li:nth-child(45){--i:44}.sk-g>li:nth-child(n+46){--i:45}html.js .sk-cl.is-in .sk-t:not(.sk-ti) .sk-d{animation:sk-develop .28s var(--ease-out-quart) backwards;animation-delay:min(calc(var(--i,0) * 20ms), .9s)}html.js .sk-cl.is-in .sk-t:not(.sk-ti) .sk-nm,html.js .sk-cl.is-in .sk-c{animation:sk-fade .28s var(--ease-out-quart) backwards;animation-delay:min(calc(var(--i,0) * 20ms), .9s)}@keyframes sk-develop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes sk-fade{0%{opacity:0}to{opacity:1}}@keyframes sk-safety{to{opacity:1}}@keyframes sk-back{0%{opacity:0}}.sk-dn{animation:none!important}@media (prefers-reduced-motion:reduce){html.js .sk-cl[data-reveal] .sk-t .sk-d,html.js .sk-cl[data-reveal] .sk-t .sk-nm,html.js .sk-cl[data-reveal] .sk-c{opacity:1!important;animation:none!important}.sk-d{transition:border-color var(--dur-2) var(--ease-arrive), box-shadow var(--dur-2) var(--ease-arrive)}.sk-b:hover .sk-d,.sk-b:focus-visible .sk-d{transform:none}.sk-p,.sk-p[data-open=true],html.js .sk-p[data-leaving],.sk-ps,.sk-ps[data-swap],.sk-scrim[data-leaving]{transition:none}html.js .sk-p[data-open=true],.sk-scrim,html.js .sk-side[data-panel] .sk-fs,html.js .sk-side[data-panel] .sk-ft,html.js .sk-side[data-panel] .sk-live{animation:none}}
