/*! 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:.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;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:-.25em}sup{top:-.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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .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}:root{--lightBackground:#fafafa;--darkBackground:#1a1a1a;--background:var(--lightBackground);--accent:#673ab7;--text:var(--darkBackground);--maxWidth:1200px;--fontFamily:"Noto Sans JP",sans-serif}:root.dark-theme{--background:var(--darkBackground);--text:var(--lightBackground)}body{font-family:var(--fontFamily);margin:0;padding:0;color:var(--text);background:var(--background);overflow-x:hidden;transition:background .2s ease;border-top:.5rem solid var(--accent);border-bottom:.5rem solid var(--accent)}h1{font-size:clamp(42px,4vw,76px);line-height:1;font-weight:700;color:var(--text);position:relative}h1.colon:after{position:relative;display:inline;content:":";color:var(--accent)}h2{font-size:33px;line-height:43px;font-weight:400}h3{font-size:26px;line-height:43px}h4{font-size:20px;line-height:34px;margin-bottom:0}p{font-size:1rem;line-height:28px;font-weight:100}a{position:relative;text-decoration:none;font-weight:700;color:var(--accent)}a:after{display:block;position:absolute;left:0;bottom:-5px;width:0;height:3px;background-color:var(--accent);transition:width .2s ease-out;content:""}a:hover:after{width:100%}img{max-width:400px;width:100%}polygon,svg path{fill:var(--text)}.container{width:auto;max-width:var(--maxWidth);margin:0 auto}@media only screen and (max-width:1200px){.container{padding:0 2rem}}img.rounded{border-radius:50%;border:5px solid var(--accent)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.grid{display:grid}.grid.grid-col-2{grid-template-columns:1fr 1fr}.grid.grid-col-3{grid-template-columns:1fr 1fr 1fr}.grid.gap-1{grid-gap:1rem}.grid.gap-2{grid-gap:2rem}@media only screen and (max-width:1200px){.grid.grid-col-2,.grid.grid-col-3{grid-template-columns:1fr}}section{margin-top:15vh;margin-bottom:4rem}@media only screen and (max-width:1200px){section{margin-top:2.5vh}}#themeSwitcher{position:fixed;bottom:16px;right:16px;width:1.75rem;height:1.75rem;border-radius:50%;border:3px solid var(--accent);background-color:var(--darkBackground);padding:0;cursor:pointer}html.dark-theme #themeSwitcher{background-color:var(--lightBackground)}#themeSwitcher:focus{outline:0}.brand{text-align:center}.brand svg{margin:2rem 2rem 0}@media only screen and (min-width:800px){.brand{text-align:left}}.links{top:0;right:0}.links nav{display:flex;justify-content:center;text-align:center;margin:2rem 2rem 0}.links nav a{text-transform:uppercase;font-weight:100}.links nav a:not(:last-child){margin-right:1rem}.links nav a:hover{text-decoration:none}@media only screen and (min-width:800px){.links{position:fixed}.links .links-wrap{position:absolute}.links nav{grid-template-columns:repeat(4,1fr);transform:translateX(-67%) translateY(220px) rotate(-90deg)}}.experience h4{font-weight:400;color:var(--text)}.projects h4{font-weight:400;margin:0}.projects h4 span{font-size:.9rem}.projects p{margin:0}.contact-grid{--columns:2;display:grid;align-content:center;grid-template-columns:repeat(var(--columns),1fr);gap:2rem}.contact-form form label{display:block;margin-bottom:.5rem}.contact-form form input,.contact-form form textarea{width:100%;padding:.75rem .5rem;border-radius:3px;border:2px solid var(--darkBackground);line-height:1}.contact-form form input:focus,.contact-form form textarea:focus{outline:0;border:2px solid var(--accent)}.contact-form form .input-group{margin-bottom:1rem}.contact-form form button{padding:.75rem 1rem;color:var(--lightBackground);background-color:var(--accent);border-radius:3px;border:0;cursor:pointer}.contact-form form button:hover{background-color:#8259cb}