*,:before,:after{box-sizing:border-box;min-width:0;margin:0;padding:0}:focus{outline:none}html{font-synthesis:none;font-smooth:always;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;height:100%;color:var(--white-med);background:var(--color-gradient-outer);overscroll-behavior:none;font-family:Courier,monospace;font-size:62.5%}h1,h2{font-weight:400}p{text-wrap:pretty}img,svg{display:block}ul{list-style:none}a{color:inherit;text-decoration:none}button,button:disabled{font:inherit;background:0 0;border:none;border-radius:0}:root{--white-light:#e6e6e6;--white-med:#999;--white-dark:#737373;--red-light:#df6858;--red-med:#ce5646;--red-dark:#ad0000;--blue-light:#28292a;--blue-dark:#0f0f10;--color-focus:var(--white-light);--color-gradient-center:var(--blue-light);--color-gradient-outer:var(--blue-dark);--padding-projects-button:20px;--gap-row:16px;--gap-col:24px;--z-index-background:-1;--z-index-edward:1;--z-index-vignette:2;--z-index-crt:3;--z-index-above-crt:4;--opacity-hover-sybling:.5;--letter-spacing:.4em;--duration:.14s;--ease:linear;--transition:all var(--duration) var(--ease)}@media (width<=960px){:root{--gap-col:32px}}.textLarge,.textMed{text-box-edge:cap alphabetic;text-box-trim:trim-both}.textLarge{font-size:1.9rem;line-height:1.056}.textMed{font-size:1.6rem;line-height:1.5}.bold{font-weight:700}#background{width:100%;height:100%;z-index:var(--z-index-background);background-image:radial-gradient(ellipse at 60% 60%, var(--color-gradient-center) 0%, var(--color-gradient-outer) 65%);overscroll-behavior:none;background-attachment:fixed;position:absolute;top:0;left:0}@keyframes crtKeyframes{0%{opacity:.27861}5%{opacity:.34769}10%{opacity:.23604}15%{opacity:.90626}20%{opacity:.18128}25%{opacity:.83891}30%{opacity:.65583}35%{opacity:.67807}40%{opacity:.26559}45%{opacity:.84693}50%{opacity:.96019}55%{opacity:.08594}60%{opacity:.20313}65%{opacity:.71988}70%{opacity:.53455}75%{opacity:.37288}80%{opacity:.71428}85%{opacity:.70419}90%{opacity:.7003}95%{opacity:.36108}to{opacity:.24387}}#crt{z-index:var(--z-index-crt);pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 2px,linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/3px 100%;position:fixed;inset:0}#crt:after{content:"";z-index:var(--z-index-crt);pointer-events:none;background:#1210101a;animation:.15s infinite crtKeyframes;position:absolute;inset:0}#vignette{z-index:var(--z-index-vignette);pointer-events:none;mix-blend-mode:multiply;position:fixed;inset:0;box-shadow:inset 0 0 228px #05050540,inset 0 0 128px #050505,inset 0 0 128px #050505}.screenReaderOnly{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{min-height:100%;padding-bottom:var(--gap-col);grid:".          .               " 50vh "line       line            " var(--gap-row) "line       line            " auto "line       line            " var(--gap-row) ".          .               " var(--gap-row) ".          lead            " auto ".          .               " var(--gap-row) ".          footer          " auto ".          .               " calc(var(--gap-row) * 1.5) ".          projects        " auto ".          .               " 1fr / 1fr 67%;gap:0 var(--gap-col);justify-items:start;display:grid;position:relative}body[data-state=projects]{padding-bottom:50vh}@media (width<=960px){body{--gap-row:24px;grid:".      ed              ed  " 50vh "line   line            line" var(--gap-row) "line   line            line" auto "line   line            line" var(--gap-row) ".      .               .   " var(--gap-row) ".      lead            .   " auto ".      .               .   " var(--gap-row) ".      footer          .   " auto ".      .               .   " calc(var(--gap-row) * 1.5) ".      projects        .   " auto ".      .               .   " 1fr / var(--gap-col) 1fr var(--gap-col);gap:0}}@media (width<=600px){body{padding-bottom:128px}}#line{background:var(--white-light);grid-area:line;width:100%}@keyframes flicker{0%{opacity:1}5%{opacity:0}10%{opacity:1}15%{opacity:.1}20%{opacity:1}25%{opacity:.2}30%{opacity:1}35%{opacity:.3}40%{opacity:1}45%{opacity:.4}50%{opacity:1}55%{opacity:.5}60%{opacity:1}65%{opacity:.6}70%{opacity:1}75%{opacity:.7}80%{opacity:1}85%{opacity:.8}90%{opacity:1}95%{opacity:.9}to{opacity:1}}#edLayout{width:100%;z-index:var(--z-index-edward);pointer-events:none;grid-area:1/1/-1;position:relative;overflow:hidden}#edLayout svg{width:100%;min-width:460px;fill:var(--red-dark);animation-name:flicker;animation-duration:.5s;animation-fill-mode:forwards;position:absolute;top:45vh;right:0;translate:0 -50%}@media (width<=960px){#edLayout{grid-area:ed;translate:0 12px}#edLayout svg{width:360px;min-width:unset;top:50%;scale:-1 1}}@media (width<=600px){#edLayout svg{right:unset;left:38%}}p#lead{z-index:var(--z-index-above-crt);grid-area:lead}header{align-items:flex-end;gap:16px var(--gap-col);flex-wrap:wrap;grid-area:3/2;display:flex}header img{translate:0 2px}header p#dropHead{color:var(--color-gradient-center)}footer{z-index:var(--z-index-above-crt);grid-area:footer;position:relative}footer ul{gap:32px;display:flex}footer ul:has(a:hover) a:not(a:hover){opacity:var(--opacity-hover-sybling)}footer ul a{transition:var(--transition);display:flex;position:relative}footer ul a svg{aspect-ratio:1;width:16px;fill:var(--white-dark);transition:var(--transition)}footer ul a:hover svg{fill:var(--white-light)}footer ul a:after{content:"";width:48px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}footer ul a:focus-visible:after{outline:1px solid var(--color-focus)}@media (width<=380px){footer li:has(a:is(#patreon,#youTube,#email)){display:none}}section.projects{z-index:var(--z-index-above-crt);gap:calc(var(--gap-row) * .5);flex-direction:column;grid-area:projects;align-items:flex-start;display:flex;position:relative}section.projects ul{padding-left:var(--padding-projects-button);flex-direction:column;display:none}section.projects ul:has(a:hover) a:not(a:hover){opacity:var(--opacity-hover-sybling)}section.projects ul li{display:flex}section.projects ul li a{color:var(--white-light);transition:var(--transition);padding:3px 0;text-decoration:underline;position:relative}section.projects ul li a:focus-visible:after{content:"";outline:1px solid var(--color-focus);position:absolute;inset:0 -16px}body[data-state=projects] section.projects ul{display:flex}@media (width<=600px){section.projects{gap:unset}section.projects ul li a{padding:13px 0}}section.projects button{z-index:var(--z-index-above-crt);padding:8px var(--padding-projects-button);text-transform:uppercase;letter-spacing:var(--letter-spacing);color:var(--white-light);cursor:pointer;transition-property:color,background,border-color;transition-duration:var(--duration);transition-timing-function:var(--ease);border:1px solid;grid-area:projectsLink;position:relative}section.projects button:hover{color:var(--color-gradient-center);background:var(--white-light)}section.projects button:focus-visible{outline:1px solid var(--color-focus)}body[data-state=projects] section.projects button{color:var(--white-med);cursor:unset;background:0 0;border-color:#0000;outline-color:#0000}[data-state=initial] .glitchText:before,[data-state=initial] .glitchText:after{content:attr(data-text);pointer-events:none;mix-blend-mode:screen;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}[data-state=initial] .glitchText:before{color:red;animation:2.5s infinite glitchRed}[data-state=initial] .glitchText:after{color:#0ff;animation:2.5s infinite glitchBlue}[data-state=initial] .glitchBorder:hover .glitchText:before,[data-state=initial] .glitchBorder:hover .glitchText:after{opacity:0}@keyframes glitchRed{0%,70%{clip-path:inset(0);transform:translate(0)}75%{clip-path:inset(10% 0 70%);transform:translate(-3px,2px)}80%{clip-path:inset(40% 0 30%);transform:translate(-5px,-2px)}85%{clip-path:inset(70% 0 10%);transform:translate(3px,2px)}90%{clip-path:inset(20% 0 50%);transform:translate(-2px,1px)}to{clip-path:inset(0);transform:translate(0)}}@keyframes glitchBlue{0%,70%{clip-path:inset(0);transform:translate(0)}75%{clip-path:inset(15% 0 60%);transform:translate(3px,-2px)}80%{clip-path:inset(50% 0 20%);transform:translate(5px,2px)}85%{clip-path:inset(75% 0 5%);transform:translate(-3px,-2px)}90%{clip-path:inset(25% 0 40%);transform:translate(2px,-1px)}to{clip-path:inset(0);transform:translate(0)}}[data-state=initial] .glitchBorder:before,[data-state=initial] .glitchBorder:after{content:"";pointer-events:none;mix-blend-mode:screen;border:1px solid;position:absolute;inset:-1px}[data-state=initial] .glitchBorder:before{z-index:1;border-color:red;animation:2.5s infinite borderGlitchRed}[data-state=initial] .glitchBorder:after{z-index:2;border-color:#0ff;animation:2.5s infinite borderGlitchBlue}[data-state=initial] .glitchBorder:hover:before,[data-state=initial] .glitchBorder:hover:after{opacity:0}@keyframes borderGlitchRed{0%,70%{transform:translate(0)}75%{transform:translate(-2px,1px)}80%{transform:translate(-3px,-1px)}85%{transform:translate(2px,1px)}90%{transform:translate(-1px,1px)}to{transform:translate(0)}}@keyframes borderGlitchBlue{0%,70%{transform:translate(0)}75%{transform:translate(2px,-1px)}80%{transform:translate(3px,1px)}85%{transform:translate(-2px,-1px)}90%{transform:translate(1px,-1px)}to{transform:translate(0)}}
