@charset "UTF-8";footer:where(.astro-SZ7XMLTE){margin:5rem auto;display:flex;font-size:.875rem;line-height:1.4;border-top:1px dashed var(--colour-muted);padding:1rem 2rem;gap:2rem}@media screen and (max-width: 600px){footer:where(.astro-SZ7XMLTE){flex-direction:column}}footer:where(.astro-SZ7XMLTE) ul:where(.astro-SZ7XMLTE),footer:where(.astro-SZ7XMLTE) li:where(.astro-SZ7XMLTE){list-style:none;margin:0;padding:0}footer:where(.astro-SZ7XMLTE) a:where(.astro-SZ7XMLTE){color:var(--colour-text);text-decoration:none}footer:where(.astro-SZ7XMLTE) a:where(.astro-SZ7XMLTE):hover{color:var(--colour-link);text-decoration:underline}footer:where(.astro-SZ7XMLTE) section:where(.astro-SZ7XMLTE){flex:1}footer:where(.astro-SZ7XMLTE) .projects:where(.astro-SZ7XMLTE) a:where(.astro-SZ7XMLTE){text-decoration:underline}header:where(.astro-3EF6KSR2){display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"intro topLinks" "intro techLinks";gap:1rem;padding:1rem 2rem}@media screen and (max-width: 800px){header:where(.astro-3EF6KSR2){grid-template-columns:1fr;grid-template-areas:"topLinks" "intro" "techLinks";gap:1rem;padding:1rem}}.intro:where(.astro-3EF6KSR2){color:var(--colour-text);text-decoration:none;transition:color .5s ease-in-out;grid-area:intro}.intro:where(.astro-3EF6KSR2):hover{color:var(--colour-link)}.intro:where(.astro-3EF6KSR2) .wordmark:where(.astro-3EF6KSR2){margin:0;font-size:1.25rem;text-transform:uppercase;font-weight:400;font-family:inria,sans-serif}.intro:where(.astro-3EF6KSR2) p:where(.astro-3EF6KSR2){margin:0;font-size:.75rem}@media screen and (max-width: 800px){.intro:where(.astro-3EF6KSR2){display:flex;flex-direction:column;align-items:center}}.techLinks:where(.astro-3EF6KSR2){grid-area:techLinks}.techLinks:where(.astro-3EF6KSR2) ul:where(.astro-3EF6KSR2),.techLinks:where(.astro-3EF6KSR2) li:where(.astro-3EF6KSR2){margin:0;padding:0;list-style:none}.techLinks:where(.astro-3EF6KSR2) ul:where(.astro-3EF6KSR2){display:flex;gap:1rem;justify-content:flex-end}.techLinks:where(.astro-3EF6KSR2) a:where(.astro-3EF6KSR2){text-decoration:none;color:var(--colour-text)}.techLinks:where(.astro-3EF6KSR2) a:where(.astro-3EF6KSR2):hover{color:var(--colour-link);text-decoration:underline}@media screen and (max-width: 800px){.techLinks:where(.astro-3EF6KSR2){display:flex;flex-direction:column;align-items:center}}.topLinks:where(.astro-3EF6KSR2){grid-area:topLinks;font-size:.75rem}.topLinks:where(.astro-3EF6KSR2) ul:where(.astro-3EF6KSR2),.topLinks:where(.astro-3EF6KSR2) li:where(.astro-3EF6KSR2){margin:0;padding:0;list-style:none}.topLinks:where(.astro-3EF6KSR2) ul:where(.astro-3EF6KSR2){display:flex;gap:1rem;justify-content:flex-end;align-items:center}.topLinks:where(.astro-3EF6KSR2) a:where(.astro-3EF6KSR2),.topLinks:where(.astro-3EF6KSR2) .themeToggle:where(.astro-3EF6KSR2){text-decoration:none;color:var(--colour-text)}.topLinks:where(.astro-3EF6KSR2) a:where(.astro-3EF6KSR2):hover,.topLinks:where(.astro-3EF6KSR2) .themeToggle:where(.astro-3EF6KSR2):hover{color:var(--colour-link);text-decoration:underline}.topLinks:where(.astro-3EF6KSR2) .themeToggle:where(.astro-3EF6KSR2){appearance:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}@media screen and (max-width: 800px){.topLinks:where(.astro-3EF6KSR2){display:flex;flex-direction:column;align-items:center}}/**
* Monokai theme for Prism.JS
*
* @author Martijn Swaagman
* @license MIT 2015
*/code[class*=language-],pre[class*=language-]{color:#f8f8f2;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:1.5rem 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#778090}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a6e22e}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.function{color:#e6db74}.token.keyword{color:#f92672}.token.regex,.token.important{color:#fd971f}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}@font-face{font-family:inria;src:url(/fonts/inria/inriasans-regular-webfont.woff2) format("woff2"),url(/fonts/inria/inriasans-regular-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:inria;src:url(/fonts/inria/inriasans-italic-webfont.woff2) format("woff2"),url(/fonts/inria/inriasans-italic-webfont.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:inria;src:url(/fonts/inria/inriasans-bold-webfont.woff2) format("woff2"),url(/fonts/inria/inriasans-bold-webfont.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:inria;src:url(/fonts/inria/inriasans-bolditalic-webfont.woff2) format("woff2"),url(/fonts/inria/inriasans-bolditalic-webfont.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:open-sans;src:url(/fonts/open-sans/opensans-regular-webfont.woff2) format("woff2"),url(/fonts/open-sans/opensans-regular-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:open-sans;src:url(fonts/open-sans/opensans-italic-webfont.woff2) format("woff2"),url(fonts/open-sans/opensans-italic-webfont.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:open-sans;src:url(/fonts/open-sans/opensans-bold-webfont.woff2) format("woff2"),url(/fonts/open-sans/opensans-bold-webfont.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:open-sans;src:url(/fonts/open-sans/opensans-bolditalic-webfont.woff2) format("woff2"),url(/fonts/open-sans/opensans-bolditalic-webfont.woff) format("woff");font-weight:700;font-style:italic}*,*:before,*:after{box-sizing:border-box}:root{--colour-page: hsl(50, 66%, 95%);--colour-text: hsl(100, 18%, 13%);--colour-link: red;--colour-muted: hsl(100, 8%, 40%);--colour-brand: hsl(39, 92%, 57%);--colour-well: #f5f5f5;color-scheme:light}html[data-theme=dark]{--colour-page: hsl(100, 12%, 8%);--colour-text: hsl(50, 35%, 93%);--colour-link: red;--colour-muted: hsl(80, 6%, 58%);--colour-brand: hsl(39, 92%, 57%);--colour-well: hsl(100, 10%, 14%);color-scheme:dark}html{font-family:open-sans,sans-serif;font-weight:400;font-size:16px;line-height:1.55;margin:0;padding:0;background:var(--colour-page);color:var(--colour-text)}body{margin:0;padding:0;background:var(--colour-page);color:var(--colour-text)}main{padding:2rem}@media screen and (max-width: 600px){main{padding:1rem}}p{line-height:1.55}li{letter-spacing:.01rem}a{color:var(--colour-link)}h1{font-size:2.25rem;font-weight:700;line-height:2.5rem;letter-spacing:-.05rem;font-family:inria,sans-serif;color:var(--colour-text)}h2{font-size:1.5rem;font-weight:700;line-height:2rem;font-family:inria,sans-serif;color:var(--colour-text)}h3{font-size:1.2rem;font-weight:700;line-height:2rem;font-family:inria,sans-serif;color:var(--colour-text)}p,code,pre,button,input,textarea,select,label{font-size:1rem}pre{display:block;padding:1rem}.exercise{margin:2rem 0;padding:1rem 2rem;border:1px solid var(--colour-muted);border-radius:.5rem}aside.box{background:var(--colour-text);color:var(--colour-page);padding:1rem 2rem;margin:2rem 0;border-radius:.5rem}aside.pullquote{background:var(--colour-well);padding:1rem 2rem;margin:1rem 0rem 1rem 4rem;border-radius:.5rem;font-style:italic;font-size:2rem;max-width:50%;float:right}aside.pullquote:before{content:"“";font-size:2rem}aside.pullquote:after{content:"”";font-size:2rem}@media (max-width: 800px){aside.pullquote{margin:1rem 0rem;max-width:100%;float:none}}.math-display{font-size:2rem;margin:2rem 0}mi[mathvariant=bold]{font-weight:700}
