:root{--colour-neutral-100:hsl(0,0%,100%);--colour-neutral-150:hsl(0,0%,96%);--colour-neutral-200:hsl(0,0%,92%);--colour-neutral-250:hsl(0,0%,88%);--colour-neutral-300:hsl(0,0%,85%);--colour-neutral-350:hsl(0,0%,80%);--colour-neutral-400:hsl(0,0%,75%);--colour-neutral-450:hsl(0,0%,70%);--colour-neutral-500:hsl(0,0%,65%);--colour-neutral-550:hsl(0,0%,45%);--colour-neutral-600:hsl(0,0%,26%);--colour-neutral-650:hsl(0,0%,23%);--colour-neutral-700:hsl(0,0%,21%);--colour-neutral-750:hsl(0,0%,17%);--colour-neutral-800:hsl(0,0%,14%);--colour-neutral-850:hsl(0,0%,12%);--colour-neutral-900:hsl(0,0%,10%);--colour-accent-100:hsl(334,100%,93%);--colour-accent-150:hsl(334,100%,88%);--colour-accent-200:hsl(334,100%,83%);--colour-accent-250:hsl(334,100%,78%);--colour-accent-300:hsl(334,100%,73%);--colour-accent-350:hsl(334,100%,70%);--colour-accent-400:hsl(334,100%,68%);--colour-accent-450:hsl(334,100%,66%);--colour-accent-500:hsl(334,100%,63%);--colour-accent-550:hsl(334,100%,60%);--colour-accent-600:hsl(334,100%,53%);--colour-accent-650:hsl(334,100%,48%);--colour-accent-700:hsl(334,100%,43%);--colour-accent-750:hsl(334,100%,40%);--colour-accent-800:hsl(334,100%,33%);--colour-accent-850:hsl(334,100%,28%);--colour-accent-900:hsl(334,100%,23%);--colour-accent:var(--colour-accent-500);--colour-success:hsl(132,100%,63%);--colour-warning:hsl(51,100%,50%);--colour-error:hsl(10,100%,63%);--background-primary:var(--colour-neutral-800);--background-secondary:var(--colour-neutral-700);--background-tertiary:var(--colour-neutral-600);--text-primary:var(--colour-neutral-100);--text-secondary:var(--colour-neutral-500);--menu-background:var(--colour-neutral-900);--menu-text:var(--colour-neutral-100);--font-family-primary:"Lato",sans-serif;--font-family-secondary:"Francois One",sans-serif;--font-size-xxs:0.8rem;--font-size-xs:1.0rem;--font-size-s:1.4rem;--font-size-m:1.8rem;--font-size-l:2.4rem;--font-size-xl:3.2rem;--font-size-xxl:4.8rem;--font-size-xxxl:6.4rem;--space-xxs:.2rem;--space-xs:.4rem;--space-s:.8rem;--space-m:1.6rem;--space-l:3.2rem;--space-xl:6.4rem;--space-xxl:12.8rem;--border-radius:1rem;--box-shadow-dark:0 0 10px 2px var(--colour-neutral-900);--box-shadow-inset-accent:inset 6px 0 0 0 var(--colour-accent-500);--box-shadow-inset-light:inset 0 .5px 1px 0 var(--colour-neutral-400);--box-shadow-inset-dark:inset 0 -.5px 1px 0 var(--colour-neutral-900);--box-shadow-glow:0 0 10px 2px var(--colour-accent)}@keyframes bounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(10px)}75%{transform:translateY(-10px)}}@keyframes ripple{100%{opacity:0;transform:scale(4)}}html{font-size:62.5%;min-height:100%;overflow-y:scroll}.html--scroll-disabled{overflow:hidden;overflow-y:hidden}*{box-sizing:border-box}::-webkit-scrollbar{height:15px;width:15px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--menu-background);border-radius:3px}body{background:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-primary);font-size:1.6rem;font-weight:400;height:100%;line-height:1;margin:0;text-size-adjust:none}.container{interpolate-size:keywords;margin:0 auto;max-width:120rem;padding:var(--space-xl) var(--space-m) var(--space-xxl);transition:max-width 200ms ease-in-out;width:100%}html:where(.widescreen) .container{max-width:160rem}@media only screen and (max-width:680px){.container{padding:var(--space-l) var(--space-m)}}.container.animate{animation-delay:400ms}::selection{background:var(--colour-accent-800);;color:var(--text-primary)}a{text-decoration:underline}a{color:var(--colour-accent);transition:color 200ms ease-in-out}@media (hover:hover) and (pointer:fine){a:hover{color:var(--colour-accent-700)}}h1{font-size:var(--font-size-xxxl)}h1,h2,h3{font-family:var(--font-family-secondary);font-weight:400;letter-spacing:-2px;line-height:1.1;margin:0 0 var(--space-m)}h2{font-size:var(--font-size-xxl)}ul + h2{margin-top:var(--space-l)}h3{font-size:var(--font-size-xl)}label,.label{color:var(--colour-neutral-200);display:block;font-size:var(--font-size-m);margin-bottom:var(--space-s)}p{color:var(--colour-neutral-200);font-size:var(--font-size-m);line-height:1.5;margin:0 0 var(--space-m)}p:not(:last-child):not(:has(+ p,+ ul)){margin-bottom:var(--space-l)}ul{list-style:none;margin:var(--space-m) 0;padding:0}ul li{color:var(--colour-neutral-200);font-size:var(--font-size-m);line-height:1.5;margin-bottom:var(--space-m);padding-left:var(--space-l);position:relative}ul li::before{color:var(--colour-accent);content:".";font-family:var(--font-family-secondary);font-size:8rem;left:0;line-height:0;position:absolute;top:-.75rem}.button{-webkit-appearance:none;appearance:none;background:var(--colour-accent) radial-gradient(circle at center,var(--colour-accent-550),var(--colour-accent-500));border:1px solid var(--colour-accent-200);border-radius:var(--border-radius);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark);color:var(--text-primary);cursor:pointer;display:inline-block;font-family:var(--font-family-secondary);font-size:var(--font-size-m);;font-weight:400;overflow:hidden;padding:var(--space-m) var(--space-l);position:relative;text-align:center;text-decoration:none;transition:background-color 200ms ease-in-out,box-shadow 200ms ease-in-out;white-space:nowrap;z-index:0}.button:disabled,.select-box:disabled,.text-box:disabled{opacity:.5;pointer-events:none}.button:focus{outline:none}@media (hover:hover) and (pointer:fine){.button:hover{box-shadow:var(--box-shadow-glow);color:var(--text-primary)}}.button:focus{box-shadow:var(--box-shadow-glow)}.button::before,.button::after{font-family:bootstrap-icons;font-size:var(--font-size-s)}.button::after{content:"\f285";margin-left:var(--space-xs)}.button--back,.button--secondary,.button:where(.back){background:var(--background-secondary) radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700));border-color:var(--colour-neutral-500);color:var(--text-primary)}.button.back::before,.button--back::before{content:"\f284";margin-right:var(--space-xs)}.button.back::after,.button--back::after{content:""}.button .ripple{animation:ripple 0.6s linear;background:rgba(0,0,0,.15);border-radius:50%;position:absolute;transform:scale(0);pointer-events:none;z-index:-1}.grid{display:grid;gap:var(--space-m);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-l)}@media only screen and (max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}}@media only screen and (max-width:680px){.grid{grid-template-columns:repeat(1,1fr)}}.grid.two-columns{grid-template-columns:repeat(2,1fr)}@media only screen and (max-width:1024px){.grid.two-columns{grid-template-columns:repeat(1,1fr)}}.grid .grid-item.full-width{grid-column:1 / -1}html.no-js .lazy{display:none}.panel{background:var(--background-secondary) radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700));border:1px solid var(--colour-neutral-550);border-left:6px solid var(--colour-accent-500);border-radius:var(--border-radius);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark);padding:var(--space-l)}@media only screen and (max-width:680px){.panel{padding:var(--space-l) var(--space-m)}}.select-box{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 5 5-5z' fill='white'/%3E%3C/svg%3E") no-repeat right 12px center / 14px 10px,radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700)),var(--background-secondary);padding-right:4rem !important}.select-box:disabled{cursor:default;user-select:none}.select-box,.text-box{-moz-appearance:none;-webkit-appearance:none;appearance:none;border:1px solid var(--colour-neutral-550);border-left:6px solid var(--colour-accent-500);border-radius:var(--border-radius);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark);color:var(--content-text);font-family:inherit;font-size:var(--font-size-l);padding:var(--space-m);transition:border-color 200ms ease-in-out,box-shadow 200ms ease-in-out;width:100%}@media only screen and (max-width:680px){.select-box,.text-box{font-size:var(--font-size-m);}}.select-box:active,.select-box:focus,.text-box:active,.text-box:focus{border-color:var(--colour-accent);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark),var(--box-shadow-glow);outline:none}.text-box{background:var(--background-secondary)
        radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700));display:block}.text-box::placeholder{color:var(--text-secondary)}.menu-bar{backdrop-filter:blur(10px);background:rgba(26,26,26,.9);box-shadow:var(--box-shadow-dark);position:sticky;top:0;z-index:100}.menu-bar__container{align-items:center;display:flex;padding-bottom:var(--space-m);padding-top:var(--space-m)}.menu-bar__masthead{align-items:center;display:flex}.masthead__logo-container{margin-right:var(--space-s);overflow:hidden}.menu-bar__masthead a{color:var(--text-primary);text-decoration:none}.masthead__logo{display:block;height:auto;width:4.6rem}@media only screen and (max-width:680px){.masthead__logo{width:4rem}}.site-title__item{color:var(--text-primary);float:left;font-family:var(--font-family-secondary);font-size:var(--font-size-l);line-height:1;margin-bottom:0;text-decoration:none;text-transform:uppercase}.site-title__item + .site-title__item{padding-left:var(--space-s)}.site-title__item + .site-title__item .site-title__link{color:var(--text-secondary)}.site-title__item + .site-title__item::before{content:"/";margin-right:var(--space-s)}.footer p{font-size:var(--font-size-s)}.footer p,.footer a{color:var(--text-secondary)}.footer a{text-decoration:underline}.confirm__modal{align-items:center;display:flex;height:100%;left:0;justify-content:center;opacity:0;padding:2rem;pointer-events:none;position:fixed;top:0;transition:all 200ms ease-in-out;visibility:hidden;width:100%;z-index:9999}.confirm__modal:where(.confirm__modal--open){opacity:1;pointer-events:auto;visibility:visible}.confirm__overlay{background:rgba(0,0,0,.6);height:100%;left:0;position:absolute;top:0;width:100%}.confirm__content{background:var(--background-secondary)
        radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700));border:1px solid var(--colour-neutral-550);border-radius:var(--border-radius);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark);color:var(--text-primary);min-width:34rem;padding:var(--space-l) var(--space-l) var(--space-l) var(--space-xxl);position:relative;transform:translateY(2rem);transition:all 200ms ease-in-out;z-index:10000}.confirm__modal:where(.confirm__modal--open) .confirm__content{transform:translateY(0)}@media only screen and (max-width:680px){.confirm__content{padding:3rem}}.confirm__content.flash{animation:bounce 0.3s ease}.confirm__icon{font-size:var(--font-size-xxxl);left:var(--space-l);position:absolute;top:var(--space-l)}@media only screen and (max-width:680px){.confirm__icon{display:inline-block;margin-bottom:var(--space-l);position:static}}.confirm__title{font-family:var(--font-family-secondary);font-size:var(--font-size-xl);font-weight:400;letter-spacing:-1px;margin:0 0 var(--space-m)}.confirm__paragraph{font-size:var(--font-size-m);margin-bottom:var(--space-m) !important}.confirm__input{font-size:var(--font-size-m);margin-bottom:var(--space-m)}.confirm__button-container{border-top:1px solid var(--background-tertiary);display:flex;flex-flow:row nowrap;justify-content:flex-end;margin-top:var(--space-m);padding-top:var(--space-m)}.confirm__button::after{content:""}.confirm__button + .confirm__button{margin-left:var(--space-m)}.popup{align-items:center;background:var(--background-secondary)
        radial-gradient(circle at center,var(--colour-neutral-750),var(--colour-neutral-700));border:1px solid var(--colour-neutral-550);border-radius:var(--border-radius);box-shadow:var(--box-shadow-inset-light),var(--box-shadow-inset-dark),var(--box-shadow-dark);cursor:default;display:flex;left:50%;line-height:1.5;opacity:0;padding:var(--space-m) var(--space-l);position:fixed;text-align:center;transform:translateX(-50%) translateY(2rem);transition:all 200ms ease-in-out}.popup__icon{font-size:var(--font-size-l);margin-right:1.6rem;vertical-align:middle}.popup__paragraph{margin-bottom:0;text-align:left}