:root{--ground: #0a0c14;--ink: #f1ede4;--dim: #a8a4b5;--rule: #3a3852;--pink: #ff5ca8;--pink-deep: #b8246f;--yellow: #ffd23f;--teal: #3fd6c6;--f-marker: "Permanent Marker", "Marker Felt", cursive;--f-body: "Atkinson Hyperlegible", system-ui, sans-serif;--gutter: 16px;--ease: cubic-bezier(.2, .7, .2, 1);--hand: 255px 18px 225px 16px / 18px 225px 16px 255px;color-scheme:dark}@media (min-width: 760px){:root{--gutter: 32px}}*{box-sizing:border-box}html{background:var(--ground);scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem / 1.6 var(--f-body);-webkit-font-smoothing:antialiased}::selection{background:var(--pink);color:var(--ground)}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px;border-radius:4px}a{color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}a:hover{color:var(--pink)}*{scrollbar-color:var(--rule) var(--ground)}img{display:block;max-width:100%}.wrap{max-width:1120px;margin:0 auto;padding:0 var(--gutter)}.display{font-family:var(--f-marker);font-weight:400;line-height:1.02;letter-spacing:0;margin:0 0 .3em;text-wrap:balance}.stars{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.page{position:relative;z-index:1}.top{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px var(--gutter);background:var(--ground);border-bottom:1px dashed var(--rule)}.mark{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--f-marker);font-size:1.05rem}.mark:hover{color:var(--ink)}.mark img{width:32px;height:32px}.top-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 18px;font-weight:700;font-size:.95rem}.top-nav a{color:var(--ink);text-decoration:none}.top-nav a:hover{color:var(--pink)}.lang{display:flex;border:1.5px solid var(--rule);border-radius:999px;overflow:hidden}.lang button{font:700 .8rem var(--f-body);letter-spacing:.08em;background:none;color:var(--dim);border:0;padding:6px 10px;cursor:pointer}.lang button[aria-pressed=true]{background:var(--ink);color:var(--ground)}@media (max-width: 479px){.mark span{display:none}.top-nav{width:100%;justify-content:flex-start;gap:6px 14px;font-size:.9rem}}.hero{position:relative;min-height:calc(100svh - 58px);max-width:1120px;margin:0 auto;padding:40px var(--gutter) 64px;display:grid;gap:24px;align-items:center}@media (min-width: 900px){.hero{grid-template-columns:1.1fr .9fr}}@media (max-width: 899px){.hero{padding-top:24px}}.hero h1{font-size:clamp(3rem,8vw,6rem);max-width:9ch;margin-bottom:.2em}.hero-copy{min-width:0}.swipe{color:var(--ink);padding:0 .06em;background:linear-gradient(var(--pink-deep),var(--pink-deep)) no-repeat 0 78% / 100% 34%;-webkit-box-decoration-break:clone;box-decoration-break:clone}.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--dim);max-width:36ch;margin:0 0 28px}.btn{display:inline-flex;align-items:center;gap:.5em;font:700 1.1rem / 1.2 var(--f-body);color:var(--ground);background:var(--yellow);padding:.8em 1.4em;border-radius:255px 16px 225px 14px/16px 225px 14px 255px;text-decoration:none;transition:transform .24s var(--ease)}.btn:hover{color:var(--ground);transform:rotate(-1.2deg) translateY(-2px)}@media (min-width: 600px){.hero .btn{min-width:22em;justify-content:center}}.note{color:var(--dim);font-size:.95rem;margin:14px 0 0}.jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.jump a{color:var(--ink);text-decoration:none;font-weight:700;padding:.45em 1.1em;border:2px solid var(--ink);border-radius:255px 14px 225px 12px/14px 225px 12px 255px;transition:background .2s var(--ease),color .2s var(--ease),transform .24s var(--ease)}.jump a:hover{background:var(--ink);color:var(--ground);transform:rotate(-1deg)}.goblin{display:block;width:100%;height:auto;overflow:visible}.companion{position:relative;width:min(80vw,420px);justify-self:center}@media (min-width: 1100px){.motion .companion{--zoom: calc(1 + .6*max(0, 1 - var(--sy, 0) / 700)) ;position:fixed;right:16px;top:calc(120px + var(--g, 0) * (100svh - 320px));width:clamp(150px,13vw,210px);justify-self:auto;z-index:3;pointer-events:none}.motion .companion .goblin{scale:var(--zoom, 1);transform-origin:100% 0}}.companion-bubble{display:none;margin:0}@media (min-width: 1100px){.motion .companion-bubble{display:block;position:absolute;right:0;top:calc(100% * var(--zoom, 1) + 12px);width:230px;padding:14px 18px;font:400 1rem / 1.4 var(--f-body);color:var(--ink);background:var(--ground);border:2px solid var(--ink);border-radius:var(--hand);opacity:0;transform:translateY(-6px) scale(.96);transform-origin:right top;transition:opacity .28s var(--ease),transform .28s var(--ease)}.motion .companion-bubble.show{opacity:1;transform:none}.motion .companion-bubble.show+.goblin{animation:nod .7s var(--ease) 2}}@keyframes nod{0%{transform:rotate(0)}50%{transform:rotate(-8deg) translateY(-2px)}to{transform:rotate(0)}}.goblin path{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.goblin .outline{stroke:var(--ink)}.goblin .orbit{stroke:var(--pink);stroke-width:2.5;opacity:.8}.goblin .arrow{stroke:var(--teal)}.goblin .pupils{transform:translate(calc(var(--gx, 0) * 2px),calc(var(--gy, 0) * 1.5px));transition:transform .24s var(--ease)}.goblin .eyeball{fill:var(--ground)}.goblin .pupil{fill:var(--ink);stroke:none}.goblin .glint{fill:var(--ground);stroke:none}.goblin .planet{display:none;fill:var(--teal)}.goblin .lean{transform-box:view-box;transform-origin:120px 140px;transform:translate(calc(var(--hx, 0) * -4px),calc(var(--hy, 0) * 3px)) rotate(calc(var(--hx, 0) * -4deg));transition:transform .42s var(--ease)}.goblin .brows{transition:transform .3s var(--ease)}.goblin .arrow-wrap{pointer-events:none}.goblin .arrow{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .52s cubic-bezier(.16,1,.3,1),stroke-width .3s var(--ease)}.motion .goblin .arrow{animation:none}.motion .goblin .planet{display:inline}.motion .goblin .head{transform-box:view-box;transform-origin:120px 130px;animation:bob 6s ease-in-out infinite}.motion .goblin .ear-l{transform-box:view-box;transform-origin:60px 110px;animation:ear-flick 8s ease-in-out infinite}.motion .goblin .ear-r{transform-box:view-box;transform-origin:160px 110px;animation:ear-flick-r 8s ease-in-out infinite}.motion .goblin .glance{animation:glance 9s ease-in-out infinite}.motion .goblin .blink{transform-box:fill-box;transform-origin:center;animation:blink 7s infinite}.goblin.hovering .brows{transform:translateY(-3px)}.goblin.hovering .arrow{stroke-dashoffset:0;stroke-width:5}.motion .goblin path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s var(--ease) forwards;animation-delay:calc(var(--i, 0) * .16s + .2s)}.motion .swipe{background-size:0% 34%;animation:swipe .9s .5s var(--ease) forwards}.motion .hero-copy{transform:translateY(calc(var(--sy, 0) * .12px))}@keyframes draw{to{stroke-dashoffset:0}}@keyframes swipe{to{background-size:100% 34%}}@keyframes blink{0%,88%,92%,96%,to{transform:scaleY(1)}90%,94%{transform:scaleY(.1)}}@keyframes bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.8deg)}}@keyframes ear-flick{0%,84%,to{transform:rotate(0)}88%{transform:rotate(-9deg)}92%{transform:rotate(3deg)}96%{transform:rotate(0)}}@keyframes ear-flick-r{0%,84%,to{transform:rotate(0)}88%{transform:rotate(9deg)}92%{transform:rotate(-3deg)}96%{transform:rotate(0)}}@keyframes glance{0%,56%,to{transform:translate(0)}62%,72%{transform:translate(-1px)}80%,88%{transform:translate(1px)}}.hl{color:var(--ink);padding:0 .12em;background:linear-gradient(var(--pink-deep),var(--pink-deep)) no-repeat 0 80% / 100% 40%;-webkit-box-decoration-break:clone;box-decoration-break:clone}.motion .hl{background-size:0% 40%;transition:background-size .9s var(--ease) .15s}.motion .hl.on{background-size:100% 40%}.track{position:relative}.boxes{display:grid;gap:28px;padding-top:110px}@media (min-width: 760px){.boxes{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:28px;row-gap:48px;align-items:start}.box:nth-child(1){grid-column:1 / span 7}.box:nth-child(2){grid-column:8 / span 5;margin-top:72px}.box:nth-child(3){grid-column:2 / span 5}.box:nth-child(4){grid-column:8 / span 5;margin-top:40px}.box:nth-child(2) h2{font-size:clamp(2rem,4.4vw,3.4rem)}}.box{position:relative;padding:36px 36px 32px;background:var(--ground);border:2px solid var(--ink);border-radius:var(--hand);transform:rotate(var(--tilt, 0deg))}.box:nth-child(1){--tilt: -.6deg}.box:nth-child(2){--tilt: .8deg}.box:nth-child(3){--tilt: .5deg}.box:nth-child(4){--tilt: -.9deg}.box h2{font-size:clamp(2.2rem,4.4vw,3.4rem);margin:0 0 .3em}.box:nth-child(1) p{max-width:56ch}.box:nth-child(1) h2{font-size:clamp(2.6rem,5.4vw,4.4rem)}.box p{color:var(--dim);font-size:1.1rem;max-width:40ch;margin:0}.doodle{position:absolute;top:-22px;right:-12px;width:52px;height:52px;overflow:visible;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.doodle-spark,.doodle-loop{stroke:var(--teal)}.doodle-bolt{stroke:var(--ink)}.doodle-orbit{stroke:var(--pink)}.motion .box{opacity:0;transform:translateY(40px) rotate(var(--tilt, 0deg));transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d, 0ms)}.motion .box.in{opacity:1;transform:rotate(var(--tilt, 0deg))}.motion .doodle path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) .6s}.motion .box.in .doodle path{stroke-dashoffset:0}.divider{position:relative;max-width:1120px;height:56px;margin:0 auto;padding:0 var(--gutter)}.divider .line{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.divider .star{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;fill:var(--teal)}.motion .divider .line path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--dp, 0))}.motion .divider .star{opacity:var(--dp, 0);transform:rotate(calc(var(--dp, 0) * 180deg)) scale(calc(.2 + var(--dp, 0) * .8))}.prose{display:grid;gap:28px;padding-top:110px;padding-bottom:40px}@media (min-width: 900px){.prose{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:baseline}}.prose h2{font-size:clamp(2.6rem,6vw,4.2rem)}.prose-body p{font-size:1.15rem;color:var(--dim);max-width:60ch;margin:0 0 1.1em}.glance{margin:36px 0 0;max-width:440px;padding:26px 28px 14px;border:2px solid var(--ink);border-radius:var(--hand)}.glance h3{font-size:2rem;margin:0 0 10px}.glance dl{margin:0}.glance dl>div{display:grid;grid-template-columns:8.5rem 1fr;gap:12px;padding:11px 0;border-top:1px dashed var(--rule)}.glance dl>div:first-child{border-top:0}.glance dt{color:var(--dim);font-weight:700}.glance dd{margin:0;color:var(--ink)}@media (max-width: 519px){.glance dl>div{grid-template-columns:1fr;gap:2px}}.motion .prose h2,.motion .prose-body p{clip-path:inset(-20% 100% -20% -20%);transition:clip-path .9s var(--ease)}.motion .prose-body p{transition-delay:var(--d, 0ms)}.motion .glance dl>div{opacity:0;transform:translate(-16px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d, 0ms)}.motion .prose.in h2,.motion .prose.in .prose-body p{clip-path:inset(-20% -20% -20% -20%)}.motion .prose.in .glance dl>div{opacity:1;transform:none}.tools-section{position:relative}.tools-head{padding-top:110px}.tools-head h2{font-size:clamp(2.6rem,6vw,4.4rem)}.tools-head h2 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:4px;text-underline-offset:10px}.tools-head h2 a:hover{color:var(--pink);text-decoration-color:var(--pink)}.note-box{max-width:760px;margin-top:40px;padding:36px 40px;border:2px solid var(--ink);border-radius:var(--hand)}.note-box p{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;color:var(--ink);max-width:44ch}@media (max-width: 599px){.note-box{padding:26px 24px}}.contacts{padding:120px 0 96px}.contacts .display{font-size:clamp(2.6rem,6vw,4.2rem)}.contacts .lede{margin-bottom:0}.lead-grid{display:grid;gap:28px;margin-top:40px}@media (min-width: 760px){.lead-grid{grid-template-columns:1fr 1fr}}.lead{display:grid;grid-template-columns:112px 1fr;gap:22px;padding:26px;border:1.5px dashed var(--rule);border-radius:22px 6px 26px 8px}.lead img{width:112px;height:112px;border:2px solid var(--ink);border-radius:50% 42% 46% 54%/46% 52% 48% 54%}.lead h3{font-size:2.1rem;margin:0 0 4px}.role{color:var(--pink);font-weight:700;margin:0 0 12px}.lead-body{display:flex;flex-direction:column}.lead-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:auto;margin-bottom:10px}.lead-actions a{font-weight:700}.copy{font:700 .95rem / 1 var(--f-body);color:var(--ground);background:var(--ink);border:0;padding:.6em 1em;border-radius:255px 12px 225px 10px/12px 225px 10px 255px;cursor:pointer;transition:background .2s var(--ease)}.copy:hover{background:var(--pink)}.borderzone{padding:110px 0 120px}.frame-card{max-width:860px;margin:0 auto;padding:48px;border:2px solid var(--ink);border-radius:var(--hand)}.frame-card h2{font-size:clamp(2.6rem,6vw,4.4rem)}.frame-card p{color:var(--dim);max-width:62ch;margin:0 0 1em}.frame-card .lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink);max-width:56ch}.cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.btn-outline{display:inline-flex;align-items:center;font:700 1.1rem / 1.2 var(--f-body);color:var(--ink);background:transparent;border:2px solid var(--ink);padding:.8em 1.4em;border-radius:255px 16px 225px 14px/16px 225px 14px 255px;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease),transform .24s var(--ease)}.btn-outline:hover{color:var(--ground);background:var(--ink);transform:rotate(1deg)}@media (max-width: 599px){.frame-card{padding:28px}}.join{text-align:center;padding:80px var(--gutter) 120px;border-top:1px dashed var(--rule)}.join h2{font-size:clamp(3rem,8vw,6rem)}.join p{color:var(--dim);font-size:1.2rem;max-width:34ch;margin:0 auto 28px}.foot{max-width:1120px;margin:0 auto;padding:28px var(--gutter) 40px;border-top:1px dashed var(--rule);color:var(--dim);font-size:.92rem}.foot nav{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px;font-weight:700}.foot a{color:var(--ink)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.goblin path,.swipe{animation:none!important}}
