/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--font-sans:var(--font-geist-sans),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,monospace;--bg:#0a0a0a;--surface:#111;--border:#1a3050;--blue:#3b8eff;--blue-dim:#2166c9;--blue-muted:#0e2745;--cyan:#35dbeb;--cyan-dim:#189fb2;--cyan-muted:#0a343c;--text:#d4d4d4;--text-muted:#6b6b6b;--text-dim:#5a5a5a;--cursor:var(--blue);--on-accent:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:14.5px;line-height:1.68;overflow-x:hidden}::selection{background:var(--blue-muted);color:var(--blue)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--blue-muted);border-radius:2px}a{color:var(--blue);text-decoration:none;transition:color .15s}a:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.nav-toggle:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:3px}main:focus-visible{outline:none}.skip-link{z-index:10000;background:var(--blue);color:var(--on-accent);font-size:13px;font-family:var(--font-mono);border-radius:0 0 6px;padding:.5rem .9rem;position:absolute;top:0;left:-9999px}.skip-link:focus{color:var(--on-accent);text-decoration:none;left:0}.list-row{transition:color .18s}.row-title{color:#fff;font-family:var(--font-sans);letter-spacing:-.015em;font-weight:600;text-decoration:none;transition:color .15s}.list-row:hover .row-title,.row-title:hover{color:var(--cyan);text-decoration:none}.prompt{color:var(--blue)}.prompt-path{color:var(--cyan)}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.glow{text-shadow:0 0 10px var(--blue)}@supports (color:color-mix(in lab,red,red)){.glow{text-shadow:0 0 10px color-mix(in srgb,var(--blue) 50%,transparent)}}.site-layout{align-items:flex-start;gap:3rem;max-width:1060px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.site-sidebar{flex-shrink:0;min-width:220px;position:sticky;top:2.5rem}.site-content{flex:1;min-width:0}.cursor-blink{background:var(--cursor);vertical-align:sub;width:10px;height:18px;margin-left:4px;display:inline-block}.blinking-cursor,.cursor-blink{animation:blink 1s step-end infinite}.blinking-cursor{color:var(--cyan)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.scanline{pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 4px,#0000001a 4px 5px);width:100%;height:100%;position:fixed;top:0;left:0}.terminal-container{perspective:1000px;width:100%;max-width:800px;margin:0 auto}.terminal-window{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:transform .3s;overflow:hidden;box-shadow:0 20px 50px #000000b3}.terminal-header{background:var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.terminal-controls{gap:8px;display:flex}.control{border-radius:50%;width:12px;height:12px}.control.red{background:#ff5f56}.control.yellow{background:#ffbd2e}.control.green{background:#27c93f}.terminal-title{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.terminal-body{min-height:300px;padding:24px}.terminal-line{gap:12px;margin-bottom:4px;display:flex}.terminal-prefix{color:var(--text-dim);-webkit-user-select:none;user-select:none}.section-cmd{color:var(--blue);font-family:var(--font-mono);letter-spacing:0;margin-bottom:1.25rem;font-size:13px}.divider{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.nav-toggle{all:unset;cursor:pointer;color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:.5rem;font-size:14px;font-weight:500;transition:color .15s;display:flex}.nav-toggle:hover{color:#fff}.nav-chevron{color:var(--text-muted);font-size:14px;font-weight:700;transition:transform .2s,color .15s;display:inline-block}.nav-chevron-open{transform:rotate(90deg)}.nav-toggle:hover .nav-chevron{color:var(--blue)}.nav-cursor{background:var(--blue);vertical-align:sub;width:8px;height:14px;animation:blink 1s step-end infinite;display:inline-block}.nav-children{margin-left:.75rem;padding-left:1rem;transition:max-height .25s,opacity .2s,margin-top .25s;overflow:hidden}.site-nav .nav-children a{font-family:var(--font-mono)}.nav-tree-line{color:var(--blue-dim);margin-right:.4rem;font-weight:400}.tag{color:var(--cyan);font-size:11px;font-family:var(--font-mono);display:inline-block}@supports (color:color-mix(in lab,red,red)){.tag{background:color-mix(in srgb,var(--cyan) 5%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 20%,transparent)}}.tag{border-radius:3px;margin-bottom:.2rem;margin-right:.3rem;padding:1px 6px;transition:all .2s}.tag:hover{border-color:var(--cyan);color:#fff}@supports (color:color-mix(in lab,red,red)){.tag:hover{background:color-mix(in srgb,var(--cyan) 12%,transparent)}}.inline-code{background:var(--surface);color:var(--cyan);font-size:.88em;font-family:var(--font-mono);border:1px solid var(--border);border-radius:4px;padding:2px 5px}.essay-md{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;font-size:15px;line-height:1.8}.essay-md h1{letter-spacing:-.025em;margin:2.5rem 0 1rem;font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1.25}.essay-md h1,.essay-md h2{font-family:var(--font-sans);color:#fff}.essay-md h2{letter-spacing:-.02em;border-bottom:1px solid #ffffff12;margin:2.75rem 0 1rem;padding-bottom:.4rem;font-size:clamp(19px,4vw,24px);font-weight:600;line-height:1.35}.essay-md h3{font-family:var(--font-sans);color:#f1f5f9;letter-spacing:-.015em;margin:2rem 0 .75rem;font-size:clamp(16px,3.5vw,18px);font-weight:600;line-height:1.4}.essay-md h4{font-family:var(--font-mono);color:var(--cyan);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .5rem;font-size:12px;font-weight:600}.essay-md p{color:var(--text);margin-bottom:1.4rem;line-height:1.8}.essay-md strong{color:#fff;font-weight:600}.essay-md em{color:var(--text);font-style:italic}.essay-md a{color:var(--cyan);border-bottom:1px solid var(--cyan-muted);text-decoration:none;transition:all .2s}.essay-md a:hover{color:#fff;border-bottom-color:var(--cyan);text-decoration:none}.essay-md ol,.essay-md ul{margin:0 0 1.5rem 1.25rem;padding-left:.5rem}.essay-md li{color:var(--text);margin-bottom:.5rem;line-height:1.75}.essay-md li::marker{color:var(--cyan-dim)}.essay-md li>ol,.essay-md li>ul{margin-top:.4rem;margin-bottom:.4rem}.essay-md blockquote{border-left:3px solid var(--cyan);color:var(--text-muted);background:#00f2ff08;border-radius:0 6px 6px 0;margin:1.75rem 0;padding:.85rem 1.25rem;font-style:italic}.essay-md blockquote p{margin-bottom:0}.essay-md blockquote p:not(:last-child){margin-bottom:.75rem}.essay-md :not(pre)>code{color:var(--cyan);font-size:.88em;font-family:var(--font-mono);background:#00f2ff12;border:1px solid #00f2ff2e;border-radius:4px;padding:2px 6px}.essay-md pre{border:1px solid var(--border);font-family:var(--font-mono);background:#090d12;border-radius:8px;margin:1.75rem 0;padding:1.1rem 1.25rem;font-size:12.5px;line-height:1.65;overflow-x:auto;box-shadow:inset 0 1px 3px #00000080}.essay-md pre code{color:#e2e8f0;font-family:var(--font-mono);background:0 0;border:none;padding:0}.essay-md .hljs-keyword,.essay-md .hljs-selector-tag{color:#569cd6;font-weight:500}.essay-md .hljs-attr,.essay-md .hljs-string{color:#ce9178}.essay-md .hljs-comment,.essay-md .hljs-quote{color:#6a9955;font-style:italic}.essay-md .hljs-literal,.essay-md .hljs-number{color:#b5cea8}.essay-md .hljs-function,.essay-md .hljs-section,.essay-md .hljs-title{color:#dcdcaa}.essay-md .hljs-built_in,.essay-md .hljs-class,.essay-md .hljs-type{color:#4ec9b0}.essay-md .hljs-template-variable,.essay-md .hljs-variable{color:#9cdcfe}.essay-md table{border-collapse:collapse;border:1px solid var(--border);border-radius:6px;width:100%;margin:1.75rem 0;display:block;overflow-x:auto}.essay-md th{background:var(--surface);color:#fff;text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12.5px;font-weight:600}.essay-md td{color:var(--text);border-bottom:1px solid #ffffff0d;padding:8px 12px;font-size:13px}.essay-md tr:nth-child(2n){background:#ffffff04}.essay-md tr:last-child td{border-bottom:none}.essay-md hr{background:linear-gradient(90deg,transparent,var(--border),transparent);border:none;height:1px;margin:3rem 0}.essay-md img{border:1px solid var(--border);border-radius:8px;max-width:100%;height:auto;margin:1.75rem 0;display:block}.essay-md .katex-display{margin:1.5rem 0;padding:.5rem 0;overflow:auto hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.f1{animation:fadeUp .4s 50ms both}.f2{animation:fadeUp .4s .15s both}.f3{animation:fadeUp .4s .28s both}.f4{animation:fadeUp .4s .42s both}.f5{animation:fadeUp .4s .56s both}.f6{animation:fadeUp .4s .7s both}.f7{animation:fadeUp .4s .85s both}.f8{animation:fadeUp .4s 1s both}.site-nav{flex-direction:column;gap:1.25rem;display:flex}.role-label{flex-shrink:0;min-width:150px}.info-row{align-items:baseline;gap:1rem;display:flex}@media (max-width:768px){body{font-size:13px}.site-layout{flex-direction:column;gap:0;padding:1.5rem 1rem}.site-sidebar{width:100%;min-width:unset;border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem;position:static}.site-nav{flex-flow:wrap;align-items:center;gap:.75rem 1.5rem}.nav-toggle{min-height:40px;padding:.4rem 0}.site-nav .nav-children a{min-height:36px;padding:.35rem 0;display:inline-block}.site-nav .nav-children{border-left:none;margin-left:0;padding-left:0}.site-nav .nav-tree-line{display:none}.site-content{width:100%}.divider{margin:1.5rem 0}.section-cmd{margin-bottom:1rem;font-size:12px}.nav-toggle{font-size:14px}.nav-children{padding-left:1.25rem}.tag{padding:1px 5px;font-size:10px}.role-label{min-width:80px;font-size:12px}.info-row{flex-wrap:wrap;gap:.5rem}.terminal-body{padding:16px}}@media (max-width:480px){body{font-size:12px}.site-layout{padding:1rem .75rem}.info-row{flex-direction:column;gap:.15rem}.role-label{min-width:unset;font-size:11px}h1{font-size:18px}.terminal-body{padding:10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.scanline{display:none}.blinking-cursor,.cursor-blink,.nav-cursor{opacity:1;animation:none}}body{background-image:radial-gradient(60rem 36rem at 72% -8%,var(--blue),transparent 70%),radial-gradient(42rem 28rem at 8% 108%,var(--cyan),transparent 70%)}@supports (color:color-mix(in lab,red,red)){body{background-image:radial-gradient(60rem 36rem at 72% -8%,color-mix(in srgb,var(--blue) 11%,transparent),transparent 70%),radial-gradient(42rem 28rem at 8% 108%,color-mix(in srgb,var(--cyan) 6%,transparent),transparent 70%)}}body{background-attachment:fixed}.scanline{background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0000000b 3px 4px)}.terminal-window{background:linear-gradient(180deg,var(--surface) 0,var(--surface) 38%)}@supports (color:color-mix(in lab,red,red)){.terminal-window{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--blue)) 0,var(--surface) 38%)}}.terminal-window{border-color:var(--blue)}@supports (color:color-mix(in lab,red,red)){.terminal-window{border-color:color-mix(in srgb,var(--blue) 22%,var(--border))}}.terminal-window{box-shadow:inset 0 1px 0 #ffffff0d,0 1px 2px #00000080,0 24px 60px -12px var(--blue),0 0 0 1px #0006}@supports (color:color-mix(in lab,red,red)){.terminal-window{box-shadow:inset 0 1px 0 #ffffff0d,0 1px 2px #00000080,0 24px 60px -12px color-mix(in srgb,var(--blue) 14%,#000000bf),0 0 0 1px #0006}}.terminal-window .terminal-header{background:linear-gradient(180deg,var(--border),var(--border))}@supports (color:color-mix(in lab,red,red)){.terminal-window .terminal-header{background:linear-gradient(180deg,color-mix(in srgb,var(--border) 135%,#fff 4%),var(--border))}}.terminal-body{padding:28px 32px 32px}.row-title,h1,h2,h3{text-wrap:balance}.essay-md li,.essay-md p{text-wrap:pretty}.section-cmd{letter-spacing:.01em;margin-bottom:1.5rem}.section-cmd:before{color:var(--blue-dim)}.divider{border-top-color:var(--blue)}@supports (color:color-mix(in lab,red,red)){.divider{border-top-color:color-mix(in srgb,var(--blue) 14%,var(--border))}}.tag{background:var(--cyan)}@supports (color:color-mix(in lab,red,red)){.tag{background:color-mix(in srgb,var(--cyan) 6%,transparent)}}.tag{border:1px solid var(--cyan)}@supports (color:color-mix(in lab,red,red)){.tag{border:1px solid color-mix(in srgb,var(--cyan) 22%,transparent)}}.tag{border-radius:4px;transition:border-color .2s,color .2s,background .2s,transform .2s}.tag:hover{background:var(--cyan)}@supports (color:color-mix(in lab,red,red)){.tag:hover{background:color-mix(in srgb,var(--cyan) 14%,transparent)}}.tag:hover{transform:translateY(-1px)}.essay-md blockquote{background:var(--cyan)}@supports (color:color-mix(in lab,red,red)){.essay-md blockquote{background:color-mix(in srgb,var(--cyan) 4%,transparent)}}.list-row{transition:color .18s,transform .25s cubic-bezier(.22,1,.36,1);position:relative}.list-row:hover{transform:translate(3px)}button:not(.nav-toggle):active{transform:scale(.98)}a{transition:color .15s,border-color .2s}@media (prefers-reduced-motion:no-preference){.terminal-window{animation:window-in .6s cubic-bezier(.22,1,.36,1) both}@keyframes window-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}}@media (max-width:640px){.terminal-body{padding:20px 18px 24px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{--menubar-h:calc(30px + env(safe-area-inset-top, 0px));--glass:rgba(14,18,28,0.9);--hair:rgba(255,255,255,0.09)}body{background:#070910;background-image:none}.scanline{display:none}.wallpaper{position:fixed;inset:0;z-index:0;background:radial-gradient(90% 70% at 50% -10%,#171b24 0,#0b0d12 55%,#08090c 100%)}.wallpaper:after{content:"";position:absolute;inset:0;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.menubar{position:fixed;inset:0 0 auto 0;height:var(--menubar-h);box-sizing:border-box;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,0) calc(14px + env(safe-area-inset-right, 0px)) 0 calc(14px + env(safe-area-inset-left, 0px));background:rgba(10,13,20,.55);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border-bottom:1px solid var(--hair);font-size:12.5px;color:#e8ecf4}.menubar a{color:inherit;text-decoration:none}.menubar-name{display:flex;align-items:center;gap:9px}.menubar-logo{width:13px;height:13px;border-radius:4px;background:conic-gradient(from 210deg,var(--blue),var(--cyan),var(--blue));box-shadow:0 0 10px color-mix(in srgb,var(--blue) 70%,transparent)}.menubar-right{display:flex;align-items:center;gap:14px}.menubar-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:5px;transition:background .15s}.menubar-btn:hover{background:rgba(255,255,255,.12)}.menubar-btn:focus-visible{outline:2px solid var(--cyan)}.menubar-clock{color:#c9d0de;font-variant-numeric:tabular-nums}.menubar-kbd{display:none;font:11px var(--font-mono);color:#98a2b6;opacity:0;transition:opacity .15s}@media (min-width:768px){.menubar-kbd{display:inline}.menubar-search:focus-visible .menubar-kbd,.menubar-search:hover .menubar-kbd{opacity:1}}.stage{position:relative;z-index:1;padding:calc(var(--menubar-h) + 28px) max(16px,env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom, 0px)) max(16px,env(safe-area-inset-left));min-height:100dvh}@media (min-width:768px){.stage{padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right))}}.terminal-window,.win{background:var(--glass);backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%);border:1px solid var(--hair);border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -14px rgba(0,0,0,.65),0 0 0 .5px rgba(0,0,0,.6);overflow:hidden}.win{position:relative;width:100%}@keyframes win-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}.terminal-header,.win-bar{display:flex;align-items:center;height:38px;padding:0 14px;background:rgba(255,255,255,.035);border-bottom:1px solid var(--hair);cursor:default;user-select:none;position:relative}.win-lights{display:flex;gap:8px;z-index:1}.light{all:unset;width:12px;height:12px;border-radius:50%;cursor:default;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.35)}.l-red{background:#ff5f57}.l-yellow{background:#febc2e}.l-green{background:#28c840}.light:focus-visible{outline:2px solid #fff;outline-offset:2px}.win-title{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#aab3c5;pointer-events:none}.win-body{overflow:visible}.terminal-window{animation:win-in .5s cubic-bezier(.2,1,.3,1) both}.about{padding:28px 30px 26px}.about h1{font-size:21px;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:#fff}.lede{margin-top:6px;color:#98a2b6;font-size:14px}.actions{display:flex;align-items:center;gap:20px;margin-top:22px}.btn{all:unset;box-sizing:border-box;cursor:pointer;padding:7px 16px;border-radius:7px;font-size:13px;font-weight:500;transition:background .15s,transform .1s}.btn.primary{background:#f2f4f8;color:#0b0e14}.btn.primary:hover{background:#fff}.btn:active{transform:scale(.97)}.btn-link{all:unset;cursor:pointer;font-size:13px;color:#c9d0de;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}.btn-link:hover{color:#fff;text-decoration-color:var(--blue)}.btn-link:focus-visible,.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.facts{margin-top:24px;border-top:1px solid var(--hair)}.facts div{display:grid;grid-template-columns:76px 1fr;padding:10px 0;border-bottom:1px solid var(--hair);font-size:13px}.facts dt{font:11px/1.9 var(--font-mono);color:#7d879a;text-transform:lowercase}.facts dd{color:#c9d0de}.facts a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}.facts a:hover{text-decoration-color:var(--blue)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;align-items:start;padding:16px}.card{padding:16px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--hair);display:flex;flex-direction:column;gap:9px;transition:transform .2s,border-color .2s,background .2s}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 50%,var(--hair));background:rgba(255,255,255,.07)}.card h3{color:#fff;font-size:14px;font-weight:600;letter-spacing:-.01em}.card p{color:#98a2b6;font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{font:11px var(--font-mono);padding:2px 7px;border-radius:5px;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 9%,transparent)}.card-links{display:flex;gap:12px;font-size:12px}.card-links a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.22);text-underline-offset:3px}.card-links a:hover{text-decoration-color:var(--blue)}.cvs{gap:10px;padding:16px}.cv,.cvs{display:grid}.cv{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--hair);color:#e8ecf4;transition:transform .2s,background .2s,border-color .2s}.cv:hover{transform:translateX(3px);background:rgba(255,255,255,.08);border-color:var(--blue);color:#fff;text-decoration:none}.cv small{color:#7d879a;text-transform:none}.dock-wrap{position:fixed;left:0;right:0;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);bottom:calc(10px + env(safe-area-inset-bottom, 0px));z-index:150;display:flex;justify-content:center;pointer-events:none}.dock{pointer-events:auto;display:flex;align-items:flex-end;gap:8px;padding:8px 10px;border-radius:22px;background:rgba(18,22,32,.5);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.1)}.dock-item{all:unset;--size:50px;position:relative;display:block;width:var(--size);height:var(--size);cursor:pointer;transition:width .12s ease-out,height .12s ease-out}.dock-icon{display:grid;place-items:center;width:100%;height:100%;border-radius:22%;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px -4px rgba(0,0,0,.55)}.dock-icon svg{width:48%;height:48%;stroke-width:1.8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.dock-item:after{content:attr(data-label);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px);padding:3px 10px;border-radius:7px;font:12px var(--font-sans);white-space:nowrap;color:#fff;background:rgba(20,24,34,.88);border:1px solid var(--hair);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.dock-item:focus-visible:after,.dock-item:hover:after{opacity:1;transform:translate(-50%)}.dock-item[data-active]:before{content:"";position:absolute;bottom:-7px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#fff;opacity:.8}.dock-item:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:12px}@media (max-width:768px){.hide-sm{display:none}.menubar{padding:env(safe-area-inset-top,0) calc(10px + env(safe-area-inset-right, 0px)) 0 calc(10px + env(safe-area-inset-left, 0px))}.menubar-right{gap:8px}.dock{gap:5px;padding:6px 8px;border-radius:18px}.dock-item{--size:40px!important}.dock-item:after{display:none}}@media (prefers-reduced-motion:reduce){.terminal-window{animation:none}}.widget{display:block;margin:16px 16px 0;padding:12px 14px 10px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--hair);color:#aab3c5;transition:border-color .2s,background .2s}.widget:hover{border-color:color-mix(in srgb,var(--blue) 50%,var(--hair));background:rgba(255,255,255,.07);text-decoration:none}.widget-label{display:flex;align-items:center;gap:6px;font:11px var(--font-mono);margin-bottom:8px}.widget img{width:100%;height:auto;display:block;opacity:.95}.home-hero{position:relative;height:clamp(120px,22vw,260px)}.particle-name{display:block;width:100%;height:100%;cursor:pointer;touch-action:pan-y}.milestone{position:fixed;right:18px;bottom:112px;z-index:180;width:min(340px,calc(100vw - 20px));display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:14px 12px 14px 16px;background:var(--glass);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--hair);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 50px -14px rgba(0,0,0,.65);animation:toast-in .45s cubic-bezier(.2,1,.3,1) both}.milestone[data-milestone]{border-color:color-mix(in srgb,var(--blue) 45%,var(--hair))}.milestone-num{font:600 28px/1 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff;min-width:2ch;padding-top:1px}.milestone[data-milestone] .milestone-num{color:var(--cyan)}.milestone-text{display:grid;gap:2px;min-width:0}.milestone-text strong{color:#fff;font-size:14px;font-weight:600;text-transform:capitalize}.milestone-text span{color:#98a2b6;font-size:12.5px}.milestone-actions{display:flex;gap:14px;margin-top:8px;font-size:12px}.milestone-actions a,.milestone-actions button{all:unset;cursor:pointer;color:var(--cyan)}.milestone-actions a:hover,.milestone-actions button:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.milestone-actions a:focus-visible,.milestone-actions button:focus-visible,.milestone-close:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:3px}.milestone-close{all:unset;cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:#7d879a}.milestone-close:hover{background:rgba(255,255,255,.1);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.milestone{animation:none}}.section-cmd,.section-cmd.f1{font:600 24px/1.2 var(--font-sans);letter-spacing:-.025em;color:#fff;margin-bottom:1.1rem}.section-cmd:before{content:none}.terminal-body{padding:26px 28px 32px}.terminal-window .cards{padding:0;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-shot{width:calc(100% + 32px);height:auto;margin:-16px -16px 4px;border-radius:10px 10px 0 0;border-bottom:1px solid var(--hair);aspect-ratio:16/10;object-fit:cover;object-position:top;background:rgba(255,255,255,.04)}.terminal-window .win-bar{cursor:default}a.light{display:block;text-decoration:none}.skill-groups{display:grid;gap:28px}.skill-group{font:11px/1 var(--font-mono);color:#7d879a;text-transform:lowercase;font-weight:400;letter-spacing:.02em}.skill-groups .facts{margin-top:0}.skill-groups .facts .skill-row{grid-template-columns:150px 1fr;padding:9px 0}.skill-groups .facts dt{font:13px/1.6 var(--font-sans);color:#e8ecf4;text-transform:none}.skill-groups .facts dd{color:#aab3c5}.skill-groups .facts dd span{color:#7d879a}.page-lede{color:#98a2b6;font-size:14px;margin:-4px 0 22px;max-width:60ch;text-wrap:pretty}.page-lede a{color:#c9d0de;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px;margin-left:6px}.rows{border-top:1px solid var(--hair)}.row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--hair)}.row-link{color:#e8ecf4;font-size:14.5px;font-weight:500;letter-spacing:-.01em;text-decoration:none;transition:color .15s}.row-link:hover{color:var(--cyan);text-decoration:none}.row-meta{color:#7d879a;font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right}.entries{display:grid;gap:34px}.entry header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px}.entry h2{color:#fff;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.3;text-wrap:balance}.status{flex-shrink:0;font:11px var(--font-mono);color:#98a2b6;border:1px solid var(--hair);padding:2px 8px;border-radius:5px}.entry .facts{margin:12px 0 14px}.entry-body{color:#c9d0de;font-size:14px;line-height:1.65;margin-bottom:12px;text-wrap:pretty}.entry-note{margin-top:12px;padding-left:14px;border-left:1px solid var(--hair);color:#7d879a;font-size:13px;line-height:1.6}.skill-group{margin-bottom:8px}@media (max-width:640px){.row{grid-template-columns:1fr;gap:2px}.row-meta{text-align:left}.entry header{flex-direction:column;gap:8px}}.interests{margin-top:28px}.pal-backdrop{position:fixed;inset:0;z-index:300;display:flex;justify-content:center;align-items:flex-start;padding:14vh 14px 0;background:rgba(4,5,8,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:pal-fade .15s ease-out both}.pal{width:min(560px,100%);background:var(--glass);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid var(--hair);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 40px 80px -20px rgba(0,0,0,.75);overflow:hidden;animation:win-in .25s cubic-bezier(.2,1,.3,1) both}.pal-search{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--hair);color:#7d879a}.pal-search input{all:unset;flex:1;min-width:0;color:#fff;font-size:16px;caret-color:var(--cyan)}.pal-search input::placeholder{color:#6a7487}.pal-search kbd{font:11px var(--font-mono);color:#7d879a;border:1px solid var(--hair);border-radius:5px;padding:2px 7px}.pal-list{padding:6px;max-height:min(380px,60vh);overflow-y:auto}.pal-row{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:9px;cursor:pointer}.pal-row[data-selected]{background:rgba(255,255,255,.08)}.pal-row img{flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.pal-title{color:#fff;font-size:14px;font-weight:500}.pal-hint{margin-left:auto;color:#7d879a;font-size:12.5px}.pal-row:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.pal-empty{padding:22px;text-align:center;color:#7d879a;font-size:13.5px}@keyframes pal-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pal,.pal-backdrop{animation:none}}.home{width:100%;max-width:1120px;margin:0 auto}.home,.home-row{display:grid;gap:20px}.home-row{grid-template-columns:minmax(0,1fr);align-items:start}.home-win{scroll-margin-top:calc(var(--menubar-h) + 12px)}.see-all{padding:4px 24px 18px;font-size:12.5px}.see-all-link{display:inline-flex;align-items:center;gap:8px;color:#98a2b6;text-decoration:none;transition:color .15s}.see-all-link:focus-visible,.see-all-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.home .actions{flex-wrap:wrap;row-gap:12px}@media (min-width:1100px){.home-row-top{grid-template-columns:440px minmax(0,1fr)}.home-row:not(.home-row-top){grid-template-columns:1fr 1fr}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0 entry 40%}@keyframes reveal{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}}}.menubar-mark{width:22px;height:22px;border-radius:5px;image-rendering:auto;filter:brightness(1.9) contrast(1.1)}.entries{gap:0;border-top:1px solid var(--hair)}.entry{padding:18px 0;border-bottom:1px solid var(--hair)}.entry h2{font-size:16px}.entry-sum{color:#c9d0de;font-size:14px;line-height:1.55;margin-top:4px;text-wrap:pretty}.entry-meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:#7d879a;font-size:12.5px;margin-top:6px}.entry-meta a{color:#c9d0de;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}.entry-meta a:hover{text-decoration-color:var(--blue)}.entry-more{margin-top:10px}.entry-more summary{cursor:pointer;color:#7d879a;font:12px var(--font-mono);list-style:none;width:fit-content}.entry-more summary::-webkit-details-marker{display:none}.entry-more summary:before{content:"+ "}.entry-more[open] summary:before{content:"– "}.entry-more summary:hover{color:#fff}.entry-more .entry-body{margin-top:10px}.facts .role{color:#7d879a}.facts .sep{color:#4a5568}.about .facts div{grid-template-columns:64px 1fr}.chip,.tag{font:500 11.5px/1 var(--font-sans);letter-spacing:0;color:#aab3c5;background:rgba(255,255,255,.06);border:1px solid transparent;border-radius:6px;padding:5px 9px;margin:0;transition:background .15s,color .15s}.chip:hover,.tag:hover{background:rgba(255,255,255,.1);color:#e8ecf4;transform:none}.chips{gap:6px}.dot-tile{display:grid;place-items:center;width:100%;height:100%;padding:13%;border-radius:22%;filter:none!important;background:linear-gradient(180deg,#1a1f2a,#0e1117);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 14px -6px rgba(0,0,0,.7);--dot:#cdd4e2;--dot-dim:rgba(205,212,226,.4);transition:box-shadow .2s,background .2s,border-color .2s}.dot-tile svg{width:100%;height:100%;display:block}.dock-item:hover .dot-tile,.pal-row[data-selected] .dot-tile{--dot:var(--cyan);--dot-dim:color-mix(in srgb,var(--cyan) 45%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 24px -6px var(--blue),0 6px 14px -6px rgba(0,0,0,.7)}.dock-item[data-active] .dot-tile{--dot-dim:color-mix(in srgb,var(--cyan) 70%,transparent);border-color:color-mix(in srgb,var(--blue) 55%,transparent)}.pal-icon{width:30px;height:30px;flex-shrink:0;padding:5px;border-radius:8px}.win-title{display:block;text-align:center;line-height:38px;padding:0 76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-icon{padding:4px}.modal-backdrop{align-items:center;padding-top:0;z-index:400}.modal{width:min(440px,100%)}.modal .win-bar{cursor:default}.modal-body{padding:26px 28px 22px}.modal-email{color:#fff;font-size:19px;font-weight:600;letter-spacing:-.02em;word-break:break-all}.modal-body .actions{margin:16px 0 24px}.about-head{display:flex;align-items:center;gap:16px}.portrait{width:72px;height:72px;flex-shrink:0;border-radius:18px;object-fit:cover;object-position:50% 82%;border:1px solid var(--hair);box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}.about .facts dd>span{display:inline-block;margin-right:1.1em}.menubar-mark{width:24px;height:24px;border-radius:6px;filter:brightness(2.7) contrast(1.35) saturate(1.2)}[role=button],a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (max-width:768px){body{font-size:14px}.terminal-window .win-bar,.win-bar{height:44px}.win-lights{gap:14px}.light{width:14px;height:14px;position:relative}.light:after{content:"";position:absolute;inset:-10px}a.light{display:block}.menubar-btn{min-width:40px;min-height:30px;justify-content:center;padding:0 6px}.menubar-right{gap:4px}.btn{min-height:40px;display:inline-flex;align-items:center;padding:0 18px}.btn-link{padding:10px 4px}.actions{gap:14px}.row-link{padding:4px 0}.card-links{gap:18px;font-size:13px}.card-links a{padding:6px 0}.about .facts div,.modal .row{font-size:14px}.entry-body,.entry-sum,.lede{font-size:15px}.card p{font-size:13.5px}.pal-search input{font-size:16px}.milestone,.pal,.terminal-window,.win{background:rgba(14,18,28,.97)}.menubar,.milestone,.pal,.terminal-window,.win{backdrop-filter:none;-webkit-backdrop-filter:none}.menubar{background:rgba(10,13,20,.96)}.dock{background:rgba(18,22,32,.96)}.dock,.pal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}.dock-item .dot-tile{padding:8%;--dot:#cdd4e2;--dot-dim:rgba(205,212,226,.45);background:linear-gradient(180deg,#202634,#11151d)}.dock-item:hover .dot-tile{--dot:var(--cyan);--dot-dim:color-mix(in srgb,var(--cyan) 45%,transparent)}.dock-item[data-active] .dot-tile{--dot:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 32%,#10131a),color-mix(in srgb,var(--blue) 14%,#0c0e13))}@media (max-width:768px){.dock{padding-bottom:20px}.dock-item:after{display:none}.dock-item[data-active]:after{display:block;opacity:1;top:calc(100% + 3px);bottom:auto;left:50%;transform:translateX(-50%);padding:0;background:none;border:0;font-size:9.5px;letter-spacing:.01em;color:#fff}.dock-item[data-active]:before{display:none}}.breadcrumb-curr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw;display:inline-block;vertical-align:bottom}.win-pad{padding:20px 24px 26px}.resume-menu{position:relative}.resume-menu .btn{display:inline-flex;align-items:center;gap:6px}.resume-menu .btn svg{transition:transform .15s}.resume-menu .btn svg[data-open]{transform:rotate(180deg)}.resume-pop{position:absolute;z-index:5;top:calc(100% + 8px);left:0;min-width:240px;padding:5px;border-radius:10px;background:rgb(22,27,39);border:1px solid var(--hair);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 40px -12px rgba(0,0,0,.7);animation:pal-fade .12s ease-out both}.resume-pop a{display:grid;gap:1px;padding:9px 12px;border-radius:7px;color:#e8ecf4;text-decoration:none;font-size:13px}.resume-pop a small{color:#7d879a;font-size:11.5px}.resume-pop a:focus-visible,.resume-pop a:hover{background:rgba(255,255,255,.08);color:#fff;outline:none}.resume-pop a:hover small{color:var(--cyan)}.home-oneliner{padding:18px 24px 20px;font-size:14px;color:#c9d0de;overflow-wrap:anywhere}.home-oneliner a,.home-say-hi{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}.home-oneliner a:hover,.home-say-hi:hover{text-decoration-color:var(--blue)}.home-say-hi{all:unset;cursor:pointer;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}.home-say-hi:hover{text-decoration-color:var(--blue)}.home-say-hi:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:3px}.back-link{display:inline-flex;align-items:center;margin-bottom:22px;padding:6px 12px;border:1px solid var(--hair);border-radius:999px;background:rgba(255,255,255,.04);font:500 12.5px/1 var(--font-sans);color:#c9d0de;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.back-link:focus-visible,.back-link:hover{color:#fff;background:rgba(255,255,255,.08);border-color:color-mix(in srgb,var(--blue) 55%,var(--hair));text-decoration:none}.back-link:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@media (max-width:768px){.back-link{min-height:36px;padding-inline:14px 16px}}.decor{display:none}@media (min-width:1300px){.stage{overflow-x:clip}.home{position:relative}.decor{display:block;position:absolute;top:0;bottom:0;pointer-events:none;user-select:none}.decor-left{right:calc(100% + 14px);width:64px}.decor-sticky{position:sticky;top:calc(var(--menubar-h) + 36px)}.decor-vert{display:block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font:700 46px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.2)}}.menubar-open{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,#28c840 35%,var(--hair));background:color-mix(in srgb,#28c840 9%,transparent);font:500 11.5px/1 var(--font-sans);color:#e8ecf4;transition:background .15s,border-color .15s}.menubar-open:hover{background:color-mix(in srgb,#28c840 18%,transparent);border-color:color-mix(in srgb,#28c840 60%,var(--hair));color:#fff}.menubar-open:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.menubar-dot{width:7px;height:7px;border-radius:50%;background:#28c840;box-shadow:0 0 0 0 rgba(40,200,64,.55)}.menubar-open-short{display:none}@media (prefers-reduced-motion:no-preference){.menubar-dot{animation:menubar-ping 2.2s ease-out infinite}@keyframes menubar-ping{70%,to{box-shadow:0 0 0 7px rgba(40,200,64,0)}}}@media (max-width:768px){.menubar-open{min-height:30px}.menubar-open-long{display:none}.menubar-open-short{display:inline}}.skills-home{display:grid;gap:14px;padding:18px 24px 8px}.skills-row{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:start}.skills-cat{font:11px/26px var(--font-mono);color:#7d879a;text-transform:lowercase}@media (min-width:1100px){.home-row-top{grid-template-rows:auto 1fr}.home-row-top>#about{grid-column:1;grid-row:1}.home-row-top>#projects{grid-column:2;grid-row:1/span 2}.home-row-top>#skills{grid-column:1;grid-row:2}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-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 Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_4dc837{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}