:root{--bg_h:#f9f5d7;--bg:#fbf1c7;--bg_s:#f2e5bc;--bg1:#ebdbb2;--bg2:#d5c4a1;--bg3:#bdae93;--bg4:#a89984;--fg:#282828;--fg1:#3c3836;--fg2:#504945;--fg3:#665c54;--fg4:#7c6f64;--red:#9d0006;--green:#79740e;--yellow:#b57614;--blue:#076678;--purple:#8f3f71;--aqua:#427b58;--orange:#af3a03;--gray:#928374;--red-dim:#cc2412;--green-dim:#98971a;--yellow-dim:#d79921;--blue-dim:#458598;--purple-dim:#b16286;--aqua-dim:#689d6a;--orange-dim:#d65d0e;--gray-dim:#7c6f64}.darkmode{--bg_h:#1d2021;--bg:#282828;--bg_s:#32302f;--bg1:#3c3836;--bg2:#504945;--bg3:#665c54;--bg4:#7c6f64;--fg:#fbf1c7;--fg1:#ebdbb2;--fg2:#d5c4a1;--fg3:#bdae93;--fg4:#a89984;--red:#fb4934;--green:#b8bb26;--yellow:#fabd2f;--blue:#83a598;--purple:#d3869b;--aqua:#8ec07c;--gray:#928374;--orange:#fe8019;--red-dim:#cc2412;--green-dim:#98971a;--yellow-dim:#d79921;--blue-dim:#458588;--purple-dim:#b16286;--aqua-dim:#689d6a;--gray-dim:#a89984;--orange-dim:#d65d0e}@font-face{font-display:swap;font-family:latin modern mono;font-style:normal;font-weight:700;src:url(../fonts/lmmono-bold.woff)}@font-face{font-display:swap;font-family:latin modern mono;font-style:italic;font-weight:700;src:url(../fonts/lmmono-bolditalic.woff)}@font-face{font-display:swap;font-family:latin modern mono;font-style:italic;font-weight:400;src:url(../fonts/lmmono-italic.woff)}@font-face{font-display:swap;font-family:latin modern mono;font-style:normal;font-weight:400;src:url(../fonts/lmmono-normal.woff)}@font-face{font-display:swap;font-family:latin modern roman;font-style:normal;font-weight:700;src:url(../fonts/lmroman-bold.woff)}@font-face{font-display:swap;font-family:latin modern roman;font-style:italic;font-weight:700;src:url(../fonts/lmroman-bolditalic.woff)}@font-face{font-display:swap;font-family:latin modern roman;font-style:italic;font-weight:400;src:url(../fonts/lmroman-italic.woff)}@font-face{font-display:swap;font-family:latin modern roman;font-style:normal;font-weight:400;src:url(../fonts/lmroman-normal.woff)}.bg{color:#3c3836;background-color:#fbf1c7}.chroma{color:#3c3836;background-color:#fbf1c7}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#e1d8b3}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#9d9b9a}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#9d9b9a}.chroma .line{display:flex}.chroma .k{color:#af3a03}.chroma .kc{color:#af3a03}.chroma .kd{color:#af3a03}.chroma .kn{color:#af3a03}.chroma .kp{color:#af3a03}.chroma .kr{color:#af3a03}.chroma .kt{color:#b57614}.chroma .na{color:#79740e;font-weight:700}.chroma .nb{color:#b57614}.chroma .no{color:#d3869b}.chroma .ni{color:#b57614}.chroma .ne{color:#fb4934}.chroma .nf{color:#b57614}.chroma .nl{color:#9d0006}.chroma .nt{color:#9d0006}.chroma .s{color:#79740e}.chroma .sa{color:#79740e}.chroma .sb{color:#79740e}.chroma .sc{color:#79740e}.chroma .dl{color:#79740e}.chroma .sd{color:#79740e}.chroma .s2{color:#79740e}.chroma .se{color:#79740e}.chroma .sh{color:#79740e}.chroma .si{color:#79740e}.chroma .sx{color:#79740e}.chroma .sr{color:#79740e}.chroma .s1{color:#79740e}.chroma .ss{color:#076678}.chroma .m{color:#8f3f71}.chroma .mb{color:#8f3f71}.chroma .mf{color:#8f3f71}.chroma .mh{color:#8f3f71}.chroma .mi{color:#8f3f71}.chroma .il{color:#8f3f71}.chroma .mo{color:#8f3f71}.chroma .o{color:#af3a03}.chroma .ow{color:#af3a03}.chroma .c{color:#928374;font-style:italic}.chroma .ch{color:#928374;font-style:italic}.chroma .cm{color:#928374;font-style:italic}.chroma .c1{color:#928374;font-style:italic}.chroma .cs{color:#928374;font-style:italic}.chroma .cp{color:#427b58}.chroma .cpf{color:#427b58;font-style:italic}.chroma .gd{color:#282828;background-color:#9d0006}.chroma .ge{color:#076678;text-decoration:underline}.chroma .gr{background-color:#9d0006;font-weight:700}.chroma .gh{color:#79740e;font-weight:700}.chroma .gi{color:#282828;background-color:#79740e}.chroma .go{color:#504945}.chroma .gu{color:#79740e;font-weight:700}.chroma .gt{background-color:#3c3836;font-weight:700}.darkmode{}.darkmode .bg{color:#ebdbb2;background-color:#282828}.darkmode .chroma{color:#ebdbb2;background-color:#282828}.darkmode .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.darkmode .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.darkmode .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.darkmode .chroma .hl{background-color:#3d3d3d}.darkmode .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#756d59}.darkmode .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#756d59}.darkmode .chroma .line{display:flex}.darkmode .chroma .k{color:#fe8019}.darkmode .chroma .kc{color:#fe8019}.darkmode .chroma .kd{color:#fe8019}.darkmode .chroma .kn{color:#fe8019}.darkmode .chroma .kp{color:#fe8019}.darkmode .chroma .kr{color:#fe8019}.darkmode .chroma .kt{color:#fabd2f}.darkmode .chroma .na{color:#b8bb26;font-weight:700}.darkmode .chroma .nb{color:#fabd2f}.darkmode .chroma .no{color:#d3869b}.darkmode .chroma .ni{color:#fabd2f}.darkmode .chroma .ne{color:#fb4934}.darkmode .chroma .nf{color:#fabd2f}.darkmode .chroma .nl{color:#fb4934}.darkmode .chroma .nt{color:#fb4934}.darkmode .chroma .s{color:#b8bb26}.darkmode .chroma .sa{color:#b8bb26}.darkmode .chroma .sb{color:#b8bb26}.darkmode .chroma .sc{color:#b8bb26}.darkmode .chroma .dl{color:#b8bb26}.darkmode .chroma .sd{color:#b8bb26}.darkmode .chroma .s2{color:#b8bb26}.darkmode .chroma .se{color:#b8bb26}.darkmode .chroma .sh{color:#b8bb26}.darkmode .chroma .si{color:#b8bb26}.darkmode .chroma .sx{color:#b8bb26}.darkmode .chroma .sr{color:#b8bb26}.darkmode .chroma .s1{color:#b8bb26}.darkmode .chroma .ss{color:#83a598}.darkmode .chroma .m{color:#d3869b}.darkmode .chroma .mb{color:#d3869b}.darkmode .chroma .mf{color:#d3869b}.darkmode .chroma .mh{color:#d3869b}.darkmode .chroma .mi{color:#d3869b}.darkmode .chroma .il{color:#d3869b}.darkmode .chroma .mo{color:#d3869b}.darkmode .chroma .o{color:#fe8019}.darkmode .chroma .ow{color:#fe8019}.darkmode .chroma .c{color:#928374;font-style:italic}.darkmode .chroma .ch{color:#928374;font-style:italic}.darkmode .chroma .cm{color:#928374;font-style:italic}.darkmode .chroma .c1{color:#928374;font-style:italic}.darkmode .chroma .cs{color:#928374;font-style:italic}.darkmode .chroma .cp{color:#8ec07c}.darkmode .chroma .cpf{color:#8ec07c;font-style:italic}.darkmode .chroma .gd{color:#282828;background-color:#fb4934}.darkmode .chroma .ge{color:#83a598;text-decoration:underline}.darkmode .chroma .gr{background-color:#fb4934;font-weight:700}.darkmode .chroma .gh{color:#b8bb26;font-weight:700}.darkmode .chroma .gi{color:#282828;background-color:#b8bb26}.darkmode .chroma .go{color:#504945}.darkmode .chroma .gu{color:#b8bb26;font-weight:700}.darkmode .chroma .gt{background-color:#fb4934;font-weight:700}:root{--bg_h:#f9f5d7;--bg:#fbf1c7;--bg_s:#f2e5bc;--bg1:#ebdbb2;--bg2:#d5c4a1;--bg3:#bdae93;--bg4:#a89984;--fg:#282828;--fg1:#3c3836;--fg2:#504945;--fg3:#665c54;--fg4:#7c6f64;--red:#9d0006;--green:#79740e;--yellow:#b57614;--blue:#076678;--purple:#8f3f71;--aqua:#427b58;--orange:#af3a03;--gray:#928374;--red-dim:#cc2412;--green-dim:#98971a;--yellow-dim:#d79921;--blue-dim:#458598;--purple-dim:#b16286;--aqua-dim:#689d6a;--orange-dim:#d65d0e;--gray-dim:#7c6f64}.darkmode{--bg_h:#1d2021;--bg:#282828;--bg_s:#32302f;--bg1:#3c3836;--bg2:#504945;--bg3:#665c54;--bg4:#7c6f64;--fg:#fbf1c7;--fg1:#ebdbb2;--fg2:#d5c4a1;--fg3:#bdae93;--fg4:#a89984;--red:#fb4934;--green:#b8bb26;--yellow:#fabd2f;--blue:#83a598;--purple:#d3869b;--aqua:#8ec07c;--gray:#928374;--orange:#fe8019;--red-dim:#cc2412;--green-dim:#98971a;--yellow-dim:#d79921;--blue-dim:#458588;--purple-dim:#b16286;--aqua-dim:#689d6a;--gray-dim:#a89984;--orange-dim:#d65d0e}:root{--bg:#fff4e3 !important}body{background-color:var(--bg)}.home .home-section-card{max-width:1280px;margin:2rem auto;padding:1.5rem 1.5rem 1rem;background:linear-gradient(to bottom,#fefafc,#fff);background-color:rgba(177,98,134,6%);border-left:4px solid rgba(177,98,134,.25);border-radius:18px 18px 12px 12px;box-shadow:0 3px 8px rgba(0,0,0,3%)}.home .home-content{font-size:1rem;line-height:1.7;color:#2b2b2b;font-family:lora,serif}.home .home-content p{margin-bottom:1.1rem;line-height:1.7}.home .home-content ul{list-style:none;padding-left:1.2rem;margin-top:.5rem;margin-bottom:1rem}.home .home-content ul li{position:relative;margin-bottom:.4rem;padding-left:1.2rem;font-size:.96rem}.home .home-content ul li::before{content:"➝";position:absolute;left:0;color:#8c4d67;font-weight:700}.home .home-content a{text-decoration:underline;text-underline-offset:2px;color:inherit}.home .home-content a:hover{color:#b16286}.home .home-content h3 a{text-decoration:none;color:inherit}.home .home-content h3{font-family:lora,serif;font-size:1.3rem;font-weight:600;color:#2c2c2c;border-bottom:1px solid #e3d4db;padding-bottom:.2rem;margin-top:2.2rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.icon-links.vertical{display:flex;flex-direction:column;gap:.7rem;padding-top:.2rem;margin-top:0;border-top:none!important}.icon-links.vertical a{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;text-decoration:none;color:#2b2b2b;transition:color .2s ease}.icon-links.vertical a:hover{color:#b16286}.icon-links.vertical i{font-size:1.1rem;opacity:.8}.home .home-content ul{list-style:none;padding-left:0;margin-top:.5rem;margin-bottom:1rem}.home .home-content ul li{position:relative;margin:.6rem 0;padding-left:1.5rem;font-size:.97rem;background:rgba(245,223,232,.3);border-left:3px solid rgba(177,98,134,.45);border-radius:6px;padding:.6rem .9rem .6rem 1.5rem;transition:background .25s ease,border-color .2s ease}.home .home-content ul li:hover{background:rgba(245,223,232,.5);border-left-color:#b16286}.home .home-content ul li::before{content:"›";position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-weight:700;color:#8c4d67;font-size:1rem;opacity:.85}.home .home-content ul li a{text-decoration:none;color:#2b2b2b;border-bottom:1px solid rgba(177,98,134,.3);transition:color .2s ease,border-color .2s ease}.home .home-content ul li a:hover{color:#b16286;border-color:#b16286}.navbar-container{display:flex;flex-direction:column;align-items:center;border-bottom:.5px solid rgba(0,0,0,8%);padding:0 0 .95rem;margin:0 auto;margin-bottom:1rem;width:100%;box-sizing:border-box;font-family:georgia,serif!important}.signature{font-size:.85rem;color:#5e5e5e;letter-spacing:.5px;font-weight:400;margin-bottom:.65rem;padding-bottom:.25rem;padding-top:-.25rem;margin-top:-1rem;border-bottom:.5px solid rgba(0,0,0,8%);text-transform:none;text-align:right;width:100%;font-family:lora;font-style:italic}.navbar{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;font-family:lora,serif}.nav-left,.nav-right{display:flex;gap:1.5rem;align-items:center;font-family:georgia,serif;font-weight:500;font-size:1.2rem}.nav-left{justify-content:flex-end}.nav-right{justify-content:flex-start}.nav-center{position:absolute;left:50%;transform:translateX(-50%);font-family:georgia,serif;font-weight:700;font-size:1.2rem;padding:0 1rem;text-align:center;white-space:nowrap;pointer-events:none}.navbar a,.navbar span{display:inline-block;color:#000;text-decoration:none;transition:color .2s;font-size:1.35rem;font-family:lora,serif;font-weight:550;letter-spacing:.5px;text-transform:uppercase}.navbar a:hover{color:#000}.active span{position:relative;color:#000}.active span::after{content:"";position:absolute;left:0;bottom:-4px;height:1.6px;width:100%;background:#000}h2{font-size:clamp(1.4rem,1.75vw,2rem);font-weight:520;letter-spacing:-.25px;font-family:georgia,serif}.category-scroll-nav{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;overflow:hidden;gap:.4rem;padding:.4rem .6rem;margin:0 auto 1.5rem;background-color:#f8f5f0;border:1px solid #e4e0db;border-radius:10px;font-size:.85rem;max-width:1000px}.category-scroll-nav a{display:inline-flex;align-items:center;padding:.3rem .55rem;text-decoration:none;color:#444;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s ease-in-out;flex-shrink:1;min-width:0}.category-scroll-nav a.active{background-color:#e8dce2;color:#5e2a52;font-weight:600}.category-scroll-nav a .emoji{font-size:.85rem;margin-right:.25rem;opacity:.75}.menu-toggle{display:none;background:0 0;border:none;font-size:1.8rem;cursor:pointer;margin-bottom:.5rem}@media(max-width:768px){.menu-toggle{display:block;align-self:flex-end}.navbar{flex-direction:column;align-items:flex-start;gap:.8rem;display:none;width:100%}.navbar.show{display:flex}.nav-left,.nav-right{flex-direction:column;align-items:flex-start;width:100%;gap:.5rem}.nav-center{position:static;transform:none;text-align:left;width:100%;padding:.5rem 0}.navbar a,.navbar span{font-size:1rem;text-transform:none}}@media(max-width:768px){.navbar{overflow:hidden;max-height:0;transition:max-height .3s ease-out}.navbar.show{max-height:500px;transition:max-height .4s ease-in}}.pub-section-card{max-width:1280px;margin:1 10 .5rem .5rem;padding:1rem 1rem .5rem;background:linear-gradient(to bottom,#fdf5f8,#fff);background-color:rgba(177,98,134,7%);margin-bottom:.85rem;border-left:4px solid rgba(177,98,134,.3);border-radius:16px 16px 10px 10px;box-shadow:0 3px 8px rgba(0,0,0,4%)}.pub-section-title{font-family:lora,serif;font-size:1.4rem;font-weight:600;color:#2c2c2c;border-bottom:2px solid #e8dce2;padding-bottom:.5rem;display:flex;align-items:center;gap:.6rem}.pub-entry{background:0 0;border:none;box-shadow:none;padding:.5rem!important;margin-top:.1rem!important;margin-bottom:.1rem!important;border-bottom:1px dashed rgba(177,98,134,.2)}.pub-entry:hover{background:#fcf9f9;box-shadow:0 4px 10px rgba(0,0,0,5%)}.pub-title{font-family:lora,serif;font-size:1.05rem;font-weight:600;margin-bottom:.15rem;color:#1e1e1e;display:flex;align-items:baseline;gap:.4rem}.pub-title a{color:inherit;text-decoration:none}.pub-title a:hover{text-decoration:underline;color:#b16286}.pub-meta{font-style:italic;font-size:.9rem;color:#444;margin-bottom:.25rem;line-height:1.5}.pill:not(.pill-arxiv):not(.pill-journal):not(.pill-pdf){display:inline-flex;align-items:center;font-size:.85rem;padding:.25rem .6rem;margin-left:.4rem;margin-top:.3rem;border-radius:6px;font-weight:500;text-decoration:none;background:#ffe8e8;color:#a22c2c;transition:background .2s ease}.pill:hover{background-color:rgba(177,98,134,.15)}.pub-type-icon{font-size:.9rem;margin-right:.4rem;opacity:.65;color:#8c4d67}.tags{font-size:.85rem;margin-top:.3rem}.tags a{margin-right:.4rem;text-decoration:none;color:#689d6a;opacity:.9}.tags a:hover{text-decoration:underline;opacity:1}.publications-page,.category-scroll-nav{max-width:1200px}.category-scroll-nav{display:flex;flex-wrap:nowrap;gap:.1rem;padding:.3rem;scroll-behavior:smooth;margin-bottom:.8rem}.category-scroll-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.9rem;border-radius:8px;text-decoration:none;white-space:nowrap;flex-shrink:0;color:#333;transition:background .2s ease-in-out}.category-scroll-nav .nav-icon{font-size:.85rem;opacity:.65;color:#555;flex-shrink:0;transition:opacity .2s ease}.category-scroll-nav a.active{background:0 0!important;color:inherit!important;font-weight:inherit!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important}.category-scroll-nav a.active .nav-icon{opacity:.65!important;color:#555!important}.pub-section-card{max-width:1280px;margin:10 auto .5rem;padding:1rem 1rem .5rem;background:linear-gradient(to bottom,#fdf5f8,#fff);background-color:rgba(177,98,134,7%);margin-bottom:.85rem;border-left:4px solid rgba(177,98,134,.3);border-radius:16px 16px 10px 10px;box-shadow:0 3px 8px rgba(0,0,0,4%)}.pub-section-title{font-family:lora,serif;font-size:1.4rem;font-weight:600;color:#2c2c2c;border-bottom:2px solid #e8dce2;padding-bottom:.5rem;display:flex;align-items:center;gap:.6rem}.pub-entry{background:0 0;border:none;box-shadow:none;padding:.85rem .5rem .7rem;margin-top:.5rem;margin-bottom:1.2rem;border-bottom:1px dashed rgba(177,98,134,.2)}.pub-entry:hover{background:#fcf9f9;box-shadow:0 4px 10px rgba(0,0,0,5%)}.pub-title{font-family:lora,serif;font-size:1.05rem;font-weight:600;margin-bottom:.25rem;color:#1e1e1e;display:flex;align-items:baseline;gap:.4rem}.pub-title a{color:inherit;text-decoration:none}.pub-title a:hover{text-decoration:underline;color:#b16286}.pub-meta{font-style:italic;font-size:.9rem;color:#444;margin-bottom:.25rem;line-height:1.5}.pub-type-icon{font-size:.9rem;margin-right:.4rem;opacity:.65;color:#8c4d67}#main.writeups .category-scroll-nav .nav-icon{color:#2ca04f;opacity:.85}#main.writeups .pub-section-title .pub-type-icon{color:#a927b0;opacity:.85}.cv-wrapper{background:#fefbf8;padding:2rem 1rem;font-family:georgia,serif}.cv{max-width:1900px;margin:0;padding:2rem;background:#fff;border-radius:2px;box-shadow:0 4px 10px rgba(0,0,0,4%);color:#2c2c2c}.cv h1,.cv h2,.cv h3{font-family:lora,serif;color:#221b1b;border-bottom:.5px solid #e0dbe2;padding-bottom:.25rem;margin-top:1rem}.cv a{color:#a05b7a;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;font-size:.95rem;line-height:1.4}.cv ul{list-style:disc;margin-left:.2rem}.cv-grid{display:grid;grid-template-columns:170px 1fr;gap:2rem;max-width:14900px;margin:0;margin-left:-4rem;margin-right:-4rem;line-height:1.4;margin-top:-1.5rem;padding:.2rem 0;font-family:georgia,serif}.cv-main{padding:.5rem 0}.cv-main h2{border-bottom:1.5px solid #d8c8b8;padding-bottom:.1rem;margin-top:0}.cv-main section+section{margin-top:1.3rem}.cv-main hr{border:none;border-bottom:1px solid #e4d4c4;margin:0 0}.cv-sidebar{background:#fdf6f0;padding:.5rem;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,4%);font-size:.72rem}.cv-sidebar h3{font-size:.95rem;margin-top:1.8rem;border-bottom:1px solid #000;padding-bottom:.3rem}.cv-sidebar ul{padding-left:1em;list-style:square}.cv-sidebar ul li{margin-bottom:.3rem}.cv-sidebar a{color:#5e2a52}.cv-sidebar a:hover{text-decoration:underline}.contact-links{list-style:none;padding-left:0;margin:0;font-size:.7}.contact-links li{list-style:none!important;padding-left:0!important;margin:0!important;margin-bottom:.4rem;line-height:1.7}.contact-links a{display:inline-flex;align-items:center;gap:.25rem;text-decoration:none;color:#333;margin-left:-.925rem!important}.contact-links a i{color:#5e2a52}.cv-name h1{margin:0;font-size:1.1rem;font-family:lora,serif;border-bottom:none!important}.cv-name p{font-size:1rem;color:#555;margin-top:.2rem}.cv-entry{margin-bottom:.5rem}.cv-entry-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.1rem}.cv-l1{font-size:.95rem;font-weight:700;color:#221b1b}.cv-l2{font-size:.9rem;font-weight:600;color:#5e5e5e;margin-bottom:.11rem}.cv-l3{font-size:.85rem;font-weight:400;color:#2e2e2e;line-height:1.4}.cv-l3 li{margin-bottom:.042rem}.cv-date{font-size:.85rem;font-weight:500;color:#777;white-space:nowrap}.cv-edu-title{font-size:1.4rem;font-family:lora,serif;font-weight:600;border-bottom:1px solid #e4dce2;margin-bottom:.3rem;display:flex;align-items:center;gap:.6rem}.cv-achievements .cv-l2{margin-bottom:.05rem}.cv-achievements .cv-l3{margin-bottom:0}.cv-achievements .cv-entry{margin-bottom:.3rem}@media print{nav,footer,.site-header,.topbar,.navbar,.navbar-container,.nav-left,.nav-right,.nav-center,.signature,.category-scroll-nav{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;border:none!important}p,li,.cv-l3{word-break:normal;overflow-wrap:break-word;hyphens:auto}.cv-sidebar{box-shadow:none!important;border-radius:0!important;padding-top:.8rem;padding-left:.32rem;padding-right:.2rem;margin-top:.5rem;margin-left:.1rem;border-right:1px solid #ccc!important;background:0 0!important}.cv-section{page-break-inside:avoid!important;page-break-before:avoid!important;page-break-after:auto;margin-bottom:.5rem!important;margin-left:0!important;margin-right:0!important;padding-left:.3rem}.cv-section h2{margin-top:0!important;padding-top:0!important}.cv-section.nobreak{page-break-inside:avoid!important;page-break-before:avoid!important}.cv-section[data-section=skills],.cv-section[data-section=projects],.cv-section[data-section=talks],.cv-section[data-section=crypto]{page-break-inside:avoid!important;page-break-before:avoid!important}.cv-entry,.cv-entry-header,.cv-achievements,.cv-entry .cv-l1,.cv-entry .cv-l2,.cv-entry .cv-l3{page-break-inside:avoid!important}}*:focus,*:active,*:visited,*:hover{outline:none!important;box-shadow:none!important;border-color:transparent!important}a,a:focus,a:active,a:hover,button,button:focus,button:active,button:hover,input,input:focus,textarea,textarea:focus{outline:none!important;box-shadow:none!important;border:none!important;background-image:none!important;background-color:transparent!important;color:inherit!important}button::-moz-focus-inner,input::-moz-focus-inner{border:0!important;padding:0!important}fieldset{border:none!important;outline:none!important}@page{size:A4;margin:.4in .3in .3in 0}@media print{.cv-grid{grid-template-columns:150px 1fr;margin-top:-3rem}}@media print{html{font-size:12pt}body{font-size:10pt}.cv-l1{font-size:10.5pt}.cv-l2{font-size:10pt}.cv-l3{font-size:9.5pt}.cv-date{font-size:9pt}.cv-sidebar{font-size:7pt}.cv-sidebar h3{font-size:7pt}.cv a{font-size:10pt}.cv-name h1{font-size:15pt}.cv-name p{font-size:11pt}.cv-edu-title{font-size:13pt}.cv-main h2{font-size:12.5pt}.cv h3{font-size:11pt}ul,li{font-size:10pt;margin-left:0}}@media print{.cv-grid{grid-template-columns:5cm auto;gap:1.5rem;line-height:1.34!important}.cv-sidebar{font-size:7pt;padding-top:.8cm;padding-bottom:.8cm;padding-left:.4cm;padding-right:.4cm;border-right:1.8px solid #aba6a6!important;margin-right:.8rem;background:0 0!important;box-shadow:none!important;border-radius:0!important;line-height:1.3}.cv-sidebar h3{font-size:8pt;margin-top:.8rem;padding-bottom:.2rem;border-bottom:1px solid #bbb}.cv-sidebar ul{padding-left:.5rem}.cv-sidebar ul li{font-size:7pt;margin-bottom:.25rem;margin:0 0 .25rem;padding:0;text-indent:0}.cv-sidebar a{font-size:7pt;color:#444;text-decoration:underline}}.page-break{display:none}.print-only{display:none}@media print{.page-break{page-break-before:always;display:block;height:0}.print-only{display:block}.second-half{padding-top:0}}.page-break{display:none}@media print{.page-break.print-only{display:block;page-break-before:always;height:0}.cv-sidebar{page-break-after:avoid}}.cv-bullet-wrap{display:flex;gap:.15rem}.cv-bullet{color:#5e2a52;font-size:.65rem;margin-top:.25rem;flex-shrink:0;line-height:1.4}.cv-l1{color:#221b1b;position:relative;padding-left:0;margin-left:0 rem}.cv-l1::before{content:"◆";position:absolute;left:-1rem;top:.1rem;font-size:.75rem;color:#5e2a52;opacity:.8}.cv-l2::before{content:none}.cv-achievements .cv-l2-title{position:relative;padding-left:0}.cv-achievements .cv-l2-title::before{content:"◆";position:absolute;left:-1rem;top:.1rem;font-size:.65rem;color:#5e2a52;opacity:.6}.cv-l3{padding-left:0}.cv-l3 li{list-style:none;padding-left:0;margin-left:0;position:relative}.cv-l3 li::before{content:"▸";position:absolute;left:-1.1rem;color:#5e2a52;font-size:.85rem;opacity:.75;line-height:1.4;vertical-align:middle}.cv-l3 li::before,li.cv-l3::before{content:"▸";position:absolute;left:-1rem;font-size:.85rem;color:#5e2a52;opacity:.75;line-height:1.4}.cv-l3 li,li.cv-l3{list-style:none;position:relative;padding-left:0}.profile-picture{border-radius:50%;width:120px;height:120px;object-fit:cover;margin-bottom:1rem;display:block}*:focus,*:active,*:visited,*:hover{outline:none!important;box-shadow:none!important;border-color:transparent!important}a,a:focus,a:active,a:hover,button,button:focus,button:active,button:hover,input,input:focus,textarea,textarea:focus{outline:none!important;box-shadow:none!important;border:none!important;background-image:none!important;background-color:transparent!important;color:inherit!important}button::-moz-focus-inner,input::-moz-focus-inner{border:0!important;padding:0!important}fieldset{border:none!important;outline:none!important}.cv-sidebar h3{border:none!important;border-bottom:none!important;outline:none!important;box-shadow:none!important}@media print{.cv-sidebar h3,.cv-sidebar section,.cv-sidebar ul,.cv-sidebar li{border:none!important;outline:none!important;box-shadow:none!important}.cv-sidebar *{background:0 0!important}.contact-links{list-style:none;padding-left:0;margin:0;font-size:.695}.contact-links li{list-style:none!important;margin:0!important;margin-bottom:.4rem;line-height:1.7}.contact-links a{display:inline-flex;align-items:center;gap:.25rem;text-decoration:none;color:#333}.contact-links a i{color:#5e2a52}.cv-sidebar h3::after,.cv-sidebar section::after,.cv-sidebar h3::before,.cv-sidebar section::before{content:none!important;display:none!important}.cv-bullet-wrap{display:flex;align-items:flex-start;gap:.25rem}.cv-bullet{color:#5e2a52;font-size:.65rem;margin-top:.25rem;flex-shrink:0;line-height:1.4}}@media print{p,li,.cv-l3{word-break:normal;overflow-wrap:normal;hyphens:none}}.about-section-card{max-width:1280px;margin:2rem auto;padding:1.5rem 1.5rem 1rem;background:linear-gradient(to bottom,#fefafc,#fff);background-color:rgba(177,98,134,6%);border-left:4px solid rgba(177,98,134,.25);border-radius:18px 18px 12px 12px;box-shadow:0 3px 8px rgba(0,0,0,3%)}.about-content{font-size:1rem;line-height:1.7;color:#2b2b2b;font-family:lora,serif}.about-content ul{list-style:none;padding-left:1.2rem;margin-top:.5rem}.about-content ul li{position:relative;margin-bottom:.5rem;padding-left:1.2rem;font-size:.96rem}.about-content ul li::before{content:"➝";position:absolute;left:0;color:#8c4d67;font-weight:700}.about-content ul li a{text-decoration:underline!important;text-underline-offset:2px!important;color:inherit}.about-content ul li a:hover{color:#b16286!important}.about-content p{margin-bottom:1.1rem;line-height:1.7}.about-content a{text-decoration:underline;text-underline-offset:2px;color:inherit}.about-content a:hover{color:#b16286}.about-section-card:hover{background:#fcf9f9;box-shadow:0 4px 10px rgba(0,0,0,5%)}.about-section-title{font-family:lora,serif;font-size:1.4rem;font-weight:600;margin-bottom:.75rem;color:#2c2c2c;border-bottom:2px solid #e8dce2;padding-bottom:.25rem;display:flex;align-items:center;gap:.6rem}.about-section-title .emoji{font-size:1.3rem;opacity:.7}.about-section-card{max-width:1280px;margin:2rem auto;padding:1.5rem 1.5rem 1rem;background:linear-gradient(to bottom,#fdf5f8,#fff);background-color:rgba(177,98,134,7%);border-left:4px solid rgba(177,98,134,.3);border-radius:16px 16px 10px 10px;box-shadow:0 3px 8px rgba(0,0,0,4%);transition:background .3s ease-in-out}.about-content h3{font-family:lora,serif;font-size:1.3rem;font-weight:600;border-bottom:2px solid #e8dce2;padding-bottom:.25rem;display:flex;align-items:center;gap:.5rem;margin-top:2rem;margin-bottom:1rem}.icon-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-family:lora,serif}.icon-links a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-size:1rem;color:#2b2b2b;transition:color .2s ease}.icon-links a:hover{color:#b16286}.icon-links i{font-size:1.1rem;opacity:.8}.icon-links.vertical{display:flex;flex-direction:column;gap:.7rem;margin-top:1.5rem}.icon-links.vertical a{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;text-decoration:none;color:#2b2b2b;transition:color .2s ease}.icon-links.vertical a:hover{color:#b16286}.icon-links.vertical i{font-size:1.1rem;opacity:.8}@media(max-width:768px){html,body{max-width:100%;overflow-x:hidden}.pub-entry,.pub-section,.pub-meta,.pub-summary{max-width:100%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;box-sizing:border-box;padding-left:1rem;padding-right:1rem}.pub-entry .badge,.pub-entry .tag,.pub-entry .slides-button,.pub-entry a{max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:break-word}.pub-entry>*,.pub-section>*{flex-wrap:wrap;max-width:100%}}@media(max-width:768px){.pub-entry strong{white-space:normal!important;overflow-wrap:break-word;word-break:break-word}}@media(max-width:768px){.category-scroll-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding:.4rem .5rem;margin:0 auto;scroll-behavior:smooth}.category-scroll-nav a{white-space:nowrap;flex-shrink:0;min-width:fit-content}}@media(max-width:768px){.category-scroll-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;scroll-behavior:smooth;padding-left:1rem;padding-right:1rem;margin-bottom:1rem}.category-scroll-nav a{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0;min-width:fit-content;padding:.4rem .75rem}}