html:root{--_h: 270;--_s: 20%;--_hs: var(--_h) var(--_s);--clr-accent: hsl(var(--_h), 50%, 40%);--clr-accent-light: hsl(var(--_h), 84%, 72%);--clr-accent-dark: hsl(var(--_h), 71%, 22%);--clr-complementary: hsl(90, 50%, 40%);--clr-href: hsl(var(--_h), 80%, 50%);--clr-href-visited: hsl(var(--_h), 70%, 22%);--clr-background: hsl(var(--_hs) 95%);--clr-background-900: hsl(var(--_hs) 88%);--clr-background-800: hsl(var(--_hs) 75%);--clr-background-700: hsl(var(--_hs) 63%);--clr-foreground: hsl(var(--_hs) 10%);--clr-foreground-900: hsl(var(--_hs) 13%);--clr-foreground-800: hsl(var(--_hs) 25%);--clr-foreground-700: hsl(var(--_hs) 38%);--clr-disabled-text: hsl(var(--_hs) 50%);--clr-white: hsl(var(--_hs) 100%);--clr-black: hsl(var(--_hs) 0%);--clr-black-light: hsl(var(--_hs) 13%);--clr-red: hsl(357, 70%, 41%);--clr-red-dark: hsl(357, 70%, 30%);--bx-shadow-two-side: 0 0.3125rem 0.625rem hsla(var(--_hs) 0%, 0.2), -0.3125rem -0.3125rem 0.625rem hsla(var(--_hs) 100%, 0.8);--table-header: var(--clr-accent-light)}html:root[data-color-scheme=sunglow]{--_h: 34;--_s: 10%;--clr-complementary: hsl(214, 50%, 40%)}html:root[data-color-scheme=navyocean]{--_h: 207;--_s: 10%;--clr-complementary: hsl(27, 50%, 40%)}html:root[data-color-scheme=embershadow]{--_h: 5;--_s: 10%;--clr-complementary: hsl(210, 40%, 25%)}html:root[data-color-scheme=olivedepths]{--_h: 140;--_s: 10%;--clr-complementary: hsl(20, 50%, 40%);--clr-href: hsl(var(--_h), 40%, 50%)}html:root[data-theme=dark]{--clr-href: hsl(var(--_h), 84%, 72%);--clr-href-visited: hsl(var(--_h), 50%, 40%);--clr-background: hsl(var(--_hs) 10%);--clr-background-900: hsl(var(--_hs) 13%);--clr-background-800: hsl(var(--_hs) 25%);--clr-background-700: hsl(var(--_hs) 38%);--clr-foreground: hsl(var(--_hs) 95%);--clr-foreground-900: hsl(var(--_hs) 88%);--clr-foreground-800: hsl(var(--_hs) 75%);--clr-foreground-700: hsl(var(--_hs) 63%);--bx-shadow-two-side: 0 0.3125rem 0.625rem rgb(0 0 0 / 20%), -0.3125rem -0.3125rem 0.625rem rgb(58 58 58 / 63%)}.font-montserrat,body{font-family:"Montserrat",sans-serif}.font-monospace{font-family:monospace,"Trebuchet MS","Lucida Sans Unicode","Lucida Grande","Lucida Sans",Arial,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:10rem;scroll-padding-bottom:10rem}html:root .themes{background-color:#ffc107;color:#7e620e}html:root [data-moon]{display:none}html:root [data-sun]{display:block}html:root[data-theme=dark] .themes{background-color:var(--clr-accent);color:var(--clr-accent-dark)}html:root[data-theme=dark] [data-sun]{display:none}html:root[data-theme=dark] [data-moon]{display:block}*,*:is(::after,::before){box-sizing:border-box;margin:0;padding:0}body{display:flex;flex-direction:column;min-height:100vh;background-color:var(--clr-background-900);color:var(--clr-foreground);line-height:1.6;overflow-x:hidden}a,a:is(:active,:hover,:focus-visible){color:inherit;text-decoration:none}a:is(:hover,:focus-visible){color:var(--clr-accent)}a[href]{position:relative}a[href] .new-tab-warning{position:absolute;width:-moz-max-content;width:max-content;background-color:hsl(0,0%,13%);font-weight:normal;letter-spacing:normal;color:var(--clr-white) !important;padding:.3rem;font-size:.7rem;border-radius:.3rem;margin-top:.5rem;top:100%;left:0;visibility:hidden;pointer-events:none;text-transform:capitalize;transition:all 300ms ease-out;translate:0 -0.3rem;z-index:90;-webkit-user-select:none;-moz-user-select:none;user-select:none}a[href]:focus-visible .new-tab-warning{visibility:visible;translate:0 0}::-moz-selection{background-color:var(--clr-accent);color:var(--clr-white)}::selection{background-color:var(--clr-accent);color:var(--clr-white)}.t-all{transition:all 300ms ease-in}@media screen and (max-width: 39.9375em){.no-scroll{overflow:hidden !important}.no-scroll :is(header,main,footer){visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}}.not-loaded{overflow:hidden}.not-loaded :is(header,main,footer,nav){visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}:is(ul,li){margin:0;padding:0}li{list-style:none}*:focus-visible{outline:.125rem solid var(--clr-accent-dark)}.highlight{background-color:var(--clr-black);padding:.2rem .6rem;color:var(--clr-white)}.highlight:is(:hover,:focus){color:var(--clr-white)}.header-link__access{text-decoration:none !important}.sr-only{border:0;clip-path:rect(0 0 0 0);height:.0625rem;margin:-0.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem}.header_article{all:unset;position:relative;width:100vw;aspect-ratio:16/9;height:-moz-fit-content;height:fit-content;max-height:60vh;overflow:hidden;margin:0 auto}.header_article img{top:50%;translate:0 -50%;position:absolute;aspect-ratio:16/9;width:100%;height:auto}.main{background-color:var(--clr-background-900);flex:1 0 auto;display:flex;flex-direction:column;gap:6rem;overflow:hidden}.main-container{max-width:64rem;margin:0 auto;padding:3rem 2rem;width:100%}.main .section-more{display:block;width:100%;padding:1em;border:.0625em solid var(--clr-foreground);margin-top:1em;border-radius:.3em}.main .section-more:is(:hover,:focus){background-color:var(--clr-accent);border-color:var(--clr-accent-light);color:var(--clr-white)}.main .section-header{display:flex;flex-direction:row;align-items:center;z-index:3;gap:2em;font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em}.main .section-header .header-title{display:flex;line-height:1;align-items:center;gap:.6em}.main .section-header .header-title__link{font-size:1.3em;font-weight:bold;text-decoration:none;height:-moz-max-content;height:max-content}.main .section-header span{text-transform:none;letter-spacing:0}@media screen and (max-width: 63.9375em){.main .section-header{flex-direction:column;align-items:flex-start;gap:0}.main .section-header span::before{display:none}}.main .section-header .header-desc{display:block;position:relative;font-size:.9rem;color:var(--clr-foreground-700)}.main .section-header .header-desc::before{content:"";position:absolute;left:0;border:.1875em solid var(--clr-foreground);top:50%;translate:0 -50%;margin-left:-1em;border-radius:50%}.blog .main-container{padding-inline:0}.blog .main-container>*:not(ul){width:min(min(100vw - 4rem,60rem),58rem);margin-inline:auto}.work{position:relative;isolation:isolate;padding-top:4rem}.work-svg_bottom{position:absolute;bottom:-6.0625em;z-index:-1;color:var(--clr-background)}.work .section-header{width:min(min(100vw - 4rem,60rem),58rem);margin:auto}.work .section-more{margin:auto;margin-top:-2em;display:block;width:min(min(100vw - 4rem,60rem),58rem);padding:1em;background-color:var(--clr-background);border:.0625em solid var(--clr-background-900);border-radius:.3em}.work .section-more:is(:hover,:focus){background-color:var(--clr-accent);border-color:var(--clr-accent-light);color:var(--clr-white)}@media screen and (max-width: 63.9375em){.work .main-container{padding-inline:0}}.contact .form-input{display:flex;flex-direction:column}.contact .form-input__captcha{margin-top:1rem;margin-bottom:1rem}.contact .form-input label{margin:2em 0 .5em 0}.contact .form-input input,.contact .form-input textarea{width:100%;padding:1rem;border:none;background-color:var(--clr-background);color:var(--clr-foreground-900);resize:none}.contact .form-input input[type=submit]{border:none;color:var(--clr-white);background-color:var(--clr-accent)}.footer{background-color:var(--clr-background);color:var(--clr-foreground);padding:.8rem}.footer .brand{display:flex;gap:.5rem;width:-moz-max-content;width:max-content}.footer .brand-title{font-size:1.3rem;font-weight:700}.footer .brand-logo{display:flex;align-items:center}.footer-top{padding:.8rem;padding-top:3rem;font-size:2rem;max-width:35ch;line-height:1.2;position:relative;isolation:isolate}.footer-top::before{content:'"';position:absolute;font-size:4em;left:0;top:0;color:var(--clr-background-800);font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:-1}.footer-bottom{padding:.8rem;text-align:left;display:flex;flex-direction:column;gap:.3em}.footer-container{max-width:64rem;margin:0 auto}.footer .copyright{font-size:.9rem;margin:1rem auto;text-align:left;border:.0625rem solid var(--clr-foreground);width:100%;max-width:-moz-max-content;max-width:max-content;padding:.2rem 2rem}@media screen and (min-width: 40em){.footer .copyright{flex-direction:row}}.nav{background-color:var(--clr-background);flex-grow:0;flex-shrink:0;position:sticky;top:0;z-index:20}.nav-skip{position:relative;width:100%;height:0;transition:height 200ms ease;justify-content:center}.nav-skip:has(:focus){height:1.6em}.nav-container{padding:.8rem;width:100%;max-width:64rem;margin:0 auto;gap:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.nav-container .menubar{font-weight:600;flex:1;justify-content:flex-end}.nav-skipto{background-color:var(--clr-accent);color:var(--clr-white);padding:0 .3rem;position:absolute !important;left:0;right:0;top:0;width:100%;height:-moz-max-content;height:max-content;text-align:center;opacity:0;transition:opacity 200ms ease;pointer-events:none}.nav-skipto:focus{pointer-events:unset;opacity:1;color:var(--clr-white)}.nav .leftside{display:flex;gap:1rem}.nav .rightside{display:flex;gap:.2rem}.nav .brand{display:flex;gap:.5rem;flex:1 0 auto;order:1}.nav .brand-title{font-size:1.3rem;font-weight:700}.nav .brand-logo{display:flex;align-items:center}.nav .themes{transition:background-color 200ms ease-in;border-radius:50%}.nav .themes,.nav-mobile{cursor:pointer;background:none;border:none;display:block;height:2rem;width:2rem;padding:.4rem;color:inherit}.nav .themes svg,.nav-mobile svg{width:100%;height:100%}.nav .themes__section,.nav-mobile__section{margin-top:3.605625rem;right:0;position:fixed;top:0;left:0;height:calc(100% - 3.605625rem);background-color:var(--clr-background);color:var(--clr-foreground);z-index:19;display:flex;flex-direction:column;align-items:center;gap:2rem;justify-content:center}.nav .themes__section.not-showing,.nav-mobile__section.not-showing{height:0%;overflow-y:hidden;visibility:hidden}@media screen and (min-width: 40em){.nav .themes__section,.nav-mobile__section{height:0%;overflow-y:hidden;visibility:hidden}}.nav .themes__section li,.nav-mobile__section li{width:100%;list-style:none}.nav .themes__section li a,.nav-mobile__section li a{display:block;text-transform:uppercase;height:5em}.nav .themes__section li a div,.nav-mobile__section li a div{position:absolute;left:50%;top:50%;translate:-50% -50%}.nav .themes__section li a:is(:hover,:focus),.nav-mobile__section li a:is(:hover,:focus){font-weight:700}@media screen and (min-width: 40em){.nav-mobile{display:none}}.nav ul{display:none;gap:1rem;align-items:center}@media screen and (min-width: 40em){.nav ul{display:flex}}.nav ul li{list-style:none;text-transform:uppercase;letter-spacing:0rem}.nav ul li a{position:relative;z-index:1;transition:color 300ms 150ms ease-in}.nav ul li a:hover,.nav ul li a:focus-visible{color:var(--clr-white);z-index:1}.nav ul li a:hover::before,.nav ul li a:focus-visible::before{width:100%}.nav ul li a::before{content:"";position:absolute;width:0%;background-color:var(--clr-accent);height:110%;transition:all 150ms ease-in;z-index:-1}.preload{position:fixed;display:flex;align-items:center;justify-content:center;background-color:var(--clr-background);top:0;left:0;right:0;bottom:0;height:100dvh;z-index:999;flex-direction:column;translate:0 0;opacity:1;transition:transform 1s ease-in-out}.preload svg{rotate:0deg;width:min(10em,100%);height:min(10em,100%);animation:preload 2s infinite}.preload-text{margin-top:1em;max-width:30ch;text-align:center}.preload.hidden{translate:0 -100vh}.preload.disabled{display:none}@keyframes preload{25%{rotate:15deg}50%{rotate:0deg}75%{rotate:-15deg}100%{rotate:0deg}}.title-container{display:flex;gap:2rem;max-width:70rem;padding:3rem 2rem;align-items:flex-start;z-index:0}@media screen and (min-width: 64em){.title-container{border-radius:.3em}}.title-container .title-left{flex:1 0 auto;max-width:45ch}.title-container .title-right{position:relative;width:25rem;height:20rem}@media screen and (max-width: 63.9375em){.title-container .title-right{width:100%}}.title-container .title-right:hover .note:is([data-has-been-animated],.has-been-animated){rotate:0deg;scale:1.1}.title-container .title-right .note:is([data-has-been-animated],.has-been-animated){rotate:3deg;--_scale: 300ms;--_rotate: 700ms}.title-container .title-right .note{rotate:-10deg}.title-container .title-right::before{rotate:9deg;content:"";position:absolute;width:100%;height:100%;background-color:var(--clr-complementary);left:-0.7rem;border-radius:40% 20%/90%;animation:rolling 3s infinite ease-in}@keyframes rolling{50%{rotate:-9deg;scale:1.01}}@media screen and (max-width: 63.9375em){.title-container{flex-direction:column-reverse}}.title-side_top{display:flex;flex:0 0 auto;flex-direction:column;gap:.4rem;width:100%}.title-side_bottom{width:100%;font-size:1.2rem}.title-side_bottom h2{margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1rem}@media screen and (max-width: 39.9375em){.title-side_bottom h2{font-size:1.2rem}}.title-side_bottom .status-area{display:flex;align-items:center;justify-content:flex-start;gap:.5em;font-size:1rem;margin-bottom:.5em}.title-side_bottom .status-area>.status-icon{width:.75em;height:.75em;background-color:var(--clr-accent);border-radius:50%}.title-side_bottom .status-area .status-hoverable{position:relative;cursor:pointer}.title-side_bottom .status-area .status-hoverable:is(:hover,:focus) .status-card,.title-side_bottom .status-area .status-hoverable:has(:is(:hover,:focus)) .status-card{visibility:visible;-webkit-user-select:text;-moz-user-select:text;user-select:text;pointer-events:unset;translate:-50% 0%}.title-side_bottom .status-area .status-hoverable .status-card{visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;background-color:var(--clr-background);box-shadow:0 .625rem 1.25rem rgba(0,0,0,.4);padding:1em;left:50%;border-radius:.2em;width:25ch;position:absolute;z-index:70;margin-top:.2em;translate:-50% 20%;transition:all 200ms ease-in-out}.title-side_bottom .status-area .status-hoverable .status-card-header{font-size:.9em;letter-spacing:normal;margin-bottom:unset}.title-side_bottom .status-area .status-hoverable .status-card-body{margin-top:1em;display:flex;gap:1em}.title-side_bottom .status-area .status-hoverable .status-card-body .status-card-left{display:flex;align-items:center;justify-content:center;background-color:var(--clr-foreground-900);border-radius:.4em;width:6ch;height:6ch;flex:0 0 auto}.title-side_bottom .status-area .status-hoverable .status-card-body .status-card-left svg{width:75%;height:75%}.title-side_bottom .status-area .status-hoverable .status-card-body .status-card-right{font-size:.7em;font-weight:normal}.title-side_bottom .status-area .status-hoverable .status-card-button{text-align:center;font-weight:normal;display:block;width:100%;margin-top:1em;font-size:.9em;background-color:var(--clr-accent);padding:.4em;border-radius:.2em;color:var(--clr-white)}.title-side_bottom .status-area .status-hoverable .status-card-button:is(:hover,:focus){background-color:var(--clr-accent-dark);color:var(--clr-white)}.title-side_bottom .status-area .status-hoverable .status-card:is(:hover,:focus){visibility:visible;-webkit-user-select:text;-moz-user-select:text;user-select:text;pointer-events:unset;translate:-50% 0%}.title-link{display:block;width:-moz-max-content;width:max-content}.title-activity{display:flex;flex-direction:row;align-items:center;margin-bottom:-0.4rem}.title-activity__details{margin-left:.4rem;font-weight:300;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--clr-foreground-900)}.title-activity__details #month{font-weight:600}.title-activity__details #activity{display:inline-block;position:relative;font-weight:400;z-index:0}.title-activity__details #activity::before{content:"";position:absolute;width:70%;height:.2rem;bottom:0;border-bottom:.1rem dashed var(--clr-accent)}.title-activity #year,.title-activity svg,.title-activity #month{color:var(--clr-foreground-900)}.title-activity svg{width:1.2rem}.title-text{font-size:2.4rem;font-weight:700;margin-left:-0.1rem;transition:font-size 300ms ease-in}.title-action{display:flex;flex-direction:row;margin-top:1.2rem;color:var(--clr-white);background:var(--clr-accent-dark);background-image:linear-gradient(-90deg, var(--clr-accent), var(--clr-accent-dark));border-radius:.3rem;padding:.5rem 1.5rem;align-items:center;gap:.4rem;cursor:pointer;font-size:1.3rem;transition:all 300ms ease-out}.title-action:hover,.title-action:focus-visible{color:#ccc;background-color:var(--clr-accent);filter:brightness(140%);box-shadow:0 .3125rem .625rem rgba(0,0,0,.4);scale:1.04}.title-action svg{height:1.3rem;width:1.3rem}.title-action[disabled]{cursor:not-allowed}.title-action[disabled]:hover{scale:.96;box-shadow:inset 0 .3125rem .625rem rgba(0,0,0,.4);filter:grayscale(100)}.title-action.secondary{background-color:var(--clr-background-800);color:var(--clr-foreground-800);background-image:none;box-shadow:none}.title-action.secondary:hover,.title-action.secondary:focus-visible{filter:brightness(100%);scale:.98}.title-action__group{display:flex;gap:.6rem}.title-submenu{display:flex;position:relative;margin-top:-0.4rem;margin-left:.4rem;align-items:center;gap:.3rem;color:var(--clr-foreground-800);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.title-submenu svg{height:1rem;rotate:180deg}.contact .form-input{display:flex;flex-direction:column}.contact .form-input__captcha{margin-top:1rem;margin-bottom:1rem}.contact .form-input label{margin:2em 0 .5em 0}.contact .form-input input,.contact .form-input textarea{width:100%;padding:1rem;border:none;background-color:var(--clr-background);color:var(--clr-foreground-900);resize:none}.contact .form-input input[type=submit]{border:none;color:var(--clr-white);background-color:var(--clr-accent)}.contact-container{--_main-color: var(--clr-background);--_transparent-limit: 30%;display:grid;gap:.5rem}.contact-container .contact-summary{background-color:var(--_main-color);padding:2rem;border-radius:.5em;margin-top:2em}.contact-container .contact-summary sup{font-size:.6em}.contact-container .contact-summary a{color:var(--clr-accent-light);text-decoration:underline;text-underline-offset:.2em;font-weight:500;transition:text-underline-offset 100ms ease-in-out}.contact-container .contact-summary a:is(:hover,:focus){text-underline-offset:.3em}.contact-container .social-container{--_size: 20em;--_minGridSize: min(var(--_size), calc(100% - 4rem + 0.5rem));--_minMax: minmax(var(--_minGridSize), 1fr);--_gridSize: repeat(auto-fit, var(--_minMax));display:grid;grid-template-columns:var(--_gridSize);gap:.5rem}.contact-container .social-container__small{--_size: 18em}.contact-container .social-container__small .social-item{aspect-ratio:unset;padding:1em}.contact-container .social-container__small .social-item-text h2{font-size:.9em}.contact-container .social-container li:nth-of-type(odd) .social-item{grid-template-areas:"text text"}.contact-container .social-item{--_disabledColor: var(--clr-background-800);aspect-ratio:3/1;border:.0625rem solid var(--_disabledColor);border-radius:.5em;overflow:hidden;color:var(--_disabledColor);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:grid;grid-template-columns:repeat(2, 1fr);grid-template-areas:"text text";align-items:center;justify-content:space-around;position:relative;padding:2em}.contact-container .social-item[href]{border:.0625rem solid var(--_main-color);cursor:pointer;color:var(--clr-foreground)}.contact-container .social-item-text{font-variant:all-small-caps;font-weight:700;font-size:1.2rem;grid-area:text;text-align:center;z-index:99}.contact-container .social-item-text h2{font-size:inherit;line-height:1}.contact-container .social-item-text span{font-size:.8rem;font-style:italic;color:var(--clr-foreground-700);font-weight:500;font-variant:normal;text-transform:lowercase}.contact-container .social-item svg{position:absolute;color:var(--clr-background-800);z-index:0;bottom:-80%;left:-20%;height:160%}.contact-container .social-item *{z-index:4;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.contact-container .social-item[href]::after{content:"";position:absolute;background-image:linear-gradient(-45deg, var(--clr-accent) 2%, transparent var(--_transparent-limit), var(--_main-color));width:300%;aspect-ratio:1/1;z-index:1;transition:width 250ms ease-in-out}.contact-container .social-item[href]:is(:hover,:focus){color:inherit;outline-offset:.1em}.contact-container .social-item[href]:is(:hover,:focus)::after{width:100%}
