.ccc-icon{flex:none;width:24px;height:24px;fill:currentColor;font-size:24px;pointer-events:none}[dir=rtl] .ccc-icon--mirror{transform:scaleX(-1)}.ccc-button{-webkit-appearance:none;appearance:none;position:relative;display:inline-flex;flex:none;justify-content:center;align-items:center;overflow:hidden;box-sizing:border-box;height:36px;margin:0;padding:0 .5rem;border:none;border-radius:4px;background:none;color:inherit;outline:0 solid currentColor;outline-offset:-2px;font:inherit;text-decoration:inherit;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;transition:box-shadow .2s;-webkit-tap-highlight-color:transparent}.ccc-button::-moz-focus-inner{border:none}.ccc-button:focus{outline-width:2px}.ccc-button--select:has(:focus-visible){outline-width:2px}.ccc-button:not(.ccc-button--select):not(:focus-visible){outline-color:transparent}.ccc-button:hover:not(:active){background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08))}.ccc-button[hidden]{display:none!important}.ccc-button--fill,.ccc-button--outline{padding:0 1rem}.ccc-button--fill:focus{outline-offset:-4px}.ccc-button--outline{border:1px solid}.ccc-button--color{color:#496ddb;color:var(--ccc-accent-color,#496ddb)}.ccc-button--raised{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.ccc-button.ccc-button--fill{background-color:#3c3c3c;color:#fff}.ccc-button--fill.ccc-button--light-text{color:#000}.ccc-button--color.ccc-button--fill{background-color:#496ddb;background-color:var(--ccc-accent-color,#496ddb)}.ccc-button.ccc-button--outline:active{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15)}.ccc-button--fill:hover{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.141),0 1px 3px 0 rgba(0,0,0,.122)}.ccc-button--fill:active,.ccc-button--outline:active{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.141),0 1px 18px 0 rgba(0,0,0,.122)}.ccc-button--fill.ccc-button--color:hover{box-shadow:0 2px 1px -1px rgba(26,115,232,.2),0 1px 1px 0 rgba(26,115,232,.141),0 1px 3px 0 rgba(26,115,232,.122)}.ccc-button--fill.ccc-button--color:active{box-shadow:0 3px 5px -1px rgba(26,115,232,.2),0 6px 10px 0 rgba(26,115,232,.141),0 1px 18px 0 rgba(26,115,232,.122)}.ccc-button--fill:hover:not(:active){background-image:linear-gradient(hsla(0,0%,100%,.08),hsla(0,0%,100%,.08))}.ccc-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:1px;height:1px;margin:auto;border-radius:50%;background-color:currentColor;opacity:0;transition:opacity .2s,transform 0s .2s}.ccc-button:active:before,.ccc-button[aria-expanded=true]:before{opacity:.12;transition:transform .3s;transform:scale(400)}.ccc-button--fill:active:before{opacity:.322}.ccc-button--select:before{display:none}.ccc-button--select:after{content:"";margin:.3rem .3rem 0;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:9.6px;margin-inline-start:9.6px;-webkit-margin-start:.6rem;margin-inline-start:.6rem;border:.3rem solid transparent;border-top-color:initial;forced-color-adjust:none;pointer-events:none}.ccc-button__icon{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-end:1rem;margin-inline-end:1rem}.ccc-button__select{position:absolute;top:0;left:0;width:100%;height:100%;font:inherit;opacity:0}@media (forced-colors:active){.ccc-button--color.ccc-button--fill{outline-width:1px}.ccc-button--fill:focus{outline-width:2px;outline-offset:-2px}.ccc-button__select{opacity:1}.ccc-button--select{border:none}}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/roboto-v20-latin-regular.woff2) format("woff2"),url(/assets/fonts/roboto-v20-latin-regular.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/roboto-v20-latin-500.woff2) format("woff2"),url(/assets/fonts/roboto-v20-latin-500.woff) format("woff")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/roboto-slab-v9-latin-regular.woff2) format("woff2"),url(/assets/fonts/roboto-slab-v9-latin-regular.woff) format("woff")}a{color:inherit}a:not(:hover){text-decoration:inherit}.cjp-block{display:flex;justify-content:center;align-items:center;overflow:hidden;min-height:384px}.cjp-block--papermill{background-color:rgba(31,133,194,.15)}.cjp-block--playsprout{background-color:rgba(139,195,74,.18)}.cjp-block--hacking{background-color:rgba(156,39,176,.15)}.cjp-block--music{background-color:rgba(255,152,0,.2)}.cjp-block__image{flex:none;width:192px;height:192px;margin:96px}.cjp-block__image--circle{border-radius:50%}.cjp-block__details{max-width:600px;padding:96px 64px}.cjp-block__title{margin-top:-24px;font-family:Roboto Slab,Roboto,Noto,Arial,sans-serif;font-size:48px;font-size:3rem;line-height:1}@media only screen and (max-width:800px){.cjp-block{flex-direction:column}.cjp-block__image{align-self:center}.cjp-block__details{padding:0 48px 48px}}.cjp-projects{margin:24px -24px}.cjp-projects__item{display:inline-flex;align-items:center;width:180px;height:48px;margin:24px}@media only screen and (max-width:503px){.cjp-projects__item{width:calc(100vw - 96px)}}.cjp-projects__image{flex:none;width:48px;height:48px}.cjp-projects__name{width:116px;margin:0 0 0 16px}.cjp-projects__break{display:block}.ccc-button{height:44px}.ccc-button+.ccc-button{margin:0 24px}html:focus-within{scroll-behavior:smooth}body{margin:0;background:#fff;color:rgba(0,0,0,.87);font-family:Roboto,Noto,Arial,sans-serif;font-size:16px;font-size:1rem;line-height:1.5}@media (prefers-color-scheme:dark){body{background:#212121;color:hsla(0,0%,100%,.9)}}