:root{--blue: #2b50ec;--blue-bright: #3f62ff;--blue-deep: #1a33ad;--blue-tint: #e8ecff;--blue-tint-2: #d3dbff;--black: #0d0e12;--ink: #16181f;--white: #ffffff;--grey-50: #f7f8fa;--grey-100: #f0f1f4;--grey-200: #e4e6ec;--grey-300: #d2d5de;--grey-400: #a8adba;--grey-500: #767c8c;--grey-600: #545a68;--bg: var(--grey-100);--bg-alt: var(--white);--surface: var(--white);--surface-alt: var(--grey-50);--text: var(--ink);--text-muted: var(--grey-600);--text-faint: var(--grey-500);--border: var(--grey-200);--border-strong: var(--grey-300);--border-ink: var(--black);--danger: #d92d20;--amber: #b25e02;--amber-tint: #fff3e0;--green: #067647;--step--2: clamp(.72rem, .7rem + .1vw, .78rem);--step--1: clamp(.82rem, .79rem + .14vw, .9rem);--step-0: clamp(1rem, .96rem + .2vw, 1.09rem);--step-1: clamp(1.18rem, 1.1rem + .4vw, 1.42rem);--step-2: clamp(1.42rem, 1.27rem + .75vw, 1.9rem);--step-3: clamp(1.75rem, 1.45rem + 1.4vw, 2.6rem);--step-4: clamp(2.15rem, 1.65rem + 2.4vw, 3.6rem);--step-5: clamp(2.5rem, 1.7rem + 3.8vw, 4.9rem);--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure: 66ch;--container: 1240px;--container-narrow: 780px;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--shadow-sm: 0 1px 2px rgba(13, 14, 18, .05);--shadow: 0 2px 6px rgba(13, 14, 18, .05), 0 8px 24px rgba(13, 14, 18, .05);--shadow-lg: 0 4px 12px rgba(13, 14, 18, .06), 0 20px 48px rgba(13, 14, 18, .08);--shadow-ink: 4px 4px 0 var(--black);--shadow-blue: 4px 4px 0 var(--blue);--ease: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--accent: var(--blue);--accent-bright: var(--blue-bright);--accent-dim: var(--blue);--accent-glow: var(--blue-tint);--bg-raised: var(--white);--bg-inset: var(--grey-50);--surface-hover: var(--grey-50);--amber-dim: var(--amber-tint)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}img,picture,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{line-height:1.1;letter-spacing:-.03em;font-weight:760;text-wrap:balance;color:var(--black)}p,li{text-wrap:pretty}a{color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:.2em}a:hover{color:var(--blue-deep)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}::selection{background:var(--blue);color:var(--white)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-child>*{opacity:1!important;transform:none!important}.draw path,.draw line,.draw circle,.draw polyline{stroke-dashoffset:0!important}}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-5)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--space-5)}.section{padding-block:clamp(3rem,7vw,6rem)}.section-tight{padding-block:clamp(2rem,4vw,3.5rem)}.section-bordered{border-top:1px solid var(--border)}.section-white{background:var(--white)}.stack>*+*{margin-top:var(--space-4)}.prose{max-width:var(--measure)}.prose p,.prose ul,.prose ol{color:var(--text-muted)}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--step-2);margin-top:var(--space-7)}.prose h3{font-size:var(--step-1);margin-top:var(--space-6)}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:var(--space-2)}.prose strong{color:var(--black);font-weight:680}.prose table{width:100%;border-collapse:collapse;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border)}.prose thead th{font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600}.grid{display:grid;gap:var(--space-5)}@media(min-width:700px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:700px)and (max-width:959px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);grid-auto-flow:dense}@media(min-width:760px){.bento{grid-template-columns:repeat(6,1fr);gap:var(--space-4)}}@media(min-width:1060px){.bento{grid-template-columns:repeat(12,1fr);gap:var(--space-5)}}.b-2,.b-3,.b-4,.b-5,.b-6,.b-7,.b-8,.b-9,.b-12{grid-column:span 2}@media(min-width:760px){.b-2{grid-column:span 2}.b-3,.b-4,.b-5{grid-column:span 3}.b-6,.b-7,.b-8,.b-9,.b-12{grid-column:span 6}}@media(min-width:1060px){.b-2{grid-column:span 2}.b-3{grid-column:span 3}.b-4{grid-column:span 4}.b-5{grid-column:span 5}.b-6{grid-column:span 6}.b-7{grid-column:span 7}.b-8{grid-column:span 8}.b-9{grid-column:span 9}.b-12{grid-column:span 12}}.br-2{grid-row:span 2}.br-3{grid-row:span 3}@media(max-width:759px){.br-2,.br-3{grid-row:span 1}}.box{position:relative;isolation:isolate;background:var(--blue-tint);border:2px solid var(--black);border-radius:var(--radius-xl);box-shadow:var(--shadow-ink);padding:var(--space-5);overflow:hidden;display:flex;flex-direction:column;min-height:150px;transition:transform .28s var(--ease-bounce),box-shadow .28s var(--ease-bounce)}@media(min-width:760px){.box{padding:var(--space-6)}}.box-hover:hover,.card-link:hover,.box-link:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--black)}.box-title{font-size:var(--step-1);margin-bottom:var(--space-3)}.box p{color:var(--text-muted);font-size:.96rem}.box-link{text-decoration:none;color:inherit}.box-link:hover{color:inherit}.box-white{background:var(--white)}.box-grey{background:var(--grey-50)}.box-tint{background:var(--blue-tint)}.box-blue{background:var(--blue);color:var(--white)}.box-ink{background:var(--black);color:var(--white);box-shadow:var(--shadow-blue)}.box-ink.box-hover:hover,.box-ink.box-link:hover{box-shadow:7px 7px 0 var(--blue)}.box-blue h2,.box-blue h3,.box-blue h4,.box-ink h2,.box-ink h3,.box-ink h4{color:var(--white)}.box-blue.box-blue p,.box-blue.box-blue li,.box-blue.box-blue .lead{color:#ffffffe6}.box-ink.box-ink p,.box-ink.box-ink li,.box-ink.box-ink .lead{color:#fffc}.box-blue strong,.box-ink strong{color:#fff;font-weight:700}.box-blue a,.box-ink a{color:var(--white)}.box-flat{border-color:var(--border);border-width:1px;box-shadow:none}.box-sticker{border:2px solid var(--black);box-shadow:var(--shadow-ink)}.box-canvas{padding:0;min-height:220px;align-items:center;justify-content:center}.box-label{position:absolute;left:var(--space-5);bottom:var(--space-5);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);z-index:2}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:600;display:flex;align-items:center;gap:var(--space-3)}.eyebrow:before{content:"";width:1.5rem;height:2px;background:var(--blue);border-radius:2px;flex:none}.box-blue .eyebrow,.box-ink .eyebrow{color:#ffffffe6}.box-blue .eyebrow:before,.box-ink .eyebrow:before{background:#ffffffb3}.h1{font-size:var(--step-5)}.h2{font-size:var(--step-4)}.h3{font-size:var(--step-3)}.h4{font-size:var(--step-2)}.h5{font-size:var(--step-1)}.lead{font-size:var(--step-1);color:var(--text-muted);line-height:1.5;max-width:56ch;font-weight:400}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono)}.blue{color:var(--blue)}.text-center{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:50px;padding:.8rem 1.6rem;border-radius:var(--radius-full);font-weight:650;font-size:var(--step-0);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;position:relative;transition:transform .2s var(--ease-bounce),background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.btn-primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:var(--white);box-shadow:0 8px 20px #2b50ec4d}.btn-secondary{background:var(--white);color:var(--black);border-color:var(--black)}.btn-secondary:hover{background:var(--black);color:var(--white);border-color:var(--black)}.box-blue .btn-secondary,.box-ink .btn-secondary{background:transparent;color:var(--white);border-color:#ffffff80}.box-blue .btn-secondary:hover,.box-ink .btn-secondary:hover,.box-blue .btn-primary{background:var(--white);color:var(--blue);border-color:var(--white)}.box-blue .btn-primary:hover{background:var(--black);color:var(--white);border-color:var(--black)}.btn-ghost{background:transparent;color:var(--text-muted);padding-inline:.9rem}.btn-ghost:hover{color:var(--black)}.btn-sm{min-height:42px;padding:.5rem 1.1rem;font-size:.92rem}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.btn .arr{transition:transform .25s var(--ease-bounce)}.btn:hover .arr{transform:translate(4px)}.card{position:relative;isolation:isolate;overflow:hidden;background:var(--white);border:2px solid var(--black);border-radius:var(--radius-xl);box-shadow:var(--shadow-ink);padding:var(--space-5);transition:transform .28s var(--ease-bounce),box-shadow .28s var(--ease-bounce)}@media(min-width:760px){.card{padding:var(--space-6)}}.card-link{text-decoration:none;color:inherit;display:block}.card-link:hover{color:inherit}.card h3{font-size:var(--step-1);margin-bottom:var(--space-2)}.card p{color:var(--text-muted);font-size:.96rem}.sticker{border:2px solid var(--black)!important;border-radius:var(--radius-lg);box-shadow:var(--shadow-ink)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1);padding:.35rem .85rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--white);color:var(--text-muted);font-weight:500}.badge-accent{border-color:var(--blue);background:var(--blue-tint);color:var(--blue-deep)}.badge-amber{border-color:#f0c48a;background:var(--amber-tint);color:var(--amber)}.checklist{list-style:none;padding:0;display:grid;gap:var(--space-3)}.checklist li{display:grid;grid-template-columns:1.3rem 1fr;gap:var(--space-3);align-items:start;color:var(--text-muted)}.checklist li:before{content:"";width:1.15rem;height:1.15rem;margin-top:.3em;border-radius:50%;background-color:var(--blue-tint);border:1.5px solid var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%232b50ec' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.85rem;flex:none}.box-blue .checklist li,.box-ink .checklist li{color:#ffffffd9}.box-blue .checklist li:before,.box-ink .checklist li:before{background-color:#ffffff26;border-color:#fff9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.rule{height:1px;background:var(--border);border:0}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:200;background:var(--blue);color:var(--white);padding:.75rem 1.25rem;border-radius:var(--radius);font-weight:650;text-decoration:none}.skip-link:focus{top:var(--space-4);color:var(--white)}.sketch{position:absolute;pointer-events:none;overflow:visible;color:var(--blue);z-index:0}.sketch-ink{color:var(--black)}.sketch-grey{color:var(--grey-400)}.marked{position:relative;display:inline-block;white-space:nowrap;z-index:0}.marked>svg{position:absolute;left:-4%;width:108%;height:auto;bottom:-.32em;color:var(--blue);overflow:visible;z-index:-1;pointer-events:none}.marked-circle>svg{bottom:auto;top:-28%;left:-8%;width:116%;height:156%}.draw path,.draw line,.draw circle,.draw polyline{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease-in-out)}.draw.in path,.draw.in line,.draw.in circle,.draw.in polyline{stroke-dashoffset:0}.draw-slow path{transition-duration:1.8s}.draw-d1 path{transition-delay:.15s}.draw-d2 path{transition-delay:.3s}.draw-d3 path{transition-delay:.45s}.floaters{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.floater{position:absolute;display:block;width:var(--size, 48px);color:var(--blue);animation:mark-drift var(--drift, 20s) var(--ease-in-out) infinite;animation-delay:var(--delay, 0s);will-change:transform}.floater-grey{color:var(--grey-400)}.floater-ink{color:var(--black)}.floater svg{width:100%;height:auto;overflow:visible;animation:mark-fade var(--cycle, 13s) linear infinite;animation-delay:var(--delay, 0s)}.floater svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:mark-draw var(--cycle, 13s) var(--ease-in-out) infinite;animation-delay:var(--delay, 0s)}.floater svg path:nth-child(2){animation-delay:calc(var(--delay, 0s) + .18s)}.floater svg path:nth-child(3){animation-delay:calc(var(--delay, 0s) + .36s)}.floater svg path:nth-child(4){animation-delay:calc(var(--delay, 0s) + .54s)}@keyframes mark-fade{0%,2%{opacity:0}9%,78%{opacity:1}90%,to{opacity:0}}@keyframes mark-draw{0%,3%{stroke-dashoffset:1}30%,82%{stroke-dashoffset:0}96%,to{stroke-dashoffset:1}}@keyframes mark-drift{0%{transform:translate(0) rotate(var(--rot, 0deg)) scale(1)}20%{transform:translate(14px,-18px) rotate(calc(var(--rot, 0deg) + 7deg)) scale(1.04)}45%{transform:translate(-8px,-30px) rotate(calc(var(--rot, 0deg) - 5deg)) scale(.98)}70%{transform:translate(-20px,-12px) rotate(calc(var(--rot, 0deg) + 4deg)) scale(1.03)}88%{transform:translate(6px,8px) rotate(calc(var(--rot, 0deg) - 3deg)) scale(1)}to{transform:translate(0) rotate(var(--rot, 0deg)) scale(1)}}@media(max-width:1023px){.floaters{display:none}}@media(prefers-reduced-motion:reduce){.floater,.floater svg,.floater svg path{animation:none!important}.floater svg{opacity:.9}.floater svg path{stroke-dashoffset:0}}.flourish{position:absolute;pointer-events:none;width:var(--fl-size, 175px);height:auto;z-index:-1;color:var(--fl-color, rgba(43, 80, 236, .18))}.flourish-br{right:calc(var(--fl-offset, 22px) * -1);bottom:calc(var(--fl-offset, 22px) * -.35)}.flourish-bl{left:calc(var(--fl-offset, 22px) * -1);bottom:calc(var(--fl-offset, 22px) * -.35);transform:scaleX(-1)}.flourish-tr{right:calc(var(--fl-offset, 22px) * -1);top:calc(var(--fl-offset, 22px) * -.35);transform:scaleY(-1)}.flourish-tl{left:calc(var(--fl-offset, 22px) * -1);top:calc(var(--fl-offset, 22px) * -.35);transform:scale(-1)}.flourish-light{--fl-color: rgba(255, 255, 255, .26)}.flourish-dark{--fl-color: rgba(43, 80, 236, .32)}.flourish-grey{--fl-color: rgba(13, 14, 18, .14)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal-left{transform:translate(-24px)}.reveal-right{transform:translate(24px)}.reveal-scale{transform:scale(.94)}.reveal-child>*{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal-child.in>*{opacity:1;transform:none}.reveal-child.in>*:nth-child(1){transition-delay:.04s}.reveal-child.in>*:nth-child(2){transition-delay:.1s}.reveal-child.in>*:nth-child(3){transition-delay:.16s}.reveal-child.in>*:nth-child(4){transition-delay:.22s}.reveal-child.in>*:nth-child(5){transition-delay:.28s}.reveal-child.in>*:nth-child(6){transition-delay:.34s}.reveal-child.in>*:nth-child(7){transition-delay:.4s}.reveal-child.in>*:nth-child(8){transition-delay:.46s}.reveal-child.in>*:nth-child(9){transition-delay:.52s}.reveal-child.in>*:nth-child(n+10){transition-delay:.58s}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-y-sm{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{transform:scale(.7);opacity:.9}70%{transform:scale(1.9);opacity:0}to{transform:scale(1.9);opacity:0}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes blink{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.anim-float{animation:float-y 4s var(--ease-in-out) infinite}.anim-float-sm{animation:float-y-sm 3.2s var(--ease-in-out) infinite}.anim-spin{animation:spin-slow 18s linear infinite}.anim-wiggle{animation:wiggle 3s var(--ease-in-out) infinite}.anim-bob{animation:bob 4.5s var(--ease-in-out) infinite}.d-1{animation-delay:.2s}.d-2{animation-delay:.4s}.d-3{animation-delay:.6s}.d-4{animation-delay:.8s}.d-5{animation-delay:1s}.marquee{display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;gap:var(--space-5);padding-right:var(--space-5);flex:none;animation:marquee 34s linear infinite;will-change:transform}.marquee:hover .marquee-track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{overflow-x:auto}}.paper{background-color:var(--bg);background-image:radial-gradient(circle,var(--grey-300) 1px,transparent 1px);background-size:22px 22px}.paper-soft{background-color:var(--white);background-image:radial-gradient(circle,var(--grey-200) 1px,transparent 1px);background-size:20px 20px}.glow-bg{position:relative}
