.content{--ink:var(--ds-color-content-play-ink);--shine:var(--ds-color-content-play-shine);--cookie:var(--ds-color-content-play-cookie);--lime:var(--ds-color-content-play-lime);position:relative}.main:has(>.content){background-color:var(--ds-color-surface-base);background-image:linear-gradient(180deg, transparent 0, transparent 160px, var(--ds-color-surface-base) 460px), linear-gradient(var(--ds-color-content-play-grid) 1px, transparent 1px), linear-gradient(90deg, var(--ds-color-content-play-grid) 1px, transparent 1px);background-position:0 0,top,top;background-repeat:no-repeat,repeat,repeat;background-size:100% 100%,24px 24px,24px 24px}.content h1{letter-spacing:-.035em;font-size:clamp(2.125rem,5vw,3.25rem);line-height:1.05}.skill-head .lede{font-size:var(--ds-text-xl)}.page-art{right:var(--ds-space-6);pointer-events:none;width:200px;height:170px;position:absolute;top:48px}.page-art .pixel{filter:drop-shadow(2px 0 0 var(--shine)) drop-shadow(-2px 0 0 var(--shine)) drop-shadow(0 2px 0 var(--shine)) drop-shadow(0 -2px 0 var(--shine)) drop-shadow(0 8px 10px color-mix(in srgb, var(--ink) 22%, transparent));animation:page-float 6s var(--ds-ease) infinite;position:absolute}.pa-main{--px:3px;position:absolute;top:28px;right:24px}.page-art .pa-main .pixel{animation:none;position:static}.pa-a{--tilt:-10deg;animation-delay:-2s;top:0;left:8px}.pa-b{--tilt:8deg;animation-delay:-4s;bottom:0;left:36px}@keyframes page-float{0%,to{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-8px) rotate(calc(var(--tilt,0deg) * -1))}}@media (max-width:1023px){.page-art{right:var(--ds-space-4);width:auto;height:auto;top:20px}.page-art .pa-a,.page-art .pa-b{display:none}.page-art .pa-main{--px:1px;display:block;position:static}.crumbs{padding-right:56px}}@media (max-width:639px){.crumbs li:not(:nth-last-child(-n+2)),.crumbs li:nth-last-child(2)>svg{display:none}}.content .category>h2,.skill-main>section>h2,.prose h2,.faq>h2{align-items:center;gap:14px;display:flex}.content .category>h2:before,.skill-main>section>h2:before,.prose h2:before,.faq>h2:before{content:"";background:var(--ds-color-primary);width:12px;height:12px;box-shadow:3px 3px 0 var(--cookie);flex:none;margin-right:3px}.cards>li:nth-child(5n+1){--tone:var(--ds-color-primary)}.cards>li:nth-child(5n+2){--tone:var(--ds-color-content-play-mint)}.cards>li:nth-child(5n+3){--tone:var(--ds-color-content-play-tomato)}.cards>li:nth-child(5n+4){--tone:var(--ds-color-content-play-grape)}.cards>li:nth-child(5n+5){--tone:var(--cookie)}.cards .ds-card{background:var(--ds-color-surface-solid)}.cards .ds-card:before{content:"";background:var(--tone);height:6px;display:block}.cards .ds-card[data-interactive]:hover{box-shadow:6px 8px 0 color-mix(in srgb, var(--tone) 70%, transparent), var(--ds-shadow-raised);transform:translate(-2px,-4px)}.content .category>.more,.content #lists>.more{gap:var(--ds-space-2);padding:0;list-style:none;display:grid}.content .category>.more>li,.content #lists>.more>li{padding:var(--ds-space-4) var(--ds-space-5);border:1px solid var(--ds-color-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-color-surface-solid);box-shadow:var(--ds-shadow-surface);color:var(--ds-color-foreground-secondary);font-size:var(--ds-text-md);transition:transform var(--ds-motion-fast) var(--ds-ease), box-shadow var(--ds-motion-fast) var(--ds-ease);margin:0}.content .category>.more>li:hover,.content #lists>.more>li:hover{box-shadow:-4px 0 0 var(--ds-color-primary), var(--ds-shadow-surface);transform:translate(4px)}.content .category>.more>li a{font-size:var(--ds-text-lg)}.command{border-color:color-mix(in srgb, var(--shine) 10%, var(--ink));background:var(--ink);box-shadow:0 6px 0 color-mix(in srgb, var(--ink) 35%, transparent), var(--ds-shadow-surface)}[data-ds-theme=dark] .command{border-color:color-mix(in srgb, var(--lime) 22%, transparent);box-shadow:0 6px 0 color-mix(in srgb, var(--lime) 12%, transparent)}.command pre{color:var(--lime)}.command[data-kind=shell] pre:before{content:"$ ";color:var(--cookie)}.facts{border-top:8px solid var(--cookie);background-image:radial-gradient(color-mix(in srgb, var(--ink) 5%, transparent) 1.2px, transparent 1.2px);background-size:12px 12px}.facts dd+dt{padding-top:var(--ds-space-4);border-top:2px dashed var(--ds-color-border-subtle)}.faq-item{padding:var(--ds-space-5);border:1px solid var(--ds-color-border-subtle);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface-solid);box-shadow:var(--ds-shadow-surface)}.faq-item+.faq-item{margin-top:var(--ds-space-3)}.faq-item p{color:var(--ds-color-foreground-secondary)}.ds-table thead th{background:color-mix(in oklch, var(--cookie) 26%, var(--ds-color-surface-solid));color:var(--ds-color-foreground-primary)}[data-ds-theme=dark] .ds-table thead th{background:color-mix(in oklch, var(--cookie) 12%, var(--ds-color-surface-solid));color:var(--cookie)}@media (max-width:639px){.ds-table th:first-child,.ds-table td:first-child{z-index:1;background:var(--ds-color-surface-solid);max-width:44vw;box-shadow:1px 0 0 var(--ds-color-border-subtle), 8px 0 10px -8px color-mix(in srgb, var(--ink) 30%, transparent);position:sticky;left:0}.ds-table thead th:first-child{background:color-mix(in oklch, var(--cookie) 26%, var(--ds-color-surface-solid))}[data-ds-theme=dark] .ds-table thead th:first-child{background:color-mix(in oklch, var(--cookie) 12%, var(--ds-color-surface-solid))}}.prose a,.text-link{-webkit-text-decoration-color:color-mix(in srgb, var(--ds-color-primary) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--ds-color-primary) 55%, transparent)}.prose>p,.prose>ul,.prose>ol{max-width:68ch}.prose p,.prose li{color:color-mix(in srgb, var(--ds-color-foreground-primary) 84%, transparent)}.skill-main ul:has(>li>code:only-child){flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.skill-main ul:has(>li>code:only-child)>li{margin:0}.skill-main ul:has(>li>code:only-child) code{border:1px solid var(--ds-color-border-subtle);border-radius:var(--ds-radius-pill);background:var(--ds-color-surface-solid);color:var(--ds-color-foreground-primary);font:.8125rem/1.5 var(--mono);padding:3px 10px;display:inline-block}.jump{margin-top:var(--ds-space-6)}.jump .ds-pill{min-height:32px;padding-inline:var(--ds-space-3);box-shadow:var(--ds-shadow-control);position:relative}.jump .ds-pill a{text-decoration:none}.jump .ds-pill a:after{content:"";border-radius:inherit;position:absolute;inset:0}.jump .ds-pill:hover{color:var(--ds-color-foreground-primary);border-color:var(--ds-color-primary)}.content [id^=c-],.content #tested{scroll-margin-top:84px}.publishers{margin-top:var(--ds-space-4)}.publishers summary{align-items:center;gap:var(--ds-space-2);cursor:pointer;font-size:var(--ds-text-md);font-weight:var(--ds-weight-semibold);color:var(--ds-color-foreground-primary);list-style:none;display:inline-flex}.publishers summary::-webkit-details-marker{display:none}.publishers summary:before{content:"";background:var(--ds-color-primary);clip-path:polygon(0 0,50% 0,50% 20%,75% 20%,75% 40%,100% 40%,100% 60%,75% 60%,75% 80%,50% 80%,50% 100%,0 100%);width:8px;height:10px;transition:transform var(--ds-motion-fast) var(--ds-ease)}.publishers[open] summary:before{transform:rotate(90deg)}.publishers summary:focus-visible{box-shadow:var(--ds-focus);border-radius:var(--ds-radius-sm)}.publishers .byline{margin-top:var(--ds-space-2)}.game-over{align-items:flex-start;gap:var(--ds-space-3);margin-bottom:var(--ds-space-5);color:var(--ds-color-foreground-primary);flex-direction:column;display:flex}.game-over>span:last-child{font-family:var(--font-pixel), monospace;font-size:var(--ds-text-md);letter-spacing:var(--ds-tracking-wide);text-transform:uppercase;color:var(--ds-color-primary)}.content:not(:has(.crumbs)){padding-top:72px}.hub-links{padding-top:var(--ds-space-6);border-top:1px solid var(--ds-color-border-subtle);margin-top:72px}.hub-links>h2{margin:0 0 var(--ds-space-4);font-size:var(--ds-text-lg)}.hub-links ul{gap:var(--ds-space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:0;padding:0;list-style:none;display:grid}.hub-link{align-items:center;gap:var(--ds-space-3);height:100%;padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-color-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-color-surface-solid);box-shadow:var(--ds-shadow-surface);color:var(--ds-color-foreground-primary);transition:transform var(--ds-motion-fast) var(--ds-ease), box-shadow var(--ds-motion-fast) var(--ds-ease);text-decoration:none;display:flex}.hub-link:hover{box-shadow:4px 5px 0 color-mix(in srgb, var(--ds-color-primary) 55%, transparent), var(--ds-shadow-surface);transform:translate(-2px,-3px)}.hub-link:focus-visible{box-shadow:var(--ds-focus);outline:none}.hub-link-art{flex:none}[data-ds-theme=dark] .hub-link-art{box-sizing:content-box;background:color-mix(in srgb, var(--shine) 90%, transparent);border-radius:6px;padding:3px}.hub-link-text{min-width:0;display:grid}.hub-link-label{font-weight:var(--ds-weight-semibold)}.hub-link-n{color:var(--ds-color-foreground-secondary);font-family:var(--font-pixel), monospace;font-size:var(--ds-text-xs);margin-left:4px}.hub-link-note{color:var(--ds-color-foreground-secondary);font-size:var(--ds-text-sm)}.hub-link-go{color:var(--ds-color-primary);font-weight:var(--ds-weight-semibold);margin-left:auto}@media (prefers-reduced-motion:reduce){.hub-link{transition:none}.hub-link:hover{transform:none}}
.cast{vertical-align:bottom;width:calc(var(--w) * var(--px,3px));height:calc(var(--h) * var(--px,3px));flex:none;display:inline-block;overflow:visible}.cast-lids{opacity:0;animation:6s step-end infinite cast-blink;animation-delay:var(--blink-delay,0s)}@keyframes cast-blink{0%,93%{opacity:0}94%,96%{opacity:1}97%,to{opacity:0}}.cast-body{transform-origin:50%;display:block}.cast-member .cast-body,.parade-walker .cast-body{filter:drop-shadow(2px 0 0 var(--ds-color-content-play-shine)) drop-shadow(-2px 0 0 var(--ds-color-content-play-shine)) drop-shadow(0 2px 0 var(--ds-color-content-play-shine)) drop-shadow(0 -2px 0 var(--ds-color-content-play-shine)) drop-shadow(0 8px 10px color-mix(in srgb, var(--ds-color-content-play-ink) 22%, transparent));will-change:transform}.shelf-items.cast-shelf{--px:3px;gap:14px}.cast-member{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}@media (hover:hover){.cast-member:not([data-busy]):hover .cast-body{transform:translateY(calc(-1 * var(--px)))}}@media (max-width:1023px){.shelf-items.cast-shelf{--px:2px;gap:8px}}@media (max-width:639px){.cast-member:not([data-phone]){display:none}}.cast-fx{pointer-events:none;position:absolute;inset:0}.cast-fx-bit{opacity:0;line-height:0;animation-fill-mode:both;position:absolute}.cast-fx-bit svg{display:block}.cast-fx[data-fx=dust] .cast-fx-bit{bottom:calc(-1 * var(--px));animation:.3s steps(3,end) both cast-dust}.cast-fx[data-fx=dust] [data-i="0"]{left:calc(-2 * var(--px));--dir:-1}.cast-fx[data-fx=dust] [data-i="1"]{right:calc(-2 * var(--px));--dir:1}@keyframes cast-dust{0%{opacity:1;transform:none}to{opacity:0;transform:translate(calc(var(--dir) * 3 * var(--px)), calc(-2 * var(--px)))}}.cast-fx[data-fx=burst] .cast-fx-bit,.cast-fx[data-fx=stars] .cast-fx-bit{animation:.36s steps(4,end) both cast-burst;top:20%;left:50%}.cast-fx[data-fx=burst] [data-i="0"]{--bx:-9;--by:-7}.cast-fx[data-fx=burst] [data-i="1"]{--bx:8;--by:-9}.cast-fx[data-fx=burst] [data-i="2"]{--bx:11;--by:2}.cast-fx[data-fx=burst] [data-i="3"]{--bx:-12;--by:1}@keyframes cast-burst{0%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--bx) * var(--px)), calc(var(--by) * var(--px)))}}.cast-fx[data-fx=stars] .cast-fx-bit{animation:.6s steps(6,end) both cast-orbit;top:4%}.cast-fx[data-fx=stars] [data-i="1"]{animation-delay:-200ms}.cast-fx[data-fx=stars] [data-i="2"]{animation-delay:-400ms}@keyframes cast-orbit{0%{opacity:1;transform:translate(calc(-50% - 9 * var(--px)), 0)}25%{transform:translate(-50%, calc(-3 * var(--px)))}50%{transform:translate(calc(-50% + 9 * var(--px)), 0)}75%{transform:translate(-50%, calc(2 * var(--px)))}to{opacity:1;transform:translate(calc(-50% - 9 * var(--px)), 0)}}.cast-fx[data-fx=zip] .cast-fx-bit{left:calc(-6 * var(--px));animation:.24s steps(3,end) both cast-zip}.cast-fx[data-fx=zip] [data-i="0"]{top:40%}.cast-fx[data-fx=zip] [data-i="1"]{top:55%;left:calc(-8 * var(--px))}.cast-fx[data-fx=zip] [data-i="2"]{top:70%}@keyframes cast-zip{0%{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(-4 * var(--px)))}}.cast-fx[data-fx=shine] .cast-fx-bit{animation:.42s steps(3,end) both cast-shine;top:22%;left:62%}@keyframes cast-shine{0%,to{opacity:0}34%,67%{opacity:1}}.cast-fx[data-fx=notes] .cast-fx-bit{animation:1.4s steps(10,end) both cast-note;bottom:90%}.cast-fx[data-fx=notes] [data-i="0"]{left:0}.cast-fx[data-fx=notes] [data-i="1"]{animation-delay:.2s;left:42%}.cast-fx[data-fx=notes] [data-i="2"]{animation-delay:.4s;right:0}@keyframes cast-note{0%{opacity:0;transform:translateY(calc(4 * var(--px)))}20%{opacity:1}to{opacity:0;transform:translateY(calc(-12 * var(--px)))}}.footer-ground{position:relative;overflow-x:clip}.parade{pointer-events:none;height:0;position:absolute;bottom:50px;left:0;right:0}.parade-walker{bottom:calc(0px - var(--sink,0px));left:var(--rest);--px:2px;position:absolute}.parade-walker[data-walking]{left:0}.main:has(.home)+.site-footer .footer-ground{display:none}
