@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_872edfbc-module__XJ3BoW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_872edfbc-module__XJ3BoW__variable{--sg:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,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:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,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:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,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:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:134.59%}.jetbrains_mono_22f99484-module__YWMs7G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_22f99484-module__YWMs7G__variable{--jb:"JetBrains Mono", "JetBrains Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}:root{--editor-bg:#1e1e1e;--sidebar-bg:#252526;--actbar-bg:#333;--titlebar-bg:#3c3c3c;--tab-bg:#2d2d2d;--panel-bg:#1e1e1e;--border:#3e3e3e;--border-light:#454545;--text:#ccc;--text-dim:#858585;--text-bright:#d4d4d4;--text-faint:#5a5a5a;--syn-keyword:#569cd6;--syn-type:#4ec9b0;--syn-string:#ce9178;--syn-number:#b5cea8;--syn-comment:#6a9955;--syn-fn:#dcdcaa;--syn-var:#9cdcfe;--syn-prop:#9cdcfe;--accent:#1d9b8c;--accent-2:#2bd4bd;--statusbar-bg:#007acc;--font-ui:-apple-system, "Segoe UI", system-ui, sans-serif;--font-mono:var(--jb,"JetBrains Mono"), "Fira Code", ui-monospace, monospace;--font-display:var(--sg,"Space Grotesk"), ui-sans-serif, system-ui, sans-serif}[data-theme=light] .vsc-activitybar{background:#2c2c2c}[data-theme=light] .vsc-actbar-btn{color:#aaa}[data-theme=light] .vsc-actbar-btn:hover,[data-theme=light] .vsc-actbar-btn.active{color:#fff}[data-theme=light] .vsc-explorer-file:hover{background:#0000000f}[data-theme=light] .vsc-explorer-file.active{background:#0000001f}[data-theme=light] .proj-card{background:#f0f0f0}[data-theme=light] .proj-card-visual{background:#e4e4e4}[data-theme=light] .proj-card-footer{border-top-color:var(--border)}[data-theme=light] .skill-group,[data-theme=light] .contact-channel{background:#f0f0f0}[data-theme=light] .home-tag{background:#0000000f}[data-theme=light] .skill-pill{color:var(--text-dim);background:#0000000d}[data-theme=light] .md-code{background:#00000012}[data-theme=light] .vsc-panel-hint{background:#1d9b8c0f;border-top-color:#1d9b8c33}[data-theme=light]{--editor-bg:#fff;--sidebar-bg:#f3f3f3;--actbar-bg:#2c2c2c;--titlebar-bg:#ddd;--tab-bg:#ececec;--panel-bg:#f3f3f3;--border:#d4d4d4;--border-light:#ccc;--text:#333;--text-dim:#6e6e6e;--text-bright:#1e1e1e;--text-faint:#a0a0a0;--syn-keyword:#00f;--syn-type:#267f99;--syn-string:#a31515;--syn-number:#098658;--syn-comment:green;--syn-fn:#795e26;--syn-var:#001080;--syn-prop:#001080}body{background:var(--editor-bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#424242;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.vsc-shell{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.vsc-titlebar{background:var(--titlebar-bg);-webkit-user-select:none;user-select:none;border-bottom:1px solid #0006;flex-shrink:0;align-items:center;gap:16px;height:35px;padding:0 12px;display:flex;position:relative}.vsc-titlebar-dots{gap:6px;display:flex}.vsc-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.vsc-dot.red{background:#ff5f57}.vsc-dot.yellow{background:#febc2e}.vsc-dot.green{background:#28c840}.vsc-titlebar-center{color:var(--text-dim);white-space:nowrap;pointer-events:none;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.vsc-titlebar-right{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:11px}@media (max-width:900px){.vsc-titlebar-right{display:none}}.vsc-body{flex:1;display:flex;overflow:hidden}.vsc-activitybar{background:var(--actbar-bg);z-index:10;border-right:1px solid #0000004d;flex-direction:column;flex-shrink:0;align-items:center;width:48px;padding:4px 0;display:flex}.vsc-actbar-top{flex-direction:column;flex:1;align-items:center;display:flex}.vsc-actbar-bottom{flex-direction:column;align-items:center;padding-bottom:4px;display:none}.vsc-actbar-btn--chat{display:none;color:var(--accent-2)!important}.vsc-actbar-btn--chat:hover{color:#fff!important}.vsc-actbar-btn{color:#858585;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:48px;height:48px;text-decoration:none;transition:color .15s;display:flex;position:relative}.vsc-actbar-btn:hover{color:#ccc}.vsc-actbar-btn.active{color:#fff}.vsc-actbar-btn.active:before{content:"";background:#fff;width:2px;position:absolute;top:0;bottom:0;left:0}.vsc-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.vsc-sidebar-backdrop{display:none}.vsc-sidebar-header{letter-spacing:.1em;text-transform:uppercase;height:35px;color:var(--text-dim);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:0 12px;font-size:11px;font-weight:700;display:flex}.vsc-explorer{flex:1;padding:4px 0;overflow-y:auto}.vsc-explorer-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:600;display:flex}.vsc-explorer-label:hover{background:#ffffff0a}.vsc-explorer-file{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;padding:3px 12px 3px 28px;font-size:13px;display:flex}.vsc-explorer-file:hover{background:#ffffff0d}.vsc-explorer-file.active{background:#ffffff1a}.vsc-explorer-file.sub{color:var(--text-faint);padding-left:44px;font-size:12px}.ext-tsx{color:#519aba}.ext-js{color:#e8c06a}.ext-ts{color:#519aba}.ext-md{color:#89b4e8}.ext-env{color:#888}.ext-json{color:#e8c06a}.vsc-editor-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.vsc-tabbar{background:var(--tab-bg);border-bottom:1px solid var(--border);flex-shrink:0;height:35px;display:flex;overflow:auto hidden}.vsc-tabbar::-webkit-scrollbar{height:2px}.vsc-tab{background:var(--tab-bg);height:35px;color:var(--text-dim);cursor:pointer;white-space:nowrap;border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;padding:0 10px 0 14px;font-size:13px;transition:background .1s,color .1s;display:flex}.vsc-tab:hover{color:var(--text);background:#2a2a2a}.vsc-tab.active{background:var(--editor-bg);color:var(--text-bright);border-top:1px solid var(--accent)}.vsc-tab-close{opacity:.35;width:18px;height:18px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:opacity .1s,background .1s;display:flex}.vsc-tab.active .vsc-tab-close{opacity:.7}.vsc-tab-close:hover{background:#ffffff1a;opacity:1!important}.vsc-breadcrumb{background:var(--editor-bg);border-bottom:1px solid var(--border);height:22px;color:var(--text-dim);flex-shrink:0;align-items:center;gap:4px;padding:0 16px;font-size:12px;display:flex}.vsc-breadcrumb .sep{color:var(--text-faint);padding:0 2px}.vsc-breadcrumb .bc-active{color:var(--text)}.vsc-editor-panel-split{flex-direction:column;flex:1;display:flex;overflow:hidden}.vsc-editor{background:var(--editor-bg);flex:1;overflow-y:auto}.vsc-editor-content{padding:20px 0 60px}.vsc-panel{background:var(--panel-bg);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;height:260px;display:flex}.vsc-panel-tabs{background:var(--tab-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;height:35px;padding:0 8px;display:flex}.vsc-panel-tab{height:35px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid #0000;align-items:center;padding:0 12px;font-size:12px;display:flex}.vsc-panel-tab.active{color:var(--text);border-bottom-color:var(--accent)}.vsc-panel-tab.muted{color:var(--text-faint);cursor:default}.vsc-panel-close{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:auto;display:flex}.vsc-panel-close:hover{color:var(--text);background:#ffffff14}.vsc-terminal-body{font-family:var(--font-mono);flex:1;padding:8px 16px 4px;font-size:12.5px;line-height:1.6;overflow-y:auto}.term-line{gap:8px;display:flex}.term-spacer{height:6px}.term-prompt{color:var(--accent);flex-shrink:0}.term-cmd{color:var(--text-bright)}.term-msg{align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.term-you{color:var(--accent);white-space:nowrap;flex-shrink:0}.term-nova{color:var(--syn-type);white-space:nowrap;flex-shrink:0;min-width:38px}.term-user-text{color:var(--text-bright)}.term-bot-text{color:var(--text-dim);line-height:1.5}.term-typing{color:var(--text-faint);padding:4px 0;font-style:italic}.term-suggestions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.term-suggest-btn{color:var(--accent);font-family:var(--font-mono);cursor:pointer;background:#1d9b8c14;border:1px solid #1d9b8c40;border-radius:3px;padding:2px 8px;font-size:11px;transition:background .15s}.term-suggest-btn:hover{background:#1d9b8c2e}.vsc-terminal-input-row{border-top:1px solid #ffffff0a;flex-shrink:0;align-items:center;gap:8px;padding:4px 16px 8px;display:flex}.term-input-prompt{color:var(--accent);font-family:var(--font-mono);flex-shrink:0;font-size:12.5px}.vsc-terminal-input{color:var(--text-bright);font-family:var(--font-mono);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}.vsc-terminal-input::placeholder{color:var(--text-faint)}.vsc-terminal-input:disabled{opacity:.5}.vsc-statusbar{background:var(--statusbar-bg);flex-shrink:0;align-items:center;height:22px;display:flex;overflow:hidden}.vsc-statusbar-left{align-items:center;display:flex}.vsc-statusbar-right{align-items:center;margin-left:auto;display:flex}.vsc-status-item{color:#ffffffe6;cursor:pointer;white-space:nowrap;align-items:center;gap:5px;height:22px;padding:0 8px;font-size:11.5px;transition:background .1s;display:flex}.vsc-status-item:hover{color:#fff;background:#ffffff1f}.home-view{padding:40px 48px 60px}.home-avail{font-family:var(--font-mono);color:var(--syn-number);letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:28px;font-size:12px;display:inline-flex}.home-name{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-2px;margin-bottom:12px;font-size:54px;font-weight:700;line-height:1.05}.home-role{font-family:var(--font-mono);color:var(--accent);margin-bottom:24px;font-size:16px}.home-bio{color:var(--text-dim);max-width:520px;margin-bottom:40px;font-size:15px;line-height:1.75}.home-stats{flex-wrap:wrap;gap:44px;margin-bottom:40px;display:flex}.home-stat{flex-direction:column;gap:4px;display:flex}.home-stat-num{font-family:var(--font-display);color:var(--text-bright);font-size:38px;font-weight:700;line-height:1}.home-stat-label{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.home-ctas{flex-wrap:wrap;gap:10px;margin-bottom:36px;display:flex}.home-cta-btn{font-family:var(--font-mono);cursor:pointer;border:1px solid;border-radius:4px;align-items:center;gap:6px;padding:9px 20px;font-size:13px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.home-cta-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.home-cta-btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.home-cta-btn.secondary{border-color:var(--border-light);color:var(--text-dim);background:0 0}.home-cta-btn.secondary:hover{border-color:var(--text-dim);color:var(--text)}.home-tags{flex-wrap:wrap;gap:6px;display:flex}.home-tag{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);background:#ffffff0a;border-radius:3px;padding:3px 8px;font-size:11px}.avail-dot{background:var(--syn-number);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.projects-header{padding:0 48px 14px}.projects-view-title{font-family:var(--font-display);color:var(--text-bright);margin-bottom:4px;font-size:22px;font-weight:700}.projects-view-sub{font-family:var(--font-mono);color:var(--text-faint);margin-bottom:4px;font-size:12px}.projects-grid-vsc{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:0 48px;display:grid}.proj-card{border:1px solid var(--border);cursor:pointer;background:#252526;border-radius:6px;transition:border-color .2s,transform .2s;overflow:hidden}.proj-card:hover{border-color:var(--accent);transform:translateY(-2px)}.proj-card-visual{background:#1a1a1a;height:110px;overflow:hidden}.proj-card-visual svg{width:100%;height:100%}.proj-card-body{padding:12px 14px}.proj-card-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.proj-card-name{color:var(--text-bright);font-size:13.5px;font-weight:600;font-family:var(--font-display)}.proj-badge{font-size:10.5px;font-family:var(--font-mono)}.proj-badge.live{color:var(--syn-number)}.proj-badge.built{color:var(--text-faint)}.proj-card-blurb{color:var(--text-dim);margin-bottom:10px;font-size:12px;line-height:1.5}.proj-card-tags{flex-wrap:wrap;gap:4px;display:flex}.proj-tag{font-size:10px;font-family:var(--font-mono);color:var(--syn-type);background:#1d9b8c14;border:1px solid #1d9b8c33;border-radius:3px;padding:1px 6px}.proj-card-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;padding:8px 14px;display:flex}.proj-link{font-size:11.5px;font-family:var(--font-mono);color:var(--accent);align-items:center;gap:4px;text-decoration:none;display:flex}.proj-link:hover{color:var(--accent-2)}.proj-built-label{font-size:11.5px;font-family:var(--font-mono);color:var(--text-faint)}.skills-view{padding:24px 48px 60px}.view-title{font-family:var(--font-display);color:var(--text-bright);margin-bottom:4px;font-size:22px;font-weight:700}.view-sub{font-family:var(--font-mono);color:var(--text-faint);margin-bottom:20px;font-size:12px}.skill-groups{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.skill-group{border:1px solid var(--border);background:#252526;border-radius:6px;padding:14px 16px}.skill-group-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.skill-group-icon{color:var(--text-dim);flex-shrink:0}.skill-group-name{font-family:var(--font-display);color:var(--text-bright);font-size:13px;font-weight:600}.skill-group-meta{font-family:var(--font-mono);color:var(--accent);background:#1d9b8c1a;border:1px solid #1d9b8c33;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:10px}.skill-pills{flex-wrap:wrap;gap:5px;display:flex}.skill-pill{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);background:#ffffff0a;border-radius:3px;padding:2px 8px;font-size:11px}.skill-pill.primary{color:var(--syn-type);background:#4ec9b014;border-color:#4ec9b033;font-weight:500}.about-content{max-width:720px;padding:20px 48px 60px}.md-h1{color:var(--text-bright);font-size:28px;font-weight:700;font-family:var(--font-display);margin-bottom:4px}.md-h2{color:var(--text-bright);font-size:17px;font-weight:600;font-family:var(--font-display);border-bottom:1px solid var(--border);margin:28px 0 10px;padding-bottom:6px}.md-p{color:var(--text);margin-bottom:12px;font-size:14px;line-height:1.75}.md-blockquote{border-left:3px solid var(--accent);color:var(--text-dim);margin:16px 0;padding:4px 0 4px 16px;font-size:14px;font-style:italic}.md-code{font-family:var(--font-mono);border:1px solid var(--border);color:var(--syn-string);background:#ffffff0f;border-radius:3px;padding:1px 5px;font-size:12.5px}.md-em{color:var(--accent);font-style:italic}.md-strong{color:var(--text-bright);font-weight:600}.md-ul{margin-bottom:12px;padding-left:20px}.md-ul li{color:var(--text);margin-bottom:4px;font-size:14px;line-height:1.75}.md-ul li::marker{color:var(--accent)}.md-badge{font-family:var(--font-mono);color:var(--accent);background:#1d9b8c1f;border:1px solid #1d9b8c40;border-radius:3px;margin:2px;padding:2px 8px;font-size:11px;display:inline-block}.contact-channels{flex-direction:column;gap:10px;max-width:580px;margin:20px 0 0;display:flex}.contact-channel{border:1px solid var(--border);background:#252526;border-radius:6px;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.contact-channel:hover{border-color:var(--accent);background:#1d9b8c0d}.contact-channel-icon{color:var(--text-dim);flex-shrink:0}.contact-channel-info{flex-direction:column;gap:2px;display:flex}.contact-channel-label{font-size:10.5px;font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.contact-channel-value{color:var(--text-bright);font-size:13.5px;font-family:var(--font-mono)}.cp-backdrop{z-index:200;background:#00000080;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}.cp-modal{background:var(--sidebar-bg);border:1px solid var(--border-light);border-radius:6px;width:100%;max-width:560px;margin:0 16px;overflow:hidden;box-shadow:0 16px 48px #0006}.cp-input-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.cp-input{color:var(--text-bright);font-size:16px;font-family:var(--font-ui);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1}.cp-input::placeholder{color:var(--text-faint)}.cp-esc{font-family:var(--font-mono);color:var(--text-faint);border:1px solid var(--border);cursor:pointer;background:#ffffff0f;border-radius:3px;padding:1px 5px;font-size:10px}.cp-results{max-height:280px;overflow-y:auto}.cp-item{cursor:pointer;align-items:center;gap:10px;padding:8px 14px;transition:background .1s;display:flex}.cp-item:hover,.cp-item.active{background:#ffffff12}[data-theme=light] .cp-item:hover,[data-theme=light] .cp-item.active{background:#0000000f}.cp-item-name{color:var(--text-bright);flex:1;font-size:13px}.cp-item-lang{font-size:11px;font-family:var(--font-mono);color:var(--text-faint)}.vsc-panel-hint{width:100%;height:32px;color:var(--accent);cursor:pointer;font-family:var(--font-mono);text-align:left;background:#1d9b8c14;border:none;border-top:1px solid #1d9b8c40;flex-shrink:0;align-items:center;gap:10px;padding:0 16px;font-size:12px;transition:background .15s;display:flex}.vsc-panel-hint:hover{background:#1d9b8c29}.vsc-panel-hint-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite nova-pulse}.vsc-panel-hint-arrow{opacity:.7;margin-left:auto;font-size:14px}.vsc-nova-btn{letter-spacing:.02em;gap:6px;font-size:12px;font-weight:700;transition:background .15s;color:#fff!important;background:#1d9b8c!important;padding:0 14px!important}.vsc-nova-btn:hover{background:#17857a!important}.vsc-nova-btn.closed{animation:3s ease-in-out infinite ray-attention;background:#155f58!important}.nova-dot{opacity:.9;background:#fff;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.nova-dot.pulse{animation:2s ease-in-out infinite nova-pulse}@keyframes nova-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}@keyframes ray-attention{0%,80%,to{background:#155f58!important}90%{background:#1d9b8c!important}}.projects-view-header{padding:24px 48px 20px}@media (max-width:900px){.vsc-actbar-btn--chat{display:flex}.vsc-sidebar{display:none!important}.vsc-sidebar.mobile-open{z-index:100;width:240px;position:fixed;top:35px;bottom:22px;left:48px;box-shadow:4px 0 24px #0009;display:flex!important}.vsc-sidebar-backdrop{z-index:99;background:#0006;display:block;position:fixed;inset:0}.vsc-panel{height:200px}.vsc-titlebar-right{display:none}.home-view{padding:24px 20px 40px}.home-name{letter-spacing:-1px;font-size:36px}.home-stats{gap:24px}.home-stat-num{font-size:26px}.home-ctas{flex-direction:column;align-items:flex-start}.home-cta-btn{justify-content:center;width:100%}.projects-view-header{padding:20px 20px 16px}.projects-grid-vsc{grid-template-columns:1fr;padding:0 20px}.skills-view{padding:20px 20px 40px}.skill-groups{grid-template-columns:1fr 1fr}.about-content{max-width:100%;padding:16px 20px 40px}.contact-channels{margin:16px 0 0}}@media (max-width:480px){.vsc-activitybar,.vsc-actbar-btn{width:40px}.vsc-sidebar{width:220px}.vsc-titlebar-center{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:11px;overflow:hidden}.home-name{letter-spacing:-.5px;font-size:28px}.home-role{font-size:13px}.home-bio{font-size:13.5px}.home-stats{gap:20px}.home-stat-num{font-size:24px}.projects-view-header{padding:16px 16px 12px}.projects-grid-vsc{padding:0 16px}.skills-view{padding:16px 16px 32px}.skill-groups{grid-template-columns:1fr}.about-content{padding:14px 16px 32px}.vsc-statusbar-right .vsc-status-item:not(.vsc-nova-btn){display:none}.vsc-nova-btn{display:flex!important}}.chat-modal-overlay{z-index:200;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chat-modal{background:var(--editor-bg);border:1px solid var(--border-light);border-radius:12px;flex-direction:column;width:90vw;max-width:440px;height:70vh;max-height:560px;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.chat-modal-header{border-bottom:1px solid var(--border);background:var(--sidebar-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-modal-title{font-family:var(--font-mono);color:var(--accent-2);letter-spacing:.02em;font-size:13px;font-weight:600}.chat-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.chat-modal-close:hover{color:var(--text-bright);background:#ffffff14}.chat-modal-body{font-family:var(--font-mono);flex-direction:column;flex:1;gap:8px;padding:16px;font-size:13px;display:flex;overflow-y:auto}.chat-modal-input-row{border-top:1px solid var(--border);background:var(--sidebar-bg);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.chat-modal-input{color:var(--text-bright);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;font-size:16px}.chat-modal-input::placeholder{color:var(--text-faint)}.chat-modal-input:disabled{opacity:.5}[data-theme=light] .chat-modal{background:#f5f5f5;border-color:#d0d0d0}[data-theme=light] .chat-modal-header{background:#ebebeb;border-bottom-color:#d0d0d0}[data-theme=light] .chat-modal-input-row{background:#ebebeb;border-top-color:#d0d0d0}[data-theme=light] .chat-modal-input{color:#1e1e1e}[data-theme=light] .chat-modal-close{color:#666}[data-theme=light] .chat-modal-close:hover{color:#1e1e1e;background:#0000000f}
