@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff")}:root{--ink:#e8e6dc;--dim:#a5a99a;--bg:#20231f;--line:#4a4e44;--accent:#c7d5b4}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,input{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent)}.experience{height:100svh;min-height:650px;position:relative;overflow:hidden}.site-header{position:absolute;top:34px;left:42px;right:42px;justify-content:space-between;z-index:20;font:11px monospace;letter-spacing:1.5px}.site-header,.wordmark{display:flex;align-items:center}.wordmark{gap:16px;font-size:26px}.wordmark>span{font:11px monospace;letter-spacing:2px}.edition,.muted{color:#a2a698}.scene{position:absolute;inset:0}.desk-footer{position:absolute;bottom:30px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;font:11px monospace;letter-spacing:1px;color:#b8bcae;z-index:20}.desk-footer b{color:#f0eee3;font-weight:400}.desk-footer i{font-style:normal;padding-left:12px}.screen-host{width:680px;height:526px;background:#111914;border-radius:38px;overflow:hidden;box-shadow:inset 0 0 30px #000,0 0 8px #b7d8a318;transform-origin:center}.terminal{height:100%;padding:24px 28px;color:#dde6d1;font:22px/1.5 IBM Plex Mono,monospace;position:relative;background:radial-gradient(ellipse at 45% 38%,#1b241c,#0c120e);text-shadow:none}.terminal:after{content:"";position:absolute;inset:0;border-radius:35px;pointer-events:none;background:repeating-linear-gradient(transparent,transparent 3px,#00000018 4px),linear-gradient(125deg,#ffffff06,transparent 35%);box-shadow:inset 0 0 45px #0008}.terminal-bar{font-size:18px;border-bottom:1px solid #6a756447;padding-bottom:10px;display:flex;justify-content:space-between}.terminal-body{padding-top:6px}.terminal p{margin:12px 0}.terminal h1{font:normal 35px/1.2 IBM Plex Mono,monospace;letter-spacing:-1px;margin:24px 0 8px}.terminal .dim{color:#8f9b86;font-size:17px}.welcome{color:#b6c2aa;padding:7px 0}.prompt{color:#b9d29f}.cursor{animation:blink 1.1s steps(1) infinite}.suggestions{margin-top:22px;font-size:18px;color:#c6d7b5}.machine-brand{width:85px;font:30px Arial;color:#615d50;white-space:nowrap;transform:scale(1)}.machine-brand span{font-size:13px;margin-left:3px}.bootloader{position:absolute;inset:40% 0;text-align:center;font:16px/2 monospace}@keyframes blink{50%{opacity:0}}@media (max-width:700px){.site-header{left:20px;right:20px;top:22px}.desk-footer>span:first-child,.edition,.muted{display:none}.desk-footer{left:20px;right:20px;bottom:20px;font-size:10px}.experience{min-height:600px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}.terminal{display:flex;flex-direction:column}.terminal-scroll{flex:1 1;overflow:auto;scrollbar-width:thin;scrollbar-color:#778368 transparent;padding-right:5px}.terminal pre{white-space:pre-wrap;font:inherit;margin:8px 0;overflow-wrap:anywhere}.terminal-bar{flex-shrink:0}.terminal-form{display:flex;align-items:center;position:relative;margin-top:12px;gap:10px;flex-shrink:0;color:#b9d29f}.terminal-form label{white-space:nowrap;font-size:19px}.terminal-form input{width:100%;min-width:0;background:transparent;border:0;color:#e3ead8;padding:0;outline:none;font:22px/1.5 IBM Plex Mono,monospace;caret-color:transparent}.terminal-input{position:relative;flex:1 1;min-width:0;font:16px/1.5 IBM Plex Mono,monospace}.terminal-caret-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;white-space:pre}.terminal-caret-track{display:inline-block}.terminal-caret-prefix{visibility:hidden}.input-cursor{pointer-events:none}.terminal-form:focus-within{box-shadow:0 1px #8a9d703f}.suggestions{display:flex;gap:20px;margin-top:15px;border-top:1px solid #6a756447;padding-top:10px;flex-shrink:0}.suggestions button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.suggestions button:hover{color:#fff;text-decoration:underline}.suggestions button:last-child{margin-left:auto}.boot-text{padding-top:12px}.matrix-overlay{position:absolute;inset:42px 0 0;background:#0d150fe8;display:flex;justify-content:space-around;overflow:hidden;pointer-events:none;color:#abc995}.matrix-overlay span{animation:rain 1s linear infinite;font:24px/1.8 monospace}@keyframes rain{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.screen-host{width:440px;height:350px;border-radius:24px}.terminal{padding:17px 20px;font-size:16px;line-height:1.45}.terminal-bar{font-size:12px;padding-bottom:8px}.terminal h1{font-size:29px;margin:14px 0 7px}.terminal .dim{font-size:12px}.terminal p{margin:8px 0}.terminal-form label{font-size:13px}.terminal-form input{font-size:16px}.suggestions{font-size:12px;gap:14px;margin-top:10px;padding-top:8px}.terminal:after{border-radius:23px}.focus-toggle{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}.focus-toggle:hover{color:white}.scene{transition:opacity .3s}.is-inside>.scene,.is-inside>.site-header{opacity:0;pointer-events:none}.inside{overflow-y:auto;z-index:30;animation:inside-in .45s both}.inside,.transition-glow{position:absolute;inset:0;background:#121612}.transition-glow{pointer-events:none;z-index:15;animation:surface-in 1.5s forwards}.flat-terminal{position:absolute;inset:18% 20%;border:1px solid var(--line);border-radius:20px;overflow:hidden}.flat-terminal .terminal{font-size:18px}.flat-terminal .terminal h1{font-size:36px}.flat-terminal .suggestions,.flat-terminal .terminal-bar{font-size:15px}.flat-terminal .terminal-form label{font-size:16px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-150%);background:#e8e6dc;color:#161a15;padding:12px}.skip-link:focus{transform:none}.mobile-terminal{display:none}.mobile-crt{width:440px;height:350px;background:#111914;padding:60px 30px;font:26px/1.6 monospace;color:#cedfc1;text-align:center}.mobile-crt b{font-size:42px}.content-page{max-width:1180px;margin:auto;padding:32px 54px 40px;min-height:100svh}.content-header{display:flex;justify-content:space-between;align-items:center;font:13px monospace;color:#c8ccbf}.content-page button{color:inherit;font:inherit;cursor:pointer}.content-footer button,.content-header button,.content-nav button{padding:0;background:none;border:0}.content-header kbd{font:11px monospace;color:#8e9686;margin-left:14px;border:1px solid #41483b;padding:3px 5px}.content-nav{display:flex;gap:25px;padding:38px 0 17px;border-bottom:1px solid #333b30;font:13px monospace;color:#9ba58e}.content-nav [aria-current=page]{color:#e2ebd5}.content-nav a:hover,.content-nav button:hover{color:#fff}.page-heading{padding:54px 0 46px}.eyebrow{font:12px/1.5 monospace;letter-spacing:1.3px;color:#a6b098;text-transform:uppercase}.eyebrow>span{float:right;color:#a0ac96}.page-heading h1{font-size:clamp(50px,6.8vw,88px);font-weight:400;letter-spacing:-5px;line-height:1.08;margin:34px 0 22px}.page-deck{font-size:21px;color:#aeb6a4;line-height:1.6}.editorial-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:80px;gap:80px;border-top:1px solid #333b30;padding:38px 0 60px}.large-copy{font-size:30px;line-height:1.45;letter-spacing:-.7px;margin:0}.profile-roles>div{display:flex;gap:25px;padding:15px 0;border-bottom:1px solid #333b30;font-size:16px}.profile-roles span{font:12px monospace;color:#818d76}.text-section{border-top:1px solid #333b30;padding:48px 0;max-width:720px}.notebook-empty h2,.text-section h2{font-size:46px;line-height:1.12;font-weight:400;letter-spacing:-1.5px}.text-section p{font-size:18px;line-height:1.75;color:#b7c0ac}.text-link{display:inline-block;background:none;border:0;border-bottom:1px solid #66745c!important;padding:5px 0!important;font:14px monospace!important;color:#d1dec3!important;margin:18px 0}.project-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #394233;border-left:1px solid #394233}.project-card{background:transparent;text-align:left;border:0;border-right:1px solid #394233;border-bottom:1px solid #394233;padding:27px!important;transition:background .2s}.project-card:hover{background:#1d251b}.project-top{display:flex;justify-content:space-between;font:11px monospace;color:#a5b298}.project-glyph{height:160px;display:flex;align-items:center;justify-content:center;font:50px monospace;color:#b5c3a1;letter-spacing:-4px}.project-card h2{font-size:25px;font-weight:400;letter-spacing:-.6px;margin:0 0 15px}.project-card p{color:#a6b199;font-size:16px;line-height:1.65;max-width:350px;min-height:78px}.project-tags{display:flex;gap:15px;color:#b7c3aa;font:11px monospace;padding-top:15px}.case-study h2{font-size:52px;font-weight:400;letter-spacing:-2px}.case-meta{display:grid;grid-template-columns:1fr 1fr 2fr;grid-gap:24px;gap:24px;border-block:1px solid #394233;margin:45px 0;padding:22px 0;font:12px/2 monospace;color:#abb99d}.case-row{display:grid;grid-template-columns:1fr 2fr;grid-gap:40px;gap:40px;padding:20px 0}.case-row h3{font-size:20px;font-weight:400}.case-row p{font-size:18px;line-height:1.7;color:#b7c2ab}.availability{font:13px/1.6 monospace;color:#929f86;padding:25px 0}.research-intro{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:70px;gap:70px;padding-bottom:50px}.research-intro>p:last-child{font-size:18px;line-height:1.8;color:#b3bfa7}.research-list>div{display:flex;gap:24px;align-items:center;padding:28px 0;border-top:1px solid #394233}.research-list h2{font-size:28px;letter-spacing:-.6px;font-weight:400;margin:0;flex:1 1}.research-list span{font:11px monospace;color:#95a389}.research-records{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:25px;gap:25px;margin:45px 0}.research-records h3{font-size:16px;font-weight:400}.research-records p{font:13px monospace;color:#929f86}.notebook-empty{border-top:1px solid #394233;padding:30px 0 60px}.notebook-empty>p:not(.eyebrow){color:#b3bea8;font-size:18px;line-height:1.7;max-width:460px}.notebook-rule{display:flex;justify-content:space-between;margin-top:60px;border-bottom:1px solid #394233;padding:22px 0;font:13px monospace;color:#9aa98d}.interest-list>div{display:grid;grid-template-columns:60px 1fr 1fr;align-items:center;border-top:1px solid #394233;padding:22px 0;grid-gap:20px;gap:20px}.interest-list h2{font-weight:400;font-size:26px;margin:0}.interest-list span{font:12px monospace;color:#8c9b7e}.interest-list p{color:#aab79e;line-height:1.6}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:#394233;border:1px solid #394233}.stack-grid>div{background:#151b13;padding:26px}.stack-grid span{font:12px monospace;color:#899c7b}.stack-grid h2{font-size:26px;font-weight:400}.contact-list>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #394233;padding:25px 0}.contact-list h2{font-size:30px;font-weight:400}.contact-list span{font:14px monospace;color:#97a58a}.content-footer{margin-top:75px;padding-top:25px;border-top:1px solid #394233;display:flex;justify-content:space-between;gap:25px;font:12px/1.5 monospace;color:#9daa91}.content-footer a,.content-footer button{color:#d1ddc3}@keyframes inside-in{0%{opacity:0}to{opacity:1}}@keyframes surface-in{0%,65%{opacity:0}to{opacity:1}}@media (max-width:700px){.experience{height:auto;min-height:100svh;overflow:visible;padding-bottom:85px}.scene{position:relative;height:340px}.site-header{position:absolute}.mobile-terminal{display:block;position:relative;margin:0 18px;border:1px solid #46513e;border-radius:18px;overflow:hidden;height:370px}.mobile-terminal .terminal{padding:20px;font-size:14px}.mobile-terminal .terminal-form label{font-size:12px}.mobile-terminal .suggestions{font-size:12px;gap:14px;flex-wrap:wrap}.desk-footer{bottom:23px;left:20px;right:20px}.desk-footer>span,.focus-toggle{display:none}.desk-footer>a{margin:auto;font-size:12px}.content-page{padding:24px}.content-header{font-size:12px;gap:20px}.content-header kbd{display:none}.content-nav{gap:19px;flex-wrap:wrap;padding-top:30px}.page-heading{padding:30px 0}.page-heading h1{font-size:52px;letter-spacing:-3px;margin-top:22px}.eyebrow>span{display:none}.page-deck{font-size:18px}.editorial-grid,.research-intro{grid-template-columns:1fr;gap:28px}.project-grid{grid-template-columns:1fr}.large-copy{font-size:26px}.research-list h2{font-size:21px}.research-list span:last-child{display:none}.research-records{grid-template-columns:1fr 1fr}.interest-list>div{grid-template-columns:30px 1fr;gap:10px}.interest-list p{grid-column:2;margin:0}.case-meta,.stack-grid{grid-template-columns:1fr 1fr}.case-row{grid-template-columns:1fr;gap:0}.case-study h2{font-size:38px}.content-footer{flex-direction:column}.is-inside{height:100svh;overflow:hidden}.inside{position:fixed}.flat-terminal{position:relative;inset:auto;margin:100px 18px 0;height:440px}.is-mobile .scene:has(.flat-terminal){height:570px}}.markdown-body{max-width:740px;font-size:19px;line-height:1.8}.markdown-body h2{font-size:32px;font-weight:400}.markdown-body a{text-decoration:underline}.markdown-body pre{overflow:auto;padding:20px;background:#242c20}.blog-list>a{display:block;border-top:1px solid #394233;padding:24px 0}.blog-list h2{font-size:30px;font-weight:400}.blog-list p{color:#adb99f}.terminal-form label{font-size:12px}.terminal:after{background:repeating-linear-gradient(transparent,transparent 3px,#00000012 4px),radial-gradient(ellipse at 12% -20%,#ffffff14,transparent 57%)}@media (max-width:700px){.is-mobile>.scene{margin-top:60px;height:280px}.is-mobile>.scene:has(.flat-terminal){margin-top:0;height:570px}}@media (prefers-reduced-motion:no-preference){.terminal:after{animation:phosphor 9s linear infinite}@keyframes phosphor{0%,97%,to{opacity:1}98%{opacity:.85}}}@media (max-width:700px){.is-mobile{padding-top:60px}.is-mobile>.scene{margin-top:0;height:280px}.is-mobile>.scene:has(.flat-terminal){height:510px}.is-mobile .flat-terminal{margin-top:30px}}.case-study figure{margin:35px 0}.case-study figure img{width:100%;height:auto}.case-study figcaption{font:13px/1.6 monospace;color:#a8b59c}.research-records h4{font-size:16px;font-weight:400}.recessed-screen{border-radius:34px;box-shadow:inset 0 0 35px #000b;background:#0f1812}.recessed-screen .terminal:after{border-radius:34px;background:repeating-linear-gradient(transparent,transparent 3px,#0000000d 4px),radial-gradient(ellipse at 25% -70%,#ffffff35,transparent 70%);box-shadow:inset 0 0 22px #0009}.model-brand{width:100px;font-size:31px;color:#716c5c}.model-brand span{font-size:16px;margin-left:8px}.recessed-screen{transform:scale(2)}.recessed-screen .terminal:after{background:radial-gradient(ellipse at 25% -70%,#ffffff24,transparent 70%);animation:none}.printer-brand{width:440px;color:#5b5e50;font:30px Arial;white-space:nowrap;display:flex;gap:12px;align-items:center}.printer-brand span{font-size:23px}.printer-brand small{font:11px monospace;letter-spacing:1px;margin-left:14px}.printer-actions{position:absolute;bottom:83px;left:42px;z-index:24;font:12px/1.6 IBM Plex Mono,monospace;color:#cbd1be;background:#20261de8;padding:13px 16px;border:1px solid #4c5844;max-width:390px}.printer-actions>[role=status]{display:flex;align-items:center;gap:9px}.printer-status-dot{height:6px;width:6px;border-radius:50%;background:#96af76;display:inline-block;flex-shrink:0}.printer-status-dot.preparing,.printer-status-dot.printing{animation:blink 1.1s steps(1) infinite}.printer-status-dot.error{background:#c28b65}.printer-action-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px}.printer-action-links a,.printer-action-links button{border:0;border-bottom:1px solid #697a5b;background:none;padding:0;color:#e0e6d5;font:inherit;cursor:pointer}@media (max-width:700px){.printer-actions{position:relative;inset:auto;margin:16px 18px;max-width:none}.scene.paper-on-desk{height:60svh;min-height:460px}}.paper-count{color:#a9b69d;font-size:10px;margin-bottom:6px}.paper-picker{color:#d6dfc7;background:#20261d;font:inherit;border:1px solid #526346;padding:3px 6px}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.terminal{--terminal-size:19px;font:400 var(--terminal-size)/1.25 VT323,IBM Plex Mono,monospace;font-feature-settings:none;font-variant-ligatures:none;letter-spacing:0}.terminal :is(.terminal-bar,.terminal-scroll,p,pre,h1,.dim,.prompt,.terminal-form,.terminal-form label,.terminal-form input,.terminal-input,.suggestions,.suggestions button,.matrix-overlay span){font:inherit;letter-spacing:inherit}.flat-terminal .terminal,.mobile-terminal .terminal{font:400 var(--terminal-size)/1.25 VT323,IBM Plex Mono,monospace}.flat-terminal .terminal :is(h1,.suggestions,.terminal-bar,.terminal-form label),.mobile-terminal .terminal :is(.suggestions,.terminal-bar,.terminal-form label){font:inherit}.terminal h1{margin:12px 0 8px}.terminal .suggestions{gap:12px;flex-wrap:wrap}.mobile-crt{font:400 19px/1.25 VT323,IBM Plex Mono,monospace}.mobile-crt b{font:inherit}