:root{color-scheme:dark;--bg: #0d0906;--bg-secondary: #1a120a;--text: #f5e6d3;--text-muted: #b39980;--accent: #ff9933;--accent-dim: #e68a2e;--border: #4d3319;--link: #ff9933;--link-hover: #ffb366}:root[data-theme=light]{color-scheme:light;--bg: #fff5e6;--bg-secondary: #ffe8cc;--text: #2a1a00;--text-muted: #664400;--accent: #c75d00;--accent-dim: #a34d00;--border: #e6c499;--link: #994400;--link-hover: #662200}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{min-height:100%}body{min-height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:16px;background-color:var(--bg);color:var(--text);line-height:1.6;transition:background-color .2s,color .2s}a{color:var(--link);text-decoration:none;transition:color .15s}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.5rem .75rem;color:var(--bg);background:var(--accent);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.single-page{width:100%;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;padding:2rem 1.5rem}.header{text-align:left;padding-bottom:1rem;border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:1rem}.header-content{position:relative;padding-right:3rem}.name{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:.25rem}.role{font-size:.9rem;color:var(--accent);font-weight:500}.focus{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.theme-toggle{position:absolute;top:0;right:0;background:rgba(0,0,0,0);border:1px solid var(--border);color:var(--text-muted);width:2.25rem;height:2.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font:inherit}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-icon::before{content:"[L]";font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.8rem}:root[data-theme=light] .theme-icon::before{content:"[D]"}.quote-container{width:100%;padding:.75rem 0;background:rgba(0,0,0,0);color:inherit;font:inherit;text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;min-height:5rem;display:flex;flex-direction:column;justify-content:center}.quote-text{font-size:.875rem;font-style:italic;color:var(--text-muted);line-height:1.5;transition:opacity .3s ease}.quote-author{font-size:.8rem;color:var(--accent);margin-top:.25rem;transition:opacity .3s ease}.tabs{display:flex;align-items:center;gap:.25rem;padding:.75rem 0;border-bottom:1px solid var(--border);flex-shrink:0}.tabs [role=tablist]{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.tab{background:rgba(0,0,0,0);border:none;color:var(--text-muted);padding:.35rem .2rem;cursor:pointer;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;transition:color .15s;text-transform:lowercase;line-height:1}.tab:hover{color:var(--text)}.tab.active{color:var(--accent)}.tabs-separator{color:var(--border);font-size:.85rem;line-height:1}.tab.active::before{content:"> ";color:var(--accent)}.tab-content{flex:1;padding:1rem 0}.tab-panel{display:block}.tab-panel[hidden]{display:none}.exp-item{border-bottom:1px solid var(--border);transition:all .15s}.exp-item:last-child{border-bottom:none}.exp-item:hover{padding-left:.5rem;border-left:2px solid var(--accent);margin-left:-.5rem}.exp-item.expanded{padding-left:.5rem;border-left:2px solid var(--accent);margin-left:-.5rem;background:var(--bg-secondary);margin-right:-.5rem;padding-right:.5rem}.exp-trigger{width:100%;color:inherit;background:rgba(0,0,0,0);border:0;font:inherit;text-align:left;cursor:pointer}.exp-header{display:flex;align-items:baseline;justify-content:space-between;padding:.75rem 0;gap:1rem}.exp-item.expanded .exp-header{padding-bottom:.5rem}.exp-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;flex:1;min-width:0}.exp-title{font-weight:600;color:var(--text);font-size:.95rem}.exp-loc{color:var(--text-muted);font-size:.85rem}.exp-loc::before{content:"@ ";color:var(--accent)}.exp-skills{display:none;font-size:.8rem;color:var(--accent);flex-basis:100%;font-style:italic}.exp-item.expanded .exp-skills{display:block}.exp-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap;text-align:right;min-width:100px}.exp-details{display:none;padding:0 0 .75rem 0}.exp-item.expanded .exp-details{display:block}.exp-details ul{list-style:none;padding-left:0}.exp-details ul li{font-size:.875rem;color:var(--text-muted);padding:.2rem 0;padding-left:1.5rem;position:relative}.exp-details ul li::before{content:"-";position:absolute;left:.5rem;color:var(--accent)}.exp-projects{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;padding-left:.5rem;border-left:1px solid var(--border)}.edu-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.edu-item:last-of-type{border-bottom:none}.edu-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.edu-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;flex:1}.edu-degree{font-weight:600;color:var(--text);font-size:.95rem}.edu-institution{color:var(--accent);font-size:.875rem}.edu-dept{color:var(--text-muted);font-size:.825rem;flex-basis:100%}.edu-gpa{color:var(--text-muted);font-size:.8rem}.edu-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap;text-align:right}.edu-thesis{font-size:.875rem;color:var(--text-muted);margin-top:.5rem;padding-left:.5rem;border-left:1px solid var(--border)}.edu-advisor{font-size:.875rem;color:var(--text-muted);margin-top:.25rem;padding-left:.5rem;border-left:1px solid var(--accent)}.pub-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.pub-item:last-of-type{border-bottom:none}.pub-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.pub-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;flex:1}.pub-title{font-weight:600;color:var(--text);font-size:.95rem}.pub-venue{color:var(--accent);font-size:.875rem}.pub-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap;text-align:right}.pub-authors{font-size:.875rem;color:var(--text-muted);font-style:italic;margin-top:.25rem}.section-label{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-top:1.5rem;margin-bottom:.5rem}.section-label::before{content:"# "}.section-label:first-child{margin-top:0}.blog-list{flex:1}.blog-item{border-bottom:1px solid var(--border);padding:1rem 0}.blog-item:last-child{border-bottom:none}.blog-item:hover .blog-title{color:var(--accent)}.blog-title-link{color:inherit}.blog-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.blog-title{font-size:1.05rem;font-weight:600;color:var(--text);transition:color .15s}.blog-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.blog-desc{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.blog-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.blog-tag{display:inline-block;font-size:.8rem;color:var(--accent);padding:.15rem 0}.blog-tag::before{content:"#"}.blog-post .header{border-bottom:none;padding-bottom:0}.blog-back{font-size:.8rem;margin-bottom:1rem}.blog-back a{color:var(--text-muted)}.blog-back a:hover{color:var(--accent)}.post-title{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1.3}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.post-author,.post-date,.post-updated{font-size:.8rem;color:var(--text-muted)}.post-tags{display:flex;gap:.5rem}.post-content{flex:1;padding:1.5rem 0;border-top:1px solid var(--border);margin-top:1rem}.post-content h2{font-size:1.25rem;font-weight:600;color:var(--text);margin-top:1.5rem;margin-bottom:.75rem}.post-content h2::before{content:"## ";color:var(--accent)}.post-content h3{font-size:1.1rem;font-weight:600;color:var(--text);margin-top:1.25rem;margin-bottom:.5rem}.post-content h3::before{content:"### ";color:var(--accent)}.post-content p{font-size:1rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.7}.post-content strong{color:var(--text);font-weight:600}.post-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.9rem;background:var(--bg-secondary);padding:.15rem .3rem;border-radius:2px}.post-content pre{background:var(--bg-secondary);border:1px solid var(--border);padding:1rem;margin:1rem 0;overflow-x:auto;font-size:.875rem;line-height:1.5}.post-content pre code{background:none;padding:0}.post-content ul,.post-content ol{margin:1rem 0;padding-left:1.5rem}.post-content ul li,.post-content ol li{font-size:1rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.6}.post-content table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:1rem 0;font-size:.875rem}.post-content table th,.post-content table td{border:1px solid var(--border);padding:.5rem;text-align:left}.post-content table th{background:var(--bg-secondary);color:var(--text);font-weight:600}.post-content table td{color:var(--text-muted)}.post-content blockquote{border-left:2px solid var(--accent);padding-left:1rem;margin:1rem 0;font-style:italic;color:var(--text-muted)}.post-content img{display:block;max-width:100%;height:auto;margin:1rem 0}.post-content a{text-decoration:underline;text-underline-offset:.2em}.giallo-l{display:inline-block;min-height:1lh;width:100%}.giallo-ln{display:inline-block;min-width:3ch;margin-right:.4em;padding-right:.4em;text-align:right;user-select:none;opacity:.8}.footer-mini{text-align:left;padding-top:1rem;border-top:1px solid var(--border);flex-shrink:0;font-size:.8rem;color:var(--text-muted)}.footer-mini a{color:var(--text-muted)}.footer-mini a:hover{color:var(--accent)}.pagination{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.no-posts{color:var(--text-muted);padding:1rem 0}.not-found{justify-content:center}.not-found .eyebrow{color:var(--accent);font-weight:700}.not-found h1{margin:.25rem 0 .75rem}.not-found p{color:var(--text-muted);margin-bottom:1rem}@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}}@media (max-width: 640px){.single-page{padding:1rem}.focus{padding-right:3rem}.exp-header,.edu-header,.pub-header{flex-direction:column;gap:.25rem}.exp-date,.edu-date,.pub-date{text-align:left}.exp-loc::before{content:""}}