@font-face{font-family:Geist Pixel Line;src:url(/fonts/GeistPixel-Line.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Test Domaine Text;src:url(/fonts/TestDomaineText-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Test Domaine Text;src:url(/fonts/TestDomaineText-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Test Domaine Text;src:url(/fonts/TestDomaineText-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:MD Thermochrome;src:url(/fonts/MDThermochrome0.4-Regular-Trial.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kilo;src:url(/fonts/Kilo.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/FragmentMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/FragmentMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}::selection{background:var(--selection-bg,rgba(128,255,233,.55));color:inherit}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--pink:#f0a;--text:#111;--muted:#666;--bg:#fff;--link:#111;--font-sans:system-ui,sans-serif;--font-serif:system-ui,sans-serif;--switch-bg:rgba(0,0,0,.1);--switch-text:rgba(0,0,0,.5)}[data-theme=dark]{--text:#efefef;--muted:#888;--bg:#0f0f10;--link:#efefef;--switch-bg:#1b1b1c;--switch-text:hsla(0,0%,100%,.5)}[data-theme=retro]{--text:#00f6ff;--muted:#fff;--bg:#0a0a14;--link:#00ff86;--font-sans:"Test Domaine Text",Georgia,serif;--font-serif:"Test Domaine Text",Georgia,serif;--switch-bg:rgba(0,255,255,.08);--switch-text:#00f6ff;--selection-bg:rgba(206,127,255,.4)}[data-font=fragment]{--font-sans:"Fragment Mono",monospace;--font-serif:"Fragment Mono",monospace}[data-theme=retro][data-font=fragment]{--font-sans:"Test Domaine Text",Georgia,serif;--font-serif:"Test Domaine Text",Georgia,serif}[data-theme=retro]{background:url(/bg-retro.gif) repeat;background-size:300px}[data-theme=retro] body{background:transparent;font-family:var(--font-sans);text-shadow:0 0 8px rgba(0,246,255,.3),0 0 2px rgba(0,246,255,.15)}[data-theme=retro] .ascii-shader{display:none}[data-theme=retro] .scroll-fade{background:linear-gradient(180deg,rgba(10,10,20,.9),transparent)}[data-theme=retro] .bio-headline{color:#fff;opacity:1}[data-theme=retro] .bio-expand{color:#5b9bd5;opacity:.7}[data-theme=retro] .bio-link strong,[data-theme=retro] .bio-link:hover,[data-theme=retro] .view-more:hover,[data-theme=retro] .writing-row--active .writing-title,[data-theme=retro] .writing-row:hover .writing-title{color:#00ff86}[data-theme=retro] .writing-highlight{background:rgba(0,255,255,.06)}[data-theme=retro] .passport-grid{background-color:rgba(0,255,255,.08);border-color:rgba(0,255,255,.08)}[data-theme=retro] .passport-grid-cell{border-color:rgba(0,255,255,.08)}[data-theme=retro] .work-card{border:2px solid #fff}[data-theme=retro] .demo-spring{background:#112;border-color:rgba(0,255,255,.1)}[data-theme=retro] .elastic-slider{background:rgba(0,255,255,.04);border-color:rgba(0,255,255,.08)}[data-theme=retro] .elastic-slider-track{background:rgba(0,255,255,.15)}[data-theme=retro] .elastic-slider-track-wrap{border-left-color:rgba(0,255,255,.1)}[data-theme=retro] .demo-spring-highlight{background:rgba(0,255,255,.08)}[data-theme=retro] .demo-spring-table{border-top-color:rgba(0,255,255,.08)}[data-theme=retro] .sleep-zs .z{color:rgba(0,255,255,.2)}[data-theme=retro] *,[data-theme=retro] :after,[data-theme=retro] :before{border-radius:0!important}[data-theme=retro] .passport-card{background:#091426;border:3px solid #12223c}[data-theme=retro] .passport-title{font-family:MD Thermochrome,sans-serif;color:#607dab;font-size:26px}[data-theme=retro] .passport-name{font-family:Kilo,sans-serif;color:#607dab;font-size:17.5px}[data-theme=retro] .passport-number{font-family:MD Thermochrome,sans-serif;color:#607dab;font-size:17.5px}[data-theme=retro] .passport-grid{background-color:transparent;border-color:rgba(96,125,171,.13)}[data-theme=retro] .passport-grid-cell{border-color:rgba(96,125,171,.13)}[data-theme=retro] .passport-foil{display:none}[data-theme=retro]{--crt-red:#d03b31;--crt-green:#669f73;--crt-blue:#0a6dce}[data-theme=retro] body:after,[data-theme=retro] body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:overlay;z-index:9999;transform:translateZ(0)}[data-theme=retro] body:before{background:repeating-linear-gradient(var(--crt-red) 0,var(--crt-green) 2px,var(--crt-blue) 4px)}[data-theme=retro] body:after{background:repeating-linear-gradient(90deg,var(--crt-red) 1px,var(--crt-green) 2px,var(--crt-blue) 3px)}html{font-size:16px;-webkit-text-size-adjust:100%;background:var(--bg)}body{background:transparent;color:var(--text);transition:color .2s ease;font-family:var(--font-sans);font-size:1rem;line-height:1.65;letter-spacing:-.01em;padding:0 1rem;max-width:550px;margin:0 auto;min-height:100vh}.scroll-fade{position:fixed;top:0;left:0;right:0;height:36px;z-index:10;pointer-events:none;background:linear-gradient(to bottom,var(--bg),transparent)}h1{font-family:var(--font-serif);font-size:.875rem;font-weight:400;letter-spacing:-.01em;line-height:1.65;margin-bottom:.25rem}h2{margin-bottom:2.5rem}h2,h3{font-size:.875rem;font-weight:400;color:var(--muted)}h3{margin-bottom:.75rem}p{margin-bottom:1.25rem;font-size:.875rem}p:last-child{margin-bottom:0}a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:rgba(0,0,0,.25);text-decoration-color:rgba(0,0,0,.25);text-underline-offset:2px;transition:-webkit-text-decoration-color .15s ease;transition:text-decoration-color .15s ease;transition:text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.header{padding-top:120px;padding-bottom:32px;margin-bottom:0;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.header-identity{display:flex;align-items:center;gap:12px}.header-identity h1{margin-bottom:0}.header-identity h2{margin-bottom:0;display:flex;align-items:center}.kai-logo-flip{flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:50px;height:50px;perspective:600px;cursor:pointer}.kai-logo-inner{position:relative;width:100%;height:100%;transition:transform .5s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d}.kai-logo-inner.flipped{transform:rotateY(180deg)}.kai-logo-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden}.kai-logo-face img{display:block;width:50px;height:50px;pointer-events:none}.kai-logo-back{transform:rotateY(180deg)}main{display:flex;flex-direction:column;gap:128px;padding-bottom:128px}.bio{animation:fadeUp .5s cubic-bezier(.22,1,.36,1) .06s both}.bio-headline{font-size:16px;line-height:1.65;color:var(--text);opacity:.6;margin-bottom:0;text-wrap:balance}.bio-expand{background:none;border:none;padding:24px 0 0;font-family:inherit;font-size:14px;color:var(--muted);cursor:pointer;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.bio-expand:hover{color:var(--text)}.bio-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1)}.bio-reveal-open{grid-template-rows:1fr}.bio-reveal-inner{overflow:hidden}.bio-reveal-inner>:first-child{margin-top:24px}.bio-entries{display:flex;flex-direction:column;gap:22px;margin-bottom:32px}.bio-entry{display:flex;gap:12px;align-items:flex-start}.bio-num{flex-shrink:0;width:35px;font-size:.75rem;line-height:1.65;color:var(--text)}.bio-text{flex:1 1;font-size:.875rem;line-height:1.65;color:var(--muted);margin-bottom:0}.bio-text strong{font-weight:400;color:var(--text)}.bio-link{color:var(--text);text-decoration:none;transition:color .15s ease}.bio-link:hover{color:#86dbef}[data-theme=dark] .bio-link:hover{color:#ce7fff}.bio-closing{color:var(--muted);margin-bottom:1.25rem}.bio-closing,.bio-contact{font-size:.875rem;line-height:1.65}.bio-contact{color:var(--text)}.bio-contact-muted{color:var(--muted)}.bio-contact a:hover{-webkit-text-decoration-color:#86dbef;text-decoration-color:#86dbef;color:#86dbef}[data-theme=dark] .bio-contact a:hover{-webkit-text-decoration-color:#ce7fff;text-decoration-color:#ce7fff;color:#ce7fff}.writing{animation:fadeUp .5s cubic-bezier(.22,1,.36,1) .12s both}.writing h3{margin-bottom:42px}.section-header{display:flex;align-items:baseline;justify-content:space-between}.section-header h3{margin-bottom:42px}.view-more{opacity:.4;font-size:.85rem;text-decoration:none;color:var(--text);transition:opacity .2s ease,color .2s ease}.view-more:hover{opacity:1;color:#86dbef}[data-theme=dark] .view-more:hover{color:#ce7fff}.passport-tilt-wrap{perspective:800px;width:calc(100% - 20px);margin:12px auto 0}.passport-card{position:relative;width:100%;aspect-ratio:351/211;background:#eee;border-radius:17px;overflow:hidden;container-type:inline-size;will-change:transform}[data-theme=dark] .passport-card{background:#1e1e1e}.passport-foil{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:5;mix-blend-mode:overlay;opacity:.6}[data-theme=dark] .passport-foil{mix-blend-mode:screen;opacity:.5}.passport-card-shadow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:10}.passport-watermark{position:absolute;left:20.55%;top:8.17%;width:48.98%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.passport-title{position:absolute;top:9.05%;left:5.6%;font-family:"Geist Pixel Line",var(--font-sans);font-size:7.41cqi;font-weight:400;line-height:normal;color:#000}[data-theme=dark] .passport-title{color:hsla(0,0%,100%,.6)}.passport-grid{position:absolute;top:50%;left:44.18%;transform:translateY(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:50.2%;opacity:.4;border-top:1px solid #c9c9c9;border-left:1px solid #c9c9c9}.passport-grid-cell{aspect-ratio:1;border-right:1px solid #c9c9c9;border-bottom:1px solid #c9c9c9}[data-theme=dark] .passport-grid,[data-theme=dark] .passport-grid-cell{border-color:hsla(0,0%,79%,.1)}.passport-stamps{position:absolute;left:44.48%;top:3.64%;width:51.91%;aspect-ratio:182.194/104.857}@keyframes stampIn{0%{opacity:0;scale:.85}to{opacity:1;scale:1}}.passport-stamp{position:absolute;height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0;scale:.85;animation:stampIn .35s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.4s + var(--stamp-i) * .08s)}.passport-name{position:absolute;bottom:8.8%;left:5.6%;font-size:4.98cqi;font-weight:400;line-height:normal;color:rgba(0,0,0,.5)}[data-theme=dark] .passport-name{color:hsla(0,0%,100%,.5)}.passport-number{position:absolute;bottom:8.8%;right:5.6%;font-family:"Geist Pixel Line",var(--font-sans);font-size:4.98cqi;font-weight:400;line-height:normal;color:#000}[data-theme=dark] .passport-number{color:hsla(0,0%,100%,.6)}.writing-table{display:flex;flex-direction:column;position:relative}.writing-highlight{position:absolute;left:0;right:0;border-radius:8px;background-color:rgba(0,0,0,.05);pointer-events:none;transition:opacity .18s ease;z-index:0}[data-theme=dark] .writing-highlight{background-color:hsla(0,0%,100%,.05)}.writing-row{display:flex;align-items:center;padding:6px 8px;border-radius:8px;color:var(--text);font-size:.875rem;position:relative;z-index:1;text-decoration:none}.writing-year{flex-shrink:0;width:80px;color:var(--muted);font-size:.875rem}.writing-icon{flex-shrink:0;width:18px;height:18px;margin-right:12px;display:flex;align-items:center;justify-content:center}.writing-icon img{width:18px;height:18px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.writing-title{flex:1 1;display:flex;align-items:center;gap:8px}.wip-badge{height:12px;width:auto;object-fit:contain;opacity:.4;flex-shrink:0}[data-theme=dark] .wip-badge{filter:invert(1)}[data-theme=retro] .wip-badge{filter:invert(1) sepia(1) saturate(100) hue-rotate(140deg);opacity:1}[data-theme=retro] .writing-row--active .wip-badge{filter:brightness(0) saturate(100%) invert(82%) sepia(55%) saturate(1500%) hue-rotate(88deg) brightness(104%) contrast(101%)}.writing-desc{flex-shrink:0;text-align:right;color:var(--muted);font-size:.875rem;opacity:.4;transition:opacity .2s ease}.writing-row--active .writing-desc{opacity:1}@media (max-width:768px){.writing-desc{display:none}.writing-row{align-items:flex-start}.writing-row .writing-year{padding-top:.125rem}.writing-row:has(.writing-icon) .writing-year{order:3;width:auto;text-align:right;margin-left:auto}.writing-row:has(.writing-icon){align-items:center}.writing-row:has(.writing-icon) .writing-icon{order:1}.writing-row:has(.writing-icon) .writing-title{order:2;flex:none}}.new-badge{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--pink);background:transparent;border:1px solid var(--pink);border-radius:3px;padding:.05rem .3rem;line-height:1.4;margin-left:.5rem;animation:badgePop .4s cubic-bezier(.34,1.56,.64,1) .3s both}.coming-soon{color:var(--muted);font-size:.875rem;opacity:.5;margin-bottom:42px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.work-card{position:relative;aspect-ratio:197/131;border-radius:7px;background:#f2f2f2;overflow:hidden}[data-theme=dark] .work-card{background:#1b1b1c}.work-card{transition:opacity .25s ease}.work-grid:hover .work-card{opacity:.6}.work-grid:hover .work-card:hover{opacity:1}.work-card img{display:block;width:100%;height:100%;object-fit:cover}.work-card-canvas{display:block}.work-card-canvas,.work-card-video{position:absolute;inset:0;width:100%;height:100%}.work-card-video{object-fit:cover;opacity:0;transition:opacity .25s ease}.work-card:hover .work-card-video{opacity:1}.footer{padding-bottom:4rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) .18s both;border-top:1px solid rgba(0,0,0,.08);padding-top:2rem}.footer-row{display:flex;align-items:center;gap:8px;width:100%}.footer-time{font-size:.875rem;color:var(--muted)}.site-stats{gap:9px;margin-left:auto}.site-stats,.stat-pill{display:flex;align-items:center}.stat-pill{gap:4px;padding:4px 8px;border-radius:50px;background:rgba(0,0,0,.06)}[data-theme=dark] .stat-pill{background:hsla(0,0%,100%,.08)}[data-theme=retro] .stat-pill{background:rgba(0,255,255,.08)}.stat-icon{width:14px;height:14px;opacity:.5;flex-shrink:0}[data-theme=dark] .stat-icon,[data-theme=retro] .stat-icon{filter:invert(1)}[data-theme=retro] .stat-icon{filter:invert(1) sepia(1) saturate(100) hue-rotate(140deg)}.stat-text{font-size:.75rem;color:var(--muted);white-space:nowrap;line-height:1}.mascot-wrap{position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mascot-sprite,.mascot-wrap{display:inline-flex;align-items:center}.mascot-sprite{justify-content:center;line-height:0}.mascot-bob{animation:mascotBob 3s ease-in-out infinite}.mascot-img{display:block;height:28px;width:auto;pointer-events:none;image-rendering:pixelated}.mascot-flip{transform:scaleX(-1)}.sleep-zs{position:absolute;left:100%;bottom:40%;margin-left:1px;pointer-events:none;line-height:0}.sleep-zs .z{position:absolute;bottom:0;left:0;width:7px;height:auto;color:#e5e5e5;opacity:0}[data-theme=dark] .sleep-zs .z{color:#282829}.mascot-greeting{position:absolute;left:100%;bottom:50%;margin-left:4px;font-size:8px;line-height:1;color:var(--muted);white-space:nowrap;pointer-events:none;animation:greetingPop 2s ease-out forwards}@keyframes greetingPop{0%{opacity:0;transform:translateY(2px)}15%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}.footer-links{display:flex;gap:1rem;font-size:.875rem}.bunny-wrap{position:relative;width:64px;height:72px}@keyframes leftEarTwitch{0%,to{transform:rotate(0deg)}2%{transform:rotate(-8deg)}4%{transform:rotate(4deg)}6%{transform:rotate(0deg)}}@keyframes rightEarTwitch{0%,to{transform:rotate(0deg)}3%{transform:rotate(8deg)}5%{transform:rotate(-4deg)}7%{transform:rotate(0deg)}}@keyframes zFloat{0%{opacity:0;transform:translate(0) scale(.6)}20%{opacity:1;transform:translate(2px,-3px) scale(.8)}70%{opacity:.8;transform:translate(5px,-9px) scale(.95)}to{opacity:0;transform:translate(7px,-12px) scale(1)}}@keyframes bodyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bunny-body{animation:bodyFloat 4s ease-in-out infinite;transform-origin:center bottom}.bunny-left-ear{animation:leftEarTwitch 12s ease-in-out infinite}.bunny-left-ear,.bunny-right-ear{transform-origin:50% 100%;transform-box:fill-box}.bunny-right-ear{animation:rightEarTwitch 12s ease-in-out .4s infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.header{justify-content:space-between}.header,.header-controls{display:flex;align-items:center}.header-controls{gap:8px;flex-shrink:0}[data-theme=retro] .header-controls{gap:15px}.retro-audio-toggle{background:none;outline:none;border:none;cursor:pointer;padding:0;line-height:0;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .15s ease}.retro-audio-toggle:hover{opacity:1}.font-toggle{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:#f2f2f2;box-shadow:inset 0 -1.338px 1.606px rgba(14,21,25,.1);outline:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}[data-theme=dark] .font-toggle{background:#1b1b1c;box-shadow:inset 0 2.677px 11.3px rgba(0,0,0,.25)}.theme-toggle{flex-shrink:0;background:none;outline:none;border:none;cursor:pointer;padding:0;line-height:0;overflow:hidden;align-self:center}.toggle-label{display:block}.juicebox-link{text-decoration:none!important}.juicebox-link:hover{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.socials-wrap{position:relative;display:inline}.socials-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:20;pointer-events:auto;animation:tooltipIn .5s cubic-bezier(.175,.885,.32,1.1) both}.socials-tooltip-bubble{display:flex;align-items:center;gap:14px;padding:8px;border-radius:12px;background:#f2f2f2}[data-theme=dark] .socials-tooltip-bubble{background:#2a2a2b}.socials-tooltip-arrow{display:block;width:0;height:0;margin:-1px auto 0;border-left:5.6px solid transparent;border-right:5.6px solid transparent;border-top:4.4px solid #f2f2f2}[data-theme=dark] .socials-tooltip-arrow{border-top-color:#2a2a2b}.socials-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#7b7b7b;text-decoration:none!important;padding:0;border-radius:0;transition:color .2s ease}.socials-icon svg{width:100%;height:100%}.socials-icon:hover{color:var(--text);text-decoration:none!important;animation:none}@keyframes tooltipIn{0%{opacity:0;transform:translateX(-50%) translateY(4px) scale(.96)}60%{opacity:1;transform:translateX(-50%) translateY(-2px) scale(1.01)}to{transform:translateX(-50%) translateY(0) scale(1)}}.article-page{width:100vw;position:relative;left:50%;transform:translateX(-50%);padding-bottom:6rem}.article-mobile-nav{display:none}.article-layout{position:relative;max-width:580px;margin:0 auto;padding:0 2.5rem}.article-sidebar{position:absolute;right:calc(100% + 84px);top:0;bottom:0;width:160px}.article-sidebar-inner{position:-webkit-sticky;position:sticky;top:2.5rem;padding-top:64px}.article-sidebar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.article-main{width:100%;min-width:0;padding-top:104px;margin-top:0}.toc-list{padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.toc-item,.toc-list{list-style:none}.toc-link{display:block;padding:5px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-sans);font-size:.875rem;line-height:1.5;color:var(--text);opacity:.3;transition:opacity .2s ease;width:100%}.toc-link--active,.toc-link:hover{opacity:.7}.article-back{font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .15s ease}.article-back:hover{color:var(--text)}.article-hero{width:100%;border-radius:10px;display:block;margin-bottom:2rem}.article-page .article-title{font-family:var(--font-serif);font-size:.875rem;font-weight:400;line-height:1.4;color:var(--text);margin-bottom:.75rem;letter-spacing:-.02em}.article-meta{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted);margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=dark] .article-meta{border-bottom-color:hsla(0,0%,100%,.08)}.article-meta-sep{opacity:.3}.article-content p{font-size:.875rem;line-height:1.65;color:var(--text);margin-bottom:1.25rem}.article-content em{font-style:italic}.article-content strong{font-weight:500}.article-content h2{font-family:var(--font-serif);font-size:.875rem;font-weight:400;color:var(--text);margin:64px 0 1rem;letter-spacing:-.01em}.article-content blockquote{border-left:2px solid var(--muted);padding:.25rem 0 .25rem 1.25rem;margin:2rem 0;color:var(--muted);font-size:.875rem;line-height:1.65}.article-img-wrap{margin:64px 0;border-radius:10px;overflow:hidden}.article-img-wrap img{width:100%;display:block}.article-disp-wrap{position:relative;overflow:hidden}.article-disp-wrap img{width:100%;display:block}.article-disp-wrap.article-hero{border-radius:10px;margin-bottom:2rem}.article-disp-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.article-content ul{list-style:none;padding:0;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.75rem}.article-content ul li{padding:.875rem 1rem;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:.875rem;line-height:1.65;color:var(--muted)}[data-theme=dark] .article-content ul li{border-color:hsla(0,0%,100%,.08)}.article-content ul li strong{display:block;color:var(--text);margin-bottom:.25rem}.article-content a{color:var(--text)}.article-source{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.08)}[data-theme=dark] .article-source{border-top-color:hsla(0,0%,100%,.08)}.article-source a{font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .15s ease}.article-source a:hover{color:var(--text)}.article-content code{font-family:var(--font-mono);font-size:.8125rem;background:rgba(0,0,0,.05);padding:.15em .4em;border-radius:4px}[data-theme=dark] .article-content code{background:hsla(0,0%,100%,.08)}.article-demo-wrap{margin:2rem 0;width:440px;height:240px;max-width:100%;border-radius:14px;overflow:hidden}.article-demo-wrap:has(.demo-spring),.article-demo-wrap:has(.demo-theme),.article-demo-wrap:has(.demo-tilt-wrap){height:auto;overflow:visible;width:100%}.demo-spring{padding:1.25rem;display:flex;flex-direction:column;background:#f2f2f2;border-radius:14px;border:1px solid rgba(0,0,0,.06)}[data-theme=dark] .demo-spring{background:#141415;border-color:hsla(0,0%,100%,.06)}.demo-spring-controls{display:flex;flex-direction:column;gap:.5rem}.elastic-slider{display:flex;align-items:center;background:#e8e8e8;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:.875rem 1.125rem}[data-theme=dark] .elastic-slider{background:#1e1e1f;border-color:hsla(0,0%,100%,.08)}.elastic-slider-label{font-size:.8125rem;color:var(--muted);min-width:80px;flex-shrink:0}.elastic-slider-track-wrap{flex:1 1;position:relative;height:28px;display:flex;align-items:center;cursor:pointer;touch-action:none;border-left:1px solid rgba(0,0,0,.1);margin-left:.875rem;padding-left:.875rem}[data-theme=dark] .elastic-slider-track-wrap{border-left-color:hsla(0,0%,100%,.1)}.elastic-slider-track{width:100%;height:1px;background:rgba(0,0,0,.12);position:relative}[data-theme=dark] .elastic-slider-track{background:hsla(0,0%,100%,.12)}.elastic-slider-thumb{position:absolute;top:50%;width:2px;height:22px;background:var(--muted);border-radius:1px;transform:translate(-50%,-50%);pointer-events:none;transition:height .15s ease,background .15s ease}.elastic-slider:active .elastic-slider-thumb,.elastic-slider:hover .elastic-slider-thumb{height:26px;background:var(--text)}.elastic-slider-icon{flex-shrink:0;margin-left:.875rem;color:var(--muted);display:flex;align-items:center;opacity:.4}.demo-spring-values{display:flex;gap:1.5rem;padding:.625rem .25rem 0}.demo-spring-value{font-size:.6875rem;color:var(--muted);opacity:.7}.demo-spring-table{position:relative;margin-top:1.5rem}.demo-spring-highlight{position:absolute;left:0;right:0;background:rgba(0,0,0,.05);border-radius:6px;pointer-events:none;z-index:0}[data-theme=dark] .demo-spring-highlight{background:hsla(0,0%,100%,.06)}.demo-spring-row{position:relative;z-index:1;display:flex;align-items:center;gap:1rem;padding:.5rem .625rem;cursor:default;transition:color .1s ease}.demo-spring-item-label{font-size:.8125rem;color:var(--text);min-width:72px}.demo-spring-item-desc{font-size:.8125rem;color:var(--muted)}.demo-spring-row--active .demo-spring-item-label{color:var(--text)}.demo-theme{padding:0;display:flex;align-items:stretch}.demo-theme-card{flex:1 1;border-radius:14px;padding:1.25rem 1.5rem;border:1px solid var(--pg-border,rgba(0,0,0,.08));transition:background .3s ease,border-color .3s ease;display:flex;flex-direction:column;gap:.75rem}.demo-theme-header{display:flex;justify-content:space-between;align-items:center}.demo-theme-title{font-size:.8125rem;font-weight:500;transition:color .3s ease}.demo-theme-toggle{font-family:inherit;font-size:.6875rem;padding:.2rem .5rem;border:1px solid;border-radius:5px;background:transparent;cursor:pointer;transition:color .3s ease,border-color .3s ease}.demo-theme-body{font-size:.75rem;line-height:1.5;transition:color .3s ease}.demo-theme-accent{height:2px;border-radius:2px;transition:background .3s ease}.demo-theme-vars{display:flex;flex-direction:column;gap:.25rem}.demo-theme-var-row{display:flex;justify-content:space-between;font-size:.625rem;font-family:var(--font-mono)}.demo-theme-var-row,.demo-theme-var-value{transition:color .3s ease}.demo-tilt-wrap{display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}.demo-tilt-perspective{perspective:800px;width:360px;max-width:100%;flex-shrink:0}.demo-tilt-card{width:100%;aspect-ratio:351/211;border-radius:14px;background:#ddd;position:relative;overflow:hidden;cursor:default;will-change:transform;container-type:inline-size}[data-theme=dark] .demo-tilt-card{background:#2a2a2a}.demo-tilt-card .passport-foil{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:5;mix-blend-mode:overlay;opacity:.6}[data-theme=dark] .demo-tilt-card .passport-foil{mix-blend-mode:screen;opacity:.5}.demo-tilt-shadow-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:10}.demo-tilt-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.25rem}.demo-tilt-label{font-size:.8125rem;font-weight:500;color:#000}[data-theme=dark] .demo-tilt-label{color:hsla(0,0%,100%,.6)}.demo-tilt-sub{font-size:.6875rem;color:rgba(0,0,0,.35)}[data-theme=dark] .demo-tilt-sub{color:hsla(0,0%,100%,.3)}.demo-mascot{height:100%;justify-content:center;gap:3rem}.demo-mascot,.demo-mascot-unit{display:flex;align-items:center}.demo-mascot-unit{flex-direction:column;gap:.75rem;cursor:pointer}.demo-mascot-sprite{position:relative;width:64px;height:48px;display:flex;align-items:center;justify-content:center}.demo-mascot-bob{animation:mascotBob 2.5s ease-in-out infinite}@keyframes mascotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.demo-mascot-img{width:100%;height:auto;transition:transform .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.demo-mascot-flip{transform:scaleX(-1)}.demo-mascot-label{font-size:.6875rem;color:var(--muted)}.demo-sleep-zs{position:absolute;left:100%;bottom:40%;margin-left:1px;pointer-events:none;line-height:0}.demo-sleep-zs .demo-z{position:absolute;bottom:0;left:0;width:7px;height:auto;color:var(--muted);opacity:0}.not-found-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 0;width:100vw;margin-left:calc(-50vw + 50%)}.dots-game{max-width:460px;padding:0}.dots-game,.dots-svg{width:100%;overflow:visible}.dots-svg{display:block;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:crosshair}.cat-strokes-img{pointer-events:none}[data-theme=dark] .cat-strokes-img{filter:invert(1)}[data-theme=retro] .cat-strokes-img{filter:invert(1) sepia(1) saturate(100) hue-rotate(140deg)}.draw-stroke{stroke:var(--text);opacity:.35;transition:opacity .4s ease}.draw-stroke--done{opacity:1}[data-theme=retro] .draw-stroke{stroke:#00f6ff}.dot-label{fill:#86dbef;font-size:14px;font-weight:800;font-family:var(--font-sans);transition:opacity .3s ease;pointer-events:none}[data-theme=dark] .dot-label{fill:#ce7fff}[data-theme=retro] .dot-label{fill:#00f6ff}.dot-circle{fill:#86dbef;transition:fill .3s ease,opacity .4s ease;pointer-events:none}.dot-circle--clicked{fill:var(--text)}.dot-circle--done{opacity:0}[data-theme=dark] .dot-circle{fill:#ce7fff}[data-theme=dark] .dot-circle--clicked{fill:var(--text)}[data-theme=retro] .dot-circle{fill:#00f6ff}[data-theme=retro] .dot-circle--clicked{fill:var(--text)}.dot-pulse-ring{stroke:#86dbef;stroke-width:2;pointer-events:none}[data-theme=dark] .dot-pulse-ring{stroke:#ce7fff}[data-theme=retro] .dot-pulse-ring{stroke:#00f6ff}.not-found-text{text-align:center;margin-top:2rem}.not-found-title{font-family:var(--font-serif);font-size:1.125rem;font-weight:400;letter-spacing:-.02em;margin-bottom:.25rem;color:var(--text)}.not-found-subtitle{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:0}.not-found-bye{font-family:var(--font-serif);font-size:24px;font-weight:400;letter-spacing:-.02em;color:var(--text)}.connect-dots-demo{display:flex;justify-content:center;padding:1.5rem 0}.connect-dots-demo-svg{width:200px;height:200px;overflow:visible}.connect-dots-demo-line{stroke:var(--text);transition:stroke .3s ease}.connect-dots-demo-label{fill:#86dbef;font-size:12px;font-weight:800;font-family:var(--font-sans);transition:opacity .3s ease}[data-theme=dark] .connect-dots-demo-label{fill:#ce7fff}[data-theme=retro] .connect-dots-demo-label{fill:#00f6ff}.connect-dots-demo-dot{fill:#86dbef;transition:fill .3s ease}.connect-dots-demo-dot--snapped{fill:var(--text)}[data-theme=dark] .connect-dots-demo-dot{fill:#ce7fff}[data-theme=dark] .connect-dots-demo-dot--snapped{fill:var(--text)}[data-theme=retro] .connect-dots-demo-dot{fill:#00f6ff}[data-theme=retro] .connect-dots-demo-dot--snapped{fill:var(--text)}.connect-dots-demo-pulse{stroke:#86dbef;stroke-width:1.5}[data-theme=dark] .connect-dots-demo-pulse{stroke:#ce7fff}[data-theme=retro] .connect-dots-demo-pulse{stroke:#00f6ff}@media (max-width:600px){.dots-game{padding:0 20px}.dot-label{font-size:12px}}@media (max-width:860px){.article-sidebar{display:none}.article-mobile-nav{display:flex;justify-content:space-between;align-items:center;padding:2.5rem 0 2rem}.article-page{max-width:600px;margin:0 auto;left:auto;transform:none;width:auto}.article-layout{padding:0}.article-main{max-width:none;padding-top:0}}@media (max-width:480px){body{padding:0 26px}main{gap:64px;padding-bottom:64px}.header{padding-top:2.5rem;align-items:center}.header-controls{align-self:center}.header-identity h2{font-size:12px}.work-grid{grid-template-columns:1fr}.work-card{border-radius:12px}.footer-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-row-gap:12px;row-gap:12px;grid-column-gap:8px;column-gap:8px;align-items:center}.mascot-wrap{grid-column:1/-1;grid-row:1;justify-self:start}.footer-time{grid-row:2;grid-column:1;font-size:.75rem}.site-stats{grid-row:2;grid-column:2}.article-page{max-width:600px;margin:0 auto;left:auto;transform:none;width:auto}.article-layout{padding:0}.article-sidebar{display:none}.article-main{max-width:none;padding-top:0}}