:root{color-scheme:dark;--bg:#09090a;--card:#121214;--card-2:#17171a;--line:#ffffff12;--line-2:#ffffff1f;--ink:#ececee;--ink-2:#a2a2a8;--ink-3:#6d6d73;--ink-4:#45454a;--silver-hi:#f5f6f8;--silver:#c5c8cd;--silver-lo:#7c7f86;--silver-grad:linear-gradient(180deg, #f3f4f6 0%, #c9ccd1 38%, #8f9298 52%, #d6d8dc 100%);--col:460px;--radius:28px;--font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-hand:"Caveat", "Bradley Hand", cursive;--ease:cubic-bezier(.22, 1, .36, 1);--accent:var(--silver);--accent-grad:var(--silver-grad);--accent-ink:#141417;--dash:#2a2b2f;--stamp:#b9bcc2;--stage-bg:radial-gradient(120% 75% at 50% 0%, #1c1c20 0%, #121214 62%);--hero-bg:radial-gradient(60% 60% at 50% 45%, #15161a, #0b0b0d);--hover-wash:#ffffff09;--glow:#c8cdd712;--inset-hi:inset 0 1px 0 #ffffff0b;--shadow-card:inset 0 1px 0 #ffffff0b, 0 1px 2px #00000073, 0 12px 28px -12px #000c;--shadow-card-hover:inset 0 1px 0 #ffffff0f, 0 1px 2px #00000080, 0 20px 40px -14px #000000e6;--shadow-control:inset 0 1px 0 #ffffff0d, 0 1px 2px #00000080, 0 2px 4px -2px #0006;--shadow-object:drop-shadow(0 5px 6px #00000073) drop-shadow(0 14px 18px #00000059);--shadow-object-lift:drop-shadow(0 8px 8px #0006) drop-shadow(0 24px 26px #00000059);--kit-item-shadow:drop-shadow(0 4px 5px #00000073) drop-shadow(0 18px 22px #0009)}:root[data-theme=light]{color-scheme:light;--bg:#fff;--card:#f7f7f8;--card-2:#fff;--line:#0000000f;--line-2:#0000001c;--ink:#292929;--ink-2:#5d5d5d;--ink-3:#9e9e9e;--ink-4:#c4c4c6;--accent:#292929;--accent-grad:linear-gradient(180deg, #ff7a5c 0%, #f0533a 100%);--accent-ink:#fff;--dash:#d6d6d9;--stamp:#3f7c6e;--stage-bg:radial-gradient(120% 80% at 50% 0%, #fff 0%, #f6f6f7 70%);--hero-bg:radial-gradient(60% 60% at 50% 45%, #fafafa, #f0f0f1);--hover-wash:#00000008;--glow:#ffffffb3;--inset-hi:inset 0 1px 0 #fff;--case-shadow:#00000047;--kit-item-shadow:drop-shadow(0 5px 6px #0000002e) drop-shadow(0 16px 18px #00000029);--shadow-card:0 0 0 .5px #0000000d, inset 0 1px 1px 0 #fff, inset 0 -1px 2px 0 #e0e0e0, 0 -.5px 2px 0 #0000001a, 0 1px 2px 0 #0000001a, 0 2px 4px -2px #0000000d, 0 8px 24px #00000014;--shadow-card-hover:0 0 0 .5px #00000012, inset 0 1px 1px 0 #fff, inset 0 -1px 2px 0 #e0e0e0, 0 -.5px 2px 0 #0000001a, 0 1px 2px 0 #0000001f, 0 4px 8px -2px #00000012, 0 16px 36px #0000001c;--shadow-control:0 0 0 .5px #0000000d, inset 0 1px 1px 0 #fff, inset 0 -1.5px 1px 0 #e0e0e0, 0 -.5px 2px 0 #0000001a, 0 1px 2px 0 #0000001a, 0 2px 4px -2px #0000000d;--shadow-object:drop-shadow(0 5px 6px #0000002e) drop-shadow(0 7px 9px #0000002b);--shadow-object-lift:drop-shadow(0 8px 8px #00000026) drop-shadow(0 20px 22px #00000029)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);background-image:radial-gradient(90% 50% at 50% -10%, var(--glow), transparent 70%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");min-height:100vh;color:var(--ink-2);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.65;overflow-x:hidden}a{color:inherit}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--ink)}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:8px}.col{width:min(var(--col), calc(100% - 32px));margin-inline:auto}.wide{width:min(1000px,100% - 32px);margin-inline:auto}strong,.ink{color:var(--ink);font-weight:500}.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.hand{font-family:var(--font-hand)}p{margin:0 0 1.1em}main{padding-top:96px}.page-head{margin-bottom:40px;padding-top:28px}.page-head h1{letter-spacing:-.02em;color:var(--ink);margin:10px 0 14px;font-size:30px;font-weight:500;line-height:1.15}.page-head{position:relative}.head-obj{width:104px;height:auto;filter:var(--shadow-object);pointer-events:none;position:absolute;top:4px;right:-8px;rotate:8deg}@media (width<=520px){.head-obj{width:76px;top:0;right:0}}.page-head .disclosure{color:var(--ink-3);font-size:12.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.only-light,:root[data-theme=light] .only-dark{display:none!important}:root[data-theme=light] .only-light{display:revert!important}:root{--nav-clear:92px;--foot-clear:52px}html:has(.screen){scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:none}main:has(>.screen){padding-top:0}.screen{height:100svh;padding:var(--nav-clear) 16px var(--foot-clear);scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;display:flex;position:relative}body:has(.screen) .foot{z-index:15;pointer-events:none;padding:0 0 16px;position:fixed;bottom:0;left:50%;translate:-50%}@media (prefers-reduced-motion:reduce){html:has(.screen){scroll-behavior:auto}}@media (height<=480px){:root{--foot-clear:14px}body:has(.screen) .foot{display:none}}.hang{transform-origin:50% 0;pointer-events:none;filter:drop-shadow(0 6px 10px #0000008c);flex-direction:column;align-items:center;display:flex;position:absolute;translate:-50%}.hang:before{content:"";background:var(--silver-lo);border-radius:50%;width:5px;height:5px;margin-bottom:-2px;box-shadow:0 1px 2px #0009}.hang .string{width:1px;height:var(--string,14px);background:linear-gradient(var(--silver-lo), #b9bcc2)}.hang .tag{background:var(--silver-grad);color:#141416;font-family:var(--font-sans);white-space:nowrap;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%,0 7px);pointer-events:auto;border-radius:0 0 4px 4px;margin-top:-3px;padding:10px 11px 4px;font-size:11.5px;font-weight:500;line-height:1.35;position:relative}.hang .tag:before{content:"";background:var(--bg);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;top:3px;left:50%;box-shadow:0 0 0 1px #00000040,inset 0 1px 1px #000000b3}.hang .tag.hand{font-family:var(--font-hand);padding-top:11px;font-size:16px;font-weight:500;line-height:1.1}:root[data-theme=light] .hang{filter:drop-shadow(0 2px 2px #00000024)drop-shadow(0 7px 9px #00000026)}:root[data-theme=light] .hang:before{background:#8d8d91;box-shadow:0 1px 1px #00000040}:root[data-theme=light] .hang .string{background:linear-gradient(#bdbdc1,#f4f4f6)}:root[data-theme=light] .hang .tag{color:#fff;background:linear-gradient(#ff7a5c 0%,#ee5a3f 100%);box-shadow:inset 0 1px #ffffff59}:root[data-theme=light] .hang .tag:before{box-shadow:0 0 0 1px #0000001f,inset 0 1px 1px #00000040}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.sp-shwn-nav,.sp-shwn-nav *,.sp-shwn-nav :before,.sp-shwn-nav :after{box-sizing:border-box;margin:0;padding:0}.sp-shwn-nav{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;top:var(--sp-shwn-nav-top,32px);z-index:50;animation:.8s cubic-bezier(.22,1,.36,1) both sp-shwn-nav-enter;position:fixed;left:50%;translate:-50%}@keyframes sp-shwn-nav-enter{0%{opacity:0;filter:blur(20px);scale:1.1}to{opacity:1;filter:blur();scale:1}}.sp-shwn-nav-defs{width:0;height:0;position:absolute}.sp-shwn-nav-box{width:100.8px;height:56px;transition-property:opacity,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);position:relative}.sp-shwn-nav-goo{position:absolute;inset:0}.sp-shwn-nav-blob{background:var(--sp-shwn-nav-blob,#f2f2f2);border-radius:9999px;width:56px;height:56px;position:absolute;top:0;left:0}.sp-shwn-nav-white{position:absolute;inset:0;overflow:visible}.sp-shwn-nav-list{list-style:none;position:absolute;inset:0}.sp-shwn-nav-slot{will-change:transform, width, height;position:absolute;top:0;left:0}.sp-shwn-nav-link{width:100%;height:100%;color:inherit;border-radius:9999px;outline-style:none;place-items:center;text-decoration:none;display:grid;position:relative}.sp-shwn-nav-link:before{content:"";position:absolute;inset:-4px}.sp-shwn-nav-link:focus-visible{box-shadow:0 0 0 2px var(--sp-shwn-nav-ring,#3080ff66)}.sp-shwn-nav-icon{width:15px;height:15px;color:var(--sp-shwn-nav-ink-idle,#a9a9a9);transition-property:color,fill;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1);display:block}.sp-shwn-nav-slot[data-on] .sp-shwn-nav-icon{color:var(--sp-shwn-nav-ink-on,#000)}.sp-shwn-nav-box{transition-duration:.2s}html:has([data-write-up-open]) .sp-shwn-nav{pointer-events:none}html:has([data-write-up-open]) .sp-shwn-nav-box{visibility:hidden;opacity:0;transition-duration:.3s}@media (prefers-reduced-motion:reduce){.sp-shwn-nav{animation:.3s ease-out both sp-shwn-nav-enter-calm}}@keyframes sp-shwn-nav-enter-calm{0%{opacity:0;scale:1.1}to{opacity:1;scale:1}}.sp-shwn-nav{--sp-shwn-nav-top:28px;--sp-shwn-nav-blob:#1d1d20;--sp-shwn-nav-ink-on:#111113;--sp-shwn-nav-ink-idle:#75757b;--sp-shwn-nav-ring:#d2d6de8c}:root[data-theme=light] .sp-shwn-nav{--sp-shwn-nav-top:32px;--sp-shwn-nav-blob:#f2f2f2;--sp-shwn-nav-ink-on:#000;--sp-shwn-nav-ink-idle:#a9a9a9;--sp-shwn-nav-ring:#3080ff66}:root[data-theme=light] .sp-shwn-nav .nav-flood{flood-color:#f2f2f2}:root[data-theme=light] .sp-shwn-nav stop{stop-color:#fff}.theme-toggle[data-astro-cid-wpvy4v7s]{z-index:51;background:var(--card);width:36px;height:36px;color:var(--ink-2);box-shadow:var(--shadow-control);cursor:pointer;transition:color .15s var(--ease), scale .15s var(--ease);border:0;border-radius:9999px;place-items:center;padding:0;display:grid;position:fixed;top:38px;right:max(16px,50% - 250px)}.theme-toggle[data-astro-cid-wpvy4v7s]:hover{color:var(--ink)}.theme-toggle[data-astro-cid-wpvy4v7s]:active{scale:.94}.theme-toggle[data-astro-cid-wpvy4v7s] svg[data-astro-cid-wpvy4v7s]{width:14px;height:14px}.i-moon[data-astro-cid-wpvy4v7s],:root[data-theme=light] .i-sun[data-astro-cid-wpvy4v7s]{display:none}:root[data-theme=light] .i-moon[data-astro-cid-wpvy4v7s]{display:block}@media (width<=440px){.theme-toggle[data-astro-cid-wpvy4v7s]{top:auto;bottom:16px;right:16px}}.foot[data-astro-cid-jo6i4kqk]{color:var(--ink-3);justify-content:space-between;align-items:baseline;padding:96px 0 56px;font-size:13px;display:flex}.clock[data-astro-cid-jo6i4kqk]{font-variant-numeric:tabular-nums;gap:10px;font-size:11.5px;display:inline-flex}.clock[data-astro-cid-jo6i4kqk] .where[data-astro-cid-jo6i4kqk]{color:var(--ink-3)}.clock[data-astro-cid-jo6i4kqk] .t[data-astro-cid-jo6i4kqk]{color:var(--ink-2)}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
