:root{--ctp-base:#0e0f16;--ctp-mantle:#14151f;--ctp-crust:#0a0b10;--ctp-surface0:#1c1e2c;--ctp-surface1:#1e2030;--ctp-surface2:#24263a;--ctp-overlay0:#3a3e52;--ctp-overlay1:#565a68;--ctp-overlay2:#666b7a;--ctp-text:#e6e8f0;--ctp-subtext0:#9aa0af;--ctp-subtext1:#b7bdca;--ctp-rosewater:#f0d8d0;--ctp-flamingo:#eec4c4;--ctp-pink:#e8b3dc;--ctp-mauve:#a996f5;--ctp-red:#e08a9e;--ctp-maroon:#d999a4;--ctp-peach:#e8b169;--ctp-yellow:#e8d69a;--ctp-green:#8fd6a8;--ctp-teal:#82ccc0;--ctp-sky:#7cc6dc;--ctp-sapphire:#6fb3d9;--ctp-blue:#7fb3e8;--ctp-lavender:#a2aaf0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;font-size:16px;overflow-y:scroll}body{background:var(--ctp-base);color:var(--ctp-text);flex-direction:column;min-height:100vh;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;line-height:1.6;display:flex}#app{flex:1;display:flex}::selection{background:var(--ctp-mauve);color:var(--ctp-base)}a{color:var(--ctp-blue);text-decoration:none}a:hover{text-decoration:underline}.page{flex-direction:column;flex:1;width:100%;max-width:860px;margin:0 auto;padding:2.5rem 1.5rem;display:flex;position:relative}.header{border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);border-radius:8px;margin-bottom:2rem;padding:1.75rem 2rem;position:relative}.header-top{align-items:center;gap:1rem;margin-bottom:.75rem;padding-right:3rem;display:flex}.header-avatar{border-radius:50%;flex-shrink:0;width:56px;height:56px}.header-name{color:var(--ctp-mauve);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.header-name:before{content:"# ";color:var(--ctp-overlay1)}.header-title{color:var(--ctp-green);margin-top:.15rem;margin-bottom:.75rem;font-size:.9rem}.header-title:before{content:"> ";color:var(--ctp-overlay1)}.header-bio{color:var(--ctp-subtext1);max-width:640px;margin-bottom:1rem;font-size:.875rem}.contacts{flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.8rem;display:flex}.contact-item{color:var(--ctp-subtext0);align-items:center;gap:.35rem;display:flex}.contact-item .contact-label{color:var(--ctp-overlay1)}.contact-item a{color:var(--ctp-subtext1)}.contact-item a:hover{color:var(--ctp-blue);text-decoration:none}.section-title{color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-size:.8rem}.section-title:before{content:"## "}.skills-section{margin-bottom:2rem}.skills-card{border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);border-radius:8px;padding:1.25rem 1.5rem}.skill-bar{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ctp-surface0);color:var(--ctp-text);border:1px solid #0000;border-radius:4px;align-items:center;padding:.25rem .65rem;font-size:.78rem;font-weight:600;transition:opacity .15s,transform .1s,border-color .15s;display:inline-flex}.skill-tag:hover{transform:translateY(-1px)}.skill-tag.active{filter:brightness(1.15);border-color:currentColor}.skill-tag.dimmed{opacity:.22}.skill-tag[data-color=mauve]{color:var(--ctp-mauve)}.skill-tag[data-color=lavender]{color:var(--ctp-lavender)}.skill-tag[data-color=blue]{color:var(--ctp-blue)}.skill-tag[data-color=green]{color:var(--ctp-green)}.skill-tag[data-color=peach]{color:var(--ctp-peach)}.skill-tag[data-color=yellow]{color:var(--ctp-yellow)}.skill-tag[data-color=teal]{color:var(--ctp-teal)}.skill-tag[data-color=flamingo]{color:var(--ctp-flamingo)}.skill-tag[data-color=pink]{color:var(--ctp-pink)}.skill-tag[data-color=red]{color:var(--ctp-red)}.skill-tag[data-color=sapphire]{color:var(--ctp-sapphire)}.skill-tag[data-color=sky]{color:var(--ctp-sky)}.skill-tag[data-color=maroon]{color:var(--ctp-maroon)}.skill-tag[data-color=rosewater]{color:var(--ctp-rosewater)}.skill-detail{margin-top:.9rem}.skill-detail.empty{display:none}.skill-detail-title{margin-bottom:.6rem;font-size:.95rem;font-weight:700}.skill-detail-title[data-color=mauve]{color:var(--ctp-mauve)}.skill-detail-title[data-color=lavender]{color:var(--ctp-lavender)}.skill-detail-title[data-color=blue]{color:var(--ctp-blue)}.skill-detail-title[data-color=green]{color:var(--ctp-green)}.skill-detail-title[data-color=peach]{color:var(--ctp-peach)}.skill-detail-title[data-color=yellow]{color:var(--ctp-yellow)}.skill-detail-title[data-color=teal]{color:var(--ctp-teal)}.skill-detail-title[data-color=flamingo]{color:var(--ctp-flamingo)}.skill-detail-title[data-color=pink]{color:var(--ctp-pink)}.skill-detail-title[data-color=red]{color:var(--ctp-red)}.skill-detail-title[data-color=sapphire]{color:var(--ctp-sapphire)}.skill-detail-title[data-color=sky]{color:var(--ctp-sky)}.skill-detail-title[data-color=maroon]{color:var(--ctp-maroon)}.skill-detail-title[data-color=rosewater]{color:var(--ctp-rosewater)}.skill-detail-list{flex-direction:column;gap:.3rem;list-style:none;display:flex}.skill-detail-list li{color:var(--ctp-subtext1);padding-left:1.2em;font-size:.82rem;position:relative}.skill-detail-list li:before{content:"-";color:var(--ctp-overlay1);position:absolute;left:0}.companies-section{margin-bottom:2rem}.company-list{flex-direction:column;gap:.75rem;display:flex}.company-card{border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);cursor:pointer;border-radius:8px;padding:1rem 1.5rem;transition:border-color .15s,background .15s,box-shadow .15s}.company-card:hover{border-color:var(--ctp-mauve);background:var(--ctp-surface0);box-shadow:0 0 0 1px var(--ctp-mauve)}.company-card.expanded{border-color:var(--ctp-mauve);background:var(--ctp-surface0)}.company-header{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;margin-bottom:.25rem;display:flex}.company-period{margin-right:auto}.company-name{color:var(--ctp-text);font-size:.95rem;font-weight:700}.company-name:before{content:"### ";color:var(--ctp-overlay1);font-weight:400}.company-period{color:var(--ctp-overlay1);font-size:.75rem}.company-role{color:var(--ctp-green);margin-bottom:.5rem;font-size:.8rem}.company-desc{color:var(--ctp-subtext0);font-size:.8rem}.company-chevron-wrap{color:var(--ctp-overlay1);align-items:center;display:inline-flex}.company-card:hover .company-chevron-wrap,.company-card.expanded .company-chevron-wrap{color:var(--ctp-mauve)}.company-chevron{transition:transform .2s}.company-card.expanded .company-chevron{transform:rotate(180deg)}.company-details{border-top:1px solid var(--ctp-surface1);flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.75rem;list-style:none;display:none}.company-card.expanded .company-details{display:flex}.company-details li{color:var(--ctp-subtext1);padding-left:1.2em;font-size:.8rem;position:relative}.company-details li:before{content:"-";color:var(--ctp-overlay1);position:absolute;left:0}.company-tags{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.company-tag{background:var(--ctp-surface0);color:var(--ctp-subtext1);border-radius:4px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.loading{min-height:50vh;color:var(--ctp-overlay1);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.loading-spinner{border:2px solid var(--ctp-surface1);border-top-color:var(--ctp-mauve);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.not-found-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:6rem 2rem;display:flex}.not-found-code{color:var(--ctp-overlay1);font-size:5rem;font-weight:700;line-height:1}.not-found-msg{color:var(--ctp-subtext0);font-size:1rem}.not-found-link{color:var(--ctp-mauve);margin-top:1rem;font-size:.875rem;text-decoration:none}.not-found-link:hover{text-decoration:underline}.error-box{border:1px solid var(--ctp-red);background:var(--ctp-mantle);color:var(--ctp-red);border-radius:8px;max-width:600px;margin:2rem auto;padding:1.5rem;font-size:.85rem}.error-box p{margin-bottom:.5rem}.error-box code{background:var(--ctp-surface0);color:var(--ctp-peach);border-radius:3px;padding:.1em .4em;font-size:.8rem}.locale-switch{z-index:10;position:absolute;top:3.5rem;right:2.5rem}.locale-switch-trigger{border:1px solid var(--ctp-surface2);background:var(--ctp-surface0);width:2.25rem;height:2.25rem;color:var(--ctp-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;transition:border-color .15s,color .15s;display:inline-flex}.locale-switch-trigger:hover,.locale-switch-trigger[aria-expanded=true]{border-color:var(--ctp-mauve);color:var(--ctp-mauve)}.locale-switch-menu{background:var(--ctp-mantle);border:1px solid var(--ctp-surface2);border-radius:8px;flex-direction:column;min-width:8.5rem;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.locale-switch-menu.open{display:flex}.locale-switch-option{color:var(--ctp-subtext0);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.5rem .85rem;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s;display:block}.locale-switch-option:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.locale-switch-option.active{background:var(--ctp-surface0);color:var(--ctp-mauve)}.tab-nav{background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:7px;align-self:flex-end;gap:2px;margin-bottom:1.5rem;padding:3px;display:inline-flex;position:relative}.tab-nav-thumb{background:var(--ctp-surface0);width:50%;height:calc(100% - 6px);box-shadow:0 0 0 1px var(--ctp-mauve) inset;border-radius:5px;transition:transform .2s,width .2s;position:absolute;top:3px;left:3px}.tab-btn{z-index:1;color:var(--ctp-subtext0);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.35rem 1.1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:color .15s;position:relative}.tab-btn:hover{color:var(--ctp-text)}.tab-btn.active{color:var(--ctp-mauve)}.tab-view{display:none}.tab-view.active{display:block}.feed-section{margin-bottom:2rem}.message-list{flex-direction:column;gap:.75rem;display:flex}.message-card{border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);border-radius:8px;padding:1rem 1.5rem}.message-date{color:var(--ctp-overlay1);margin-bottom:.5rem;font-size:.75rem}.message-title{color:var(--ctp-text);margin-bottom:.5rem;font-size:.92rem;font-weight:700}.message-body{max-height:10.4rem;position:relative;overflow:hidden}.message-body.is-truncated:after{content:"";background:linear-gradient(transparent, var(--ctp-mantle));pointer-events:none;height:2.5rem;position:absolute;bottom:0;left:0;right:0}.message-more{border:none;border-top:1px solid var(--ctp-surface1);color:var(--ctp-blue);letter-spacing:.05em;cursor:pointer;background:0 0;margin-top:.6rem;padding:.5rem 0 0;font-family:inherit;font-size:.78rem;transition:color .15s;display:block}.message-more:hover{color:var(--ctp-lavender)}.message-single-view{flex:1}.message-single-title{color:var(--ctp-text);margin:.75rem 0 1rem;font-size:1.4rem;font-weight:700;line-height:1.3}.back-btn{color:var(--ctp-overlay1);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:0;font-family:inherit;font-size:.82rem;line-height:0;transition:color .15s;display:inline-flex}.back-btn svg{display:block}.back-btn span{line-height:1.6}.back-btn{text-decoration:none}.back-btn:hover{color:var(--ctp-blue);text-decoration:none}.message-nav{justify-content:space-between;gap:1rem;margin-top:2rem;margin-bottom:2rem;display:flex}.message-nav>div{min-width:0;max-width:48%}.message-nav-btn{color:var(--ctp-overlay1);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;max-width:100%;padding:0;font-family:inherit;font-size:.82rem;line-height:0;transition:color .15s;display:inline-flex;overflow:hidden}.message-nav-btn svg{flex-shrink:0;display:block}.message-nav-btn span{text-overflow:ellipsis;white-space:nowrap;line-height:1.6;overflow:hidden}.message-nav-btn:hover{color:var(--ctp-blue)}.message-text{color:var(--ctp-subtext1);white-space:pre-wrap;word-break:break-word;font-size:.875rem;line-height:1.6}.message-text strong{color:var(--ctp-text);font-weight:700}.message-text em{font-style:italic}.message-text a{color:var(--ctp-blue)}.message-text a:hover{text-decoration:underline}.message-text code{background:var(--ctp-surface0);color:var(--ctp-peach);border-radius:3px;padding:.1em .35em;font-size:.85em}.pre-wrapper{border:1px solid var(--ctp-surface1);border-radius:6px;margin:.6rem 0 0;overflow:hidden}.pre-header{background:var(--ctp-surface0);border-bottom:1px solid var(--ctp-surface1);justify-content:space-between;align-items:center;padding:.25rem .5rem .25rem .75rem;display:flex}.pre-lang{color:var(--ctp-overlay1);font-family:inherit;font-size:.75rem}.message-text pre{background:var(--ctp-crust);white-space:pre;border:none;border-radius:0;margin:0;padding:.75rem 1rem;overflow-x:auto}.message-text pre code{color:var(--ctp-text);background:0 0;border-radius:0;padding:0;font-size:.82rem}.copy-btn{color:var(--ctp-overlay0);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.3rem;line-height:0;transition:color .15s,background .15s;display:flex}.copy-btn:hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.copy-btn.copied{color:var(--ctp-green)}.hljs-comment,.hljs-quote{color:var(--ctp-overlay1);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:var(--ctp-mauve)}.hljs-string,.hljs-addition{color:var(--ctp-green)}.hljs-number,.hljs-literal{color:var(--ctp-peach)}.hljs-title,.hljs-section,.hljs-name{color:var(--ctp-blue)}.hljs-type,.hljs-class{color:var(--ctp-yellow)}.hljs-variable,.hljs-attr,.hljs-attribute{color:var(--ctp-teal)}.hljs-deletion{color:var(--ctp-red)}.hljs-meta{color:var(--ctp-peach)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.message-attachment{color:var(--ctp-overlay0);margin-top:.4rem;font-size:.8rem}.feed-empty{color:var(--ctp-overlay0);padding:.5rem 0;font-size:.85rem}.feed-empty:before{content:"// "}.feed-error{border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);color:var(--ctp-overlay1);border-radius:8px;padding:1rem 1.5rem;font-size:.82rem}.site-footer{border-top:1px solid var(--ctp-surface0);color:var(--ctp-overlay0);text-align:center;margin-top:auto;padding-top:1rem;font-size:.75rem}@media (width<=560px){.page{padding:1.5rem 1rem}.header{padding:1.25rem 1rem}.header-top{align-items:flex-start;gap:.7rem;padding-right:2.25rem}.header-avatar{width:44px;height:44px}.skills-card,.company-card{padding:1rem}.header-name{font-size:1.3rem;line-height:1.3}.locale-switch{top:1rem;right:1rem}}
