:root{--palette-black:#000;--palette-white:#fff;--palette-blue:#0050a0;--palette-gray-light:#f0f0f0;--palette-gray-transparent:#86868638;--palette-green:#3f3;--palette-green-dark:#00e600;--palette-green-transparent:#33ff3338;--palette-blue-light:#8ac4ff;--palette-gray-dark:#231f20;--palette-amber:#ffb000;--palette-amber-transparent:#ffb00038;--bg-surface:var(--palette-gray-light);--bg-surface-hover:var(--palette-gray-transparent);--bg-canvas:var(--palette-white);--text-main:var(--palette-black);--text-link:var(--palette-blue);--text-link-hover:var(--palette-blue);--bg-code-block:#f6f8fa;--bg-code-inline:#afb8c133;--bg-table-even:#00000005;--artwork-grid-color:#0000000a;--artwork-orb-opacity:.06;--artwork-icon-opacity:.08;--font-body:"Bricolage Grotesque", "Helvetica", "Roboto", sans-serif;--layout-max-width:62.5rem}@media (prefers-color-scheme:dark){html:not(.theme-light):not(.theme-green):not(.theme-amber){--bg-canvas:#0f1115;--bg-surface:#1b1e24;--bg-surface-hover:#ffffff12;--text-main:#e2e8f0;--text-link:#60a5fa;--text-link-hover:#93c5fd;--bg-code-block:#161b22;--bg-code-inline:#6e768166;--bg-table-even:#ffffff05;--artwork-grid-color:#fff1;--artwork-orb-opacity:.16;--artwork-icon-opacity:.13}}html.theme-light{--bg-surface:var(--palette-gray-light);--bg-surface-hover:var(--palette-gray-transparent);--bg-canvas:var(--palette-white);--text-main:var(--palette-black);--text-link:var(--palette-blue);--text-link-hover:var(--palette-blue);--bg-code-block:#f6f8fa;--bg-code-inline:#afb8c133;--bg-table-even:#00000005;--artwork-grid-color:#0000000a;--artwork-orb-opacity:.06;--artwork-icon-opacity:.08}html.theme-green{--bg-surface:var(--palette-gray-dark);--bg-surface-hover:var(--palette-green-transparent);--bg-canvas:var(--palette-black);--text-main:var(--palette-green);--text-link:var(--palette-blue-light);--text-link-hover:var(--palette-white);--bg-code-block:#161b22;--bg-code-inline:#6e768166;--bg-table-even:#ffffff05;--artwork-grid-color:#fff1;--artwork-orb-opacity:.16;--artwork-icon-opacity:.13}html.theme-dark{--bg-canvas:#0f1115;--bg-surface:#1b1e24;--bg-surface-hover:#ffffff12;--text-main:#e2e8f0;--text-link:#60a5fa;--text-link-hover:#93c5fd;--bg-code-block:#161b22;--bg-code-inline:#6e768166;--bg-table-even:#ffffff05;--artwork-grid-color:#fff1;--artwork-orb-opacity:.16;--artwork-icon-opacity:.13}html.theme-amber{--bg-surface:var(--palette-gray-dark);--bg-surface-hover:var(--palette-amber-transparent);--bg-canvas:var(--palette-black);--text-main:var(--palette-amber);--text-link:var(--palette-blue-light);--text-link-hover:var(--palette-white);--bg-code-block:#161b22;--bg-code-inline:#ffb0004d;--bg-table-even:#ffffff05;--artwork-grid-color:#ffb00011;--artwork-orb-opacity:.16;--artwork-icon-opacity:.13}html{font-family:var(--font-body);background:var(--bg-canvas);color:var(--text-main);scroll-behavior:smooth;scrollbar-color:var(--text-main) var(--bg-canvas)}body{margin:0}a[href]{text-decoration:none;position:relative}a[href]:not([class]),.link{color:var(--text-link);background-image:linear-gradient(var(--text-link), var(--text-link));background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;font-weight:600;transition:background-size .3s,color .1s}a[href]:not([class]):focus,a[href]:not([class]):hover,.link:focus,.link:hover{--text-link:var(--text-link-hover);background-size:100% 2px}hr{border:1px solid var(--text-main)}h1,h2,h3,h4{color:var(--text-main)}h1{border-top:8px solid var(--text-main);margin:0;padding-top:.25em;font-size:2.5em;font-weight:900}h2{border-left:8px solid var(--text-main);padding-left:.5em}span.title{font-size:4em;font-weight:900}span.subtitle{text-transform:uppercase;font-size:1.3em;font-weight:700}main:not(.transparent){background:var(--bg-canvas)}.image{margin:.5em}.mono{font-family:monospace}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error-page-icon{margin-bottom:10px;font-size:5em}.content-layout{max-width:var(--layout-max-width);margin:auto;padding:10px;position:relative}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.center-v{flex-direction:column;justify-content:center;display:flex}.full{height:100vh}.button{font-family:inherit;font-size:inherit;border:2px solid var(--text-link);color:var(--text-link);background:linear-gradient(to right, var(--bg-surface-hover) 50%, transparent 50%);background-position:100% 0;background-size:200% 100%;border-radius:9999em;justify-content:center;align-items:center;gap:5px;padding:.5em 1em;text-decoration:none;transition:background-position .3s,color .2s,box-shadow .2s ease-in-out;display:flex;position:relative}.button:hover,.button:focus{--text-link:var(--text-link-hover);background-position:0 0}.button:focus{box-shadow:0 0 0 2px var(--text-link) inset}.menu-btn,.close-btn{cursor:pointer;color:var(--text-main);background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.menu-btn:hover,.close-btn:hover{background-color:var(--bg-surface-hover)}table{border:1px solid var(--text-main);width:100%}th,td{border:1px solid var(--text-main);width:50%;padding:.5em}.cardset{flex-direction:column;gap:1em;display:flex}.cardset.grid{grid-template-columns:repeat(2,1fr);gap:2em;display:grid}.cardset.list{flex-direction:column;gap:1em;display:flex}.card{color:var(--text-main);flex-direction:column;display:flex}.card-icon{flex-shrink:0;justify-content:center;align-items:start;width:48px;height:48px;margin-right:.5em;font-size:32px;display:flex}@supports not (gap:1em){.card>.card-preview{margin-right:1em}}.cardset.grid .card>.card-detail{flex-direction:column;flex:1;justify-content:space-between;width:calc(100% - 2em);margin:1em;display:flex}.cardset.list .card{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:1.5em;padding:.5em;display:flex}.cardset.list .card>.card-preview{flex-shrink:0;width:128px;height:80px;margin:0;display:block}.cardset.list .card>.card-preview :is(img,div.no-preview){object-fit:cover;border-radius:16px;width:128px;height:80px;margin:0}.cardset.list .card>.card-preview div.no-preview{background:var(--bg-surface-hover);color:var(--text-main);justify-content:center;align-items:center;font-size:2.5em;display:flex}.cardset.list .card>.card-detail>.card-header{text-align:left;flex-direction:column;gap:.25em;display:flex}.cardset.list .card>.card-detail>:not(.card-header){text-align:right;flex-shrink:0}@media screen and (width<=600px){.cardset.list .card{align-items:flex-start;gap:1em}.cardset.list .card>.card-detail{flex-direction:column;align-items:flex-start;gap:.25em}.cardset.list .card>.card-detail>:not(.card-header){text-align:left}}@media screen and (width<=380px){.cardset.list .card>.card-preview{display:none}}.card-2col{flex-flow:wrap;justify-content:space-between;display:flex}@media screen and (width<=425px){.card-2col{flex-direction:column}}.card>.card-profile img,.card>.card-preview :is(img,div.no-preview){border-radius:24px;width:200px;height:200px}.card>.card-preview :is(img,div.no-preview){opacity:1;object-position:center center;object-fit:cover;width:100%;height:200px;transition:opacity 1s ease-in}.card .no-preview{background:var(--bg-surface-hover);color:var(--text-main);justify-content:center;align-items:center;font-size:5em;font-weight:700;display:flex}@media screen and (width<=767px){.cardset.grid{grid-template-columns:repeat(1,1fr);display:grid}}.card-actions{justify-content:center;align-items:center;gap:1em;display:flex}.card-title{font-size:1.5em;font-weight:700;display:flex}.card-tags{flex-wrap:wrap;gap:.35em;margin-top:auto;padding-top:.5em;display:flex}.card-project-metadata>.project-subtitle{text-align:center;font-size:1.25em}.card.card-content>:is(p,ul,ol,h1,h2,h3,h4,h5,h6){margin:0}.card.card-content{gap:1em}.heading-container{width:100%;padding-top:10px;position:relative}.heading-container:before{content:"";background-color:var(--text-main);transform-origin:0;width:100%;height:8px;animation:1.2s cubic-bezier(.22,1,.36,1) forwards drawLine;position:absolute;top:0;left:0;transform:scaleX(0)}@keyframes drawLine{to{transform:scaleX(1)}}.is-navigating .heading-container:before{animation:1s linear infinite waveMove;transform:scaleX(1);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='8' viewBox='0 0 20 8'%3E%3Cpath d='M0,4 C5,-1 5,9 10,4 C15,-1 15,9 20,4' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='8' viewBox='0 0 20 8'%3E%3Cpath d='M0,4 C5,-1 5,9 10,4 C15,-1 15,9 20,4' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}@keyframes waveMove{0%{mask-position-x:0}to{mask-position-x:20px}}.heading-content{max-width:var(--layout-max-width);flex-direction:column;justify-content:space-between;align-items:center;gap:1em;margin:0 auto;padding:1.1em 10px 0;display:flex}.heading-content h1{text-align:center;border-top:none;margin:0;padding-top:0;font-size:4em;line-height:1em}.card-anchor{background:var(--bg-surface);font-weight:inherit;border:2px solid #0000;border-radius:24px;transition:transform .2s,box-shadow .2s,background .2s;transform:translateY(0)}.card-anchor:focus,.card-anchor:hover{background:var(--bg-surface-hover);-webkit-text-decoration:inherit;text-decoration:inherit;transform:translateY(-8px)}.card-anchor:focus{outline:0}.card-anchor:focus:is(:hover,:not(:hover:active)){border-color:var(--text-main)}@keyframes phs-position{0%{background-position:-800px 0}to{background-position:800px 0}}.phs{background:var(--bg-surface-hover);background:linear-gradient(to right, var(--bg-surface-hover) 10%, var(--bg-canvas) 18%, var(--bg-surface-hover) 33%);background-size:800px 100px;font-size:0;animation-name:phs-position;animation-duration:1.25s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards}@media screen and (width<=625px){span.title{font-size:clamp(2.5em,8vw,3.5em)}span.subtitle{font-size:clamp(.8em,3vw,1em)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes slide-from-right{0%{transform:translate(30px)}}@keyframes slide-to-left{to{transform:translate(-30px)}}:root::view-transition-old(root){animation:90ms cubic-bezier(.4,0,1,1) both fade-out,.3s cubic-bezier(.4,0,.2,1) both slide-to-left}:root::view-transition-new(root){animation:.21s cubic-bezier(0,0,.2,1) 90ms both fade-in,.3s cubic-bezier(.4,0,.2,1) both slide-from-right}.matrix-canvas.svelte-fz2upu{z-index:-1;pointer-events:none;opacity:0;width:100vw;height:100vh;transition:opacity .5s;position:fixed;top:0;left:0}html.theme-green .matrix-canvas.svelte-fz2upu,html.theme-amber .matrix-canvas.svelte-fz2upu{opacity:.28}@media (prefers-color-scheme:dark){html.theme-device .matrix-canvas.svelte-fz2upu{opacity:.28}}.scroll-hint.svelte-1mjz889{z-index:9999;color:var(--text-main);-webkit-backdrop-filter:blur(16px);white-space:nowrap;pointer-events:none;background:#8080800d;border:1px solid #80808026;border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;transition:opacity .3s;animation:2s infinite svelte-1mjz889-bounce-horizontal;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000000d}.scroll-hint.svelte-1mjz889 span:where(.svelte-1mjz889),.scroll-hint.svelte-1mjz889 .iconify{opacity:.65}@keyframes svelte-1mjz889-bounce-horizontal{0%,20%,50%,80%,to{transform:translate(-50%)translate(0)}40%{transform:translate(-50%)translate(6px)}60%{transform:translate(-50%)translate(3px)}}
