:root{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-smooth:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--tongue:#f4869a;--beak:#f4a531}:root,:root[data-theme=light]{--bg:#fff;--paper:#fff;--ink:#111;--muted:#1111117a;--faint:#11111147;--hairline:#11111114;--accent:#2563eb;--accent-soft:#2563eb8c;--card:#11111105;--shadow-1:#0000001f;--shadow-2:#00000014;--cg0:#1111110f;--cg1:#1113;--cg2:#11111161;--cg3:#1119;--cg4:#111111e0}:root[data-theme=dark]{--bg:#0e0e12;--paper:#1a1a20;--ink:#ececf1;--muted:#ececf175;--faint:#ececf142;--hairline:#ffffff17;--accent:#8aa6ff;--accent-soft:#8aa6ff99;--card:#ffffff08;--shadow-1:#00000080;--shadow-2:#00000059;--cg0:#ececf10f;--cg1:#ececf129;--cg2:#ececf152;--cg3:#ececf18c;--cg4:#ececf1d9}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.5}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);transition:background .4s var(--ease-out), color .4s var(--ease-out)}img,svg{vertical-align:middle;display:block}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}ul{list-style:none}.dither-panel{background:var(--card);width:100%;height:150px;box-shadow:inset 0 0 0 1px var(--hairline);cursor:crosshair;border-radius:14px;margin:1.9rem 0 .2rem;position:relative;overflow:hidden}.dither-panel canvas{width:100%;height:100%;image-rendering:pixelated;opacity:.92;transition:opacity .5s var(--ease-out);position:absolute;inset:0}.dither-panel__cap{inset-inline-start:10px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);opacity:.7;pointer-events:none;transition:opacity .3s var(--ease-out);font-size:.62rem;position:absolute;bottom:8px}.dither-panel:hover .dither-panel__cap{opacity:1}.dither-panel{cursor:pointer}.dither-panel__cap.is-flash{animation:capFlash .5s var(--ease-out)}@keyframes capFlash{0%{opacity:1;color:var(--ink);transform:translateY(2px)}to{opacity:.7;color:var(--muted);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dither-panel__cap.is-flash{animation:none}}[data-dither=off] .dither-panel,[data-offscreen=off] .v2-shelf{display:none}[dir=rtl] .v2-prose,[dir=rtl] .v2-index__table,[dir=rtl] .v2-shelf__row{direction:ltr}[dir=rtl] .v2-prose{text-align:left}[dir=rtl] .hints,[dir=rtl] .v2-social{direction:ltr;justify-content:flex-end}[dir=rtl] .menagerie-note{text-align:right;direction:ltr;margin-inline-start:auto}.cgraph{opacity:0;pointer-events:none;transition:opacity .5s var(--ease-out);grid-auto-flow:column;place-content:center;display:grid;position:absolute;inset:0}.dither-panel.show-commits canvas{opacity:0}.dither-panel.show-commits .cgraph{opacity:1}.cgraph i{background:var(--cg0);opacity:0;border-radius:2px;transition:background .3s;display:block;transform:scale(.35)}.cgraph i.in{opacity:1;transition:transform .34s var(--ease-spring), opacity .3s ease, background .3s ease;transform:scale(1)}.cgraph i.l1{background:var(--cg1)}.cgraph i.l2{background:var(--cg2)}.cgraph i.l3{background:var(--cg3)}.cgraph i.l4{background:var(--cg4)}.cgraph i.pulse{background:var(--cg4);box-shadow:0 0 6px 1px var(--cg4);transition:transform .18s var(--ease-spring), background .18s ease;transform:scale(1.18)}@media (prefers-reduced-motion:reduce){.cgraph i{opacity:1;transition:none;transform:none}}.lang-menu{top:14px;z-index:50;position:fixed;inset-inline-start:18px}.lang-summary{cursor:pointer;background:var(--card);height:30px;box-shadow:inset 0 0 0 1px var(--hairline);color:var(--muted);font-family:var(--font-mono);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .2s var(--ease-out), transform .2s var(--ease-spring);border-radius:999px;align-items:center;gap:.32em;padding:0 8px 0 9px;font-size:.7rem;font-weight:600;line-height:1;list-style:none;display:inline-flex}.lang-summary::-webkit-details-marker{display:none}.lang-summary:hover,.lang-menu[open] .lang-summary{color:var(--ink)}.lang-summary:active{transform:scale(.95)}.lang-globe{opacity:.85;width:13px;height:13px}.lang-chev{width:12px;height:12px;transition:transform .25s var(--ease-spring)}.lang-menu[open] .lang-chev{transform:rotate(180deg)}.lang-row{top:calc(100% + 6px);background:var(--paper);max-width:min(78vw,560px);box-shadow:0 0 0 1px var(--hairline), 0 14px 34px -12px var(--shadow-1);scrollbar-width:none;-webkit-overflow-scrolling:touch;transform-origin:0 0;animation:langRow .22s var(--ease-spring);border-radius:999px;gap:2px;padding:3px;display:flex;position:absolute;inset-inline-start:0;overflow-x:auto}.lang-row::-webkit-scrollbar{display:none}@keyframes langRow{0%{opacity:0;transform:scale(.9)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.lang-link{min-width:26px;height:26px;color:var(--muted);font-family:var(--font-mono);transition:color .15s var(--ease-out), background .15s var(--ease-out), transform .15s var(--ease-spring);border-radius:999px;flex:none;place-items:center;padding:0 7px;font-size:.68rem;font-weight:600;line-height:1;text-decoration:none;display:grid}.lang-link:hover{color:var(--ink);transform:translateY(-1px)}.lang-link.is-current{color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline)}@media (width<=480px){.lang-row{max-width:calc(100vw - 40px)}}.exp-ico{vertical-align:-.28em;background:color-mix(in srgb, var(--cat,var(--muted)) 16%, transparent);width:20px;height:20px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cat,var(--muted)) 32%, transparent);color:var(--cat,var(--ink));font-family:var(--font-mono);text-transform:uppercase;border-radius:5px;place-items:center;margin-inline-end:.55em;font-size:.6rem;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.exp-ico:has(img){background:var(--paper);box-shadow:inset 0 0 0 1px var(--hairline)}.exp-ico img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.ship-desc{color:var(--muted);font-weight:460}.v2-row--more .v2-row__title,.v2-row--more .v2-row__meta{color:var(--accent)}@media (hover:hover) and (pointer:fine){.v2-exp .v2-row{cursor:default}.v2-exp .v2-row:hover .v2-row__title{color:var(--ink);transform:none}.v2-exp .v2-row:hover .v2-row__meta,.v2-exp .v2-row:hover .v2-row__year{color:var(--muted)}.v2-exp .v2-index__table:has(.v2-row:hover) .v2-row:not(:hover){opacity:1}}.theme-toggle{top:18px;z-index:50;background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-spring);border-radius:50%;place-items:center;display:grid;position:fixed;inset-inline-end:18px}.theme-toggle:hover{color:var(--ink);transform:scale(1.08)}.theme-toggle:active{transform:scale(.92)}.theme-toggle__icon{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px;height:18px;overflow:visible}.tt-sun{fill:currentColor;stroke:none;transform-box:fill-box;transform-origin:50%;transition:transform .3s var(--ease-spring)}.tt-rays line{transform-box:fill-box;transform-origin:50%;transition:opacity .25s var(--ease-out), transform .3s var(--ease-out)}.tt-moon{fill:currentColor;stroke:none;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .3s var(--ease-out), transform .35s var(--ease-spring);transform:scale(.4)rotate(-40deg)}[data-theme=dark] .tt-sun{transform:scale(0)}[data-theme=dark] .tt-rays line{opacity:0;transform:scale(.4)}[data-theme=dark] .tt-moon{opacity:1;transform:scale(1)rotate(0)}.v2{max-width:560px;font-family:var(--font-sans);letter-spacing:-.00563rem;font-feature-settings:"cv05", "cv11";color:var(--ink);margin-inline:auto;padding:clamp(4.5rem,8vw,6rem) 1.5rem 4rem;font-size:.875rem;font-weight:460;line-height:1.25rem}.v2>*{animation:v2Rise .64s var(--ease-smooth) both}.v2>:nth-child(2){animation-delay:70ms}.v2>:nth-child(3){animation-delay:.14s}.v2>:nth-child(4){animation-delay:.22s}.v2>:nth-child(5){animation-delay:.3s}.v2>:nth-child(6){animation-delay:.38s}.v2>.v2-index{animation:none}@keyframes v2Rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.v2-name{letter-spacing:-.00563rem;color:var(--ink);font-size:.875rem;font-weight:500}.v2-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.15rem 0 2.2rem;font-size:.8125rem;display:flex}.v2-status{background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline);color:var(--muted);border-radius:999px;align-items:center;gap:.4em;padding:.12rem .5rem .14rem;font-size:.75rem;display:inline-flex}.v2-status__dot{width:6px;height:6px;animation:pulse 2.4s var(--ease-out) infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 #22c55e80}@keyframes pulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.v2-prose p{text-wrap:pretty;margin:0 0 1rem}.redact{font-family:var(--font-mono);background:color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink);letter-spacing:.04em;cursor:help;transition:background .2s var(--ease-smooth);border-radius:4px;padding:.02em .3em;font-weight:700}.redact:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.redact__x{opacity:.65}.avail{color:var(--ink);white-space:nowrap;font-weight:600}.avail__dot{width:7px;height:7px;animation:pulse 2.4s var(--ease-out) infinite;background:#22c55e;border-radius:50%;margin-inline-end:.35em;display:inline-block;box-shadow:0 0 #22c55e80}.hire-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-soft);text-decoration-color:var(--accent-soft);text-underline-offset:2.5px;transition:color .2s var(--ease-smooth), text-decoration-color .2s var(--ease-smooth);font-weight:600;text-decoration-thickness:1px}.hire-link:hover,.hire-link:focus-visible{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);outline:none}@media (prefers-reduced-motion:reduce){.avail__dot{animation:none}}.basic-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:2.5px;transition:text-decoration-color .2s var(--ease-smooth), color .2s var(--ease-smooth);font-weight:500;text-decoration-thickness:1px}.basic-link:hover,.basic-link:focus-visible{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent);outline:none}.split-link{color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:2.5px;transition:text-decoration-color .2s var(--ease-smooth);font-weight:500;text-decoration-thickness:1px}.split-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.split-link .ghost{opacity:0;max-width:0;transition:max-width .32s var(--ease-smooth), opacity .28s var(--ease-smooth);display:inline-block;overflow:hidden;transform:translateY(-1px)}.split-link:hover .ghost{opacity:1;max-width:1ch}.v2-stats{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.v2-stats li{background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline);color:var(--muted);border-radius:8px;align-items:baseline;gap:.35em;padding:.28rem .6rem;font-size:.75rem;display:inline-flex}.v2-stats b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;display:inline-block}.v2-stats__live{color:var(--muted);align-items:center;gap:.4em}.live-dot{width:6px;height:6px;animation:pulse 2.4s var(--ease-out) infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 #22c55e80}.v2-index{margin-top:3.2rem}.v2-index h2{letter-spacing:-.00563rem;color:var(--muted);animation:v2Rise .52s var(--ease-out) both;margin:0;padding-bottom:.65rem;font-size:.875rem;font-weight:460;animation-delay:.22s}.v2-index__table{flex-direction:column;display:flex}.v2-row{border-top:1px solid var(--hairline);color:inherit;transition:opacity .48s var(--ease-out) 45ms;animation:v2RowRise .54s var(--ease-out) both;animation-delay:calc(.28s + var(--row-i,0) * 38ms);grid-template-columns:64px 1fr auto;align-items:baseline;gap:16px;padding:.65rem 0;text-decoration:none;display:grid}.v2-row:not(.v2-row--year-start){border-top-color:#0000}.v2-row--disabled{cursor:default;opacity:.65;pointer-events:none}.v2-row--disabled .v2-row__title{color:var(--muted);font-weight:460}.v2-row--disabled .v2-row__year,.v2-row--disabled .v2-row__meta{color:var(--faint)}@keyframes v2RowRise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.v2-row__year{font-variant-numeric:tabular-nums;color:var(--muted);transition:color .24s var(--ease-out) 40ms}.v2-row__title{color:var(--ink);transition:transform .26s var(--ease-out) 45ms, color .24s var(--ease-out) 40ms;font-weight:500;display:inline-block;position:relative}.v2-row__meta{color:var(--muted);transition:color .24s var(--ease-out) 40ms;align-items:center;gap:.45em;font-size:.8125rem;display:inline-flex}.v2-row__meta:before{content:"";background:var(--cat,var(--muted));opacity:.55;width:6px;height:6px;transition:opacity .24s var(--ease-out);border-radius:50%}@media (hover:hover) and (pointer:fine){.v2-row{cursor:pointer}.v2-row:hover .v2-row__title{color:var(--cat,var(--accent));transform:translate(3px)}.v2-row:hover .v2-row__year{color:var(--accent-soft)}.v2-row:hover .v2-row__meta{color:var(--cat,var(--accent))}.v2-row:hover .v2-row__meta:before{opacity:1}.v2-row--disabled:hover .v2-row__title{color:var(--muted);transform:none}.v2-row--disabled:hover .v2-row__year,.v2-row--disabled:hover .v2-row__meta{color:var(--faint)}.v2-index__table:has(.v2-row:hover) .v2-row:not(:hover){opacity:.38;transition:opacity .22s var(--ease-out) 0s}.v2-index__table:has(.v2-row:hover) .v2-row:not(:hover) .v2-row__title,.v2-index__table:has(.v2-row:hover) .v2-row:not(:hover) .v2-row__year,.v2-index__table:has(.v2-row:hover) .v2-row:not(:hover) .v2-row__meta{transition-duration:.22s;transition-delay:0s}.v2-index__table:has(.v2-row--disabled:hover) .v2-row:not(.v2-row--disabled){opacity:1}}@media (width<=480px){.v2-row{grid-template-columns:34px 1fr auto;gap:9px}.v2-row__meta{font-size:.68rem}.v2-row__title{font-size:.86rem}.v2-row__year{font-size:.75rem}}.exp-loc{display:none}@media (width<=480px){.exp-full{display:none}.exp-loc{display:inline}}.v2-shelf{margin-top:3.2rem}.v2-shelf h2{letter-spacing:-.00563rem;color:var(--muted);margin:0 0 1.1rem;font-size:.875rem;font-weight:460}.v2-shelf__row{justify-content:center;padding:.75rem 0 1.25rem;display:flex;overflow:visible}.v2-shelf__row .v2-frame+.v2-frame{margin-left:-28px}@media (hover:hover){.v2-shelf__row:hover .v2-frame{transform:translate(var(--sx,0), var(--y)) rotate(calc(var(--r) * 1.2)) scale(1.03)}}.v2-shelf__row .v2-frame:hover,.v2-shelf__row .v2-frame:focus-visible{transform:translate(var(--sx,0), calc(var(--y) - 12px)) rotate(0) scale(1.1);z-index:20;outline:none}@media (width<=480px){.v2-shelf__row{scrollbar-width:none;scroll-snap-type:x proximity;justify-content:flex-start;padding-inline:.5rem;overflow-x:auto}.v2-shelf__row::-webkit-scrollbar{display:none}.v2-shelf__row .v2-frame{scroll-snap-align:center}.v2-shelf__row .v2-frame+.v2-frame{margin-left:-24px}}.v2-frame{z-index:var(--z,1);cursor:pointer;transform-origin:bottom;transform:translateY(var(--y)) rotate(var(--r));background:0 0;border:none;flex-shrink:0;padding:0;transition:transform .42s cubic-bezier(.22,1,.36,1);position:relative}.v2-frame:after{content:"";position:absolute;inset:-4px -4px -16px}.v2-frame__paper{background:var(--paper);border:1px solid var(--hairline);box-shadow:var(--shadow-1) 0 2px 8px, var(--shadow-2) 0 1px 3px;padding:6px 6px 16px;transition:box-shadow .3s,background .3s;display:block}.v2-frame:hover .v2-frame__paper,.v2-frame:focus-visible .v2-frame__paper{box-shadow:var(--shadow-1) 0 8px 20px, var(--shadow-2) 0 2px 6px}.v2-frame__img{background:var(--tint,#f2f2f2);outline-offset:-1px;-webkit-user-select:none;user-select:none;outline:1px solid #0000001a;justify-content:center;align-items:center;width:100px;height:120px;font-size:2.4rem;display:flex}.v2-frame__img--photo{padding:0;overflow:hidden}.v2-frame__img--photo img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}@media (width<=480px){.v2-frame__img{width:118px;height:142px;font-size:3rem}.v2-frame__paper{padding:7px 7px 18px}}.bubble{background:var(--paper);box-shadow:inset 0 0 0 1px var(--hairline), 0 2px 6px var(--shadow-2);white-space:nowrap;color:var(--ink);opacity:0;transform-origin:bottom;transition:opacity .22s var(--ease-smooth), transform .26s var(--ease-spring);pointer-events:none;z-index:20;border-radius:8px 8px 8px 2px;padding:4px 8px 3px;font-size:.6875rem;font-weight:500;line-height:1;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateY(3px)scale(.9)}.v2-frame:hover .bubble,.v2-frame:focus-visible .bubble,.bubble.is-visible{opacity:1;transform:translateY(0)scale(1)}.bubble span{white-space:pre;opacity:0;filter:blur(2px);display:inline-block;transform:translateY(3px)}.v2-frame:hover .bubble span,.v2-frame:focus-visible .bubble span,.bubble.is-visible span{animation:bubbleChar .26s var(--ease-smooth) forwards;animation-delay:calc(var(--i) * 28ms)}@keyframes bubbleChar{to{opacity:1;filter:blur();transform:translateY(0)}}.v2-footer{color:var(--muted);margin-top:2.4rem;font-size:.8125rem;line-height:1.25rem}.v2-footer__line{flex-wrap:wrap;align-items:center;gap:0;display:inline-flex}.v2-clock{font-variant-numeric:tabular-nums;min-width:5.5ch;color:var(--ink);margin-inline-end:.34em;display:inline-block}.menagerie{align-items:flex-end;gap:.5rem;min-height:44px;margin-top:1.1rem;display:flex}.pet{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s var(--ease-smooth);animation:petPop .5s var(--ease-spring) both;flex-shrink:0;justify-content:center;align-items:flex-end;line-height:0;display:inline-flex;position:relative}.pet--cat{animation-delay:.62s}.pet--dog{animation-delay:.72s}.pet--bird{animation-delay:.82s}.pet:after{content:"";position:absolute;inset:-10px -6px -6px}.pet{cursor:grab;touch-action:none}.pet--free{transform:translate3d(var(--dx,0px), var(--dy,0px), 0);animation:none!important}.pet--free.is-dragging{z-index:200;cursor:grabbing}.food-bit{z-index:210;pointer-events:none;opacity:0;will-change:transform, opacity;font-size:19px;position:fixed;transform:translate(-50%,-18px)scale(.4)}.food-bit.drop{animation:foodDrop .72s var(--ease-out) forwards}@keyframes foodDrop{0%{opacity:0;transform:translate(-50%,-18px)scale(.4)rotate(-12deg)}35%{opacity:1;transform:translate(-50%,10px)scale(1.05)rotate(6deg)}55%{opacity:1;transform:translate(-50%,6px)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,14px)scale(.2)rotate(0)}}@media (prefers-reduced-motion:reduce){.food-bit.drop{opacity:1;animation:none;transform:translate(-50%,6px)scale(1)}}.menagerie-note{color:var(--muted);max-width:34ch;margin:.7rem 0 0;font-size:.72rem;line-height:1.5}.menagerie-note b{color:var(--ink);font-weight:600}.pet:hover,.pet:focus-visible{color:var(--ink);outline:none}.pet__svg{display:block;overflow:visible}.pet--cat .pet__svg{width:46px;height:37px}.pet--dog .pet__svg{width:46px;height:44px}.pet--bird .pet__svg{width:36px;height:38px}@keyframes petPop{0%{opacity:0;transform:scale(.4)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.pet .eye{transition:opacity .12s}.pet.is-blinking .eye,.pet.is-asleep .eye{opacity:0}.pet .eyes{transform-box:fill-box;transform-origin:50%}.pet--cat:not(.is-asleep) .eyes{animation:9s ease-in-out 2s infinite eyeLook}@keyframes eyeLook{0%,16%,52%,88%,to{transform:translate(0)}26%,38%{transform:translate(-1.2px)}62%,74%{transform:translate(1.2px)}}.pet .body{transform-box:fill-box;transform-origin:bottom}.pet.is-booped .body{animation:petBoop .36s var(--ease-smooth)}@keyframes petBoop{0%,to{transform:scale(1)}35%{transform:scale(.84,.9)}70%{transform:scale(1.08,1.04)}}.pet.is-eating .eye{opacity:0}.pet.is-eating .body{animation:munch .72s var(--ease-smooth)}@keyframes munch{0%,to{transform:scaleY(1)}20%,60%{transform:scaleY(.9)}40%,80%{transform:scaleY(1)}}.cat-tail{transform-box:fill-box;transform-origin:0 100%}.pet--cat:not(.is-asleep) .cat-tail{animation:8s ease-in-out 3s infinite tailSway}@keyframes tailSway{0%,38%,to{transform:rotate(0)}12%{transform:rotate(6deg)}25%{transform:rotate(-3deg)}}.pet--cat.is-booped .cat-tail{animation:tailFlick .4s var(--ease-smooth)}@keyframes tailFlick{0%,to{transform:rotate(0)}35%{transform:rotate(16deg)}70%{transform:rotate(-6deg)}}.dog-tail{transform-box:fill-box;transform-origin:100% 100%}.pet--dog:not(.is-asleep) .dog-tail{animation:.6s ease-in-out infinite dogWag}.pet--dog.is-booped .dog-tail,.pet--dog.is-eating .dog-tail{animation:.22s ease-in-out infinite dogWag}@keyframes dogWag{0%,to{transform:rotate(-11deg)}50%{transform:rotate(12deg)}}.dog-tongue{transform-box:fill-box;transform-origin:top;opacity:0;transition:opacity .2s ease, transform .2s var(--ease-spring);transform:scaleY(.2)}.pet--dog:hover .dog-tongue,.pet--dog.is-eating .dog-tongue{opacity:1;transform:scaleY(1)}.pet--dog:not(.is-asleep) .dog-ear{transform-box:fill-box;transform-origin:top}.pet--dog.is-booped .dog-ear{animation:earPerk .4s var(--ease-spring)}@keyframes earPerk{0%,to{transform:rotate(0)}40%{transform:rotate(-6deg)translateY(-1px)}}.pet--bird .body{transform-origin:bottom}.pet--bird:not(.is-asleep) .body{animation:1.9s ease-in-out infinite birdBob}@keyframes birdBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bird-wing{transform-box:fill-box;transform-origin:0 0}.pet--bird.is-booped .bird-wing,.pet--bird.is-eating .bird-wing{animation:.16s ease-in-out 4 flap}@keyframes flap{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}.pet--bird.is-booped .body{animation:hop .42s var(--ease-spring)}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-7px)}}.dreams{opacity:0;transition:opacity .24s}.pet.is-asleep .dreams{opacity:1}.pet.is-asleep .body{animation:4.5s ease-in-out infinite petSleep}@keyframes petSleep{0%,to{transform:rotate(0)}50%{transform:rotate(-2deg)}}.pet .z{opacity:0}.pet.is-asleep .z-1{animation:3s ease-out infinite zFloat1}.pet.is-asleep .z-2{animation:3s ease-out 1s infinite zFloat2}@keyframes zFloat1{0%{opacity:0;transform:translate(0)scale(.7)}10%,80%{opacity:1}to{opacity:0;transform:translate(4px,-14px)scale(1)}}@keyframes zFloat2{0%{opacity:0;transform:translate(0)scale(.6)}10%,80%{opacity:1}to{opacity:0;transform:translate(6px,-16px)scale(.9)}}.feed{background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline);color:var(--muted);cursor:pointer;transition:color .2s var(--ease-smooth), transform .14s var(--ease-smooth), background .2s var(--ease-out);animation:petPop .5s var(--ease-spring) .92s both;border:none;border-radius:8px;align-self:center;align-items:center;margin-inline-start:.35rem;padding:6px;display:inline-flex;position:relative}.feed:after{content:"";position:absolute;inset:-8px}.feed:hover,.feed:focus-visible{color:var(--ink);outline:none}.feed:active{transform:scale(.9)}.feed__treat{width:19px;height:11px}.feed.is-thrown .feed__treat{animation:.5s ease-in forwards treatThrow}@keyframes treatThrow{30%{opacity:1;transform:translate(-14px,-8px)rotate(-16deg)}to{opacity:0;transform:translate(-40px,4px)rotate(-40deg)}}@media (width<=480px){.pet--bird .bubble{transform-origin:100% 100%;border-radius:8px 8px 2px;left:auto;right:-6px;translate:0}}.v2-credit{color:var(--faint);margin-top:1.2rem;font-size:.72rem}.v2-credit a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);text-underline-offset:2px;transition:color .15s var(--ease-out)}.v2-credit a:hover{color:var(--ink)}.v2-social{flex-wrap:wrap;align-items:center;gap:.15rem;margin-top:1.3rem;display:flex}.v2-social__link{width:34px;height:34px;color:var(--muted);transition:color .18s var(--ease-out), background .18s var(--ease-out), transform .18s var(--ease-spring);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.v2-social__link svg{width:17px;height:17px;display:block}.v2-social__emoji{filter:grayscale(.15);font-size:1rem;line-height:1}.v2-social__link:hover,.v2-social__link:focus-visible{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);outline:none;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.v2-social__link:hover{transform:none}}.sound-toggle{top:18px;z-index:50;background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .2s var(--ease-out), transform .2s var(--ease-spring);border:none;border-radius:50%;place-items:center;display:grid;position:fixed;inset-inline-end:62px}.sound-toggle:hover{color:var(--ink);transform:scale(1.08)}.sound-toggle:active{transform:scale(.92)}.sound-toggle__on{display:none}.sound-toggle.is-on .sound-toggle__on{display:block}.sound-toggle.is-on .sound-toggle__off{display:none}.sound-toggle__icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.hints{color:var(--faint);flex-wrap:wrap;gap:.4rem .9rem;margin-top:1.4rem;font-size:.75rem;display:flex}.hint{color:var(--muted);cursor:pointer;transition:color .2s var(--ease-out);background:0 0;border:none;align-items:center;gap:.35em;padding:0;display:inline-flex}.hint:hover,.hint:focus-visible{color:var(--ink);outline:none}kbd{background:var(--card);min-width:1.4em;height:1.55em;box-shadow:inset 0 0 0 1px var(--hairline);font-family:var(--font-mono);color:inherit;border-radius:5px;place-items:center;padding:0 .35em;font-size:.85em;line-height:1;display:inline-grid}.toast{z-index:120;background:var(--paper);box-shadow:0 0 0 1px var(--hairline), 0 10px 30px -8px var(--shadow-1);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-out), transform .28s var(--ease-spring);border-radius:10px;padding:.5rem .85rem;font-size:.78rem;position:fixed;bottom:26px;left:50%;transform:translate(-50%,12px)}.toast.is-on{opacity:1;transform:translate(-50%)}.cmdk,.term{z-index:100;display:grid;position:fixed;inset:0}.cmdk{place-items:start center;padding-top:min(18vh,140px)}.term{place-items:center;padding:1.25rem}.cmdk[hidden],.term[hidden]{display:none}.ov__backdrop{background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ovFade .2s var(--ease-out);position:absolute;inset:0}@keyframes ovFade{0%{opacity:0}to{opacity:1}}.cmdk__panel{background:var(--paper);width:min(92vw,480px);max-height:62vh;box-shadow:0 1px 0 var(--hairline) inset, 0 0 0 1px var(--hairline), 0 24px 60px -12px var(--shadow-1), 0 8px 20px -8px var(--shadow-2);animation:panelIn .24s var(--ease-spring);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes panelIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cmdk__search{border-bottom:1px solid var(--hairline);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.cmdk__icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.cmdk__input{min-width:0;color:var(--ink);font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.cmdk__input::placeholder{color:var(--faint)}.cmdk__esc{color:var(--muted);font-size:.7rem}.cmdk__list{scrollbar-width:thin;padding:.4rem;overflow-y:auto}.cmdk__group{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding:.5rem .65rem .3rem;font-size:.68rem}.cmdk__item{cursor:pointer;color:var(--ink);border-radius:9px;align-items:center;gap:.7rem;padding:.5rem .65rem;scroll-margin:.5rem;display:flex}.cmdk__item[aria-selected=true]{background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline)}.cmdk__item-ic{background:var(--card);width:22px;height:22px;color:var(--dotc,var(--muted));border-radius:6px;flex-shrink:0;place-items:center;font-size:.8rem;display:grid}.cmdk__item-ic svg{width:14px;height:14px}.cmdk__item-tx{flex:1;min-width:0}.cmdk__item-tt{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.cmdk__item-sub{color:var(--muted);font-size:.72rem}.cmdk__item-meta{color:var(--faint);flex-shrink:0;font-size:.7rem}.cmdk__empty{text-align:center;color:var(--muted);padding:1.5rem;font-size:.85rem}.cmdk__foot{border-top:1px solid var(--hairline);color:var(--faint);gap:1rem;padding:.55rem .9rem;font-size:.68rem;display:flex}.cmdk__foot kbd{min-width:1.2em;height:1.35em;font-size:.8em}@media (width<=480px){.cmdk__foot span:last-child{display:none}}.term__win{background:var(--paper);width:min(94vw,620px);height:min(70vh,460px);box-shadow:0 0 0 1px var(--hairline), 0 24px 60px -12px var(--shadow-1);font-family:var(--font-mono);animation:panelIn .24s var(--ease-spring);border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.term__bar{border-bottom:1px solid var(--hairline);background:var(--card);align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.term__dots{gap:6px;display:inline-flex}.term__dots i{background:var(--faint);border-radius:50%;width:11px;height:11px}.term__dots i:first-child{background:#ff5f57}.term__dots i:nth-child(2){background:#febc2e}.term__dots i:nth-child(3){background:#28c840}.term__title{text-align:center;color:var(--muted);flex:1;font-size:.72rem}.term__x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1rem;line-height:1}.term__x:hover{color:var(--ink)}.term__body{color:var(--ink);scrollbar-width:thin;outline:none;flex:1;padding:.85rem .95rem 1rem;font-size:.8rem;line-height:1.5;overflow-y:auto}.term__out :where(.row){white-space:pre-wrap;word-break:break-word}.term__out .cmd-echo{color:var(--muted)}.term__out .cmd-echo b{color:var(--ink);font-weight:600}.term__out .muted{color:var(--muted)}.term__out .accent{color:var(--accent)}.term__out .ok{color:#22c55e}.term__out .err{color:#ef4444}.term__out a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.term__out pre{font-family:var(--font-mono);white-space:pre;margin:.2rem 0;line-height:1.35;overflow-x:auto}.term__out .art{color:var(--accent)}.term__line{align-items:center;gap:.5rem;display:flex}.term__ps1{color:var(--accent);flex-shrink:0}.term__input{min-width:0;color:var(--ink);font-family:var(--font-mono);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:.8rem}button.v2-row{text-align:start;width:100%;font:inherit;letter-spacing:inherit;background:0 0;border:none}.v2-blog .v2-row__meta{font-variant-numeric:tabular-nums}.reader{z-index:100;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.reader[hidden]{display:none}.reader__panel{background:var(--paper);width:min(94vw,640px);height:min(86vh,760px);color:var(--ink);box-shadow:0 0 0 1px var(--hairline), 0 30px 70px -14px var(--shadow-1);animation:panelIn .26s var(--ease-spring);transition:background .3s var(--ease-out), color .3s var(--ease-out);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.reader[data-rtint=sepia] .reader__panel{color:#4a3b28;background:#f6edd9}html[data-theme=light] .reader[data-rtint=contrast] .reader__panel{color:#080808;background:#fff}html[data-theme=dark] .reader[data-rtint=contrast] .reader__panel{color:#fff;background:#050506}.reader__bar{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem .85rem;display:flex}.reader__meta{color:var(--muted);white-space:nowrap;margin-right:auto;font-size:.72rem}.reader__detail{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.seg{box-shadow:inset 0 0 0 1px var(--hairline);border-radius:8px;display:inline-flex;overflow:hidden}.seg button,.seg-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.22rem .5rem;font-family:inherit;font-size:.72rem;line-height:1.1;transition:color .15s,background .15s}.seg button+button{box-shadow:inset 1px 0 0 var(--hairline)}.seg button:hover,.seg-btn:hover{color:var(--ink)}.seg button.is-on{background:var(--card);color:var(--ink)}.seg[data-pref=size] button:first-child{font-size:.62rem}.seg[data-pref=size] button:nth-child(2){font-size:.78rem}.seg[data-pref=size] button:nth-child(3){font-size:.92rem}.seg-btn{box-shadow:inset 0 0 0 1px var(--hairline);border-radius:8px}.seg-btn.is-on{background:var(--accent);color:#fff;box-shadow:none}.reader__x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.15rem;line-height:1}.reader__x:hover{color:var(--ink)}.reader__scroll{scrollbar-width:thin;flex:1;padding:1.6rem clamp(1.1rem,5vw,2.4rem) 2rem;overflow-y:auto}.reader__title{letter-spacing:-.01em;margin:0 0 .4rem;font-size:1.35rem;font-weight:600;line-height:1.25}.reader__body{color:inherit}.reader__body p{text-wrap:pretty;margin:0 0 1rem}.reader__body code{font-family:var(--font-mono);background:var(--card);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:5px;padding:.05em .35em;font-size:.86em}.reader__body h3{margin:1.4rem 0 .5rem;font-size:1rem;font-weight:600}.reader[data-rfont=sans] .reader__title,.reader[data-rfont=sans] .reader__body{font-family:var(--font-sans)}.reader[data-rfont=serif] .reader__title,.reader[data-rfont=serif] .reader__body{font-family:Georgia,Iowan Old Style,Times New Roman,ui-serif,serif}.reader[data-rfont=mono] .reader__title,.reader[data-rfont=mono] .reader__body{font-family:var(--font-mono)}.reader[data-rsize=s] .reader__body{font-size:.86rem;line-height:1.65}.reader[data-rsize=m] .reader__body{font-size:.95rem;line-height:1.72}.reader[data-rsize=l] .reader__body{font-size:1.06rem;line-height:1.78}.reader[data-rsize=l] .reader__title{font-size:1.5rem}.reader__more{color:var(--accent);text-underline-offset:2.5px;margin-top:.6rem;font-size:.85rem;text-decoration:underline;display:inline-block}.reader__nav{border-top:1px solid var(--hairline);justify-content:space-between;gap:.5rem;margin-top:1.8rem;padding-top:1rem;display:flex}.reader__navbtn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.8rem;transition:color .15s}.reader__navbtn:hover{color:var(--ink)}.reader__navbtn:disabled{opacity:.35;cursor:default}@media (width<=520px){.reader__meta{width:100%;margin-bottom:.2rem}.seg[data-pref=tint]{display:none}}.reader.is-page{z-index:auto;padding:0;display:block;position:static;inset:auto}.reader.is-page .reader__panel{width:min(94vw,640px);height:auto;max-height:none;margin:clamp(2rem,7vw,4.5rem) auto 3rem;animation:none;position:static}.reader.is-page .reader__scroll{overflow:visible}.reader__back{color:var(--muted);align-items:center;gap:.3em;margin-right:auto;font-size:.72rem;text-decoration:none;transition:color .15s;display:inline-flex}.reader__back:hover{color:var(--ink)}a.reader__navbtn{text-overflow:ellipsis;white-space:nowrap;max-width:46%;text-decoration:none;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.pet .eye,.dreams,.dog-tongue,.bird-wing{opacity:1}.dog-tongue{transform:none}.pet.is-asleep .eye,.pet:not(.is-asleep) .dreams{opacity:0}}
