a,a:visited,a:focus,a:active,a:hover{text-decoration:underline}a{color:var(--color-on-background)}.grid-item{border-radius:18px;position:relative;text-align:center}.grid-item>.grid-item-header{position:absolute;height:4.5rem;width:100%;text-align:center;transform:translateY(-130%)}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.grid-item>.grid-item-header>h2{font-size:1.5rem}}@media(max-width: 669px){.grid-item>.grid-item-header>h2{font-size:1.25rem}}.grid-item>.grid-item-header>p{margin-top:.5rem}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.grid-item>.grid-item-header>p{font-size:.9rem}}@media(max-width: 669px){.grid-item>.grid-item-header>p{font-size:.9rem}}.grid-item>a>picture>img{border-radius:18px;width:100%;height:100%;object-fit:cover}.grid{display:grid;column-gap:1rem;margin-left:7%;margin-right:7%}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.grid{grid-template-columns:repeat(3, minmax(250px, 1fr));grid-auto-rows:300px;row-gap:120px;margin-top:8rem;margin-bottom:3rem}}@media(max-width: 669px){.grid{grid-template-columns:repeat(1, minmax(100px, 1fr));row-gap:120px;margin-top:7rem;margin-bottom:1.5rem}}ul,ol{padding-left:2rem}.pdf{display:flex;align-items:center;margin:1rem auto;border-radius:18px}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.pdf{width:90vw;max-width:900px;height:120vw;max-height:1200px}}.pdf{text-align:center}@media(max-width: 669px){.pdf{width:90%}}.pdf>p>a{text-decoration:underline}.cursor-pointer{cursor:pointer}.underline{text-decoration:underline}*{margin:0;padding:0;font-family:"Helvetica",sans-serif}*,*::before,*::after{box-sizing:border-box}:root{--color-background-light-theme: #fafafa;--color-background-dark-theme: #121212}@media(prefers-color-scheme: light){:root{--color-background: var(--color-background-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-background: var(--color-background-dark-theme)}}:root{--color-on-background-light-theme: #000;--color-on-background-dark-theme: #fafafa}@media(prefers-color-scheme: light){:root{--color-on-background: var(--color-on-background-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-on-background: var(--color-on-background-dark-theme)}}:root{--color-surface-light-theme: #fafafa;--color-surface-dark-theme: #121212}@media(prefers-color-scheme: light){:root{--color-surface: var(--color-surface-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-surface: var(--color-surface-dark-theme)}}:root{--color-on-surface-light-theme: #000;--color-on-surface-dark-theme: #fafafa}@media(prefers-color-scheme: light){:root{--color-on-surface: var(--color-on-surface-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-on-surface: var(--color-on-surface-dark-theme)}}:root{--color-error-light-theme: #b00020;--color-error-dark-theme: #cf6679}@media(prefers-color-scheme: light){:root{--color-error: var(--color-error-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-error: var(--color-error-dark-theme)}}:root{--color-on-error-light-theme: #fafafa;--color-on-error-dark-theme: #000}@media(prefers-color-scheme: light){:root{--color-on-error: var(--color-on-error-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-on-error: var(--color-on-error-dark-theme)}}:root{--color-primary-light-theme: #f7cb64;--color-primary-dark-theme: #f7cb64}@media(prefers-color-scheme: light){:root{--color-primary: var(--color-primary-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-primary: var(--color-primary-dark-theme)}}:root{--color-primary-variant-light-theme: #f7cb64;--color-primary-variant-dark-theme: #f7cb64}@media(prefers-color-scheme: light){:root{--color-primary-variant: var(--color-primary-variant-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-primary-variant: var(--color-primary-variant-dark-theme)}}:root{--color-on-primary-light-theme: #000;--color-on-primary-dark-theme: #000}@media(prefers-color-scheme: light){:root{--color-on-primary: var(--color-on-primary-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-on-primary: var(--color-on-primary-dark-theme)}}:root{--color-secondary-light-theme: #000;--color-secondary-dark-theme: #000}@media(prefers-color-scheme: light){:root{--color-secondary: var(--color-secondary-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-secondary: var(--color-secondary-dark-theme)}}:root{--color-secondary-variant-light-theme: #000;--color-secondary-variant-dark-theme: #000}@media(prefers-color-scheme: light){:root{--color-secondary-variant: var(--color-secondary-variant-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-secondary-variant: var(--color-secondary-variant-dark-theme)}}:root{--color-on-secondary-light-theme: #000;--color-on-secondary-dark-theme: #000}@media(prefers-color-scheme: light){:root{--color-on-secondary: var(--color-on-secondary-light-theme)}}@media(prefers-color-scheme: dark){:root{--color-on-secondary: var(--color-on-secondary-dark-theme)}}.color-background{background-color:var(--color-background);color:var(--color-on-background)}.color-surface{background-color:var(--color-surface);color:var(--color-on-surface)}.color-error{background-color:var(--color-error);color:var(--color-on-error)}.color-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.color-primary-variant{background-color:var(--color-primary-variant);color:var(--color-on-primary)}.color-secondary{background-color:var(--color-secondary);color:var(--color-on-secondary)}.color-secondary-variant{background-color:var(--color-secondary-variant);color:var(--color-on-secondary)}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.vertical-list>*{margin-top:5rem;margin-bottom:3rem}}@media(max-width: 669px){.vertical-list>*{margin-top:3rem;margin-bottom:1.5rem}}.vertical-list>*>*{margin-top:.5rem}.page-404{text-align:center}.page-404>picture>img{border-radius:18px}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.page-404>picture>img{width:300px}}@media(max-width: 669px){.page-404>picture>img{width:150px}}.page-blog{text-align:center}.page-blog>section>.cunninghams-law{margin-top:2rem;font-style:italic}.page-blog>section>.vertical-list>article>h2>a{color:var(--color-primary)}.page-blog-post{display:grid;justify-content:center;text-align:center;margin:2rem 0}.page-blog-post>h1{margin-bottom:1rem}.page-blog-post>hr{margin:2rem 0}.page-blog-post>.cunninghams-law{font-style:italic}.page-blog-post .blog-post-content{margin:0 auto;text-align:left;max-width:100%;overflow-x:hidden}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.page-blog-post .blog-post-content{width:600px}}@media(max-width: 669px){.page-blog-post .blog-post-content{width:99%}}.page-blog-post .blog-post-content a{font-weight:bold;color:var(--color-primary)}.page-blog-post .blog-post-content h1,.page-blog-post .blog-post-content h2,.page-blog-post .blog-post-content h3,.page-blog-post .blog-post-content h4,.page-blog-post .blog-post-content h5,.page-blog-post .blog-post-content h6,.page-blog-post .blog-post-content p,.page-blog-post .blog-post-content ol,.page-blog-post .blog-post-content ul,.page-blog-post .blog-post-content li,.page-blog-post .blog-post-content pre{margin-top:.5rem}.page-blog-post .blog-post-content h1,.page-blog-post .blog-post-content h2,.page-blog-post .blog-post-content h3,.page-blog-post .blog-post-content h4,.page-blog-post .blog-post-content h5,.page-blog-post .blog-post-content h6{margin-top:2rem}.page-blog-post .blog-post-content p{margin-top:1.5rem}.page-blog-post .blog-post-content hr{margin-top:2rem}.page-blog-post .blog-post-content blockquote{padding:1rem;margin:1rem;background-color:#333;border-radius:0 18px 18px 0;border-left:2px solid var(--color-primary)}.page-blog-post .blog-post-content blockquote h1,.page-blog-post .blog-post-content blockquote h2,.page-blog-post .blog-post-content blockquote h3,.page-blog-post .blog-post-content blockquote h4,.page-blog-post .blog-post-content blockquote h5,.page-blog-post .blog-post-content blockquote h6{margin-top:unset}.page-blog-post .blog-post-content code{display:inline-block;text-align:left}.page-blog-post .blog-post-content pre{text-align:center}.page-blog-post .blog-post-content pre>code{padding-right:3.5rem;border-radius:18px;white-space:pre;width:100%;overflow-x:auto}.page-home{text-align:center}.page-home>picture>img{border-radius:18px}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.page-home>picture>img{width:600px}}@media(max-width: 669px){.page-home>picture>img{width:300px}}.page-music{text-align:center}.page-music>section>article{display:block}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.page-music>section>article{margin:3rem 0}}@media(max-width: 669px){.page-music>section>article{margin:1rem 0}}.page-music>section>article>iframe{border:none;aspect-ratio:16/9}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){.page-music>section>article>iframe{width:50%}}@media(max-width: 669px){.page-music>section>article>iframe{width:95%}}.page-open-source{text-align:center}.page-projects{text-align:center}.page-projects-conways-game-of-life{text-align:center}.page-projects-conways-game-of-life>h1{margin-bottom:2rem}.page-projects-conways-game-of-life>#config{display:flex;justify-content:center;margin:1rem auto}@media(min-width: 1025px){.page-projects-conways-game-of-life>#config{flex-direction:row}}@media(min-width: 670px)and (max-width: 1024px),(max-width: 669px){.page-projects-conways-game-of-life>#config{flex-direction:column}}.page-projects-conways-game-of-life>#config>div{margin:1rem}.page-projects-conways-game-of-life>#config>#grid-size>label{display:block;margin-bottom:.5rem}.page-projects-conways-game-of-life>#config>#play-pause-reset>*{display:inline;margin:auto .5rem}.page-projects-conways-game-of-life>#config>#play-pause-reset>#button-play-pause{font-size:2rem}.page-projects-conways-game-of-life>#config>#play-pause-reset>#button-play-pause:hover{cursor:pointer}.page-projects-conways-game-of-life>#config>#play-pause-reset>#button-reset{padding:.25rem .5rem;font-size:1.5rem}.page-projects-conways-game-of-life>#config>#play-pause-reset>#button-reset:hover{cursor:pointer}.page-projects-conways-game-of-life>#config>#tick{position:relative}@media(min-width: 1025px){.page-projects-conways-game-of-life>#config>#tick{width:150px;margin:1rem 0}}@media(min-width: 670px)and (max-width: 1024px),(max-width: 669px){.page-projects-conways-game-of-life>#config>#tick{width:50%;margin:1rem auto}}.page-projects-conways-game-of-life>#config>#tick>label{display:block;margin-bottom:.5rem}.page-projects-conways-game-of-life>#config>#tick>input[type=range]{width:100%}.page-projects-conways-game-of-life>#config>#tick>datalist{left:0;width:100%;display:flex;flex-direction:column;justify-content:space-between;writing-mode:vertical-lr}@media(min-width: 1025px){.page-projects-conways-game-of-life>#webgpu-canvas{width:69%}}@media(min-width: 670px)and (max-width: 1024px),(max-width: 669px){.page-projects-conways-game-of-life>#webgpu-canvas{width:100%}}body{display:grid;grid-template-areas:"header" "main" "footer";row-gap:2rem;padding:1rem;border-top:3px solid var(--color-primary)}footer{grid-area:footer}footer>*{text-align:center}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){footer>*{font-size:1.25rem;margin-bottom:.75rem}}@media(max-width: 669px){footer>*{font-size:1rem;margin-bottom:1rem;margin-left:7px;margin-right:7px}}footer>p>a{font-weight:bold}header{display:grid;grid-area:header}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){header{grid-template-areas:"logo nav" "socials socials"}}@media(max-width: 669px){header{grid-template-areas:"logo" "nav" "socials"}}header>.logo{grid-area:logo}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){header>.logo{text-align:right;margin-right:4rem}}@media(max-width: 669px){header>.logo{text-align:center}}header>.socials{grid-area:socials;text-align:center}.social-media-icon{display:inline-block;width:2.5rem;height:2.5rem;margin:0 .5rem}.social-media-icon>a{fill:var(--color-on-background)}main{grid-area:main}nav{grid-area:nav;display:flex;align-items:center}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){nav{text-align:left}}@media(max-width: 669px){nav{text-align:center}}nav>ul{width:100%}@media(max-width: 669px){nav>ul{margin-bottom:1rem}}nav>ul>li{display:inline-block;list-style-type:none}@media(min-width: 1025px),(min-width: 670px)and (max-width: 1024px){nav>ul>li{margin-right:2rem;font-size:1.25rem}}@media(max-width: 669px){nav>ul>li{margin-right:1rem;font-size:1.25rem}}
