:root{--bg: #fff;--fg: #222;--muted: #666;--border: #ddd;--link: #0366d6;--tag-bg: #f0f0f0;--tag-fg: #444;--status-active: #22863a;--status-archived: #6a737d;--status-merged: #6f42c1;--status-open: #22863a;--status-closed: #cb2431;--type-pr: #0366d6;--type-issue: #e36209;--type-comment: #6a737d;--role-speaker: #6f42c1;--role-attendee: #6a737d;--role-volunteer: #d97706;--pre-bg: #f6f8fa;--pre-fg: #222}@media (prefers-color-scheme: dark){:root{--bg: #1a1a1c;--fg: #d4d4d4;--muted: #888;--border: #333;--link: #58a6ff;--tag-bg: #2a2a2e;--tag-fg: #bbb;--status-active: #3fb950;--status-archived: #8b949e;--status-merged: #a371f7;--status-open: #3fb950;--status-closed: #f85149;--type-pr: #58a6ff;--type-issue: #d29922;--type-comment: #8b949e;--role-speaker: #a371f7;--role-attendee: #8b949e;--role-volunteer: #f59e0b;--pre-bg: #161b22;--pre-fg: #c9d1d9}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem}header{margin-bottom:2.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}nav{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;font-size:.9rem}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--link)}nav .logo{color:var(--fg);font-weight:600;font-size:1rem}nav .nav-sep{color:var(--border);user-select:none}nav .feed{margin-left:auto}.nav-mob{display:none}section{margin-bottom:3rem}h1{font-size:1.75rem;font-weight:600;margin-bottom:.25rem}h2{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.role{color:var(--muted);font-size:.95rem;margin-bottom:.75rem}.bio{color:var(--fg);max-width:600px}.section-desc{color:var(--muted);font-size:.85rem;margin-bottom:1rem}.item-list{list-style:none}.item-list li{padding:.5rem 0;border-bottom:1px solid var(--border);line-height:1.5}.item-list li:last-child{border-bottom:none}.item-date{color:var(--muted);font-size:.8rem;font-family:"SF Mono","Fira Code","Fira Mono",Menlo,Consolas,monospace;white-space:nowrap;margin-right:.5rem}.item-meta{color:var(--muted);font-size:.8rem;margin-left:.5rem}.item-desc{color:var(--muted);font-size:.85rem;display:block;margin-top:.15rem}.item-status{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-left:.5rem;padding:.1rem .35rem;border-radius:3px;background:var(--tag-bg);color:var(--tag-fg)}.item-status.active{color:var(--status-active)}.item-status.archived{color:var(--status-archived)}.item-status.open{color:var(--status-open)}.item-status.closed{color:var(--status-closed)}.item-status.merged{color:var(--status-merged)}.activity-type{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-right:.4rem;padding:.1rem .35rem;border-radius:3px;background:var(--tag-bg);color:var(--tag-fg)}.activity-type.pr{color:var(--type-pr)}.activity-type.issue{color:var(--type-issue)}.activity-type.comment{color:var(--type-comment)}.activity-detail{display:block;margin-top:.15rem;font-size:.8rem;color:var(--muted)}.activity-detail .item-date{margin-right:.5rem}.activity-repo{color:var(--muted)}.conf-role{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-left:.5rem;padding:.1rem .35rem;border-radius:3px;background:var(--tag-bg);color:var(--tag-fg)}.conf-role.speaker{color:var(--role-speaker)}.conf-role.attendee{color:var(--role-attendee)}.conf-role.volunteer{color:var(--role-volunteer)}.cert-acronym{font-size:.7rem;font-weight:600;margin-right:.5rem;padding:.1rem .35rem;border-radius:3px;background:var(--pre-bg);color:var(--link)}.lang-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-right:.5rem;padding:.1rem .35rem;border-radius:3px;background:var(--tag-bg);color:var(--tag-fg)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:"SF Mono","Fira Code","Fira Mono",Menlo,Consolas,monospace;font-size:.85rem}code{background:var(--pre-bg);padding:.1rem .3rem;border-radius:3px}pre{background:var(--pre-bg);color:var(--pre-fg);padding:.75rem 1rem;overflow-x:auto;border-radius:3px;margin:.75rem 0;line-height:1.45}#contact ul{list-style:none}#contact li{padding:.25rem 0}#contact code{font-size:.85rem}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}footer a{color:var(--muted)}.blog-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.blog-meta{color:var(--muted);font-size:.85rem;margin-top:.25rem}.blog-content{line-height:1.75}.blog-content h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.15rem;border-bottom:1px solid var(--border);padding-bottom:.2rem}.blog-content h3{margin-top:1.25rem;margin-bottom:.4rem;font-size:1.05rem}.blog-content p{margin-bottom:.75rem}.blog-content ul,.blog-content ol{margin:.5rem 0 .75rem 1.5rem}.blog-content li{margin-bottom:.25rem}.blog-content blockquote{margin:.75rem 0;padding:.25rem 0 .25rem .75rem;border-left:3px solid var(--link);color:var(--muted)}.blog-content img{max-width:100%;height:auto}.blog-nav{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.9rem}.giallo-l{display:inline-block;min-height:1lh;width:100%}.giallo-ln{display:inline-block;user-select:none;margin-right:.4em;padding:.4em;min-width:3ch;text-align:right;opacity:.8}@media (max-width: 500px){body{padding:1rem .75rem 2rem}h1{font-size:1.5rem}nav{font-size:.8rem}.blog-nav{flex-direction:column;gap:.5rem}.nav-desk{display:none}.nav-mob{display:flex}.nav-menu{margin-left:auto;position:relative}.nav-menu>summary{display:inline-block;cursor:pointer;color:var(--muted);list-style:none}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:hover{color:var(--link)}.nav-dropdown{position:absolute;top:100%;right:0;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.35rem .6rem;min-width:110px;z-index:10}.nav-dropdown a{display:block;padding:.25rem 0;white-space:nowrap}.nav-dropdown .feed{margin-left:0;border-top:1px solid var(--border);margin-top:.2rem;padding-top:.3rem}}