*{margin:0;box-sizing:border-box}:root{--bg-primary:#181715;--bg-secondary:#211F1D;--text-primary:#E7E6E4;--text-secondary:#A7A5A2;--accent:#c48951;--border:#2B2926;--code-bg:#26241F}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.6;max-width:1000px;margin:0 auto;padding:0 1rem;background-color:var(--bg-primary);color:var(--text-primary)}a{color:var(--accent);text-decoration:none;transition:color .2s ease,transform .2s ease}a:hover{color:#fff}nav{padding:2rem 0;border-bottom:2px solid var(--border);margin-bottom:4rem}nav ul{list-style:none;display:flex;gap:2rem}nav a{color:var(--text-primary);font-weight:600;font-size:1.1rem;position:relative}nav a:hover::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--accent)}.about{margin-bottom:4rem;position:relative;width:100%}.about-content h2{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.about-content{width:auto;font-size:1.1rem;line-height:1.6}.about-content p{margin-bottom:1.5rem;text-align:justify}.about-content p:last-child{margin-bottom:0}.about-content ul,.about-content ol{margin:1.5rem 0;padding-left:1.5rem}.about-content li{margin-bottom:.5rem}.about-content h3{margin:2rem 0 1rem}.about-content h4{margin:1.5rem 0 1rem}.about-content blockquote,.about-content pre,.about-content table{margin:1.5rem 0}.about-sidebar{float:right;width:300px;margin-left:2rem;margin-bottom:1rem;text-align:center}.profile-image{width:100%;max-width:250px;height:auto;margin-bottom:1.5rem;border-radius:5%;object-fit:cover;aspect-ratio:1;box-shadow:0 0 20px rgba(97,218,251,.1);margin-top:5rem}.profile-info{display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-name{font-size:1.5rem;color:var(--text-primary);margin:0;white-space:nowrap}.social-links{display:flex;flex-direction:row;justify-content:center;gap:1rem;margin-top:1rem}.social-link{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;color:var(--text-primary);text-decoration:none;font-weight:500;border-radius:6px;transition:all .2s ease;border:1px solid var(--border);background:var(--bg-secondary);white-space:nowrap}.social-icon{width:20px;height:20px;flex-shrink:0}.social-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}@media(max-width:1024px){.about-sidebar{float:none;margin:0 auto 2rem;width:100%}.social-links{justify-content:center}}@media(max-width:480px){.social-link{padding:.8rem;aspect-ratio:1;justify-content:center}.social-text{display:none}.social-icon{width:24px;height:24px}.social-links{gap:.75rem}}@media(max-width:480px){.social-link{position:relative}.social-link:hover::after{content:attr(aria-label);position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);padding:.25rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.8rem;white-space:nowrap;border:1px solid var(--border)}}@media(max-width:1024px){.about-sidebar{float:none;margin:0 auto 2rem;width:100%}.about-content{width:100%}.profile-image{margin-top:0;height:230px}}.recent-posts{margin-bottom:4rem}.post,.content{max-width:100%}.post-preview{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.post-preview h3{font-size:1.4rem;margin-bottom:.5rem}.post-preview time{color:var(--text-secondary);font-size:.9rem}.news{margin-bottom:4rem}.news-item{display:flex;align-items:baseline;gap:1rem;padding:.5rem 0}.news-item time{font-weight:600;color:var(--text-primary);min-width:100px}.news-content{color:var(--text-primary)}@media(max-width:768px){.news-item{flex-direction:column;gap:.5rem}.news-item time{min-width:auto}}h1,h2{color:var(--text-primary)}h2{font-size:2rem;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.archive{max-width:800px;margin:0 auto;padding:2rem 0}.archive h1{font-size:2.5rem;margin-bottom:3rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.year-section{margin-bottom:3rem}.year-section h2{font-size:2rem;margin-bottom:1.5rem;color:var(--text-primary);border-bottom:none}.post{max-width:800px;margin:0 auto;padding:2rem 0}.post h1{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.post time{display:block;color:var(--text-secondary);margin-bottom:2rem}.post p{margin-bottom:1.5rem;color:var(--text-primary)}.post h2{font-size:1.8rem;margin:2rem 0 1rem;border-bottom:none}.post h3{font-size:1.4rem;margin:1.5rem 0 1rem;color:var(--text-primary)}.katex-display{margin:1.5rem 0;overflow-x:auto;overflow-y:hidden;padding:1rem 0}.katex{font-size:1.1em}.katex{color:var(--text-primary)}.katex-display>.katex{background:var(--bg-secondary);padding:1rem;border-radius:4px}.post img{display:block;max-width:100%;height:auto;margin:2rem auto;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2)}.post figure{margin:2rem auto;text-align:center}.post figure img{margin:0 auto .5rem}.post figure figcaption{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem;font-style:italic}.post .full-width{max-width:100vw;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}@media(max-width:768px){.post img{margin:1.5rem auto}}.archive-item{border-bottom:1px solid var(--border);transition:background-color .2s ease}.archive-item:hover{background-color:var(--bg-secondary)}.archive-item-title a{color:var(--text-primary)}.archive-item-title a:hover{color:var(--accent)}.archive-item-content{display:grid;grid-template-columns:150px 1fr;gap:2rem;align-items:start}.archive-item time{color:var(--text-secondary);font-family:monospace;font-size:.9rem}.archive-item-summary{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.year-section{margin-bottom:4rem}.year-section h2{font-size:2rem;margin-bottom:2rem;color:var(--text-primary);border-bottom:2px solid var(--border);padding-bottom:.5rem}@media(max-width:768px){.archive-item-content{grid-template-columns:1fr;gap:.5rem}.archive-item{margin-bottom:2rem;padding-bottom:1.5rem}.archive-item-title{font-size:1.2rem}}.talks-page{max-width:800px;margin:0 auto;padding:2rem 0}.talks-page h1{font-size:2.5rem;margin-bottom:3rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.talks-section,.events-section{margin-bottom:4rem}.talks-section h2,.events-section h2{font-size:2rem;margin-bottom:2rem;color:var(--text-primary)}.talk-item,.event-item{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border);transition:transform .2s ease,border-color .2s ease}.talk-item:hover,.event-item:hover{transform:translateY(-2px);border-color:var(--accent)}.talk-header,.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.talk-header h3,.event-header h3{font-size:1.4rem;margin:0;color:var(--text-primary)}.talk-conference{color:var(--accent);font-weight:500;margin-bottom:.5rem}.event-role{background:var(--accent);color:var(--bg-primary);padding:.2rem .6rem;border-radius:4px;font-size:.9rem;font-weight:500}time{color:var(--text-secondary);font-size:.9rem}.talk-description,.event-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.talk-slides,.event-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-weight:500;text-decoration:none;transition:color .2s ease}.talk-slides:hover,.event-link:hover{color:var(--text-primary)}.talk-slides svg{transition:transform .2s ease}.talk-slides:hover svg{transform:translateY(2px)}@media(max-width:768px){.talk-header,.event-header{flex-direction:column;gap:.5rem}.talks-page{padding:1rem}}.listing-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.listing-title{font-size:1.3rem;margin-bottom:.5rem}.listing-title a{color:var(--text-primary);text-decoration:none;font-weight:500}.listing-title a:hover{color:var(--accent)}.listing-meta{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.listing-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1rem}.download-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.9rem;font-weight:500;text-decoration:none;padding:.4rem .8rem;border:1px solid var(--accent);border-radius:4px;transition:all .2s ease}.download-link:hover{background:var(--accent);color:var(--bg-primary)}.download-link svg{width:16px;height:16px;transition:transform .2s ease}.download-link:hover svg{transform:translateY(2px)}.section-title{font-size:2rem;margin:3rem 0 2rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.year-section{margin-bottom:3rem}.year-section h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.profile-name{font-size:1.5rem;color:var(--text-primary);margin:0}.social-link{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;color:var(--text-primary);text-decoration:none;font-weight:500;border-radius:6px;transition:all .2s ease;border:1px solid var(--border);background:var(--bg-secondary);flex:1;min-width:0;justify-content:center}.social-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}@media(max-width:480px){.social-link span{display:none}.social-link{padding:.6rem}.social-link svg{width:24px;height:24px}}.highlight{position:relative;background:#1e1e1e;border-radius:8px;margin:1.5rem 0;max-width:100%}pre{margin:0;padding:1.25rem;border-radius:8px;background:#1e1e1e;border:1px solid #333;width:max-content;max-width:100%;box-sizing:border-box}pre code{font-family:jetbrains mono,fira code,consolas,monospace;font-size:.95rem;line-height:1.5;color:#d4d4d4;display:block;width:fit-content;min-width:min-content;white-space:pre}.highlight::after{content:'';position:absolute;right:0;top:0;bottom:0;width:30px;background:linear-gradient(to right,transparent,#1e1e1e);pointer-events:none;opacity:0;transition:opacity .2s;border-radius:0 8px 8px 0}.highlight{position:relative;width:100%;overflow-x:auto;.k, .kd, .kr { color: #c586c0; } .kn { color: #c586c0; } .nc { color: #4ec9b0; } .nf { color: #dcdcaa; } .nx { color: #9cdcfe; } .k + .nx { color: #569cd6; } .s, .s1, .s2 { color: #ce9178; } .m, .mi, .mf { color: #b5cea8; } .p { color: #d4d4d4; } .na { color: #dcdcaa; } .nt { color: #569cd6; } .na { color: #9cdcfe; } .c, .c1, .cm { color: #6a9955; font-style: italic; } .o { color: #d4d4d4; } .o + .o { color: #569cd6; } .ln { color: #858585; padding-right: 1em; user-select: none; }}