*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100vh;line-height:1.55}ul[class],ol[class]{list-style:none}a{color:inherit;text-decoration-skip-ink:auto}img{display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}html,body{background-color:#2e3037;font-family:"Fira Sans",sans-serif;text-shadow:0 1px 0 rgba(0,0,0,.6588235294);color:#c4c4c4}h1,h2,h3,h4,h5{font-family:"Fira Sans Condensed",sans-serif;color:#eaeaea}p,ul{font-size:17px;color:#c4c4c4}a,.link{text-decoration-thickness:2px !important;text-decoration-color:#c4c4c4 !important;text-underline-offset:3px !important;color:#eaeaea !important;transition:color .2s ease !important}a:hover,.link:hover{text-decoration:underline;text-decoration-color:#ddd5bd !important;color:#ddd5bd !important}a.external,.link.external{display:inline}a.external svg,.link.external svg{margin-left:5px;fill:currentColor}img{height:auto;width:100%}h1{font-size:35px;font-weight:600;line-height:1.2}h2{font-size:28px;margin-top:45px;margin-bottom:20px;font-weight:500}.blog-year{margin-top:10px}time{font-size:13px;font-style:italic;color:#97979f}main p{margin-bottom:1.6rem}main p img,lite-youtube{margin-top:40px;margin-bottom:40px}main p:last-of-type{margin-bottom:0}main>*:last-child img,lite-youtube{margin-bottom:0 !important}.line{margin-top:45px}.line:before,.line:after{content:"";display:block;height:2px;background-color:#363840}.line:before{background-color:#292935}figcaption{font-style:italic;font-size:13px;color:#c4c4c4;margin:auto;display:block;text-align:center;margin-top:10px;margin-bottom:40px}.elsewhere_links{display:flex;margin-top:40px}.elsewhere_links a{display:flex;align-items:center;text-decoration:none;font-size:17px}.elsewhere_links svg{display:none}.elsewhere-img{max-width:18px;margin-right:5px}.desktop-text{display:inline-block}.mobile-text{display:none}.email b{font-weight:normal}.email b:nth-child(2){display:none}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;grid-template-areas:"nav nav" "header header" "main main" "footer footer";max-width:730px;min-height:100vh;box-sizing:content-box;padding-left:clamp(20px,4vw,60px);padding-right:clamp(20px,4vw,60px);margin:auto;position:relative;z-index:1;overflow-y:clip}.two-column .wrapper{grid-template-columns:7fr 3fr;grid-template-areas:"nav nav" "header header" "main sidebar" "footer footer";column-gap:50px;max-width:1150px}nav{grid-area:nav;margin-bottom:15px}main{max-width:730px;grid-area:main;margin-bottom:70px}.page-header{grid-area:header;margin-bottom:25px}.sidebar{grid-area:sidebar}footer{grid-area:footer}@media only screen and (max-width: 800px){.two-column .wrapper{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"nav" "header" "main" "sidebar" "footer";column-gap:0px}.two-column main{max-width:100%;margin-bottom:0px}.two-column footer{margin-top:70px}h2{font-size:25px}.desktop-text{display:none}.mobile-text{display:inline-block}}nav{height:110px;width:100%;display:flex;justify-content:space-between;align-items:center}.navigation_links{display:flex}.navigation_links li a{font-size:16px;text-transform:lowercase;padding:10px;font-weight:500;text-decoration-line:none}.navigation_links li.active a{color:#ddd5bd !important}.logo{height:55px;width:55px;margin-left:-6px;touch-action:none}.logo canvas{height:55px !important;width:55px !important}.sidebar{position:sticky;align-self:start;top:50px;padding-left:5%}.subheading-sidebar{font-size:20px;margin-bottom:18px}.subheading-sidebar:first-child{margin-top:0px}.text-sidebar{font-size:14px;color:#97979f}.sidebar_list li{padding-top:2px;padding-bottom:2px}.sidebar_list li:first-child{padding-top:0}.sidebar_list li:last-child{padding-bottom:0}.sidebar_list a{font-size:15px;text-decoration:none}.sidebar_list a:hover{text-decoration:underline;text-decoration-thickness:1px !important}.list_bordered li{border-bottom:1px solid #363840;padding-top:8px;padding-bottom:8px}.list_bordered li:first-child{padding-top:0}.list_bordered li:last-child{border:none;padding-bottom:0}@media only screen and (max-height: 600px){.sidebar{position:inherit;top:0}}@media only screen and (max-width: 950px){.sidebar{position:inherit;top:0}}@media only screen and (max-width: 800px){.two-column .sidebar{position:inherit;top:0;margin-top:35px;padding:0px}.two-column .sidebar_list li{padding-top:4px;padding-bottom:4px}.two-column .sidebar_list li a{font-size:17px}.two-column .sidebar_list li a:hover{text-decoration-thickness:2px !important}.two-column .subheading-sidebar{font-size:25px}.two-column .text-sidebar{font-size:17px;padding-top:3px}.two-column .list_bordered li{border:none;padding-top:8px;padding-bottom:8px}}.button-wrapper{width:120px;height:50px;grid-column:2;border-radius:18px;transform:rotate(-1deg) scale(1.04);margin-top:8px;margin-left:2px}.button-wrapper:hover .starfield,.button-wrapper:focus-within .starfield{opacity:1}.button-wrapper:hover .button,.button-wrapper:focus-within .button{animation:shake 1s infinite;box-shadow:0 0 80px 10px #242832}.button{width:100%;height:100%;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom, #5e6176 0%, #424050 51%, #3c3c47 100%);border:none;outline:none;cursor:pointer;position:relative;z-index:2;animation:swing .7s ease-out infinite;transition:box-shadow .4s ease-out;box-shadow:rgba(38,38,44,.12) 0 6px 12px -2px,rgba(0,0,0,.14) 0 3px 7px -3px}.button:after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;box-shadow:inset 0 0 18px #333338}.button:active{transform:scale(0.99) rotate(-1.2deg) !important;background:linear-gradient(to bottom, #333338 0%, #41455a 51%, #4a4a50 100%)}.button__text{margin-left:6px;z-index:2;font-family:"Fira Sans Condensed",sans-serif;font-size:18px;font-weight:600;text-transform:lowercase;color:#eaeaea;text-shadow:0 1px 0 rgba(0,0,0,.6588235294)}.button__icon{height:45px;width:auto;margin-left:-25px;position:relative;z-index:2;transform:rotate(-3deg)}@keyframes swing{0%,100%{transform:rotate(-2.8deg)}50%{transform:rotate(-0.8deg)}}@keyframes shake{0%{transform:scale(1.09) rotate(-1deg)}10%{transform:scale(1.06) rotate(-3deg)}20%{transform:scale(1.09) rotate(0deg)}30%{transform:scale(1.05) rotate(-1deg)}40%{transform:scale(1.09) rotate(0deg)}50%{transform:scale(1.05) rotate(-2deg)}60%{transform:scale(1.08) rotate(-1deg)}70%{transform:scale(1.05) rotate(-2deg)}80%{transform:scale(1.09) rotate(0deg)}90%{transform:scale(1.07) rotate(-1deg)}100%{transform:scale(1.1) rotate(-2deg)}}.starfield{transition:opacity .3s ease-out;opacity:0}.star{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;margin-top:-5px;width:55px;height:55px;background-color:#67696b;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);transform:translate(-50%, -50%);pointer-events:none;animation:shoot 3s ease-out infinite,fade 3s ease-out infinite;transition:opacity .2s ease-out}@keyframes shoot{0%{transform:none}}@keyframes fade{to{opacity:0}}.star:nth-child(1){left:2px;font-size:9px;transform:translate(2px, -10px) rotate(42deg);animation-duration:.72s}.star:nth-child(2){left:-12px;font-size:27px;transform:translate(13px, 1px) rotate(25deg);animation-duration:.845s}.star:nth-child(3){left:-76px;font-size:9px;transform:translate(88px, -45px) rotate(70deg);animation-duration:.86s}.star:nth-child(4){left:16px;font-size:30px;transform:translate(113px, 134px) rotate(31deg);animation-duration:.875s}.star:nth-child(5){left:73px;font-size:27px;transform:translate(65px, -28px) rotate(59deg);animation-duration:.555s}.star:nth-child(6){left:-119px;font-size:28px;transform:translate(-114px, 120px) rotate(21deg);animation-duration:.785s}.star:nth-child(7){left:68px;font-size:18px;transform:translate(-70px, 20px) rotate(16deg);animation-duration:.635s}.star:nth-child(8){left:-97px;font-size:29px;transform:translate(6px, 149px) rotate(60deg);animation-duration:.675s}.star:nth-child(9){left:-21px;font-size:32px;transform:translate(110px, -98px) rotate(91deg);animation-duration:.99s}.star:nth-child(10){left:-52px;font-size:30px;transform:translate(-83px, -33px) rotate(2deg);animation-duration:.805s}.star:nth-child(11){left:-44px;font-size:25px;transform:translate(-107px, -87px) rotate(48deg);animation-duration:.59s}.star:nth-child(12){left:-79px;font-size:10px;transform:translate(42px, 135px) rotate(32deg);animation-duration:.765s}.star:nth-child(13){left:-129px;font-size:10px;transform:translate(-43px, -3px) rotate(30deg);animation-duration:.99s}.star:nth-child(14){left:-89px;font-size:27px;transform:translate(48px, 62px) rotate(88deg);animation-duration:.72s}.star:nth-child(15){left:44px;font-size:8px;transform:translate(-13px, 110px) rotate(74deg);animation-duration:.92s}.star:nth-child(16){left:74px;font-size:21px;transform:translate(-37px, 105px) rotate(37deg);animation-duration:.645s}.star:nth-child(17){left:25px;font-size:23px;transform:translate(-9px, 69px) rotate(63deg);animation-duration:.58s}.star:nth-child(18){left:65px;font-size:15px;transform:translate(-58px, -88px) rotate(18deg);animation-duration:.795s}.star:nth-child(19){left:59px;font-size:24px;transform:translate(126px, 69px) rotate(85deg);animation-duration:.7s}.star:nth-child(20){left:31px;font-size:26px;transform:translate(-118px, -128px) rotate(52deg);animation-duration:.74s}.star:nth-child(21){left:-125px;font-size:21px;transform:translate(75px, -36px) rotate(54deg);animation-duration:.93s}.star:nth-child(22){left:4px;font-size:11px;transform:translate(-95px, 73px) rotate(68deg);animation-duration:.545s}.star:nth-child(23){left:-61px;font-size:24px;transform:translate(-52px, -90px) rotate(42deg);animation-duration:.89s}.star:nth-child(24){left:1px;font-size:27px;transform:translate(-65px, -127px) rotate(22deg);animation-duration:.86s}.star:nth-child(25){left:10px;font-size:9px;transform:translate(-30px, 47px) rotate(61deg);animation-duration:.87s}.star:nth-child(26){left:-73px;font-size:27px;transform:translate(91px, -93px) rotate(22deg);animation-duration:.995s}.star:nth-child(27){left:50px;font-size:22px;transform:translate(-70px, 112px) rotate(6deg);animation-duration:.735s}.star:nth-child(28){left:20px;font-size:12px;transform:translate(62px, -96px) rotate(11deg);animation-duration:.87s}.post-listing{padding-bottom:20px}.post-listing a{display:inline-flex;gap:5px;align-items:baseline;text-decoration:none}.post-listing a:hover .post-listing__name{text-decoration:underline;text-decoration-color:#ddd5bd !important;color:#ddd5bd !important}.post-listing time{min-width:70px;text-transform:unset;font-style:normal}.post-listing:last-child{padding-bottom:0px}@media only screen and (max-width: 550px){.post-listing a{gap:0px}.post-listing .label{min-width:65px;display:block !important}}footer{height:40px}.footer-text{font-size:15px;font-weight:400;text-shadow:0 1px 0 rgba(0,0,0,.6588235294);color:#97979f}.guestbook-container{margin-top:50px;margin-bottom:50px}.guestbook-entry{display:grid;grid-template-columns:100px 1fr;gap:3px 30px;padding-top:30px;padding-bottom:30px;border-bottom:1px solid #363840;align-items:center}.guestbook-entry__name{font-size:16px;font-weight:500;display:block;justify-self:start;text-decoration-line:none;color:#eaeaea}.guestbook-entry__message{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:500;margin:0;align-self:baseline}.guestbook-entry:first-child{padding-top:0px}.guestbook-entry:last-child{border:none;padding-bottom:0px}.label{font-size:15px;font-family:"Fira Sans Condensed",sans-serif;font-weight:500;text-transform:lowercase;color:#97979f}.label:last-of-type{align-self:baseline}.form{display:grid;grid-template-columns:100px 1fr;gap:20px 30px;align-items:center;margin-top:30px}.form__input,.form__textarea{height:45px;width:100%;display:block;border:1px solid #292935;box-shadow:0 1px 0 #363840,inset 0 2px 2px rgba(0,0,0,.2);border-radius:3px;padding-left:10px;padding-right:10px;background-color:#41444d;font-family:"Fira Sans",sans-serif;font-weight:400;font-size:15px;color:#c4c4c4}.form__input::placeholder,.form__textarea::placeholder{opacity:.4;color:#c4c4c4}.form__input:focus,.form__textarea:focus{outline:none;border:1px solid #97979f}.form__textarea{height:auto;resize:vertical;min-height:100px;max-height:250px;padding:10px}.form__telepathy,.form__confirmation{display:none}@media only screen and (max-width: 800px){.guestbook-entry{grid-template-columns:80px 1fr;column-gap:20px}.form{grid-template-columns:80px 1fr;column-gap:20px}}@media only screen and (max-width: 550px){.guestbook-entry{grid-template-columns:1fr;row-gap:2px}.guestbook-entry__message{padding-top:10px}.label{display:none !important}.form{grid-template-columns:1fr;row-gap:15px}.form .button-wrapper{grid-column:1 !important}}.robot-list{margin-top:45px}.robot-card{display:grid;grid-template-columns:120px auto;gap:20px;align-items:center;padding-top:30px;padding-bottom:30px;border-bottom:1px solid #363840}.robot-card__thumb{border-radius:2px}.robot-card__content{height:100%;display:flex;flex-direction:column;justify-content:space-around}.robot-card__header{display:flex;align-items:center}.robot-card__title{font-size:18px;font-weight:500;margin-right:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration-line:none;color:#eaeaea}.robot-card__video{font-size:11px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;border-radius:4px;border:1px solid #464653;text-decoration:none;transition:.1s ease background-color !important;color:#c4c4c4}.robot-card__video svg{display:none}.robot-card__video:hover{text-decoration:none;border-color:#464653;background-color:#464653;color:#eaeaea !important}.robot-card__excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:6px}.robot-card time{margin-top:10px}.robot-card:first-child{padding-top:0}.robot-card:last-child{padding-bottom:0;border-bottom:0}.robot-card:last-child .robot-card__video{display:none}@media only screen and (max-width: 500px){.robot-card{grid-template-columns:90px auto;gap:15px}.robot-card__title{white-space:normal}.robot-card__schematic{display:none}.robot-card__excerpt{-webkit-line-clamp:1}}.projects_list{margin-top:45px !important}.projects_list li{padding-top:30px;padding-bottom:30px;border-bottom:1px solid #363840}.projects_list li:first-child{padding-top:0}.projects_list li:last-child{padding-bottom:0;border-bottom:0}.projects_list p{padding-top:5px}.project-title{font-size:18px;font-weight:500;text-decoration-line:none;color:#eaeaea}
