@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#eeeae4;font-synthesis:none;text-rendering:optimizelegibility;--bg:#151515;--panel:#2b2b2b;--panel-dark:#1c1c1c;--line:#383838;--text:#eeeae4;--muted:#a19e99;--dim:#74716d;--accent:#f05b3c;--mono:"DM Mono", monospace;background:#151515;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--bg);min-width:320px;margin:0}body,button,a{font-family:DM Sans,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}::selection{color:#151515;background:var(--accent)}.mono{font-family:var(--mono)}.page-width{width:min(75vw,100% - 64px);margin-inline:auto}.accent{color:var(--accent)}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#151515f0;height:86px;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.wordmark{font-family:var(--mono);letter-spacing:0;font-size:21px;font-weight:700}.wordmark span{color:var(--accent)}.main-nav{align-items:center;gap:30px;margin-left:54px;display:flex}.main-nav>a{color:#d7d3cd;font-size:14px;transition:color .2s}.main-nav>a:hover,.contact-links a:hover strong{color:var(--accent)}.nav-contact,.button{border:1px solid var(--line);border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.nav-contact:hover,.button-quiet:hover{background:#202020;border-color:#6b6863}.nav-contact svg,.button svg,.all-repos svg,.rating-footnote svg,.experience-company svg{flex:none}.mobile-contact,.menu-toggle{display:none}.hero{padding-top:55px;padding-bottom:60px}.hero-meta{color:var(--muted);justify-content:space-between;gap:20px;font-size:12px;display:flex}.hero-meta i,.footer-bottom i{color:var(--accent);font-style:normal}.hero h1{font-family:var(--mono);letter-spacing:0;margin:43px 0 24px;font-size:clamp(64px,8vw,88px);font-weight:500;line-height:1.05}.hero-copy-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;margin-bottom:38px;display:grid}.hero-manifesto{letter-spacing:.1px;margin:0;font-size:28px;line-height:1.3}.hero-intro{justify-self:end;max-width:500px}.hero-intro>p{color:var(--muted);margin:0;font-size:16px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:11px;margin-top:22px;display:flex}.button-primary{border-color:var(--accent);background:var(--accent);color:#171513}.button-primary:hover{background:#ff7658;border-color:#ff7658;transform:translateY(-2px)}.button-quiet{color:var(--muted)}.hero-feature-grid{grid-template-columns:minmax(0,1.9fr) minmax(260px,.95fr);gap:14px;display:grid}.hero-image-link{background:#242424;border-radius:5px;min-height:288px;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center top;filter:saturate(.86)brightness(.83);transform-origin:top;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.hero-image-link:hover .hero-image{transform:scale(1.035)}.image-caption,.image-count{color:#f0ece6;text-shadow:0 1px 10px #000;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:19px}.image-caption{left:22px}.image-count{right:22px}.practice-panel{background:var(--panel);border-radius:5px;flex-direction:column;min-height:288px;padding:25px 27px 20px;display:flex}.practice-top{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.practice-top svg{color:#c9c6c0}.practice-words{font-family:var(--mono);margin:19px 0 17px;font-size:30px;line-height:1.2}.practice-words span{color:var(--accent)}.practice-rule{background:#414141;height:1px}.practice-status{align-items:center;gap:9px;margin:17px 0 9px;font-size:14px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.practice-caption{color:var(--muted);margin:auto 0 0;font-size:12px}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ticker-track{width:max-content;animation:34s linear infinite ticker-scroll;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{color:var(--muted);white-space:nowrap;align-items:center;gap:34px;padding:18px 35px;font-size:13px;display:inline-flex}.ticker-item b{color:var(--accent);font-family:sans-serif;font-size:12px;font-weight:400}@keyframes ticker-scroll{to{transform:translate(-50%)}}.section{padding-top:95px;padding-bottom:85px}.section-heading{grid-template-columns:1fr 2fr;align-items:start;gap:32px;margin-bottom:48px;display:grid}.section-index{color:var(--muted);margin:4px 0 0;font-size:12px}.section-heading h2,.github-title-row h2{font-family:var(--mono);letter-spacing:0;margin:0;font-size:clamp(29px,3.2vw,40px);font-weight:500;line-height:1.16}.section-heading h2 span,.github-title-row h2 span{color:var(--muted)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--line);background:var(--panel);border-radius:6px;transition:border-color .2s,transform .2s;overflow:hidden}.project-card:hover{border-color:#56524e;transform:translateY(-3px)}.project-art{border-bottom:1px solid var(--line);background:#171717;place-items:center;min-height:208px;display:grid;position:relative;overflow:hidden}.project-symbol{color:var(--accent);font-family:var(--mono);font-size:44px;line-height:1;transition:transform .25s}.project-card:hover .project-symbol{transform:scale(1.08)}.symbol-02{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);padding:13px 18px;font-size:37px}.symbol-03{font-size:51px}.symbol-04{color:var(--text);border:1px solid #383838;border-radius:5px;padding:14px 22px;font-size:37px}.project-type{color:var(--muted);font-size:12px;position:absolute;bottom:18px;left:22px}.project-details{padding:28px 28px 24px}.project-index{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.project-index svg{transition:transform .2s}.project-card:hover .project-index svg{transform:translate(2px,-2px)}.project-details h3{font-family:var(--mono);margin:18px 0 10px;font-size:23px;font-weight:400}.project-details>p{min-height:51px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.tag-list{color:#a8a49e;flex-wrap:wrap;gap:15px;margin:22px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.ratings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.rating-card{background:var(--panel);border:1px solid #3a3a3a;border-radius:6px;flex-direction:column;min-height:260px;padding:26px 24px 24px;transition:border-color .2s,transform .2s;display:flex}.rating-card:hover{border-color:var(--accent);transform:translateY(-3px)}.rating-label{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.rating-label svg{color:var(--accent)}.rating-score{color:var(--accent);margin:29px 0 28px;font-size:52px;line-height:1}.rating-bottom{justify-content:space-between;align-items:end;gap:10px;margin-top:auto;display:flex}.rating-bottom h3{font-family:var(--mono);margin:0 0 5px;font-size:16px;font-weight:400}.rating-bottom p{color:var(--muted);margin:0;font-size:13px}.rating-link{background:#191919;border:1px solid #494949;border-radius:5px;flex:none;place-items:center;width:35px;height:35px;display:grid}.rating-footnote{color:var(--muted);justify-content:space-between;gap:20px;margin-top:17px;font-size:11px;display:flex}.rating-footnote a{align-items:center;gap:6px;display:flex}.about-layout{grid-template-columns:.9fr 1.9fr;gap:50px;display:grid}.about-bio>p{color:var(--muted);margin:0 0 24px;font-size:17px;line-height:1.7}.education-block{border-top:1px solid var(--line);margin-top:40px;padding-top:26px}.eyebrow{color:var(--muted);margin:0 0 16px;font-size:12px}.education-block h3{font-family:var(--mono);margin:0 0 6px;font-size:17px;font-weight:400}.education-block>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.resume-link{color:var(--accent);align-items:center;gap:8px;margin-top:24px;font-size:12px;display:inline-flex}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);padding:30px 0}.experience-heading{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.experience-heading h3{font-family:var(--mono);margin:0;font-size:18px;font-weight:400}.experience-heading>span{color:var(--muted);text-align:right;font-size:11px}.experience-company{align-items:center;gap:11px;margin:17px 0;font-size:14px;display:flex}.experience-company>span:first-child,.experience-company a{color:var(--accent);align-items:center;gap:3px;display:inline-flex}.company-url{color:var(--muted);font-size:12px}.experience-item ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-item li{color:var(--muted);align-items:baseline;gap:10px;font-size:15px;line-height:1.65;display:flex}.experience-item li svg{color:var(--accent);flex:none;transform:translateY(3px)}.toolkit-grid{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.toolkit-card{background:var(--panel);border:1px solid #393939;border-radius:6px;min-height:162px;padding:23px 24px}.toolkit-04{grid-column:1}.toolkit-05{grid-column:2/4}.toolkit-heading{justify-content:space-between;gap:12px;display:flex}.toolkit-heading h3{font-family:var(--mono);margin:0;font-size:15px;font-weight:400}.toolkit-heading>span{color:var(--accent);font-size:12px}.toolkit-card ul{color:var(--muted);flex-wrap:wrap;gap:12px 17px;margin:25px 0 0;padding:0;font-size:16px;list-style:none;display:flex}.github-section{padding-top:95px;padding-bottom:92px}.github-title-row{border-bottom:2px solid #666;grid-template-columns:.312fr 1fr;align-items:start;gap:34px;padding-bottom:44px;display:grid}.github-title-row h2{font-size:clamp(42px,5vw,60px)}.github-profile{grid-template-columns:.725fr 1.5fr;align-items:center;gap:30px;padding:42px 0 66px;display:grid}.profile-person{align-items:center;gap:24px;width:fit-content;display:flex}.avatar-wrap{flex:none;width:clamp(82px,6.82vw,112px);height:clamp(82px,6.82vw,112px);position:relative}.avatar-wrap img{object-fit:cover;border:1px solid #9a9a9a;border-radius:50%;width:100%;height:100%}.avatar-wrap i{border:2px solid var(--bg);background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.profile-person strong{font-family:var(--mono);font-size:clamp(25px,1.7vw,28px);font-weight:500;display:block}.profile-person small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.github-stats{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);min-height:132px;display:grid}.github-stat{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-width:0;padding:0 clamp(16px,2vw,32px);display:flex}.github-stat:last-child{border-right:0}.github-stat span{color:var(--muted);text-transform:uppercase;font-size:10px;display:block}.github-stat strong{margin-top:11px;font-size:36px;font-weight:500;display:block}.repo-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.repo-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:196px;padding:42px 34px 24px;transition:background .2s}.repo-row:hover{background:#1b1b1b}.repo-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.repo-heading h3{font-family:var(--mono);text-overflow:ellipsis;margin:0;font-size:23px;font-weight:500;overflow:hidden}.repo-row>p{min-height:37px;color:var(--muted);margin:12px 0 18px;font-size:16px;line-height:1.55}.repo-meta{color:var(--muted);align-items:center;gap:16px;font-size:12px;display:flex}.repo-meta span{align-items:center;gap:5px;display:inline-flex}.language-dot{background:#3178c6;border-radius:50%;width:8px;height:8px}.language-dot.cpp{background:var(--accent)}.all-repos{text-transform:uppercase;border:1px solid #a09e99;justify-content:center;align-items:center;gap:11px;width:fit-content;min-height:42px;margin:30px auto 0;padding:0 18px;font-size:10px;transition:color .2s,border-color .2s;display:flex}.all-repos:hover{color:var(--accent);border-color:var(--accent)}.contact-section{border-top:1px solid var(--line);background:#2b2b2b;padding:78px 0 56px}.contact-layout{grid-template-columns:1.05fr .95fr;align-items:end;gap:62px;padding-bottom:59px;display:grid}.contact-lead h2{font-family:var(--mono);margin:28px 0 20px;font-size:clamp(40px,4.5vw,54px);font-weight:500;line-height:1.03}.contact-lead h2 span{color:var(--accent)}.contact-note{max-width:420px;color:var(--muted);margin:0 0 23px;font-size:16px;line-height:1.7}.contact-lead .button{min-width:218px;min-height:46px}.contact-links{border-top:1px solid #424242}.contact-links a{border-bottom:1px solid #424242;grid-template-columns:minmax(110px,.8fr) minmax(0,1.3fr) 16px;align-items:center;gap:12px;min-height:60px;transition:color .2s;display:grid}.contact-links a>span{color:var(--muted);font-size:12px}.contact-links a strong{overflow-wrap:anywhere;text-align:right;font-size:14px;font-weight:400;transition:color .2s}.contact-links a svg{justify-self:end}.footer-bottom{color:var(--muted);border-top:1px solid #424242;justify-content:space-between;gap:18px;padding-top:24px;font-size:11px;display:flex}@media (width<=900px){.page-width{width:min(100% - 44px,760px)}.main-nav{gap:16px;margin-left:0}.hero h1{font-size:clamp(58px,10vw,78px)}.hero-feature-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,.9fr)}.practice-panel{padding-inline:21px}.section{padding-top:75px;padding-bottom:68px}.ratings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-card{min-height:205px}.about-layout{grid-template-columns:.9fr 1.7fr;gap:35px}.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolkit-04,.toolkit-05{grid-column:auto}.toolkit-05{grid-column:span 2}.github-profile{grid-template-columns:1fr;gap:25px;padding:32px 0 42px}.contact-layout{gap:35px}}@media (width<=640px){html{scroll-padding-top:70px}.page-width{width:calc(100% - 36px)}.site-header{height:66px}.nav-contact{display:none}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:5px;place-items:center;width:40px;height:40px;display:grid}.main-nav{border-bottom:1px solid var(--line);background:#191919;align-items:stretch;gap:0;padding:9px 18px 17px;display:none;position:absolute;top:65px;left:0;right:0}.main-nav.is-open{flex-direction:column;display:flex}.main-nav>a{border-bottom:1px solid #2e2e2e;padding:14px 0}.main-nav .mobile-contact{color:var(--accent);align-items:center;gap:8px;display:flex}.hero{padding-top:32px;padding-bottom:40px}.hero-meta{font-size:9px}.hero-meta span:last-child{text-align:right}.hero h1{margin:36px 0 19px;font-size:clamp(42px,12vw,68px)}.hero-copy-grid{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.hero-manifesto{font-size:23px}.hero-intro>p{font-size:15px}.hero-actions{margin-top:18px}.button{min-height:42px;padding-inline:13px;font-size:13px}.hero-feature-grid{grid-template-columns:1fr;gap:10px}.hero-image-link{min-height:225px}.practice-panel{min-height:235px;padding:21px 22px 18px}.practice-words{font-size:27px}.ticker-item{gap:23px;padding:15px 23px;font-size:12px}.section{padding-top:64px;padding-bottom:55px}.section-heading{grid-template-columns:1fr;gap:15px;margin-bottom:32px}.section-heading h2{font-size:29px}.projects-grid{grid-template-columns:1fr;gap:12px}.project-art{min-height:190px}.project-details{padding:22px 20px 21px}.project-details h3{font-size:21px}.project-details>p{min-height:0;font-size:14px}.tag-list{gap:12px}.ratings-grid{gap:10px}.rating-card{min-height:200px;padding:17px 14px 15px}.rating-label{font-size:10px}.rating-label svg{width:15px}.rating-score{margin:25px 0;font-size:clamp(34px,10vw,45px)}.rating-bottom h3{font-size:14px}.rating-bottom p{font-size:11px}.rating-link{width:30px;height:30px}.rating-footnote{flex-direction:column;gap:9px;font-size:10px}.about-layout{grid-template-columns:1fr;gap:34px}.about-bio>p{font-size:15px}.experience-item{padding:24px 0}.experience-heading h3{font-size:16px}.experience-heading>span{font-size:10px}.experience-item li{font-size:14px}.toolkit-grid{grid-template-columns:1fr;gap:10px}.toolkit-05{grid-column:auto}.toolkit-card{min-height:138px;padding:20px}.toolkit-card ul{gap:10px 15px;margin-top:22px;font-size:14px}.github-section{padding-top:64px;padding-bottom:60px}.github-title-row{grid-template-columns:1fr;gap:16px;padding-bottom:27px}.github-title-row h2{font-size:clamp(38px,10vw,50px)}.github-profile{gap:20px;padding:24px 0 28px}.avatar-wrap{width:68px;height:68px}.profile-person strong{font-size:22px}.github-stat{min-height:0;padding:14px 9px 13px}.github-stat span{font-size:8px}.github-stat strong{margin-top:9px;font-size:clamp(19px,5vw,25px)}.repo-row{min-height:166px;padding:17px 13px 15px}.repo-heading h3{font-size:15px}.repo-heading svg{width:15px}.repo-row>p{min-height:54px;margin:10px 0 14px;font-size:13px}.repo-meta{flex-wrap:wrap;gap:10px;font-size:10px}.all-repos{margin-top:23px;font-size:10px}.contact-section{padding-top:53px;padding-bottom:40px}.contact-layout{grid-template-columns:1fr;gap:34px;padding-bottom:35px}.contact-lead h2{margin:23px 0 15px;font-size:clamp(38px,9vw,46px)}.contact-note{font-size:15px}.contact-links a{grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr) 16px;gap:8px;min-height:56px}.contact-links a>span{font-size:11px}.contact-links a strong{font-size:13px}.footer-bottom{flex-direction:column;gap:10px;padding-top:20px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
