@font-face{font-family:Bricolage;src:url('./assets/bricolage-grotesque.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:DM Sans;src:url('./assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--paper:#f7f5ed;--ink:#282b25;--muted:#676a5f;--line:#dbddd0;--green:#c4ed67;--purple:#d4c5f0;--pink:#f7b9a8;--blue:#c6def0;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #6757a5;outline-offset:6px}button{cursor:pointer}::selection{background:var(--green);color:var(--ink)}.page-shell{max-width:1280px;margin:0 auto;padding:0 52px}.site-header{height:112px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-family:Bricolage,sans-serif;font-size:23px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center}.brand-spark{font-family:Arial,sans-serif;font-size:36px;line-height:1;display:inline-block;margin-right:10px;color:var(--ink)}.domain{color:#676a5f}.header-right{display:flex;align-items:center;gap:38px}.status{display:flex;align-items:center;gap:8px;font-size:10px;font-family:var(--mono);color:#6c7163}.status-dot,.mini-dot{width:6px;height:6px;border-radius:50%;background:#6d8837;display:inline-block}.github-top{font-size:13px;font-weight:650}.github-top span{margin-left:6px;font-size:19px;display:inline-block;transition:transform .2s}.github-top:hover span{transform:translate(3px,-3px)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;padding:72px 0 90px}.eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;margin:0 0 24px}.tiny-wave{font-size:20px;color:#6d8837}.hero h1{font-family:Bricolage,sans-serif;font-weight:800;font-size:clamp(60px,6.55vw,88px);line-height:.99;letter-spacing:-5.1px;margin:0;position:relative;z-index:2}.useful{position:relative;white-space:nowrap}.useful svg{position:absolute;bottom:-9px;left:0;width:100%;height:21px;z-index:-1;overflow:visible}.useful path{fill:none;stroke:var(--green);stroke-width:10;stroke-linecap:round}.intro{font-size:15px;line-height:1.7;max-width:345px;margin:30px 0 25px;color:#676a5f}.primary-link{display:inline-flex;align-items:center;gap:26px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:650;padding:16px 20px;border-radius:6px;transition:transform .2s,box-shadow .2s}.primary-link:hover{transform:translateY(-3px);box-shadow:4px 5px 0 var(--green)}.primary-link span{font-size:18px;line-height:1}.small-aside{display:inline-block;font-family:var(--mono);font-size:9px;margin-left:14px;color:var(--muted)}
.playground{position:relative;min-width:0;padding:70px 22px 59px 14px;margin-top:16px;perspective:1000px}.browser-toy{position:relative;border:1.5px solid var(--ink);border-radius:11px;background:#faf9f4;transform:rotate(-4deg);box-shadow:7px 8px 0 #dedfd3;transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.browser-bar{display:flex;align-items:center;gap:13px;border-bottom:1.5px solid var(--ink);height:37px;padding:0 13px;font-family:var(--mono);font-size:9px;letter-spacing:.3px;background:#eeeee4;border-radius:10px 10px 0 0}.window-dots{display:flex;gap:4px}.window-dots i{width:6px;height:6px;border:1px solid #585c50;border-radius:100%;background:transparent}.window-dots i:first-child{background:var(--green)}.window-expand{margin-left:auto;font-size:16px}.toy-stage{height:305px;position:relative;overflow:hidden;background-image:linear-gradient(#e1e3d580 1px,transparent 1px),linear-gradient(90deg,#e1e3d580 1px,transparent 1px);background-size:21px 21px;display:flex;align-items:center;justify-content:center}.browser-bottom{height:31px;padding:0 12px;border-top:1px solid #dadbce;display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:7px;color:#6d7163}.mini-dot{width:4px;height:4px;margin-right:5px;vertical-align:1px}.speech-bubble{position:absolute;z-index:3;right:21px;top:20px;font-family:var(--mono);font-size:10px;background:var(--paper);border:1px solid var(--ink);padding:8px 12px;border-radius:5px;transform:rotate(5deg);transition:background .3s;max-width:85%}.speech-bubble:after{content:'';position:absolute;bottom:-5px;left:13px;width:8px;height:8px;background:inherit;border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);transform:rotate(-45deg)}.stage-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:8px;color:#7a806b}.orbit-note{position:absolute;right:20px;top:0;font-family:Bricolage,sans-serif;font-size:16px;line-height:1.2;transform:rotate(8deg);color:#777b6d}.orbit-note svg{position:absolute;right:16px;top:24px;width:58px;height:48px;fill:none;stroke:#848976;stroke-width:1.4;stroke-linecap:round;transform:rotate(-8deg)}.sticker{position:absolute;z-index:4;border:1.3px solid var(--ink);box-shadow:2px 3px 0 #282b251f}.sticker-idea{top:58px;left:-13px;transform:rotate(-12deg);border-radius:5px;padding:10px 13px;background:var(--purple);font-family:var(--mono);font-size:10px}.sticker-idea span{font-size:14px;margin-right:5px}.sticker-bug{right:-2px;bottom:86px;transform:rotate(10deg);padding:14px 16px;background:var(--pink);font-family:var(--mono);font-size:10px;line-height:1.6}.sticker-bug strong{font-weight:700}.useless-control{position:absolute;bottom:-6px;left:28px;display:flex;align-items:center;gap:12px;transform:rotate(-3deg)}.chaos-button{display:flex;gap:7px;align-items:center;border:1px solid var(--ink);border-radius:50px;background:var(--paper);padding:10px 16px;font-family:var(--mono);font-size:10px;box-shadow:2px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .2s;white-space:nowrap}.chaos-button:hover{background:var(--green);transform:translateY(-2px);box-shadow:3px 5px 0 var(--ink)}.chaos-button:active{transform:translate(2px,3px);box-shadow:0 0 0 var(--ink)}.chaos-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}#button-hint{font-family:var(--mono);font-size:7px;color:var(--muted);max-width:130px;line-height:1.6}.playground.party .browser-toy{transform:rotate(3deg) translateY(-6px);box-shadow:9px 11px 0 var(--purple)}.playground.party .speech-bubble{background:var(--purple)}
.projects{border-top:1px solid var(--line);padding-top:31px;scroll-margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.section-heading>div{display:flex;gap:15px;align-items:center}.section-number{font-size:10px;font-family:var(--mono);color:#676a5f;white-space:nowrap}.section-heading h2{font-size:23px;letter-spacing:-.8px;font-weight:650;font-family:Bricolage,sans-serif;margin:0}.section-heading h2>span{color:#82964e}.section-aside{font-size:10px;font-family:var(--mono);color:#676a5f;white-space:nowrap}.project-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.project{padding:28px 23px 28px 0;display:flex;align-items:center;gap:19px;border-bottom:1px solid var(--line);position:relative;transition:background .2s}.project:nth-child(even){padding-left:29px;border-left:1px solid var(--line)}.project:hover{background:#eeeee3}.project-icon{width:61px;height:65px;border:1px solid #282b25;border-radius:15px;display:grid;place-items:center;flex-shrink:0;transform:rotate(-5deg);transition:transform .3s;box-shadow:2px 2px 0 #282b2520}.project-icon svg{width:34px;height:34px;stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.project:hover .project-icon{transform:rotate(5deg) translateY(-3px)}.icon-jolt{background:var(--green)}.icon-jolt svg{fill:var(--ink)}.icon-lily{background:var(--purple);transform:rotate(5deg)}.icon-kiln{background:var(--pink);transform:rotate(3deg)}.icon-kiln svg{fill:var(--ink);stroke:none}.icon-cortex{background:var(--blue);transform:rotate(-4deg)}.project-details{flex:1;min-width:0}.project h3{font-size:21px;font-family:Bricolage,sans-serif;font-weight:750;letter-spacing:-.5px;margin:0 0 6px;display:flex;align-items:center;gap:12px}.project-category{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:.6px;color:#676a5f}.project p{font-size:13px;line-height:1.8;color:#676a5f;margin:0}.project-arrow{font-size:24px;align-self:flex-start;margin:3px 0 0 8px;transition:transform .2s}.project:hover .project-arrow{transform:translate(3px,-3px)}.more-projects{display:flex;align-items:center;justify-content:space-between;padding:25px 0 31px;font-family:var(--mono);font-size:10px}.more-projects>span{color:#676a5f}.more-projects a{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:650}.more-projects a span{margin-left:15px}.more-projects a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 0 30px;font-size:11px;color:#676a5f}.site-footer p{display:flex;align-items:center;gap:7px;margin:0}.footer-spark{font-size:20px;color:#76884d}.site-footer>a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.motion-button{display:flex;gap:5px;align-items:center;background:none;border:0;padding:7px 0;font-size:10px;color:#676a5f}.motion-indicator{font-size:11px}.motion-button:hover{color:var(--ink)}.confetti{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size) * .5);background:var(--color);border:1px solid #282b2580;animation:confetti 1.2s cubic-bezier(.16,.64,.4,1) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:12px;left:12px;background:var(--ink);color:var(--paper);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
@keyframes bob{0%,100%{transform:translateY(2px) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}@keyframes shadow{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(.83);opacity:.2}}@keyframes blink{0%,43%,46%,100%{transform:scaleY(1)}44%,45%{transform:scaleY(.09)}}@keyframes confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rotation))}}
html.motion-paused{scroll-behavior:auto}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}.motion-paused .confetti{display:none}
@media(min-width:1440px){.page-shell{max-width:1320px;padding:0 65px}.hero{gap:60px;padding-top:78px;padding-bottom:95px}.hero h1{font-size:94px}.playground{padding-left:28px;padding-right:29px}.toy-stage{height:320px}.sticker-idea{left:0}.sticker-bug{right:0}.useless-control{left:40px}}
@media(max-width:1050px){.page-shell{padding:0 32px}.site-header{height:88px}.status{display:none}.hero{gap:22px;padding:61px 0 80px}.hero h1{font-size:70px;letter-spacing:-4px}.small-aside{display:block;margin:12px 0 0}.playground{padding-left:4px;padding-right:4px}.toy-stage{height:275px}.sticker-idea{font-size:8px;left:-10px;top:59px}.sticker-bug{font-size:8px;right:-8px;bottom:80px}.useless-control{left:15px;bottom:1px}.orbit-note{font-size:14px;right:13px}.project{gap:14px;padding-right:16px}.project:nth-child(even){padding-left:20px}.project-icon{width:51px;height:56px;border-radius:12px}.project h3{font-size:20px;gap:9px}.project p{font-size:10px}.project-category{font-size:8px}.section-aside{display:none}.site-footer{font-size:10px}}
@media(max-width:760px){.page-shell{padding:0 24px}.site-header{height:83px}.wordmark{font-size:20px}.brand-spark{font-size:29px}.github-top{font-size:11px}.hero{grid-template-columns:1fr;padding:46px 0 53px;gap:20px}.hero h1{font-size:clamp(61px,10vw,83px);letter-spacing:-3.9px;line-height:1.01}.eyebrow{font-size:9px;margin-bottom:21px}.intro{font-size:14px;max-width:330px;margin-top:26px;margin-bottom:23px}.primary-link{font-size:11px;padding:14px 18px}.small-aside{display:inline-block;margin:0 0 0 12px;font-size:8px}.playground{width:100%;max-width:450px;justify-self:center;padding:56px 25px 65px;margin-top:22px}.browser-toy{transform:rotate(-4deg)}.toy-stage{height:275px}.orbit-note{top:-4px;right:29px;font-size:14px}.sticker-idea{left:8px;top:41px;font-size:9px}.sticker-bug{right:5px;bottom:87px;font-size:9px}.useless-control{bottom:7px;left:43px}.section-heading{margin-bottom:20px}.section-heading>div{gap:10px}.section-heading h2{font-size:21px;line-height:1.2;letter-spacing:-.65px;max-width:280px}.section-number{align-self:flex-start;padding-top:5px;font-size:8px}.project-list{grid-template-columns:1fr}.project{padding:24px 0;gap:17px}.project:nth-child(even){padding-left:0;border-left:0}.project-icon{width:58px;height:62px;border-radius:13px}.project h3{font-size:22px;gap:13px}.project p{font-size:11px}.project-category{font-size:8px}.project-arrow{margin-top:5px}.more-projects{align-items:flex-start;gap:16px;font-size:9px;padding:24px 0}.more-projects>span{max-width:145px;line-height:1.7}.more-projects a{font-size:11px;text-align:right;white-space:nowrap}.more-projects a span{margin-left:5px}.site-footer{padding:25px 0;flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:12px}.site-footer p{width:100%;font-size:10px}.site-footer>a{font-size:9px}.motion-button{margin-left:auto;font-size:9px}}
@media(max-width:370px){.page-shell{padding:0 18px}.wordmark{font-size:18px}.brand-spark{margin-right:6px}.hero h1{font-size:57px;letter-spacing:-3.7px}.small-aside{font-size:7px;margin-left:8px}.playground{padding-left:13px;padding-right:13px}.sticker-idea{left:0}.sticker-bug{right:0}.useless-control{left:24px}.project p{font-size:10px}.project-icon{width:49px;height:55px}.project{gap:13px}.project-category{font-size:8px}.section-heading h2{font-size:19px}.site-footer>a{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.confetti{display:none}}
