*,*:before,*:after{box-sizing:border-box}html{line-height:1.45}body,h1,h2,h3,h4,h5,h6,p{margin:0}ul{list-style:none;padding:0;margin:0}button{border:none;padding:0;cursor:pointer}:root{--blue-hue: 250;--azure-hue: 200;--red-hue: 20;--green-hue: 150;--purple-hue: 290;--yellow-hue: 70}@media(prefers-color-scheme:light){:root{color-scheme:light;--base-hue: var(--azure-hue);--secondary-text-hue: calc(var(--base-hue) + 20);--background-lightness: 98%;--code-background-lightness: 85%;--primary-text-lightness: 20%;--secondary-text-lightness: 35%;--header-text-lightness: 10%;--border-lightness: 60%;--code-text-lightness: 20%;--card-background-lightness: 90%;--base-chroma: .01;--card-chroma: .03;--special-project-background-chroma: .04}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--base-hue: var(--blue-hue);--secondary-text-hue: calc(var(--base-hue) - 15);--background-lightness: 5%;--code-background-lightness: 5%;--primary-text-lightness: 76%;--secondary-text-lightness: 68%;--header-text-lightness: 85%;--border-lightness: 40%;--code-text-lightness: 80%;--card-background-lightness: 10%;--base-chroma: .05;--card-chroma: .1;--special-project-background-chroma: .12}}:root[data-theme=dark]{color-scheme:dark;--base-hue: var(--blue-hue);--secondary-text-hue: calc(var(--base-hue) - 15);--background-lightness: 5%;--code-background-lightness: 5%;--primary-text-lightness: 76%;--secondary-text-lightness: 68%;--header-text-lightness: 85%;--border-lightness: 40%;--code-text-lightness: 80%;--card-background-lightness: 10%;--base-chroma: .05;--card-chroma: .1;--special-project-background-chroma: .12}:root[data-theme=light]{color-scheme:light;--base-hue: var(--azure-hue);--secondary-text-hue: calc(var(--base-hue) + 20);--background-lightness: 98%;--code-background-lightness: 85%;--primary-text-lightness: 20%;--secondary-text-lightness: 35%;--header-text-lightness: 10%;--border-lightness: 60%;--code-text-lightness: 20%;--card-background-lightness: 90%;--base-chroma: .01;--card-chroma: .03;--special-project-background-chroma: .04}:root{--background-color: oklch(var(--background-lightness) var(--base-chroma) var(--base-hue));--code-background-color: oklch(var(--code-background-lightness) var(--base-chroma) var(--base-hue));--special-project-background-color: oklch(from var(--background-color) l var(--special-project-background-chroma) h);--primary-text-color: oklch(var(--primary-text-lightness) var(--base-chroma) var(--base-hue));--secondary-text-color: oklch(var(--secondary-text-lightness) var(--base-chroma) var(--secondary-text-hue));--header-text-color: oklch(from var(--primary-text-color) var(--header-text-lightness) c h);--code-text-color: oklch(from var(--primary-text-color) var(--code-text-lightness) c h);--card-background-color: oklch(var(--card-background-lightness) var(--card-chroma) var(--base-hue));--card-border-color: oklch(var(--border-lightness) var(--base-chroma) var(--base-hue))}:root{--scale: 1.3}@media(max-width:899px){:root{--scale: 1.2}}@media(min-width:900px){:root{--scale: 1.3}}:root{--base-size: 1rem;--size-0: var(--base-size);--size-1: calc(var(--scale) * var(--size-0));--size-2: calc(var(--scale) * var(--size-1));--size-3: calc(var(--scale) * var(--size-2));--size-neg-1: calc(var(--size-0) / var(--scale));--header-text-size: var(--size-3);--sub-header-text-size: var(--size-1);--primary-text-size: var(--size-0);--code-text-size: calc(.9 * var(--primary-text-size));--space-half: 4px;--space-x1: 8px;--space-x2: calc(var(--space-x1) * 2);--space-x3: calc(var(--space-x1) * 3);--space-x4: calc(var(--space-x1) * 4);--space-x5: calc(var(--space-x1) * 5);--space-x6: calc(var(--space-x1) * 6);--radius-small: 2px;--radius-medium: 4px;--radius-large: 8px}h1,h2,h3,h4,h5,h6{font-weight:800;color:var(--header-text-color)}h1{font-size:var(--header-text-size)}h2{font-size:var(--sub-header-text-size)}body{font-family:Helvetica,Arial,sans-serif,OpenMoji,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:var(--background-color);color:var(--primary-text-color);font-size:var(--primary-text-size)}.meta-info{color:var(--secondary-text-color)}code{font-family:ui-monospace,monospace;font-size:var(--code-text-size);color:var(--code-text-color);white-space:pre-wrap}pre{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--card-border-color) transparent}pre code{display:block;background-color:transparent;white-space:pre}article.essay{max-width:72ch}article.essay p{margin-bottom:var(--space-x3)}article.essay header{margin-bottom:var(--space-x6)}@media(max-width:899px){.main-grid{--global-column-padding: var(--space-x3);--global-row-padding: var(--space-x2);display:grid;grid-template-columns:1fr;grid-template-areas:"nav" "header" "content";gap:var(--space-x5)}.main-nav{grid-area:nav}.main-nav .nav-controls{padding-inline:var(--global-column-padding);padding-block:var(--global-row-padding);border-bottom:1px solid var(--card-border-color)}.main-header,.main-content{padding-inline:var(--global-column-padding);padding-block:var(--global-row-padding)}}@media(min-width:900px){.main-grid{--global-column-padding: var(--space-x3);--global-row-padding: var(--space-x3);display:grid;grid-template-columns:1fr minmax(auto,1024px) 1fr;grid-template-areas:".   header  ." "nav content .";gap:var(--space-x6);padding-inline:var(--global-column-padding);padding-block:var(--global-row-padding)}.main-nav{grid-area:nav;align-self:start;justify-self:end;position:sticky;top:var(--global-row-padding);width:180px}}.main-grid .main-header{grid-area:header}.main-grid .main-content{grid-area:content;display:flex;flex-direction:column;gap:var(--space-x6)}@media(max-width:899px){.main-nav .nav-links{justify-content:center;align-items:center}}.main-nav{display:flex;flex-direction:column;gap:var(--space-x2)}.main-nav .nav-controls{display:flex;flex-direction:row;gap:var(--space-x5);width:100%}.main-nav .nav-controls .action-group{display:flex;flex-direction:row;gap:var(--space-x1)}.main-nav .nav-controls #nav-toggle{margin-left:auto}.main-nav .nav-controls button{color:var(--secondary-text-color);background-color:transparent}.main-nav .nav-controls button svg{display:block}.main-nav .nav-controls button{padding:var(--space-half) var(--space-x2);border:1px solid oklch(from var(--secondary-text-color) l c h/.3);border-radius:var(--radius-medium)}.main-nav .nav-controls button:hover{color:var(--primary-text-color);border-color:var(--primary-text-color);background-color:var(--card-background-color)}.main-nav .nav-links{display:flex;flex-direction:column;gap:var(--space-x1)}.main-nav .nav-links a{display:block;padding:var(--space-x1) var(--space-x2);text-decoration:none;color:var(--secondary-text-color);border-radius:var(--radius-small)}.main-nav .nav-links a:hover{color:var(--primary-text-color);background-color:var(--card-background-color)}@media(max-width:899px){.main-nav .nav-links{display:none}}@media(min-width:900px){.main-nav .nav-links{display:flex}}@media(max-width:899px){.main-nav[data-nav=open] .nav-links{display:flex}}@media(min-width:900px){.main-nav[data-nav=closed] .nav-links,.main-nav[data-nav=closed] .action-group{display:none}}.main-header,.now-section{display:flex;flex-direction:column;gap:var(--space-x2)}.now-section ul{display:flex;flex-direction:column;gap:var(--space-x1)}.now-section ul li{list-style-position:outside}.now-section ul li::marker{content:"- ";color:var(--secondary-text-color)}@media(max-width:899px){.pinned-projects .projects-grid{display:grid;grid-template-columns:minmax(0,1fr)}}@media(min-width:900px){.pinned-projects .projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}.pinned-projects{display:flex;flex-direction:column;gap:var(--space-x4)}.pinned-projects .projects-grid{gap:var(--space-x3)}.pinned-projects .project{display:flex;flex-direction:column;padding:var(--space-x3);gap:var(--space-x2)}.pinned-projects .project .project-description{flex-grow:1}.pinned-projects .project{border:1px solid var(--card-border-color);border-radius:var(--radius-large)}.pinned-projects .project .project-header{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:var(--space-x2)}.pinned-projects #polymede{background-color:var(--special-project-background-color)}main,.main-header{--base-link: var(--purple-hue);--link-color: oklch(var(--primary-text-lightness) .13 var(--base-link));--visited-link-color: oklch(from var(--link-color) calc(l*.9) c calc(h - 10) );--hover-link-color: oklch(from var(--link-color) l calc(c*1.4) h);--link-decoration-color: oklch(from var(--link-color) l c h / .3);--base-personal-link: var(--purple-hue);--personal-link-color: oklch(var(--primary-text-lightness) .13 var(--base-personal-link));--visited-personal-link-color: oklch(from var(--personal-link-color) calc(l*.9) c calc(h - 10) );--hover-personal-link-color: oklch(from var(--personal-link-color) l calc(c*1.4) h);--personal-link-decoration-color: oklch(from var(--personal-link-color) l c h / .3)}main a,.main-header a{color:var(--link-color);text-decoration-color:var(--link-decoration-color)}main a:visited,.main-header a:visited{color:var(--visited-link-color);text-decoration-color:var(--link-decoration-color)}main a:hover,.main-header a:hover{color:var(--hover-link-color);text-decoration-color:var(--hover-link-color)}main a.personal,.main-header a.personal{color:var(--personal-link-color);text-decoration-color:var(--personal-link-decoration-color)}main a.personal:visited,.main-header a.personal:visited{color:var(--visited-personal-link-color);text-decoration-color:var(--personal-link-decoration-color)}main a.personal:hover,.main-header a.personal:hover{color:var(--hover-personal-link-color);text-decoration-color:var(--hover-personal-link-color)}
