:root{--bg:#f8fafc;--surface:#ffffff;--text:#0f172a;--text-soft:#475569;--link:#2563eb;--border:#e2e8f0}:root[data-theme=dark]{--bg:#0b1220;--surface:#0f172a;--text:#e2e8f0;--text-soft:#94a3b8;--link:#60a5fa;--border:#1e293b}:root[data-theme=dark] .text-gray-900{color:#fff}:root:not([data-theme=dark]) .text-gray-900{color:#111827}:root[data-theme=dark] .border-gray-200{border-color:#374151}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}.container{width:min(980px,92vw);margin:0 auto}.site-header{position:static;background:var(--surface);border-bottom:1px solid var(--border)}.site-footer{background:var(--surface);border-top:1px solid var(--border);border-bottom:0;margin-top:3rem;padding:1rem 0;text-align:center}.header-inner{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}.brand-logo{width:1.9rem;height:1.9rem;object-fit:contain;border-radius:6px}.brand-name{font-weight:700;letter-spacing:.02em}.site-nav{display:flex;align-items:center;gap:.75rem}.menu-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.5rem}.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .7rem;color:var(--text);background:0 0;text-decoration:none;font:inherit;cursor:pointer}.text-button{border:0;border-radius:0}.icon-button{border:1px solid var(--border);border-radius:999px}.text-button:hover,.icon-button:hover{background:var(--surface)}main.container{min-height:calc(100vh - 10rem);padding:2.5rem 0 1.25rem}h1,h2,h3{line-height:1.2}a{color:var(--link)}.meta{color:var(--text-soft);margin-top:-.4rem}.site-footer small{color:var(--text-soft)}.site-footer a{color:var(--text)}.resume{display:grid;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem}.resume-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.resume-name{margin:0}.resume-tagline{margin:.4rem 0 0;color:var(--text-soft)}.resume-contact{list-style:none;margin:0;padding:0;text-align:right}.resume-contact li+li{margin-top:.25rem}.resume-contact-link{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.resume-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;font-size:.82rem;line-height:1}.resume-icon-img{object-fit:contain}:root[data-theme=dark] img.resume-icon-img{filter:brightness(0)invert(1);opacity:.92}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) img.resume-icon-img{filter:brightness(0)invert(1);opacity:.92}}.resume-icon-text{font-size:.72rem;border:1px solid var(--border);border-radius:4px;padding:.02rem .2rem;width:auto;min-width:1.1rem;height:1.1rem}.resume-section h2{margin-top:0}.timeline{display:grid;gap:1rem}.timeline-item h3{margin:0}.blog-timeline-group{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;align-items:start}.blog-timeline{position:relative}.blog-timeline::before{content:"";position:absolute;top:.4rem;bottom:.4rem;left:calc(7.5rem + .75rem - 1px);width:2px;background:#e5e7eb}:root[data-theme=dark] .blog-timeline::before{background:#374151}.blog-timeline-group-title{display:flex;align-items:center;min-height:1.75rem;margin:0;padding-top:0;text-align:right;justify-self:end}.blog-timeline-list{border:0!important}:root:not([data-theme=dark]) .blog-tag-chip{background:#fff!important;color:#374151!important;border-color:#e5e7eb!important;border-radius:.45rem!important}:root:not([data-theme=dark]) .blog-tag-chip:hover{background:#f9fafb!important}:root[data-theme=dark] .blog-tag-chip{background:#1f2937!important;color:#f3f4f6!important;border-color:#4b5563!important;border-radius:.45rem!important}:root[data-theme=dark] .blog-tag-chip:hover{background:#374151!important}:root:not([data-theme=dark]) .blog-card-meta{font-size:.78rem!important;color:#1f2937!important}:root[data-theme=dark] .blog-card-meta{font-size:.78rem!important;color:#e5e7eb!important}:root:not([data-theme=dark]) .blog-card-summary{color:#111827!important}:root[data-theme=dark] .blog-card-summary{color:#f3f4f6!important}.timeline-company{margin:.15rem 0;font-weight:600}.timeline-meta{margin:0;color:var(--text-soft);font-size:.92rem}.resume-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.resume-grid-item h3{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:0}.chips span{padding:.1rem .55rem;border:1px solid var(--border);border-radius:999px;font-size:.84rem}.resume-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.plain-list{margin:0;padding-left:1.1rem}.network-icon{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;list-style:none;margin:0;padding:0}.skills-content{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem}.skills-icon{display:inline-flex;align-items:center;justify-content:center;width:.85rem;height:.85rem;margin-bottom:0;flex-shrink:0}.skills-icon .resume-icon,.skills-icon .resume-icon-img{width:.85rem;height:.85rem;font-size:.65rem}.skills-name{line-height:1.35}.w-100{width:100%}.avatar-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:150px;height:150px;margin-left:auto;margin-right:auto;overflow:visible}.avatar-frame{width:100%;height:100%;border-radius:9999px;overflow:hidden;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center}.avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.avatar-emoji{position:absolute;right:0;bottom:0;z-index:2;width:40px;height:40px;line-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 6px rgba(15,23,42,.18);line-height:1;font-size:1.05rem}#section-resume-biography #profile{margin-left:auto!important;margin-right:auto!important}#section-resume-biography .bio-text{margin-left:auto;margin-right:auto}:root:not([data-theme=dark]) #section-resume-biography #profile,:root:not([data-theme=dark]) #section-resume-biography #profile h1,:root:not([data-theme=dark]) #section-resume-biography #profile h2,:root:not([data-theme=dark]) #section-resume-biography #profile h3,:root:not([data-theme=dark]) #section-resume-biography #profile p,:root:not([data-theme=dark]) #section-resume-biography #profile li,:root:not([data-theme=dark]) #section-resume-biography #profile span,:root:not([data-theme=dark]) #section-resume-biography #profile div{color:var(--text)!important}.blox-resume-experience li>span.absolute{left:-2.25rem;inset-inline-start:-2.25rem;z-index:1;background:var(--surface)!important;box-shadow:0 0 0 8px var(--surface)}.blox-resume-experience li>span.absolute .resume-icon-img{background:0 0;border-radius:9999px;width:.95rem;height:.95rem}:root[data-theme=dark] .blox-resume-experience li>span.absolute .resume-icon-img{filter:brightness(0)invert(1)!important;opacity:1!important}.blox-resume-experience li{position:relative}:root[data-theme=dark] .blox-resume-experience .prose{color:#cbd5e1}:root[data-theme=dark] #section-resume-education .text-gray-500,:root[data-theme=dark] #section-resume-education .text-gray-500 a,:root[data-theme=dark] #section-resume-experience .text-gray-500,:root[data-theme=dark] #section-resume-experience .text-gray-500 a,:root[data-theme=dark] #section-resume-skills .skills-name{color:#cbd5e1!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .blox-resume-experience .prose{color:#cbd5e1}:root:not([data-theme=light]) #section-resume-education .text-gray-500,:root:not([data-theme=light]) #section-resume-education .text-gray-500 a,:root:not([data-theme=light]) #section-resume-experience .text-gray-500,:root:not([data-theme=light]) #section-resume-experience .text-gray-500 a,:root:not([data-theme=light]) #section-resume-skills .skills-name{color:#cbd5e1!important}}#section-resume-education .text-gray-500,#section-resume-education .text-gray-500 a,#section-resume-skills .skills-name{color:#475569!important}#section-resume-experience .text-gray-500,#section-resume-experience .text-gray-500 a,#section-resume-education .text-gray-500,#section-resume-education .text-gray-500 a{color:#475569!important}#section-resume-experience .prose ul{list-style:disc;padding-left:1.25rem;margin:.5rem 0}#section-resume-experience .prose ol{list-style:decimal;padding-left:1.25rem;margin:.5rem 0}#section-resume-experience .prose li{display:list-item;margin:.25rem 0}@media(max-width:768px){.blog-timeline-group{grid-template-columns:1fr;gap:.75rem}.blog-timeline::before{left:0}.blog-timeline-group-title{margin-bottom:.15rem;text-align:left;justify-self:start}.resume-hero{flex-direction:column}.resume-contact{text-align:left}.resume-columns{grid-template-columns:1fr}}