@charset "UTF-8";/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,html{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}address{font-style:normal}*{box-sizing:border-box}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}@font-face{font-family:atticus-icons;src:url(/fonts/atticus-icons.eot);src:url(/fonts/atticus-icons.eot?#iefix) format("embedded-opentype"),url(/fonts/atticus-icons.woff) format("woff"),url(/fonts/atticus-icons.ttf) format("truetype"),url(/fonts/atticus-icons.svg#atticus-icons) format("svg");font-weight:400;font-style:normal}[data-icon]:before{font-family:atticus-icons!important;content:attr(data-icon);font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;vertical-align:bottom;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" icon-"]:before,[class^=icon-]:before{font-family:atticus-icons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;vertical-align:bottom;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-cc:before{content:"b"}.icon-cc-by:before{content:"c"}.icon-level-up:before{content:"a"}.icon-flash:before{content:"d"}.icon-calendar:before{content:"e"}.icon-rss:before{content:"f"}.icon-twitter:before{content:"g"}.icon-github:before{content:"h"}.icon-letter-mail:before{content:"j"}.icon-linkedin:before{content:"k"}.icon-hacker-news:before{content:"i"}body{margin:0;margin-bottom:3rem;background-color:#fcfcfc;font-family:'EB Garamond',serif;color:#333}.body-A-container{margin:0 auto;max-width:960px}.body-A-container:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.frame-C{padding:0 3rem}.frame-A-menu{display:block;margin:.5rem 0;overflow:hidden}.frame-A-blurb{max-width:760px;margin:0 auto;margin-top:2rem;margin-bottom:2rem}.frame-A-toc{max-width:760px;margin:0 auto;margin-top:2rem}.frame-A-post{margin-top:2rem}.frame-A-comments{margin-top:2rem}.frame-A-notfound{overflow:hidden}@media only screen and (max-width:800px){.respond-M .frame-C{padding:0 2rem}}@media only screen and (max-width:520px){.respond-M .frame-C{padding:0 1rem}}.link-C{text-decoration:none;color:#333}.link-C:hover{color:#ff5252}.link-C:focus{outline:0;color:#ff5252}.link-C.ignore-M:hover{color:#333}.link-C.hacker-news-M:hover{color:#f60}.menu-C{display:flex;font-size:1rem;line-height:1.5rem;justify-content:space-between;text-transform:uppercase;font-family:'Open Sans',sans-serif;color:#333;font-weight:600;font-style:normal}.menu-A-item{display:inline-block;margin:0;margin-left:.5rem}.menu-A-item:first-child{margin-left:0}@media only screen and (max-width:800px){.respond-M .menu-C{font-size:1.25rem}}@media only screen and (max-width:520px){.respond-M .menu-C{font-size:1.5rem}}.blurb-C{font-style:italic;font-family:'EB Garamond',serif;font-size:1.3rem}.notfound-C{text-align:center;font-family:'Open Sans',sans-serif}.notfound-A-title{margin:0}.notfound-C-title{padding:2rem 0;font-size:4rem;line-height:1}.notfound-C-icon{font-size:24rem;line-height:1;color:#ffc107;display:block}.toc-C{font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:400}.toc-AC-list{margin:0;padding:0}.toc-AC-entry{margin:.5rem 0;list-style-type:none}.toc-A-link{display:block;margin:0}.toc-A-time{float:right;margin-left:1.5rem}@media only screen and (max-width:520px){.respond-M .toc-AC-entry{margin:.75rem 0}}.post-A-title{margin:0;margin-top:1rem;margin-bottom:1rem;display:inline-block}.post-A-byline{font-size:.8em;display:block;margin-bottom:1rem;line-height:1.5}.title-C{text-align:left;font-family:'EB Garamond',serif;font-size:3rem;font-weight:400}.byline-C{font-family:'Open Sans',sans-serif;line-height:1rem;text-transform:uppercase;font-weight:400}.byline-C a.reddit:hover{color:#cee3f8}.byline-C a.hn:hover{color:#f60}.byline-A-info{margin-left:.5rem}.byline-A-info:first-child{margin:0}.comments-C{font-family:'Open Sans',sans-serif}.content-C>.epigraph,.content-C>blockquote,.content-C>div#refs,.content-C>figure,.content-C>ol,.content-C>p,.content-C>ul{width:64%}.content-C iframe{max-width:64%}.content-C>figure.fullwidth{width:100%;clear:right}.content-C .sidenote{float:right;clear:right;width:50%;margin-right:-56%;font-size:1.1rem}.content-C .sidenote .sidenote-marker{margin-right:.25rem}.content-C .sidenote-toggle-checkbox{display:none}.content-C .sidenote-toggle-label{display:none}@media only screen and (max-width:800px){.respond-M .content-C>.epigraph,.respond-M .content-C>blockquote,.respond-M .content-C>div#refs,.respond-M .content-C>ol,.respond-M .content-C>p,.respond-M .content-C>ul{width:93%}.respond-M .content-C>figure{width:100%}.respond-M .content-C iframe{max-width:100%}.respond-M .content-C .sidenote{display:none}.respond-M .content-C .sidenote-toggle-label{display:initial;float:right;clear:right;margin-right:-8%;cursor:pointer}.respond-M .content-C .sidenote-toggle-checkbox:checked+.sidenote{display:block;float:none;width:100%;margin-top:1rem;padding-left:2rem}}.content-C img{max-width:100%}.content-C figure{margin:2rem 0}.content-C figure figcaption{font-size:1.1rem}.content-C .figures{display:flex;justify-content:space-between;margin-bottom:2rem}.content-C .figures figure{margin-bottom:0;padding:0 .5rem;display:inline-block}.content-C code,.content-C pre{font-family:"Fira Mono",monospace;font-size:1rem;clear:right}.content-C code{background-color:#f0f0f0;padding:0 .125rem}.content-C pre{background-color:#f0f0f0;padding:.5rem}.content-C pre code{background-color:none;padding:0}.content-C code.sourceCode a{margin:initial;color:inherit}.content-C code.sourceCode a:focus,.content-C code.sourceCode a:hover{color:inherit}.content-C code.sourceCode{color:#657b83}.content-C code.sourceCode .kw{color:#b58900}.content-C code.sourceCode .dt{color:#cb4b16}.content-C code.sourceCode .dv{color:#6c71c4}.content-C code.sourceCode .bn{color:#6c71c4}.content-C code.sourceCode .co{color:#93a1a1}.content-C code.sourceCode .ot{color:#268bd2}.content-C code.sourceCode .fu{color:#268bd2}.content-C code.sourceCode .fl{color:#6c71c4}.content-C code.sourceCode .ch{color:#2aa198}.content-C code.sourceCode .st{color:#2aa198}.content-C code.sourceCode .al{color:#cb4b16;font-weight:700}.content-C code.sourceCode .er{color:#dc322f;font-weight:700}.content-C code.sourceCode .re{background-color:#eee8d5}.content-C a:link,.content-C a:visited{color:inherit}.content-C a:link{text-decoration:none;background:-webkit-linear-gradient(#fcfcfc,#fcfcfc),-webkit-linear-gradient(#fcfcfc,#fcfcfc),-webkit-linear-gradient(#333,#333);background:linear-gradient(#fcfcfc,#fcfcfc),linear-gradient(#fcfcfc,#fcfcfc),linear-gradient(#333,#333);-webkit-background-size:.05em 1px,.05em 1px,1px 1px;-moz-background-size:.05em 1px,.05em 1px,1px 1px;background-size:.05em 1px,.05em 1px,1px 1px;background-repeat:no-repeat,no-repeat,repeat-x;text-shadow:.03em 0 #fcfcfc,-.03em 0 #fcfcfc,0 .03em #fcfcfc,0 -.03em #fcfcfc,.06em 0 #fcfcfc,-.06em 0 #fcfcfc,.09em 0 #fcfcfc,-.09em 0 #fcfcfc,.12em 0 #fcfcfc,-.12em 0 #fcfcfc,.15em 0 #fcfcfc,-.15em 0 #fcfcfc;background-position:0 93%,100% 93%,0 93%}@media screen and (-webkit-min-device-pixel-ratio:0){.content-C a:link{background-position-y:87%,87%,87%}}.content-C a:link::selection{text-shadow:.03em 0 #b4d5fe,-.03em 0 #b4d5fe,0 .03em #b4d5fe,0 -.03em #b4d5fe,.06em 0 #b4d5fe,-.06em 0 #b4d5fe,.09em 0 #b4d5fe,-.09em 0 #b4d5fe,.12em 0 #b4d5fe,-.12em 0 #b4d5fe,.15em 0 #b4d5fe,-.15em 0 #b4d5fe;background:#b4d5fe}.content-C a:link::-moz-selection{text-shadow:.03em 0 #b4d5fe,-.03em 0 #b4d5fe,0 .03em #b4d5fe,0 -.03em #b4d5fe,.06em 0 #b4d5fe,-.06em 0 #b4d5fe,.09em 0 #b4d5fe,-.09em 0 #b4d5fe,.12em 0 #b4d5fe,-.12em 0 #b4d5fe,.15em 0 #b4d5fe,-.15em 0 #b4d5fe;background:#b4d5fe}.content-C p{font-weight:400;font-size:1.4rem;margin:1rem 0}.content-C h2{font-size:1.8rem;font-weight:400;margin:0;margin-top:1rem;font-family:'EB Garamond',serif;font-style:italic}.content-C h2 em{font-style:normal}.content-C ol,.content-C ul{font-weight:400;font-size:1.4rem}.content-C blockquote{padding-left:2rem;margin:1rem 0}.content-C blockquote footer{font-family:'EB Garamond',serif;text-align:right;font-size:1.1rem}.content-C .epigraph>blockquote p{font-style:italic}.content-C .epigraph>blockquote p em{font-style:normal}