.btn{display:inline-block;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;text-shadow:0 1px 1px hsla(0,0%,100%,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(180deg,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid rgba(0,0,0,.15);border-bottom-color:rgba(0,0,0,.25);border-radius:4px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover{background-position:0 -15px;background-color:#e6e6e6;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:active{background-image:none;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#da4f49;background-image:linear-gradient(180deg,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.btn-danger[disabled]{color:#fff;background-color:#bd362f}@font-face{font-family:Inconsolata;font-style:normal;font-weight:400;src:url("/c/inconsolata-1236dbc6.woff") format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;src:url("/c/pt-serif-71b5d018.woff2") format("woff2")}html{overflow-y:scroll;background:#f1f1f1;font-size:15px;font-family:sans-serif;line-height:1.9}@media screen and (min-width:530px){html{font-size:16px;color:#444}}body{padding:0;-webkit-text-size-adjust:100%}body,figure{margin:0}canvas,img{max-width:100%}p{margin:1.2em 0}a:link,a:visited{text-decoration:none;color:#cc2100}a:active,a:focus,a:hover{color:#ff8f00}a:active{text-decoration:underline}svg{overflow:hidden}.container{max-width:1066px;background:#fff;margin:0 auto}.content-n-side:after,.content-n-side:before,.content-only:after,.content-only:before,.page-width:after,.page-width:before{content:" ";display:table}.content-n-side:after,.content-only:after,.page-width:after{clear:both}.content-n-side,.content-only,.page-width{position:relative;top:-31px;padding:0 20px}@media screen and (min-width:530px){.content-n-side,.content-only,.page-width{padding:0 64px 0 32px}}@media screen and (min-width:800px){.content-n-side,.content-only,.page-width{padding:0 32px}}.content-n-side>.side{display:none}@media screen and (min-width:800px){.content-n-side>.content{width:75%;padding-right:73px;float:left;box-sizing:border-box}.content-n-side>.side{width:25%;float:right;display:block}}.page-width{box-sizing:border-box;max-width:1066px;margin:0 auto}@media screen and (min-width:800px){.content-only>.content{width:68%}}.site-header{background:#2d2d2d;overflow:hidden}.site-header>.inner{padding-top:75px;padding-left:0}@media screen and (min-width:530px){.site-header>.inner{padding-top:135px}}.site-header a:link,.site-header a:visited{color:#fff}.site-header a:active,.site-header a:hover{color:#fff;text-decoration:underline}.site-header .title,.site-header .who{background:#009d81;line-height:1;font-family:"PT Serif",georgia,serif;display:inline-block;font-size:1.05rem;padding:10px 45px 10px 20px}@media screen and (min-width:530px){.site-header .title,.site-header .who{padding:10px 97px 10px 32px}}@media screen and (min-width:1066px){.site-header .title,.site-header .who{border-radius:7px 7px 0 0}}.site-header .who{float:right;padding:10px 0;background:none;margin-right:0}@media screen and (min-width:530px){.site-header .who{margin-right:-32px}}@media screen and (min-width:800px){.site-header .who{display:none}}.article-content h1,.h-1,.who-page>h1{background:#ff8400;color:#fff;font-family:"PT Serif",georgia,serif;font-size:2.5rem;font-weight:400;line-height:1.1;margin:0 0 0 -20px;padding:7px 20px 13px}@media screen and (min-width:530px){.article-content h1,.h-1,.who-page>h1{font-size:3.4rem;padding:10px 36px 17px 62px;margin-left:-65px;margin-right:-32px}}@media screen and (min-width:1066px){.article-content h1,.h-1,.who-page>h1{border-radius:32px 0 0 32px}}.article-content h2,.h-2,.who-page>section>h1{background:#009d81;color:#fff;font-family:"PT Serif",georgia,serif;font-size:1.6rem;font-weight:400;line-height:1;padding:7px 20px 10px;margin:35px 0 0 -20px}@media screen and (min-width:530px){.article-content h2,.h-2,.who-page>section>h1{font-size:1.9rem;padding:10px 35px 13px 62px;margin-right:-32px;margin-left:-65px}}@media screen and (min-width:1066px){.article-content h2,.h-2,.who-page>section>h1{border-radius:32px 0 0 32px}}.article-content h3,.h-3{margin:27px 0 0;line-height:1;font-family:sans-serif;font-weight:700;font-size:1rem;border-left:14px solid #ff8400;padding-left:8px}@media screen and (min-width:530px){.article-content h3,.h-3{font-size:1.2rem;border-left:19px solid #ff8400;padding-left:12px}}.h-4,.side>section>h1{font-weight:400;font-size:.9rem;border-bottom:1px dotted #ccc;padding-bottom:3px;margin:1.4em 0 0;line-height:1}.article-date{font-size:.8rem;display:block;background:#ffe454;color:#000;padding:6px 20px 5px;margin:0 0 0 -20px}@media screen and (min-width:530px){.article-date{padding:6px 10px 5px 32px;margin-left:-32px;margin-right:-32px}}.article-content code{font-family:Inconsolata,courier,monospace;background:#eee;padding:3px;margin:0 2px;outline:1px solid #e2e2e2;line-height:1;white-space:normal;display:inline-block}.full-figure{margin:1em -20px;overflow:hidden;background:#eee}@media screen and (min-width:530px){.full-figure{margin-left:0;margin-right:0}}.full-figure.checked{background:url("/c/check-1ace92fb.png")}.full-figure.blueprint{background:url("/c/graph-tile-37b83be4.png"),radial-gradient(circle farthest-corner,#08d,#002b46) 50%;background-size:12%,cover}.full-figure canvas,.full-figure iframe,.full-figure img,.full-figure object,.full-figure video{display:block;margin:0 auto;outline:none}.full-figure .video{position:relative;padding-top:56.25%}.full-figure .video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.full-figure .figcaption,.full-figure>figcaption{font-size:.8rem;line-height:1.4;background:#ffe454;color:#000;padding:6px 20px}@media screen and (min-width:530px){.full-figure .figcaption,.full-figure>figcaption{padding:6px 10px}}@media screen and (min-width:530px){.max-figure{margin-left:-32px;margin-right:-64px}}@media screen and (min-width:530px){.max-figure .figcaption,.max-figure>figcaption{padding-left:32px}}@media screen and (min-width:800px){.max-figure{margin-right:-32px}}h2+.max-figure{margin-top:0}.side{font-size:.85rem;font-weight:400}.side .icon-list{margin:1em 0}.my-big-face{margin-top:10px}.my-big-face h1{position:relative;margin:0;padding:76.279% 0 0;outline:10px solid #fff;background:#fff}.my-big-face img{position:absolute;top:0;left:0;width:100%;height:100%}.code-example{background:#2d2d2d;color:#d4d4d4;margin:1em -20px;padding:16px 20px;line-height:1.4;font-size:1rem;overflow:auto}@media screen and (min-width:530px){.code-example{margin-left:-32px;margin-right:0;padding-left:32px;padding-right:0;font-size:1.1rem}}.code-example pre{font-family:Inconsolata,courier,monospace;margin:0;display:inline-block;padding-right:16px}.code-example::selection{text-shadow:none;background:#b3d4fc}.code-example .namespace{opacity:.7}.code-example .token.comment{color:#f48c5f}.code-example .token.cdata,.code-example .token.doctype,.code-example .token.prolog{color:#6a9955}.code-example .token.punctuation{color:#d4d4d4}.code-example .token.boolean,.code-example .token.constant,.code-example .token.deleted,.code-example .token.number,.code-example .token.property,.code-example .token.symbol,.code-example .token.tag{color:#b5cea8}.code-example .token.attr-name,.code-example .token.builtin,.code-example .token.char,.code-example .token.inserted,.code-example .token.selector,.code-example .token.string{color:#ce9178}.code-example .language-css .token.string,.code-example .style .token.string,.code-example .token.entity,.code-example .token.operator,.code-example .token.url{color:#d4d4d4}.code-example .token.atrule,.code-example .token.attr-value,.code-example .token.keyword{color:#c586c0}.code-example .token.function{color:#dcdcaa}.code-example .token.important,.code-example .token.regex,.code-example .token.variable{color:#d16969}.code-example .token.bold,.code-example .token.important{font-weight:700}.code-example .token.italic{font-style:italic}.code-example .token.constant{color:#9cdcfe}.code-example .token.class-name{color:#4ec9b0}.code-example .token.interpolation,.code-example .token.parameter{color:#9cdcfe}.code-example .token.boolean,.code-example .token.punctuation.interpolation-punctuation{color:#569cd6}.code-example .token.property{color:#9cdcfe}.code-example .token.selector{color:#d7ba7d}.code-example .token.tag{color:#569cd6}.code-example .token.attr-name{color:#9cdcfe}.code-example .token.attr-value{color:#ce9178}.code-example .token.entity{color:#4ec9b0;cursor:unset}.code-example .language-javascript,.code-example .token.namespace{color:#4ec9b0}.code-example .language-css{color:#ce9178}.code-example .language-html{color:#d4d4d4}.code-example .language-html .token.punctuation{color:grey}.icon-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5em .2em}.icon-list-item{display:grid;grid-template-columns:20px 1fr;gap:.5em;align-items:center}.comments{margin-top:50px}.post-preview:after,.post-preview:before{content:" ";display:table}.post-preview:after{clear:both}.post-preview h1{margin-top:0}.post-preview h1 a:link,.post-preview h1 a:visited{display:block;color:#fff}.post-preview h1 a:active,.post-preview h1 a:hover{color:#fff;text-decoration:underline}.post-preview .preview-image{margin:20px 0 0}@media screen and (min-width:530px){.post-preview .preview-image{float:left;width:200px;margin:5px 20px 20px 0}}.post-preview .preview-image img{width:100%;height:auto}.pagination{overflow:hidden;margin:2.1em 0;padding:0}.pagination li{display:inline}.pagination .gap,.pagination .next,.pagination .page,.pagination .prev,.pagination a:link,.pagination a:visited{float:left;padding:0 8px;font-weight:700;border-right:1px dotted #a5a5a5}.pagination .current,.pagination .disabled,.pagination .gap{color:#6e6e6e;font-weight:400}.pagination .prev,.pagination a.prev:link,.pagination a.prev:visited{padding-left:0}.pagination .next,.pagination a.next:link,.pagination a.next:visited{border:none}.form-rows{margin:1em -20px}.code-example+.form-rows{margin-top:-1.1em}@media screen and (min-width:530px){.form-rows{margin-left:-32px;margin-right:0}}.form-rows .field{display:table-row}.form-rows .field:nth-child(2n) .label{background:#3cb39d}.form-rows .field:nth-child(2n) .input{background:#f7f7f7}.form-rows .label{background:#009d81;color:#fff;vertical-align:middle;display:table-cell;width:1px;white-space:nowrap;padding:.5em .5em .5em 20px}@media screen and (min-width:530px){.form-rows .label{padding-left:32px}}.form-rows .input{background:#ececec;padding:0 .5em;vertical-align:middle;display:table-cell}.form-rows input[type=range],.form-rows input[type=text]{width:100%;margin:0;box-sizing:border-box}.form-rows-inner{display:table;width:100%}.quote{margin:0;border-left:10px solid #d5d5d5;padding-left:16px}.quote>p:last-of-type{margin-bottom:0}.warning{background:#bf0000;color:#fff;font-size:.8rem;font-weight:700;padding:6px 20px 5px;margin:0 0 0 -20px}@media screen and (min-width:530px){.warning{padding:6px 10px 5px 32px;margin-left:-32px;margin-right:-32px}}.warning>:first-child{margin-top:0}.warning>:last-child{margin-bottom:0}.who-page figure img{display:block;margin:0 auto}.who-page .icon-list{margin:16px 0}.blog-index .post-preview.first .h-2{background:#ff8400}