@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/88731e1a74492905-s.047a472f.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:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/861011d7404b02f6-s.7861847e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3381337b621a9a6a-s.29df3230.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.af0c84fa.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:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0951afe60dbf5d36-s.ce79b48e.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/97e7b204180d1274-s.9fe1d481.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:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.25aba60b.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:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/88731e1a74492905-s.047a472f.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:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/861011d7404b02f6-s.7861847e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3381337b621a9a6a-s.29df3230.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.af0c84fa.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:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0951afe60dbf5d36-s.ce79b48e.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/97e7b204180d1274-s.9fe1d481.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:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.25aba60b.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:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/88731e1a74492905-s.047a472f.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:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/861011d7404b02f6-s.7861847e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3381337b621a9a6a-s.29df3230.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.af0c84fa.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:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0951afe60dbf5d36-s.ce79b48e.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/97e7b204180d1274-s.9fe1d481.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:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.25aba60b.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:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/88731e1a74492905-s.047a472f.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:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/861011d7404b02f6-s.7861847e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3381337b621a9a6a-s.29df3230.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.af0c84fa.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:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0951afe60dbf5d36-s.ce79b48e.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/97e7b204180d1274-s.9fe1d481.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:Fira Code;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.25aba60b.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:Fira Code Fallback;src:local(Arial);ascent-override:73.56%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:134.59%}.fira_code_3654883b-module__y8pTsW__className{font-family:Fira Code,Fira Code Fallback;font-style:normal}.fira_code_3654883b-module__y8pTsW__variable{--font-fira:"Fira Code","Fira Code Fallback"}
.terminal-page{--term-bg:#0a0a0a;--term-green:#0f8;--term-amber:#f5a623;--term-dim:#3a3a3a;--term-text:#b0b0b0;--term-bright:#e0e0e0;--term-border:#1a1a1a;--term-surface:#111;--term-comment:#555;font-family:var(--font-fira),"Fira Code","JetBrains Mono",monospace;background:var(--term-bg);color:var(--term-text);position:relative;overflow-x:hidden}.terminal-page:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00ff8804 2px 4px);position:absolute;inset:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{background:var(--term-green);vertical-align:text-bottom;width:10px;height:1.2em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes typewriter-cursor{0%,to{border-right-color:var(--term-green)}50%{border-right-color:#0000}}.text-glow-green{text-shadow:0 0 8px #0f86,0 0 20px #00ff881a}.text-glow-amber{text-shadow:0 0 8px #f5a62366,0 0 20px #f5a6231a}.term-window{background:var(--term-surface);border:1px solid var(--term-border);border-radius:8px;overflow:hidden}.term-window-bar{border-bottom:1px solid var(--term-border);background:#161616;align-items:center;gap:6px;padding:10px 14px;display:flex}.term-window-bar .dot{border-radius:50%;width:12px;height:12px}.term-window-bar .dot.red{background:#ff5f56}.term-window-bar .dot.yellow{background:#ffbd2e}.term-window-bar .dot.green{background:#27c93f}.term-window-bar .title{text-align:center;color:var(--term-comment);flex:1;font-size:12px}.term-window-body{padding:20px;font-size:14px;line-height:1.7}.skill-badge{border:1px solid var(--term-border);color:var(--term-text);cursor:default;background:#111;border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;transition:all .25s;display:inline-flex;position:relative}.skill-badge:hover{border-color:var(--term-green);color:var(--term-green);transform:translateY(-2px);box-shadow:0 0 12px #00ff8826}.skill-badge .skill-bar{background:var(--term-green);border-radius:0 0 6px 6px;width:0;height:2px;transition:width .4s;position:absolute;bottom:0;left:0}.skill-badge:hover .skill-bar{width:var(--skill-level,80%)}.skill-badge .skill-tooltip{background:var(--term-green);color:#000;opacity:0;pointer-events:none;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;transition:all .2s;position:absolute;top:-32px;left:50%;transform:translate(-50%)scale(.9)}.skill-badge:hover .skill-tooltip{opacity:1;transform:translate(-50%)scale(1)}.timeline-item{padding-bottom:40px;padding-left:140px;position:relative}@media (max-width:640px){.timeline-item{padding-bottom:24px;padding-left:0}}.timeline-item:before{content:"";background:var(--term-border);width:1px;position:absolute;top:0;bottom:0;left:120px}@media (max-width:640px){.timeline-item:before{display:none}}.timeline-stamp{color:var(--term-amber);white-space:nowrap;font-size:12px;font-weight:600;position:absolute;top:0;left:0}@media (max-width:640px){.timeline-stamp{margin-bottom:4px;display:block;position:static}}.timeline-dot{background:var(--term-green);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:116px;box-shadow:0 0 8px #00ff8880}@media (max-width:640px){.timeline-dot{display:none}}@keyframes fillBar{0%{width:0}to{width:var(--bar-width,0%)}}.animate-fill-bar{animation:1s forwards fillBar}.section-divider{color:var(--term-comment);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:12px;margin:60px 0 32px;font-size:12px;display:flex}.section-divider:after{content:"";background:var(--term-border);flex:1;height:1px}.terminal-page ::-webkit-scrollbar{width:6px}.terminal-page ::-webkit-scrollbar-track{background:var(--term-bg)}.terminal-page ::-webkit-scrollbar-thumb{background:var(--term-border);border-radius:3px}.terminal-page ::-webkit-scrollbar-thumb:hover{background:var(--term-comment)}.terminal-page .cursor-blink{transition:none!important}
