﻿@font-face{font-family:'Overpass Mono';src:url("/fonts/OverpassMono-Light.woff2") format("woff2"),url("/fonts/OverpassMono-Light.woff") format("woff");font-weight:normal;font-style:normal}@font-face{font-family:'Overpass Mono';src:url("/fonts/OverpassMono-Bold.woff2") format("woff2"),url("/fonts/OverpassMono-Bold.woff") format("woff");font-weight:bold;font-style:normal}@font-face{font-family:'Pitch Display';src:url("/fonts/Pitch-Display.woff2") format("woff2"),url("/fonts/Pitch-Display.woff") format("woff");font-weight:normal;font-style:normal}@font-face{font-family:'Karla';src:url("/fonts/Karla-Regular.woff2") format("woff2"),url("/fonts/Karla-Regular.woff") format("woff");font-weight:normal;font-style:normal}@font-face{font-family:'Karla';src:url("/fonts/Karla-Bold.woff2") format("woff2"),url("/fonts/Karla-Bold.woff") format("woff");font-weight:bold;font-style:normal}@font-face{font-family:'Karla';src:url("/fonts/Karla-Italic.woff2") format("woff2"),url("/fonts/Karla-Italic.woff") format("woff");font-weight:normal;font-style:italic}@font-face{font-family:'Karla';src:url("/fonts/Karla-BoldItalic.woff2") format("woff2"),url("/fonts/Karla-BoldItalic.woff") format("woff");font-weight:bold;font-style:italic}html{height:100%;font-size:16px}@media screen and (min-width: 400px){html{font-size:20px}}body{min-height:100%;font-family:"Karla", "Arial", sans-serif;margin:0;color:#1e1e1e;display:flex;flex-direction:column;position:relative;background-color:#49ffb9}main{flex:1}h1,h2,h3{font-weight:normal}.printonly{display:none}#site-title{margin:0;font-size:0.8rem;font-family:"Overpass Mono", monospace;font-weight:bold}#site-title a{text-decoration:none;padding:1rem;color:#2710f2;display:inline-block}#site-title a::before{content:"¡";position:absolute;left:0.5rem;top:0.85rem;opacity:0}#site-title a::after{content:"!";opacity:0}#site-title a:hover,#site-title a:focus{text-transform:uppercase;position:relative}#site-title a:hover::before,#site-title a:focus::before{opacity:1}#site-title a:hover::after,#site-title a:focus::after{opacity:1}#site-title a:hover{outline:none}#site-title a:focus:not(:hover){outline:solid 5px #1e1e1e;outline-offset:-5px}#site-header{background-color:#49ffb9;text-transform:lowercase}#home #site-header{background-color:initial;position:absolute}.footer-nav-link{display:inline-block;height:100%}.footer-nav-link a{color:#1e1e1e;display:inline-grid;align-content:center;height:100%;box-sizing:border-box}.footer-nav-link a:hover{color:#fff;background-color:#1e1e1e;mix-blend-mode:darken;outline:none}.footer-nav-link a:focus:not(:hover){outline:solid 5px #2710f2;outline-offset:-5px}#footer-nav-links{list-style-type:none;margin:0;padding:0}@media (min-width: 600px){#footer-nav-links{height:100%}}@media (min-width: 600px){#footer-colophon{float:right;text-align:right}}footer{color:#1e1e1e;font-family:"Overpass Mono", monospace;font-size:0.8rem;font-weight:bold;background-image:linear-gradient(to bottom, #ffe5ef 33%, #49ffb9);text-transform:lowercase;text-align:center}@media (min-width: 600px){footer{text-align:initial;display:grid;grid-template-columns:auto auto}}#home footer{background-image:linear-gradient(to bottom, #fff 33%, #ffe5ef)}.footer-item{display:block}@media (min-width: 600px){.footer-item{vertical-align:middle}}.footer-unit{padding:1rem}#article-title{font-size:3.22rem;margin:0;display:inline;color:#fff;font-family:"Pitch Display", "Arial Narrow", sans-serif;background-color:#2710f2;-webkit-box-decoration-break:clone;padding:0.1em 0.25em 0 1rem;line-height:1.25em}@media screen and (min-width: 440px){#article-title{font-size:4.025rem}}#article-date::before{content:"/";display:inline-block;transform:translateX(-0.5rem)}.article-info-piece{display:inline;font-family:"Overpass Mono", monospace;font-size:1rem;margin:0;vertical-align:inherit;padding:0;-webkit-box-decoration-break:clone;padding:0.25em 0 0.25em 1rem;background-color:#ffe5ef;color:#1e1e1e;line-height:2em}#article-heading{display:block;padding-right:2rem;max-width:34rem;overflow:hidden}.content p{line-height:1.61em;max-width:32rem;box-sizing:border-box;margin:1rem}.content>p:first-child:first-line{font-weight:bold}.content h2{margin-top:3rem;padding-right:1rem;font-size:1.61rem;line-height:1.5em;max-width:34rem;position:relative}.content h2:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5em;background-color:#ffe5ef}@media screen and (min-width: 380px){.content h2{font-size:2.415rem}}.content h2 .section-inner{color:#2710f2;text-decoration:none;font-weight:bold;display:inline-block;position:relative;padding:0.25em 0.25em 0.1em 1rem;text-shadow:-2px 2px 0px #ffe5ef, -4px 4px 0px #fff}.content h2 .section-inner:focus{outline:solid 4px #2710f2}.content h3{color:#2710f2;font-weight:bold;font-size:2rem;padding:1em 0.25em 0.1em 1rem;margin:1em 0 0.5em 0;display:inline-block;max-width:34rem;line-height:1.5em}.content h3:first-letter{border-bottom:solid 2px #49ffb9}.content h3:focus{outline:solid 4px #49ffb9}h4{color:#2710f2;max-width:34rem;padding-left:1rem;margin-top:3em}pre{font-size:0.66rem;color:#fff;word-wrap:break-word;white-space:pre-wrap;box-sizing:border-box;position:relative;margin:1rem 0 2rem 0;--bottom: #2710f2;--top: #49ffb9}@media screen and (min-width: 580px){pre{margin:1rem 1rem 2rem 1rem;max-width:31rem}}pre.css,pre.scss,pre.sass{--top: #ffe5ef}pre.json,pre.yaml,pre.md{--bottom: #fff}pre.erb,pre.ruby{--top: #ffe5ef;--bottom: #49ffb9}pre::after{content:"";position:absolute;z-index:0;bottom:-1em;height:1em;left:0;right:0;background:linear-gradient(to right, var(--bottom), var(--top) 60%)}@media screen and (min-width: 580px){pre::after{height:initial;top:1em;left:1em;right:-1em;bottom:-1em;background:linear-gradient(65deg, var(--bottom), var(--top))}}pre code{font-family:"Overpass Mono", monospace;line-height:2em;background-color:#1e1e1e;z-index:1;padding:1rem 2rem;position:relative;display:block}pre .c1,pre .c{opacity:0.5}pre .kr,pre .kd,pre .k+.nx,pre .n,pre .nl,pre .py{color:#ffe5ef}pre .k,pre .p,pre .s2,pre .o,pre .err,pre .si,pre .err+.nx,pre .nt,pre .cp,pre .nc,pre .nf,pre .si+.nd,pre .nn{color:#49ffb9}pre .p,pre .s2,pre .o,pre .err,pre .si,pre .cp,pre .si+.nd,pre .nn{opacity:0.5}pre .mi,pre .nb,pre .s1,pre .ss,pre .nv,pre .mi+.n{color:#9489f9}pre .na{opacity:0.8}.css .nb{color:#fff}.scss .na{opacity:initial;color:#ffe5ef}.css .nt,.scss .nt{color:#c0b9fb}.css .nt:first-child+.o+.nt,.scss .nt:first-child+.o+.nt{color:#ffe5ef}.css .nl+.p+.n+.p+.n,.scss .nl+.p+.n+.p+.n{color:#9489f9}.json .s2{color:#fff;opacity:initial}.typescript .nx{color:#ffe5ef}.typescript .kr+.nx{color:#fff}.typescript .nl+.p+.nx,.typescript .nl~.p+.kr{color:#9489f9}.erb .s1{color:#fff}.ruby .s1{color:#ffe5ef}.ruby .s2{color:#fff;opacity:initial}.content blockquote{margin:0;padding:2rem;background:linear-gradient(to right, #49ffb9, #fff);max-width:32rem;box-sizing:border-box;font-size:1.2rem}.content blockquote>p{max-width:24em}cite{display:block;margin-top:1rem;font-family:"Overpass Mono", monospace;font-size:0.6rem;font-style:normal}.content ol{list-style-type:none;counter-reset:counter;padding:0 2rem 0 0;max-width:32rem}.content ol li{display:block;margin-bottom:1em;line-height:1.61em;overflow:hidden;margin-left:1rem;padding-left:3rem;padding-top:0.5em}.content ol li>p:first-child{margin-top:0}.content ol li::before{content:counter(counter);counter-increment:counter;font-family:"Overpass Mono", monospace;display:block;float:left;font-size:2em;width:1em;height:1em;line-height:1em;text-align:center;color:#1e1e1e;font-weight:bold;border-radius:50%;background:linear-gradient(to bottom right, #49ffb9, #fff 60%);margin-left:-3rem}.content ul{list-style-type:none;padding:0 2rem 0 0;max-width:32rem}.content ul li{display:block;overflow:hidden;margin-bottom:1rem;padding-left:4rem;position:relative;line-height:1.771rem}.content ul li::before{content:"";display:block;position:absolute;width:1.61rem;height:1.61rem;border-radius:100%;background:linear-gradient(to bottom, #49ffb9, #ffe5ef 67%);top:50%;transform:translateX(-3rem) translateY(-50%);margin-right:-1.61em}hr{max-width:10em;margin:2rem 0;border:none;border-top:solid 2px #ffe5ef}.table-wrap{overflow:auto}table{font-family:"Overpass Mono", monospace;font-size:0.66rem;border-collapse:collapse}@media screen and (min-width: 580px){table{box-shadow:#2710f2 1em 1em 0;margin:0 1rem 1rem 1rem}}th,td{text-align:center;padding:1em;border:solid 5px #2710f2}td{background-color:#ffe5ef}.aside{border-radius:0.7em;margin:0 1rem;max-width:32rem;background-color:#ffe5ef}@media screen and (min-width: 1000px){.aside{width:calc( 100% - 34rem - 1rem - 1rem - 1rem);max-width:22.6666666667rem;margin-left:0;float:right}}@media screen and (min-width: 1153.3333333333px){.aside{width:22.6666666667rem;margin-right:calc( 100% - 34rem - 22.6666666667rem - 1rem - 1rem)}}.aside .aside-title{font-family:"Overpass Mono", monospace;color:#1e1e1e;border-bottom:dashed 3px #fff;text-transform:uppercase;font-size:1rem;margin:0;padding:1em;text-align:center;display:block}.aside .aside-title::first-letter{border-bottom:none}.aside .aside-body{font-size:0.8rem;padding:1.5em 2em;margin:0}.content p a,.content li a{text-decoration:none;color:#1e1e1e;background-image:linear-gradient(to bottom, #ffe5ef 33%, #49ffb9 67%);background-size:100% 300%;background-position:0 0%;transition-property:background-position;transition-duration:0.5s}.content p a:hover,.content li a:hover{background-position:0 100%;outline:none}.content p a:focus:not(:hover),.content li a:focus:not(:hover){outline:solid 5px #2710f2}p>code,li>code{font-family:"Overpass Mono", monospace;color:#1e1e1e;background-color:#ffe5ef;display:inline-block;padding:0 0.5em;font-size:0.7em;font-weight:bold}.content img{width:100%;height:100%;display:block}.image-wrap{position:relative}.image-wrap::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0}.image-primary,.image-secondary{max-width:34rem}.image-primary::before,.image-secondary::before{background-image:linear-gradient(to bottom, #49ffb9, #2710f2);mix-blend-mode:screen}@media screen and (min-width: 1000px){.image-secondary{width:calc(100% - 34rem - 1rem);max-width:22.6666666667rem;margin-right:0;float:right}}@media screen and (min-width: 1153.3333333333px){.image-secondary{width:22.6666666667rem;margin-right:calc(100% - 34rem - 22.6666666667rem - 1rem)}}figure{margin:0 0 2rem 0;max-width:34rem;box-sizing:border-box}@media screen and (min-width: 1000px){figure{max-width:100%}}figcaption{overflow:hidden;font-family:"Overpass Mono", monospace;font-size:0.8rem;position:relative}figcaption::after{content:"";position:absolute;bottom:0;left:0;height:2px;width:25%;background:#ffe5ef}.content{overflow:hidden;padding-bottom:3rem}main{background-color:#fff}main *::selection{background-color:#c9ffea}main *::-moz-selection{background-color:#c9ffea}.index-title{margin:0;padding-left:1rem;position:relative;z-index:1;max-width:9em;font-family:"Pitch Display", "Arial Narrow", sans-serif}.index-title::before{content:counter(counter);counter-increment:counter;position:absolute;font-size:12.88rem;font-family:"Pitch Display", "Arial Narrow", sans-serif;color:#fff;z-index:-1;bottom:4rem;left:-0.5rem;line-height:1rem;height:1rem}.index-list-item:first-child .index-title{font-size:3.22rem;color:#1e1e1e}@media screen and (min-width: 550px){.index-list-item:first-child .index-title{font-size:4.83rem}}@media screen and (min-width: 1200px){.index-list-item:first-child .index-title{font-size:6.44rem}}.index-list-item:not(:first-child) .index-title{font-size:2.415rem;padding-top:1.61em}@media screen and (min-width: 550px){.index-list-item:not(:first-child) .index-title{font-size:3.22rem}}.index-date::before{content:"/";display:inline-block;text-align:center;width:1em;transform:translateX(-0.5em)}.index-subtitle{margin:0;max-width:30em}.index-subtitle-inner{font-family:"Overpass Mono", monospace;color:#fff;background-color:#2710f2;display:inline;mix-blend-mode:darken;-webkit-box-decoration-break:clone;padding:0 0.25em 0 1rem}.index-list-item{display:block;padding-right:1rem}.index-list-item a{color:#1e1e1e;text-decoration:none;z-index:1;display:block}.index-list-item a:hover{outline:none}.index-list-item a:focus:not(:hover){outline:solid 5px #2710f2;outline-offset:-5px}.index-list-item:first-child{padding-top:9rem}.index-list-item:not(:first-child){padding:4.83rem 0}.index-list-item:last-child{padding-bottom:3.22rem}#index-list{list-style-type:none;margin:0;padding:0;background:linear-gradient(to bottom, #ffe5ef 33%, #49ffb9);counter-reset:counter}#home{background-color:#ffe5ef}