:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Anonymous Pro", monospace;--heading:"Anonymous Pro", monospace;--mono:"Anonymous Pro", monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{width:100%;min-height:100svh}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.desktop-bg{background-position:bottom;background-repeat:no-repeat;background-size:cover;place-items:center;width:100%;min-height:100svh;display:grid}.desktop-content{color:#fff;text-shadow:0 .25rem 1.125rem #0009;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;padding:1.5rem 2rem;display:flex;position:relative}.about-me-blurb{width:auto;max-width:42vw;height:clamp(12rem,30vh,20rem);display:block;position:absolute;top:60%;right:2rem;transform:translateY(-50%)}.portfolio-header{width:100%}.programs-panel{flex-direction:column;align-self:flex-start;gap:.875rem;margin-top:1.25rem;display:flex}.program-launcher{cursor:pointer;background:0 0;border:0;padding-block:.75rem;transition:transform .2s;display:inline-flex}.program-launcher:hover{transform:translateY(-.125rem)}.program-launcher img{width:8rem;height:auto;display:block}.program-modal-overlay{z-index:1000;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.program-modal-window{color:#10151f;width:min(52rem,100vw - 2rem);max-height:calc(100svh - 2rem);text-shadow:none;background:linear-gradient(#f7f8fc 0%,#eef1f8 100%);border:.0625rem solid #979797;border-radius:0;overflow:hidden;box-shadow:0 1.25rem 3rem #00000059,inset 0 0 0 .0625rem #fff9}.program-modal-header{background:linear-gradient(#dfe6f5 0%,#cfd8eb 100%);border-bottom:.0625rem solid #94a8dcd9;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.program-modal-controls{flex:none;align-items:center;gap:.375rem;min-width:3.5rem;display:inline-flex}.program-modal-control{border-radius:999rem;width:.75rem;height:.75rem;display:inline-block;box-shadow:inset 0 0 0 .0625rem #00000014}.program-modal-control-close{background:#ff5f57}.program-modal-control-min{background:#febc2e}.program-modal-control-max{background:#28c840}.program-modal-header h2{letter-spacing:.02em;text-transform:uppercase;color:#10151f;text-align:center;flex:auto;margin:0;font-size:1rem;font-weight:700}.program-modal-close{cursor:pointer;color:#10151f;opacity:.8;background:0 0;border:0;flex:none;padding:0;font-size:1.5rem;line-height:1}.program-modal-body{background:linear-gradient(#ffffff6b 0%,#ffffffe6 100%);max-height:calc(100svh - 8rem);padding:1.25rem;line-height:1.5;overflow-y:auto}.program-content{gap:1rem;display:grid}.program-modal-body:has(.am){background:#0c1b42;padding:0}.program-modal-body:has(.projects-root){background:#0c1b42;padding:0}.am{color:#fff;background:#0c1b42;font-family:Anonymous Pro,monospace}.am-hero{aspect-ratio:815/541;border-bottom:none;width:100%;overflow:hidden}.am-hero-img{object-fit:cover;width:100%;height:100%;display:block}.am-hero-placeholder{background:linear-gradient(135deg,#0f255c 0%,#172d67 100%);width:100%;height:100%}.am-mid{grid-template-columns:1fr 1fr;grid-template-areas:"label edu-label""tech edu";align-items:stretch;gap:.4375rem .625rem;padding:.875rem .625rem 0;display:grid}.am-label-bar{border:.1875rem solid #c9dc23;border-width:.0625rem .1875rem .1875rem .0625rem;justify-content:center;align-items:center;padding:.4375rem .875rem;display:flex}.am-label-bar-tech{grid-area:label}.am-label-bar-edu{grid-area:edu-label}.am-label-text{letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.am-tech-panel{grid-area:tech}.am-edu-panel{grid-area:edu}.am-panel{background:#0f255c;border:.5px solid #94a8dc;padding:.875rem 1rem}.am-panel-heading{letter-spacing:.1em;text-transform:uppercase;color:#94a8dc;margin:0 0 .75rem;font-size:.6875rem;font-weight:700}.am-skill-group+.am-skill-group{margin-top:.625rem}.am-skill-cat{letter-spacing:.08em;text-transform:uppercase;color:#c9dc23;margin:0 0 .25rem;font-size:.625rem;font-weight:600}.am-skill-list{flex-wrap:wrap;gap:.1875rem .625rem;margin:0;padding:0;list-style:none;display:flex}.am-skill-list li{color:#ffffffd1;font-size:.8125rem}.am-edu-entry+.am-edu-entry{margin-top:.875rem}.am-edu-degree{color:#fff;margin:0 0 .1875rem;font-size:.875rem;font-weight:600}.am-edu-school{color:#ffffffb8;margin:0 0 .1875rem;font-size:.8125rem}.am-edu-years{color:#94a8dc;margin:0 0 .1875rem;font-size:.75rem}.am-edu-notes{color:#ffffff80;margin:.25rem 0 0;font-size:.6875rem;line-height:1.5}.am-bottom{flex-direction:column;gap:.4375rem;padding:.625rem;display:flex}.am-fun-list{flex-wrap:wrap;gap:.3125rem 1.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.am-fun-list li{color:#ffffffd1;font-size:.875rem}.am-fun-list li:before{content:"– ";color:#94a8dc}.am-bio{border-top:.5px solid #94a8dc4d;flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.am-bio-para{color:#ffffffbf;margin:0;font-size:.75rem;line-height:1.6}@media (width<=34rem){.am-mid{grid-template-columns:1fr;grid-template-areas:"label""tech""edu-label""edu"}}.program-lead{margin:0;font-weight:500}.program-list{margin:0;padding-left:1.25rem}.projects-grid-wrapper{padding:1.25rem}.projects-grid{gap:.75rem;display:grid}.project-card{cursor:pointer;background:#fff;border-radius:0;padding:.875rem}.project-card h3{margin:0;font-size:1rem;line-height:1.3}.project-card p{margin:.5rem 0 0}.project-tech-list{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.project-tech-list li{background:#e8ebf7;border-radius:0;padding:.1875rem .5rem;font-size:.8125rem}.project-card:first-child{border:.0625rem solid #ec008c}.project-card:first-child h3{color:#ec008c}.project-card:first-child .project-tech-list li{background:#e3c7d8}.project-detail{color:#fff;flex-direction:column;min-height:100%;font-family:Anonymous Pro,monospace;display:flex}.project-detail-nav{z-index:1;background:#0c1b42;border-bottom:.5px solid #94a8dc26;flex-direction:row;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.project-detail-back{color:#94a8dc;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-family:Anonymous Pro,monospace;font-size:.75rem;transition:color .15s}.project-detail-back:hover{color:#fff}.project-detail-nav-list{flex-flow:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.project-detail-nav-btn{color:#ffffff59;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.25rem .75rem;font-family:Anonymous Pro,monospace;font-size:.625rem;font-weight:700;transition:color .15s}.project-detail-nav-btn:hover{color:#ffffffb3}.project-detail-nav-btn.is-active{color:var(--project-accent)}.project-detail-body{padding:1.5rem}.project-detail-title{color:var(--project-accent);margin:0 0 .625rem;font-family:Anonymous Pro,monospace;font-size:1.25rem;font-weight:700}.project-detail-type{border:.5px solid var(--project-accent);color:var(--project-accent);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;margin-bottom:1.5rem;padding:.2rem .75rem;font-size:.625rem;font-weight:700;display:inline-block}.project-detail-hero{object-fit:cover;width:100%;height:auto;margin-bottom:1.5rem;display:block}.project-detail-meta{border:.5px solid #94a8dc33;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:1rem;margin:0 0 2rem;padding:1rem;display:grid}.project-detail-meta-item dt{letter-spacing:.12em;text-transform:uppercase;color:#94a8dc;margin-bottom:.25rem;font-size:.5625rem;font-weight:700}.project-detail-meta-item dd{color:#fffc;margin:0;font-size:.8125rem}.project-detail-section{padding-bottom:2.5rem}.project-detail-section+.project-detail-section{border-top:.5px solid #94a8dc33;padding-top:2rem}.project-detail-section-heading{letter-spacing:.14em;text-transform:uppercase;color:#94a8dc;margin:0 0 .75rem;font-family:Anonymous Pro,monospace;font-size:.6875rem;font-weight:700}.project-detail-section-img{object-fit:cover;width:100%;height:auto;margin-bottom:1rem;display:block}.project-detail-section-para{color:#ffffffc7;margin:0 0 .75rem;font-size:.875rem;line-height:1.7}.project-detail-placeholder{color:#ffffff40;margin:0;font-size:.8125rem;font-style:italic}.project-links{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.project-links a{color:#244de0;font-weight:500;text-decoration:none}.project-links a:hover{text-decoration:underline}.portfolio-nav{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.portfolio-nav h1{white-space:nowrap;margin:0;font-size:clamp(1.1rem,1.3vw,1.4rem)}.cta-list{flex-wrap:nowrap;align-items:center;gap:.625rem;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.cta-btn{color:#fff;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;text-decoration:none;transition:transform .2s,background-color .2s;display:inline-flex}.cta-btn:hover{background:0 0;transform:translateY(-.0625rem)}.cta-btn:focus,.cta-btn:focus-visible{box-shadow:none;outline:none}.cta-btn img{width:auto;height:1.875rem;display:block}@media (width<=43.75rem){.desktop-content{padding:1rem}.about-me-blurb{width:calc(100% - 2rem);max-width:none;height:auto;top:90%;left:1rem;right:1rem;transform:translateY(-50%)}.programs-panel{gap:.625rem;margin-top:.875rem}.portfolio-nav{gap:.5rem}.portfolio-nav h1{font-size:clamp(.95rem,4vw,1.1rem)}.cta-list{gap:.375rem}.cta-btn img{height:1.5rem}}.counter{color:var(--accent);background:var(--accent-bg);border:.125rem solid #0000;border-radius:.3125rem;margin-bottom:1.5rem;padding:.3125rem .625rem;font-size:1rem;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:10.625rem;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:1.75rem;top:2.125rem;transform:perspective(125rem)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:1.625rem;top:6.6875rem;transform:perspective(125rem)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:1.5625rem;display:flex}@media (width<=64rem){#center{gap:1.125rem;padding:2rem 1.25rem 1.5rem}}#next-steps{border-top:.0625rem solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:2rem}@media (width<=64rem){#next-steps>div{padding:1.5rem 1.25rem}}#next-steps .icon{width:1.375rem;height:1.375rem;margin-bottom:1rem}@media (width<=64rem){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:.0625rem solid var(--border)}@media (width<=64rem){#docs{border-right:none;border-bottom:.0625rem solid var(--border)}}#next-steps ul{gap:.5rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:1.125rem}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:1rem;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:1.125rem;height:1.125rem}@media (width<=64rem){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:1.25rem}#next-steps ul li{flex:calc(50% - .5rem)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:.0625rem solid var(--border);height:5.5rem}@media (width<=64rem){#spacer{height:3rem}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:.3125rem solid #0000;position:absolute;top:-.28125rem}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
