@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/49f63022355b874d-s.3f3d43f7.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:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/da99beadb68683ca-s.17adc20d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c8480d661ce86a95-s.befa2dce.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed4419e06e4417f3-s.3d02e6a9.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:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/35dab0372a508468-s.041c829b.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:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../media/216579b50e548914-s.p.a1b609f7.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/893ae83aca20c19d-s.f2a25c27.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c02ac0fa909c6aa5-s.45fd84f3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dd1c5fae9520065d-s.615e019b.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ae8db9675a5da745-s.efbc8724.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798f80a4b3a62ae7-s.b091ed37.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bc7fc94203521e3-s.p.888a2ca8.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:Ubuntu Fallback;src:local(Arial);ascent-override:91.32%;descent-override:18.52%;line-gap-override:2.74%;size-adjust:102.06%}.ubuntu_bf438a98-module__VBf03a__className{font-family:Ubuntu,Ubuntu Fallback;font-style:normal}
:root{--bg-color:#161618;--bg-gradient-start:#161618;--bg-gradient-mid:#1c1c20;--bg-gradient-end:#161618;--text-color:#e2e0e6;--accent-color:#90b0d0;--path-color:#7a98b8;--dim-color:#808890;--cream-bg:#222228;--nav-hover:#90b0d01a;--border-color:#383840;--titlebar-start:#2a2a30;--titlebar-end:#242428;--titlebar-border:#383840;--inset-highlight:#ffffff0a;--shadow-color:#00000073;--hover-tint:#90b0d00f;--chip-border:#90b0d033;--chip-bg:linear-gradient(180deg,#ffffff08 0%,#fff0 100%);--chip-hover-bg:linear-gradient(180deg,#ffffff0f 0%,#90b0d014 100%);--chip-shadow:0 1px 2px #0000004d,inset 0 1px 0 #ffffff0a;--link-hover:#b0d0f0;--btn-gradient-start:#506878;--btn-gradient-end:#3e5565;--btn-border:#2e4555;--code-bg:#90b0d01a}[data-theme=light]{--bg-color:#d8d4d0;--bg-gradient-start:#d8d4d0;--bg-gradient-mid:#e0dcd8;--bg-gradient-end:#d8d4d0;--text-color:#1a1a1e;--accent-color:#486878;--path-color:#6a8090;--dim-color:#6a6e74;--cream-bg:#f0ece8;--nav-hover:#48687814;--border-color:#b8b4b0;--titlebar-start:#e4e0dc;--titlebar-end:#d8d4d0;--titlebar-border:#c4c0bc;--inset-highlight:#ffffff80;--shadow-color:#0000001f;--hover-tint:#4868780d;--chip-border:#48687840;--chip-bg:linear-gradient(180deg,#fff6 0%,#fff0 100%);--chip-hover-bg:linear-gradient(180deg,#ffffff80 0%,#48687814 100%);--chip-shadow:0 1px 2px #00000014,inset 0 1px 0 #ffffff80;--link-hover:#2a4858;--btn-gradient-start:#587888;--btn-gradient-end:#486878;--btn-border:#3e5868;--code-bg:#48687814}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,var(--bg-gradient-start)0%,var(--bg-gradient-mid)50%,var(--bg-gradient-end)100%);color:var(--text-color);min-height:100vh;padding:2rem;line-height:1.6;position:relative;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}@keyframes float-reverse{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(20px)rotate(-5deg)}}@keyframes drift{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(8px,-12px)rotate(3deg)}50%{transform:translate(-4px,-20px)rotate(-2deg)}75%{transform:translate(6px,-8px)rotate(4deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pixel-decoration{z-index:0;pointer-events:none;opacity:.5;position:fixed}@media (max-width:768px){.pixel-decoration{display:none}}.window-frame{background-color:var(--cream-bg);border:2px solid var(--border-color);box-shadow:0 10px 28px var(--shadow-color),inset 1px 1px 0 var(--inset-highlight);border-radius:12px;margin-bottom:3rem;overflow:hidden}.window-titlebar{background:linear-gradient(180deg,var(--titlebar-start)0%,var(--titlebar-end)100%);border-bottom:1px solid var(--titlebar-border);align-items:center;gap:10px;padding:8px 14px;display:flex}.window-controls{gap:6px;display:flex}.window-dot{border:1px solid #00000026;border-radius:50%;width:12px;height:12px}.dot-close{background:#e87272}.dot-minimize{background:#e8c44d}.dot-maximize{background:#68c84a}.window-title{color:var(--text-color);opacity:.7;letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:.8rem}.window-content{padding:2rem}.navbar-taskbar{background-color:var(--cream-bg);border:2px solid var(--border-color);box-shadow:0 6px 16px var(--shadow-color),inset 1px 1px 0 var(--inset-highlight);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:.6rem 1.2rem;font-size:1.1rem;display:flex}a{color:var(--accent-color);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}.prompt-user{color:var(--accent-color);font-weight:700}.prompt-path{color:var(--path-color);font-weight:700}.prompt-symbol{color:var(--text-color)}.container{z-index:1;max-width:900px;margin:0 auto;position:relative}header{justify-content:space-between;align-items:center;display:flex}h1{color:var(--text-color);font-size:3rem;font-weight:700;line-height:1.2}.subtitle{color:var(--accent-color);margin-top:.5rem;font-size:1.5rem}.hero-socials{gap:.75rem;margin-top:.75rem;display:flex}.hero-socials a{color:var(--accent-color);font-size:2rem;transition:all .2s}.hero-socials a:hover{color:var(--accent-color);text-decoration:none;transform:scale(1.1)}.profile-pic{border:3px solid var(--accent-color);object-fit:cover;box-shadow:0 6px 12px var(--shadow-color);border-radius:12px}.skill-category{color:var(--accent-color);text-transform:uppercase;letter-spacing:1.5px;margin-top:1.2rem;margin-bottom:.6rem;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600}.skill-category:first-of-type{margin-top:0}.skill-grid{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.skill-chip{border:1px solid var(--chip-border);color:var(--text-color);background:var(--chip-bg);box-shadow:var(--chip-shadow);border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.9rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.skill-chip svg{color:var(--accent-color);flex-shrink:0;font-size:1.6rem}.skill-chip:hover{border-color:var(--accent-color);background:var(--chip-hover-bg);box-shadow:0 2px 4px var(--shadow-color),inset 0 1px 0 var(--inset-highlight)}section{margin-bottom:0}h2{color:var(--accent-color);align-items:center;margin-bottom:1rem;font-size:1.4rem;font-weight:700;display:flex}h2:before{content:"◆";color:var(--accent-color);margin-right:10px}p{color:var(--text-color);margin-bottom:1.5rem;font-size:1.1rem}.btn{background:linear-gradient(180deg,var(--btn-gradient-start)0%,var(--btn-gradient-end)100%);color:var(--cream-bg);border:2px solid var(--btn-border);box-shadow:0 4px 8px var(--shadow-color),inset 0 1px 0 #ffffff26;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-block}.btn:hover{opacity:.9;color:var(--cream-bg);box-shadow:0 6px 14px var(--shadow-color),inset 0 1px 0 #ffffff26;text-decoration:none;transform:translateY(-2px)}[data-theme=light] .btn,[data-theme=light] .btn:hover{color:#f0ece8}.timeline-grid{grid-template-columns:60px 1fr;gap:.5rem 1rem;display:grid}.year{color:var(--accent-color);font-size:1.1rem;font-weight:700}.event{color:var(--dim-color)}.social-list{list-style:none}.social-list li{align-items:center;gap:10px;margin-bottom:.5rem;display:flex}.social-icon{color:var(--accent-color);font-size:1.2rem}@media (max-width:600px){header{text-align:center;flex-direction:column-reverse;gap:20px}.timeline-grid{grid-template-columns:1fr}.navbar-taskbar{text-align:center;flex-direction:column;gap:.5rem}}.cursor{color:var(--text-color);font-weight:700;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.nav-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:5px 10px;font-family:inherit;font-size:1.1rem;transition:background .2s;display:flex}.nav-btn:hover{background-color:var(--nav-hover);color:var(--accent-color)}.path-slider{vertical-align:bottom;grid-template-rows:1fr;grid-template-columns:0fr;transition:grid-template-columns .4s ease-out;display:inline-grid}.path-slider:has(.path-content:not(:empty)){grid-template-columns:1fr}.path-content{white-space:nowrap;color:var(--path-color);font-weight:700;overflow:hidden}.theme-toggle-btn{cursor:pointer;width:40px;height:40px;color:var(--text-color);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.theme-toggle-btn:hover{color:var(--accent-color)}.theme-icon{font-size:1.2rem;transition:all .5s cubic-bezier(.23,1,.32,1);position:absolute}.icon-visible{opacity:1;transform:scale(1)rotate(0)}.icon-hidden{opacity:0;transform:scale(0)rotate(90deg)}.location-card{background-color:var(--cream-bg);border:2px solid var(--border-color);width:100%;box-shadow:0 8px 16px var(--shadow-color),inset 1px 1px 0 var(--inset-highlight);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;font-family:JetBrains Mono,monospace;display:flex}.card-header{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.header-left{color:var(--text-color);letter-spacing:.5px;fill:var(--text-color);align-items:center;gap:10px;font-size:1rem;font-weight:700;display:flex}.header-icon{color:var(--accent-color);font-size:1.1rem}.map-wrapper{isolation:isolate;border-radius:12px;width:100%;height:180px;position:relative;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;margin-top:.2rem;font-size:1rem;display:flex}.footer-location{font-weight:700}.text-city{color:var(--text-color);font-size:.8rem}.text-country{color:var(--accent-color);font-size:.8rem}.footer-time{color:var(--accent-color);align-items:center;gap:8px;font-weight:700;display:flex}.time-icon{font-size:.8rem}.time-text{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:.8rem}.commits-card{background-color:var(--cream-bg);border:2px solid var(--border-color);width:100%;max-width:500px;box-shadow:0 8px 16px var(--shadow-color),inset 1px 1px 0 var(--inset-highlight);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;font-family:JetBrains Mono,monospace;display:flex}.commits-loading{color:var(--text-color);padding:1rem;font-family:JetBrains Mono,monospace}.commits-header{color:var(--text-color);align-items:center;gap:10px;margin-bottom:.5rem;font-size:1.1rem;font-weight:700;display:flex}.header-info{color:var(--path-color);margin-left:auto;font-size:.9rem}.commits-list{flex-direction:column;gap:.8rem;display:flex}.commit-item{white-space:nowrap;align-items:baseline;gap:8px;font-size:.9rem;display:flex;overflow:hidden}.repo-name{color:var(--accent-color);font-weight:700}.commit-msg{color:var(--text-color);text-overflow:ellipsis;flex:1;overflow:hidden}.commit-stats{margin-left:auto;font-size:.85rem}.additions{color:#7cc840}.deletions{color:#e05050}.commits-footer{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.github-link{color:var(--text-color);white-space:nowrap;align-items:center;gap:6px;font-size:.9rem;display:flex}.github-link:hover{text-decoration:underline}.language-bar{background:0 0;margin-bottom:6px}.hover-highlight:hover{color:var(--accent-color);cursor:pointer;text-decoration:underline}.lang-segment{cursor:pointer;transition:filter .2s;position:relative}.lang-segment:hover{filter:brightness(1.2);z-index:2}.custom-tooltip{color:#e6ddd4;white-space:nowrap;z-index:999;pointer-events:none;opacity:0;visibility:hidden;background:#1a1612f2;border:1px solid #b088d04d;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:150%;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 4px 15px #0006}.custom-tooltip:after{content:"";border:5px solid #0000;border-top-color:#1a1612f2;margin-left:-5px;position:absolute;top:100%;left:50%}.lang-segment:hover .custom-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:1.5rem;width:100%;display:grid}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}}.commits-card,.location-card{flex-direction:column;justify-content:space-between;height:100%;display:flex}.location-card>div:nth-child(2){flex-grow:1;min-height:200px}.page-header{border-bottom:1px solid var(--chip-border);align-items:center;gap:1rem;margin-bottom:2rem;padding:.5rem 0;display:flex}.page-back-btn{width:36px;height:36px;color:var(--text-color);background:var(--hover-tint);border-radius:8px;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:flex}.page-back-btn:hover{background:var(--nav-hover);color:var(--accent-color);text-decoration:none}.page-command{color:var(--accent-color);font-family:JetBrains Mono,monospace;font-size:1rem}.page-command:before{content:"$ ";color:var(--text-color)}.page-sort{align-items:center;gap:.5rem;margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.page-sort-label{color:var(--dim-color)}.page-sort-btn{border:1px solid var(--chip-border);color:var(--dim-color);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:.3rem .6rem;transition:all .2s}.page-sort-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.page-sort-btn.active{background-color:var(--hover-tint);border-color:var(--accent-color);color:var(--accent-color)}.page-list{flex-direction:column;gap:1rem;display:flex}.page-empty{color:var(--dim-color);font-style:italic}.page-item{border:1px solid var(--chip-border);border-radius:8px;transition:border-color .2s,background-color .2s}.page-item:hover{border-color:var(--accent-color);background-color:var(--hover-tint)}.page-item-link{padding:1rem;text-decoration:none;display:block}.page-item-link:hover{color:inherit;text-decoration:none}.page-item-header{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.page-item-perms{color:var(--dim-color)}.page-item-date{color:var(--path-color)}.page-item-title{color:var(--accent-color)}.page-item-meta{padding-left:0}.page-item-name{color:var(--text-color);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.page-item-name:before{content:none}.page-item-desc{color:var(--dim-color);margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.page-item-tags{flex-wrap:wrap;gap:.5rem;display:flex}.page-tag{background-color:var(--hover-tint);color:var(--accent-color);border-radius:4px;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.blog-post{max-width:900px}.blog-post-header{margin-bottom:2rem}.blog-post-title{color:var(--text-color);margin-bottom:1rem;font-size:2rem;line-height:1.3}.blog-post-title:before{content:none}.blog-post-meta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.blog-post-date{color:var(--path-color);font-family:JetBrains Mono,monospace;font-size:.9rem}.blog-post-tags{flex-wrap:wrap;gap:.5rem;display:flex}.blog-content{font-size:1.05rem;line-height:1.8}.blog-content h2{margin-top:2rem;margin-bottom:1rem;font-size:1.4rem}.blog-content h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem}.blog-content p{color:var(--dim-color);margin-bottom:1.25rem}.blog-content ul,.blog-content ol{color:var(--dim-color);margin-bottom:1.25rem;padding-left:1.5rem}.blog-content li{margin-bottom:.5rem}.blog-content strong{color:var(--text-color);font-weight:600}.blog-content code{background-color:var(--code-bg);color:var(--accent-color);border-radius:4px;padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.9em}.blog-content pre{border-radius:8px;margin-bottom:1.5rem;overflow-x:auto}.blog-content pre code{color:inherit;background:0 0;padding:0}.blog-content .shiki{border-radius:8px;padding:1rem;font-size:.9rem;line-height:1.5;overflow-x:auto}.blog-content a{color:var(--accent-color);text-decoration:underline}.blog-content a:hover{color:var(--text-color)}.blog-content blockquote{border-left:3px solid var(--accent-color);color:var(--dim-color);margin:1.5rem 0;padding-left:1rem;font-style:italic}.blog-post-footer{border-top:1px solid var(--chip-border);margin-top:3rem;padding-top:1.5rem}.blog-back-link{color:var(--accent-color);font-family:JetBrains Mono,monospace;font-size:.95rem}.blog-back-link:hover{color:var(--text-color)}@media (max-width:600px){.blog-post-title{font-size:1.5rem}.page-item-header{font-size:.75rem}.blog-content{font-size:1rem}.blog-content .shiki{font-size:.8rem}}.blog-list{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.blog-item-link{border:1px solid var(--border-color);border-radius:6px;padding:.75rem;transition:border-color .2s,background .2s;display:block}.blog-item-link:hover{border-color:var(--accent-color);background:var(--hover-tint)}.blog-item-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.blog-item-title{margin:0;font-size:1rem}.blog-item-date{color:var(--dim-color);white-space:nowrap;font-size:.8rem}.blog-item-desc{color:var(--dim-color);margin:.25rem 0 .5rem;font-size:.85rem}.blog-item-tags{flex-wrap:wrap;gap:.4rem;display:flex}.blog-tag{border:1px solid var(--chip-border);color:var(--accent-color);background:var(--chip-bg);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}
