@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700;800;900&family=Roboto+Mono:wght@400;500;700&family=Space+Mono:wght@400;700&display=swap);*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:Roboto Mono,JetBrains Mono,Space Mono,monospace}:root{--bg:#07080b;--surface:#10131a;--surface-strong:#171b24;--line:#ffffff1f;--text:#f7f7fb;--muted:#b8c0cc;--mint:#2dd4bf;--amber:#fbbf24;--cyan:#38bdf8;--rose:#fb7185;--violet:#a78bfa;--shell-font:"Space Mono","Roboto Mono","JetBrains Mono",monospace;--display-font:"JetBrains Mono","Space Mono","Roboto Mono",monospace;--code-font:"Roboto Mono","JetBrains Mono","Space Mono",monospace}html{background:#07080b;background:var(--bg);scroll-behavior:smooth}a,body,button,html,input,select,textarea{cursor:none}body{background:#07080b;background:var(--bg);color:#f7f7fb;color:var(--text);font-family:Space Mono,Roboto Mono,JetBrains Mono,monospace;font-family:var(--shell-font);letter-spacing:0;min-width:320px;overflow-x:hidden}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}.landing-gate{align-items:center;background:#020305;display:grid;min-height:100svh;overflow:hidden;padding:116px max(24px,calc(50vw - 560px)) 72px;position:relative}.entry-effects,.landing-scene,.landing-vignette{inset:0;position:absolute}.landing-scene{pointer-events:none}.landing-vignette{background:radial-gradient(circle at 72% 48%,#2dd4bf14,#0000 24%),linear-gradient(90deg,#020305d6,#02030570 52%,#02030533)}.landing-navbar{align-items:center;display:flex;justify-content:space-between;left:50%;position:absolute;top:24px;transform:translateX(-50%);width:min(1120px,calc(100% - 36px));z-index:8}.landing-brand{color:#f7f7fb;color:var(--text);font-weight:900;letter-spacing:0;text-transform:uppercase}.landing-navbar nav{align-items:center;display:flex;gap:6px}.landing-link.MuiButton-root{border-radius:8px;color:#f7f7fb;color:var(--text);font-size:.85rem;font-weight:800;min-height:40px}.landing-link.MuiButton-root:hover{background:#ffffff14}.landing-content{max-width:660px;position:relative;z-index:5}.landing-content h1{color:#f7f7fb;color:var(--text);font-size:4.65rem;font-weight:900;line-height:.98;margin:0}.landing-content p:not(.eyebrow){color:#b8c0cc;color:var(--muted);font-size:1.08rem;line-height:1.7;margin:22px 0 0;max-width:560px}.landing-actions{margin-top:28px}.landing-portfolio-button.MuiButton-root{background:#fbbf241f;border:1px solid #fbbf24b8;border-radius:8px;color:#fbbf24;color:var(--amber);font-size:1rem;font-weight:900;min-height:52px;overflow:hidden;padding:12px 24px;position:relative}.landing-portfolio-button.MuiButton-root:after{animation:button-shine 2.8s ease-in-out infinite;background:#ffffff80;content:"";filter:blur(8px);height:220%;inset:-80% auto auto -40%;position:absolute;transform:rotate(22deg);width:44px}.entry-effects{pointer-events:none;z-index:12}.sparkle{animation:sparkle-pop 1s ease-out var(--sparkle-delay) both;background:#fbbf24;background:var(--amber);border-radius:50%;box-shadow:0 0 16px #fbbf24;box-shadow:0 0 16px var(--amber);height:7px;left:var(--sparkle-x);position:absolute;top:var(--sparkle-y);width:7px}.rocket-trail{animation:rocket-path 1.35s cubic-bezier(.2,.72,.23,1) forwards;background:linear-gradient(90deg,#0000,#38bdf81a,#38bdf8);background:linear-gradient(90deg,#0000,#38bdf81a,var(--cyan));border-radius:999px;box-shadow:0 0 24px #38bdf8d1;height:3px;left:-12vw;position:absolute;top:72vh;width:84px}.rocket-trail:before{background:#f7f7fb;background:var(--text);border-radius:10px 4px 4px 10px;box-shadow:0 0 14px #fff9;height:12px;right:-18px;width:24px}.rocket-trail:after,.rocket-trail:before{content:"";position:absolute;top:50%;transform:translateY(-50%)}.rocket-trail:after{border-bottom:7px solid #0000;border-left:13px solid #fb7185;border-left:13px solid var(--rose);border-top:7px solid #0000;right:-23px}.entry-flash{animation:entry-flash 1.45s ease-out forwards;background:radial-gradient(circle at 55% 50%,#ffffff85,#0000 32%);inset:0;position:absolute}.portfolio-main{background:#07080b;background:var(--bg)}.site-header{align-items:center;border:0;display:flex;justify-content:space-between;left:0;margin:0 auto;min-height:64px;min-height:42px;padding:16px 24px;position:fixed;right:0;top:0;width:min(1120px,calc(100% - 48px));will-change:transform,opacity;z-index:60;.header-left,.header-right{align-items:center;display:flex;gap:8px}.header-center{align-items:center;display:flex;gap:14px;justify-content:center}.home-link{color:#f7f7fb;color:var(--text);font-weight:900}.desktop-nav{display:none}.nav-link.MuiButton-root,.resume-trigger.MuiButton-root{cursor:none}.nav-link.MuiButton-root{color:#f7f7fb;color:var(--text);margin:0 6px;padding:8px 12px}.nav-link.MuiButton-root:hover,.resume-trigger.MuiButton-root:hover{background:#ffffff0f;color:#f7f7fb;color:var(--text)}}.nav-link.MuiButton-root:hover,.resume-trigger.MuiButton-root:hover{background:#38bdf81f;color:#f7f7fb;color:var(--text)}.resume-trigger.MuiButton-root{background:#07080b38;border:1px solid #fbbf2480;color:#fbbf24;color:var(--amber)}.hero-section{align-items:center;display:flex;min-height:92svh;overflow:hidden;padding:132px max(24px,calc(10vw - 112px)) 72px;position:relative;z-index:12}@media (min-width:901px){.hero-section{justify-content:space-between}.hero-content{margin-left:48px;max-width:560px}}.hero-scene{height:100%;inset:0;pointer-events:auto;position:fixed;width:100%;z-index:8}.hero-shade{background:#04050861;inset:0;pointer-events:none;position:fixed;z-index:9}.hero-entry{display:grid;grid-template-columns:auto 1fr auto;inset:0;min-height:100svh;padding:0;position:fixed;z-index:40}.hero-entry .hero-shade{background:#04050838}.hero-live .hero-shade{background:#04050852;transition:background .42s ease}body.portfolio-scrolled .hero-live .hero-shade{background:#04050829}.hero-scene-fallback{background:radial-gradient(circle at 70% 40%,#2dd4bf14,#0000 38%),#07080b;background:radial-gradient(circle at 70% 40%,#2dd4bf14,#0000 38%),var(--bg);height:100%;width:100%}.hero-content{max-width:760px;pointer-events:none;position:relative;z-index:12}.hero-content .MuiButton-root,.hero-content a,.hero-content button,.hero-content input{pointer-events:auto}.portfolio-sections{animation:portfolio-fade .52s ease both;-webkit-backdrop-filter:blur(6px) saturate(1.05);backdrop-filter:blur(6px) saturate(1.05);border:1px solid #2dd4bf08;border-radius:8px;box-shadow:0 12px 60px #2dd4bf0f;position:relative;z-index:30}@keyframes portfolio-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.nav-link.glitch{overflow:hidden;position:relative}.nav-link.glitch:after{color:#fbbf24;color:var(--amber);content:attr(data-text);font-weight:800;inset:0;opacity:0;pointer-events:none;position:absolute;text-shadow:0 0 10px #fbbf248c;transform:translate(0)}.nav-link.glitch:hover:after{animation:glitch-anim .28s cubic-bezier(.25,.46,.45,.94) infinite;opacity:1}@keyframes glitch-anim{0%{transform:translate(0)}25%{transform:translate(-2px,-1px)}50%{transform:translate(2px,1px)}75%{transform:translate(-1px,2px)}to{transform:translate(0)}}.nav-link.glitch:hover{color:#fbbf24;color:var(--amber)}.hero-entry-controls{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:440px;position:relative;text-align:center;z-index:12}.entry-hint{color:#fbbf24;color:var(--amber);font-size:.86rem;letter-spacing:.5px;margin:0;text-transform:uppercase}.entry-fallback.MuiButton-root,.entry-hint{font-family:Space Mono,Roboto Mono,JetBrains Mono,monospace;font-family:var(--shell-font);font-weight:800}.entry-fallback.MuiButton-root{background:#2dd4bf1f;border:1px solid #2dd4bf7a;border-radius:8px;box-shadow:0 0 0 1px #2dd4bf33,inset 0 1px 0 #ffffff1a;color:#2dd4bf;color:var(--mint);font-size:.95rem;min-height:44px;padding:10px 24px;transition:all .2s ease}.entry-fallback.MuiButton-root:hover:not(:disabled){background:#2dd4bf2e;border-color:#2dd4bf;border-color:var(--mint);box-shadow:0 0 16px #2dd4bf52,inset 0 1px 0 #ffffff24}.entry-fallback.MuiButton-root:disabled{cursor:not-allowed;opacity:.6}.eyebrow{color:#fbbf24;color:var(--amber);font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.hero-title{color:#f7f7fb;color:var(--text);font-size:5.25rem;font-weight:900;line-height:.95;margin:0}.hero-copy{color:#b8c0cc;color:var(--muted);font-size:1.18rem;line-height:1.7;margin:24px 0 0;max-width:640px}.hero-actions{margin-top:30px}.primary-action.MuiButton-root,.secondary-action.MuiButton-root{border-radius:8px;font-size:.95rem;font-weight:800;min-height:44px;padding:10px 18px}.primary-action.MuiButton-root{background:#2dd4bf;background:var(--mint);color:#04100e}.primary-action.MuiButton-root:hover{background:#5eead4}.secondary-action.MuiButton-root{background:#ffffff0f;border:1px solid #ffffff1f;border:1px solid var(--line);color:#f7f7fb;color:var(--text)}.secondary-action.MuiButton-root:hover{background:#ffffff1c;border-color:#ffffff42}.focus-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.focus-strip span,.mobile-tech-group span,.stack-list span{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;color:#b8c0cc;color:var(--muted);display:inline-flex;font-size:.83rem;font-weight:700;min-height:30px}.focus-strip span{padding:6px 10px}.section-shell{margin:0 auto;padding:112px 0;width:min(1120px,calc(100% - 32px))}.section-heading{margin-bottom:38px;max-width:760px}.section-title{color:#f7f7fb;color:var(--text);font-size:3rem;font-weight:900;line-height:1.08;margin:0}.terminal-section{padding-top:56px}.terminal-panel{background:#10131aeb;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 90px #00000061;overflow:hidden}.terminal-bar{background:#0b0d12;border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--line);display:flex;gap:8px;padding:14px 18px}.terminal-bar span{background:#fb7185;background:var(--rose);border-radius:50%;height:11px;width:11px}.terminal-bar span:nth-child(2){background:#fbbf24;background:var(--amber)}.terminal-bar span:nth-child(3){background:#2dd4bf;background:var(--mint)}.terminal-body{padding:34px}.terminal-command{color:#2dd4bf;color:var(--mint);font-family:Consolas,Courier New,monospace;font-size:1rem}.terminal-name{color:#f7f7fb;color:var(--text);font-size:2rem;font-weight:900;margin:14px 0 0}.terminal-copy{color:#b8c0cc;color:var(--muted);font-size:1.05rem;line-height:1.7;margin:14px 0 0;max-width:760px}.terminal-focus{grid-gap:10px;color:#38bdf8;color:var(--cyan);display:grid;font-family:Consolas,Courier New,monospace;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.project-orbit-layout{grid-gap:28px;align-items:stretch;display:grid;gap:28px;grid-template-columns:1fr}.radar-layout{grid-gap:32px;display:grid;gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.orbit-stage{background:#0b0d12b8;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;display:grid;min-height:680px;overflow:visible;padding:32px 24px;place-items:center;position:relative}.project-detail-panel{max-width:100%;min-width:420px;padding:22px}.project-meta-row{flex-wrap:nowrap;gap:10px;margin-top:18px;overflow-x:auto;padding-bottom:12px}.project-carousel-controls{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.project-carousel-controls button{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:#f7f7fb;color:var(--text);cursor:pointer;font-size:.85rem;min-height:36px;padding:0 14px}.project-carousel-controls button:hover{background:#ffffff14}.cursor-bubble{background:#2dd4bf38;border:1px solid #2dd4bfb3;border-radius:50%;box-shadow:0 0 24px #2dd4bf52;height:26px;left:0;pointer-events:none;position:fixed;top:0;transform:translate3d(-50%,-50%,0);transition:width .16s ease,height .16s ease,background .16s ease,transform .16s ease;width:26px;z-index:9999}.cursor-bubble.cursor-hover{background:#fbbf242e;border-color:#fbbf24cc;height:38px;width:38px}@media (max-width:900px){.project-orbit-layout{grid-template-columns:1fr}}.orbit-canvas{inset:0;position:absolute}.orbit-core{background:#07080bb8;border:1px solid #2dd4bf73;border-radius:50%;display:grid;height:150px;place-items:center;position:relative;text-align:center;width:150px;z-index:2}.orbit-core,.swipe-up-hint{color:#f7f7fb;color:var(--text)}.swipe-up-hint{animation:swipe-fade 2.8s ease-in-out infinite;background:#07080bf0;border:1px solid #2dd4bf6b;border-radius:999px;bottom:76px;box-shadow:0 0 26px #2dd4bf38;font-size:.82rem;left:50%;letter-spacing:.24em;padding:12px 22px;pointer-events:none;position:fixed;text-transform:uppercase;transform:translateX(-50%);z-index:210}@keyframes swipe-fade{0%,to{opacity:0;transform:translateX(-50%) translateY(6px)}30%{opacity:1;transform:translateX(-50%) translateY(0)}60%{opacity:1;transform:translateX(-50%) translateY(-2px)}}.swipe-up-hint{animation:glow-flicker 2.8s ease-in-out infinite}@keyframes glow-flicker{0%,to{opacity:1;transform:translateY(0)}20%{opacity:.85;transform:translateY(-1px)}40%{opacity:.75;transform:translateY(1px)}60%{opacity:.9;transform:translateY(-1px)}80%{opacity:1;transform:translateY(0)}}.go-top-wrap{display:flex;justify-content:center;padding:28px 0 52px;position:relative;z-index:30}.go-top-button{animation:glow-flicker 2.8s ease-in-out infinite;background:#07080be6;border:1px solid #2dd4bfad;border-radius:999px;box-shadow:0 0 24px #2dd4bf3d;color:#f7f7fb;color:var(--text);cursor:pointer;display:inline-block;font-weight:800;margin:0;padding:12px 28px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.go-top-button:hover{box-shadow:0 0 30px #2dd4bf57;transform:translateY(-2px)}.language-segment{opacity:.3;transition:transform .52s ease,opacity .52s ease}.language-segment.visible{opacity:1}.orbit-core span{align-self:end;color:#b8c0cc;color:var(--muted);font-size:.8rem;font-weight:700}.orbit-core strong{align-self:start;color:#2dd4bf;color:var(--mint);font-size:1.1rem}.project-satellite{align-items:center;background:#10131af0;border:1px solid #ffffff38;border-radius:8px;box-shadow:0 4px 18px #00000059;color:#f7f7fb;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:.9rem;font-weight:800;justify-content:center;left:50%;max-width:none;min-height:42px;padding:8px 14px;position:absolute;top:50%;transition:border-color .18s ease,background .18s ease,color .18s ease;white-space:nowrap;width:max-content;z-index:3}.project-satellite.orbit-inner{transform:rotate(var(--angle)) translate(min(27vw,248px)) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-satellite.orbit-outer{transform:rotate(var(--angle)) translate(min(35vw,318px)) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-satellite .satellite-label{display:inline-block;line-height:1.2;overflow:visible;white-space:nowrap}.project-satellite .orbit-dot{border-radius:50%;flex:0 0 auto;height:8px;margin-right:7px;width:8px}.project-satellite .orbit-dot.orbit-inner{background:#2dd4bf;background:var(--mint);box-shadow:0 0 12px #2dd4bfb8}.project-satellite .orbit-dot.orbit-outer{background:#fbbf24;background:var(--amber);box-shadow:0 0 12px #fbbf24b8}.project-satellite.is-active,.project-satellite:focus-visible,.project-satellite:hover{background:#fbbf2429;border-color:#fbbf24;border-color:var(--amber);box-shadow:0 0 20px #fbbf242e;color:#fbbf24;color:var(--amber);outline:none}.project-satellite.is-active .orbit-dot,.project-satellite:focus-visible .orbit-dot,.project-satellite:hover .orbit-dot{transform:scale(1.2)}.project-detail-panel,.radar-readout{background:#10131aeb;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;overflow:hidden}.project-detail-panel{padding:18px}.browser-frame{background:#080a0f;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;overflow:hidden}.browser-topbar{align-items:center;border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--line);color:#b8c0cc;color:var(--muted);display:flex;font-size:.72rem;gap:7px;min-height:34px;padding:8px 10px}.browser-topbar span{background:#fb7185;background:var(--rose);border-radius:50%;height:9px;width:9px}.browser-topbar span:nth-child(2){background:#fbbf24;background:var(--amber)}.browser-topbar span:nth-child(3){background:#2dd4bf;background:var(--mint)}.browser-topbar strong{color:#b8c0cc;color:var(--muted);font-weight:700;margin-left:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-frame img,.project-visual-fallback{aspect-ratio:16/10;display:block;object-fit:cover;width:100%}.project-visual-fallback{background:radial-gradient(circle at 70% 35%,#2dd4bf29,#0000 28%),linear-gradient(135deg,#fbbf241f,#38bdf814);color:#2dd4bf;color:var(--mint);display:grid;font-weight:900;padding:28px;place-items:center;text-align:center}.project-visual-fallback em,.project-visual-fallback span{color:#b8c0cc;color:var(--muted);font-size:.76rem;font-style:normal;text-transform:uppercase}.project-visual-fallback strong{color:#f7f7fb;color:var(--text);font-size:2rem;line-height:1.1}.project-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.project-meta-row span{align-items:center;background:#fbbf2414;border:1px solid #fbbf245c;border-radius:8px;display:inline-flex;font-size:.76rem;min-height:28px;padding:5px 9px}.panel-kicker,.project-meta-row span{color:#fbbf24;color:var(--amber);font-weight:800}.panel-kicker{font-size:.78rem;margin:18px 0 8px;text-transform:uppercase}.panel-title{color:#f7f7fb;color:var(--text);font-size:2rem;font-weight:900;margin:0}.language-bar-wrapper{margin-top:10px}.language-bar{background:#ffffff14;border-radius:999px;display:grid;grid-template-columns:repeat(12,1fr);height:12px}.language-segment{transform:scaleX(.05);transform-origin:left;transition:transform .42s ease,opacity .42s ease}.language-segment.visible{transform:scaleX(1)}.language-legend{grid-gap:10px;gap:10px;margin-top:12px}.legend-item{grid-gap:10px;display:grid;font-size:.82rem;gap:10px;grid-template-columns:auto 1fr auto}.legend-color{border-radius:50%;height:9px;width:9px}.legend-percentage{color:#b8c0cc;color:var(--muted)}.contact-copy p,.evolution-item p,.panel-copy,.project-story dd{color:#b8c0cc;color:var(--muted);line-height:1.65}.project-story{grid-gap:14px;display:grid;gap:14px;margin:18px 0 0}.project-story div{border-top:1px solid #ffffff1f;border-top:1px solid var(--line);padding-top:14px}.project-story dt{color:#f7f7fb;color:var(--text);font-weight:900}.project-story dd{margin:4px 0 0}.project-insights{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.project-insights div{background:#ffffff0a;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;padding:14px}.project-insights h4{color:#f7f7fb;color:var(--text);font-size:.88rem;font-weight:900;margin:0 0 10px}.project-insights ul{grid-gap:7px;display:grid;gap:7px;list-style:none;margin:0;padding:0}.project-insights li{color:#b8c0cc;color:var(--muted);font-size:.86rem;line-height:1.4}.project-insights li:before{background:#2dd4bf;background:var(--mint);border-radius:50%;content:"";display:inline-block;height:6px;margin-right:7px;vertical-align:.08em;width:6px}.stack-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.mobile-tech-group span,.stack-list span{padding:5px 8px}.project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.availability-note{color:#b8c0cc;color:var(--muted);font-size:.92rem;line-height:1.55;margin:16px 0 0}.radar-layout{align-items:start;grid-template-columns:minmax(0,1fr) 300px}.radar-canvas{aspect-ratio:1;background:#0b0d12;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;margin:0 auto;overflow:hidden;position:relative;width:min(100%,740px)}.radar-canvas:after,.radar-canvas:before{background:#ffffff1f;content:"";inset:50% auto auto 50%;position:absolute;transform:translate(-50%,-50%)}.radar-canvas:before{height:100%;width:1px}.radar-canvas:after{height:1px;width:100%}.radar-center{background:#07080be6;border:1px solid #2dd4bf8a;border-radius:8px;color:#f7f7fb;color:var(--text);display:grid;left:50%;min-height:118px;padding:18px;place-items:center;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:152px;z-index:3}.radar-center em,.radar-center span{color:#b8c0cc;color:var(--muted);font-size:.78rem;font-style:normal;font-weight:700}.radar-center strong{color:#2dd4bf;color:var(--mint);font-size:.95rem}.radar-ring{border:1px solid #ffffff1f;border-radius:50%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.radar-ring-1{height:244px;width:244px}.radar-ring-2{height:354px;width:354px}.radar-ring-3{height:464px;width:464px}.radar-ring-4{height:574px;width:574px}.radar-ring-5{height:684px;width:684px}.radar-chip{background:#10131aeb;border:1px solid #ffffff29;border-radius:8px;color:#f7f7fb;color:var(--text);cursor:pointer;font:inherit;font-size:.68rem;font-weight:800;left:50%;line-height:1.15;max-width:86px;min-height:28px;overflow-wrap:anywhere;padding:5px 7px;position:absolute;top:50%;transform:rotate(var(--angle)) translate(var(--radius)) rotate(var(--reverse-angle)) translate(-50%,-50%);transition:border-color .18s ease,color .18s ease,transform .18s ease;z-index:4}.radar-chip:focus-visible,.radar-chip:hover{border-color:currentColor;outline:none}.tone-mint{color:#2dd4bf;color:var(--mint)}.tone-amber{color:#fbbf24;color:var(--amber)}.tone-cyan{color:#38bdf8;color:var(--cyan)}.tone-rose{color:#fb7185;color:var(--rose)}.tone-violet{color:#a78bfa;color:var(--violet)}.radar-readout{padding:22px}.ring-summary{grid-gap:10px;display:grid;gap:10px;margin-top:22px}.ring-summary-row{align-items:center;background:#ffffff0d;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;display:flex;font-size:.86rem;font-weight:800;gap:12px;justify-content:space-between;min-height:38px;padding:8px 10px}.radar-mobile-list{display:none}.evolution-track{grid-gap:18px;display:grid;gap:18px;position:relative}.evolution-track:before{background:#ffffff1f;background:var(--line);bottom:0;content:"";left:50%;position:absolute;top:0;width:1px}.evolution-item{align-items:center;background:#10131ae0;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;display:grid;min-height:170px;padding:22px;position:relative;transition:opacity .22s ease,transform .22s ease;width:min(520px,calc(50% - 42px))}.evolution-item:focus-within,.evolution-item:hover{opacity:.92;transform:translateY(-2px)}.evolution-item:nth-child(2n){justify-self:end}.evolution-item h3{color:#f7f7fb;color:var(--text);font-size:1.45rem;margin:0 0 10px}.evolution-item p{margin:0}.evolution-marker{background:#2dd4bf;background:var(--mint);border:3px solid #07080b;border:3px solid var(--bg);border-radius:50%;height:16px;position:absolute;top:26px;width:16px}.evolution-item:nth-child(odd) .evolution-marker{right:-50px}.evolution-item:nth-child(2n) .evolution-marker{background:#fbbf24;background:var(--amber);left:-50px}.contact-section{grid-gap:28px;align-items:center;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) auto;padding-bottom:120px}.contact-copy{max-width:720px}.contact-copy p{font-size:1.05rem;margin:18px 0 0}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.entry-spacer{display:block;height:50vh;position:relative;width:100%;z-index:30}.project-section{padding-bottom:96px}@media (max-width:900px){.site-header{gap:8px;grid-template-columns:1fr;padding:12px 16px}.header-left{justify-self:start}.header-center{flex-wrap:wrap;gap:10px;justify-content:center;order:2}.header-right{justify-self:end}.nav-link.MuiButton-root{font-size:.9rem;padding:8px 10px}}.resume-drawer{background:#10131a!important;background:var(--surface)!important;border-left:1px solid #ffffff1f;border-left:1px solid var(--line);color:#f7f7fb!important;color:var(--text)!important;width:min(420px,100vw)}.resume-drawer-content{align-content:center;display:grid;min-height:100%;padding:34px}.drawer-title{color:#f7f7fb;color:var(--text);font-size:2.25rem;font-weight:900;line-height:1.1;margin:0}.drawer-copy{color:#b8c0cc;color:var(--muted);line-height:1.65;margin:18px 0 0}.drawer-actions{grid-gap:10px;display:grid;gap:10px;margin-top:28px}.language-bar-container{background:#ffffff0a;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:14px}.language-bar-label{color:#f7f7fb;color:var(--text);font-family:Space Mono,Roboto Mono,JetBrains Mono,monospace;font-family:var(--shell-font);font-size:.78rem;font-weight:800;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.language-bar-wrapper{margin-bottom:10px}.language-bar{border:1px solid #ffffff1a;border-radius:4px;box-shadow:inset 0 0 8px #0006;display:flex;height:8px;overflow:hidden}.language-segment{flex:1 1;min-width:1px;transition:opacity .2s ease}.language-segment:hover{opacity:.8}.language-legend{grid-gap:6px;display:grid;gap:6px}.legend-item{align-items:center;color:#b8c0cc;color:var(--muted);display:flex;font-family:Space Mono,Roboto Mono,JetBrains Mono,monospace;font-family:var(--shell-font);font-size:.75rem;gap:8px}.legend-color{border-radius:2px;flex-shrink:0;height:10px;width:10px}.legend-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-percentage{color:#f7f7fb;color:var(--text);font-weight:700;min-width:32px;text-align:right}.drawer-title,.eyebrow,.focus-strip span,.hero-title,.mobile-tech-group span,.nav-link.MuiButton-root,.panel-kicker,.panel-title,.primary-action.MuiButton-root,.project-meta-row span,.project-satellite,.resume-trigger.MuiButton-root,.secondary-action.MuiButton-root,.section-title,.stack-list span,.terminal-name{font-family:Space Mono,Roboto Mono,JetBrains Mono,monospace,sans-serif;font-family:var(--shell-font),sans-serif}.project-satellite{box-shadow:0 0 0 1px #ffffff14,inset 0 1px 0 #ffffff1a;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .2s ease}.project-satellite.is-active,.project-satellite:focus-visible,.project-satellite:hover{box-shadow:0 0 16px #fbbf245c,inset 0 1px 0 #ffffff29,0 0 24px #fbbf241f}.project-satellite.is-active .orbit-dot,.project-satellite:focus-visible .orbit-dot,.project-satellite:hover .orbit-dot{filter:brightness(1.4) drop-shadow(0 0 6px currentColor)}.radar-chip{box-shadow:0 0 0 1px #ffffff14;transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .2s ease}.radar-chip:focus-visible,.radar-chip:hover{box-shadow:0 0 12px #38bdf8,0 0 24px #38bdf82e,inset 0 0 8px #ffffff0f;box-shadow:0 0 12px var(--cyan),0 0 24px #38bdf82e,inset 0 0 8px #ffffff0f}.tone-mint:focus-visible,.tone-mint:hover{box-shadow:0 0 12px #2dd4bf,0 0 24px #2dd4bf2e,inset 0 0 8px #ffffff0f!important;box-shadow:0 0 12px var(--mint),0 0 24px #2dd4bf2e,inset 0 0 8px #ffffff0f!important}.tone-amber:focus-visible,.tone-amber:hover{box-shadow:0 0 12px #fbbf24,0 0 24px #fbbf242e,inset 0 0 8px #ffffff0f!important;box-shadow:0 0 12px var(--amber),0 0 24px #fbbf242e,inset 0 0 8px #ffffff0f!important}.tone-rose:focus-visible,.tone-rose:hover{box-shadow:0 0 12px #fb7185,0 0 24px #fb71852e,inset 0 0 8px #ffffff0f!important;box-shadow:0 0 12px var(--rose),0 0 24px #fb71852e,inset 0 0 8px #ffffff0f!important}.tone-violet:focus-visible,.tone-violet:hover{box-shadow:0 0 12px #a78bfa,0 0 24px #a78bfa2e,inset 0 0 8px #ffffff0f!important;box-shadow:0 0 12px var(--violet),0 0 24px #a78bfa2e,inset 0 0 8px #ffffff0f!important}.primary-action.MuiButton-root,.secondary-action.MuiButton-root{box-shadow:0 0 0 1px #ffffff1a,inset 0 1px 0 #ffffff1f;transition:box-shadow .2s ease}.primary-action.MuiButton-root:hover{box-shadow:0 0 0 1px #5eead480,0 0 12px #2dd4bf3d,inset 0 1px 0 #ffffff2e}.secondary-action.MuiButton-root:hover{box-shadow:0 0 0 1px #ffffff47,0 0 12px #38bdf81f,inset 0 1px 0 #ffffff29}.project-detail-panel{box-shadow:0 0 0 1px #ffffff1f;box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s ease,border-color .2s ease}.project-detail-panel:hover{box-shadow:0 0 0 1px #ffffff1f,0 0 24px #38bdf814;box-shadow:0 0 0 1px var(--line),0 0 24px #38bdf814}.radar-readout{box-shadow:0 0 0 1px #ffffff1f;box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s ease,border-color .2s ease}.radar-readout:hover{box-shadow:0 0 0 1px #ffffff1f,0 0 24px #38bdf814;box-shadow:0 0 0 1px var(--line),0 0 24px #38bdf814}.scroll-sparkle-layer{height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:10}.scroll-sparkle{animation:scroll-sparkle-float 1.2s ease-out forwards;background:#fbbf24;background:var(--amber);border-radius:50%;box-shadow:0 0 8px #fbbf24;box-shadow:0 0 8px var(--amber);height:4px;pointer-events:none;position:fixed;width:4px}@keyframes scroll-sparkle-float{0%{opacity:1;transform:translateY(0) translateX(0) scale(1)}to{opacity:0;transform:translateY(-40px) translateX(var(--sparkle-drift)) scale(0)}}::-webkit-scrollbar-track{background:#0b0d12}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#07080bb8}::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:8px;-webkit-transition:box-shadow .18s ease,background .18s ease;transition:box-shadow .18s ease,background .18s ease}body.scrolling-active::-webkit-scrollbar-thumb{background:#2dd4bfc7;box-shadow:0 0 16px #2dd4bf66}body{scrollbar-width:thin}body,body.scrolling-active{scrollbar-color:#2dd4bfc7 #07080bb8}@keyframes button-shine{0%{transform:translateX(0) rotate(22deg)}42%,to{transform:translateX(260px) rotate(22deg)}}@keyframes sparkle-pop{0%{opacity:0;transform:scale(.2)}36%{opacity:1;transform:scale(1.8)}to{opacity:0;transform:scale(.4) translateY(-24px)}}@keyframes rocket-path{0%{transform:translateZ(0) rotate(-12deg)}to{transform:translate3d(118vw,-58vh,0) rotate(-20deg)}}@keyframes entry-flash{0%,54%{opacity:0}72%{opacity:.72}to{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width:1080px){.contact-section,.project-orbit-layout,.radar-layout{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}}@media (max-width:900px){.desktop-nav,.landing-navbar nav .landing-link:nth-child(n+5){display:none}.landing-content h1{font-size:3.35rem}.hero-title{font-size:3.6rem}.section-title{font-size:2.35rem}.orbit-stage{min-height:600px;overflow:visible;padding:28px 16px}.project-satellite.orbit-inner{transform:rotate(var(--angle)) translate(188px) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-satellite.orbit-outer{transform:rotate(var(--angle)) translate(248px) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-insights{grid-template-columns:1fr}.radar-layout{display:block}.radar-canvas,.radar-readout{display:none}.radar-mobile-list{grid-gap:14px;display:grid;gap:14px}.mobile-tech-group{background:#10131ae6;border:1px solid #ffffff1f;border:1px solid var(--line);border-radius:8px;padding:18px}.mobile-tech-group h3{font-size:1.05rem;margin:0 0 12px}.mobile-tech-group div{display:flex;flex-wrap:wrap;gap:8px}.evolution-track:before{left:8px}.evolution-item,.evolution-item:nth-child(2n){justify-self:end;width:calc(100% - 34px)}.evolution-item:nth-child(2n) .evolution-marker,.evolution-item:nth-child(odd) .evolution-marker{left:-34px;right:auto}}@media (max-width:620px){.site-header{top:10px;width:calc(100% - 20px)}.landing-gate{padding:106px 18px 48px}.landing-navbar{top:14px;width:calc(100% - 28px)}.landing-navbar nav .landing-link:nth-child(n+4){display:none}.landing-brand{font-size:.82rem}.landing-link.MuiButton-root{font-size:.78rem;min-width:0;padding:7px 8px}.landing-content h1{font-size:2.7rem}.landing-content p:not(.eyebrow){font-size:1rem}.hero-section{min-height:91svh;padding:116px 18px 54px}.hero-title{font-size:2.8rem}.hero-copy{font-size:1rem}.section-shell{padding:68px 0;width:calc(100% - 28px)}.section-title{font-size:2rem}.resume-drawer-content,.terminal-body{padding:24px}.terminal-focus{grid-template-columns:1fr}.orbit-stage{min-height:540px;overflow:visible}.orbit-core{height:124px;width:124px}.project-satellite{font-size:.82rem;padding:7px 12px}.project-satellite.orbit-inner{transform:rotate(var(--angle)) translate(150px) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-satellite.orbit-outer{transform:rotate(var(--angle)) translate(198px) rotate(var(--reverse-angle)) translate(-50%,-50%)}.project-satellite .orbit-dot{display:none}.project-visual-fallback strong{font-size:1.5rem}.panel-title{font-size:1.65rem}.contact-section{padding-bottom:80px}}
/*# sourceMappingURL=main.1a198410.css.map*/