*,*::before,*::after{box-sizing:border-box}*{margin:0}body{line-height:1.5;font-size:1rem}body{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif}body{-webkit-font-smoothing:antialiased}h1,h2,h3,h4{text-wrap:balance}img,picture,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}*{overflow-wrap:break-word}.sketchinfo{position:fixed;top:1rem;left:.5rem;display:grid;grid-template-columns:2rem 1fr;color:var(--text);border-radius:1rem;padding:.5rem;column-gap:.75rem;z-index:99}.sketchinfo__toggle{grid-row:1;grid-column:1}.sketchinfo__content-wrap{z-index:1;grid-column:1/3;grid-row:1/3;padding:0 .5rem .5rem;grid-template-columns:subgrid;display:none;border-radius:1rem}.sketchinfo__title{grid-area:1/2}.sketchinfo__content{grid-column:1/3}.sketchinfo__meta-table{table-layout:fixed;line-height:1.1;margin-top:1rem}.sketchinfo__meta-table th[scope=row]{width:50%}.sketchinfo__meta-table th,.sketchinfo__meta-table td{border:none;vertical-align:bottom}.sketchinfo__meta-table th{text-align:right;padding-right:15px}.sketchinfo__description{margin-top:1rem;font-size:14px}.sketchinfo__description p:not(:last-child){margin-bottom:.5em}.sketchinfo__link-wrap{margin-top:1rem}.sketchinfo a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;text-decoration-color:hsla(from var(--primary) h s l/0.3);transition-property:text-decoration-color;transition-timing-function:ease;transition-duration:300ms}.sketchinfo a:hover,.sketchinfo a:focus{text-decoration-color:var(--primary)}.sketchinfo--open{background:rgba(var(--bg-rgb), 0.8);background:hsla(from var(--bg) h s calc(l * 0.5)/0.93);width:clamp(250px,30vw,320px)}.sketchinfo--open .sketchinfo__content-wrap{display:grid}.sketchinfo--open .sketchinfo__arrow{transform:scale(-1, 1)}.sketchinfo code{background-color:hsla(0,0%,100%,.1);padding:.1em .3em;border-radius:.3em;font-family:"inconsolata",monospace}.toggle{width:32px;height:32px;padding:0;border:none;opacity:.7;background:var(--bg);color:#fff;border-radius:50%;position:relative;z-index:2;cursor:pointer;box-shadow:0 0 10px hsla(0,0%,100%,.3);transition-property:box-shadow,opacity;transition-duration:350ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1);will-change:transform}.toggle:focus{outline:2px solid #0af}.toggle:focus:not(:focus-visible){outline:none}.toggle:focus-visible{outline:2px solid #0af}.toggle:hover{opacity:1;box-shadow:0 0 10px hsla(0,0%,100%,.3),0 0 15px hsla(0,0%,100%,.4)}.toggle__icon{position:absolute;width:16px;height:16px;left:8px;top:8px;display:block;transition:transform 300ms cubic-bezier(0, 0, 0.2, 1)}.toggle__icon:before,.toggle__icon:after{content:"";position:absolute;display:block;width:100%;height:2px;background:currentColor;top:calc(50% - 1px);left:0;transition:transform 300ms cubic-bezier(0, 0, 0.2, 1)}.toggle__icon:before{transform:translate(0, -4px)}.toggle__icon:after{transform:translate(0, 4px)}[aria-expanded=true] .toggle__icon:before{transform:translate(0, 0) rotate(45deg)}[aria-expanded=true] .toggle__icon:after{transform:translate(0, 0) rotate(-45deg)}.sketchindex{min-height:100vh}.sketchindex__wrap{max-width:1440px;padding:48px 100px;margin:0 auto}@media(max-width: 768px){.sketchindex__wrap{padding:32px 24px}}.sketchindex__title{margin-bottom:80px;margin-top:120px;font-weight:800;font-size:120px;line-height:1.1;letter-spacing:-0.02em}@media(max-width: 768px){.sketchindex__title{font-size:16vw;margin-bottom:40px}}.sketchindex__topbar{border-bottom:1px solid #333;margin-bottom:72px}.links-list{list-style:none;margin:0;padding:0}.links-list__item{margin-bottom:12px}.links-list__link{display:inline-flex;align-items:center;gap:12px;color:var(--text-mid);transition:color 200ms ease}.links-list__accent{color:var(--text-faded)}.links-list__link:hover,.links-list__link:focus{color:var(--text)}.links-list__link:hover .links-list__accent,.links-list__link:focus .links-list__accent{color:var(--text-faded-less)}.links-list--small{font-size:14px}.links-list--big{font-size:18px;margin-left:-16px}.links-list--big .links-list__item{margin-bottom:12px}.links-list--big .links-list__link{padding:8px 0 8px 16px;border-left:2px solid rgba(0,0,0,0)}.links-list--big .links-list__link:hover,.links-list--big .links-list__link:focus{border-left-color:var(--text)}.topbar{font-size:14px;display:flex;justify-content:space-between;padding-bottom:12px}.topbar__left{color:var(--text-mid)}.topbar__links{display:flex;column-gap:20px;color:var(--text-faded)}.topbar__link{color:var(--text-faded)}.topbar__link:hover,.topbar__link:focus{color:var(--text)}.about-cols{display:flex;column-gap:80px;justify-content:space-between;border-top:1px solid #333;padding-top:120px;padding-bottom:120px}.about-cols h2,.about-cols p{margin-bottom:20px}.about-cols__desc{width:40%}.about-cols__links{width:45%;display:flex;justify-content:space-between}.about-cols__list{flex:0 0 45%}@media(max-width: 1024px){.about-cols__links{flex-direction:column;row-gap:26px}}@media(max-width: 768px){.about-cols{gap:32px;flex-direction:column}.about-cols__desc,.about-cols__links{width:100%}}.projects{display:flex;column-gap:16px;margin-bottom:128px;justify-content:space-between}.projects__col-list{width:40%}.projects__col-preview{width:55%}.projects__preview-image{aspect-ratio:1;background:#1a1a1a}@media(max-width: 768px){.projects{flex-direction:column-reverse;gap:40px}.projects__col-list,.projects__col-preview{width:100%}}.footer{border-top:1px solid #333;padding-top:20px;color:var(--text-faded)}:root{--bg: #0d0d0d;--bg-hsl: hsl(0, 0%, 5%);--text: #f5f2eb;--text-mid: #c8c4bb;--text-faded: #757575;--text-faded-less: #9d9c9c;--text-hsl: rgb(245, 242, 235);--primary: #34c2ff;--secondary: #ff934f;--primary-rgb: 52, 194, 255}body{font-family:"Inconsolata",monospace;font-optical-sizing:auto;font-weight:400;font-style:normal;font-variation-settings:"wdth" 100;line-height:1.4;font-size:16px;font-weight:400;background-color:var(--bg);color:var(--text)}a{color:var(--text);text-decoration:none}h1,h2,.title-1{font-weight:600;font-size:26px;line-height:1.1}main{position:relative;min-height:100vh}canvas.sketch{position:fixed;width:100%;height:100%;top:0;left:0;display:block}canvas.sketch--centered{top:50%;left:50%;transform:translate(-50%, -50%)}.lil-gui.lil-root>.lil-children>.lil-gui>.lil-children>.lil-gui>.lil-title{padding-left:calc(var(--folder-indent)*.5);border-left:2px solid var(--widget-color)}
