@font-face{font-family:Geist Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2")}@font-face{font-family:Geist Mono Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2")}:root{color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080b12;--surface:#0c1220;--elevated:#142035;--ink:#e9eef7;--muted:#a3afc2;--accent:#4d8dff;--cyan:#72cfff;--line:#354864;--success:#9ed8bf;--warning:#f3b8a5;--margin:clamp(20px, 3.3vw, 56px);--small:14px;--body:17px;--lead:clamp(20px, 1.7vw, 25px);--heading:clamp(34px, 4vw, 58px);--display:clamp(64px, 9.1vw, 148px);--ease:cubic-bezier(.22, 1, .36, 1);font-family:Geist Variable,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty;line-height:1.6}h2{font-size:var(--heading);letter-spacing:-.045em;font-weight:500;line-height:1.06}h3{letter-spacing:-.035em;font-size:30px;font-weight:500;line-height:1.15}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}code,pre{font-family:Geist Mono Variable,monospace}main,footer,.header{max-width:1800px;margin-inline:auto}section[id]{scroll-margin-top:30px}.section-space{padding:112px var(--margin)}.skip-link{background:var(--ink);color:var(--bg);z-index:100;padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:16px}.header{min-height:92px;padding:0 var(--margin);justify-content:space-between;align-items:center;gap:30px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:13px;font-size:17px;font-weight:550;display:inline-flex}.wordmark svg{fill:none;width:33px;height:30px;stroke:var(--ink);stroke-width:2.2px}.navigation{align-items:center;gap:clamp(14px,1.8vw,28px);font-size:14px;display:flex}.navigation>a{min-height:44px;color:var(--muted);align-items:center;display:flex;position:relative}.navigation>a[aria-current]{color:var(--ink)}.navigation>a[aria-current]:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:4px;left:0;right:0}.navigation .nav-github{color:var(--ink);gap:8px;margin-left:16px;display:flex}.menu-toggle{display:none!important}.icon-button{background:var(--elevated);border-radius:3px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.hero{padding:68px var(--margin) 0}.hero h1{font-size:var(--display);letter-spacing:-.065em;max-width:100%;padding-bottom:9px;font-weight:500;line-height:1.02}.headline-line{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.headline-line>span{display:block}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:60px;margin-top:50px;display:flex}.hero-intro>p{font-size:var(--lead);letter-spacing:-.02em;max-width:49ch;line-height:1.5}.hero-meta{color:var(--muted);font-size:var(--small);gap:28px;margin-top:22px;display:flex}.hero-actions{flex-shrink:0;min-width:208px}.button{background:var(--ink);min-height:50px;color:var(--bg);transition:transform .16s var(--ease), background-color .16s;border-radius:3px;justify-content:center;align-items:center;gap:14px;padding:14px 23px;font-size:15px;font-weight:550;display:inline-flex}.button.primary{background:var(--accent);color:var(--bg);width:100%}.hero-secondary{font-size:var(--small);justify-content:space-between;gap:25px;margin-top:20px;display:flex}.hero-secondary a{align-items:center;gap:8px;min-height:36px;display:flex}.hero-foot{background:var(--surface);margin-top:68px;margin-inline:calc(-1 * var(--margin));padding-block:25px;padding-inline:var(--margin);justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-foot p{font-size:var(--small);color:var(--muted)}.mini-network{align-items:center;gap:13px;font-size:13px;display:flex}.mini-network svg{width:52px;height:16px;stroke:var(--line);fill:var(--cyan)}.mini-network circle{stroke:none}.section-intro{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:50px;display:grid}.section-intro>p{max-width:42ch;font-size:var(--body);color:var(--muted);justify-self:end}.filter-bar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{font-size:var(--small);min-height:44px;color:var(--muted);background:0 0;border-radius:3px;padding:10px 17px;transition:background-color .18s,color .18s}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.result-count{font-size:var(--small);color:var(--muted);white-space:nowrap}.project-list{flex-direction:column;gap:76px;display:flex}.project-row{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(30px,5vw,80px);display:grid}.project-visual{background:var(--surface);align-self:stretch;align-items:center;min-width:0;min-height:340px;display:flex}.project-graphic{width:100%;height:auto;display:block}.project-copy{max-width:530px;padding-block:10px}.project-category{font-size:var(--small);color:var(--muted);margin-bottom:15px}.project-subtitle{margin-bottom:13px;font-size:18px;line-height:1.4}.project-copy>p:not(.project-category):not(.project-subtitle){color:var(--muted);font-size:16px;line-height:1.65}.stack-list{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-block:22px;font-size:13px;display:flex}.stack-list li{background:var(--surface);border-radius:2px;padding:5px 9px}.project-actions{align-items:center;gap:26px;display:flex}.project-actions>a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.text-button{background:0 0;align-items:center;gap:13px;min-height:44px;padding:10px 0;font-size:15px;font-weight:500;display:inline-flex}.text-button svg{transition:transform .18s var(--ease)}.evidence-label{color:var(--muted);margin-top:15px;font-size:13px;display:block}.wire{fill:none;stroke:var(--cyan);stroke-width:2px}.return-wire{stroke:var(--line)}.diagram-node rect{fill:var(--bg)}.diagram-node.secondary rect{fill:var(--surface)}.diagram-label{fill:var(--ink);text-anchor:middle;font-family:Geist Variable,sans-serif;font-size:16px}.diagram-meta{fill:var(--muted);text-anchor:middle;font-family:Geist Mono Variable,monospace;font-size:12px}.packet-marker{fill:var(--cyan)}.muted-marker{fill:var(--muted)}.diagram-arrow{fill:none;stroke:var(--cyan);stroke-width:2px}.diagram-band{fill:var(--surface)}.shell-graphic{width:100%;padding:32px}.shell-top,.policy-head{color:var(--muted);justify-content:space-between;gap:20px;font-size:14px;display:flex}.shell-top code{color:var(--cyan);font-size:13px}.shell-flow{gap:9px;margin-top:30px;font-size:12px;display:flex}.shell-flow>span{background:var(--elevated);text-align:center;flex:1;padding:7px 9px}.shell-graphic pre{white-space:pre-wrap;margin:24px 0;font-size:clamp(11px,1vw,14px);line-height:1.9}.code-muted{color:var(--muted)}.code-accent{color:var(--cyan)}.graphic-caption{color:var(--muted);font-size:13px}.policy-graphic{width:100%;padding:32px}.policy-head{margin-bottom:20px}.policy-head span:last-child{font-size:12px}.policy-lines>div{align-items:center;gap:16px;padding:15px 10px;font-size:16px;display:flex}.policy-lines>div:nth-child(odd){background:var(--elevated)}.policy-lines code{color:var(--muted);margin-left:auto;font-size:12px}.policy-track{color:var(--cyan)}.policy-graphic .graphic-caption{margin-top:22px}.notes-intro{justify-content:space-between;gap:20px;margin-bottom:20px;font-size:16px;display:flex}.notes-intro>span{color:var(--muted);font-size:13px}.lab-note{justify-content:space-between;gap:40px;padding-block:22px;display:flex}.lab-note h3{margin-bottom:9px;font-size:23px}.lab-note p{color:var(--muted);max-width:70ch;font-size:15px}.lab-note .icon-button{flex-shrink:0;align-self:center}.lab-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.lab-toolbar p{font-size:15px}.lab-toolbar p span{color:var(--muted);margin-left:20px;font-size:13px;display:inline-block}.lab-toolbar button{color:var(--muted);font-size:13px}.topology{justify-content:center;margin:45px 0 38px;padding:0 10px;display:flex}.topology-piece{align-items:center;min-width:0;display:flex}.topology-node{background:var(--surface);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:190px;min-height:174px;padding:20px;transition:background-color .18s;display:flex;position:relative}.topology-node.is-selected{background:var(--elevated)}.topology-node.is-selected:after{content:"";background:var(--cyan);height:3px;position:absolute;bottom:0;left:24px;right:24px}.topology-node>svg{color:var(--muted)}.topology-node strong{font-size:16px;font-weight:500}.topology-node>span{color:var(--muted);font-size:12px}.topology-node.is-current>svg{color:var(--cyan)}.topology-link{text-align:center;width:clamp(60px,11vw,160px);color:var(--muted);padding:12px 5px;font-size:12px}.topology-link svg{width:100%;stroke:var(--line);stroke-width:1.5px;fill:none;margin-top:6px;display:block}.topology-link.is-active svg{stroke:var(--cyan)}.travelling-packet{opacity:0;fill:var(--cyan);stroke:none}.node-inspector{background:var(--surface);grid-template-columns:180px 1fr;align-items:start;gap:30px;padding:24px;display:grid}.node-inspector>span{color:var(--cyan);font-size:15px}.node-inspector>p{color:var(--muted);max-width:76ch;min-height:48px;font-size:15px}.trace-bottom{justify-content:space-between;gap:40px;padding-top:28px;display:flex}.trace-output{max-width:660px}.trace-output>span{font-size:17px}.trace-output>p{color:var(--muted);min-height:65px;margin-top:9px;font-size:14px}.trace-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.trace-actions>.text-button{font-size:13px}.trace-progress{gap:5px;margin-top:28px;display:flex}.trace-progress>span{background:var(--elevated);flex:1;height:3px}.trace-progress>span.done{background:var(--cyan)}.expertise-section{grid-template-columns:5fr 7fr;gap:80px;display:grid}.expertise-heading{align-self:start;position:sticky;top:45px}.expertise-heading>p{font-size:var(--lead);max-width:25ch;margin-top:32px}.expertise-heading .text-button{color:var(--muted);margin-top:32px}.expertise-status{justify-content:space-between;align-items:center;gap:20px;padding:0 24px 24px;font-size:17px;display:flex}.expertise-status>span{color:var(--muted);font-size:13px}.expertise-rows{margin:0}.expertise-rows>div{background:var(--surface);grid-template-columns:125px 1fr;gap:20px;padding:27px 24px;display:grid}.expertise-rows dt{color:var(--muted);font-size:14px}.expertise-rows dd{margin:0}.expertise-rows strong{font-size:17px;font-weight:500}.expertise-rows p{color:var(--muted);margin-top:10px;font-size:15px}.hands-on{margin-top:38px;padding-inline:24px}.hands-on h3{margin-bottom:16px;font-size:23px}.hands-on p{color:var(--muted);font-size:16px}.hands-on a{align-items:center;gap:12px;min-height:44px;margin-top:16px;font-size:14px;display:inline-flex}.research-index{flex-direction:column;gap:8px;display:flex}.research-item summary{cursor:pointer;letter-spacing:-.025em;grid-template-columns:1fr 280px 30px;align-items:center;gap:24px;padding:28px 30px;font-size:clamp(22px,2.5vw,34px);list-style:none;display:grid}.research-item summary::-webkit-details-marker{display:none}.research-topic{color:var(--muted);letter-spacing:0;font-size:14px}.expand-icon{color:var(--muted);text-align:center;font-size:26px;font-weight:300}.research-item[open] .expand-icon{transform:rotate(45deg)}.research-answer{grid-template-columns:1fr 1fr;gap:45px;padding:0 30px 30px;font-size:17px;display:grid}.research-answer>p+p{color:var(--muted);font-size:15px}.about-section{grid-template-columns:1.1fr 1fr;gap:clamp(50px,10vw,150px);display:grid}.about-story>p{max-width:55ch;font-size:16px}.about-story .about-lead{font-size:var(--lead);letter-spacing:-.015em;margin:30px 0 24px;line-height:1.5}.about-story>p:not(.about-lead){color:var(--muted)}.about-story .languages{margin-top:30px;font-size:14px}.about-history>h3{margin-bottom:35px;font-size:23px}.history-item{background:var(--surface);margin-bottom:10px;padding:24px}.history-item>span{color:var(--muted);font-size:13px}.history-item h4{letter-spacing:-.02em;margin:10px 0;font-size:18px;font-weight:500;line-height:1.35}.history-item p{color:var(--muted);font-size:14px}.highlights{margin-top:30px}.highlights p{color:var(--muted);font-size:15px}.highlights p+p{margin-top:14px}.highlights strong{color:var(--ink);font-weight:500}.contact-section{background:var(--elevated)}.contact-heading{justify-content:space-between;align-items:flex-end;gap:50px;display:flex}.contact-heading h2{font-size:clamp(52px,8vw,115px);line-height:.98}.contact-heading p{max-width:30ch;font-size:var(--body);color:var(--muted);margin-bottom:5px}.contact-email{letter-spacing:-.04em;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:30px;margin:60px 0 35px;padding:15px 0;font-size:clamp(21px,4.25vw,64px);line-height:1.2;display:flex}.contact-email svg{width:46px;height:46px}.contact-links{flex-wrap:wrap;justify-content:space-between;gap:50px;font-size:15px;display:flex}.contact-links>a{align-items:center;gap:10px;min-height:44px;display:flex}footer{padding:42px var(--margin) 35px}.footer-top{justify-content:space-between;align-items:center;gap:30px;font-size:14px;display:flex}.footer-top>div{color:var(--muted);gap:24px;display:flex}.footer-top>span{color:var(--muted)}.footer-top a{align-items:center;min-height:44px;display:inline-flex}.footer-signoff{letter-spacing:-.06em;color:var(--muted);margin-top:50px;font-size:clamp(34px,8vw,120px);line-height:1.15}.project-dialog{background:var(--surface);width:min(860px,100% - 48px);max-height:calc(100dvh - 64px);color:var(--ink);overscroll-behavior:contain;border:0;border-radius:5px;padding:0}.project-dialog::backdrop{background:#000000c7}.dialog-toolbar{background:var(--surface);z-index:2;color:var(--muted);justify-content:space-between;align-items:center;padding:16px 24px;font-size:13px;display:flex;position:sticky;top:0}.dialog-content{padding:12px 48px 48px}.dialog-content>h2{margin-bottom:20px;font-size:clamp(31px,4.5vw,49px)}.dialog-question{letter-spacing:-.025em;font-size:23px;line-height:1.4}.dialog-content .stack-list li{background:var(--elevated)}.detail-flow{background:var(--bg);align-items:stretch;gap:8px;margin-top:28px;padding:20px;display:flex}.detail-flow>div{flex:1;justify-content:space-between;align-items:center;gap:14px;min-width:0;font-size:13px;display:flex}.detail-flow>div>span+span{color:var(--cyan);font-size:18px}.dialog-content>section{margin-top:34px}.dialog-content h3{margin-bottom:12px;font-size:23px}.dialog-content section>p{color:var(--muted);font-size:16px}.dialog-content .limitations{background:var(--elevated);padding:24px}.dialog-content>.button{margin-top:30px}.source-note{color:var(--muted);margin-top:24px;font-size:14px}.firewall-demo{background:var(--bg);margin-top:35px;padding:25px}.firewall-demo>p{color:var(--muted);font-size:14px}.preset-row{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.preset-row>button{background:var(--elevated);border-radius:3px;min-height:40px;padding:10px;font-size:12px}.firewall-demo form{grid-template-columns:1.3fr 1fr 1fr;align-items:end;gap:16px;display:grid}.firewall-demo label{flex-direction:column;gap:9px;min-width:0;font-size:13px;display:flex}.firewall-demo input,.firewall-demo select{background:var(--surface);border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:3px;padding:10px;font-size:14px}.firewall-demo form .button{grid-column:1/-1;justify-self:start;margin-top:2px}.rule-list{margin:22px 0;padding:0;font-size:14px;list-style-position:inside}.rule-list li{color:var(--muted);padding:10px}.rule-list li.matched-rule{background:var(--elevated);color:var(--ink)}.rule-list li>span{float:right;color:var(--warning);font-size:12px}.firewall-result{background:var(--surface);padding:17px}.firewall-result strong{font-size:17px;font-weight:500}.firewall-result.allow strong{color:var(--success)}.firewall-result.deny strong{color:var(--warning)}.firewall-result>p{margin-top:8px;font-size:14px}.firewall-demo .fine-print{margin-top:20px;font-size:12px}@media (hover:hover){a:hover{color:var(--cyan)}.button:hover{background:var(--cyan);color:var(--bg);transform:translateY(-2px)}.text-button:hover svg{transform:translate(4px)}.filters button:hover:not([aria-pressed=true]){background:var(--surface);color:var(--ink)}.icon-button:hover,.preset-row>button:hover{background:var(--line)}.topology-node:hover{background:var(--elevated)}.research-item summary:hover{color:var(--cyan)}}.button:active,.icon-button:active{transform:scale(.98)}@media (prefers-reduced-motion:no-preference){.headline-line>span{animation:headline-in .9s var(--ease) both}.headline-line:nth-child(2)>span{animation-delay:.11s}.hero-intro,.hero-actions{animation:rise-in .8s .25s var(--ease) both}.hero-foot{animation:rise-in .8s .35s var(--ease) both}[data-reveal].entered .project-visual{animation:visual-in .7s var(--ease) both}[data-reveal].entered .project-copy>*{animation:rise-in .65s var(--ease) both}[data-reveal].entered .project-copy>:nth-child(2){animation-delay:60ms}[data-reveal].entered .project-copy>:nth-child(3){animation-delay:.12s}.research-item.entered{animation:row-in .65s var(--ease) both}.is-tracing .is-active .travelling-packet{opacity:1;animation:1.4s linear infinite packet}.project-dialog[open]{animation:dialog-in .22s var(--ease)}@keyframes headline-in{0%{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes visual-in{0%{opacity:.4;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes row-in{0%{opacity:.4;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes packet{0%{transform:translate(0)}to{transform:translate(126px)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}@media (width>=1600px){.hero{padding-top:90px}.hero-bottom{margin-top:65px}.hero-foot{margin-top:80px}}@media (width<=1100px){.navigation{gap:15px;font-size:13px}.navigation .nav-github{margin-left:0}.wordmark{gap:9px;font-size:15px}.hero{padding-top:60px}.hero-bottom{gap:40px}.hero-intro{max-width:570px}.hero-foot p{max-width:36ch}.project-row{gap:35px}.project-visual{min-height:310px}.shell-graphic,.policy-graphic{padding:24px}.shell-flow{font-size:10px}.expertise-section{gap:40px}.expertise-rows>div{grid-template-columns:1fr;gap:12px}.research-item summary{grid-template-columns:1fr 220px 24px}.topology-node{width:170px}.hero-secondary{gap:14px}.hero-actions{min-width:190px}}@media (width<=860px){.header{min-height:78px;position:relative}.menu-toggle{display:flex!important}.navigation{background:var(--surface);padding:24px var(--margin) 30px;z-index:10;grid-template-columns:1fr 1fr;gap:10px 30px;font-size:17px;display:none;position:absolute;top:78px;left:0;right:0;box-shadow:0 20px 35px #0000004d}.navigation.is-open{display:grid}.navigation>a[aria-current]:after{width:24px;bottom:2px;right:auto}.navigation .nav-github{margin-top:8px}.hero{padding-top:50px}.hero-bottom{align-items:flex-start;margin-top:40px}.hero-intro>p{font-size:20px}.hero-meta{flex-direction:column;gap:5px;font-size:13px}.hero-foot{margin-top:44px}.hero-foot p{font-size:12px}.mini-network{gap:8px;font-size:12px}.mini-network svg{width:30px}.section-space{padding-block:82px}.section-intro{gap:25px;margin-bottom:35px}.section-intro>p{font-size:15px}.filter-bar{align-items:flex-start}.filters{gap:5px}.filters button{padding-inline:12px;font-size:12px}.result-count{padding-top:13px;font-size:12px}.project-row{grid-template-columns:1fr 1fr;gap:26px}.project-copy h3{font-size:28px}.project-copy>p:not(.project-category):not(.project-subtitle){font-size:15px}.project-subtitle{font-size:16px}.project-category{font-size:12px}.project-visual{min-height:280px}.shell-graphic,.policy-graphic{padding:16px}.shell-top,.policy-head{font-size:12px}.shell-flow{flex-wrap:wrap;gap:4px;margin-top:18px}.shell-flow>span{padding:6px;font-size:10px}.shell-graphic pre{font-size:10px}.graphic-caption{font-size:11px}.policy-lines>div{gap:8px;padding:13px 4px;font-size:13px}.policy-lines code,.policy-head span:last-child{font-size:10px}.stack-list{gap:6px;margin-block:16px;font-size:12px}.evidence-label{font-size:12px}.notes-intro{flex-direction:column;gap:6px}.topology{padding:0}.topology-node{width:150px;min-height:155px;padding:16px}.topology-link{width:72px}.topology-node>span{font-size:10px}.network-lab{padding:24px}.node-inspector{grid-template-columns:130px 1fr;gap:20px}.node-inspector p{font-size:14px}.trace-bottom{gap:24px}.trace-actions .button{padding-inline:15px;font-size:13px}.expertise-section{grid-template-columns:4fr 6fr;gap:30px}.expertise-status{flex-direction:column;align-items:flex-start;gap:4px;padding-inline:16px}.expertise-rows>div{padding:23px 16px}.expertise-heading>p{font-size:20px}.hands-on{padding-inline:16px}.research-item summary{grid-template-columns:1fr 190px 24px;padding:24px;font-size:26px}.research-topic{font-size:12px}.about-section{gap:45px}.about-history>h3{font-size:21px}.history-item h4{font-size:17px}.contact-heading p{max-width:26ch;font-size:16px}.contact-links{gap:24px}.footer-top{flex-wrap:wrap}.footer-signoff{margin-top:30px}}@media (width<=600px){:root{--margin:20px;--display:clamp(35px, 9vw, 54px);--heading:36px}.header{min-height:76px}.wordmark{font-size:16px}.hero{padding-top:42px}.hero h1{letter-spacing:-.055em;line-height:1.08}.hero-bottom{flex-direction:column;gap:25px;margin-top:30px}.hero-intro>p{font-size:18px;line-height:1.55}.hero-meta{flex-flow:wrap;gap:6px 17px;margin-top:18px;font-size:12px}.hero-actions{align-items:center;gap:20px;width:100%;min-width:0;display:flex}.hero-actions .button{flex-shrink:0;gap:10px;width:auto;min-height:48px;padding:12px 17px;font-size:13px}.hero-secondary{flex-wrap:wrap;justify-content:flex-start;gap:0 14px;margin:0;font-size:12px}.hero-secondary a{gap:6px}.hero-secondary svg{width:13px}.hero-foot{flex-direction:column;align-items:flex-start;gap:18px;margin-top:34px;padding-block:20px}.hero-foot p{max-width:100%;font-size:12px}.mini-network{gap:14px;font-size:12px}.mini-network svg{width:48px}.section-space{padding-block:64px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-intro h2{font-size:36px}.section-intro>p{justify-self:start;font-size:15px}.desktop-break{display:none}.filter-bar{flex-direction:column;gap:10px;margin-bottom:25px}.filters{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.filters button{text-align:left;background:var(--surface);padding-inline:12px;font-size:12px}.result-count{padding:0}.project-list{gap:45px}.project-row{grid-template-columns:1fr;gap:23px}.project-visual{min-height:220px}.project-graphic{max-height:310px}.project-copy{padding:0}.project-copy h3{font-size:30px}.project-category{margin-bottom:9px}.project-subtitle{font-size:17px}.project-copy>p:not(.project-category):not(.project-subtitle){font-size:16px}.project-actions{justify-content:space-between}.evidence-label{margin-top:7px}.shell-graphic,.policy-graphic{padding:24px}.shell-top,.policy-head{font-size:13px}.shell-flow{gap:6px;font-size:11px}.shell-flow>span{padding:8px 4px;font-size:10px}.shell-graphic pre{margin:20px 0;font-size:11px}.graphic-caption{font-size:12px}.policy-lines>div{gap:13px;padding:13px 8px;font-size:15px}.policy-lines code,.policy-head span:last-child{font-size:11px}.lab-notes{margin-top:42px;padding:23px}.notes-intro{font-size:16px}.notes-intro>span{font-size:12px}.lab-note{gap:15px;padding-block:18px}.lab-note h3{font-size:23px}.lab-note p{font-size:14px}.lab-note .icon-button{width:38px}.network-lab{padding:20px}.lab-toolbar{align-items:flex-start;gap:12px}.lab-toolbar p{font-size:14px}.lab-toolbar p>span{margin:5px 0 0;font-size:11px;display:block}.lab-toolbar button{padding-top:0;font-size:12px}.topology{flex-direction:column;gap:0;margin:28px 0}.topology-piece{flex-direction:column;position:relative}.topology-node{text-align:left;grid-template-rows:auto auto;grid-template-columns:35px 1fr;place-content:center start;gap:5px 20px;width:100%;min-height:90px;padding:20px 24px;display:grid}.topology-node>svg{grid-row:1/3}.topology-node strong{font-size:16px}.topology-node>span{font-size:12px}.topology-node.is-selected:after{width:3px;height:auto;inset:16px auto 16px 0}.topology-link{justify-content:center;align-items:center;width:100%;height:49px;padding:0;display:flex;position:relative}.topology-link>span{font-size:11px;position:absolute;left:calc(50% + 24px)}.topology-link svg{width:46px;height:30px;margin:0;transform:rotate(90deg)}.node-inspector{grid-template-columns:1fr;gap:10px;padding:18px}.node-inspector p{min-height:0;font-size:14px}.node-inspector>span{font-size:14px}.trace-bottom{flex-direction:column;gap:22px;padding-top:23px}.trace-output>p{min-height:0;font-size:14px}.trace-actions{flex-direction:row;justify-content:space-between;gap:20px}.trace-actions .button{gap:8px;padding-inline:13px;font-size:12px}.trace-actions .text-button{gap:8px;font-size:12px}.trace-progress{margin-top:22px}.expertise-section{grid-template-columns:1fr;gap:42px}.expertise-heading{position:static}.expertise-heading h2 br{display:none}.expertise-heading h2{max-width:11ch}.expertise-heading>p{max-width:30ch;margin-top:24px;font-size:20px}.expertise-heading .text-button{margin-top:18px}.expertise-status{gap:5px;padding-left:0}.expertise-rows>div{grid-template-columns:1fr;gap:12px;padding:24px}.expertise-rows strong{font-size:17px}.expertise-rows p{font-size:16px}.hands-on{padding:0}.hands-on h3{font-size:24px}.hands-on a{gap:10px;font-size:13px}.research-item summary{grid-template-columns:1fr 24px;gap:9px 10px;padding:24px 20px;font-size:23px}.research-topic{grid-row:2;font-size:12px}.expand-icon{grid-area:1/2/3}.research-answer{grid-template-columns:1fr;gap:14px;padding:0 20px 24px;font-size:16px}.research-answer>p+p{font-size:14px}.about-section{grid-template-columns:1fr;gap:45px}.about-story .about-lead{margin:24px 0 20px;font-size:22px}.about-history>h3{margin-bottom:23px;font-size:24px}.history-item{padding:24px}.history-item h4{font-size:19px}.history-item p{font-size:15px}.highlights p{font-size:16px}.contact-heading{flex-direction:column;align-items:flex-start;gap:26px}.contact-heading h2{font-size:64px}.contact-heading p{max-width:32ch}.contact-email{letter-spacing:-.035em;gap:12px;margin:34px 0 26px;font-size:clamp(18px,5.3vw,30px)}.contact-email svg{width:24px;height:24px}.contact-links{flex-direction:column;gap:8px;font-size:14px}.footer-top{align-items:flex-start;gap:15px}.footer-top .wordmark{width:100%}.footer-top>div{flex-wrap:wrap;gap:19px;font-size:12px}.footer-top>span{align-items:center;min-height:44px;font-size:12px;display:flex}.footer-signoff{letter-spacing:-.05em;margin-top:25px;font-size:9vw}.project-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.dialog-toolbar{padding:12px 16px}.dialog-content{padding:12px 22px 30px}.dialog-content>h2{font-size:32px}.dialog-question{font-size:20px}.detail-flow{flex-direction:column;gap:12px;padding:18px}.detail-flow>div{font-size:14px}.detail-flow>div>span+span{transform:rotate(90deg)}.dialog-content h3{font-size:23px}.dialog-content section>p{font-size:16px}.dialog-content .limitations{padding:20px}.firewall-demo{margin-inline:-6px;padding:18px}.firewall-demo form{grid-template-columns:1fr}.firewall-demo form .button{width:100%}.preset-row>button{min-height:44px;font-size:11px}.rule-list{font-size:12px}.rule-list li>span{font-size:10px}.firewall-demo .fine-print{font-size:12px}}@media (width<=359px){:root{--margin:16px;--heading:32px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:13px;font-size:12px}.hero-secondary,.hero-meta{font-size:11px}.section-intro h2{font-size:32px}.project-copy h3{font-size:27px}.shell-graphic,.policy-graphic{padding:17px}.shell-graphic pre{font-size:10px}.policy-head{font-size:12px}.policy-head span:last-child{font-size:10px}.network-lab{padding:16px}.trace-actions{gap:9px}.trace-actions .button{padding-inline:9px}.trace-actions .text-button{font-size:11px}.dialog-content{padding-inline:18px}.dialog-content>h2{font-size:28px}.footer-top>div{gap:14px}.footer-top>span{font-size:11px}}.mobile-project-graphic{display:none}.project-copy h3{margin-bottom:10px}.project-copy .project-category{margin-bottom:20px}.research-item{background:0 0}.research-item[open]{background:var(--bg)}.research-index{gap:4px}.research-item summary{padding-left:0;padding-right:8px}.research-item[open] summary{padding-inline:24px}.hero h1{padding-bottom:0}.shell-flow,.policy-head span:last-child,.policy-lines code,.graphic-caption,.topology-node>span,.topology-link,.lab-toolbar p span,.diagram-meta,.mini-network,.evidence-label,.shell-graphic pre{font-size:13px}@media (width>=601px) and (width<=860px){.project-row{grid-template-columns:1fr}.project-visual{min-height:350px}.project-graphic{max-height:390px}.project-copy{max-width:650px}.project-copy>p:not(.project-category):not(.project-subtitle){font-size:16px}.shell-graphic,.policy-graphic{padding:32px}.shell-flow{font-size:13px}.shell-graphic pre{font-size:15px}.policy-lines>div,.expertise-rows p{font-size:16px}}@media (width<=860px){.hero-foot p,.mini-network,.filters button,.result-count,.project-category,.stack-list,.evidence-label,.shell-top,.shell-top code,.shell-flow>span,.graphic-caption,.policy-head,.policy-head span:last-child,.policy-lines code,.notes-intro>span,.topology-node>span,.topology-link>span,.lab-toolbar p>span,.research-topic,.hero-meta,.hero-secondary,.trace-actions .text-button,.footer-top>div,.footer-top>span{font-size:13px}.hero-foot p{max-width:100%}.hero-foot{flex-wrap:wrap}}@media (width<=600px){.project-netlab .project-graphic,.project-socks .project-graphic{display:none}.mobile-project-graphic{width:100%;padding:24px;display:block}.mobile-graphic-step>div{background:var(--bg);justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;font-size:14px;display:flex}.mobile-graphic-step strong{font-weight:500}.mobile-graphic-step div>span{color:var(--muted);text-align:right;max-width:16ch;font-size:13px}.mobile-flow-arrow{text-align:center;color:var(--cyan);font-size:20px;line-height:1.4;display:block}.mobile-project-graphic>p{margin-top:20px;font-size:14px}.mobile-project-graphic>.graphic-caption{margin-top:12px;display:block}.project-socks .mobile-graphic-step>div{background:var(--elevated)}.project-netlab .project-visual,.project-socks .project-visual{min-height:0}.hero-actions{flex-wrap:wrap}.hero-secondary{flex:1;gap:0 14px;min-width:130px}.hero-actions .button{font-size:13px}.shell-flow{flex-direction:column}.shell-flow>span{font-size:13px}.shell-graphic pre{overflow-wrap:anywhere;font-size:13px}.policy-head{flex-direction:column;gap:5px}.policy-lines>div{font-size:15px}.hero-foot p{font-size:13px}.research-item summary{padding-block:23px}.research-topic{font-size:13px}.trace-actions{flex-wrap:wrap}.trace-actions .button,.trace-actions .text-button,.firewall-demo .fine-print,.preset-row>button,.rule-list,.rule-list li>span{font-size:13px}.rule-list li>span{float:none;padding-left:17px;display:block}.contact-email{font-size:clamp(18px,5.3vw,30px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.travelling-packet{display:none}}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden}:root{--bg:#0a0f16;--surface:#101923;--elevated:#1a2a3b;--ink:#ecf1f6;--muted:#a9b6c6;--accent:#83b9ff;--cyan:#9ad7ed;--paper:#dce6ef;--dark-ink:#162638;--margin:clamp(20px, 4.4vw, 72px);--heading:clamp(34px, 3.4vw, 49px)}.header{min-height:100px}.wordmark svg{width:38px;height:38px;stroke:var(--cyan)}.wordmark-role{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;display:block}.navigation>a[aria-current]:after{height:2px}.hero{padding-top:36px}.hero h1{letter-spacing:-.075em;padding-bottom:16px;font-size:clamp(76px,12.5vw,230px);font-weight:500;line-height:1.03}.hero .headline-line{overflow:hidden}.hero .headline-line>span{white-space:nowrap}.personal-hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:8%;margin-top:34px;display:grid}.hero-intro{max-width:500px}.hero-intro .hero-role{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(28px,2.5vw,36px);line-height:1.2}.hero-intro .personal-intro{color:var(--muted);letter-spacing:0;max-width:43ch;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.hero-actions .button.primary{width:auto;min-width:190px}.resume-action{align-items:center;gap:10px;min-height:48px;font-size:14px;display:inline-flex}.hero-meta{flex-direction:column;gap:5px;margin-top:30px;font-size:13px;display:flex}.hero-foot{background:0 0;margin:38px 0 0;padding:22px 0 28px}.hero-foot>a{align-items:center;gap:12px;font-size:14px;display:inline-flex}.hero-foot p{font-size:14px}.work-map{background:var(--surface);padding:22px 26px 18px;position:relative}.work-map-heading{justify-content:space-between;gap:20px;font-size:13px;display:flex}.work-map-heading>span:last-child{color:var(--muted)}.vp-map{width:100%;height:210px;margin:4px 0 14px;display:block;overflow:visible}.map-route path{fill:none;stroke:var(--line);stroke-width:12px;stroke-linejoin:bevel;transition:stroke .18s}.map-route circle{fill:var(--ink);stroke:var(--surface);stroke-width:4px}.map-route.selected path{stroke:var(--accent)}.map-route.selected circle{fill:var(--accent)}.map-junction{fill:var(--surface);stroke:var(--cyan);stroke-width:3px}.work-map-links{grid-template-columns:1fr 1fr;gap:6px;display:grid}.work-map-links button{text-align:left;background:var(--bg);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:13px 15px;font-size:15px;display:flex}.work-map-links button.selected{background:var(--elevated)}.work-map-links small{color:var(--muted);margin-top:3px;font-size:13px;display:block}.work-map-links svg{color:var(--cyan)}.work-map-caption{color:var(--muted);margin-top:12px;font-size:13px}.section-space{padding-block:100px}.section-intro{margin-bottom:38px}.projects-section{background:var(--surface)}.projects-section .section-intro>p{font-size:16px}.filter-bar{margin-bottom:26px}.filters button{padding-inline:14px}.filters button[aria-pressed=true]{background:var(--accent)}.project-list{grid-template-columns:1fr 1fr;gap:28px;display:grid}.project-row{background:var(--bg);flex-direction:column;align-items:stretch;gap:0;display:flex}.project-row .project-visual{background:var(--elevated);min-height:300px;overflow:hidden}.project-row .project-copy{max-width:none;padding:30px}.project-copy h3{margin-bottom:8px;font-size:clamp(28px,2.5vw,36px)}.project-copy .project-category{color:var(--cyan);margin:0 0 20px;font-size:13px}.project-copy .project-subtitle{font-size:18px}.project-copy>p:not(.project-category):not(.project-subtitle){color:var(--muted)}.project-copy .stack-list{margin-block:22px 16px}.project-actions{justify-content:space-between}.project-actions .text-button{background:var(--elevated);min-height:44px;padding:0 16px}.evidence-label{margin-top:16px}.project-netlab,.project-firewall{grid-column:1/-1;grid-template-columns:1.12fr 1fr;align-items:stretch;display:grid}.project-netlab .project-visual{background:var(--elevated)}.project-netlab .project-copy,.project-firewall .project-copy{align-self:center;padding:42px}.project-firewall .project-visual{background:var(--surface);order:2;margin:24px}.project-firewall .project-copy{order:1}.project-row .shell-graphic{width:100%;padding:30px}.project-row .policy-graphic{width:100%}.project-row .diagram-node rect{fill:var(--bg)}.project-row .shell-flow>span{background:var(--bg)}.lab-notes{background:var(--elevated);margin-top:28px;padding:30px}.lab-note{padding-block:24px}.lab-note+.lab-note{margin-top:0}.notes-intro{margin-bottom:2px}.network-section{background:var(--bg)}.network-lab{background:var(--surface);padding:32px}.topology-node{background:var(--bg)}.expertise-section{background:var(--surface);grid-template-columns:.8fr 1.2fr;gap:9%}.expertise-heading{position:sticky;top:40px}.expertise-heading>p{max-width:26ch;font-size:20px}.expertise-rows>div{background:var(--bg);padding:24px}.expertise-rows>div:nth-child(2n){background:var(--elevated)}.research-section{background:var(--bg)}.research-item summary{padding-block:25px;font-size:clamp(26px,3.1vw,44px)}.research-topic{font-size:14px}.research-answer{max-width:70ch;margin-left:0}.about-section{background:var(--surface);grid-template-columns:1fr 1fr;gap:12%}.about-story .about-lead{font-size:24px}.about-history{padding-top:8px}.history-item{background:var(--bg)}.contact-section{background:var(--paper);color:var(--dark-ink)}.contact-heading h2{font-size:clamp(48px,6.5vw,94px)}.contact-heading p,.contact-links{color:var(--dark-ink)}.contact-email{margin-block:55px 36px;font-size:clamp(22px,4.2vw,60px)}.contact-email:hover{color:var(--bg)}footer{background:var(--paper);color:var(--dark-ink);padding-top:0;overflow:hidden}.footer-top{padding-top:25px}.footer-top>span,.footer-top a{color:var(--dark-ink)}.footer-signoff{color:var(--dark-ink);letter-spacing:-.075em;white-space:nowrap;margin-bottom:-.2em;padding-top:35px;font-size:clamp(70px,12.4vw,222px);line-height:1.1}@media (prefers-reduced-motion:no-preference){.work-map{animation:rise-in .85s .2s var(--ease) both}.vp-map{animation:visual-in 1s .3s var(--ease) both}}@media (hover:hover){.work-map-links button:hover{background:var(--elevated)}.project-actions .text-button:hover{background:var(--accent);color:var(--bg)}.resume-action:hover{color:var(--cyan)}}@media (width<=1100px){.header{min-height:88px}.hero{padding-top:34px}.personal-hero-grid{gap:5%}.hero-actions{gap:10px 20px}.work-map{padding-inline:18px}.work-map-links button{padding-inline:12px}.project-netlab .project-copy,.project-firewall .project-copy{padding:26px}.project-row .project-visual{min-height:280px}.vp-map{height:180px}}@media (width<=860px){.hero h1{font-size:12.2vw}.personal-hero-grid{grid-template-columns:1fr 1fr;align-items:start;gap:30px}.hero-intro .hero-role{font-size:29px}.hero-intro .personal-intro{font-size:16px}.work-map-heading{display:block}.work-map-heading>span:last-child{margin-top:5px;display:block}.work-map-links{grid-template-columns:1fr}.work-map-links button{min-height:53px;padding-block:8px}.vp-map{height:155px}.hero-foot{margin-top:30px}.hero-foot p{max-width:32ch}.project-list{gap:24px}.project-netlab,.project-firewall{grid-template-columns:1fr}.project-netlab .project-visual{min-height:0}.project-row .project-copy{padding:24px}.project-firewall .project-visual{order:0;margin:0}.project-row .shell-graphic{padding:22px}.project-row .shell-flow{flex-direction:column}.project-row .shell-graphic pre{white-space:pre-wrap;font-size:13px}.project-row .project-visual{min-height:250px}.project-socks .project-graphic{display:none}.project-socks .mobile-project-graphic{width:100%;padding:24px;display:block}.project-row .mobile-graphic-step>div{background:var(--bg);justify-content:space-between;gap:15px;padding:12px;font-size:14px;display:flex}.project-row .mobile-graphic-step div>span{color:var(--muted);text-align:right;font-size:13px}.project-row .mobile-flow-arrow{text-align:center;color:var(--cyan);padding:6px;display:block}.expertise-section{grid-template-columns:.8fr 1.2fr;gap:30px}.expertise-heading{position:static}.expertise-heading>p{font-size:18px}.about-section{gap:40px}.about-story .about-lead{font-size:22px}}@media (width<=600px){.header{min-height:80px}.wordmark{font-size:15px}.wordmark-role{font-size:13px}.hero{padding-top:25px}.hero h1{letter-spacing:-.07em;max-width:100%;padding-bottom:12px;font-size:23vw;line-height:.98}.hero .headline-line>span{white-space:normal}.personal-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px;min-width:0;margin-top:28px}.hero-intro,.work-map{min-width:0;max-width:100%}.hero-intro .hero-role{margin-bottom:16px;font-size:28px}.hero-intro .personal-intro{font-size:16px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:23px;display:flex}.hero-actions .button.primary{width:auto;min-width:170px;padding-inline:17px}.resume-action{font-size:13px}.hero-meta{flex-direction:column;gap:4px;margin-top:20px}.work-map{padding:20px}.work-map-heading{display:flex}.work-map-heading>span:last-child{margin:0}.vp-map{height:190px;margin-block:4px 10px}.work-map-links{grid-template-columns:1fr 1fr}.work-map-links button{gap:5px;min-height:73px;padding:10px;font-size:14px}.work-map-links small{font-size:13px;line-height:1.35}.hero-foot{align-items:flex-start;gap:20px;margin:20px 0 0;padding:14px 0 35px;display:flex}.hero-foot p{max-width:24ch;font-size:13px}.hero-foot>a{white-space:nowrap;gap:5px;font-size:13px}.section-space{padding-block:64px}.section-intro{margin-bottom:28px;display:block}.section-intro>p{margin-top:20px}h2{font-size:34px}.filter-bar{gap:16px}.filters{gap:6px}.filters button{padding-inline:10px;font-size:13px}.project-list{grid-template-columns:1fr;gap:24px}.project-row,.project-netlab,.project-firewall{grid-column:auto;display:flex}.project-row .project-copy{padding:24px 20px}.project-row .project-visual{min-height:0}.project-row .diagram-wrapper,.project-row .project-graphic{display:none}.project-copy h3{font-size:29px}.project-copy .project-category{margin-bottom:16px}.project-copy .project-subtitle{font-size:17px}.project-row .mobile-project-graphic{padding:24px 20px;display:block}.project-row .shell-graphic,.project-row .policy-graphic,.lab-notes{padding:24px 20px}.network-lab{padding:24px 16px}.expertise-section{display:block}.expertise-heading{margin-bottom:36px}.expertise-heading>p{max-width:32ch}.expertise-rows>div{padding:24px 20px}.research-item summary{font-size:26px}.research-topic{font-size:13px}.about-section{display:block}.about-history{padding-top:48px}.contact-heading h2{font-size:48px}.contact-email{margin-block:32px;font-size:clamp(19px,5.5vw,28px)}.contact-email svg{width:24px}footer{padding-inline:var(--margin)}.footer-signoff{padding-top:22px;font-size:12vw}}@media (width<=359px){.hero-actions{flex-direction:column;align-items:stretch;gap:8px}.hero-actions .button.primary{justify-content:center;width:100%;min-width:0}.resume-action{justify-content:center;width:100%}.hero-foot{flex-direction:column;gap:10px}.hero-foot p{max-width:none}.work-map{padding:16px}.work-map-heading{display:block}.work-map-heading>span:last-child{margin-top:4px}.work-map-links{grid-template-columns:1fr}.work-map-links button{min-height:55px}}.work-map-telemetry{background:var(--bg);border-radius:4px;align-items:center;gap:8px;max-width:100%;margin-top:10px;padding:8px 12px;font-size:11px;display:flex;overflow:hidden}.telemetry-tag{color:var(--cyan);letter-spacing:.05em;flex-shrink:0;font-size:11px;font-weight:600}.telemetry-text{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.route-track{fill:none;stroke:var(--line);stroke-width:12px;stroke-linejoin:bevel}.route-flow{fill:none;stroke:var(--cyan);stroke-width:4px;stroke-dasharray:8 16;animation:2.4s linear infinite packetFlow}.route-endpoint{fill:var(--ink);stroke:var(--surface);stroke-width:4px}@keyframes packetFlow{to{stroke-dashoffset:-48px}}@media (prefers-reduced-motion:reduce){.route-flow{animation:none}}.telemetry-hud{background:var(--surface);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:100%;margin-top:24px;padding:10px 16px;font-size:12px;display:flex;overflow:hidden}.hud-cluster{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.hud-item{align-items:center;gap:6px;min-width:0;display:flex}.hud-dot{background:var(--cyan);border-radius:50%;width:8px;height:8px}.hud-actions{align-items:center;gap:10px;display:flex}.hud-button{background:var(--bg);color:var(--ink);border-radius:4px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;transition:background .15s,color .15s;display:inline-flex}.hud-button:hover{background:var(--elevated);color:var(--cyan)}.trace-telemetry[data-ui]{background:var(--bg);border-radius:4px;flex-direction:column;gap:6px;margin-top:20px;padding:12px 16px;display:flex}.telemetry-bar-head{color:var(--cyan);letter-spacing:.06em;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.telemetry-hex-line{color:var(--ink);word-break:break-all;font-size:13px}.diagram-wrapper{flex-direction:column;width:100%;display:flex}.diagram-controls-bar[data-ui]{background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.diagram-status-badge{color:var(--cyan);font-weight:500}.diagram-toggle-btn{background:var(--surface);color:var(--ink);border-radius:4px;padding:6px 12px;font-size:12px;transition:background .15s}.diagram-toggle-btn:hover{background:var(--elevated);color:var(--cyan)}.packet-leaked{fill:#e88c5d;transition:cx .3s,cy .3s}.packet-normal{transition:cx .3s,cy .3s}.node-leaked{stroke:#e88c5d;stroke-width:2px}.socks-hex-view[data-ui]{background:var(--bg);flex-direction:column;justify-content:center;gap:14px;min-height:280px;padding:24px;display:flex}.hex-row{flex-direction:column;gap:4px;display:flex}.hex-stage{color:var(--muted);letter-spacing:.05em;font-size:11px}.hex-row code{color:var(--cyan);font-size:13px}.hex-row span:last-child{color:var(--ink);font-size:13px}.honeypot-interactive-bar{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.honeypot-label{color:var(--muted);font-size:12px}.honeypot-cmd-chips{flex-wrap:wrap;gap:6px;display:flex}.cmd-chip{background:var(--bg);color:var(--muted);border-radius:4px;padding:4px 10px;font-size:12px}.cmd-chip.is-active,.cmd-chip:hover{background:var(--elevated);color:var(--cyan)}.code-output{color:var(--cyan)}.terminal-modal[data-ui]{z-index:1000;background:#0a0f16e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.terminal-dialog{background:#080c14;border-radius:8px;flex-direction:column;width:100%;max-width:820px;max-height:85vh;display:flex;overflow:hidden}.terminal-header{color:var(--ink);background:#0f1724;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.terminal-title{color:var(--cyan);align-items:center;gap:10px;font-size:13px;display:flex}.terminal-header-actions{align-items:center;gap:8px;display:flex}.terminal-tool-btn{color:var(--muted);background:0 0;border-radius:4px;padding:4px 8px}.terminal-tool-btn:hover{color:var(--ink);background:#182335}.terminal-presets{background:#0b111a;flex-wrap:wrap;gap:6px;padding:10px 18px;display:flex}.terminal-chip{color:var(--muted);background:#131d2e;border-radius:4px;padding:4px 10px;font-size:12px}.terminal-chip:hover{color:var(--cyan);background:#1a273e}.terminal-body{color:var(--ink);flex:1;min-height:240px;max-height:480px;padding:16px 18px;font-size:13px;line-height:1.55;overflow-y:auto}.terminal-line pre{white-space:pre-wrap;word-break:break-word;margin:0}.line-input pre{color:var(--cyan);margin-top:10px;font-weight:500}.line-output pre{color:var(--ink)}.line-system pre{color:var(--muted)}.line-error pre{color:var(--warning)}.terminal-input-bar{background:#0f1724;align-items:center;gap:10px;padding:12px 18px;display:flex}.terminal-prompt{color:var(--cyan);white-space:nowrap;font-size:13px;font-weight:600}.terminal-input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:14px}.terminal-submit-btn{background:var(--elevated);color:var(--cyan);border-radius:4px;padding:6px 10px}.project-row .project-visual{flex-direction:column;justify-content:center}.diagram-controls-bar[data-ui]{flex-wrap:wrap;font-size:13px}.diagram-toggle-btn,.cmd-chip,.terminal-chip{min-height:44px;font-size:13px}.simulation-caption{color:var(--muted);padding:12px 18px;font-size:13px}.telemetry-bar-head,.hex-stage,.honeypot-label{letter-spacing:0;font-size:13px}.terminal-modal[data-ui]{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0}.terminal-dialog{max-height:calc(100dvh - 40px)}.terminal-body{min-height:0}.terminal-input{min-width:0}.terminal-tool-btn,.terminal-submit-btn{min-width:44px;min-height:44px}.terminal-input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@media (width<=600px){.terminal-modal[data-ui]{padding:12px}.terminal-dialog{max-height:calc(100dvh - 24px)}.terminal-header{gap:8px;padding:12px}.terminal-title{min-width:0}.terminal-title>svg{display:none}.terminal-input-bar{gap:6px;padding:12px}.terminal-prompt{display:none}}.compact-portfolio .hero{padding-bottom:60px}.compact-portfolio .hero h1{font-size:clamp(76px,11.5vw,196px)}.compact-portfolio .personal-hero-grid{gap:12%;margin-top:20px}.compact-portfolio .work-map{background:0 0;padding:0}.compact-portfolio .vp-map{height:145px;margin-bottom:14px}.compact-portfolio .route-flow{display:none}.compact-portfolio .work-map-heading{margin-bottom:8px}.compact-portfolio .work-map-links button{background:var(--surface);min-height:55px}.compact-portfolio .work-map-links button.selected{background:var(--elevated)}.compact-portfolio .section-space{padding-block:76px}.compact-portfolio .project-list{grid-template-columns:1fr 1fr;gap:28px}.compact-portfolio .project-row{flex-direction:column;grid-column:auto;display:flex}.compact-portfolio .project-row .project-copy{order:0;align-self:stretch;padding:26px}.compact-portfolio .project-copy h3{margin-bottom:12px;font-size:28px}.compact-portfolio .project-copy .stack-list{margin-block:15px 10px}.project-cover{text-align:left;width:100%;color:var(--ink);background:var(--elevated);padding:0;display:block}.project-thumbnail{flex-direction:column;justify-content:space-between;gap:14px;height:205px;padding:24px 28px;display:flex}.project-thumbnail>span{color:var(--muted);font-size:13px}.project-thumbnail svg{flex-shrink:1;width:100%;height:105px;min-height:0;overflow:visible}.thumbnail-wire{stroke:var(--cyan);stroke-width:2px;fill:none}.thumbnail-node{fill:var(--bg);stroke:var(--accent);stroke-width:3px}.project-thumbnail text{fill:var(--ink);text-anchor:middle;font-size:16px}.terminal-thumbnail{background:var(--surface)}.terminal-thumbnail code{color:var(--muted);font-size:clamp(14px,1.5vw,20px);line-height:1.8}.terminal-thumbnail b{color:var(--cyan);font-weight:500}.firewall-thumbnail{background:var(--elevated)}.firewall-thumbnail>div{align-items:center;gap:20px;display:flex}.firewall-thumbnail strong{letter-spacing:-.04em;font-size:clamp(30px,4vw,50px);font-weight:450}.firewall-thumbnail div>span{color:var(--muted);font-size:16px}.skills-section{grid-template-columns:1fr 1.2fr;gap:9%;display:grid}.skills-section h2,.about-section h2{font-size:clamp(30px,3vw,43px)}.section-note{color:var(--muted);max-width:28ch;margin-top:20px;font-size:16px}.skills-compact dl{margin:0 0 20px}.skills-compact dl>div{grid-template-columns:145px 1fr;gap:20px;padding:15px 0;display:grid}.skills-compact dt{color:var(--muted);font-size:14px}.skills-compact dd{margin:0;font-size:16px;line-height:1.55}.quiet-disclosure{padding:4px 0}.quiet-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:52px;font-size:15px;list-style:none;display:flex}.quiet-disclosure>summary::-webkit-details-marker{display:none}.quiet-disclosure>summary>span{color:var(--muted)}.quiet-disclosure>p{color:var(--muted);max-width:60ch;margin-block:10px 20px;font-size:16px}.quiet-disclosure[open]>summary>span{transform:rotate(45deg)}.about-extra{align-self:center}.compact-highlight{color:var(--muted);margin-bottom:20px;font-size:14px}.compact-highlight strong{color:var(--ink);margin-top:8px;font-size:21px;font-weight:500;display:inline-block}.compact-portfolio .about-section{gap:10%}.compact-portfolio .about-story .about-lead{margin-top:25px;font-size:22px}.compact-portfolio .about-story>p:not(.about-lead){font-size:16px}.about-story>.text-button{margin-top:20px}.quiet-disclosure .research-item summary{grid-template-columns:1fr auto;min-height:52px;padding-block:12px;font-size:19px}.quiet-disclosure .research-answer{max-width:60ch;padding:0 0 12px;font-size:16px}.quiet-disclosure .research-item[open] summary{padding-inline:0}.quiet-disclosure .lab-note{padding-block:5px}.optional-lab{padding:0 var(--margin) 30px;background:var(--surface)}.lab-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:55px;font-size:15px;display:flex}.lab-disclosure>summary::-webkit-details-marker{display:none}.lab-disclosure .network-section{margin-top:20px;padding:32px}.compact-portfolio .contact-heading h2{font-size:clamp(44px,6vw,80px)}.compact-portfolio .contact-email{margin-block:35px;font-size:clamp(20px,3.7vw,54px)}footer{padding-bottom:30px}.footer-lab-link{color:var(--dark-ink);background:0 0;min-height:44px;padding:0;font-size:13px}.detail-project-visual{background:var(--elevated);margin-block:25px}.detail-project-visual .shell-graphic,.detail-project-visual .policy-graphic{padding:24px}.detail-project-visual .project-graphic{max-height:340px}@media (hover:hover){.project-cover:hover{background:var(--surface)}.quiet-disclosure>summary:hover{color:var(--cyan)}}@media (width<=860px){.compact-portfolio .personal-hero-grid{gap:35px}.compact-portfolio .work-map-links{grid-template-columns:1fr 1fr}.compact-portfolio .work-map-links small{display:none}.compact-portfolio .project-row .project-copy{padding:22px}.skills-section{grid-template-columns:1fr;gap:26px}.section-note{max-width:none}.skills-compact dl>div{grid-template-columns:150px 1fr}.project-thumbnail{height:180px;padding:22px}.project-thumbnail code{font-size:14px}.compact-portfolio .about-section{gap:35px}}@media (width<=600px){.compact-portfolio .hero h1{font-size:23vw}.compact-portfolio .hero{padding-bottom:45px}.compact-portfolio .personal-hero-grid{gap:25px}.compact-portfolio .vp-map{height:110px}.compact-portfolio .work-map{grid-template-columns:.8fr 1.2fr;align-items:center;gap:16px;display:grid}.compact-portfolio .work-map-heading{display:none}.compact-portfolio .work-map-links{gap:5px}.compact-portfolio .work-map-links button{min-height:48px;padding:8px;font-size:13px}.compact-portfolio .work-map-links button svg{width:14px}.compact-portfolio .hero-role{font-size:26px}.compact-portfolio .hero-meta{font-size:13px}.compact-portfolio .section-space{padding-block:50px}.compact-portfolio .project-list{grid-template-columns:1fr;gap:20px}.compact-portfolio .project-copy h3{font-size:27px}.project-thumbnail{height:170px}.project-thumbnail code{font-size:15px}.skills-compact dl>div{grid-template-columns:1fr;gap:7px;padding-block:13px}.compact-portfolio .about-section{display:block}.about-extra{margin-top:30px}.compact-portfolio .contact-email{font-size:5.5vw}.compact-portfolio .contact-heading h2{font-size:42px}.lab-disclosure .network-section{padding:22px 0}.detail-project-visual .project-graphic{display:none}.detail-project-visual .mobile-project-graphic{display:block}.footer-top>div{flex-wrap:wrap}}
