@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--bg:#050505;--fg:#ece8e0;--fg-soft:#b8b3a9;--dim:#666058;--ghost:#0f0e0c;--rule:#1a1916;--accent:#d6c19a;--mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,"Courier New",monospace;--font:var(--mono)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:clamp(13px,.95vw,15px);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{position:relative}body:before{z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.18'/></svg>");mix-blend-mode:overlay;opacity:.32}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:0;background:radial-gradient(ellipse at 50% 40%,rgba(255,240,215,.04) 0,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#0a0a0a}img{display:block;max-width:100%}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#FFF;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.stage{position:fixed;inset:0;z-index:5}.content{min-width:0;padding:1.5rem 2rem}.content,.view{position:absolute;inset:0;min-height:0}.view{display:flex;flex-direction:column;animation:view-in .38s cubic-bezier(.22,1,.36,1) both}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scrapbook{position:relative;width:100%;height:100%}.scrap-tile{--dx:0px;--dy:0px;--stack-order:0;position:absolute;display:block;filter:grayscale(.65) brightness(.7) contrast(.95) saturate(.85);transform:translate3d(var(--dx),var(--dy),0) scale(1);transform-origin:center;transition:filter .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);cursor:grab;z-index:calc(1 + var(--stack-order));will-change:transform,filter;touch-action:none;user-select:none}.scrap-tile.is-awake{filter:grayscale(0) brightness(1) contrast(1.02) saturate(1.05);transform:translate3d(var(--dx),calc(var(--dy) - 2px),0) scale(1.06);transition:filter .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);z-index:calc(25 + var(--stack-order))}.scrap-tile:focus-visible,.scrap-tile:hover{filter:grayscale(0) brightness(1.02) contrast(1.04) saturate(1.1);transform:translate3d(var(--dx),calc(var(--dy) - 2px),0) scale(1.07);z-index:calc(26 + var(--stack-order));outline:none}.scrap-tile.is-dragging{cursor:grabbing;transition:none;z-index:calc(27 + var(--stack-order));filter:grayscale(0) brightness(1.05) contrast(1.05) saturate(1.15)}.scrap-frame{position:relative;width:100%;height:100%}.scrap-frame img,.scrap-frame video{width:100%;height:100%;object-fit:cover;display:block}.scrap-frame:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.3' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");mix-blend-mode:overlay;opacity:.5}.scrap-frame:after,.scrap-frame:before{content:"";position:absolute;inset:0;pointer-events:none}.scrap-frame:before{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18));mix-blend-mode:multiply;z-index:1}.hero-center{position:absolute;inset:0;flex-direction:column;justify-content:flex-start;padding:11vh 2rem 0;pointer-events:none;z-index:99999;text-align:center}.hero-center,.window-bar{display:flex;align-items:center}.window-bar{gap:.5em;padding:.45em .7em;border-bottom:1px solid var(--rule);background:rgba(255,255,255,.02);font-size:.78em;color:var(--dim);user-select:none;cursor:grab;touch-action:none}.simple.is-dragging .window-bar{cursor:grabbing}.simple.is-dragging{user-select:none}.window-bar .dots{display:inline-flex;gap:.4em}.window-bar .dots i{width:11px;height:11px;border-radius:50%;background:var(--rule);display:block;transition:background .2s ease}.window-bar:hover .dots i:first-child{background:hsl(32,100%,60%)}.window-bar:hover .dots i:nth-child(2){background:hsl(70,90%,55%)}.window-bar:hover .dots i:nth-child(3){background:hsl(158,75%,45%)}.window-bar .path{margin-left:.4em;letter-spacing:.02em}.simple-link{color:var(--accent);border-bottom:1px dotted;transition:color .2s ease,border-color .2s ease}.simple-link:focus-visible,.simple-link:hover{color:var(--fg);outline:none}.simple{pointer-events:auto;display:flex;flex-direction:column;width:min(620px,88vw);height:min(72vh,640px);background:rgba(8,8,8,.94);border:1px solid var(--rule);border-radius:2px;box-shadow:0 18px 50px rgba(0,0,0,.75),inset 0 0 0 1px rgba(255,255,255,.02);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-family:var(--mono);font-size:clamp(13px,1vw,16px);color:var(--fg);text-align:left;overflow:hidden}.simple-body{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;padding:.9em 1.1em 1.2em;scrollbar-width:none;overscroll-behavior:none;color:var(--fg-soft);font-size:.92em;line-height:1.6}.simple-body::-webkit-scrollbar{display:none}.simple-body.is-ready{overflow:hidden}.readme-terminal{position:absolute;inset:.9em 1.1em 1.2em;opacity:0}.simple-body.is-ready .readme-terminal{opacity:1}.readme-terminal .xterm{height:100%}.readme-terminal .xterm-viewport{background:transparent;overscroll-behavior:none;scrollbar-width:none}.readme-terminal .xterm-viewport::-webkit-scrollbar{display:none}.readme-terminal .xterm-scrollable-element>.scrollbar{display:none!important}.simple-body p{margin:0 0 .6em}.simple-h{font-weight:400;font-size:1em;margin:1.2em 0 .45em;color:var(--fg-soft);letter-spacing:0}.simple-body .simple-h:first-child{margin-top:0}.simple-hash{color:var(--accent);margin-right:.55em}.simple-defs{display:grid;grid-template-columns:minmax(6em,max-content) 1fr;gap:.3em 1em;margin:0 0 .6em}.simple-defs dt{font-weight:400}.simple-defs dd{margin:0}.simple-experiences{display:grid;gap:.75em;margin-bottom:.6em}.simple-experience p{margin-bottom:.2em}.simple-experience-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1em;color:var(--fg)}.simple-experience-period{flex:0 0 auto;color:var(--dim);font-size:.9em}.simple-project{margin-bottom:.4em}.simple-pre{white-space:pre-line}@media (max-width:720px){.content{padding:1rem 1.2rem}.hero-center{padding-top:7vh}.simple{height:78vh}.simple-body{padding:.8em .9em 1em}.readme-terminal{inset:.8em .9em 1em}.simple-experience-heading{align-items:flex-start;flex-direction:column;gap:.1em}}