:root{--bg: #fbfbfd;--surface: #ffffff;--text: #1c1c26;--text-muted: #5d5d6e;--text-faint: #9494a6;--border: #e6e6ee;--accent: #7c3aed;--accent-strong:#6d28d9;--accent-soft: #ede9fe;--accent-glow: rgba(124, 58, 237, 0.25)}@media(prefers-color-scheme: dark){:root{--bg: #17181c;--surface: #1f2026;--text: #e3e4ea;--text-muted: #a3a6b3;--text-faint: #6f7280;--border: #2e2f38;--accent: #a78bfa;--accent-strong:#c4b5fd;--accent-soft: #2b2440;--accent-glow: rgba(167, 139, 250, 0.3)}}.rounded-social-buttons{text-align:center;margin-top:.8em}.rounded-social-buttons .social-button{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;margin:0 .2rem .25rem;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-muted);font-size:1rem;text-decoration:none;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.rounded-social-buttons .social-button:hover,.rounded-social-buttons .social-button:focus{color:var(--accent);border-color:var(--accent);box-shadow:0 2px 12px var(--accent-glow);transform:translateY(-2px)}.ProjectContainer{max-width:800px;margin:0 auto;padding:2rem}.gallery{display:flex;flex-wrap:wrap;margin:-1rem -1rem}.projectTile{flex:1 0 200px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--border);height:200px;width:100%;overflow:hidden;display:table;transition:transform .15s ease,box-shadow .15s ease}.projectTile:hover{transform:translateY(-3px);box-shadow:0 6px 20px var(--accent-glow)}.projectTile a{display:table-cell;vertical-align:middle;text-align:center;cursor:pointer}.projectTile a span{display:flex;justify-content:center}.projectTile a span h2{font-size:1.5rem;padding:1rem;color:var(--text)}.projectTile:hover a span h2{display:none}.projectTile a span p{display:none}.projectTile:hover a span p{font-size:1.2rem;display:flex;padding:1rem;color:var(--text)}@media screen and (max-width: 450px)and (max-width: 450px){.projectTile{height:80px}.projectTile a span h2{font-size:1.2rem}.projectTile:hover a span p{display:none}.projectTile:hover a span h2{display:flex}}@media screen and (max-width: 660px)and (max-width: 660px){.projectTile{height:100px}.projectTile a span h2{font-size:1.3rem}.projectTile:hover a span p{display:none}.projectTile:hover a span h2{display:flex}}@supports(display: grid){.gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));grid-gap:2rem}.gallery,.gallery-item{margin:0}}.profile{border:3px solid var(--surface);border-radius:50%;aspect-ratio:1/1;object-fit:cover;margin-left:1.2rem;margin-right:.2rem;margin-bottom:1rem;box-shadow:0 0 0 1px var(--border),0 6px 24px rgba(0,0,0,.08)}.left{float:left;margin-left:.2rem;margin-right:1.2rem}.right{float:right}@media screen and (max-width: 450px){.profile{width:40%}}footer{clear:both;margin-top:4em;padding-top:1.6em;border-top:1px solid var(--border)}.links a{margin-right:1.4em}.copy{color:var(--text-faint);text-align:center;font-size:.95em;margin-bottom:.4em}html{height:100%;scroll-behavior:smooth}body{max-width:760px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0 auto;line-height:1.75;font-size:19px;color:var(--text);background-color:var(--bg);padding:3em 1.5em 2em;min-height:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media screen and (max-width: 660px){body{padding:2em 1.25em 1.5em;font-size:17px}}::selection{background:var(--accent-soft);color:var(--text)}h1,h2,h3,h4,h5,h6{font-family:"Lato","Helvetica Neue",Helvetica,sans-serif;font-weight:900;line-height:1.35;margin:0;letter-spacing:-0.01em;color:var(--text)}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-strong)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}p a,li a,.cv a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent-glow);text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .15s ease,color .15s ease}p a:hover,li a:hover,.cv a:hover{color:var(--accent);text-decoration-color:var(--accent)}figure{margin:0}img{max-width:100%;border-radius:6px}pre,code{overflow:auto;font-size:14.25px;border-radius:6px;border:1px solid var(--border);background:var(--surface)}pre>code,code>code{border:none}pre{padding:1em 1.2em}code{padding:.15em .35em}blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:1.2em;color:var(--text-muted);font-style:italic}.headline,.post-headline{font-size:1.9em;margin-bottom:.4em}.pagination{margin:2.5em 0;text-align:center}.pagination a,.pagination span{padding:.45em 1em;border:1px solid var(--border);border-radius:6px;margin:0 .15em;background-color:rgba(0,0,0,0);display:inline-block;font-size:.85em}.pagination a:hover{border-color:var(--accent);color:var(--accent)}.video{width:100%;height:360px;border-radius:8px}@media screen and (max-width: 1000px){.video{height:300px}}@media screen and (max-width: 660px){.video{height:180px}}.divider{margin:1em}.scroll{white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.scroll::-webkit-scrollbar{display:none}.simplebutton{display:inline-block;outline:none;cursor:pointer;font-size:.85em;font-weight:600;border-radius:8px;padding:.7em 1.3em;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.simplebutton:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 2px 10px var(--accent-glow)}.article-list{margin:1em 0}.site-header{margin-bottom:3em;padding-bottom:1.4em;border-bottom:1px solid var(--border);position:relative}.site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg, var(--accent), var(--accent-glow))}.site-title{font-size:2.1em;font-weight:900;letter-spacing:-0.02em;line-height:1.2;margin-bottom:0}.site-title a{color:var(--text)}.site-title a:hover{color:var(--accent)}.site-description{font-size:.78em;color:var(--text-muted);font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:.3em 0 1.4em}.links a{font-size:.85em;font-weight:600;color:var(--text-muted);padding-bottom:4px;border-bottom:2px solid rgba(0,0,0,0);transition:color .15s ease,border-color .15s ease}.links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.links a.active{color:var(--text);border-bottom-color:var(--accent)}.page-photo{margin:0 0 2em}.page-photo img{width:100%;max-height:300px;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px var(--border),0 6px 24px rgba(0,0,0,.06);display:block}.page-photo figcaption{font-size:.78em;color:var(--text-faint);margin-top:.6em;text-align:center}.photo-gallery{clear:both;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:14px;margin-top:2.5em}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px var(--border),0 6px 24px rgba(0,0,0,.06);display:block;transition:transform .15s ease,box-shadow .15s ease}.photo-gallery img:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--border),0 10px 28px var(--accent-glow)}.photo-gallery figcaption{font-size:.75em;color:var(--text-faint);margin-top:.4em;text-align:center}.cv h2{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.74em;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:700;margin-top:2.4em;margin-bottom:1.1em;padding-bottom:.4em;border-bottom:1px solid var(--border)}.cv-entry{margin-bottom:1.6em}.cv-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5em}.cv-role{font-weight:600;font-size:.95em}.cv-date{font-size:.78em;color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.cv-org{font-size:.85em;color:var(--text-muted);margin-bottom:.3em}.cv ul{margin:.35em 0 0;padding-left:1.3em}.cv ul li{font-size:.87em;margin-bottom:.25em;color:var(--text)}.cv ul li::marker{color:var(--accent)}.cv-two-col{display:grid;grid-template-columns:1fr 1fr;gap:2em;margin-top:.5em}@media screen and (max-width: 660px){.cv-two-col{grid-template-columns:1fr;gap:1em}}.cv hr{border:none;border-top:1px solid var(--border);margin:2em 0 0}.cv h3{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.7em;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-weight:600;margin-top:1.6em;margin-bottom:.8em}.pub-list{display:flex;flex-direction:column;gap:1.1em}.pub-item{display:flex;gap:1.2em;align-items:flex-start}.pub-year{font-size:.78em;color:var(--accent);font-weight:700;min-width:2.9em;padding-top:.2em;font-variant-numeric:tabular-nums}.pub-venue{font-size:.8em;color:var(--text-muted)}.media-list{display:flex;flex-direction:column;gap:1.4em}.media-item{border-left:3px solid var(--accent);padding-left:1.1em;transition:border-color .15s ease}.media-source{display:block;font-size:.8em;color:var(--text-faint);margin-top:.15em}.media-desc{font-size:.87em;margin:.3em 0 0;color:var(--text-muted)}article h3{margin-top:2.2em;margin-bottom:.5em;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.74em;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:700}article ul{margin:.4em 0 1em;padding-left:1.3em}article ul li{margin-bottom:.4em}article ul li::marker{color:var(--accent)}@font-face{font-family:"Lato";font-style:normal;font-weight:900;src:local("Lato Black"),local("Lato-Black"),url(fonts/R4a6fty3waPci7C44H8AjvY6323mHUZFJMgTvxaG2iE.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Lato";font-style:normal;font-weight:900;src:local("Lato Black"),local("Lato-Black"),url(fonts/tI4j516nok_GrVf4dhunkg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215}@font-face{font-family:"Work Sans";font-style:normal;font-weight:400;src:local("Work Sans"),local("WorkSans-Regular"),url(fonts/WB2LNay3rHMH1zU8UJnUHBJtnKITppOI_IvcXXDNrsc.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Work Sans";font-style:normal;font-weight:400;src:local("Work Sans"),local("WorkSans-Regular"),url(fonts/ElUAY9q6T0Ayx4zWzW63VFtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215}pre.highlight{background-color:#fff;padding:7px 7px 7px 10px;-moz-box-shadow:1px 1px rgba(0,0,0,.1);-webkit-box-shadow:1px 1px rgba(0,0,0,.1);box-shadow:1px 1px rgba(0,0,0,.1);border-radius:3px;margin:20px 0 20px 0;overflow:auto}code{font-family:"Bitstream Vera Sans Mono","Courier",monospace;color:#000;background-color:#fff;border-radius:1px}.highlight,.highlight .w{color:#586e75}.highlight .err{color:#002b36;background-color:#dc322f}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#657b83}.highlight .cp{color:#b58900}.highlight .nt{color:#b58900}.highlight .o,.highlight .ow{color:#93a1a1}.highlight .p,.highlight .pi{color:#93a1a1}.highlight .gi{color:#859900}.highlight .gd{color:#dc322f}.highlight .gh{color:#268bd2;background-color:#002b36;font-weight:bold}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#6c71c4}.highlight .kc{color:#cb4b16}.highlight .kt{color:#cb4b16}.highlight .kd{color:#cb4b16}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#859900}.highlight .sr{color:#2aa198}.highlight .si{color:#d33682}.highlight .se{color:#d33682}.highlight .nn{color:#b58900}.highlight .nc{color:#b58900}.highlight .no{color:#b58900}.highlight .na{color:#268bd2}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#859900}.highlight .ss{color:#859900}@media(prefers-color-scheme: dark){pre.highlight{background-color:#263238;padding:7px 7px 7px 10px;-moz-box-shadow:3px 3px rgba(0,0,0,.1);-webkit-box-shadow:3px 3px rgba(0,0,0,.1);box-shadow:3px 3px rgba(0,0,0,.1);border-radius:3px;margin:20px 0 20px 0;overflow:auto}code{font-family:"Bitstream Vera Sans Mono","Courier",monospace;color:#c9d1d9;background-color:#263238;border-radius:1px}.highlight .c,.highlight .cd{color:#75715e;font-style:italic}.highlight .cm{color:#75715e;font-style:italic}.highlight .c1{color:#75715e;font-style:italic}.highlight .cp{color:#75715e;font-weight:bold}.highlight .cs{color:#75715e;font-weight:bold;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .gi{color:#fff;background-color:#324932}.highlight .gd{color:#fff;background-color:#493131}.highlight .ge{color:#000;font-style:italic}.highlight .gr{color:#a00}.highlight .gt{color:#a00}.highlight .gh{color:#999}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .k,.highlight .kv{color:#66d9ef;font-weight:bold}.highlight .kc{color:#66d9ef;font-weight:bold}.highlight .kd{color:#66d9ef;font-weight:bold}.highlight .kp{color:#66d9ef;font-weight:bold}.highlight .kr{color:#66d9ef;font-weight:bold}.highlight .kt{color:#66d9ef;font-weight:bold}.highlight .kn{color:#f92672;font-weight:bold}.highlight .ow{color:#f92672;font-weight:bold}.highlight .o{color:#f92672;font-weight:bold}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .il{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .m,.highlight .mb,.highlight .mx{color:#ae81ff}.highlight .se{color:#ae81ff}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nc{color:#a6e22e;font-weight:bold}.highlight .nd{color:#a6e22e;font-weight:bold}.highlight .ne{color:#a6e22e;font-weight:bold}.highlight .nf{color:#a6e22e;font-weight:bold}.highlight .no{color:#66d9ef}.highlight .bp{color:#f8f8f2}.highlight .nb{color:#f8f8f2}.highlight .ni{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .nv{color:#f8f8f2}.highlight .w{color:#f8f8f2}.highlight .nl{color:#f8f8f2;font-weight:bold}.highlight .nt{color:#f92672}.highlight{color:#f8f8f2;background-color:#49483e}}/*# sourceMappingURL=main.css.map */