@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;700&display=swap";:root{--color-bg: #e2e2e5;--color-text: #222222;--color-card: #fcfcfd;--color-line: #333333}[data-theme=dark]{--color-bg: #19191b;--color-text: #faf3e1;--color-card: #232326;--color-line: #0c0c0d}*{margin:0;padding:0;box-sizing:border-box}html,body{background-color:var(--color-bg);color:var(--color-text);min-height:100vh;transition:background-color .2s ease,color .2s ease}#root{min-height:100vh}.dot-corner{position:fixed;width:12px;height:12px;border-radius:50%;background-color:var(--color-text);bottom:104px;right:96px;z-index:3;border:none;cursor:pointer;transition:transform .1s ease,background-color .2s ease}.dot-corner:hover{transform:scale(1.2)}.dot-corner:focus{outline:none}@media(max-width:768px){.dot-corner{bottom:44px;right:36px}}.container{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100%;padding:136px 2rem 2rem 136px}@media(max-width:768px){.container{align-items:center;padding:2rem;padding-top:96px;max-width:60ch;margin:0 auto}}.content{display:flex;align-items:flex-start;gap:1.5rem;position:relative;z-index:1}.stage{position:fixed;inset:40px 56px 64px 40px;transform:translate(10px,12px);clip-path:url(#stage-clip);background:#00d26a;pointer-events:none;z-index:0}.scene{position:fixed;inset:40px 56px 64px 40px;pointer-events:none}.frame-card>:where(:not(.scene)){position:relative;z-index:1}.sketch{position:fixed;pointer-events:none}.sketch svg{display:block;width:100%;height:100%;overflow:visible}.sketch path{fill:none;stroke:var(--color-line);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease}.sketch-stage{inset:40px 56px 64px 40px;transform:translate(10px,12px);z-index:1}.sketch-card{inset:40px 56px 64px 40px;z-index:3}.beetle-bg{width:100%;height:100%;border:none;display:block}.frame-card{position:fixed;inset:40px 56px 64px 40px;background:var(--color-card);clip-path:url(#card-clip);z-index:2;overflow:auto;transition:background-color .2s ease}@media(max-width:768px){.stage,.sketch-stage{inset:8px 16px 24px 20px;transform:translate(12px,14px)}.frame-card,.sketch-card{inset:8px 16px 24px 8px}}.sections{display:flex;flex-direction:column;gap:2.5rem}.posts,.projects-list{display:flex;flex-direction:column;gap:.5rem}.section-title{position:relative;font-family:Geist Mono,monospace;font-size:.85rem;font-weight:500;color:var(--color-text);opacity:.5;margin-bottom:.5rem;text-transform:lowercase}.post-link{font-family:Geist Mono,monospace;font-size:.95rem;color:var(--color-text);text-decoration:none;transition:opacity .2s ease}.post-link:hover{opacity:.5}.dot{display:block;width:12px;height:12px;background-color:#00d26a;border-radius:50%;margin-top:-10%;transition:transform .1s ease,background-color .2s ease}.dot:hover{transform:scale(1.2);background-color:#f7e396}.landscape{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:flex-end;color:var(--color-line);pointer-events:none}.landscape-art{display:block;width:440px;height:auto;flex:none}.landscape .ground{height:48px;margin-bottom:18px;fill:none;stroke:currentColor;stroke-width:5.5px;stroke-linecap:round;overflow:visible}.landscape .ground-left{flex:32 0 0;margin-right:-14px}.landscape .ground-right{flex:68 0 0;margin-left:-16px}[data-theme=dark] .landscape,[data-theme=dark] .birds,[data-theme=dark] .stars{color:var(--color-text)}.birds{position:absolute;inset:0;overflow:hidden;color:var(--color-line);pointer-events:none}.bird{position:absolute;left:0;top:0;will-change:transform}.bird .pose{display:block;width:100%;height:auto;opacity:0}.bird .pose+.pose{position:absolute;inset:0}.bird .pose-flat{opacity:1}.bird .pose-down{animation:flap-down var(--flap, .52s) step-end infinite}.bird .pose-flat{animation:flap-flat var(--flap, .52s) step-end infinite}.bird .pose-up{animation:flap-up var(--flap, .52s) step-end infinite}.bird .pose-full{animation:flap-full var(--flap, .52s) step-end infinite}.bird .pose{animation-delay:var(--flap-delay, 0ms)}@keyframes flap-down{0%,16.6%{opacity:1}16.7%,to{opacity:0}}@keyframes flap-flat{0%,16.6%{opacity:0}16.7%,33.3%{opacity:1}33.4%,83.2%{opacity:0}83.3%,to{opacity:1}}@keyframes flap-up{0%,33.3%{opacity:0}33.4%,50%{opacity:1}50.1%,66.6%{opacity:0}66.7%,83.2%{opacity:1}83.3%,to{opacity:0}}@keyframes flap-full{0%,50%{opacity:0}50.1%,66.6%{opacity:1}66.7%,to{opacity:0}}.landscape .flower{position:absolute;height:auto}.crown{opacity:0}.crown-0{opacity:1}.crown-0{animation:crown-a 11s step-end infinite}.crown-1{animation:crown-b 11s step-end infinite}.crown-2{animation:crown-c 11s step-end infinite}.crown-3{animation:crown-d 11s step-end infinite}@keyframes crown-a{0%,16.6%{opacity:1}16.7%,66.6%{opacity:0}66.7%,83.2%{opacity:1}83.3%,to{opacity:0}}@keyframes crown-b{0%,16.6%{opacity:0}16.7%,33.3%{opacity:1}33.4%,49.9%{opacity:0}50%,66.6%{opacity:1}66.7%,to{opacity:0}}@keyframes crown-c{0%,33.3%{opacity:0}33.4%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes crown-d{0%,83.2%{opacity:0}83.3%,to{opacity:1}}.bird.asleep .pose{animation:none}.stars{position:absolute;inset:0;color:var(--color-line);pointer-events:none}.star{position:absolute;opacity:0;transform:scale(.4);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(.3s + var(--peek, 0ms))}[data-theme=dark] .star{opacity:1;transform:none}.star .pose{display:block;width:100%;height:auto;opacity:0}.star .pose+.pose{position:absolute;inset:0;height:100%}.star .pose-0{opacity:1}.star .pose-0{animation:twinkle-0 var(--twinkle, 1.4s) infinite}.star .pose-1{animation:twinkle-1 var(--twinkle, 1.4s) infinite}.star .pose-2{animation:twinkle-2 var(--twinkle, 1.4s) infinite}.star .pose-3{animation:twinkle-3 var(--twinkle, 1.4s) infinite}.star .pose{animation-delay:var(--twinkle-delay, 0ms)}@keyframes twinkle-0{0%,24.9%{opacity:1}25%,to{opacity:0}}@keyframes twinkle-1{0%,24.9%{opacity:0}25%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes twinkle-2{0%,49.9%{opacity:0}50%,74.9%{opacity:1}75%,to{opacity:0}}@keyframes twinkle-3{0%,74.9%{opacity:0}75%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.bird .pose,.star .pose,.crown{animation:none}}@media(max-width:1023px){.birds,.stars{display:none}}@media(max-width:1023px){.landscape{display:none}}.project-link-wrap{display:contents}.post-link-mobile{display:none}@media(max-width:1024px){.post-link-desktop{display:none}.post-link-mobile{display:inline}}.dodge-word{display:inline-block;will-change:transform}.tree-hidden .tree{mask:url(#tree-dim-mask)}.container{position:relative}.about-content{flex-direction:column;align-items:flex-end;position:relative;z-index:1}.about-text{font-family:Geist Mono,monospace;font-size:.95rem;color:var(--color-text);max-width:60ch}.dot-about{display:block;width:12px;height:12px;background-color:#00d26a;border-radius:50%;margin-right:-12%;margin-top:-7%;transition:transform .1s ease,background-color .2s ease}.dot-about:hover{transform:scale(1.2);background-color:#f7e396}.post-content{flex-direction:column;align-items:flex-end}.post-text{font-family:Geist Mono,monospace;font-size:.95rem;color:var(--color-text);max-width:60ch}.post-text h1{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.post-text p{margin-bottom:1rem;line-height:1.6}.post-text p:last-of-type{margin-bottom:0}.dot-post{display:block;width:12px;height:12px;background-color:#00d26a;border-radius:50%;margin-right:-7%;transition:transform .1s ease,background-color .2s ease}.dot-post:hover{transform:scale(1.2);background-color:#f7e396}@media(max-width:768px){.dot-post{align-self:flex-start;margin-right:0}}
