@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.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.303a03d6.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.0b4edfe7.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.bff0868b.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.719084df.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.102b7f24.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.690580e8.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.303a03d6.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.0b4edfe7.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.bff0868b.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.719084df.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.102b7f24.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.690580e8.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.303a03d6.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.0b4edfe7.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.bff0868b.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.719084df.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.102b7f24.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:700;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.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:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.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:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.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:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.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:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.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:700;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.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_7ff71633-module__dcNITq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}
:root{--bg-page:#e8e6e3;--bg-terminal:#fefefe;--bg-header:#e8e6e3;--text-primary:#24292f;--text-secondary:#57606a;--text-muted:#8b949e;--accent:#0969da;--accent-hover:#0550ae;--border:#d0d7de;--prompt-color:#1a7f37;--command-color:#24292f;--output-color:#57606a;--link-color:#0969da;--current-badge:#1a7f37;--success:#1a7f37;--github-merged:#8957e5;--github-open:#1a7f37}[data-theme=dark]{--bg-page:#010409;--bg-terminal:#0d1117;--bg-header:#161b22;--text-primary:#c9d1d9;--text-secondary:#8b949e;--text-muted:#6e7681;--accent:#58a6ff;--accent-hover:#79c0ff;--border:#30363d;--prompt-color:#7ee787;--command-color:#c9d1d9;--output-color:#8b949e;--link-color:#58a6ff;--current-badge:#7ee787}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;padding:2rem;font-family:JetBrains Mono,monospace;line-height:1.6}.terminalPage{max-width:900px;margin:0 auto}.terminal{background:var(--bg-terminal);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0000001f}.terminalHeader{background:var(--bg-header);border-bottom:1px solid var(--border);grid-template-columns:80px 1fr 80px;align-items:center;padding:.75rem 1rem;display:grid}.terminalButtons{gap:8px;display:flex}.terminalBtn{background:var(--border);border:none;border-radius:50%;width:12px;height:12px;padding:0;display:block}.terminalBtn.active{cursor:pointer;transition:opacity .15s,transform .15s}.terminalBtn.active:hover{opacity:.75;transform:scale(1.15)}.terminalBtn.active:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.terminalBtn.close{background:#ff5f57}.terminalBtn.maximize{background:#28c840}.terminal:fullscreen{background:var(--bg-terminal);border:none;border-radius:0;overflow-y:auto}.terminal:fullscreen .terminalHeader{z-index:10;position:sticky;top:0}.terminal:fullscreen .terminalBody{width:100%;max-width:900px;margin:0 auto}.terminal.maximized{z-index:100;border:none;border-radius:0;position:fixed;inset:0;overflow-y:auto}.terminal.maximized .terminalHeader{z-index:10;position:sticky;top:0}.terminal.maximized .terminalBody{width:100%;max-width:900px;margin:0 auto}.terminalTitle{text-align:center;color:var(--text-secondary);justify-content:center;gap:.5rem;font-size:.85rem;display:flex}.terminalPath{color:var(--text-muted)}.terminalHeaderRight{width:auto}.terminalBody{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.terminalNavbar{z-index:50;background:var(--bg-terminal);border-bottom:1px solid var(--border);align-items:center;gap:1rem;margin:-1.5rem -1.5rem 1.5rem;padding:.5rem 1rem;font-size:.75rem;display:flex;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000000d}.navPrefix{color:var(--accent);font-weight:600;display:none}.navItems{scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.navItems::-webkit-scrollbar{display:none}.navItem{color:var(--text-muted);font-family:inherit;font-size:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;transition:all .2s}.navItem:hover{color:var(--text-primary);background:var(--bg-header)}.navItem.active{background:var(--accent);color:#fff;font-weight:600}.navKey{opacity:.7;font-weight:400}@media (min-width:640px){.navPrefix{display:block}}.terminalBlock{flex-direction:column;gap:.5rem;display:flex}.cmdLine{align-items:flex-start;gap:.5rem;display:flex}.prompt{color:var(--prompt-color);-webkit-user-select:none;user-select:none;font-weight:600}.cmd{color:var(--command-color);font-weight:500}.cursor{background:var(--prompt-color);vertical-align:text-bottom;width:8px;height:1.2em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.output{color:var(--output-color);padding-left:1rem}.outputText{max-width:70ch;margin:0}.roleContainer{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.1rem;display:flex}.rolePrefix{color:var(--text-muted);font-size:.9rem}.roleText{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(90deg,var(--accent)0%,var(--accent-hover)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;width:fit-content;font-weight:700}.asciiArt{flex-direction:column;margin-bottom:.75rem;font-size:.65rem;line-height:1.15;display:flex;overflow-x:auto}.asciiArt span{display:block}.ascii1{color:#ff6b6b}.ascii2{color:#f06595}.ascii3{color:#cc5de8}.ascii4{color:#845ef7}.ascii5{color:#5c7cfa}[data-theme=dark] .ascii1{color:#ff8787}[data-theme=dark] .ascii2{color:#f783ac}[data-theme=dark] .ascii3{color:#da77f2}[data-theme=dark] .ascii4{color:#9775fa}[data-theme=dark] .ascii5{color:#748ffc}.terminalSkills{flex-wrap:wrap;gap:.75rem;display:flex}.techIconCompact{background:var(--bg-header);border:1px solid var(--border);color:var(--text-primary);border-radius:3px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;display:inline-flex}.techIconCompact img{object-fit:contain;width:14px;height:14px}.techIconCompact .techLabel{color:var(--text-secondary)}.techBadge{background:var(--bg-header);border:1px solid var(--border);border-radius:3px;align-items:center;gap:.35rem;padding:.15rem .4rem;font-size:.7rem;display:inline-flex}.techBadge img{width:12px;height:12px}.techBadge .techLabel{color:var(--text-secondary)}.techTextOnly .techLabel{color:var(--text-primary);opacity:.85}.terminalList{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.terminalListItem{color:var(--text-primary)}.terminalListItem:before{content:"• ";color:var(--accent)}.terminalLinks{flex-direction:column;gap:.25rem;display:flex}.terminalLink{color:var(--link-color);align-items:center;gap:.5rem;text-decoration:none;transition:color .15s;display:flex}.terminalLink:hover{color:var(--accent-hover);text-decoration:underline}.linkIcon{font-size:1rem}.expEntry{border-bottom:1px dashed var(--border);padding:.75rem 0}.expEntry:last-child{border-bottom:none}.expHeader{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.expCompany{color:var(--text-primary);font-weight:600}.expCurrent{color:var(--current-badge);font-size:.75rem;font-weight:600}.expMeta{gap:1rem;margin-bottom:.25rem;font-size:.9rem;display:flex}.expRole{color:var(--accent)}.expDates{color:var(--text-muted)}.expLocation{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.expTools{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.expTool{background:var(--bg-header);border:1px solid var(--border);color:var(--text-secondary);border-radius:3px;padding:.15rem .5rem;font-size:.75rem}.expProject{border-left:2px solid var(--border);margin-top:1rem;padding-left:.85rem}.expProject:first-of-type{margin-top:.75rem}.expProjectName{color:var(--text-primary);font-size:.85rem;font-weight:600}.expProjectMarker{color:var(--prompt-color)}.expProject .expTools{margin:.4rem 0 .25rem}.expHighlights{margin-top:.5rem;padding:0;list-style:none}.expHighlights li{color:var(--output-color);margin-bottom:.25rem;font-size:.85rem}.notFoundError{color:#f85149}.projectIcon{color:var(--link-color);white-space:nowrap;margin-left:.35rem;font-size:.9rem;text-decoration:none}.projectIcon:hover{color:var(--accent-hover)}.postList{flex-direction:column;display:flex}.postRow{border-bottom:1px dashed var(--border);color:inherit;padding:.75rem 0;text-decoration:none;display:block}.postRow:last-child{border-bottom:none}.postRow:hover .postRowTitle{color:var(--accent-hover);text-decoration:underline}.postRowHead{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.postRowTitle{color:var(--link-color);font-size:.9rem;font-weight:500}.postRowDate{color:var(--text-muted);font-size:.75rem}.postRowSummary{color:var(--output-color);margin-top:.25rem;font-size:.85rem}.postTags{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.postTag{color:var(--text-muted);font-size:.7rem}.postArticle{max-width:70ch}.postTitle{color:var(--text-primary);font-size:1.35rem;line-height:1.35}.postMeta{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0 1.5rem;padding-bottom:.75rem;display:flex}.postDate{color:var(--text-muted);font-size:.75rem}.postMeta .postTags{margin-top:0}.postBody{color:var(--output-color);font-size:.9rem}.postBody>*+*{margin-top:1rem}.postBody h1,.postBody h2,.postBody h3{color:var(--text-primary);margin-top:2rem;font-size:1.05rem}.postBody a{color:var(--link-color)}.postBody strong{color:var(--text-primary)}.postBody ul,.postBody ol{padding-left:1.5rem}.postBody li+li{margin-top:.35rem}.postBody blockquote{border-left:2px solid var(--border);color:var(--text-muted);padding-left:1rem;font-style:italic}.postBody code{background:var(--bg-header);border:1px solid var(--border);color:var(--text-primary);border-radius:3px;padding:.1rem .3rem;font-size:.85em}.postBody pre{background:var(--bg-header);border:1px solid var(--border);border-radius:4px;padding:1rem;overflow-x:auto}.postBody pre code{background:0 0;border:none;padding:0}.postBody img{max-width:100%;height:auto}.outputText,.postRowSummary,.postBody,.postTitle,.expHighlights li,.expProjectName,.terminalLink{overflow-wrap:anywhere}.terminalTitle{min-width:0}.terminalTitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:768px){body,.terminalBody{padding:1rem}.terminalNavbar{margin:-1rem -1rem 1rem;padding:.5rem}.asciiArt{font-size:.4rem}.expMeta{flex-direction:column;gap:.25rem}.postRowHead{gap:.25rem}.postArticle{max-width:100%}}@media (max-width:480px){.terminalHeader{grid-template-columns:auto 1fr auto;gap:.5rem;padding:.75rem}.terminalPath{display:none}.asciiArt{font-size:.33rem}.postTitle{font-size:1.1rem}.postBody pre{padding:.75rem}}@media (pointer:coarse){.terminalBtn.active{position:relative}.terminalBtn.active:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.terminalThemeToggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;padding:4px;transition:all .2s;display:flex}.terminalThemeToggle:hover{color:var(--text-primary);background:var(--bg-page)}.terminalThemeToggle svg{width:16px;height:16px}
