@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
:root{--bg:#111513;--sidebar:#1a1e1b;--surface:#202522;--surface-alt:#262c28;--border:#353c37;--muted:#8e9990;--text:#f0f3ed;--mint:#c3f677;--mint-dark:#1d3420;--mono:"DM Mono",monospace;--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--mint);color:#172016}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.site-wrap{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:45px 30px 26px;display:flex;position:relative;overflow:hidden}.site-glow{pointer-events:none;filter:blur(100px);opacity:.24;border-radius:50%;position:absolute}.glow-left{background:#486c42;width:500px;height:500px;bottom:-120px;left:-290px}.glow-right{background:#33453b;width:500px;height:500px;top:-170px;right:-290px}.app-shell{background:var(--surface);z-index:1;border:1px solid #3a423c;border-radius:18px;grid-template-columns:260px minmax(0,1fr);width:min(1320px,100%);height:min(780px,100vh - 110px);min-height:640px;display:grid;position:relative;overflow:hidden;box-shadow:0 32px 110px #0007}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;min-height:0;padding:30px 16px 22px;display:flex}.sidebar-top{justify-content:space-between;align-items:center;padding:0 16px;display:flex}.brand{font-family:var(--display);letter-spacing:-2.5px;color:var(--text);background:0 0;border:0;padding:0;font-size:30px;font-weight:700;line-height:1}.brand span,.portrait-monogram span{color:var(--mint)}.sidebar-label{color:#737f77;font:10px var(--mono);letter-spacing:1.65px;justify-content:space-between;margin:61px 14px 21px;display:flex}.sidebar-label span{color:var(--mint);font-size:15px;line-height:10px}.navigation{flex-direction:column;gap:6px;display:flex}.nav-item{color:#9ca69e;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:13px;width:100%;height:47px;padding:0 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:flex;position:relative}.nav-item:hover{color:var(--text);background:#272e28}.nav-item span:first-of-type{flex:1}.nav-item small{font:10px var(--mono);color:#707c73}.nav-active{color:var(--mint);background:#2a3528;border-color:#405539}.nav-active small{color:#a7cf78}.nav-active-marker{background:var(--mint);border-radius:4px;width:3px;height:20px;position:absolute;right:-17px}.sidebar-spacer{flex:1}.sidebar-cta{color:#a6b0a5;background:#242d25;border:1px solid #3e4b3b;border-radius:11px;grid-template-columns:1fr auto;align-content:space-between;min-height:110px;padding:15px;font-size:12px;line-height:1.55;display:grid}.sidebar-cta-icon{color:var(--mint);grid-column:1/-1}.sidebar-cta strong{color:#f0f4eb;font-size:14px}.sidebar-cta button{background:var(--mint);color:#1b2518;border:0;border-radius:7px;align-self:end;place-items:center;width:31px;height:31px;display:grid}.sidebar-bottom{border-top:1px solid var(--border);color:#758177;font:9px var(--mono);white-space:nowrap;justify-content:space-between;gap:8px;margin-top:25px;padding:21px 5px 0;display:flex}.sidebar-status{color:#a8bd9f}.sidebar-status span,.availability-dot,.chat-live span,.entry-pill span,.frame-footer-dot{background:var(--mint);border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block;box-shadow:0 0 11px #bafa77a3}.content-frame{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:69px;min-height:69px;padding:0 43px;display:flex}.breadcrumb,.topbar-right{align-items:center;gap:12px;display:flex}.breadcrumb{font:10px var(--mono);letter-spacing:1.2px;color:#8b958d}.breadcrumb strong{color:var(--mint);font-weight:400}.breadcrumb svg{color:#5c685f}.topbar-right{color:#a3ada5;gap:18px}.topbar-right a,.topbar-chat{transition:color .2s;display:flex}.topbar-right a:hover,.topbar-chat:hover{color:var(--mint)}.topbar-chat{color:inherit;background:0 0;border:0;padding:0}.topbar-location{font:10px var(--mono);letter-spacing:.5px;align-items:center;gap:7px;display:flex}.topbar-divider{background:var(--border);width:1px;height:17px}.content-panel{scrollbar-color:#4f5d50 transparent;scrollbar-width:thin;flex:1;min-height:0;overflow:hidden auto}.panel-inner{min-height:100%;position:relative}.frame-footer{border-top:1px solid var(--border);color:#78857a;height:40px;min-height:40px;font:9px var(--mono);letter-spacing:.5px;justify-content:space-between;align-items:center;padding:0 43px;display:flex}.frame-footer span{align-items:center;gap:5px;display:inline-flex}.frame-footer-dot{width:6px;height:6px;margin:0}.frame-footer svg{color:var(--mint)}.outside-footer{z-index:1;color:#68736b;width:min(1320px,100%);font:10px var(--mono);letter-spacing:1px;justify-content:space-between;padding:19px 4px 0;display:flex}.home-panel{grid-template-columns:minmax(0,1.04fr) minmax(270px,.96fr);align-items:center;gap:18px;padding:45px 54px 28px;display:grid}.home-copy{z-index:1}.kicker{color:var(--mint);font:10px var(--mono);letter-spacing:1.5px;align-items:center;gap:10px;margin:0;display:flex}.kicker-line{background:var(--mint);width:25px;height:1px}.availability{font:10px var(--mono);color:#bce592;white-space:nowrap;background:#2e3e2c;border:1px solid #465c40;border-radius:30px;align-items:center;gap:8px;margin-top:35px;padding:7px 11px;display:inline-flex}.availability-dot{width:6px;height:6px}.hero-title{font-family:var(--display);letter-spacing:-6px;white-space:nowrap;margin:25px 0 23px;font-size:clamp(54px,5.2vw,87px);font-weight:600;line-height:1.03}.hero-title>span{color:var(--mint)}.hero-period{color:var(--text)!important}.hero-description{color:#aab5ab;max-width:390px;margin:0;font-size:15px;line-height:1.8}.hero-actions{align-items:center;gap:23px;margin-top:34px;display:flex}.button-primary{background:var(--mint);color:#1b2617;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:20px;padding:14px 17px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 25px #b6f36a13}.button-primary:hover{background:#d5ff91}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-quiet{color:#e2e9de;background:0 0;border:0;align-items:center;gap:11px;padding:12px 0;font-size:13px;font-weight:600;display:inline-flex}.button-quiet:hover{color:var(--mint)}.hero-bottom{color:#7b887e;font:9px var(--mono);letter-spacing:.3px;white-space:nowrap;align-items:center;gap:14px;margin-top:63px;display:flex}.hero-bottom>span:last-child{align-items:center;gap:4px;display:flex}.hero-bottom-rule{background:#48554b;width:27px;height:1px}.hero-art{place-items:center;min-width:0;height:475px;display:grid;position:relative}.art-orbit{border:1px solid #39453a;border-radius:50%;width:400px;height:400px;position:absolute}.orbit-two{border-color:#415341;width:310px;height:310px;transform:rotate(-20deg)}.art-orbit:before{content:"";background:var(--mint);width:8px;height:8px;box-shadow:0 0 17px var(--mint);border-radius:50%;position:absolute;top:14%;left:14%}.orbit-two:before{width:5px;height:5px;top:74%;left:92%}.portrait-placeholder{background:radial-gradient(circle at 40% 26%,#435844,#2a3c2c 42%,#1c2a21 80%);border:1px solid #657b61;border-radius:140px 140px 110px 110px;flex-direction:column;justify-content:center;align-items:center;width:270px;height:350px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #060e0b72,0 20px 80px #0409057d}.portrait-grid{opacity:.23;background-image:linear-gradient(#90b17e33 1px,#0000 1px),linear-gradient(90deg,#90b17e33 1px,#0000 1px);background-size:25px 25px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.portrait-monogram{font-family:var(--display);letter-spacing:-9px;text-shadow:0 10px 35px #0b1e0e96;font-size:100px;font-weight:600}.portrait-note{font:9px/1.6 var(--mono);color:#a2bba1;text-align:center;letter-spacing:1px;position:absolute;bottom:42px}.art-star{color:var(--mint);z-index:2;font-size:35px;position:absolute}.art-star-top{top:25px;right:12px}.art-star-bottom{font-size:21px;bottom:33px;left:22px}.art-caption{color:#859489;font:8px var(--mono);letter-spacing:.5px;justify-content:space-between;display:flex;position:absolute;bottom:-4px;left:0;right:0}.home-footer{color:#869288;font:9px var(--mono);letter-spacing:.5px;grid-column:1/-1;justify-content:space-between;margin-top:8px;display:flex}.home-footer span{align-items:center;gap:5px;display:flex}.home-footer svg{color:var(--mint)}.section-panel{padding:52px 55px 55px}.section-head h1{font:600 clamp(39px,4vw,61px)/1.12 var(--display);letter-spacing:-3.2px;margin:19px 0 13px}.section-head h1 em{color:var(--mint);font-style:normal}.section-description{color:#a2aea4;max-width:550px;margin:0;font-size:14px;line-height:1.75}.skills-grid,.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:37px;display:grid}.skill-card,.project-card{background:#292f2b;border:1px solid #424b43;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:216px;padding:22px;display:flex;overflow:hidden}.skill-featured{color:#21301d;background:#d0f997;border-color:#d0f997}.skill-card-top,.project-top{justify-content:space-between;align-items:start;display:flex}.skill-icon{width:43px;height:43px;color:var(--mint);background:#3a4a3b;border-radius:9px;place-items:center;display:grid}.skill-featured .skill-icon{color:#24401f;background:#add77c}.card-number,.project-index{font:10px var(--mono);color:#91a095}.skill-featured .card-number{color:#5d7851}.skill-card h2,.project-card h2{font:600 21px var(--display);letter-spacing:-.8px;margin:0 0 5px}.skill-card p,.project-card p{color:#a0ada1;margin:0;font-size:12px;line-height:1.6}.skill-featured p{color:#516549}.tag-row{gap:7px;margin-top:13px;display:flex}.tag{color:#b6c4b5;font:9px var(--mono);text-transform:uppercase;border:1px solid #4d594e;border-radius:4px;padding:5px 7px}.skill-featured .tag{color:#3a5534;border-color:#92b66f}.note-bar{color:#c6d5bf;background:#253026;border:1px solid #414e40;border-radius:9px;align-items:center;gap:13px;margin-top:22px;padding:14px 17px;font-size:12px;display:flex}.note-icon{color:var(--mint);display:flex}.note-end{color:var(--mint);font:9px var(--mono);white-space:nowrap;align-items:center;gap:7px;margin-left:auto;display:flex}.timeline{border-left:1px solid #4a6546;margin-top:50px;margin-left:9px}.timeline-entry{grid-template-columns:120px 1fr;gap:20px;padding:0 0 44px 29px;display:grid;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-marker{background:var(--mint);border:3px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:-6px;box-shadow:0 0 0 1px #a1d17c}.timeline-date{font:10px var(--mono);color:var(--mint);letter-spacing:1px;padding-top:5px}.timeline-content{background:#292f2b;border:1px solid #424b43;border-radius:11px;padding:22px 24px}.entry-category,.tiny-label{font:9px var(--mono);color:var(--mint);letter-spacing:1.1px}.timeline-content h2{font:600 22px var(--display);letter-spacing:-.7px;margin:11px 0 8px}.timeline-content p{color:#a3afa5;max-width:520px;margin:0;font-size:13px;line-height:1.7}.entry-pill{font:9px var(--mono);color:#bbdfa7;border:1px solid #4c6049;border-radius:20px;align-items:center;margin-top:18px;padding:6px 9px;display:inline-flex}.entry-pill span{width:5px;height:5px}.experience-footer{border-top:1px solid var(--border);color:#88988a;font:10px var(--mono);justify-content:space-between;margin-top:42px;padding-top:22px;display:flex}.experience-footer svg{color:var(--mint)}.projects-grid{margin-top:32px}.project-card{min-height:217px;transition:border-color .2s}.project-card:hover{border-color:var(--mint)}.project-arrow{width:28px;height:28px;color:var(--mint);border:1px solid #576456;border-radius:7px;place-items:center;display:grid}.project-symbol{color:var(--mint);margin:17px 0}.project-card h2{text-transform:capitalize}.project-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:37px;display:-webkit-box;overflow:hidden}.project-meta{color:#adbdac;font:10px var(--mono);border-top:1px solid #435044;justify-content:space-between;align-items:center;margin-top:13px;padding-top:11px;display:flex}.project-meta span:last-child{align-items:center;gap:4px;display:flex}.project-more,.github-visit{color:var(--mint);background:#2b382b;border:1px solid #55674f;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:18px;padding:15px;font-size:13px;font-weight:600;display:flex}.state-card{color:#aab8aa;border:1px dashed #64725f;border-radius:12px;align-items:center;gap:12px;margin-top:35px;padding:27px;font-size:13px;display:flex}.state-card a{color:var(--mint);align-items:center;gap:5px;display:inline-flex}.loading-dot{background:var(--mint);border-radius:50%;width:9px;height:9px;animation:1.4s infinite pulse;box-shadow:0 0 0 6px #b9e77a28}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}.github-profile{background:#2a312b;border:1px solid #485347;border-radius:11px;align-items:center;gap:17px;margin-top:32px;padding:18px;display:flex}.github-avatar{width:54px;height:54px;color:var(--mint);background:#3a4d38;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.github-identity{flex:1;min-width:0}.github-identity h2{font:600 21px var(--display);margin:5px 0 1px}.github-identity p{color:#abb7a9;margin:0;font-size:12px}.icon-link{color:var(--mint);border:1px solid #576752;border-radius:8px;place-items:center;width:33px;height:33px;display:grid}.github-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.stat-card{background:#29302b;border:1px solid #455045;border-radius:10px;flex-direction:column;gap:8px;padding:18px;display:flex;position:relative}.stat-card>span:first-child{color:#a3b09f;font:9px var(--mono);white-space:nowrap}.stat-card strong{font:600 37px var(--display);letter-spacing:-2px}.stat-icon{color:var(--mint);position:absolute;bottom:18px;right:16px}.calendar-card{background:#29302b;border:1px solid #455045;border-radius:10px;margin-top:14px;padding:20px}.calendar-heading{justify-content:space-between;align-items:center;display:flex}.calendar-heading h2{font:600 17px var(--display);margin:5px 0 0}.calendar-heading svg{color:var(--mint)}.calendar-scroll{scrollbar-color:#526151 transparent;margin:21px 0 17px;overflow-x:auto}.calendar-grid{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;grid-auto-flow:column;gap:4px;width:max-content;display:grid}.contribution-day,.calendar-legend i{background:#3b483c;border-radius:2px;width:9px;height:9px;display:inline-block}.contribution-day[data-level="1"],.calendar-legend i[data-level="1"]{background:#5a8952}.contribution-day[data-level="2"],.calendar-legend i[data-level="2"]{background:#78b667}.contribution-day[data-level="3"],.calendar-legend i[data-level="3"]{background:#a7da78}.contribution-day[data-level="4"],.calendar-legend i[data-level="4"]{background:var(--mint)}.calendar-bottom{color:#8c9b8d;font:9px var(--mono);justify-content:space-between;gap:15px;display:flex}.calendar-legend{white-space:nowrap;align-items:center;gap:4px;display:flex}.calendar-unavailable{color:#a7b4a7;border:1px dashed #526051;border-radius:6px;margin:18px 0;padding:17px;font-size:12px;line-height:1.6}.github-visit{margin-top:14px}.chat-panel{flex-direction:column;display:flex}.chat-panel .section-head{flex:none}.chat-shell{background:#252b27;border:1px solid #455044;border-radius:11px;flex-direction:column;flex:1;min-height:310px;margin-top:24px;display:flex;overflow:hidden}.chat-topbar{border-bottom:1px solid #414b41;align-items:center;gap:12px;height:64px;min-height:64px;padding:0 19px;display:flex}.chat-room-icon{color:var(--mint);background:#394e37;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.chat-topbar>div{flex-direction:column;gap:3px;display:flex}.chat-topbar strong{font-size:12px}.chat-topbar div span{color:#9cab9b;font-size:10px}.chat-live{font:9px var(--mono);color:var(--mint);align-items:center;gap:4px;margin-left:auto;display:flex}.chat-live span{width:6px;height:6px}.chat-join{text-align:center;color:#aab7ab;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:35px 18px;font-size:13px;display:flex}.join-symbol{width:56px;height:56px;color:var(--mint);background:#3a5038;border-radius:14px;place-items:center;margin-bottom:15px;display:grid}.chat-join h2{color:var(--text);font:600 23px var(--display);margin:0 0 7px}.chat-join>p{max-width:320px;margin:0;line-height:1.6}.chat-join form{text-align:left;width:min(310px,100%);margin-top:22px}.chat-join label{color:#b0c0ae;font:9px var(--mono);letter-spacing:1px}.join-input{color:#91a492;background:#1e2520;border:1px solid #4b5b49;border-radius:7px;align-items:center;gap:10px;margin:8px 0 10px;padding:0 13px;display:flex}.join-input:focus-within{border-color:var(--mint)}.join-input input{color:var(--text);background:0 0;border:0;outline:0;width:100%;min-width:0;height:42px;font-size:12px}.chat-join form button{width:100%}.chat-join .chat-hint{align-items:center;gap:5px;margin-top:16px;font-size:10px;display:flex}.chat-messages{scrollbar-color:#526151 transparent;flex-direction:column;flex:1;gap:17px;min-height:180px;max-height:320px;padding:18px;display:flex;overflow-y:auto}.chat-empty{color:#91a592;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.chat-empty svg{color:var(--mint)}.chat-empty strong{color:var(--text);font:600 19px var(--display)}.chat-message{align-items:start;gap:9px;font-size:12px;display:flex}.message-avatar,.compose-me{width:29px;height:29px;color:var(--mint);font:600 12px var(--display);background:#3d5238;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.message-header{align-items:center;gap:10px;display:flex}.message-header strong{color:#d6efc4}.message-header time{color:#8b9b8e;font:9px var(--mono)}.chat-message p{color:#d5ded4;overflow-wrap:anywhere;white-space:pre-wrap;margin:4px 0 0;line-height:1.55}.chat-compose{background:#1d241e;border:1px solid #485548;border-radius:8px;align-items:center;gap:10px;margin:0 15px 14px;padding:7px 8px;display:flex}.chat-compose:focus-within{border-color:#8cba71}.chat-compose input{color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.chat-compose button{background:var(--mint);color:#1c2d1a;border:0;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.chat-compose button:disabled{opacity:.5;cursor:not-allowed}.chat-status{color:#a9c194;min-height:20px;margin-top:9px;font-size:11px}.mobile-menu,.mobile-close{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.home-panel{padding-left:34px;padding-right:32px}.section-panel{padding:44px 37px}.hero-title{letter-spacing:-5px;font-size:clamp(52px,6vw,70px)}.hero-art{height:400px}.art-orbit{width:320px;height:320px}.orbit-two{width:250px;height:250px}.portrait-placeholder{width:216px;height:289px}.portrait-monogram{font-size:79px}.hero-bottom{font-size:8px}.sidebar-label{margin-top:49px}.topbar,.frame-footer{padding-left:35px;padding-right:35px}}@media (max-width:780px){.site-wrap{justify-content:flex-start;min-height:100svh;padding:14px 12px 8px}.app-shell{border-radius:13px;grid-template-columns:1fr;height:calc(100svh - 46px);min-height:570px}.sidebar{z-index:5;width:min(290px,85vw);transition:transform .25s;position:absolute;inset:0 auto 0 0;transform:translate(-103%);box-shadow:20px 0 50px #0008}.sidebar-open{opacity:1!important;transform:translate(0)!important}.sidebar-label{margin-top:50px}.mobile-close,.mobile-menu{color:var(--text);background:0 0;border:0;place-items:center;display:grid}.topbar{justify-content:flex-start;gap:17px;height:58px;min-height:58px;padding:0 19px}.topbar-right{margin-left:auto}.topbar-location,.topbar-divider{display:none}.frame-footer{padding:0 20px}.outside-footer{padding:9px 4px 0;font-size:8px}.home-panel{grid-template-columns:1fr 240px;padding:40px 29px 24px}.hero-art{height:330px}.art-orbit{width:255px;height:255px}.orbit-two{width:205px;height:205px}.portrait-placeholder{width:177px;height:240px}.portrait-monogram{letter-spacing:-6px;font-size:62px}.portrait-note{font-size:7px;bottom:28px}.art-caption{font-size:7px}.hero-title{font-size:clamp(48px,7.6vw,66px)}.hero-description{font-size:13px}.hero-bottom{margin-top:34px}.section-panel{padding:35px 32px}}@media (max-width:610px){.home-panel{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;display:flex}.home-copy{display:contents}.home-copy>.kicker,.home-copy>.availability{align-self:flex-start}.home-copy>div:first-child{order:0}.availability{order:1;margin-top:22px}.hero-title{letter-spacing:-5px;order:2;margin:21px 0 14px;font-size:clamp(55px,12.3vw,77px)}.hero-description{order:3;max-width:440px}.hero-actions{order:4;margin-top:24px}.hero-art{order:5;width:100%;max-width:330px;height:310px;margin:32px auto 10px}.art-orbit{width:275px;height:275px}.orbit-two{width:210px;height:210px}.portrait-placeholder{width:186px;height:251px}.hero-bottom{order:6;margin-top:20px}.home-footer{order:7;margin-top:30px}.section-head h1{font-size:clamp(40px,9vw,55px)}.skills-grid,.projects-grid{grid-template-columns:1fr}.skill-card{min-height:185px}.note-end{display:none}.timeline-entry{grid-template-columns:1fr;gap:8px;padding-left:23px}.timeline-content{padding:19px}.github-stats{gap:7px}.stat-card{min-height:85px;padding:12px}.stat-card>span:first-child{white-space:normal;font-size:8px}.stat-card strong{font-size:27px}.stat-icon{display:none}.calendar-bottom,.frame-footer{font-size:8px}.chat-panel{min-height:100%}}@media (max-width:390px){.home-panel,.section-panel{padding-left:20px;padding-right:20px}.hero-title{font-size:53px}.hero-actions{gap:14px}.button-primary{gap:9px;padding:12px}.hero-bottom{font-size:7px}.outside-footer span:last-child,.frame-footer span:last-child{display:none}.calendar-legend{font-size:7px}.topbar-right{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}*,:before,:after{transition:none!important;animation:none!important}.skill-explorer{background:radial-gradient(circle at 83% 25%,#3b5340 0,#263528 42%,#243026 76%);border:1px solid #4b6146;border-radius:14px;grid-template-columns:minmax(0,.85fr) minmax(250px,1fr);align-items:center;gap:22px;min-height:310px;margin-top:31px;padding:24px 31px;display:grid;overflow:hidden}.skill-explorer-copy{z-index:4;position:relative}.skill-explorer-copy h2{font:600 clamp(28px,3.1vw,43px)/1.09 var(--display);letter-spacing:-1.7px;margin:21px 0 13px}.skill-explorer-copy h2 span{color:var(--mint)}.skill-explorer-copy p{color:#aebdad;max-width:265px;margin:0;font-size:12px;line-height:1.7}.shuffle-pagination{color:#9eaf9d;font:11px var(--mono);align-items:center;gap:8px;margin-top:25px;display:flex}.shuffle-pagination span,.shuffle-pagination svg{color:var(--mint)}.shuffle-pagination svg{margin-left:10px}.shuffle-deck{justify-self:center;width:min(100%,290px);height:238px;margin-right:12px;position:relative}.shuffle-card{text-align:left;width:calc(100% - 30px);height:213px;color:var(--text);transform-origin:50%;background:#313c33;border:1px solid #648260;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px 18px 17px;display:flex;position:absolute;box-shadow:0 15px 27px #0a140b7a}.shuffle-card-front{color:#273322;background:#d1f99b;border-color:#d1f99b;box-shadow:0 22px 40px #0a140b91}.shuffle-card-top,.shuffle-card-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.shuffle-card-top{font:9px var(--mono);letter-spacing:1px;color:#c7dac2}.shuffle-card-front .shuffle-card-top{color:#54754b}.technology-logo{background:#253529;border-radius:16px;align-self:center;place-items:center;width:70px;height:70px;display:grid;box-shadow:0 10px 26px #13201742}.technology-logo svg{width:43px;height:43px}.shuffle-card-bottom strong{font:600 23px var(--display);letter-spacing:-1px;display:block}.shuffle-card-bottom small{color:#b8cdb6;font:9px var(--mono);letter-spacing:1px;margin-top:4px;display:block}.shuffle-card-front .shuffle-card-bottom small{color:#587549}.shuffle-card-next{border:1px solid #76966a;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.shuffle-card-front .shuffle-card-next{border-color:#90ad78}.shuffle-card:not(.shuffle-card-front):hover{border-color:var(--mint)}@media (max-width:1100px){.skill-explorer{grid-template-columns:minmax(0,.9fr) minmax(205px,1fr);gap:12px;padding:22px}.shuffle-deck{width:min(100%,255px)}.shuffle-card-bottom strong{font-size:20px}}@media (max-width:610px){.skill-explorer{grid-template-columns:1fr;gap:22px;padding:24px 20px 7px}.skill-explorer-copy h2{font-size:36px}.skill-explorer-copy h2 br{display:none}.shuffle-pagination{margin-top:14px}.shuffle-deck{justify-self:center;width:min(95%,295px);margin:0 auto 6px}.skill-explorer-copy p{max-width:100%}}.github-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card small{color:#9fac9d;font:9px/1.4 var(--mono);min-height:12px}.trend-card{background:#29302b;border:1px solid #455045;border-radius:10px;margin-top:14px;padding:20px}.trend-card .calendar-heading svg{color:var(--mint)}.trend-description{color:#a1b3a0;margin:9px 0 6px;font-size:11px}.trend-card>svg{width:100%;height:140px;display:block;overflow:visible}.trend-axis{color:#8c9c8d;font:9px var(--mono);justify-content:space-between;margin-top:1px;display:flex}@media (max-width:1100px){.github-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:610px){.github-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:104px}.trend-card>svg{height:100px}}.chat-audience{background:#2c392b;border:1px solid #536b4b;border-radius:10px;align-items:center;gap:14px;margin-top:23px;padding:14px 17px;display:flex}.chat-audience-icon{width:38px;height:38px;color:var(--mint);background:#3b5236;border-radius:8px;flex:none;place-items:center;display:grid}.chat-audience>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.chat-audience strong{font:600 25px var(--display);color:var(--mint)}.chat-audience div span{color:#d0dec9;font-size:12px}.chat-audience>small{text-align:right;color:#96ad91;font:9px/1.5 var(--mono);letter-spacing:.3px;margin-left:auto}.chat-panel .chat-shell{margin-top:13px}@media (max-width:610px){.chat-audience{gap:10px;padding:11px 12px}.chat-audience>small{display:none}.chat-audience div span{font-size:11px}}.project-browser{justify-content:flex-start;min-height:0;padding:0}.project-browser-bar{background:#343d36;border-bottom:1px solid #495549;flex:none;align-items:center;gap:10px;height:40px;padding:9px 13px;display:flex}.browser-dots{gap:5px;display:flex}.browser-dots i{background:#748377;border-radius:50%;width:7px;height:7px}.browser-address{text-overflow:ellipsis;white-space:nowrap;color:#b9c9b5;text-align:center;min-width:0;font:9px var(--mono);background:#222c24;border:1px solid #465246;border-radius:5px;flex:1;padding:4px 9px;overflow:hidden}.project-browser-bar>a{color:var(--mint);place-items:center;display:grid}.project-webview{background:#1b251e;border-bottom:1px solid #485448;height:280px;display:block;position:relative;overflow:hidden}.project-webview img{object-fit:cover;object-position:top center}.project-browser-info{padding:17px 20px 18px}.project-browser-info .project-top{align-items:center}.project-browser-info .project-symbol{margin:0}.project-browser-info h2{margin:8px 0}.project-browser-info p{min-height:38px}.project-browser-info .project-meta{margin-top:16px}.project-browser-info .project-meta a{color:var(--mint);align-items:center;gap:5px;display:inline-flex}.project-browser-info .project-meta a:hover{text-decoration:underline}@media (max-width:610px){.project-webview{height:235px}.project-browser-info{padding:15px}}.app-shell{grid-template-columns:280px minmax(0,1fr)}.sidebar{scrollbar-width:thin;scrollbar-color:#3a483a transparent;background:#141715;padding:20px 18px 19px;overflow-y:auto}.sidebar-top{min-height:29px;padding:0 7px}.sidebar-profile{text-align:center;flex-direction:column;align-items:center;margin-top:3px;display:flex}.sidebar-avatar{background:radial-gradient(circle at 38% 28%,#4e7447,#233b2d 52%,#131e19);border:2px solid #668f65;border-radius:50%;place-items:center;width:88px;height:88px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 4px #232f25,0 10px 28px #0008}.sidebar-avatar:before{content:"";opacity:.33;background-image:linear-gradient(#9fc38e44 1px,#0000 1px),linear-gradient(90deg,#9fc38e44 1px,#0000 1px);background-size:17px 17px;position:absolute;inset:0}.sidebar-avatar span{font:700 32px var(--display);letter-spacing:-2px;color:#efffe5;position:relative}.sidebar-avatar i{background:var(--mint);width:9px;height:9px;box-shadow:0 0 10px var(--mint);border-radius:50%;position:absolute;bottom:7px;right:7px}.profile-name{white-space:nowrap;font:600 18px var(--display);letter-spacing:-.6px;justify-content:center;align-items:center;gap:7px;margin-top:14px;display:flex}.profile-name svg{color:var(--mint)}.profile-badge{color:var(--mint);font:600 10px var(--body);white-space:nowrap;background:#263018;border:1px solid #68833e;border-radius:30px;align-items:center;gap:7px;margin-top:9px;padding:6px 11px;display:inline-flex}.profile-badge span{background:var(--mint);width:6px;height:6px;box-shadow:0 0 8px var(--mint);border-radius:50%}.sidebar-controls{justify-content:center;align-items:center;gap:9px;margin-top:18px;display:flex}.language-switch{background:#252927;border:1px solid #3c443e;border-radius:24px;flex:1;align-items:center;gap:3px;height:39px;padding:4px;display:flex}.language-switch button{color:#8e9990;height:29px;font:10px var(--mono);background:0 0;border:0;border-radius:20px;flex:1}.language-switch button.selected{background:var(--mint);color:#182518;font-weight:700}.sidebar-icon-link{color:#aeb9ae;background:#252927;border:1px solid #3c443e;border-radius:50%;flex:none;place-items:center;width:39px;height:39px;display:grid}.sidebar-icon-link:hover{color:var(--mint);border-color:#788a65}.sidebar-divider{background:#383f39;flex:none;height:1px;margin:17px 0 14px}.sidebar .navigation{gap:4px}.sidebar .nav-item{color:#a1aaa2;border-radius:8px;height:43px;padding:0 13px;font-size:13px;font-weight:500}.sidebar .nav-active{color:#f1f6ed;background:#303632;border-color:#38433a;font-weight:700}.sidebar .nav-active svg:first-child{color:var(--mint)}.sidebar .nav-current-arrow{color:#a9bc9f;margin-left:auto}.sidebar .nav-icon{transform-origin:50%;flex:none}.sidebar .sidebar-spacer{flex:1;min-height:16px}.sidebar .sidebar-cta{min-height:88px;margin-top:12px}.sidebar .sidebar-bottom{margin-top:17px;font-size:8px}@media (max-width:1100px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{padding-left:13px;padding-right:13px}}@media (max-width:780px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(290px,85vw);padding-left:18px;padding-right:18px}}.custom-cursor{z-index:9999;pointer-events:none;opacity:0;transform-origin:3px 3px;filter:drop-shadow(0 2px 2px #000b);width:22px;height:26px;position:fixed;top:0;left:0}.custom-cursor svg{display:block}@media (hover:hover) and (pointer:fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}}@media (hover:none),(pointer:coarse){.custom-cursor{display:none}}.achievements-summary{background:#2b392b;border:1px solid #567050;border-radius:11px;align-items:center;gap:16px;margin-top:30px;padding:19px 22px;display:flex;position:relative;overflow:hidden}.achievements-summary-icon{width:47px;height:47px;color:var(--mint);background:#405738;border-radius:10px;flex:none;place-items:center;display:grid}.achievements-summary>div{flex-direction:column;gap:4px;display:flex}.achievements-summary strong{font:600 19px var(--display)}.achievements-summary div span{color:#b4c3b0;font-size:12px}.achievements-summary-mark{color:var(--mint);opacity:.6;margin-left:auto;font-size:34px}.achievements-filters{flex-wrap:wrap;gap:8px;margin:22px 0 0;display:flex}.achievements-filters button{color:#afbbaf;font:10px var(--mono);background:#2a312b;border:1px solid #475448;border-radius:7px;padding:9px 14px}.achievements-filters button:hover{color:var(--mint)}.achievements-filters button.is-selected{background:var(--mint);border-color:var(--mint);color:#1d2b1c;font-weight:700}.achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:17px;display:grid}.certificate-card{text-align:left;min-width:0;color:var(--text);background:#292f2b;border:1px solid #424f44;border-radius:11px;padding:0;overflow:hidden}.certificate-card:hover,.certificate-card:focus-visible{border-color:var(--mint)}.certificate-image{aspect-ratio:1.43;background:#f2f2f2;display:block;position:relative;overflow:hidden}.certificate-image img{object-fit:cover;object-position:center center}.certificate-info{flex-direction:column;gap:9px;padding:17px 18px 16px;display:flex}.certificate-year{color:var(--mint);font:9px var(--mono);letter-spacing:.5px;align-items:center;gap:6px;display:flex}.certificate-info strong{font:600 18px/1.35 var(--display);min-height:48px}.certificate-issuer{color:#aab9a8;font:9px var(--mono);border-top:1px solid #48564a;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.certificate-issuer svg{color:var(--mint);flex:none}.certificate-overlay{z-index:9000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070d09d9;justify-content:center;align-items:center;padding:17px;display:flex;position:fixed;inset:0}.certificate-dialog{background:#202722;border:1px solid #607459;border-radius:12px;flex-direction:column;width:min(1050px,100%);height:min(85vh,840px);display:flex;overflow:hidden;box-shadow:0 26px 85px #000b}.certificate-dialog-top{align-items:center;gap:14px;min-height:66px;padding:13px 18px;display:flex}.certificate-dialog-top>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.certificate-dialog-top div span{font:9px var(--mono);color:var(--mint)}.certificate-dialog-top div strong{font:600 14px var(--display);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.certificate-dialog-top a{color:var(--mint);font:11px var(--mono);white-space:nowrap;align-items:center;gap:6px;display:flex}.certificate-dialog-top button{color:var(--text);background:#344137;border:1px solid #526550;border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.certificate-dialog iframe{background:#f8f8f8;border:0;flex:1;width:100%}@media (max-width:900px){.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:610px){.achievements-grid{grid-template-columns:1fr}.certificate-info strong{min-height:0}.achievements-summary{padding:14px}.achievements-summary-mark{display:none}.certificate-dialog{height:min(84dvh,790px)}.certificate-dialog-top{padding:10px}.certificate-dialog-top a{gap:2px;font-size:0}.certificate-dialog-top a svg{width:17px;height:17px}}:root{--bg:#090909;--sidebar:#111;--surface:#1b1b1b;--surface-alt:#272727;--border:#393939;--muted:#a0a0a0;--text:#eee;--mint-dark:#202020}.site-glow{display:none}.app-shell{border-color:#404040;box-shadow:0 32px 100px #0009}.sidebar{scrollbar-color:#505050 transparent;background:#111;border-color:#393939}.content-frame{background:#1b1b1b}.sidebar .nav-item:hover{color:#f0f0f0;background:#292929}.sidebar .nav-active{color:#f0f0f0;background:#303030;border-color:#454545}.sidebar .nav-current-arrow{color:#aaa}.sidebar .sidebar-cta,.profile-badge,.availability,.entry-pill{background:#252525;border-color:#4b4b4b}.sidebar-avatar{background:#303030;border-color:#666;box-shadow:0 0 0 4px #202020,0 10px 28px #0008}.sidebar-avatar:before,.portrait-grid{background-image:none}.language-switch,.sidebar-icon-link{background:#252525;border-color:#444}.sidebar-divider,.hero-bottom-rule{background:#444}.portrait-placeholder{background:#303030;border-color:#555;box-shadow:0 20px 70px #0007}.art-orbit,.orbit-two{border-color:#555}.skill-explorer,.skill-card,.shuffle-card,.note-bar,.timeline-content,.project-card,.github-profile,.stat-card,.calendar-card,.trend-card,.chat-shell,.chat-audience,.achievements-summary,.certificate-card{background:#282828;border-color:#484848}.skill-featured,.shuffle-card-front{border-color:var(--mint);color:var(--text);background:#303030}.skill-featured .skill-icon,.skill-icon,.technology-logo,.github-avatar,.chat-room-icon,.join-symbol,.chat-audience-icon,.achievements-summary-icon{color:var(--mint);background:#383838}.skill-featured p,.skill-featured .tag,.skill-featured .card-number,.shuffle-card-front .shuffle-card-top,.shuffle-card-front .shuffle-card-bottom small{color:#b5b5b5}.skill-featured .tag,.shuffle-card-next,.shuffle-card-front .shuffle-card-next{border-color:#555}.shuffle-card-top,.shuffle-card-bottom small{color:#b5b5b5}.project-browser-bar{background:#333;border-color:#494949}.browser-address,.project-webview,.join-input,.chat-compose{background:#202020;border-color:#494949}.project-webview{background:#1b1b1b}.project-more,.github-visit{background:#292929;border-color:#555}.project-more:hover,.github-visit:hover{background:#363636}.chat-messages,.calendar-scroll,.content-panel{scrollbar-color:#555 transparent}.message-avatar,.compose-me{color:var(--mint);background:#3b3b3b}.achievements-filters button,.certificate-dialog,.certificate-dialog-top button{background:#292929;border-color:#494949}.certificate-overlay{background:#090909dc}.certificate-issuer,.project-meta,.experience-footer{border-color:#494949}.browser-dots i:first-child{background:#777}.browser-dots i:nth-child(2){background:#aaa}.browser-dots i:nth-child(3){background:var(--mint)}.hero-description,.section-description,.skill-card p,.project-card p,.timeline-content p,.github-identity p,.trend-description,.chat-join,.chat-audience div span,.achievements-summary div span,.certificate-issuer,.note-bar,.portrait-note,.art-caption,.hero-bottom,.outside-footer,.frame-footer{color:#aaa}.sidebar .nav-item{color:#b0b0b0}.sidebar .nav-active{color:#f0f0f0}.sidebar-status span,.availability-dot,.chat-live span,.entry-pill span,.frame-footer-dot,.profile-badge span,.sidebar-avatar i,.art-orbit:before,.loading-dot,.button-primary{box-shadow:none}.shuffle-card,.shuffle-card-front{box-shadow:0 18px 36px #0008}.chat-topbar,.sidebar-bottom,.project-browser-bar,.project-meta{border-color:#494949}.topbar-right,.breadcrumb,.card-number,.project-index,.tag,.shuffle-pagination,.skill-explorer-copy p,.timeline-content p,.stat-card>span:first-child,.calendar-bottom,.calendar-legend,.chat-topbar div span,.message-header time,.chat-status,.certificate-issuer,.sidebar-bottom,.sidebar .sidebar-cta,.profile-name,.sidebar-icon-link{color:#aaa}.profile-name{color:var(--text)}.profile-name .verified-badge{color:#1d9bf0}.contact-panel .section-head h1{letter-spacing:-2px;margin-bottom:9px;font-size:clamp(36px,4vw,50px)}.contact-panel .section-description{font-size:14px}.contact-subheading{font:600 15px var(--display);color:#ececec;border-top:1px solid #3e3e3e;margin-top:25px;padding-top:23px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.contact-card{background:#292929;border:1px solid #444;border-radius:9px;flex-direction:column;min-height:198px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.contact-card:nth-child(3){background:#242424}.contact-card:nth-child(4){background:#222}.contact-card:nth-child(5){background:#1e1e1e}.contact-card:before{content:"";pointer-events:none;border:27px solid #ffffff08;border-radius:50%;width:175px;height:175px;position:absolute;top:-80px;right:-40px}.contact-featured{background:#303030;border-color:#555;grid-column:1/-1;min-height:156px}.contact-card:hover{border-color:#7c9b68}.contact-eyebrow{color:var(--mint);font:9px var(--mono);letter-spacing:1px;position:relative}.contact-card-copy{margin-top:15px;position:relative}.contact-card h2{font:600 19px/1.3 var(--display);color:#ededed;margin:0 0 6px}.contact-card p{color:#b1b1b1;max-width:330px;margin:0;font-size:12px;line-height:1.6}.contact-card-bottom{justify-content:space-between;align-items:end;gap:10px;margin-top:auto;display:flex;position:relative}.contact-card-bottom a,.contact-coming-soon{background:var(--mint);color:#161616;font:600 11px var(--body);border-radius:6px;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.contact-card-bottom a:hover{background:#d7ffa6}.contact-coming-soon{color:#b8b8b8;background:#3a3a3a;border:1px solid #505050}.contact-brand{color:var(--mint);border:1px solid #707070;border-radius:12px;flex:none;place-items:center;width:50px;height:50px;display:grid}.contact-brand svg{width:31px;height:31px}.contact-chat{background:#242424;border:1px solid #474747;border-radius:9px;justify-content:space-between;align-items:center;gap:17px;margin-top:20px;padding:17px;display:flex}.contact-chat>div{align-items:center;gap:12px;display:flex}.contact-chat>div>div{flex-direction:column;gap:4px;display:flex}.contact-chat strong{color:#eee;font:600 13px var(--display)}.contact-chat div span:not(.contact-chat-icon){color:#aaa;font-size:11px}.contact-chat-icon{width:36px;height:36px;color:var(--mint);background:#343434;border-radius:8px;flex:none;place-items:center;display:grid}.contact-chat button{white-space:nowrap;color:var(--mint);font:600 11px var(--body);background:0 0;border:1px solid #6e8a5e;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.contact-chat button:hover{background:#333}@media (max-width:610px){.contact-grid{grid-template-columns:1fr}.contact-featured{grid-column:auto}.contact-card{min-height:174px;padding:19px}.contact-chat{flex-direction:column;align-items:stretch}.contact-chat button{justify-content:center}}.certificate-entry{background:#282828;border:1px solid #484848;border-radius:11px;min-width:0;overflow:hidden}.certificate-entry:hover{border-color:var(--mint)}.certificate-entry .certificate-card{border:0;border-radius:0;width:100%;display:block}.reaction-bar{background:#252525;border-top:1px solid #484848;flex-wrap:wrap;align-items:center;gap:9px;padding:11px 16px;display:flex}.reaction-label{font:9px var(--mono);letter-spacing:.4px;color:#aaa}.reaction-summary{flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.reaction-empty{font:9px var(--mono);color:#8e8e8e;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reaction-pill{color:#bcbcbc;font:10px var(--mono);white-space:nowrap;background:#343434;border-radius:6px;align-items:center;gap:3px;padding:4px 5px;display:inline-flex}.reaction-pill span{font-size:14px;line-height:1}.reaction-pill-mine{color:var(--mint);outline:1px solid #658c4e}.reaction-trigger{width:32px;height:32px;color:var(--mint);background:#363636;border:1px solid #515151;border-radius:7px;flex:none;place-items:center;display:grid}.reaction-trigger:hover,.reaction-trigger-active{border-color:var(--mint);background:#303030}.reaction-trigger:disabled{opacity:.5}.reaction-bar small{color:var(--mint);flex-basis:100%;font-size:10px}.project-browser>.reaction-bar{margin-top:auto}.reaction-popover{z-index:9700;background:#222;border:1px solid #555;border-radius:12px;position:fixed;overflow:hidden;box-shadow:0 18px 50px #000a}.site-emoji-picker{--epr-bg-color:#222;--epr-category-label-bg-color:#222;--epr-search-input-bg-color:#2d2d2d;--epr-search-input-bg-color-active:#333;--epr-picker-border-color:#4b4b4b;--epr-text-color:#eee;--epr-highlight-color:#c3f677;--epr-hover-bg-color:#363636;--epr-focus-bg-color:#393939}
