:root{--palette-black: #000000;--palette-white: #ffffff;--palette-blue: #0050a0;--palette-gray-light: #f0f0f0;--palette-gray-transparent: #86868638;--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);--hero-background: var(--bg-canvas);--hero-text-color: var(--text-main);--font-body: "Inter", "Helvetica", "Roboto", sans-serif;--layout-max-width: 62.5rem}@media(prefers-color-scheme:dark){:root{--palette-green: #33ff33;--palette-green-dark: #00e600;--palette-green-transparent: #33ff3338;--palette-blue-light: #8ac4ff;--palette-gray-dark: #231f20;--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);--hero-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='200' height='200' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(135)'%3E%3Crect width='100%25' height='100%25' fill='rgba(51, 255, 51,1)'/%3E%3Cpath d='M0 20l21-20v2L0 22z' fill='rgba(0, 230, 0,1)'/%3E%3Cpath d='M21 0L40 20v2L21 2zM-19 0L0 20v2L-19 2z ' fill='rgba(51, 255, 51,1)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E ");--hero-text-color: var(--bg-canvas)}}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]){color:var(--text-link);font-weight:600;background-image:linear-gradient(var(--text-link),var(--text-link));background-position:0% 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .3s ease,color .1s ease}a[href]:not([class]):focus,a[href]:not([class]):hover{--text-link: var(--text-link-hover);background-size:100% 2px}.label>.iconify,a[href]:not([class])>.iconify{position:relative;bottom:-2px}hr{border:1px solid var(--text-main)}h1,h2,h3,h4{color:var(--text-main);text-transform:uppercase}h1{border-top:8px solid var(--text-main);padding-top:.25em;font-weight:900;font-size:2.5em;margin:0}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}.image{margin:.5em}.mono{font-family:monospace}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.error-page-icon{font-size:5em;margin-bottom:10px}.content-layout{position:relative;margin:auto;padding:10px;max-width:var(--layout-max-width)}.center{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.center-v{display:flex;justify-content:center;flex-direction:column}.full{height:100vh}.button{display:flex;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-size:200% 100%;background-position:100% 0;text-decoration:none;padding:.5em 1em;border-radius:9999em;align-items:center;justify-content:center;gap:5px;position:relative;transition:background-position .3s ease,color .2s ease,box-shadow .2s ease-in-out}.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}.action-button{display:flex;align-items:center;flex-direction:row;color:inherit;text-decoration:none;border-bottom-style:none;cursor:pointer;border:none;background:none;padding:0}.action-button:hover{text-decoration:none}.action-button>.icon{width:24px;height:24px;padding:6px;border-radius:12px;background-color:transparent;text-align:center;color:var(--text-main)}@keyframes pop{0%{transform:scale(0) rotate(90deg)}65%{transform:scale(1.25) rotate(0)}to{transform:scale(1)}}.action-button:focus>.icon,.action-button:hover>.icon{background-color:var(--text-main);color:var(--bg-canvas);animation:.5s pop 1 ease}.action-button>.text{margin-left:5px;font-weight:700;color:var(--text-main)}.action-button:focus>.text,.action-button:hover>.text{color:var(--text-main)}.group-ab{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around;margin:0;padding:0;list-style:none;gap:.5em}.group-ab>li{font-size:19.2px}@media screen and (max-width:425px){.group-ab{gap:.5em 2em}.primary-nav{margin:0 1.5em}}table{border:1px solid var(--text-main);width:100%}th,td{border:1px solid var(--text-main);width:50%;padding:.5em}.cardset{display:flex;flex-direction:column;gap:1em}.cardset.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2em}.card{display:flex;flex-direction:column;color:var(--text-main)}.card-icon{width:48px;height:48px;font-size:32px;margin-right:.5em;flex-shrink:0;display:flex;align-items:start;justify-content:center}@supports not (gap: 1em){.card>.card-preview{margin-right:1em}}.cardset.grid .card>.card-detail{margin:1em;width:calc(100% - 2em)}.card-2col{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}@media screen and (max-width:425px){.card-2col{flex-direction:column}}.card>.card-profile img,.card>.card-preview :is(img,div.no-preview){width:200px;height:200px;border-radius:24px}.card>.card-preview :is(img,div.no-preview){height:200px;width:100%;transition:opacity 1s ease-in;opacity:1;object-position:center center;object-fit:cover}.card .no-preview{display:flex;align-items:center;justify-content:center;background:var(--bg-surface-hover);color:var(--text-main);font-size:5em;font-weight:700}@media screen and (max-width:767px){.cardset.grid{display:grid;grid-template-columns:repeat(1,1fr)}}.card-actions{display:flex;align-items:center;gap:1em}.card-title{display:flex;font-size:1.5em;font-weight:700}.card-project-metadata{font-size:1.25em}.card.card-content>:is(p,ul,ol,h1,h2,h3,h4,h5,h6){margin:0}.card.card-content{gap:1em}.card-anchor{display:block;background:var(--bg-surface);font-weight:inherit;transform:translateY(0);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:2px solid transparent;border-radius:24px}.card-anchor:focus,.card-anchor:hover{background:var(--bg-surface-hover);transform:translateY(-8px);text-decoration:inherit}.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{animation-duration:1.25s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:phs-position;animation-timing-function:linear;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}@media screen and (max-width:625px){span.title{font-size:clamp(2.5em,8vw,3.5em)}span.subtitle{font-size:clamp(.8em,3vw,1em)}}.primary-header{margin:1em;border-radius:24px;background:var(--hero-background);color:var(--hero-text-color);padding:1em;view-transition-name:primary-header}.primary-header.term{color:var(--text-main);margin:0;padding:0}.primary-nav{display:flex;min-height:36px;align-items:center;justify-content:center;flex-direction:column;view-transition-name:primary-nav}@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}
