.float-head[data-astro-cid-nen7h5rs]{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:clamp(14px,2.4vw,28px) clamp(16px,3vw,36px);display:flex;position:relative}.float-head[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{pointer-events:auto}.float-id[data-astro-cid-nen7h5rs]{border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper);box-shadow:var(--shadow-sticker);color:var(--color-ink);font:600 .74rem / 1 var(--font-mono);letter-spacing:.06em;transition:transform var(--dur-pop) var(--ease-squish);align-items:center;gap:10px;padding:5px 14px 5px 6px;text-decoration:none;display:inline-flex}.float-id[data-astro-cid-nen7h5rs]:hover{transform:translateY(-2px)rotate(-1deg)}.float-id[data-astro-cid-nen7h5rs]:focus-visible{box-shadow:0 0 0 6px var(--color-ink)}.float-id[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{image-rendering:pixelated;display:block}ul[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0;padding:0;list-style:none;display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:var(--font-martian-mono);--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-martian-mono);--color-bubblegum:#fc64c8;--color-crown:#fcc830;--color-gem:#4090c4;--color-mint:#84d8b4;--color-ground:#ffe6f7;--color-grain:#ffd3ef;--color-paper:#fff7fd;--color-raised:#fff;--color-sunk:#ffddf3;--color-ink:#230a20;--color-ink-2:#6b3462;--color-ink-3:#8a5a82;--color-rule:#efc4e6;--color-accent:#fc64c8;--color-accent-ink:#b0127c;--color-accent-soft:#ffc9ec;--color-crown-ink:#7a5200;--color-crown-soft:#fff1bf;--color-gem-ink:#1f5e8c;--color-gem-soft:#d8edfa;--color-mint-ink:#1d6b4b;--color-mint-soft:#d8f6e8;--color-danger:#fc3000;--color-danger-ink:#b32300;--color-danger-soft:#ffdccf;--color-mark:#ffe36e;--color-code:#1e0a1c;--color-code-ink:#ffe6f9;--color-glass:#fff7fddb;--radius-sticker:14px;--radius-card:22px;--radius-pill:999px;--shadow-sticker:3px 3px 0 var(--color-ink);--shadow-card:4px 4px 0 var(--color-ink);--ease-squish:cubic-bezier(.34, 1.56, .64, 1);--ease-settle:cubic-bezier(.2, .7, .2, 1);--font-display:var(--font-fraunces);--font-body:var(--font-literata)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light only;--fs-display:clamp(3.5rem, 11vw, 8.5rem);--fs-h1:clamp(2.5rem, 5.2vw, 4rem);--fs-h2:clamp(1.8rem, 3.2vw, 2.45rem);--fs-h3:clamp(1.4rem, 2.2vw, 1.65rem);--fs-h4:1.28rem;--fs-h5:.92rem;--fs-h6:.8rem;--fs-lead:clamp(1.15rem, 1.6vw, 1.32rem);--fs-body:1.125rem;--fs-small:.95rem;--fs-label:.7rem;--fs-code:.84rem;--lh-body:1.7;--fw-h1:800;--fw-h2:760;--fw-h3:700;--fw-h4:650;--dur-tap:.11s;--dur-pop:.18s;--dur-swap:.7s}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-ground);min-height:100svh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background:var(--color-grain);position:fixed;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v1H0zM4 4h1v1H4zM4 0h1v1H4zM0 4h1v1H0zM2 2h1v1H2zM6 6h1v1H6zM6 2h1v1H6zM2 6h1v1H2z'/%3E%3C/svg%3E") 0 0/16px 16px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v1H0zM4 4h1v1H4zM4 0h1v1H4zM0 4h1v1H0zM2 2h1v1H2zM6 6h1v1H6zM6 2h1v1H6zM2 6h1v1H2z'/%3E%3C/svg%3E") 0 0/16px 16px}::selection{background:var(--color-accent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-paper);outline-offset:2px;box-shadow:0 0 0 6px var(--color-ink)}}@layer components{.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}.eyebrow{font:600 var(--fs-label) / 1.2 var(--font-mono);font-variation-settings:"wdth" 87.5;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-ink);margin:0}.lead{max-width:60ch;font-size:var(--fs-lead);color:var(--color-ink-2);text-wrap:pretty;margin:0;line-height:1.5}.d1,.d2,.d3,.d4{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;text-wrap:balance;margin:0}.d1{font-size:var(--fs-h1);line-height:1.02;font-weight:var(--fw-h1);letter-spacing:-.012em}.d2{font-size:var(--fs-h2);line-height:1.08;font-weight:var(--fw-h2);letter-spacing:-.008em}.d3{font-size:var(--fs-h3);line-height:1.15;font-weight:var(--fw-h3)}.d4{font-size:var(--fs-h4);line-height:1.25;font-weight:var(--fw-h4)}.cel{background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-card)}.paper{border:2px solid var(--color-ink);background:var(--color-paper);box-shadow:6px 6px 0 var(--color-ink);border-radius:28px;padding:clamp(22px,5vw,64px)}.stk{background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sticker);box-shadow:var(--shadow-sticker)}.btn{border:2px solid var(--color-ink);border-radius:var(--radius-sticker);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-sticker);font:700 .98rem / 1 var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 0;white-space:nowrap;cursor:pointer;transition:transform var(--dur-tap) var(--ease-squish), box-shadow var(--dur-tap) var(--ease-squish), background-color .15s;justify-content:center;align-items:center;gap:.5em;padding:.8em 1.15em;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:4px 5px 0 var(--color-ink);transform:translate(-1px,-2px)}.btn:active{box-shadow:0 0 0 var(--color-ink);transition-duration:40ms;transform:translate(3px,3px)}.btn-primary,.btn[aria-current]{background:var(--color-accent);color:var(--color-ink)}.btn[aria-current]{box-shadow:1px 1px 0 var(--color-ink);transform:translate(2px,2px)}.btn-crown{background:var(--color-crown)}.btn-sm{border-radius:12px;padding:.62em .9em;font-size:.86rem}.btn-icon{aspect-ratio:1;border-radius:50%;padding:.62em}.btn-icon svg{width:1.05em;height:1.05em;display:block}.btn:focus-visible,.stk:focus-visible{box-shadow:0 0 0 6px var(--color-ink)}.tag{border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-ink);font:600 .72rem / 1 var(--font-mono);font-variation-settings:"wdth" 87.5;letter-spacing:.03em;align-items:center;padding:.5em .8em .5em .7em;text-decoration:none;display:inline-flex}.tag:before{content:"#";color:var(--color-accent-ink);margin-right:.15em}.badge{border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-raised);color:var(--color-ink);font:700 .62rem / 1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.4em;padding:.45em .7em;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:.6em;height:.6em}.badge-live{background:var(--color-mint-soft);color:var(--color-mint-ink)}.badge-wip{background:var(--color-crown-soft);color:var(--color-crown-ink)}.badge-idea{background:var(--color-gem-soft);color:var(--color-gem-ink)}.px-frame{--s:5px;--s2:calc(var(--s) * 2);--poly:polygon(0 var(--s2), var(--s) var(--s2), var(--s) var(--s), var(--s2) var(--s), var(--s2) 0, calc(100% - var(--s2)) 0, calc(100% - var(--s2)) var(--s), calc(100% - var(--s)) var(--s), calc(100% - var(--s)) var(--s2), 100% var(--s2), 100% calc(100% - var(--s2)), calc(100% - var(--s)) calc(100% - var(--s2)), calc(100% - var(--s)) calc(100% - var(--s)), calc(100% - var(--s2)) calc(100% - var(--s)), calc(100% - var(--s2)) 100%, var(--s2) 100%, var(--s2) calc(100% - var(--s)), var(--s) calc(100% - var(--s)), var(--s) calc(100% - var(--s2)), 0 calc(100% - var(--s2)));isolation:isolate;position:relative}.px-frame:before{content:"";z-index:-1;background:var(--color-ink);clip-path:var(--poly);position:absolute;inset:0;transform:translate(5px,5px)}.px-frame>.px-in{background:var(--color-ink);height:100%;clip-path:var(--poly);padding:2px;position:relative}.px-frame .px-art{background:var(--color-ground);height:100%;clip-path:var(--poly);position:relative;overflow:hidden}[data-motif]>canvas,canvas[data-sprite]{image-rendering:pixelated}.callout{--c:var(--color-gem);--c-soft:var(--color-gem-soft);--c-ink:var(--color-gem-ink);border:2px solid var(--color-ink);background:var(--c-soft);border-radius:18px;grid-template-columns:auto minmax(0,1fr);gap:.85em;padding:1em 1.1em;font-size:1rem;line-height:1.55;display:grid}.callout-tip{--c:var(--color-mint);--c-soft:var(--color-mint-soft);--c-ink:var(--color-mint-ink)}.callout-warn{--c:var(--color-crown);--c-soft:var(--color-crown-soft);--c-ink:var(--color-crown-ink)}.callout-danger{--c:var(--color-danger);--c-soft:var(--color-danger-soft);--c-ink:var(--color-danger-ink)}.prose{max-width:68ch;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-ink);flex-direction:column;gap:1.05em;display:flex}.prose>*{margin:0}.prose :where(h1,h2,h3,h4){font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;text-wrap:balance;scroll-margin-top:24px}.prose h1{font-size:var(--fs-h1);line-height:1.02;font-weight:var(--fw-h1);letter-spacing:-.012em}.prose h2{font-size:var(--fs-h2);line-height:1.08;font-weight:var(--fw-h2);letter-spacing:-.008em;margin-top:.9em}.prose h3{font-size:var(--fs-h3);line-height:1.15;font-weight:var(--fw-h3);margin-top:.6em}.prose h4{font-size:var(--fs-h4);line-height:1.25;font-weight:var(--fw-h4);margin-top:.4em}.prose h5,.prose h6{font-family:var(--font-mono);font-variation-settings:"wdth" 87.5;text-transform:uppercase;margin-top:.4em;line-height:1.3}.prose h5{font-size:var(--fs-h5);letter-spacing:.08em;font-weight:700}.prose h6{font-size:var(--fs-h6);letter-spacing:.14em;color:var(--color-ink-2);font-weight:600}.prose .lede{font-size:var(--fs-lead);color:var(--color-ink-2);line-height:1.5}.prose a{color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.2em;border-radius:4px;text-decoration-thickness:.18em;transition:background-color .15s}.prose a:hover{background:var(--color-accent-soft);-webkit-text-decoration-color:var(--color-accent-ink);-webkit-text-decoration-color:var(--color-accent-ink);text-decoration-color:var(--color-accent-ink)}.prose strong{font-weight:750}.prose em{font-style:italic}.prose del{color:var(--color-ink-3);-webkit-text-decoration-color:var(--color-accent-ink);-webkit-text-decoration-color:var(--color-accent-ink);text-decoration-color:var(--color-accent-ink);text-decoration-thickness:2px}.prose :not(pre)>code{border:1.5px solid var(--color-rule);background:var(--color-sunk);color:var(--color-accent-ink);font-family:var(--font-mono);font-variation-settings:"wdth" 87.5;overflow-wrap:anywhere;border-radius:7px;padding:.14em .45em;font-size:.8em}.prose mark{background:var(--color-mark);color:var(--color-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 .22em}.prose kbd{border:2px solid var(--color-ink);background:var(--color-raised);font:700 .72em / 1 var(--font-mono);white-space:nowrap;border-bottom-width:4px;border-radius:8px;padding:.22em .5em .28em}.prose abbr[title]{-webkit-text-decoration:underline dotted var(--color-ink-3);-webkit-text-decoration:underline dotted var(--color-ink-3);text-decoration:underline dotted var(--color-ink-3);text-underline-offset:.2em;cursor:help}.prose :where(sup,sub){font-size:.7em;line-height:0}.prose sup a[data-footnote-ref]{border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-accent-soft);font:700 .95em / 1 var(--font-mono);margin-left:.1em;padding:.1em .45em;text-decoration:none}.prose blockquote{border-left:4px solid var(--color-accent);background:#fc64c80d;border-radius:0 10px 10px 0;padding:.75em 1.25em}.prose blockquote>*{margin:0}.prose blockquote>*+*{margin-top:.75em}.prose :where(ul,ol){gap:.4em;padding-left:2.1em;list-style:none;display:grid}.prose li>:where(ul,ol){margin-top:.4em}.prose li>p{margin:0}.prose ul>li{position:relative}.prose ul>li:before{content:"";border:2px solid var(--color-ink);background:var(--color-accent);border-radius:50%;width:.62em;height:.62em;position:absolute;top:.52em;left:-1.45em}.prose ul>li:nth-child(4n+2):before{background:var(--color-crown)}.prose ul>li:nth-child(4n+3):before{background:var(--color-gem)}.prose ul>li:nth-child(4n+4):before{background:var(--color-mint)}.prose ol{counter-reset:ol}.prose ol>li{counter-increment:ol;position:relative}.prose ol>li:before{content:counter(ol);border:2px solid var(--color-ink);background:var(--color-crown);width:1.6em;height:1.6em;color:var(--color-ink);font:700 .72rem / 1 var(--font-mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:.12em;left:-2.1em}.prose ul.contains-task-list{padding-left:.2em}.prose li.task-list-item:before{display:none}.prose li.task-list-item input{appearance:none;vertical-align:-.22em;border:2px solid var(--color-ink);background:var(--color-raised);border-radius:7px;place-items:center;width:1.2em;height:1.2em;margin:0 .6em 0 0;display:inline-grid}.prose li.task-list-item input:checked{background:var(--color-mint)}.prose li.task-list-item input:checked:after{content:"";border:solid var(--color-ink);border-width:0 3px 3px 0;width:.32em;height:.6em;transform:translateY(-.08em)rotate(45deg)}.prose img{border:2px solid var(--color-ink);height:auto;box-shadow:var(--shadow-card);border-radius:18px}.prose figure{gap:.65em;display:grid}.prose figcaption{font:500 .74rem / 1.5 var(--font-mono);font-variation-settings:"wdth" 87.5;color:var(--color-ink-3)}.prose hr{background:radial-gradient(circle, var(--color-accent) 3.2px, transparent 4px) 0 50% / 28px 14px repeat-x, radial-gradient(circle, var(--color-crown) 3.2px, transparent 4px) 7px 50% / 28px 14px repeat-x, radial-gradient(circle, var(--color-gem) 3.2px, transparent 4px) 14px 50% / 28px 14px repeat-x, radial-gradient(circle, var(--color-mint) 3.2px, transparent 4px) 21px 50% / 28px 14px repeat-x;border:0;height:14px;margin:.8em 0}.prose table{border:2px solid var(--color-ink);border-collapse:separate;border-spacing:0;background:var(--color-raised);font-variant-numeric:tabular-nums;border-radius:18px;width:max-content;max-width:100%;font-size:.95rem;line-height:1.4;display:block;overflow-x:auto}.prose th{background:var(--color-sunk);color:var(--color-ink-2);font:700 .66rem / 1.2 var(--font-mono);letter-spacing:.1em;text-align:left;text-transform:uppercase}.prose :where(th,td){border-bottom:1.5px solid var(--color-rule);vertical-align:top;padding:.72em .95em}.prose tbody tr:last-child td{border-bottom:0}.prose details{border:2px solid var(--color-ink);background:var(--color-raised);border-radius:18px;overflow:hidden}.prose summary{cursor:pointer;align-items:center;gap:.7em;padding:.8em 1em;font-weight:700;list-style:none;display:flex}.prose summary::-webkit-details-marker{display:none}.prose summary:before{content:"+";border:2px solid var(--color-ink);background:var(--color-accent);width:1.5em;height:1.5em;font:800 .9rem / 1 var(--font-mono);border-radius:50%;flex:0 0 1.5em;place-items:center;display:grid}.prose details[open] summary:before{content:"−"}.prose details>:not(summary){margin:0 1em 1em}.prose dl{grid-template-columns:max-content minmax(0,1fr);gap:.55em 1.3em;display:grid}.prose dt{font:700 .72rem / 1.9 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.prose dd{color:var(--color-ink-2);margin:0}@media (width<=560px){.prose dl{grid-template-columns:minmax(0,1fr);gap:.2em}.prose dd{margin-bottom:.6em}}.prose .footnotes{border-top:2px dashed var(--color-rule);color:var(--color-ink-2);gap:.6em;padding-top:1.2em;font-size:.92rem;display:grid}.prose .footnotes ol{padding-left:2.1em}.prose pre.astro-code{border:2px solid var(--color-ink);box-shadow:var(--shadow-card);font:400 var(--fs-code) / 1.7 var(--font-mono);font-variation-settings:"wdth" 87.5;tab-size:2;border-radius:18px;margin:0;padding:16px 18px;overflow-x:auto}.prose .code{border:2px solid var(--color-ink);background:var(--color-code);box-shadow:var(--shadow-card);border-radius:18px;overflow:hidden}.prose .code pre.astro-code{box-shadow:none;border:0;border-radius:0}.prose .code-head{color:#e8b4dc;font:600 .68rem / 1 var(--font-mono);letter-spacing:.04em;border-bottom:2px solid #ffd6f329;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.prose .code-lang{text-transform:lowercase;align-items:center;gap:8px;display:inline-flex}.prose .code-lang:before{content:"";background:var(--color-bubblegum);width:10px;height:10px;box-shadow:14px 0 0 var(--color-crown), 28px 0 0 var(--color-mint);border-radius:50%;margin-right:32px}.prose .code-copy{border-radius:var(--radius-pill);color:var(--color-code-ink);font:600 .64rem / 1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1.5px solid #ffd6f373;padding:6px 10px}.prose .code-copy:hover{background:#fc64c833}}@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-bubblegum{background-color:var(--color-bubblegum)}.bg-sunk{background-color:var(--color-sunk)}.text-wrap{text-wrap:wrap}.text-ink{color:var(--color-ink)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.site-foot[data-astro-cid-jo6i4kqk]{border-top:2px solid var(--color-ink);background:var(--color-paper);margin-top:auto}.foot-band[data-astro-cid-jo6i4kqk]{border-bottom:2px solid var(--color-ink);background:var(--color-ground);height:clamp(128px,12vw,160px);position:relative;overflow:hidden}.walker[data-astro-cid-jo6i4kqk]{z-index:2;will-change:transform;width:64px;height:80px;position:absolute;bottom:2px;left:0}.foot-in[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:28px 34px;display:flex}.wm[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;margin:0;font-size:2.2rem;font-weight:900;line-height:1}.foot-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:8px 22px;display:flex}.foot-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.foot-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration-color:var(--color-accent-ink)}.foot-end[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.copy[data-astro-cid-jo6i4kqk]{color:var(--color-ink-3);font:500 .7rem / 1 var(--font-mono);letter-spacing:.06em;margin:0}.art-toggle[data-astro-cid-jo6i4kqk]{border:2px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);font:600 .66rem / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;align-items:center;gap:.55em;padding:.6em .9em;display:inline-flex}.art-toggle[data-astro-cid-jo6i4kqk]:hover{background:var(--color-accent-soft)}.art-toggle-icon[data-astro-cid-jo6i4kqk]{background:linear-gradient(currentColor,currentColor) 0 0/35% 100% no-repeat,linear-gradient(currentColor,currentColor) 100% 0/35% 100% no-repeat;width:.7em;height:.8em}.art-toggle[data-astro-cid-jo6i4kqk][data-paused=true] .art-toggle-icon[data-astro-cid-jo6i4kqk]{clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor}
