﻿/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}@font-face{font-display:swap;font-family:"Calibre";font-style:normal;font-weight:400;src:url(/assets/CalibreWeb-Regular-7c3e24452ab560fd22dc64e9272e1ca4f119b94827c43b3b0c491f0f2547ef11.woff2) format("woff2")}@font-face{font-display:swap;font-family:"Calibre";font-style:italic;font-weight:400;src:url(/assets/CalibreWeb-RegularItalic-2403a29ead6149051c9368df0937d24e6fe3df4571061e57d17dc3b93b22ce8e.woff2) format("woff2")}@font-face{font-display:swap;font-family:"Calibre";font-style:normal;font-weight:600;src:url(/assets/CalibreWeb-Semibold-f77ebe3d76e09e1632c0dad97b99fba5c28e2334adf09639ffd6019bd7f10fd6.woff2) format("woff2")}@font-face{font-display:swap;font-family:"Calibre";font-style:italic;font-weight:600;src:url(/assets/CalibreWeb-SemiboldItalic-f9e5e29b5827657eb48d5d4bc4af8f74a7eef8801206397bcf2906ac6af77234.woff2) format("woff2")}@font-face{font-display:swap;font-family:"Fira Mono";font-style:normal;font-weight:400;src:url(/assets/firamono-regular-webfont-a1e1be696f2544f28e71d0b412e9382920cd688354c3f6c90a63a958beb63010.woff2) format("woff2")}form{text-align:left}fieldset{background-color:transparent;border:0;margin:0;padding:0}label{font-weight:600;margin-bottom:0.375}label.required::after{content:"*"}label abbr{display:none}[type='color'],[type='date'],[type='datetime'],[type='datetime-local'],[type='email'],[type='month'],[type='number'],[type='password'],[type='search'],[type='tel'],[type='text'],[type='time'],[type='url'],[type='week'],input:not([type]),textarea{background-color:#fff;border:1px solid #b5b5c0;border-radius:2px;box-sizing:border-box;font-size:1em;margin-bottom:0.75;padding:0.35em 0.5em;transition:border-color;width:100%}[type='color']:hover,[type='date']:hover,[type='datetime']:hover,[type='datetime-local']:hover,[type='email']:hover,[type='month']:hover,[type='number']:hover,[type='password']:hover,[type='search']:hover,[type='tel']:hover,[type='text']:hover,[type='time']:hover,[type='url']:hover,[type='week']:hover,input:not([type]):hover,textarea:hover{border-color:#9999a9}[type='color']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='email']:focus,[type='month']:focus,[type='number']:focus,[type='password']:focus,[type='search']:focus,[type='tel']:focus,[type='text']:focus,[type='time']:focus,[type='url']:focus,[type='week']:focus,input:not([type]):focus,textarea:focus{border-color:#e03131;outline:none}[type='color']::-moz-placeholder,[type='date']::-moz-placeholder,[type='datetime']::-moz-placeholder,[type='datetime-local']::-moz-placeholder,[type='email']::-moz-placeholder,[type='month']::-moz-placeholder,[type='number']::-moz-placeholder,[type='password']::-moz-placeholder,[type='search']::-moz-placeholder,[type='tel']::-moz-placeholder,[type='text']::-moz-placeholder,[type='time']::-moz-placeholder,[type='url']::-moz-placeholder,[type='week']::-moz-placeholder,input:not([type])::-moz-placeholder,textarea::-moz-placeholder{color:#7f7f80}[type='color']::placeholder,[type='date']::placeholder,[type='datetime']::placeholder,[type='datetime-local']::placeholder,[type='email']::placeholder,[type='month']::placeholder,[type='number']::placeholder,[type='password']::placeholder,[type='search']::placeholder,[type='tel']::placeholder,[type='text']::placeholder,[type='time']::placeholder,[type='url']::placeholder,[type='week']::placeholder,input:not([type])::placeholder,textarea::placeholder{color:#7f7f80}input[type="search"]{-webkit-appearance:none;-moz-appearance:none;appearance:none}ul,ol{list-style-type:none;margin:0;padding:0}dl,dt,dd{margin:0;padding:0}img,video{display:block;margin:0;max-width:100%}iframe{max-width:100%}table{border-collapse:collapse;margin:0.75 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #8c8c9d;font-weight:600;padding:0.75 0;text-align:left}td{border-bottom:1px solid #b5b5c0;padding:0.75 0}tr,td,th{border-bottom:1px solid #ddd;padding:0.25rem;vertical-align:middle}html{font-size:18px;color:#29292c;font-family:"Calibre", system-ui, -apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;letter-spacing:-0.006rem}@media (prefers-color-scheme: dark){html{color:#f0f0f8}}@media screen and (min-width: 500px){html{font-size:calc(18px + 6 * calc(5vw / 100))}}@media screen and (min-width: 960px){html{font-size:calc(19px + 6 * calc(5vw / 100))}}@media screen and (min-width: 1366px){html{font-size:calc(21px + 6 * calc(5vw / 100))}}h1,h2,h3,h4,h5,h6{color:#29292c;font-family:"Calibre", system-ui, -apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif;font-weight:600;line-height:0.98;margin:1rem 0;text-rendering:optimizeLegibility;max-width:28rem}@media (prefers-color-scheme: dark){h1,h2,h3,h4,h5,h6{color:#fff}}h1{font-size:2em;letter-spacing:-0.0575rem}h2{font-size:1.5rem;letter-spacing:-0.04rem}h3{font-size:1.25rem;letter-spacing:-0.025rem}h4{font-size:1.125rem;letter-spacing:-0.015rem}h5{font-size:1rem;letter-spacing:-0.005rem}h6{font-size:18px}p{margin:0.25rem 0 1.25rem;max-width:30em}p code,p samp{padding:0}p:has(img){max-width:none}a{color:#ce2d2d;text-decoration:none;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;transition:color 0.1s linear}a:hover{color:#b32727}a:focus{outline:2px solid rgba(224,49,49,0.6);outline-offset:3px}@media (prefers-color-scheme: dark){a{color:#ffe7a3}a:hover{color:#fff}a:focus{outline:2px solid #fff}}hr{border-bottom:1px solid #dadae0;border-left:0;border-right:0;border-top:0;margin:2rem auto}abbr,acronym{border-bottom:1px dotted #b5b5c0;cursor:help}blockquote{border-left:2px solid #e03131;color:#4e4e54;font-style:italic;margin:1rem 0;padding:0.5rem 1rem}@media (prefers-color-scheme: dark){blockquote{color:#cbcbd3}}blockquote p{margin:0}blockquote em{font-style:normal;font-weight:600}strong{font-weight:600}cite{color:#67676e;font-style:italic}blockquote cite,figcaption cite{display:block;text-align:right}blockquote cite::before,figcaption cite::before{content:"— ";margin-left:-1em}figure{border:0;margin:0.5rem 0;max-width:100%}figcaption{color:#4e4e54;font-size:calc($base-font-size * 0.95);font-style:italic}@media (prefers-color-scheme: dark){figcaption{color:#f0f0f8}}sup{font-size:85%;padding:0 2px}code,kbd,samp{font-family:"Fira Mono", "Monaco", "Consolas", "Lucida Console", monospace;font-size:0.8rem;letter-spacing:-0.3px;padding:0 3px;white-space:normal}:not(pre)>code,:not(pre)>kbd{margin-right:0.05em;margin-left:0.05em;padding-right:5px;padding-left:5px;background:#f7f7f7}@media (prefers-color-scheme: dark){:not(pre)>code,:not(pre)>kbd{background:#000}}pre{background:#f7f7f7;line-height:1.35;margin:1rem 0;overflow-x:auto;white-space:pre;word-wrap:normal}@media (prefers-color-scheme: dark){pre{background-color:#000}}pre code,pre samp{border-radius:2px;color:#3d3e44;display:block;outline:none;overflow-x:auto;padding:1rem;white-space:inherit}@media (prefers-color-scheme: dark){pre code,pre samp{color:#f0f0f8}}h1 code,h2 code,h3 code,h4 code{background:none;font-size:1.2rem;outline:0}code{font-size:0.8rem;overflow-wrap:anywhere}.input-button-unit{display:flex;flex-direction:column}@media (min-width: 28em){.input-button-unit{flex-direction:row}}.input-button-unit-input{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;flex:1;margin:0;min-width:15rem}@media (min-width: 28em){.input-button-unit-input{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-bottom-right-radius:0;border-top-right-radius:0;border-bottom:1px solid #dadae0;border-right:0}}.input-button-unit-button{border-top-left-radius:0;border-top-right-radius:0;min-width:7rem}@media (min-width: 28em){.input-button-unit-button{border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-left-radius:0;border-top-left-radius:0}}.ads{display:flex}@media screen and (max-width: 700px){.ads{flex-direction:column}}.ads__title{margin-bottom:0.25rem}.ads__image{flex:1;-o-object-fit:cover;object-fit:cover;width:50%}@media screen and (max-width: 700px){.ads__image{width:100%;max-height:375px}}.ads__body{background-color:#f0f0f8;display:flex;flex:1;padding:1rem;align-items:flex-start;flex-direction:column;justify-content:center}.ads__body p{font-size:0.9rem;margin-right:1rem;max-width:26rem}@media (prefers-color-scheme: dark){.ads__body{background-color:#3d3e44}}aside.info,aside.warn,aside.error{border-left:solid 2px;margin:1.9rem 0;padding:0.5rem 0.95rem}aside.info{background:rgba(203,203,211,0.15);border-color:#cbcbd3}aside.warn{background-color:rgba(255,231,163,0.15);border-color:#ffe7a3}aside.error{background-color:rgba(224,49,49,0.15);border-color:#e03131}aside p:last-of-type{margin-bottom:0}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#e03131;border:1px solid #e03131;border-radius:2px;color:#fff;cursor:pointer;display:inline-block;font-family:"Calibre", system-ui, -apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif;font-size:1.1rem;font-weight:600;min-width:-moz-fit-content;min-width:fit-content;padding:0.55em 0.8em;text-align:center;text-decoration:none;transition:background-color 250ms ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.button a{color:#fff}.button:hover{background-color:#d52f2f;color:#fff}.button:focus{outline:2px solid rgba(224,49,49,0.6);outline-offset:3px}@media (prefers-color-scheme: dark){.button{background-color:#6931e0;border-color:#6931e0}.button:hover{background-color:#592abe}.button:focus{outline:2px solid #6931e0}}.highlight .c{color:#808080;font-style:italic}.highlight .err{color:#dc322f}.highlight .k{color:#106fb2}.highlight .o{color:#106fb2}.highlight .cm{color:#808080;font-style:italic}.highlight .cp{color:#808080}.highlight .c1{color:#808080;font-style:italic}.highlight .cs{color:#808080;font-style:italic}.highlight .gd{background-color:#ffc8bd;color:#3d3e44}.highlight .ge{font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#106fb2}.highlight .gi{background-color:#baeeba;color:#3d3e44}.highlight .go{color:#9b9aa1}.highlight .gp{color:#3d3e44}.highlight .gs{color:#29292c}.highlight .gu{color:#106fb2}.highlight .gt{color:#3d3e44}.highlight .kc{color:#106fb2}.highlight .kd{color:#106fb2}.highlight .kn{color:#106fb2}.highlight .kp{color:#106fb2}.highlight .kr{color:#106fb2}.highlight .kt{color:#048a64}.highlight .m{color:#00ad38}.highlight .s{color:#00ad38}.highlight .na{color:#048a64}.highlight .nb{color:#106fb2}.highlight .nc{color:#048a64}.highlight .no{color:#048a64}.highlight .ni{color:#3d3e44}.highlight .ne{color:#106fb2}.highlight .nf{color:#29292c}.highlight .nn{color:#048a64}.highlight .nt{color:#3d3e44}.highlight .nv{color:#048a64}.highlight .ow{color:#29292c}.highlight .w{color:#3d3e44}.highlight .mf{color:#00ad38}.highlight .mh{color:#00ad38}.highlight .mi{color:#00ad38}.highlight .mo{color:#00ad38}.highlight .sb{color:#00ad38}.highlight .sc{color:#00ad38}.highlight .sd{color:#00ad38}.highlight .s2{color:#00ad38}.highlight .se{color:#00ad38}.highlight .sh{color:#00ad38}.highlight .si{color:#00ad38}.highlight .sx{color:#00ad38}.highlight .sr{color:#00ad38}.highlight .s1{color:#00ad38}.highlight .ss{color:#dc322f}.highlight .bp{color:#3d3e44}.highlight .vc{color:#048a64}.highlight .vg{color:#048a64}.highlight .vi{color:#048a64}.highlight .il{color:#00ad38}@media (prefers-color-scheme: dark){.highlight .c{color:#ffe7a3;font-style:italic}.highlight .err{color:#e27270}.highlight .k{color:#88c1ea}.highlight .o{color:#88c1ea}.highlight .cm{color:#ffe7a3;font-style:italic}.highlight .cp{color:#ffe7a3}.highlight .c1{color:#ffe7a3;font-style:italic}.highlight .cs{color:#ffe7a3;font-style:italic}.highlight .gd{background-color:#4c3c39;color:#fff}.highlight .ge{font-style:italic}.highlight .gr{color:#e27270}.highlight .gh{color:#88c1ea}.highlight .gi{background-color:#384738;color:#fff}.highlight .go{color:#9b9aa1}.highlight .gp{color:#cbcbd3}.highlight .gs{color:#cbcbd3}.highlight .gu{color:#88c1ea}.highlight .gt{color:#cbcbd3}.highlight .kc{color:#88c1ea}.highlight .kd{color:#88c1ea}.highlight .kn{color:#88c1ea}.highlight .kp{color:#88c1ea}.highlight .kr{color:#88c1ea}.highlight .kt{color:#a787ec}.highlight .m{color:#78da98}.highlight .s{color:#78da98}.highlight .na{color:#a787ec}.highlight .nb{color:#88c1ea}.highlight .nc{color:#a787ec}.highlight .no{color:#a787ec}.highlight .ni{color:#cbcbd3}.highlight .ne{color:#88c1ea}.highlight .nf{color:#cbcbd3}.highlight .nn{color:#a787ec}.highlight .nt{color:#cbcbd3}.highlight .nv{color:#a787ec}.highlight .ow{color:#cbcbd3}.highlight .w{color:#cbcbd3}.highlight .mf{color:#78da98}.highlight .mh{color:#78da98}.highlight .mi{color:#78da98}.highlight .mo{color:#78da98}.highlight .sb{color:#78da98}.highlight .sc{color:#78da98}.highlight .sd{color:#78da98}.highlight .s2{color:#78da98}.highlight .se{color:#78da98}.highlight .sh{color:#78da98}.highlight .si{color:#78da98}.highlight .sx{color:#78da98}.highlight .sr{color:#78da98}.highlight .s1{color:#78da98}.highlight .ss{color:#e27270}.highlight .bp{color:#cbcbd3}.highlight .vc{color:#a787ec}.highlight .vg{color:#a787ec}.highlight .vi{color:#a787ec}.highlight .il{color:#78da98}}.container{width:100%;margin-left:auto;margin-right:auto;padding:0 1rem}@media screen and (min-width: 500px){.container{max-width:500px}}@media screen and (min-width: 640px){.container{max-width:640px}}@media screen and (min-width: 960px){.container{max-width:960px}}.container-body{margin-top:2.5rem}.container-wide{max-width:1150px}.post-cta-section{align-items:flex-start;background-color:#cbcbd3;border:1px solid #b5b5c0;border-radius:2px;display:flex;padding:1em}@media screen and (max-width: 500px){.post-cta-section{display:block}}.post-cta-section .cta-image-wrapper{flex-basis:100%;margin:0.25em 2em 0.25em 0;max-width:325px}@media screen and (max-width: 500px){.post-cta-section .cta-image-wrapper{flex-basis:auto;margin-bottom:1em;margin-right:0;max-width:100%}}.post-cta-section .cta-image{height:auto;width:100%;margin:0}.post-cta-section p{margin-bottom:1em}@media screen and (max-width: 500px){.post-cta-section p{margin-left:0}}.post-cta-section .cta-button{background-color:#4a90e2;border:1px solid #4a90e2;border-radius:2px;color:#fff;display:inline-block;padding:0.5rem 1rem;text-decoration:none;transition:background-color 0.25s ease}.post-cta-section .cta-button:hover{background-color:#3b73b5;border:1px solid #4a90e2;box-shadow:none;color:#fff}.email-sign-up .button{font-size:1rem}.animated{animation-duration:1s;animation-fill-mode:both}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}.hiring-cta{background-color:#e03131;border:1px solid #e03131;border-radius:2px;color:#fff;cursor:pointer;font-family:"Calibre", system-ui, -apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif;font-size:18px;font-weight:600;margin-top:0.5rem;padding:0.1em 1em;transition:background-color 250ms ease;vertical-align:middle;white-space:nowrap}.hiring-cta:hover{background-color:#d52f2f;color:#fff}.hiring-cta:focus{outline:2px solid rgba(224,49,49,0.6);outline-offset:3px}@media screen and (min-width: 960px){.hiring-cta{margin-left:1.5rem;margin-top:0;padding:0.35em 1em}}.global-footer{padding-top:3rem;padding-bottom:3rem;background-color:#f0f0f8;margin-top:3rem}@media (prefers-color-scheme: dark){.global-footer{background-color:#29292c}}.global-footer-link-section{display:grid;grid-gap:2rem;grid-template-columns:repeat(3, 1fr)}.global-footer-link-list{-moz-column-count:2;column-count:2;grid-column:1 / -1}@media (min-width: 640px){.global-footer-link-list{-moz-column-count:3;column-count:3}}@media (min-width: 960px){.global-footer-link-list{-moz-column-count:1;column-count:1;grid-column:span 1}}.global-footer-link-list a{color:#29292c;text-decoration-color:#b5b5c0;text-decoration-line:underline}.global-footer-link-list a:hover{color:#e03131;text-decoration-color:#e03131}@media (prefers-color-scheme: dark){.global-footer-link-list a{color:#cbcbd3}}.global-footer-copywright-section{font-size:16px;margin-top:3rem}.global-footer-copywright-prose{max-width:none}.global-footer-copywright-prose a{color:#29292c;text-decoration-color:#b5b5c0;text-decoration-line:underline}.global-footer-copywright-prose a:hover{color:#e03131;text-decoration-color:#e03131}@media (prefers-color-scheme: dark){.global-footer-copywright-prose a{color:#fff}}.meta{line-height:1.5;align-items:baseline;font-size:0.8rem;padding-bottom:1.75rem;margin-bottom:1rem;border-bottom:1px solid #dadae0}.meta-inner-wrapper{display:flex;flex-direction:column;align-items:baseline;row-gap:0.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}@media screen and (min-width: 640px){.meta-inner-wrapper{flex-direction:row}}.meta-author{display:inline-block;line-height:1.3;position:relative;font-weight:600}.meta-author::before,.meta-author::after{color:#67676e;display:inline;margin:0}.meta-editor{display:inline-block}.meta-editor a{font-weight:600}.meta-editor .meta-updated-date{font-size:italic;color:#3d3e44}.meta-editor .meta-updated-date::before{content:"–";font-weight:400}.meta-date{line-height:1;color:#3d3e44;font-weight:400}.meta-date::before{content:"–";font-weight:400}@media (prefers-color-scheme: dark){.meta-date{color:#f0f0f8}}.meta-translation-author{color:#67676e;font-style:italic;display:inline-block}.meta-translation-author a{font-weight:600}.meta-tag-item{display:inline-block}.meta-tag-item a{color:#67676e}.meta-tag-item a:hover{color:#e03131;text-decoration:none}@media (prefers-color-scheme: dark){.meta-tag-item a{color:#f0f0f8}.meta-tag-item a:hover{color:#ffe7a3;text-decoration:none}}.meta-tag-item:not(:last-of-type)::after{content:",";display:inline-block;margin-left:-3px;margin-right:0.1rem}.meta-tag-list{font-size:0.6rem;font-weight:600;letter-spacing:1px;list-style:none;line-height:1.4;text-transform:uppercase;max-width:25rem;margin-top:0.5rem}.meta-updated{color:#67676e;font-style:italic}@media (prefers-color-scheme: dark){.meta-updated{color:#cbcbd3}}.mini-post-list,.mini-post .meta{text-align:left;border-bottom:none}.mini-post-list{padding-top:2rem;display:flex;flex-direction:column;gap:2rem;border-top:1px solid #dadae0}.mini-post-link{color:#29292c}@media (prefers-color-scheme: dark){.mini-post-link{color:#fff}}.mini-post-link:hover,.mini-post-link:focus{color:#e03131}@media (prefers-color-scheme: dark){.mini-post-link:hover,.mini-post-link:focus{color:#ffe7a3}}.mini-post-teaser{line-height:1.33;max-width:25rem;margin-bottom:0.5rem}.mini-post-title{margin:0.75rem 0 0.5rem}.mini-post .meta{padding-bottom:0;width:auto}.mini-post .meta-tag-list{display:block;text-align:left;flex-wrap:wrap}.page-not-found{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;margin:0 auto;position:relative;text-align:center;width:100%}@media screen and (max-width: 500px){.page-not-found{width:90%}.page-not-found .container{margin-top:1rem}}.page-not-found h1{line-height:1.8;margin-bottom:1.5;width:100%}@media screen and (max-width: 500px){.page-not-found h1{font-size:2rem}}.page-not-found .button:hover{color:#fff}.page-not-found p{line-height:1.5;margin-bottom:1.5}.page-not-found .explore-other-posts{margin-top:0}@media screen and (max-width: 500px){.page-not-found .explore-other-posts span{display:block;margin-top:0.5rem}.page-not-found .explore-other-posts .separator{padding:0}}.page-not-found .explore-other-posts span{display:inline}.page-not-found .explore-other-posts .separator{padding:0 10px}.pagination{margin:0 auto;padding:1rem;text-align:center}.related-articles{border-top:1px solid #f0f0f3;margin:2rem auto;padding-top:2rem}.related-articles h2{margin-bottom:0.5rem}.screenshot{border:1px solid #f0f0f3;border-radius:2px;box-shadow:3px 3px 6px 1px rgba(0,0,0,0.2)}html{scroll-padding-top:calc($base-font-size + ($spacing-block * 1.5) + $spacing-block)}.search{margin-bottom:3rem}.search-form{margin-top:1rem;margin-bottom:1rem}.search-results-summary{border-bottom:1px solid #dadae0;padding-bottom:1rem}.site-header{padding-bottom:1rem}.site-title{margin:0 1.75rem 0.5rem 0;font-size:2.5em;max-width:34rem}.site-author{margin-right:0;margin-left:0;max-width:30rem;font-size:1.25rem;line-height:1.33}.site-author a{text-decoration:underline}.page-title a{text-decoration:underline}.desktop{display:none}@media (min-width: 960px){.desktop{display:block}}.mobile{display:block}@media (min-width: 960px){.mobile{display:none}}.site-nav{padding:0.5rem 1rem;align-items:center;background-color:#fff;border-bottom:1px solid #f0f0f3;display:flex;flex-direction:row;justify-content:space-between;padding-bottom:0.5rem;padding-top:0.5rem;position:sticky;gap:0.5rem;top:0;width:100%;z-index:2}@media (min-width: 960px){.site-nav{padding:0.5rem 2rem}}@media (prefers-color-scheme: dark){.site-nav{background-color:#29292c;border-bottom-color:#000}}.site-nav-skip-link{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.site-nav-skip-link:focus{clip:auto;-webkit-clip-path:none;clip-path:none;height:auto;overflow:visible;position:static;white-space:inherit;width:auto;position:absolute;top:1rem;left:50%;background-color:#e03131;color:#fff;outline:none;padding:0.125em 0.5em;text-decoration:underline;transform:translate(-50%);z-index:1}.site-nav-logo-link{margin-right:auto}.site-nav-live-link{display:inline-block;position:relative;flex-shrink:1;height:100%;background:rgba(224,49,49,0.1);padding:16px 24px 16px 8px;line-height:0;font-size:16px;border-radius:4px}.site-nav-live-link:hover>.live-link-modal,.site-nav-live-link:focus>.live-link-modal{display:block;animation:fadeIn 0.3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10%)}100%{opacity:1;transform:translateY(0)}}.live-link-content::after{content:"";display:block;position:absolute;top:50%;right:8px;width:8px;height:8px;border-radius:999px;transform:translateY(-50%);background-color:#e03131;animation:blink-animation 500ms alternate infinite;-webkit-animation:blink-animation 500ms alternate infinite}@keyframes blink-animation{from{opacity:1}to{opacity:0.2}}.live-link-modal{display:none;position:absolute;top:100%;right:-10%}.live-link-modal h4{color:#e03131;margin-block:8px}@media (prefers-color-scheme: dark){.live-link-modal h4{color:#ffe7a3}}.live-link-modal p{color:#29292c;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:8px 0 0 0}@media (prefers-color-scheme: dark){.live-link-modal p{color:#f0f0f8}}@media (min-width: 960px){.live-link-modal{left:-10%;right:auto}}.live-link-modal-content{margin-top:0.5rem;width:45ch;line-height:1;background:white;border:1px solid #f0f0f8;border-radius:2px;box-shadow:8px 8px 20px 0px rgba(41,41,44,0.05);padding:24px}@media (prefers-color-scheme: dark){.live-link-modal-content{background-color:#29292c}}.live-link-modal-content-player{aspect-ratio:16 / 9}.site-nav-logo{height:auto;margin-top:0.2rem;width:auto}.site-nav-logo.desktop{display:none}@media (min-width: 1050px){.site-nav-logo.desktop{display:block}}.site-nav-logo.mobile{width:2rem;height:2rem;display:block}@media (min-width: 1050px){.site-nav-logo.mobile{display:none}}.site-nav-links{display:none;flex-direction:row;justify-content:flex-end}.site-nav-links.overlay-active{align-items:center;background-color:#fff;bottom:0;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;line-height:1.3;position:absolute;right:0;top:0;width:100vw;z-index:2}@media (prefers-color-scheme: dark){.site-nav-links.overlay-active{background-color:#29292c}}@media (min-width: 960px){.site-nav-links{display:flex}}.site-nav-tag-links{align-items:center;display:flex;margin-right:1rem}.overlay-active .site-nav-tag-links{flex-direction:column;margin-bottom:2rem;margin-right:0}.site-nav-tag-links li{display:flex}.overlay-active .site-nav-tag-links li{margin-bottom:0.5rem}.site-nav-cta-link{font-size:16px}.overlay-active .site-nav-cta-link a{font-size:1rem}.site-nav-tag-link{color:#29292c;font-size:0.75rem;margin:0 0.5rem;white-space:nowrap}.site-nav-tag-link:focus,.site-nav-tag-link:hover{color:#e03131}.site-nav-tag-link[aria-current="page"]{color:#e03131;font-weight:600}.site-nav-tag-link[aria-current="page"] path{fill:#e03131}@media (prefers-color-scheme: dark){.site-nav-tag-link{color:#fff}}.overlay-active .site-nav-tag-link{font-size:1.25rem}.site-nav-search-link{align-items:center;display:flex}.site-nav-search-icon{height:0.75rem;width:0.75rem;fill:#29292c;position:relative;top:2px;vertical-align:sub}@media (prefers-color-scheme: dark){.site-nav-search-icon{fill:#fff}}.site-nav-search-link:hover .site-nav-search-icon{fill:#e03131}.site-nav-search-text{display:inline;margin-left:0.5rem}@media (min-width: 960px){.site-nav-search-text{display:none}}.site-nav-hamburger{background-color:unset;border:none;cursor:pointer;display:inline-block;padding:0;position:relative;right:0;top:0;transition:top 0.12s ease, right 0.12s ease}.site-nav-hamburger.overlay-active{right:1rem;top:1.5rem;transition:top 0.12s ease, right 0.12s ease;z-index:2}@media (min-width: 960px){.site-nav-hamburger{display:none}.site-nav-hamburger.overlay-active{display:inline-block}}.site-nav-hamburger-box{display:inline-block;height:12px;position:relative;width:25px}.site-nav-hamburger-inner{background-color:#29292c;border-radius:2px;height:3px;position:absolute;transition:transform 0.15s ease;width:25px;display:block;margin-top:-2px;top:50%;transition-duration:0.075s;transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}@media (prefers-color-scheme: dark){.site-nav-hamburger-inner{background-color:#fff}}.overlay-active .site-nav-hamburger-inner{transform:rotate(45deg);transition-delay:0.12s;transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.site-nav-hamburger-inner::before,.site-nav-hamburger-inner::after{background-color:#29292c;border-radius:2px;height:3px;position:absolute;transition:transform 0.15s ease;width:25px;content:"";display:block}@media (prefers-color-scheme: dark){.site-nav-hamburger-inner::before,.site-nav-hamburger-inner::after{background-color:#fff}}.site-nav-hamburger-inner::after{bottom:-7px;transition:bottom 0.075s 0.12s ease,transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19)}.overlay-active .site-nav-hamburger-inner::after{bottom:0;transform:rotate(-90deg);transition:bottom 0.075s ease,transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1)}.site-nav-hamburger-inner::before{top:-7px;transition:top 0.075s 0.12s ease, opacity 0.075s ease}.overlay-active .site-nav-hamburger-inner::before{opacity:0;top:0;transition:top 0.075s ease, opacity 0.075s 0.12s ease}.tags-list-wrapper{display:flex;flex-direction:column;gap:1rem}.tags-list{-moz-column-count:2;column-count:2}@media (min-width: 640px){.tags-list{-moz-column-count:3;column-count:3}}@media (min-width: 960px){.tags-list{-moz-column-count:5;column-count:5}}.tags-list-heading{border-bottom:1px solid #dadae0;font-size:1.25rem;font-weight:600;margin-bottom:0.5rem;padding-bottom:0.125em;text-transform:uppercase}.tags-list-link{color:#29292c;text-decoration-color:#b5b5c0;text-decoration-line:underline}.tags-list-link:hover{color:#e03131;text-decoration:none}@media (prefers-color-scheme: dark){.tags-list-link{color:#ffe7a3}.tags-list-link:hover{color:#fff;text-decoration:none}}.authors-list{-moz-column-count:2;column-count:2}@media (min-width: 640px){.authors-list{-moz-column-count:3;column-count:3}}.authors-list-heading{border-bottom:1px solid #dadae0;font-size:1.25rem;font-weight:600;margin-bottom:0.5rem;margin-top:3rem;padding-bottom:0.125em;text-transform:uppercase}.authors-list-link{color:#29292c;text-decoration-color:#b5b5c0;text-decoration-line:underline}.authors-list-link:hover{color:#e03131;text-decoration:none}@media (prefers-color-scheme: dark){.authors-list-link{color:#ffe7a3}.authors-list-link:hover{color:#fff;text-decoration:none}}body{background-color:#fff}@media (prefers-color-scheme: dark){body{background-color:#29292c}}h1.title a{color:#29292c}h1.title a:hover{color:#e03131}.post{padding:0 0 3rem}.post h1.title{margin:0.5rem 0.5rem 0.75rem 0}.post h1.title a{color:#29292c;text-decoration:none}.post-body{line-height:1.4;position:relative;padding-top:0.25rem}.post-body a{color:#e03131;text-decoration:underline}@media (prefers-color-scheme: dark){.post-body a{color:#ffe7a3}}.post-body a:focus,.post-body a:hover{color:#e03131;text-decoration:none}@media (prefers-color-scheme: dark){.post-body a:focus,.post-body a:hover{color:#ffe7a3}}.post-body h1 a,.post-body h2 a,.post-body h3 a,.post-body h4 a,.post-body h5 a{color:#29292c;text-decoration:none}@media (prefers-color-scheme: dark){.post-body h1 a,.post-body h2 a,.post-body h3 a,.post-body h4 a,.post-body h5 a{color:#fff}}.post-body h2+img,.post-body h3+img,.post-body h4+img,.post-body h5+img{margin-top:0 !important}.post-body ul,.post-body ol{margin-bottom:1rem}.post-body ol{list-style-type:decimal;margin-left:1.3rem;margin-bottom:1.3rem}.post-body ul{list-style-type:disc;margin-left:1.1rem;margin-bottom:1.3rem;max-width:30em}.post-body li{margin-bottom:0.3333333333rem}.post-body li>ul,.post-body li>ol{margin-top:0.3333333333rem;margin-bottom:0}.post-body dl{line-height:1.5;margin:0.75 0}.post-body dl dt{font-weight:600;margin-top:0.75}.post-body dl dd{margin:0 0 0 1rem}.post-body img,.post-body video{margin:0.85rem auto}.footnotes ol,ol.footnotes{font-size:0.8rem;line-height:1.5rem}.footnotes ol li,ol.footnotes li{margin-top:0.85rem}.video-container{height:0;margin:1.7rem 0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.line-height-zero{line-height:0}.spacing-bottom{margin-bottom:1rem}article:lang(ar){direction:rtl;text-align:right}article:lang(ar) blockquote{border-left:initial;border-right:2px solid #e03131;padding-left:initial;padding-right:0.95rem}article:lang(ar) ul{margin-left:initial;margin-right:1.1rem}article .related-articles{direction:initial}.font-size-small{font-size:1.1rem}.force-new-rails-asset-fingerprint{color:red}
