﻿@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Sora:wght@400;600;700&display=swap";*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}html,body{background:#12131a;color:#c7c8d3;font-size:18px;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400;line-height:29px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}.skip-link{position:absolute;top:-100%;left:24px;z-index:100;background:#3173be;color:#f9f9ff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:24px}.clearfix:before,.clearfix:after{content:" ";display:table;clear:both}.block{border-bottom:solid 1px rgba(255,255,255,.09);padding-bottom:44px;margin-bottom:44px}.block>p,.block>h3{max-width:42em}p{margin-bottom:22px}p:last-child{margin-bottom:0}a{display:inline-block;color:#2e9d8f;text-decoration:none;transition:all .16s;cursor:pointer}a:hover{color:rgb(21.2116294794%,72.3962136579%,65.9405003381%);text-decoration:none}img{display:block;max-width:100%;height:auto}@font-face{font-family:"icomoon";src:url("../fonts/icomoon/icomoon.eot?-c9lwgf");src:url("../fonts/icomoon/icomoon.eot?#iefix-c9lwgf") format("embedded-opentype"),url("../fonts/icomoon/icomoon.woff?-c9lwgf") format("woff"),url("../fonts/icomoon/icomoon.ttf?-c9lwgf") format("truetype"),url("../fonts/icomoon/icomoon.svg?-c9lwgf#icomoon") format("svg");font-weight:normal;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:"icomoon";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-codepen:before{content:""}.icon-google-plus:before{content:""}.icon-twitter:before{content:""}.icon-dribbble:before{content:""}.icon-github:before{content:""}.icon-linkedin:before{content:""}.container{max-width:1320px;padding:0 24px;margin:0 auto}.container.large{max-width:100%}.flex-row{display:flex;flex-wrap:wrap;gap:24px}h1,h2,h3,h4,h5,h6{font-family:"Sora","Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.2em;color:#f2f3f8}h1{font-size:45px;font-weight:700;margin-bottom:44px;letter-spacing:-0.02em}@media(max-width: 767px){h1{font-size:34.2px}}h2{font-size:23.4px;font-weight:400;letter-spacing:.01em;margin-bottom:11px}h3{font-size:20.7px;font-weight:600;margin-bottom:11px}.button{display:inline-block;background:#3173be;color:#f9f9ff;border-radius:8px;padding:12px 20px;transition:all .16s;font-weight:500;font-size:16.56px}.button:hover{color:#f9f9ff;background:rgb(13.0650586594%,30.6628927722%,50.6604315366%);transform:translateY(-1px)}body>header{position:relative;z-index:1;background:#12131a;padding-bottom:66px}body>header .container{padding-top:88px}body>header h1{margin:0}body>header h1 a,body>header h1 a:hover{color:#f9f9ff}body>header h2{margin-top:14.6666666667px;margin-bottom:0;max-width:24em;font-weight:400}body>header h2 a,body>header h2 a:hover{color:#9a9ba8}body>header .lab-crumb{margin-top:22px;font-size:14.4px}body>header .lab-crumb a{color:#9a9ba8}body>header .lab-crumb a:hover{color:#2e9d8f}body>header .lab-crumb .lab-crumb-sep{display:inline-block;margin:0 6px;color:#9a9ba8;opacity:.5}body>main{position:relative;z-index:1;padding:66px 0 88px}body>main .page-lab .post.teaser img{border-radius:8px}.bg-canvas{position:fixed;inset:0;z-index:0;display:block;pointer-events:none}.hero{position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw;margin-top:-66px;margin-bottom:-88px;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:88px 0 66px;text-align:center;overflow:hidden}.hero .hero-inner{position:relative;z-index:1;max-width:58em}.hero .hero-avatar{position:relative;z-index:1;display:inline-block;margin-bottom:61.6px;padding:5px}.hero .hero-avatar:before{content:"";position:absolute;z-index:-1;inset:-22px;border-radius:50%;background:linear-gradient(135deg, #3173be, #2e9d8f);filter:blur(28px);opacity:.7}.hero .hero-avatar:after{content:"";position:absolute;z-index:0;inset:0;border-radius:50%;background:linear-gradient(135deg, #3173be, #2e9d8f)}.hero .hero-avatar img{position:relative;z-index:1;display:block;width:128px;height:128px;object-fit:cover;border-radius:50%;border:solid 4px #12131a}.hero .hero-avatar .hero-avatar-tag{position:absolute;z-index:2;left:50%;bottom:-14px;transform:translateX(-50%);background:#2b2d38;border:solid 1px rgba(255,255,255,.12);color:#e9eaf2;font-size:12.6px;font-weight:500;white-space:nowrap;padding:5px 14px;border-radius:999px}.hero .hero-kicker{color:#9a9ba8;font-size:15.3px;font-weight:500;margin-bottom:14.6666666667px}.hero .hero-headline{font-family:"Sora","Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:39.6px;line-height:1.15em;letter-spacing:-0.02em;color:#f9f9ff;margin-bottom:35.2px}@media(max-width: 767px){.hero .hero-headline{font-size:28.8px}}.hero .hero-intro{color:#9a9ba8;font-size:18.9px;line-height:1.65em;max-width:46em;margin:0 auto 57.2px}.hero .hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:88px}.hero .hero-archive{text-align:left;max-width:30em}.hero .hero-archive .hero-intro{margin:0 0 26.4px}.hero .cta-link{display:inline-flex;align-items:center;gap:.4em;color:#f9f9ff;font-weight:600}.hero .cta-link .cta-link-arrow{transition:transform .16s}.hero .cta-link:hover{color:rgb(13.0650586594%,30.6628927722%,50.6604315366%)}.hero .cta-link:hover .cta-link-arrow{transform:translateX(4px)}.hero .button-secondary{background:rgba(0,0,0,0);color:#e9eaf2;border:solid 1px rgba(255,255,255,.18)}.hero .button-secondary:hover{background:rgba(255,255,255,.06);color:#f9f9ff}@media(max-width: 767px){.hero{padding:61.6px 0 44px;min-height:auto}}body>footer{position:relative;z-index:1;background:#2b2d38;color:#9a9ba8;padding:48.4px 0;margin-top:66px;text-align:center}body>footer .footer-elsewhere{display:flex;flex-direction:column;align-items:center;gap:12px}body>footer .footer-eyebrow{font-size:14.04px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#9a9ba8}body>footer .elsewhere-links{display:flex;gap:44px}body>footer .elsewhere-links a{color:#e9eaf2;font-weight:500}body>footer .elsewhere-links a:hover{color:#2e9d8f}.post-overview{margin-bottom:44px}.post-overview .teaser-grid{display:flex;flex-wrap:wrap;gap:24px}.post-overview .post.teaser{flex:0 0 calc(50% - 12px)}@media(min-width: 768px){.post-overview .post.teaser{flex-basis:calc(33.33% - 16px)}}.post.teaser{position:relative;overflow:hidden}.post.teaser>*{position:relative;display:block;overflow:hidden;max-width:100%}.post.teaser>*:before{content:"";position:absolute;display:block;z-index:10;top:100%;left:0;width:100%;height:200px;border-radius:50%;box-shadow:0 0 130px 0 rgba(0,0,0,.3)}.post.teaser img{opacity:.87;filter:alpha(opacity=0);-ms-filter:alpha(opacity=0);-webkit-filter:grayscale(20%);filter:grayscale(20%);transform:translateZ(0);transition:all .16s}.post.teaser:hover img{opacity:1;filter:alpha(opacity=100);-ms-filter:alpha(opacity=100);-webkit-filter:grayscale(0%);filter:grayscale(0%)}.post.teaser.link span{position:absolute;z-index:1;top:0;left:0;right:0;bottom:0;color:#f9f9ff;font-weight:600;text-align:center;vertical-align:middle;height:40px;line-height:40px;margin:auto}.post.full header h2{margin-bottom:0}.post.full footer{margin-top:24px}.post.full footer a{float:left;clear:both;margin-top:20px}@media(min-width: 480px){.post.full footer a{float:none;display:inline-block;margin-right:15px}}.post.full .codepen-wrapper{position:relative;overflow:hidden;z-index:1}