body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{scroll-behavior:smooth}*{box-sizing:border-box}.portfolio-app{--bg:#090f16;--surface:#111b24e0;--surface-strong:#172635eb;--surface-soft:#203142;--text:#edf4f8;--muted:#9db0bf;--border:#ffffff1f;--accent:#2f80ed;--accent-2:#f26d4f;--accent-3:#28d7a4;--game-yellow:#ffd166;--game-purple:#9b5cff;background:radial-gradient(circle at 14% 10%,#2f80ed57,#0000 26rem),radial-gradient(circle at 86% 18%,#f26d4f3d,#0000 24rem),radial-gradient(circle at 50% 85%,#28d7a429,#0000 30rem),linear-gradient(140deg,#090f16,#111b24 52%,#0b1117);color:var(--text);min-height:100vh;overflow-x:hidden}.game-sky,.scanline-layer,.star-layer{inset:0;pointer-events:none;position:fixed}.game-sky{overflow:hidden;z-index:0}.star-layer{background-repeat:repeat;opacity:.72}.star-layer-a{animation:stars-scroll-a 30s linear infinite;background-image:radial-gradient(circle,#ffffffc7 1px,#0000 1.7px),radial-gradient(circle,#28d7a485 1px,#0000 1.7px);background-size:96px 96px,148px 148px}.star-layer-b{animation:stars-scroll-b 45s linear infinite;background-image:radial-gradient(circle,#ffd1668f 1px,#0000 1.8px),radial-gradient(circle,#9b5cff7a 1px,#0000 1.8px);background-size:182px 182px,244px 244px}.scanline-layer{background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.035) 1px,#0000 0,#0000 7px);mix-blend-mode:overlay;opacity:.16}.game-hud{align-items:center;color:var(--text);display:flex;font-size:.72rem;font-weight:900;gap:10px;letter-spacing:0;position:fixed;right:18px;text-transform:uppercase;top:12px;z-index:1501}.game-hud span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090f16b8;border:1px solid #ffffff2e;border-radius:999px;box-shadow:0 0 18px #2f80ed38;padding:7px 10px}.theme-light .game-hud span{background:#ffffffc2}.collectible{background:var(--game-yellow);clip-path:polygon(50% 0,62% 35%,100% 35%,68% 57%,80% 100%,50% 72%,20% 100%,32% 57%,0 35%,38% 35%);filter:drop-shadow(0 0 12px rgba(255,209,102,.9));height:18px;pointer-events:none;position:fixed;width:18px;z-index:1}.collectible-a{animation:collectible-float 7s ease-in-out infinite;left:18vw;top:22vh}.collectible-b{animation:collectible-float 8.5s ease-in-out 1s infinite;right:14vw;top:42vh}.collectible-c{animation:collectible-float 9.5s ease-in-out .4s infinite;bottom:16vh;left:54vw}.scroll-progress{background:linear-gradient(90deg,var(--accent),var(--accent-3),var(--game-yellow),var(--accent-2));box-shadow:0 0 22px #2f80ed8c;height:4px;left:0;position:fixed;right:0;top:0;transform-origin:left center;z-index:1500}.presentation-orbit{border:1px solid #ffffff29;border-radius:999px;mix-blend-mode:screen;pointer-events:none;position:fixed;z-index:0}.presentation-orbit-a{animation:orbit-a 22s ease-in-out infinite;aspect-ratio:1;left:-12vw;top:18vh;width:min(44vw,540px)}.presentation-orbit-b{animation:orbit-b 18s ease-in-out infinite;aspect-ratio:1;bottom:10vh;right:-9vw;width:min(34vw,420px)}.portfolio-app:before{animation:stage-drift 18s linear infinite;background-image:linear-gradient(hsla(0,0%,100%,.055) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.055) 1px,#0000 0);background-size:72px 72px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at center,#000,#0000 78%);mask-image:radial-gradient(circle at center,#000,#0000 78%);opacity:.42;pointer-events:none;position:fixed;z-index:0}.portfolio-app.theme-light{--bg:#f7f3ee;--surface:#ffffffeb;--surface-strong:#edf2f6f0;--surface-soft:#dde8ef;--text:#15202b;--muted:#5d6a76;--border:#15202b21;background:radial-gradient(circle at 14% 10%,#2f80ed2e,#0000 26rem),radial-gradient(circle at 86% 18%,#f26d4f2e,#0000 24rem),radial-gradient(circle at 50% 85%,#28d7a424,#0000 30rem),linear-gradient(140deg,#f7f3ee,#eef5f7 52%,#fbfaf7)}.section{align-items:center;background:#0000;color:var(--text);display:flex;isolation:isolate;min-height:calc(100vh - 64px);padding:clamp(72px,9vw,128px) clamp(20px,5vw,72px);perspective:1400px;position:relative;transition:opacity .65s cubic-bezier(.2,.85,.25,1),transform .65s cubic-bezier(.2,.85,.25,1),filter .65s ease}.section,.section.is-visible{filter:saturate(1);opacity:1;transform:translateY(0) scale(1)}.section:after{color:#ffffff1f;content:"LEVEL " counter(section-level,decimal-leading-zero);counter-increment:section-level;font-size:clamp(2.8rem,8vw,7rem);font-weight:1000;left:clamp(32px,6vw,88px);letter-spacing:0;line-height:1;pointer-events:none;position:absolute;top:clamp(28px,5vw,62px);transform:skew(-8deg);z-index:0}.portfolio-app{counter-reset:section-level}.animations-ready .section:not(.is-visible){filter:saturate(.78);opacity:.46;transform:translateY(34px) scale(.96)}.section:before{background:linear-gradient(135deg,#ffffff1a,#0000 32%),linear-gradient(315deg,#2f80ed21,#0000 40%),hsla(0,0%,100%,.025);border:1px solid var(--border);border-radius:22px;box-shadow:inset 0 1px 0 #ffffff14,0 0 0 4px rgba(47,128,237,.035);content:"";inset:clamp(18px,4vw,44px);position:absolute;transform:rotate(var(--section-tilt,-.5deg));transition:transform .75s cubic-bezier(.2,.85,.25,1),border-color .75s ease,box-shadow .75s ease;z-index:-1}.section.is-visible:before{border-color:#2f80ed57;box-shadow:inset 0 1px 0 #ffffff1f,0 0 0 4px rgba(40,215,164,.055),0 24px 90px #00000029,0 0 90px #2f80ed2e;transform:rotate(0deg) scale(1.01)}.section:nth-of-type(2n):before{--section-tilt:0.7deg}.section-alt{background:linear-gradient(125deg,#2f80ed1a,#0000 36%),linear-gradient(315deg,#28d7a414,#0000 42%)}.section-anchor{position:absolute;top:-72px}.section-inner{margin:0 auto;opacity:1;transform:translateZ(0) rotateX(0deg) scale(1);transform-origin:center;transition:opacity .7s cubic-bezier(.2,.85,.25,1),transform .7s cubic-bezier(.2,.85,.25,1);width:min(1120px,100%)}.section.is-visible .section-inner{opacity:1;transform:translateZ(0) rotateX(0deg) scale(1)}.animations-ready .section:not(.is-visible) .section-inner{opacity:0;transform:translate3d(0,30px,-120px) rotateX(5deg) scale(.94)}.eyebrow{align-items:center;background:#ffd16614;border:1px solid #ffd16657;border-radius:999px;box-shadow:0 0 22px #ffd1661f;color:var(--game-yellow);display:inline-flex;font-size:.78rem;font-weight:800;gap:8px;letter-spacing:0;margin-bottom:12px;padding:7px 11px;text-transform:uppercase}.eyebrow:before{animation:hud-blink 1.8s steps(2) infinite;background:var(--accent-3);border-radius:2px;box-shadow:0 0 12px var(--accent-3);content:"";height:8px;width:8px}.section-title{color:var(--text);font-weight:800!important;letter-spacing:0!important;margin-bottom:18px!important}.section-copy{color:var(--muted);line-height:1.75!important}.hero{min-height:calc(100vh - 64px)}.hero:after{animation:orbit-focus 9s ease-in-out infinite;aspect-ratio:1;border:1px solid #2f80ed57;border-radius:999px;box-shadow:0 0 0 28px #2f80ed0a;content:"";position:absolute;right:clamp(24px,8vw,120px);top:clamp(70px,14vw,150px);width:min(26vw,320px);z-index:-1}.hero-grid{align-items:center}.hero-title{text-wrap:balance;animation:title-sheen 7s ease-in-out infinite;background:linear-gradient(115deg,var(--text),#96c7ff 44%,#ffd1c6 72%,var(--text));-webkit-background-clip:text;background-size:220% 100%;color:var(--text);color:#0000;font-weight:900!important;letter-spacing:0!important}.hero-subtitle{color:var(--muted);line-height:1.7!important;margin-top:22px!important;max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions .MuiButton-root{border:1px solid #ffffff2e;border-radius:10px;box-shadow:0 18px 42px #2f80ed2e;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-actions .MuiButton-root:hover{box-shadow:0 24px 52px #2f80ed47;transform:translateY(-4px) scale(1.02)}.portrait-frame{animation:portrait-float 7s ease-in-out infinite;aspect-ratio:4/5;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 70px #00000052;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);margin:0 auto;overflow:hidden;position:relative;transform:rotate(2deg);transition:transform .24s ease,box-shadow .24s ease;width:min(360px,76vw)}.portrait-frame:after{animation:image-scan 5.5s ease-in-out infinite;background:linear-gradient(115deg,#0000 18%,#ffffff38,#0000 34%);content:"";inset:0;position:absolute;transform:translateX(-120%)}.portrait-frame:hover{box-shadow:0 34px 82px #0000006b;transform:rotate(0deg) translateY(-6px) scale(1.02)}.portrait-frame img{display:block;height:100%;object-fit:cover;width:100%}.metric-grid{margin-top:34px!important}.metric{border-top:1px solid var(--border);opacity:1;padding-top:16px;transform:translateY(0);transition:transform .18s ease,border-color .18s ease}.section.is-visible .metric{opacity:1;transform:translateY(0);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.85,.25,1),border-color .18s ease}.animations-ready .section:not(.is-visible) .metric{opacity:0;transform:translateY(14px)}.metric:hover{border-color:var(--accent-3);transform:translateY(-4px)}.metric strong{color:var(--text);display:block;font-size:1.65rem;line-height:1}.metric span{color:var(--muted);font-size:.9rem}.panel,.project-card,.skill-card,.timeline-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 54px #0003;color:var(--text);height:100%;overflow:hidden;position:relative;transition:transform .19s ease,border-color .19s ease,box-shadow .19s ease}.panel:before,.project-card:before,.skill-card:before,.timeline-card:before{background:linear-gradient(90deg,#2f80ed2e,#0000 34%),linear-gradient(180deg,hsla(0,0%,100%,.055),#0000 28%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .24s ease}.section.is-visible .panel:before,.section.is-visible .project-card:before,.section.is-visible .skill-card:before,.section.is-visible .timeline-card:before{animation:panel-power-up .9s ease both}.panel,.timeline-card{opacity:1;transform:translateY(0) scale(1)}.section.is-visible .panel,.section.is-visible .timeline-card{opacity:1;transform:translateY(0) scale(1);transition:opacity .56s ease,transform .56s cubic-bezier(.2,.85,.25,1),border-color .19s ease,box-shadow .19s ease}.animations-ready .section:not(.is-visible) .panel,.animations-ready .section:not(.is-visible) .timeline-card{opacity:0;transform:translateY(26px) scale(.96)}.panel:hover,.project-card:hover,.skill-card:hover,.timeline-card:hover{border-color:#2f80ed75;box-shadow:0 26px 68px #00000047;transform:translateY(-6px) scale(1.01)}.section.is-visible .panel:hover,.section.is-visible .project-card:hover,.section.is-visible .skill-card:hover,.section.is-visible .timeline-card:hover{transform:translateY(-6px) scale(1.01)}.panel{padding:clamp(22px,4vw,34px)}.panel-list{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:0;padding:0}.panel-list li{color:var(--muted);line-height:1.65}.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.chip-row .MuiChip-root{border-radius:999px;transition:transform .16s ease,background-color .16s ease}.chip-row .MuiChip-root:hover{background-color:#2f80ed24;transform:translateY(-3px)}.project-card,.skill-card,.timeline-card{padding:22px}.timeline-date{color:var(--game-yellow);font-size:.86rem;font-weight:800}.timeline-company{color:var(--text);font-size:1rem!important;font-weight:850!important;margin:-8px 0 6px!important}.timeline-role{color:var(--muted);margin:6px 0!important}.timeline-meta{color:var(--muted);font-size:.9rem!important;margin-bottom:12px!important}.timeline-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.timeline-tags span{background:#28d7a414;border:1px solid #28d7a447;border-radius:999px;color:var(--accent-3);font-size:.72rem;font-weight:800;padding:5px 8px;text-transform:uppercase}.theme-light .timeline-tags span{background:#28d7a424;color:#0b7f62}.timeline-list{color:var(--muted);line-height:1.65;margin:0;padding-left:18px}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 34px #0000001f;color:var(--text);font-size:1rem;max-width:520px;outline:none;padding:14px 18px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #2f80ed33,0 18px 42px #0000002e;transform:translateY(-3px)}.skill-card{align-items:center;display:flex;gap:14px;opacity:1;transform:translateY(0) scale(1)}.section.is-visible .skill-card{opacity:1;transform:translateY(0) scale(1);transition:opacity .52s ease,transform .52s cubic-bezier(.2,.85,.25,1),border-color .19s ease,box-shadow .19s ease}.animations-ready .section:not(.is-visible) .skill-card{opacity:0;transform:translateY(18px) scale(.94)}.skill-card img{background:#fff;border-radius:10px;height:42px;object-fit:contain;padding:4px;transition:transform .22s ease;width:42px}.skill-card:hover img{transform:scale(1.14) rotate(-5deg)}.skill-card span{font-weight:750}@media (max-width:899px){.game-hud{bottom:auto;font-size:.62rem;right:10px;top:70px}.game-hud span{padding:5px 7px}.collectible-b,.collectible-c,.game-hud span:nth-child(2),.presentation-orbit{display:none}.star-layer{opacity:.38}.scanline-layer{opacity:.08}.portfolio-app:before{background-size:44px 44px;opacity:.2}.collectible{height:13px;width:13px}.section:after{font-size:clamp(2rem,13vw,3.4rem);left:20px;opacity:.72;top:24px}.section{min-height:auto;padding:68px 14px 54px}.section:before{border-radius:16px;inset:8px;transform:none}.section.is-visible:before{box-shadow:inset 0 1px 0 #ffffff1f,0 14px 46px #00000029;transform:none}.section-inner{width:100%}.section-inner>.section-title{font-size:clamp(1.8rem,8vw,2.5rem)!important;line-height:1.08!important}.section-copy{font-size:.98rem!important;line-height:1.62!important}.eyebrow{font-size:.68rem;margin-bottom:14px;max-width:100%;padding:6px 9px}.hero{min-height:auto}.hero:after{opacity:.55;right:-70px;top:96px;width:170px}.hero-grid{text-align:left}.hero-title{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:1.02!important}.hero-subtitle{font-size:1rem!important;line-height:1.58!important;margin-top:16px!important}.hero-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr;margin-top:22px}.hero-actions .MuiButton-root{justify-content:center;min-height:46px;width:100%}.portrait-frame{animation:none;margin-top:18px;transform:none;width:min(260px,70vw)}.metric-grid{margin-top:24px!important}.metric{padding-top:12px}.metric strong{font-size:1.35rem}.panel,.project-card,.skill-card,.timeline-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 12px 32px #0000002e}.panel,.project-card,.timeline-card{padding:16px}.timeline-card .section-title{font-size:1.18rem!important;line-height:1.22!important;margin-bottom:12px!important}.timeline-company{font-size:.94rem!important;margin-top:-4px!important}.timeline-meta{font-size:.82rem!important}.timeline-tags{gap:6px}.timeline-tags span{font-size:.62rem;padding:4px 6px}.timeline-list{font-size:.92rem;line-height:1.55;padding-left:16px}.skill-card{min-height:64px;padding:14px}.skill-card img{height:36px;width:36px}.search-input{font-size:16px;max-width:none}}@media (max-width:599px){.MuiAppBar-root{margin-left:0!important;width:100%!important}.MuiToolbar-root{min-height:56px!important;padding-left:12px!important;padding-right:12px!important}.scroll-progress{height:3px}.game-hud{display:none}.section{padding:62px 10px 44px}.section:before{inset:6px}.section:after{font-size:clamp(1.8rem,12vw,3rem);left:14px;top:18px}.section-title{margin-bottom:14px!important}.hero-title{font-size:clamp(1.85rem,9.5vw,2.85rem)!important}.portrait-frame{width:min(230px,66vw)}.collectible{display:none}}@keyframes title-sheen{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes portrait-float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes orbit-focus{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(-24px,22px,0) rotate(18deg) scale(1.08)}}@keyframes stage-drift{0%{background-position:0 0,0 0}to{background-position:72px 72px,72px 72px}}@keyframes stars-scroll-a{0%{background-position:0 0,0 0}to{background-position:-192px 240px,148px 296px}}@keyframes stars-scroll-b{0%{background-position:0 0,0 0}to{background-position:364px -182px,-244px 244px}}@keyframes collectible-float{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(18px,-24px,0) rotate(18deg) scale(1.2)}}@keyframes hud-blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes image-scan{0%,42%{transform:translateX(-130%)}62%{transform:translateX(130%)}to{transform:translateX(130%)}}@keyframes panel-power-up{0%{opacity:0;transform:translateX(-26%)}35%{opacity:.7}to{opacity:0;transform:translateX(42%)}}@keyframes orbit-a{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(10vw,8vh,0) rotate(18deg) scale(1.12)}}@keyframes orbit-b{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(-8vw,-6vh,0) rotate(-16deg) scale(.9)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}