.featured-commandbar{border:var(--os-border);background:var(--os-chrome);min-height:44px;color:var(--os-black);box-shadow:5px 5px 0 var(--os-black);font:800 .75rem var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.65rem .9rem;display:flex}.featured-commandbar strong{color:var(--os-blue)}.featured-commandbar span{color:var(--copy-muted);white-space:nowrap;font-weight:600}.featured-projects-footer{border-top:var(--border);justify-content:flex-start;padding-top:3rem;display:flex}.view-all-projects{border:var(--os-border);background:var(--os-chrome);min-width:220px;color:var(--os-black);box-shadow:inset 2px 2px white, inset -2px -2px var(--os-bevel-shade), 4px 4px 0 #111;font:700 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;padding:1rem 1.15rem;display:inline-flex}.view-all-projects:hover,.view-all-projects:focus-visible{transform:translateY(-2px)}.os-page .view-all-projects:active{box-shadow:inset 2px 2px var(--os-bevel-shade);transform:translate(3px,3px)}.view-all-projects span{transition:transform var(--ease-fast);font-size:1rem}.view-all-projects:hover span,.view-all-projects:focus-visible span{transform:translate(.2rem,-.2rem)}@media (width<=800px){.featured-projects-footer{padding-top:2rem}.view-all-projects{width:100%;min-height:52px}}.os-page.landing-page{padding-top:0}.signal-hero{--signal-bg:#f7f3ff;--signal-text:#28233d;--signal-muted:#514c61;--signal-soft:#fffaffdd;--signal-line:#7257d966;--signal-accent:#b62f68;--signal-binary-primary:#7257d9;--signal-binary-secondary:#1684a1;isolation:isolate;min-height:calc(100svh - var(--header-height));padding:clamp(3.5rem, 6vw, 6rem) var(--page-gutter);border-bottom:var(--os-frame);background:var(--signal-bg);color:var(--signal-text);align-items:center;display:grid;position:relative;overflow:hidden}.signal-rain,.signal-glow{z-index:-2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.signal-rain{opacity:.82;mask-image:linear-gradient(#000 0% 78%,#0008 100%)}.signal-glow{--pointer-x:28%;--pointer-y:36%;z-index:-1;background:radial-gradient(circle 360px at var(--pointer-x) var(--pointer-y), #b9e5f580, transparent 72%), radial-gradient(ellipse 48% 72% at 26% 52%, var(--signal-soft), transparent), radial-gradient(ellipse 38% 68% at 78% 52%, var(--signal-soft), transparent), radial-gradient(circle at 88% 12%, #f3b6d266, transparent 28%);transition:background .15s linear}.signal-copy{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(2.5rem,5vw,6rem);width:100%;display:grid}.signal-heading{grid-column:1/span 7;place-items:center;min-height:clamp(28rem,62vh,44rem);display:grid;position:relative}.signal-details{grid-column:9/-1}.signal-role{border:1px solid var(--signal-line);background:color-mix(in srgb, var(--signal-bg) 82%, transparent);color:var(--signal-binary-secondary);font:800 .76rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.25rem;padding:.45rem .65rem;display:inline-flex}.signal-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.signal-computer{--computer-x:0px;--computer-y:0px;--computer-rotate:0deg;border:3px solid var(--signal-text);background:color-mix(in srgb, var(--signal-bg) 72%, var(--signal-binary-primary));width:min(100%,43rem);min-height:35rem;box-shadow:.8rem 1rem 2rem color-mix(in srgb, var(--signal-text) 20%, transparent);transform:translate3d(var(--computer-x), var(--computer-y), 0) rotate(var(--computer-rotate));will-change:transform;transition:transform .45s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.signal-computer:before{z-index:0;background-image:linear-gradient(var(--signal-line) 1px, transparent 1px), linear-gradient(90deg, var(--signal-line) 1px, transparent 1px);opacity:.55;content:"";pointer-events:none;background-size:2.4rem 2.4rem;position:absolute;inset:2.75rem 0 2.8rem}.signal-desktop-bar,.signal-taskbar{z-index:5;background:var(--signal-text);color:var(--signal-bg);font:800 .62rem var(--mono);letter-spacing:.04em;align-items:center;display:grid;position:relative}.signal-desktop-bar{grid-template-columns:auto 1fr auto;gap:.75rem;height:2.75rem;padding-inline:.75rem}.signal-desktop-logo{background:var(--signal-bg);width:1.75rem;height:1.75rem;color:var(--signal-text);border:1px solid;place-items:center;display:grid}.signal-desktop-stage{z-index:1;min-height:29.5rem;position:relative}.signal-desktop-icons{gap:1rem;display:grid;position:absolute;top:1.2rem;left:1rem}.signal-desktop-icons>span{width:3.5rem;color:var(--signal-text);font:800 .53rem var(--mono);justify-items:center;gap:.35rem;display:grid}.signal-desktop-icons i{border:2px solid var(--signal-text);width:2.3rem;height:2rem;box-shadow:.2rem .25rem 0 var(--signal-binary-secondary);background:#f3b6d2;display:block;position:relative}.signal-desktop-icons .icon-folder:before{border:2px solid var(--signal-text);content:"";background:#f3b6d2;border-bottom:0;width:1rem;height:.5rem;position:absolute;top:-.45rem;left:-.1rem}.signal-desktop-icons .icon-note{background:#fffaf4}.signal-desktop-icons .icon-note:after{content:"";background:repeating-linear-gradient(#7257d9 0 1px,#0000 1px .35rem);position:absolute;inset:.45rem .35rem}.signal-desktop-icons .icon-chip{background:#8ddcf2}.signal-desktop-icons .icon-chip:after{border:2px solid var(--signal-text);content:"";background:#7257d9;position:absolute;inset:.45rem}.signal-window{color:#28233d;background:#fffaf4;border:2px solid #28233d;position:absolute;box-shadow:.65rem .75rem 1.3rem #28233d33}.signal-window>header{min-height:2rem;font:800 .58rem var(--mono);background:#f3b6d2;border-bottom:2px solid #28233d;justify-content:space-between;align-items:center;padding-inline:.55rem;display:flex}.signal-window>header>span{gap:.25rem;display:flex}.signal-window>header i{background:#fffaf4;border:1px solid #28233d;width:.6rem;height:.6rem;display:block}.signal-terminal{width:48%;top:1.35rem;right:1rem;transform:rotate(1.2deg)}.signal-terminal>header{background:#8ddcf2}.signal-terminal>div{color:#d8f2f5;min-height:10rem;font:700 .6rem/1.65 var(--mono);background:#120f1f;padding:.85rem}.signal-terminal p{margin:0}.signal-terminal p>b{color:#f3b6d2}.signal-terminal p:last-child>i{background:#8ddcf2;width:.5rem;height:.85rem;display:inline-block;translate:0 .15rem}.signal-launcher{z-index:3;width:min(78%,31rem);top:7.2rem;left:12%}.signal-launcher-copy{gap:1rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.signal-command{font:700 .62rem var(--mono);margin:0}.signal-command>span{color:#1684a1}.signal-launcher-copy>p:not(.signal-command){max-width:15ch;font:800 clamp(1.35rem, 2.7vw, 2rem) / 1.05 var(--sans);letter-spacing:-.035em;margin:0}.signal-launcher-copy nav{gap:.55rem;display:grid}.signal-launcher-copy a{color:#28233d;background:#fffaf4;border:2px solid #28233d;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:50px;padding:.65rem .75rem;display:grid;box-shadow:.22rem .25rem #8ddcf2}.signal-launcher-copy a:first-child{background:#f3b6d2;box-shadow:.22rem .25rem #7257d9}.signal-launcher-copy a:hover,.signal-launcher-copy a:focus-visible{translate:-.15rem -.15rem;box-shadow:.42rem .45rem #1684a1}.signal-launcher-copy a>span{gap:.12rem;display:grid}.signal-launcher-copy a strong{font:800 .68rem var(--mono)}.signal-launcher-copy a small{color:#514c61;font-size:.68rem}.signal-arrow{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2px;width:1.15rem;height:1.15rem;display:block;overflow:visible}.signal-launcher>footer{font:700 .55rem var(--mono);background:#ece5f7;border-top:2px solid #28233d;justify-content:space-between;padding:.35rem .5rem;display:flex}.signal-taskbar{grid-template-columns:auto 1fr auto;gap:.45rem;height:2.8rem;padding-inline:.45rem}.signal-taskbar>span{border:1px solid;align-items:center;gap:.35rem;min-height:1.8rem;padding-inline:.55rem;display:inline-flex}.signal-taskbar-start{color:#28233d;background:#f3b6d2}.signal-taskbar-start i,.signal-taskbar-status i{background:currentColor;width:.45rem;height:.45rem}.signal-taskbar-app{width:fit-content}.signal-taskbar-status i{color:#8ddcf2;border-radius:50%}.signal-intro{max-width:42rem;color:var(--signal-text);margin:0;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.7}.signal-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.7rem;display:flex}.signal-actions a{border:2px solid var(--signal-text);background:color-mix(in srgb, var(--signal-bg) 88%, transparent);min-height:48px;color:var(--signal-text);box-shadow:4px 4px 0 var(--signal-binary-secondary);font:800 .78rem var(--mono);align-items:center;padding:.72rem 1rem;display:inline-flex}.signal-actions a:hover,.signal-actions a:focus-visible{box-shadow:7px 7px 0 var(--signal-binary-secondary);translate:-2px -2px}.signal-proof{border-top:1px solid var(--signal-line);max-width:58ch;color:var(--signal-muted);margin:1.8rem 0 0;padding-top:.9rem;font-size:.88rem;line-height:1.6}.signal-proof strong{color:var(--signal-text)}html[data-theme=dark] .signal-hero{--signal-bg:#110e1c;--signal-text:#fffaf4;--signal-muted:#c8bed3;--signal-soft:#110e1ce8;--signal-line:#8ddcf288;--signal-accent:#f5a9bd;--signal-binary-primary:#8ddcf2;--signal-binary-secondary:#f5a9bd}html[data-theme=dark] .signal-glow{background:radial-gradient(circle 360px at var(--pointer-x) var(--pointer-y), #7659ff55, transparent 72%), radial-gradient(ellipse 48% 72% at 26% 52%, var(--signal-soft), transparent), radial-gradient(ellipse 38% 68% at 78% 52%, var(--signal-soft), transparent), radial-gradient(circle at 88% 12%, #f5a9bd2e, transparent 28%)}@media (width<=980px){.signal-copy{grid-template-columns:1fr;gap:2.5rem}.signal-heading,.signal-details{grid-column:1}.signal-heading{min-height:auto}.signal-computer{width:min(100%,40rem);margin-inline:auto}.signal-details{max-width:46rem}}@media (width<=800px){.signal-computer{display:none}.signal-heading{place-items:start;min-height:auto}.signal-title{clip:auto;width:auto;height:auto;color:var(--signal-text);font:800 clamp(2.1rem, 8vw, 3.1rem) / 1.05 var(--sans);letter-spacing:-.03em;white-space:normal;margin:0;position:static;overflow:visible}.signal-role{display:none}.signal-copy{gap:1.75rem}}@media (width<=620px){.signal-hero{gap:3.5rem;padding-top:3rem}.signal-actions{display:grid}.signal-actions a{width:100%}}@media (prefers-reduced-motion:reduce){.signal-glow{display:none}.signal-actions a{transition:none}.signal-computer{transition:none;transform:none}}@media (width>=1500px){.signal-computer{zoom:1.12}.signal-role{margin-bottom:1.5rem;padding:.55rem .8rem;font-size:.9rem}.signal-intro{max-width:46rem;font-size:1.45rem}.signal-actions{margin-top:2.1rem}.signal-actions a{padding:.85rem 1.25rem;font-size:.9rem}.signal-proof{margin-top:2.2rem;font-size:1.02rem}}@media (width>=1900px){.signal-computer{zoom:1.26}.signal-role{font-size:1rem}.signal-intro{max-width:50rem;font-size:1.62rem}.signal-actions a{padding:.95rem 1.45rem;font-size:.98rem}.signal-proof{font-size:1.12rem}}@media (width>=2400px){.signal-computer{zoom:1.45}.signal-role{font-size:1.15rem}.signal-intro{max-width:56rem;font-size:1.95rem}.signal-actions a{padding:1.05rem 1.6rem;font-size:1.1rem}.signal-proof{font-size:1.28rem}}.publication-showcase{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:clamp(3rem,8vw,8rem);display:grid}.publication-intro h2{letter-spacing:-.04em;max-width:8ch;margin:0;font-size:clamp(3rem,6vw,6rem);line-height:.9}.publication-intro h2 i{color:var(--os-blue);font-family:var(--serif);font-weight:400}.publication-intro>p{max-width:31rem;color:var(--copy-muted);margin:2rem 0 0;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.7}.publication-record{border-top:2px solid var(--os-black);padding:clamp(1.5rem,3vw,2.5rem) 0 0}.publication-venue{color:var(--os-blue);font:800 .75rem/1.5 var(--mono);letter-spacing:.09em;margin:0}.publication-record h3{max-width:22ch;font-family:var(--serif);letter-spacing:-.04em;margin:1.25rem 0;font-size:clamp(2rem,4vw,4.25rem);font-weight:400;line-height:1.02}.publication-question{max-width:62ch;color:var(--copy);margin:0;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700;line-height:1.55}.publication-contribution{max-width:66ch;color:var(--copy-muted);margin:1.25rem 0 0;line-height:1.72}.publication-record footer{border-top:1px solid color-mix(in srgb, var(--os-black) 40%, transparent);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.2rem;display:flex}.publication-record footer>p{max-width:30rem;color:var(--copy-muted);font:700 .75rem/1.5 var(--mono);margin:0}.publication-record nav{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.publication-record a{border:var(--os-border);background:var(--os-chrome);min-height:44px;box-shadow:inset 2px 2px var(--os-white), inset -2px -2px var(--os-chrome-dark);font:800 .75rem var(--mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.65rem;padding:.65rem .8rem;display:inline-flex}.publication-record a:hover,.publication-record a:focus-visible{background:var(--os-blue);color:var(--os-white)}.publication-record a span{transition:transform var(--ease-fast)}.publication-record a:hover span,.publication-record a:focus-visible span{transform:translate(.18rem,-.18rem)}.publication-record .publication-pending{border:2px dashed color-mix(in srgb, var(--os-black) 40%, transparent);min-height:44px;color:var(--copy-muted);font:800 .75rem var(--mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:.65rem .8rem;display:inline-flex}@media (width<=850px){.publication-showcase{grid-template-columns:1fr;gap:2.5rem}.publication-intro h2{max-width:10ch}.publication-record footer{flex-direction:column;align-items:flex-start}.publication-record nav{justify-content:flex-start;width:100%}.publication-record a{flex:12rem;justify-content:space-between}}
