:root{--bg:#000;--bg-elev:#050505;--panel:#000;--panel-glass:#000000b3;--border:#1a1a1a;--rail:#0a0a0a;--l1:#0e4429;--l2:#006d32;--l3:#26a641;--l4:#39d353;--accent:#4effb0;--accent-dim:#2fbe85;--amber:#ffb454;--blue:#7aa2f7;--text:#eaf0f5;--text-dim:#8d97a6;--text-faint:#4b5563;--mono:"JetBrains Mono", monospace;--prose:"Space Grotesk", sans-serif;--pill-icon-bg:#0000001f;--nav-hover-bg:#ffffff12;--nav-active-text:#000}:root[data-theme=light]{--bg:#f5f7fa;--bg-elev:#fff;--panel:#fff;--panel-glass:#ffffffbf;--border:#e1e6ee;--rail:#ebedf0;--l1:#9be9a8;--l2:#40c463;--l3:#30a14e;--l4:#216e39;--accent:#059669;--accent-dim:#10b981;--amber:#c2650c;--blue:#3b5fc4;--text:#0f172a;--text-dim:#4b5768;--text-faint:#94a3b8;--pill-icon-bg:#ffffff24;--nav-hover-bg:#0f172a0f;--nav-active-text:#fff}*{box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}input,textarea{-webkit-user-select:auto;user-select:auto}img{-webkit-user-drag:none}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}section[id]{scroll-margin-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--mono);max-width:100%;line-height:1.6;transition:background-color .4s,color .4s;position:relative;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}body:before,body:after{content:"";z-index:-1;pointer-events:none;filter:blur(90px);opacity:.16;will-change:transform;border-radius:50%;position:fixed}body:before{background:radial-gradient(circle, var(--accent), transparent 70%);width:55vmax;height:55vmax;animation:26s ease-in-out infinite alternate bg-drift-a;top:-15%;left:-12%}body:after{background:radial-gradient(circle, var(--blue), transparent 70%);width:50vmax;height:50vmax;animation:30s ease-in-out infinite alternate bg-drift-b;bottom:-18%;right:-12%}@keyframes bg-drift-a{0%{transform:translate(0)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}to{transform:translate(-4%,10%)scale(.94)}}@keyframes bg-drift-b{0%{transform:translate(0)scale(1)}50%{transform:translate(-6%,-8%)scale(1.1)}to{transform:translate(6%,-4%)scale(.9)}}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#04140d}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.wrap{max-width:900px;margin:0 auto;padding:0 24px}.site-shell{flex-direction:column;flex:1 0 auto;min-height:100dvh;display:flex}.site-nav{z-index:50;border-bottom:1px solid var(--border);background:var(--bg);transition:background-color .3s;position:fixed;top:0;left:0;right:0}.site-shell>main{padding-top:64px}.site-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:900px;margin:0 auto;padding:18px 24px;display:flex}.site-nav-brand{color:var(--text);flex-shrink:0;font-size:16px;font-weight:700}.site-nav-right,.site-nav-links{align-items:center;gap:28px;display:flex}.site-nav-links a{color:var(--text-dim);white-space:nowrap;font-size:14px}@media (width<=640px){.site-shell>main{padding-top:54px}.site-nav-inner{gap:12px;padding:14px 16px}.site-nav-right,.site-nav-links{gap:14px}.site-nav-links a{font-size:12.5px}}.theme-toggle{cursor:pointer;width:28px;height:28px;color:var(--text-dim);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.site-main{flex:1 0 auto;min-width:0}.hero-section{padding:72px 0 56px}.hero-content{align-items:center;gap:40px;margin-bottom:46px;display:flex}.avatar-realistic-frame{background:var(--panel);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:136px;height:136px;padding:12px;display:flex;position:relative}@keyframes spin-stripes{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-inner{z-index:1;background:var(--bg);width:100%;height:100%;box-shadow:0 0 0 4px var(--panel);border-radius:50%;position:relative;overflow:hidden}.avatar-img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.hero-text{flex-direction:column;display:flex}.hero-name{letter-spacing:-1px;background:linear-gradient(135deg, var(--text), var(--text-dim));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:6px;font-size:clamp(32px,5vw,44px);font-weight:800;line-height:1.15}.hero-role{font-family:var(--mono);color:var(--text-dim);letter-spacing:.5px;margin-bottom:14px;font-size:15px;font-weight:800}.cursor-blink{color:var(--accent-dim);animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-desc{color:var(--text-dim);font-family:var(--prose);max-width:520px;font-size:16.5px;line-height:1.65}@media (width<=640px){.hero-content{text-align:center;flex-direction:column;gap:28px}.hero-text{align-items:center}.hero-desc{margin:0 auto}}.pill-btn{background:var(--text);color:var(--bg);font-family:var(--mono);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:16px;padding:6px 6px 6px 22px;font-size:14px;font-weight:500;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:inline-flex}.pill-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px -10px #00000059}.pill-btn .pill-icon{background:var(--pill-icon-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .25s;display:flex}.pill-btn .pill-icon svg{width:16px;height:16px}.pill-btn:hover .pill-icon{transform:rotate(45deg)}.pill-btn.sm{gap:10px;padding:4px 4px 4px 16px;font-size:12.5px}.pill-btn.sm .pill-icon{width:26px;height:26px}.pill-btn.sm .pill-icon svg{width:13px;height:13px}.divider{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:repeating-linear-gradient(45deg, transparent, transparent 7px, var(--border) 7px, var(--border) 8px);height:26px}.thin-rule{border-bottom:1px solid var(--border);width:100%;margin:26px 0}.header-rule{border-bottom:1px solid var(--border);width:100%}.section-head{padding-bottom:16px}.section-body{padding-top:20px;padding-bottom:40px}.contact-section{padding-top:16px}.contact-title{margin-bottom:0}.contact-desc{font-family:var(--prose);color:var(--text-dim);max-width:420px;margin-bottom:30px;font-size:16px;line-height:1.6}.contrib-card{border:1px solid var(--border);background:var(--panel-glass);scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:12px;margin-top:36px;padding:22px 20px 18px;overflow-x:auto}.contrib-card::-webkit-scrollbar{height:6px}.contrib-card::-webkit-scrollbar-track{background:0 0;border-radius:4px}.contrib-card::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.contrib-card::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.contrib-month-skel{background:var(--border);opacity:.5;border-radius:4px;align-self:center;width:20px;height:7px;display:inline-block}.contrib-grid:not(.contrib-revealed) .contrib-col{animation:2.2s ease-in-out infinite contrib-skel-pulse}.contrib-grid:not(.contrib-revealed) .contrib-col:nth-child(3n+1){animation-delay:0s}.contrib-grid:not(.contrib-revealed) .contrib-col:nth-child(3n+2){animation-delay:.35s}.contrib-grid:not(.contrib-revealed) .contrib-col:nth-child(3n){animation-delay:.7s}@keyframes contrib-skel-pulse{0%,to{opacity:.35}50%{opacity:.75}}.contrib-grid.contrib-revealed .contrib-col{animation:.45s cubic-bezier(.34,1.56,.64,1) both contrib-col-in;animation-delay:calc(var(--col-i,0) * 5ms)}@keyframes contrib-col-in{0%{opacity:0;transform:scaleY(.75)translateY(5px)}to{opacity:1;transform:scaleY(1)translateY(0)}}.explorer-section{padding-top:16px}.section-tag{letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase;margin-bottom:8px;font-size:11px}.section-title{letter-spacing:-.5px;text-transform:lowercase;margin-bottom:0;font-size:clamp(22px,4vw,28px);font-weight:700}.stack-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px 24px;display:grid}.stack-cat{flex-direction:column;display:flex}.stack-cat-label{align-items:baseline;gap:10px;display:flex}.stack-cat-index{font-family:var(--mono);color:var(--text-faint);letter-spacing:.5px;font-size:12px}.stack-cat-title{font-family:var(--mono);letter-spacing:-.1px;color:var(--text-dim);font-size:15px;font-weight:600}.stack-cat-desc{font-family:var(--prose);color:var(--text-dim);margin-top:6px;font-size:14px}.stack-icons{flex-wrap:wrap;gap:22px;margin-top:22px;display:flex}.tech-badge{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s;display:flex}.tech-badge:hover{transform:translateY(-3px)}.tech-badge img{object-fit:contain;pointer-events:none;width:40px;height:40px}:root:not([data-theme=light]) .tech-badge img[alt=GitHub],:root:not([data-theme=light]) .tech-badge img[alt=AWS]{filter:invert()}.work-row{flex-direction:column;display:flex}.work-row-label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.work-row-logo{object-fit:contain;pointer-events:none;border-radius:8px;flex-shrink:0;width:34px;height:34px}.work-row-title-link{color:var(--text);text-decoration:none;transition:color .2s}.work-row-title-link:hover{color:var(--text-dim)}.work-row-title{letter-spacing:-.1px;align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.work-title-icon{opacity:.5;width:14px;height:14px;transition:transform .2s,opacity .2s}.work-row-title-link:hover .work-title-icon{opacity:1;transform:translate(2px,-2px)}.project-badge{font-family:var(--mono);letter-spacing:.7px;color:var(--amber);background:#ffb45414;border:1px solid #ffb45459;border-radius:5px;padding:3px 8px;font-size:10px}.work-row-desc{font-family:var(--prose);color:var(--text-dim);flex:1;margin-top:14px;font-size:15px;line-height:1.7}.site-footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:36px 16px 28px;display:flex}.site-footer-socials{align-items:center;gap:18px;display:flex}.site-footer-socials a{color:var(--text-faint);transition:color .2s,transform .2s;display:flex}.site-footer-socials a:active{opacity:.7}.site-footer-socials svg{width:18px;height:18px}.site-footer-copy{color:var(--text-faint);font-size:12px}.notfound-main{text-align:center;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.notfound-anim{aspect-ratio:1;width:100%;max-width:280px;margin:0 auto}.notfound-anim>div,.notfound-anim svg{width:100%!important;height:100%!important}.notfound-text{color:var(--text-faint);margin-top:4px;font-size:13.5px}.notfound-text a{color:var(--accent)}.notfound-code{color:var(--text-faint);margin-bottom:10px;font-size:12px}.notfound-code .tok-kw{color:var(--blue)}.notfound-code .tok-str{color:var(--amber)}.notfound-pill{margin-top:24px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}body:before,body:after{animation:none!important}}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{opacity:0;pointer-events:none;position:absolute;top:0;left:0}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{backface-visibility:hidden;background:inherit;z-index:-1;position:absolute}.core-styles-module_content__BRKdB{z-index:1;position:relative}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out;will-change:opacity}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in;will-change:opacity}.styles-module_tooltip__mnnfp{border-radius:3px;width:max-content;font-size:90%}.styles-module_content__ydYdI{background:inherit;border-radius:inherit;padding:8px 16px}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}
