:root{--transition-fast:0.2s;--transition-normal:0.3s;--transition-slow:0.5s;--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--text-xs:clamp(0.72rem,0.7rem + 0.1vw,0.78rem);--text-sm:clamp(0.84rem,0.8rem + 0.15vw,0.92rem);--text-base:clamp(0.95rem,0.9rem + 0.2vw,1.05rem);--text-lg:clamp(1.1rem,1rem + 0.4vw,1.3rem);--text-xl:clamp(1.35rem,1.15rem + 0.8vw,1.75rem);--text-2xl:clamp(1.75rem,1.35rem + 1.8vw,2.75rem);--text-3xl:clamp(2.25rem,1.5rem + 3.4vw,4rem);--text-4xl:clamp(2.75rem,1.4rem + 6vw,6.5rem);--space-section:clamp(6rem,12vh,11rem);--space-gutter:clamp(1.25rem,4vw,3rem);--content-max:1200px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px}:root,[data-theme=dark]{--bg-primary:#05060a;--bg-secondary:#070810;--bg-tertiary:#090b14;--bg-card:#131621a8;--bg-card-hover:#1b1f2ed1;--bg-card-solid:#10121c;--bg-navbar:#0a0c1499;--bg-elevated:#ffffff0d;--text-primary:#f4f6fb;--text-secondary:#a2a9bd;--text-muted:#676e85;--accent-green:#4ade80;--accent-green-dark:#22c55e;--accent-green-soft:#4ade8024;--accent-cyan:#22d3ee;--accent-violet:#a78bfa;--accent-yellow:#fde047;--accent-pink:#f472b6;--border-color:#ffffff14;--border-color-light:#ffffff29;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 60px #0000008c;--shadow-glow-green:0 0 40px #4ade8040;--gradient-hero:linear-gradient(180deg,#05060a,#070810);--particle-color:#4ade80;--atm-base:#05060a;--atm-aurora-1:#4ade8029;--atm-aurora-2:#22d3ee1c;--atm-aurora-3:#a78bfa1a;--atm-grid:hsla(0,0%,100%,.028);--atm-grain-opacity:0.038}[data-theme=light]{--bg-primary:#fbfbfd;--bg-secondary:#f6f7f9;--bg-tertiary:#f1f3f6;--bg-card:#fffc;--bg-card-hover:#fffffff2;--bg-card-solid:#fff;--bg-navbar:#ffffffb3;--bg-elevated:#fffc;--text-primary:#0d1117;--text-secondary:#4a5261;--text-muted:#838b9c;--accent-green:#16a34a;--accent-green-dark:#15803d;--accent-green-soft:#16a34a1f;--accent-cyan:#0891b2;--accent-violet:#7c3aed;--accent-yellow:#ca8a04;--accent-pink:#db2777;--border-color:#0d111717;--border-color-light:#0d111729;--shadow-sm:0 2px 8px #0d11170f;--shadow-md:0 8px 28px #0d111717;--shadow-lg:0 24px 60px #0d11171f;--shadow-glow-green:0 0 40px #16a34a2e;--gradient-hero:linear-gradient(180deg,#fbfbfd,#f6f7f9);--particle-color:#16a34a;--atm-base:#fbfbfd;--atm-aurora-1:#16a34a21;--atm-aurora-2:#0891b21a;--atm-aurora-3:#7c3aed14;--atm-grid:rgba(13,17,23,.035);--atm-grain-opacity:0.022}*{box-sizing:border-box}html{background:var(--atm-base);scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0000;color:var(--text-primary);font-family:Poppins,system-ui,-apple-system,sans-serif;line-height:1.6;margin:0;overflow-x:hidden;text-rendering:optimizeLegibility}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html.theme-transition,html.theme-transition *,html.theme-transition :after,html.theme-transition :before{transition:background-color .35s ease,border-color .35s ease,color .35s ease,fill .35s ease,box-shadow .35s ease!important;transition-delay:0s!important}::selection{background:var(--accent-green);color:var(--bg-primary)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border-color-light);background-clip:content-box;border:3px solid #0000;border-radius:999px;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--accent-green);background-clip:content-box}a{transition:color .3s ease;transition:color var(--transition-normal) ease}.section-shell{background:#0000;padding-block:clamp(6rem,12vh,11rem);padding-block:var(--space-section);padding-inline:clamp(1.25rem,4vw,3rem);padding-inline:var(--space-gutter);position:relative;width:100%}.section-inner{margin:0 auto;max-width:1200px;max-width:var(--content-max);position:relative;z-index:2}.section-eyebrow{align-items:center;color:var(--accent-green);display:inline-flex;font-size:clamp(.72rem,.7rem + .1vw,.78rem);font-size:var(--text-xs);font-weight:600;gap:.6rem;letter-spacing:.18em;margin-bottom:1rem;text-transform:uppercase}.section-eyebrow:before{background:linear-gradient(90deg,#0000,var(--accent-green));content:"";height:1px;width:28px}.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1);transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo),filter .9s var(--ease-out-expo);transition-delay:0ms;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal[data-animation=fade]{transform:none}.reveal[data-animation=left]{transform:translate3d(-36px,0,0)}.reveal[data-animation=right]{transform:translate3d(36px,0,0)}.reveal[data-animation=scale]{transform:scale(.94)}.reveal[data-animation=blur]{filter:blur(10px);transform:translate3d(0,18px,0)}.reveal.is-revealed{filter:none;opacity:1;transform:none}.section-relative{position:relative}.sticker-container{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:1}@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}.reveal{filter:none;opacity:1;transform:none}}@media (max-width:768px){:root{--space-section:3.25rem;--space-gutter:1.15rem;--text-2xl:1.5rem;--text-3xl:1.85rem;--text-4xl:2.9rem}.section-eyebrow{font-size:.62rem;letter-spacing:.14em;margin-bottom:.6rem}.reveal{transform:translate3d(0,16px,0);transition-duration:.6s}}:focus-visible{border-radius:4px;outline:2px solid var(--accent-green);outline-offset:3px}.atmosphere{--scroll-progress:0;inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:-1}.atm-base{background:radial-gradient(120% 80% at 50% 0,color-mix(in srgb,var(--atm-base) 88%,var(--accent-green) 12%) 0,var(--atm-base) 55%),var(--atm-base);inset:0;position:absolute}@supports not (background:color-mix(in srgb,red 50%,blue)){.atm-base{background:var(--atm-base)}}.atm-aurora{inset:-20%;transform:translateZ(0)}.atm-aurora,.atm-blob{position:absolute;will-change:transform}.atm-blob{border-radius:50%;display:block}.atm-blob-1{animation:atm-drift-1 34s var(--ease-in-out) infinite;background:radial-gradient(circle at 50% 50%,var(--atm-aurora-1) 0,#0000 78%);height:52vw;left:-8%;min-height:420px;min-width:420px;top:-6%;width:52vw}.atm-blob-2{animation:atm-drift-2 43s var(--ease-in-out) infinite;background:radial-gradient(circle at 50% 50%,var(--atm-aurora-2) 0,#0000 78%);height:46vw;min-height:380px;min-width:380px;right:-10%;top:22%;width:46vw}.atm-blob-3{animation:atm-drift-3 38s var(--ease-in-out) infinite;background:radial-gradient(circle at 50% 50%,var(--atm-aurora-3) 0,#0000 78%);bottom:-12%;height:44vw;left:26%;min-height:360px;min-width:360px;width:44vw}@keyframes atm-drift-1{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(12vw,8vh,0) scale(1.14)}66%{transform:translate3d(4vw,18vh,0) scale(.92)}}@keyframes atm-drift-2{0%,to{transform:translateZ(0) scale(1)}40%{transform:translate3d(-14vw,12vh,0) scale(1.18)}70%{transform:translate3d(-6vw,-6vh,0) scale(.9)}}@keyframes atm-drift-3{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(10vw,-14vh,0) scale(1.2)}}.atm-grid{background-image:linear-gradient(var(--atm-grid) 1px,#0000 1px),linear-gradient(90deg,var(--atm-grid) 1px,#0000 1px);background-size:64px 64px;inset:0;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 45%,#000 20%,#0000 78%);mask-image:radial-gradient(ellipse 90% 70% at 50% 45%,#000 20%,#0000 78%);transform:translateZ(0)}.atm-grid,.atm-spotlight{position:absolute;will-change:transform}.atm-spotlight{background:radial-gradient(circle closest-side,var(--accent-green-soft) 0,#0000 100%);height:920px;left:0;margin:-460px 0 0 -460px;opacity:.75;top:0;transform:translate3d(50vw,40vh,0);width:920px}.atm-grain{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' d='M0 0h200v200H0z'/%3E%3C/svg%3E");inset:0;opacity:var(--atm-grain-opacity);pointer-events:none;position:absolute}@media (max-width:768px){.atm-grid{background-size:44px 44px}.atm-spotlight{display:none}.atm-blob{animation:none}.atm-grain{display:none}}@media (max-width:480px){.atm-grid{display:none}}@media (prefers-reduced-motion:reduce){.atm-blob,.atm-grain{animation:none}.atm-aurora,.atm-grid{transform:none}}.preloader{background:var(--atm-base);display:grid;inset:0;place-items:center;position:fixed;transition:transform .9s var(--ease-out-expo),opacity .6s ease .3s;will-change:transform;z-index:1000000000001}.preloader.lifting{opacity:0;transform:translate3d(0,-100%,0)}.preloader-inner{width:min(440px,78vw)}.preloader-name{color:var(--text-primary);display:flex;font-size:clamp(2.4rem,9vw,4.5rem);font-weight:700;gap:.04em;letter-spacing:.02em;line-height:1}.preloader-letter{animation:preloader-letter-in .7s var(--ease-out-expo) forwards;display:inline-block;opacity:0;transform:translateY(.5em)}@keyframes preloader-letter-in{to{opacity:1;transform:translateY(0)}}.preloader-meta{align-items:baseline;animation:preloader-fade-in .6s ease .35s forwards;color:var(--text-muted);display:flex;font-size:var(--text-sm);justify-content:space-between;letter-spacing:.16em;margin-top:1rem;opacity:0;text-transform:uppercase}.preloader-role{color:var(--accent-green)}.preloader-count{font-feature-settings:"tnum";font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}@keyframes preloader-fade-in{to{opacity:1}}.preloader-track{background:var(--border-color);height:1px;margin-top:.85rem;overflow:hidden}.preloader-fill{background:linear-gradient(90deg,var(--accent-green),var(--accent-cyan));height:100%;transform:scaleX(0);transform-origin:0 50%}@media (prefers-reduced-motion:reduce){.preloader{display:none}}.scroll-progress{background:#0000;height:2px;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1000000000000}.scroll-progress-bar{background:linear-gradient(90deg,var(--accent-green) 0,var(--accent-cyan) 50%,var(--accent-violet) 100%);box-shadow:0 0 12px var(--accent-green);height:100%;transform:scaleX(0);transform-origin:0 50%;width:100%;will-change:transform}.is-offscreen,.is-offscreen *,.is-offscreen :after,.is-offscreen :before,html.chat-open .atmosphere,html.chat-open .atmosphere *,html.chat-open .page,html.chat-open .page *,html.chat-open .page :after,html.chat-open .page :before{animation-play-state:paused!important}.navbar{animation:nav-drop .7s var(--ease-out-expo) both;font-family:Poppins,sans-serif;left:50%;max-width:calc(100vw - 2rem);position:fixed;top:18px;transform:translateX(-50%);transition:top .4s var(--ease-out-quint);z-index:999999}.navbar.scrolled{top:12px}@keyframes nav-drop{0%{opacity:0;transform:translateX(-50%) translateY(-16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.nav-container{align-items:center;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);background:var(--bg-navbar);border:1px solid var(--border-color);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);display:flex;max-width:100%;overflow-x:auto;padding:6px;scrollbar-width:none}.nav-container::-webkit-scrollbar{display:none}.nav-links{--pill-x:0px;--pill-w:0px;--pill-o:0;align-items:center;display:flex;gap:2px;list-style:none;margin:0;padding:0;position:relative}.nav-pill{background:var(--accent-green-soft);border:1px solid color-mix(in srgb,var(--accent-green) 34%,#0000);bottom:0;left:0;opacity:var(--pill-o);pointer-events:none;position:absolute;top:0;transform:translateX(var(--pill-x));transition:transform .45s var(--ease-out-expo),width .45s var(--ease-out-expo),opacity .3s ease;width:var(--pill-w)}.nav-link,.nav-pill{border-radius:var(--radius-pill)}.nav-link{color:var(--text-secondary);display:block;font-size:.82rem;font-weight:500;letter-spacing:.02em;padding:9px 16px;position:relative;text-decoration:none;transition:color .3s ease;white-space:nowrap;z-index:1}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-green);font-weight:600}.hire-me-button{align-items:center;animation:nav-fade-in .7s var(--ease-out-expo) .1s both;background:var(--accent-green);border:1px solid #0000;border-radius:var(--radius-pill);box-shadow:0 8px 24px -8px color-mix(in srgb,var(--accent-green) 65%,#0000);color:#04120a;display:inline-flex;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:600;gap:.5rem;padding:10px 18px;position:fixed;right:20px;text-decoration:none;top:18px;transition:background .3s ease,box-shadow .3s ease;z-index:999999}@keyframes nav-fade-in{0%{opacity:0}to{opacity:1}}.hire-me-button:hover{background:var(--accent-green-dark);box-shadow:0 12px 32px -8px color-mix(in srgb,var(--accent-green) 80%,#0000)}.hire-dot{animation:hire-blink 2s ease-in-out infinite;background:#04120a;border-radius:50%;height:6px;width:6px}@keyframes hire-blink{0%,to{opacity:1}50%{opacity:.35}}@supports not (background:color-mix(in srgb,red 50%,blue)){.nav-pill{border-color:var(--border-color-light)}.hire-me-button{box-shadow:var(--shadow-md)}}@media (max-width:900px){.navbar{animation:nav-fade-in .7s var(--ease-out-expo) both;left:12px;max-width:calc(100vw - 24px);right:12px;top:12px;transform:none}.navbar.scrolled{top:10px}.nav-container{justify-content:flex-start}.nav-link{font-size:.76rem;padding:8px 13px}}@media (max-width:768px){.hire-me-button,.navbar{display:none}}.mobile-nav{display:none}@media (max-width:768px){.mobile-nav{align-items:stretch;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);background:var(--bg-navbar);border-top:1px solid var(--border-color);bottom:0;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;left:0;padding:.4rem .35rem max(.4rem,env(safe-area-inset-bottom));position:fixed;right:0;z-index:99990}.mobile-nav-item{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:.62rem;font-weight:500;gap:.2rem;justify-content:center;letter-spacing:.02em;min-width:0;padding:.45rem .2rem;transition:color .25s ease}.mobile-nav-icon{border-radius:var(--radius-pill);display:grid;height:26px;max-width:46px;place-items:center;transition:background .28s var(--ease-out-quint),color .25s ease;width:100%}.mobile-nav-item.active{color:var(--accent-green)}.mobile-nav-item.active .mobile-nav-icon{background:var(--accent-green-soft)}.mobile-nav-item:active .mobile-nav-icon{transform:scale(.92)}.mobile-nav-label{line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}html.chat-open .mobile-nav{display:none}.mobile-nav-action{color:var(--text-muted)}.mobile-nav-fab{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));border-radius:50%;box-shadow:0 6px 18px -4px color-mix(in srgb,var(--accent-green) 65%,#0000),0 0 0 4px var(--bg-navbar);color:#04120a;display:grid;height:44px;margin-top:-18px;place-items:center;transition:transform .3s var(--ease-spring);width:44px}.mobile-nav-action:active .mobile-nav-fab{transform:scale(.92)}}@media (max-width:768px){@supports not (box-shadow:0 0 0 1px color-mix(in srgb,red 50%,blue)){.mobile-nav-fab{box-shadow:var(--shadow-md),0 0 0 4px var(--bg-navbar)}}.mobile-nav{overflow:visible}}.mobile-topbar{display:none}@media (max-width:768px){.mobile-topbar{align-items:center;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);background:var(--bg-navbar);border-bottom:1px solid var(--border-color);display:flex;height:52px;left:0;padding:0 var(--space-gutter);position:fixed;right:0;top:0;z-index:99991}.mobile-topbar-mark{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:inherit;gap:.5rem;padding:0}.mobile-topbar-monogram{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));border-radius:9px;color:#04120a;display:grid;font-size:.72rem;font-weight:700;height:28px;letter-spacing:-.02em;place-items:center;width:28px}.mobile-topbar-name{font-size:.82rem;font-weight:650;letter-spacing:-.01em}.theme-toggle{bottom:auto;right:var(--space-gutter);top:11px;z-index:99992}html.chat-open .mobile-topbar{display:none}}.hero{background:#0000;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100svh;overflow:visible;padding:clamp(7rem,14vh,10rem) var(--space-gutter) clamp(4rem,9vh,6rem);position:relative;width:100%}.hero-inner{grid-gap:clamp(2rem,5vw,4.5rem);align-items:center;display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin:0 auto;max-width:var(--content-max);width:100%}.hero-copy{min-width:0}.hero-badge{align-items:center;background:var(--accent-green-soft);border:1px solid color-mix(in srgb,var(--accent-green) 30%,#0000);border-radius:var(--radius-pill);color:var(--accent-green);display:inline-flex;font-size:var(--text-xs);font-weight:600;gap:.55rem;letter-spacing:.06em;margin-bottom:1.5rem;padding:.42rem .95rem .42rem .75rem;text-transform:uppercase}.hero-badge-dot{animation:badge-pulse 2.4s ease-out infinite;background:var(--accent-green);border-radius:50%;box-shadow:0 0 0 0 var(--accent-green);height:7px;width:7px}@keyframes badge-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-green) 60%,#0000)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 0 0 #0000}}.hero-title{color:var(--text-primary);display:flex;flex-direction:column;font-size:var(--text-4xl);font-weight:700;letter-spacing:-.045em;line-height:.92;margin:0}.hero-title-line{display:block}.hero-title-accent{-webkit-text-fill-color:#0000;animation:gradient-pan 8s ease-in-out infinite alternate;background:linear-gradient(115deg,var(--accent-green) 0,var(--accent-cyan) 55%,var(--accent-violet) 100%);-webkit-background-clip:text;background-clip:text;background-size:200% auto}@keyframes gradient-pan{0%{background-position:0}to{background-position:100%}}.hero-roles{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--text-xl);font-weight:500;gap:.5rem;line-height:1.5;margin-top:1.35rem}.hero-roles-prefix{color:var(--text-muted)}.hero-roles-viewport{display:inline-block;flex:1 1 auto;height:1.5em;line-height:1.5;min-width:12ch;overflow:hidden;position:relative}.hero-role{align-items:center;color:var(--accent-green);display:flex;font-weight:650;inset:0;opacity:0;position:absolute;transform:translate3d(0,100%,0);transition:opacity .5s var(--ease-out-expo),transform .5s var(--ease-out-expo);white-space:nowrap}.hero-role.active{opacity:1;transform:none}.hero-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.75;margin:1.5rem 0 0;max-width:52ch}.hero-description strong{color:var(--text-primary);font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.25rem}.hero-cta{align-items:center;border:1px solid #0000;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:600;gap:.5rem;letter-spacing:.01em;padding:.85rem 1.5rem;text-decoration:none;transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;white-space:nowrap}.hero-cta svg{transition:transform .35s var(--ease-out-quint)}.hero-cta-primary{background:var(--accent-green);box-shadow:0 8px 24px -6px color-mix(in srgb,var(--accent-green) 55%,#0000);color:#04120a}.hero-cta-primary:hover{background:var(--accent-green-dark);box-shadow:0 12px 34px -6px color-mix(in srgb,var(--accent-green) 70%,#0000)}.hero-cta-primary:hover svg{transform:translate(2px,-2px)}.hero-cta-ghost{background:var(--bg-card);border-color:var(--border-color-light);color:var(--text-primary)}.hero-cta-ghost:hover{background:var(--bg-card-hover);border-color:var(--accent-green);color:var(--accent-green)}.hero-cta-ghost:hover svg{transform:translateY(2px)}.hero-stats{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,3rem);margin:2.75rem 0 0;padding-top:1.75rem}.hero-stat{min-width:0}.hero-stat-value{color:var(--text-primary);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}.hero-stat-label{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;margin:.2rem 0 0;text-transform:uppercase}.hero-visual{align-items:center;display:flex;flex-direction:column;gap:clamp(2.25rem,5vh,3.25rem);min-width:0;position:relative}.avatar-stage{aspect-ratio:1;display:grid;place-items:center;position:relative;width:min(400px,78vw)}.avatar-glow{animation:avatar-breathe 6s ease-in-out infinite;background:radial-gradient(circle,color-mix(in srgb,var(--accent-green) 30%,#0000) 0,#0000 68%);border-radius:50%;filter:blur(38px);inset:12%;position:absolute}@keyframes avatar-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.avatar-ring{border:1px solid var(--border-color);border-radius:50%;pointer-events:none;position:absolute}.avatar-ring-1{animation:ring-spin 26s linear infinite;border-color:color-mix(in srgb,var(--accent-green) 22%,#0000);border-style:dashed;inset:4%}.avatar-ring-2{animation:ring-spin 40s linear infinite reverse;border-color:var(--border-color);inset:-6%}.avatar-ring-2:after{background:var(--accent-cyan);border-radius:50%;box-shadow:0 0 14px var(--accent-cyan);content:"";height:7px;left:50%;position:absolute;top:-4px;transform:translateX(-50%);width:7px}@keyframes ring-spin{to{transform:rotate(1turn)}}.avatar-image{animation:avatar-float 7s ease-in-out infinite;filter:drop-shadow(0 24px 48px rgba(0,0,0,.4));height:auto;object-fit:contain;position:relative;width:68%;z-index:2}@keyframes avatar-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.like-container{align-items:center;display:flex;justify-content:center;position:relative;z-index:5}.like-button{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:600;gap:.55rem;padding:.55rem 1.1rem;transition:transform .3s var(--ease-spring),border-color .3s ease,background .3s ease,color .3s ease}.like-button:hover{background:var(--bg-card-hover);border-color:color-mix(in srgb,var(--accent-pink) 45%,#0000);color:var(--text-primary);transform:translateY(-2px)}.like-button:active{transform:scale(.95)}.heart-icon{fill:var(--accent-pink);color:var(--text-muted);transition:color .3s ease,transform .35s var(--ease-spring)}.heart-icon.active{color:var(--accent-pink)}.like-button:hover .heart-icon{transform:scale(1.15)}.like-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.emoji{animation:floatUpFade 2s ease-out forwards;bottom:40%;font-size:1.6rem;left:100%;margin-left:.35rem;pointer-events:none;position:absolute;z-index:6}@keyframes floatUpFade{0%{opacity:1;transform:translateY(0) scale(1)}20%{opacity:1;transform:translateY(-20px) scale(1.2)}50%{opacity:.8;transform:translateY(-38px) scale(1.05)}to{opacity:0;transform:translateY(-64px) scale(.9)}}.scroll-cue{align-items:center;align-self:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:var(--text-xs);gap:.6rem;letter-spacing:.22em;margin-top:clamp(2rem,5vh,3.5rem);padding:.5rem;text-transform:uppercase;transition:color .3s ease}.scroll-cue:hover{color:var(--accent-green)}.scroll-cue-line{animation:cue-bob 2.2s ease-in-out infinite;border:1px solid var(--border-color-light);border-radius:50%;display:grid;height:26px;place-items:center;width:26px}@keyframes cue-bob{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.name-prompt-overlay{animation:overlay-in .3s ease;background:#0009;display:grid;inset:0;padding:1.25rem;place-items:center;position:fixed;z-index:1000000000000}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.name-prompt-modal{animation:modal-in .45s var(--ease-out-expo);background:var(--bg-card-solid);border:1px solid var(--border-color-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(1.4rem,3vw,1.9rem);width:min(440px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}.name-prompt-modal h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:650;margin:0 0 .35rem}.visitor-sub{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:.3rem 0 1.4rem;min-height:1.5em}.visitor-form{display:flex;flex-direction:column;gap:1.15rem}.visitor-group{border:none;margin:0;min-width:0;padding:0}.visitor-legend{color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;padding:0;text-transform:uppercase}.visitor-chips{display:flex;flex-wrap:wrap;gap:.4rem}.visitor-chip{-webkit-tap-highlight-color:transparent;background:var(--bg-elevated);border:1px solid var(--border-color-light);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;flex:0 1 auto;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.3;padding:.45rem .8rem;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);white-space:nowrap}.visitor-chip:hover{border-color:var(--accent-green);color:var(--text-primary)}.visitor-chip.selected{background:var(--accent-green);border-color:var(--accent-green);color:#04120a;font-weight:600}.visitor-chip:active{transform:scale(.96)}.name-prompt-buttons{border-top:1px solid var(--border-color);display:flex;gap:.6rem;margin-top:1.5rem;padding-top:1.25rem}.name-prompt-buttons button{border:1px solid #0000;border-radius:var(--radius-pill);cursor:pointer;flex:1 1;font-family:inherit;font-size:var(--text-sm);font-weight:600;padding:.75rem 1rem;transition:background .25s ease,border-color .25s ease,color .25s ease}.name-prompt-buttons .skip-btn{background:#0000;border-color:var(--border-color-light);color:var(--text-secondary)}.name-prompt-buttons .skip-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.name-prompt-buttons .submit-btn{background:var(--accent-green);color:#04120a}.name-prompt-buttons .submit-btn:hover:not(:disabled){background:var(--accent-green-dark)}.name-prompt-buttons .submit-btn:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed;opacity:.4}@supports not (background:color-mix(in srgb,red 50%,blue)){.hero-badge{border-color:var(--border-color-light)}.avatar-glow{background:radial-gradient(circle,var(--accent-green-soft) 0,#0000 68%)}.avatar-ring-1{border-color:var(--border-color-light)}.hero-cta-primary{box-shadow:var(--shadow-md)}}@media (max-width:980px){.hero-inner{gap:2.5rem;grid-template-columns:1fr;justify-items:center;text-align:center}.hero-visual{order:-1}.hero-title{align-items:center}.hero-actions,.hero-roles,.hero-stats{justify-content:center}.hero-description{margin-inline:auto}.hero-stats{max-width:460px;width:100%}}@media (max-width:560px){.hero{padding-top:6.5rem}.avatar-stage{width:min(280px,72vw)}.hero-roles{align-items:center;flex-direction:column;font-size:var(--text-lg);gap:.15rem}.hero-roles-viewport{text-align:center;width:100%}.hero-cta,.hero-role{justify-content:center}.hero-cta{flex:1 1 auto}.hero-stats{gap:1.25rem;justify-content:space-between}.scroll-cue{display:none}}@media (max-height:560px) and (orientation:landscape){.hero{min-height:auto}.scroll-cue{display:none}}@media (max-width:768px){.avatar-glow,.avatar-ring{display:none}.avatar-image{width:100%}.avatar-image,.hero-badge-dot{animation:none}.hero{min-height:auto;padding:5.5rem var(--space-gutter) 2.5rem}.hero-inner{gap:1.5rem}.hero-badge{font-size:.62rem;margin-bottom:1rem;padding:.32rem .75rem .32rem .6rem}.avatar-stage{width:min(200px,46vw)}.hero-title{line-height:.95}.hero-description{font-size:.88rem;line-height:1.6;margin-top:1rem}.hero-actions{gap:.6rem;margin-top:1.5rem;width:100%}.hero-cta{flex:1 1;justify-content:center;padding:.8rem 1rem}.hero-stats{flex-wrap:nowrap;gap:.5rem;justify-content:space-between;margin-top:1.75rem;padding-top:1.25rem;text-align:center}.hero-stat{flex:1 1}.hero-stat-value{font-size:1.15rem}.hero-stat-label{font-size:.58rem;letter-spacing:.04em}.like-container{order:2}}@media (max-width:560px){.name-prompt-modal{max-height:85svh;overflow-y:auto;padding:1.25rem 1.1rem}.name-prompt-modal h3{font-size:1.1rem}.visitor-chip{font-size:.82rem;padding:.55rem .85rem}.visitor-chips{gap:.4rem}}.visitor-identity{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.visitor-identity input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:16px;min-width:0;padding:.65rem .8rem;transition:border-color .25s ease,background .25s ease;width:100%}.visitor-identity input::placeholder{color:var(--text-muted);font-size:.85rem}.visitor-identity input:focus{background:var(--bg-card-hover);border-color:var(--accent-green);outline:none}@media (max-width:480px){.visitor-identity{grid-template-columns:1fr}}.marquee{background:#0000;border-block:1px solid var(--border-color);flex-direction:column;gap:.6rem;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000);overflow:hidden;padding:clamp(1.5rem,4vh,3rem) 0;position:relative}.marquee,.marquee-row{display:flex;width:100%}.marquee-track{align-items:center;animation:marquee-scroll 44s linear infinite;animation:marquee-scroll var(--marquee-duration,44s) linear infinite;display:flex;flex-shrink:0;gap:0;white-space:nowrap;will-change:transform}.marquee-track.reverse{animation-direction:reverse}@keyframes marquee-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.marquee-item{align-items:center;color:var(--text-muted);display:inline-flex;font-size:clamp(1.1rem,2.4vw,1.9rem);font-weight:600;gap:clamp(1.1rem,3vw,2.2rem);letter-spacing:-.01em;padding-right:clamp(1.1rem,3vw,2.2rem);transition:color .3s ease}.marquee-sep{color:var(--accent-green);font-size:.5em;opacity:.7}.marquee:hover .marquee-item{color:var(--text-secondary)}.marquee:hover .marquee-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{overflow-x:auto}}@media (max-width:768px){.marquee{gap:.35rem;padding:1.25rem 0}.marquee-item{font-size:1rem}}.portfolio-section{background:#0000;color:var(--text-primary);overflow:visible;padding-block:var(--space-section);padding-inline:var(--space-gutter);position:relative}.portfolio-container{margin:0 auto;max-width:var(--content-max);position:relative;z-index:2}.portfolio-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 2rem}.portfolio-title .title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent-green),var(--accent-cyan));-webkit-background-clip:text;background-clip:text}.portfolio-tabs{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-pill);display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(2rem,5vh,3rem);max-width:100%;overflow-x:auto;padding:6px;scrollbar-width:none;width:-webkit-fit-content;width:fit-content}.portfolio-tabs::-webkit-scrollbar{display:none}.tab-heading{align-items:center;background:#0000;border:none;border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:500;gap:.45rem;overflow:hidden;padding:.6rem 1.1rem;position:relative;transition:color .3s ease,background .3s ease;white-space:nowrap}[data-theme=light] .tab-heading{background:#fff;border:2px solid #0000001a;box-shadow:0 2px 8px #0000000f}[data-theme=light] .tab-heading:hover{border-color:#16a34a4d;box-shadow:0 4px 12px #00000014}.tab-icon{font-size:16px;transition:transform .3s ease}.tab-heading:hover{background:var(--bg-elevated);color:var(--text-primary)}.tab-heading:hover .tab-icon{transform:scale(1.1)}.tab-heading.active{background:var(--accent-green-soft);color:var(--accent-green);font-weight:600}[data-theme=light] .tab-heading.active{background:#16a34a1a;border-color:#16a34a80;box-shadow:0 0 15px #16a34a26}.tab-heading.active .tab-icon{color:var(--accent-green)}.portfolio-content{width:100%}.tab-content{grid-gap:clamp(1rem,2vw,1.5rem);display:grid;gap:clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.portfolio-card{--mx:50%;--my:50%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;isolation:isolate;overflow:hidden;position:relative;transition:transform .5s var(--ease-out-quint),border-color .4s ease,background .4s ease,box-shadow .4s ease}.portfolio-card:hover{background:var(--bg-card-hover);border-color:color-mix(in srgb,var(--accent-green) 38%,#0000);box-shadow:0 26px 60px -18px #00000080,0 0 0 1px color-mix(in srgb,var(--accent-green) 16%,#0000);transform:translateY(-6px)}.portfolio-card:after{background:radial-gradient(420px circle at var(--mx) var(--my),var(--accent-green-soft) 0,#0000 65%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease;z-index:3}.portfolio-card:hover:after{opacity:1}[data-theme=light] .portfolio-card{background:var(--bg-card-solid);border:1px solid #0000001a;box-shadow:0 4px 20px #0000001a,0 1px 3px #00000014}[data-theme=light] .portfolio-card:hover{border-color:#16a34a4d;box-shadow:0 8px 30px #16a34a26,0 4px 12px #0000001a}.card-image{background:var(--bg-elevated);flex-shrink:0;height:200px;overflow:hidden;position:relative;width:100%}.card-image:after{background:linear-gradient(180deg,#0000 45%,#00000059);content:"";inset:0;pointer-events:none;position:absolute}.card-image img{display:block;height:100%;object-fit:cover;transition:transform .7s var(--ease-out-quint),filter .5s ease;width:100%}.portfolio-card:hover .card-image img{transform:scale(1.06)}.card-content{display:flex;flex:1 1;flex-direction:column;gap:.7rem;padding:clamp(1.1rem,2.2vw,1.6rem)}.card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.year{background:var(--accent-green-soft);border:1px solid color-mix(in srgb,var(--accent-green) 28%,#0000);border-radius:var(--radius-pill);color:var(--accent-green);font-size:var(--text-xs);font-weight:600;padding:.2rem .6rem}[data-theme=light] .year{background:#16a34a1a;border-color:#16a34a4d}.stars{align-items:center;color:var(--accent-yellow);display:flex;gap:5px}.star{font-size:14px}.card-content h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:650;letter-spacing:-.015em;line-height:1.3;margin:0}.card-content p{color:var(--text-secondary);flex:1 1;font-size:var(--text-sm);line-height:1.65;margin:0}.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-tag{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;padding:.22rem .6rem}[data-theme=light] .tech-tag{background:#f0f0f0;border:1px solid #0000001f}.card-actions{display:flex;gap:15px;justify-content:center;margin-top:auto}.card-btn{align-items:center;background:#0000;border:1px solid var(--border-color-light);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-xs);font-weight:600;gap:.35rem;overflow:hidden;padding:.5rem .95rem;position:relative;text-decoration:none;transition:color .3s ease,border-color .3s ease,background .3s ease}[data-theme=light] .card-btn{background:linear-gradient(135deg,#16a34a26,#16a34a14);border-color:#16a34a4d}.card-btn:hover{background:var(--accent-green-soft);border-color:var(--accent-green);color:var(--accent-green)}.ripple-container{overflow:hidden;position:relative}.ripple{animation:rippleEffect .6s ease-out forwards;background:#ffffff4d;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}@keyframes rippleEffect{to{opacity:0;transform:scale(4)}}.show-more-container{display:flex;justify-content:center;margin-top:50px;position:relative}.show-more-container:before{background:linear-gradient(90deg,#0000,var(--border-color),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.show-more-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:600;gap:.6rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:border-color .3s ease,color .3s ease,background .3s ease;z-index:1}.show-more-btn:before{background:linear-gradient(135deg,#4ade801a,#4ade800d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.show-more-btn:hover:before{opacity:1}.show-more-btn:hover{background:var(--accent-green-soft);border-color:var(--accent-green);color:var(--accent-green)}[data-theme=light] .show-more-btn{background:#fff;border-color:#00000026;box-shadow:0 2px 10px #00000014}[data-theme=light] .show-more-btn:hover{border-color:var(--accent-green);box-shadow:0 10px 30px #16a34a26}.btn-icon,.btn-text{position:relative;z-index:1}.btn-icon{align-items:center;background:#4ade8026;border-radius:50%;color:var(--accent-green);display:flex;height:24px;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);width:24px}.btn-icon.rotated{transform:rotate(180deg)}.show-more-btn:hover .btn-icon{background:var(--accent-green);color:var(--bg-primary);transform:scale(1.1)}.show-more-btn:hover .btn-icon.rotated{transform:rotate(180deg) scale(1.1)}.btn-count{animation:pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,var(--accent-green),#22c55e);border-radius:20px;color:#000;font-size:12px;font-weight:700;min-width:30px;padding:4px 10px;position:relative;text-align:center;z-index:1}.btn-count:empty{display:none}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #4ade8066}50%{box-shadow:0 0 20px #4ade8099,0 0 30px #4ade804d}}@media (max-width:768px){.portfolio-section{padding:60px 15px}.portfolio-title{font-size:28px;margin-bottom:30px}.portfolio-tabs{flex-wrap:wrap;gap:8px;margin-bottom:30px}.tab-heading{font-size:12px;padding:8px 16px}.tab-content{gap:20px;grid-template-columns:1fr}.portfolio-card{margin-bottom:0}.card-image{height:180px}.card-content{padding:15px}.card-content h3{font-size:18px}.card-content p{font-size:14px}.show-more-container{margin-top:35px}.show-more-btn{font-size:14px;padding:12px 24px}}@media (max-width:480px){.portfolio-section{padding:50px 10px}.portfolio-title{font-size:24px}.tab-heading{font-size:11px;padding:6px 12px}.card-actions{flex-direction:column;gap:10px}.card-btn{padding:12px 15px;text-align:center;width:100%}.tech-tag{font-size:10px;padding:4px 10px}.show-more-container{margin-top:30px}.show-more-btn{font-size:13px;gap:8px;padding:10px 20px}.btn-icon{height:20px;width:20px}.btn-count{font-size:11px;padding:3px 8px}}@media (hover:none),(max-width:768px){.portfolio-card:after{display:none}.portfolio-card:hover{transform:none}}@media (max-width:768px){.portfolio-section{padding-block:var(--space-section)}.portfolio-title{margin-bottom:1.25rem}.portfolio-tabs{background:none;border:none;border-radius:0;flex-wrap:nowrap;margin-bottom:1.5rem;margin-inline:calc(var(--space-gutter)*-1);padding-inline:var(--space-gutter);scroll-snap-type:x proximity;width:auto}.tab-heading{background:var(--bg-elevated);border:1px solid var(--border-color);scroll-snap-align:start}.tab-heading.active{background:var(--accent-green-soft);border-color:color-mix(in srgb,var(--accent-green) 35%,#0000)}.tab-content{-webkit-overflow-scrolling:touch;display:flex;gap:.85rem;margin-inline:calc(var(--space-gutter)*-1);overflow-x:auto;overflow-y:hidden;padding-inline:var(--space-gutter);padding-bottom:.5rem;scroll-padding-inline:var(--space-gutter);scroll-snap-type:x mandatory;scrollbar-width:none}.tab-content::-webkit-scrollbar{display:none}.portfolio-card{flex:0 0 80%;max-width:320px;scroll-snap-align:start}.card-image{height:150px}.card-content{gap:.5rem;padding:.9rem 1rem 1.1rem}.card-content h3{font-size:var(--text-base)}.card-content p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tech-stack{flex-wrap:wrap}.show-more-container{margin-top:1.5rem}.show-more-container:before{display:none}.portfolio-content{position:relative}.tab-content .reveal{filter:none;opacity:1;transform:none}}.resume-section{background:#0000;color:var(--text-primary);overflow:visible;padding-block:var(--space-section);padding-inline:var(--space-gutter);position:relative}.resume-container{margin:0 auto;max-width:var(--content-max);position:relative;z-index:2}.resume-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:clamp(2.5rem,6vh,4rem)}.resume-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0}.resume-title .title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent-green),var(--accent-cyan));-webkit-background-clip:text;background-clip:text}.download-resume-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:var(--radius-pill);color:var(--text-primary);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:.5rem;padding:.75rem 1.35rem;text-decoration:none;transition:background .3s ease,border-color .3s ease,color .3s ease;white-space:nowrap}.download-resume-btn:hover{background:var(--accent-green);border-color:var(--accent-green);color:#04120a}.download-icon{transition:transform .35s var(--ease-out-quint)}.download-resume-btn:hover .download-icon{transform:translateY(2px)}.resume-content{grid-gap:clamp(2rem,5vw,4rem);align-items:start;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:repeat(2,minmax(0,1fr))}.resume-column{min-width:0}.column-header{margin-bottom:1.5rem}.column-header h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:650;letter-spacing:-.01em;margin:0 0 .6rem}.header-line{background:linear-gradient(90deg,var(--accent-green),#0000);border-radius:var(--radius-pill);height:2px;width:100%}.timeline{padding-left:1.65rem;position:relative}.timeline:before{background:linear-gradient(180deg,var(--accent-green) 0,var(--border-color) 55%,#0000 100%);bottom:6px;content:"";left:5px;position:absolute;top:6px;width:1px}.timeline-item{padding-bottom:2rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--atm-base);border:2px solid var(--accent-green);border-radius:50%;height:11px;left:-1.65rem;position:absolute;top:.55rem;transition:box-shadow .4s ease,transform .4s var(--ease-spring);width:11px;z-index:2}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 5px var(--accent-green-soft);transform:scale(1.25)}.timeline-content{min-width:0}.time-badge{background:var(--accent-green-soft);border-radius:var(--radius-pill);color:var(--accent-green);display:inline-block;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;margin-bottom:.6rem;padding:.24rem .7rem}.content-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:clamp(1rem,2vw,1.35rem);transition:background .35s ease,border-color .35s ease,transform .35s var(--ease-out-quint)}.timeline-item:hover .content-card{background:var(--bg-card-hover);border-color:var(--border-color-light);transform:translateX(4px)}.content-card h4{color:var(--text-primary);font-size:var(--text-base);font-weight:650;line-height:1.35;margin:0 0 .3rem}.institution{color:var(--accent-green);font-size:var(--text-sm);font-weight:500;margin:0}.duration{color:var(--text-muted);font-size:var(--text-xs);margin:.3rem 0 0}.courses{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem}.course-tag{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-xs);padding:.25rem .6rem;transition:color .3s ease,border-color .3s ease}.course-tag:hover{border-color:var(--accent-green);color:var(--accent-green)}.experience-points{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.experience-points li{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;padding-left:1.1rem;position:relative}.experience-points li:before{background:var(--accent-green);border-radius:50%;content:"";height:5px;left:0;opacity:.65;position:absolute;top:.62em;width:5px}@media (max-width:860px){.resume-content{grid-template-columns:1fr}.resume-header{align-items:flex-start;flex-direction:column}}@media (max-width:768px){.resume-header{gap:.9rem;margin-bottom:1.5rem}.download-resume-btn{justify-content:center;padding:.7rem 1rem;width:100%}.resume-content{gap:2rem}.column-header{margin-bottom:.9rem}.column-header h3{font-size:var(--text-base)}.timeline{padding-left:1.15rem}.timeline:before{left:3px}.timeline-item{padding-bottom:1rem}.timeline-dot{border-width:2px;height:8px;left:-1.15rem;top:.5rem;width:8px}.time-badge{font-size:.62rem;margin-bottom:.4rem;padding:.15rem .5rem}.content-card{border-radius:var(--radius-md);padding:.8rem .9rem}.content-card h4{font-size:.92rem;line-height:1.3}.institution{font-size:.8rem}.experience-points{gap:.35rem;margin-top:.55rem}.experience-points li{font-size:.8rem;line-height:1.5;padding-left:.85rem}.courses{flex-wrap:nowrap;margin-top:.6rem;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.courses::-webkit-scrollbar{display:none}.course-tag{flex:0 0 auto;font-size:.62rem}}.domains-section{background:#0000}.domains-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 clamp(2.5rem,6vh,4rem)}.domains-title .title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent-green),var(--accent-cyan));-webkit-background-clip:text;background-clip:text}.domains-bento{grid-gap:clamp(.85rem,1.6vw,1.25rem);display:grid;gap:clamp(.85rem,1.6vw,1.25rem);grid-auto-rows:minmax(190px,auto);grid-template-columns:repeat(6,1fr)}.domain-card{min-width:0;perspective:1000px}.domain-card.span-wide{grid-column:span 4}.domain-card.span-tall{grid-column:span 2;grid-row:span 2}.domain-card.span-normal{grid-column:span 2}.domain-card-inner{--tilt-x:0deg;--tilt-y:0deg;--mx:50%;--my:50%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;height:100%;isolation:isolate;overflow:hidden;padding:clamp(1.25rem,2.4vw,1.9rem);position:relative;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .45s var(--ease-out-quint),border-color .4s ease,background .4s ease,box-shadow .4s ease}.domain-card-inner:hover{background:var(--bg-card-hover);border-color:color-mix(in srgb,var(--card-accent) 45%,#0000);box-shadow:0 20px 50px #00000047,0 0 0 1px color-mix(in srgb,var(--card-accent) 22%,#0000)}.domain-sheen{background:radial-gradient(340px circle at var(--mx) var(--my),color-mix(in srgb,var(--card-accent) 16%,#0000) 0,#0000 68%);inset:0;opacity:0;position:absolute;transition:opacity .4s ease;z-index:-1}.domain-card-inner:hover .domain-sheen{opacity:1}.domain-icon-wrapper{background:color-mix(in srgb,var(--card-accent) 13%,#0000);border:1px solid color-mix(in srgb,var(--card-accent) 26%,#0000);border-radius:var(--radius-md);display:grid;flex-shrink:0;height:46px;place-items:center;transition:transform .45s var(--ease-spring);width:46px}.domain-card-inner:hover .domain-icon-wrapper{transform:translateZ(28px) scale(1.06)}.domain-icon{color:var(--card-accent);height:22px;width:22px}.domain-body{flex:1 1;min-width:0}.domain-name{color:var(--text-primary);font-size:var(--text-lg);font-weight:650;letter-spacing:-.015em;line-height:1.25;margin:0 0 .45rem}.domain-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin:0}.domain-tags{display:flex;flex-wrap:wrap;gap:.4rem}.domain-tag{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;padding:.28rem .65rem;transition:color .3s ease,border-color .3s ease}.domain-card-inner:hover .domain-tag{border-color:var(--border-color-light);color:var(--text-secondary)}@supports not (background:color-mix(in srgb,red 50%,blue)){.domain-icon-wrapper{background:var(--accent-green-soft)}.domain-card-inner:hover,.domain-icon-wrapper{border-color:var(--border-color-light)}.domain-sheen{display:none}}@media (max-width:900px){.domains-bento{grid-auto-rows:minmax(170px,auto);grid-template-columns:repeat(4,1fr)}.domain-card.span-wide{grid-column:span 4}.domain-card.span-tall{grid-column:span 2;grid-row:span 1}.domain-card.span-normal{grid-column:span 2}}@media (hover:none),(max-width:768px){.domain-card{perspective:none}.domain-card-inner{transform:none}.domain-sheen{display:none}}@media (max-width:600px){.domains-bento{gap:.65rem;grid-auto-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.domain-card.span-normal,.domain-card.span-tall,.domain-card.span-wide{grid-column:span 1;grid-row:span 1}.domain-card:first-child{grid-column:span 2}.domain-card-inner{border-radius:var(--radius-md);gap:.6rem;padding:.9rem;transform:none}.domain-icon-wrapper{border-radius:10px;height:34px;width:34px}.domain-icon{height:17px;width:17px}.domain-name{font-size:.9rem;margin-bottom:.2rem}.domain-card:not(:first-child) .domain-description{display:none}.domain-card:first-child .domain-description{font-size:var(--text-xs)}.domain-tags{gap:.25rem}.domain-tag{font-size:.62rem;padding:.15rem .45rem}.domains-title{margin-bottom:1.5rem}}.currently-section{background:#0000}.currently-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 .5rem}.currently-title .title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent-green),var(--accent-cyan));-webkit-background-clip:text;background-clip:text}.currently-intro{color:var(--text-secondary);font-size:var(--text-base);margin:0 0 clamp(2rem,5vh,3rem)}.currently-bento{grid-gap:clamp(.7rem,1.4vw,1rem);display:grid;gap:clamp(.7rem,1.4vw,1rem);grid-auto-rows:168px;grid-template-columns:repeat(6,1fr)}.cur-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;isolation:isolate;justify-content:flex-end;min-width:0;overflow:hidden;padding:clamp(.9rem,1.8vw,1.25rem);position:relative;transition:border-color .4s ease,transform .45s var(--ease-out-quint),box-shadow .4s ease}.cur-card:hover{border-color:var(--border-color-light);box-shadow:0 20px 44px -18px #0000008c;transform:translateY(-4px)}.span-tall{grid-column:span 2;grid-row:span 2}.span-wide{grid-column:span 4}.span-normal{grid-column:span 2}.cur-card.cur-plain,.cur-card.span-wide.cur-media{grid-column:span 3}.cur-art{height:100%;inset:0;object-fit:cover;position:absolute;transform:scale(1.02);transition:transform .7s var(--ease-out-quint),filter .5s ease;width:100%;z-index:-2}.cur-media:hover .cur-art{transform:scale(1.07)}.cur-scrim{background:linear-gradient(180deg,#03060c26,#03060c8c 55%,#03060ceb);inset:0;position:absolute;z-index:-1}.cur-body{display:flex;flex-direction:column;gap:.2rem;position:relative}.cur-label{align-items:center;color:var(--accent-green);display:inline-flex;font-size:.62rem;font-weight:600;gap:.4rem;letter-spacing:.13em;margin-bottom:.35rem;text-transform:uppercase}.cur-media .cur-label{color:#6ee7a8}.cur-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:650;letter-spacing:-.02em;line-height:1.2;margin:0;overflow-wrap:anywhere}.cur-media .cur-title{color:#fff;text-shadow:0 1px 12px #00000080}.cur-detail{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;margin:0}.cur-media .cur-detail{color:#ffffffb8}.cur-clock{background:linear-gradient(145deg,var(--bg-card-hover) 0,var(--bg-card) 60%)}.cur-clock,.cur-clock-top{justify-content:space-between}.cur-clock-top{align-items:center;display:flex}.cur-clock-top .cur-label{margin-bottom:0}.cur-live{animation:cur-pulse 2.4s ease-out infinite;background:var(--accent-green);border-radius:50%;height:7px;width:7px}@keyframes cur-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-green) 55%,#0000)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 0 0 #0000}}.cur-clock-face{align-items:baseline;display:flex;gap:.4rem}.cur-clock-time{font-feature-settings:"tnum";color:var(--text-primary);font-size:clamp(2.4rem,6vw,3.6rem);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.045em;line-height:1}.cur-clock-meridiem{color:var(--accent-green);font-size:var(--text-base);font-weight:600;letter-spacing:.06em}.cur-clock-track{background:var(--border-color);border-radius:var(--radius-pill);height:3px;overflow:hidden}.cur-clock-fill{background:linear-gradient(90deg,var(--accent-green),var(--accent-cyan));border-radius:inherit;display:block;height:100%;transform-origin:0 50%;transition:transform .8s var(--ease-out-quint)}.cur-clock-place{align-items:baseline;color:var(--text-secondary);display:flex;font-size:var(--text-sm);font-weight:500;gap:.75rem;justify-content:space-between;margin:0}.cur-clock-mood{color:var(--text-muted);font-size:var(--text-xs);text-align:right}.cur-plain{background:linear-gradient(145deg,var(--bg-card-hover) 0,var(--bg-card) 70%);justify-content:flex-end}@supports not (box-shadow:0 0 0 1px color-mix(in srgb,red 50%,blue)){.cur-live{animation:none}}@media (max-width:760px){.currently-bento{gap:.55rem;grid-auto-rows:minmax(124px,auto);grid-template-columns:repeat(2,minmax(0,1fr))}.currently-bento .cur-card.cur-clock{grid-column:span 2;grid-row:auto;order:1}.currently-bento .cur-card.cur-slot-anime{grid-column:span 1;grid-row:span 2;order:2}.currently-bento .cur-card.cur-slot-album{grid-column:span 1;grid-row:auto;order:3}.currently-bento .cur-card.cur-slot-book{grid-column:span 1;grid-row:auto;order:4}.currently-bento .cur-card.cur-slot-game{grid-column:span 2;grid-row:auto;order:5}.currently-bento .cur-card.cur-teams{grid-column:span 2;grid-row:auto;order:6}.cur-card{border-radius:var(--radius-md);padding:.75rem .8rem}.cur-label{font-size:.54rem;gap:.28rem;letter-spacing:.09em;margin-bottom:.2rem}.cur-title{-webkit-line-clamp:2;font-size:.82rem;line-height:1.2}.cur-detail,.cur-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cur-detail{-webkit-line-clamp:1;font-size:.66rem;line-height:1.3}.cur-clock{display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:.9rem 1rem}.cur-clock-face{align-items:baseline;gap:.35rem}.cur-clock-time{font-size:2.4rem;line-height:1}.cur-clock-meridiem{font-size:.85rem}.cur-clock-track{height:3px}.cur-clock-place{align-items:baseline;flex-direction:row;font-size:.7rem;gap:.5rem;justify-content:space-between;white-space:nowrap}.cur-clock-mood{flex-shrink:0;font-size:.62rem}.cur-slot-game .cur-title{-webkit-line-clamp:1;font-size:1rem}.cur-slot-game .cur-body{max-width:58%}.cur-action{font-size:.63rem;padding:.45rem .8rem;right:.75rem;top:50%}.cur-action,.cur-media:hover .cur-action{transform:translateY(-50%)}.cur-action:active{transform:translateY(-50%) scale(.95)}.cur-teams{gap:.5rem;justify-content:center;padding-block:.85rem}.cur-teams .cur-detail{display:none}.cur-crests{gap:clamp(1.5rem,9vw,3rem)}.cur-crest img{height:clamp(42px,11vw,54px)}.currently-intro{margin-bottom:1.25rem}}@media (max-width:400px){.currently-bento{grid-auto-rows:minmax(112px,auto)}.cur-clock-time{font-size:2.1rem}.cur-clock-place{font-size:.64rem}.cur-clock-mood{display:none}.cur-slot-game .cur-body{max-width:54%}.cur-crest img{height:44px}}@media (hover:none){.cur-card:hover{transform:none}.cur-media:hover .cur-art{transform:scale(1.02)}}.cur-teams{gap:.35rem;justify-content:space-between}.cur-crests{align-items:center;display:flex;flex:1 1;gap:clamp(.5rem,2vw,1.25rem);justify-content:space-evenly;min-height:0;overflow:hidden;width:100%}.cur-crest{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;min-width:0;opacity:.95;transition:opacity .3s ease,transform .35s var(--ease-spring)}.cur-crest img{display:block;height:clamp(52px,7.2vw,74px);max-width:100%;object-fit:contain;width:auto}.cur-crest.is-lead,.cur-teams:hover .cur-crest{opacity:1}.cur-crest:hover{transform:translateY(-3px) scale(1.06)}.cur-action{align-items:center;background:var(--accent-green);border:none;border-radius:var(--radius-pill);color:#04120a;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.68rem;font-weight:700;gap:.4rem;letter-spacing:.02em;opacity:.92;padding:.45rem .85rem;position:absolute;right:clamp(.9rem,1.8vw,1.25rem);top:clamp(.9rem,1.8vw,1.25rem);transform:translateY(0);transition:opacity .3s ease,transform .35s var(--ease-spring),background .3s ease;white-space:nowrap;z-index:3}.cur-media:hover .cur-action{background:var(--accent-green-dark);opacity:1;transform:scale(1.04)}.cur-action:active{transform:scale(.96)}.cur-lightbox{animation:cur-lightbox-in .25s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#03060cd1;display:grid;inset:0;padding:clamp(1rem,4vw,2.5rem);place-items:center;position:fixed;z-index:1000000000}@keyframes cur-lightbox-in{0%{opacity:0}to{opacity:1}}.cur-lightbox-panel{animation:cur-panel-in .4s var(--ease-out-expo);aspect-ratio:9/16;background:#05070d;border-radius:var(--radius-lg);box-shadow:0 40px 90px -20px #000c;height:min(84vh,900px);max-width:100%;overflow:hidden;position:relative}@keyframes cur-panel-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.cur-lightbox-video{background:#05070d;display:block;height:100%;object-fit:contain;width:100%}.cur-lightbox-close{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#080c14b8;border:none;border-radius:50%;color:#fff;cursor:pointer;display:grid;height:36px;place-items:center;position:absolute;right:.65rem;top:.65rem;transition:background .25s ease,transform .3s var(--ease-spring);width:36px;z-index:2}.cur-lightbox-close:hover{background:var(--accent-green);color:#04120a;transform:scale(1.08)}@media (max-width:560px){.cur-lightbox-panel{height:auto;width:100%}.cur-lightbox{padding:1rem}}@media (prefers-reduced-motion:reduce){.cur-lightbox,.cur-lightbox-panel{animation:none}}.sw-container{align-items:center;background:#0000;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.sw-center-dot{animation:centerPulse 3s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#4ade80,#22c55e 50%,#16a34a);border-radius:50%;box-shadow:0 0 60px #4ade8099,0 0 120px #4ade8066,0 0 200px #4ade804d,0 0 300px #4ade8033,inset 0 0 30px #fff3;height:80px;width:80px;z-index:10}.sw-center-dot:before{animation:centerGlow 2s ease-in-out infinite alternate;background:radial-gradient(circle,#4ade8033 0,#0000 70%);border-radius:50%;content:"";inset:-15px;position:absolute}@keyframes centerPulse{0%,to{transform:translate(-50%,40%) scale(1)}50%{transform:translate(-50%,40%) scale(1.08)}}@keyframes centerGlow{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}.sw-wheel{bottom:-46%;cursor:grab;height:600px;position:absolute;transform-origin:center;width:600px;z-index:2}.sw-wheel:active{cursor:grabbing}.sw-skill-item{height:400px;left:50%;margin:-200px;position:absolute;top:50%;transform-origin:center;width:400px}.sw-skill-inner{align-items:center;background:#0000;display:flex;height:100%;justify-content:center;position:relative;transform:rotate(45deg);width:100%}.sw-skill-icon{filter:drop-shadow(0 0 15px rgba(74,222,128,.4));height:60%;mix-blend-mode:normal;object-fit:contain;padding:20px;pointer-events:none;transform-origin:center;transition:filter .3s ease,transform .3s ease;-webkit-user-select:none;user-select:none;width:60%}.sw-skill-item:hover .sw-skill-icon{filter:drop-shadow(0 0 25px rgba(74,222,128,.7)) drop-shadow(0 0 50px rgba(74,222,128,.4));transform:scale(1.1)}.sw-skill-name{bottom:25%;color:#fffc;font-size:24px;font-weight:400;left:50%;letter-spacing:1px;position:absolute;transform:translateX(-50%);z-index:3}[data-theme=light] .sw-skill-name{color:#000c}.sw-navigation{background:#000c;border:1px solid #4ade8033;border-radius:100px;bottom:40px;display:flex;gap:24px;left:50%;padding:12px 24px;position:absolute;transform:translateX(-50%);z-index:20}[data-theme=light] .sw-navigation{background:#fffffff2;border:1px solid #0000001a;box-shadow:0 4px 20px #0000001a}[data-theme=light] .sw-navigation a{color:#000000b3}[data-theme=light] .sw-navigation a:hover{color:#16a34a}.sw-navigation a{color:#ffffffb3;font-size:14px;text-decoration:none;transition:all .3s ease}.sw-navigation a:hover{color:#4ade80;text-shadow:0 0 10px #4ade8080}@media (max-width:768px){.sw-wheel{height:400px;width:400px}.sw-skill-item{height:80px;margin:-40px;width:80px}.sw-center-dot{height:60px;width:60px}}@keyframes auroraWave{0%,to{opacity:.6;transform:translateX(-3%)}50%{opacity:.9;transform:translateX(3%)}}@keyframes float{0%,to{transform:translateY(0) translateX(0)}50%{transform:translateY(-20px) translateX(10px)}}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-40px)}}.sw-center-dot,.sw-skill-name,.sw-wheel{position:relative;z-index:2}.sw-center-dot{bottom:20%;height:260px;left:50%;position:absolute;transform:translate(-50%,40%);width:260px}.skillset-text{color:var(--text-primary);font-size:28px;font-weight:400;left:120px;line-height:6px;position:absolute;top:60px;z-index:99}.skillset-text h1{font-weight:300;letter-spacing:2px}.skillset-text .text{color:var(--accent-green);text-shadow:0 0 20px #4ade8080}[data-theme=light] .skillset-text .text{text-shadow:none}.orbital-rings{height:100%;pointer-events:none;position:absolute;width:100%;z-index:1}.orbital-ring{animation:rotateRing 20s linear infinite;border:1px solid #0000;border-radius:50%;bottom:-46%;left:50%;position:absolute;transform:translateX(-50%)}.orbital-ring-1{animation-duration:30s;border-color:#4ade801f;box-shadow:0 0 30px #4ade8014,inset 0 0 30px #4ade8008;height:700px;width:700px}.orbital-ring-2{animation-direction:reverse;animation-duration:45s;border-color:#4ade8014;box-shadow:0 0 40px #4ade800d,inset 0 0 40px #4ade8005;height:900px;width:900px}.orbital-ring-3{animation-duration:60s;border-color:#ffea000d;box-shadow:0 0 50px #ffea0008;height:1100px;width:1100px}@keyframes rotateRing{0%{transform:translateX(-50%) rotate(0deg)}to{transform:translateX(-50%) rotate(1turn)}}.orbital-dot{background:#4ade80;border-radius:50%;box-shadow:0 0 15px #4ade80,0 0 30px #4ade8066;height:6px;position:absolute;width:6px}.orbital-ring-1 .orbital-dot:first-child{left:50%;top:0;transform:translate(-50%,-50%)}.orbital-ring-1 .orbital-dot:nth-child(2){bottom:0;left:50%;transform:translate(-50%,50%)}.orbital-ring-2 .orbital-dot:first-child{right:0;top:50%;transform:translate(50%,-50%)}.orbital-ring-2 .orbital-dot:nth-child(2){left:0;top:50%;transform:translate(-50%,-50%)}.drag-hint{align-items:center;animation:hintPulse 2.5s ease-in-out infinite;bottom:30px;color:#fffc;display:flex;font-size:14px;gap:12px;left:50%;letter-spacing:3px;position:absolute;text-transform:uppercase;transform:translateX(-50%);z-index:20}[data-theme=light] .drag-hint{color:#000000b3}[data-theme=light] .skill-particle{background:#15803d!important;background-color:#15803d!important;box-shadow:0 0 8px #15803d!important;height:5px!important;opacity:.8!important;width:5px!important}[data-theme=light] .orbital-dot{background:#15803d!important;background-color:#15803d!important;box-shadow:0 0 10px #15803d,0 0 20px #15803d80!important;height:8px!important;width:8px!important}[data-theme=light] .orbital-ring-1{border-color:#16a34a66!important;border-width:2px!important;box-shadow:0 0 30px #16a34a33!important}[data-theme=light] .orbital-ring-2{border-color:#16a34a4d!important;border-width:2px!important;box-shadow:0 0 40px #16a34a26!important}[data-theme=light] .orbital-ring-3{border-color:#ca8a044d!important;border-width:2px!important;box-shadow:0 0 50px #ca8a0426!important}.drag-hint svg{color:#4ade80;opacity:.8}@keyframes hintPulse{0%,to{opacity:.7}50%{opacity:1}}.skill-particles{height:100%;pointer-events:none;position:absolute;width:100%;z-index:1}.skill-particle{animation:floatParticle 4s ease-in-out infinite;background:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade80;height:3px;position:absolute;width:3px}@keyframes floatParticle{0%,to{opacity:.2;transform:translateY(0) translateX(0)}50%{opacity:.6;transform:translateY(-25px) translateX(12px)}}@media only screen and (max-width:1024px){.sw-center-dot{bottom:6%;height:6vh;left:50%;position:absolute;transform:translate(-50%,40%);width:6vh}.skillset-text{color:#fff;font-size:15px;font-weight:400;left:40px;line-height:3px;position:absolute;top:60px;z-index:99}.skillset-text .text{color:#4ade80}[data-theme=light] .skillset-text{color:var(--text-primary)}.sw-container{height:50vh}.orbital-ring-1{height:450px;width:450px}.orbital-ring-2{height:550px;width:550px}.orbital-ring-3{height:650px;width:650px}.drag-hint{bottom:20px;font-size:11px}}@media only screen and (max-width:768px){.sw-container{height:45vh;min-height:350px}.skillset-text{font-size:14px;left:20px;line-height:1.4;top:50px}.skillset-text h1{font-size:1.2rem}.sw-wheel{height:350px;width:350px}.sw-center-dot{height:50px;width:50px}.orbital-ring-1{height:350px;width:350px}.orbital-ring-2{height:420px;width:420px}.orbital-ring-3{height:500px;width:500px}.drag-hint{bottom:15px;font-size:10px;letter-spacing:2px}}@media only screen and (max-width:480px){.sw-container{height:40vh;min-height:300px}.skillset-text{font-size:12px;left:15px;top:40px}.skillset-text h1{font-size:1rem}.sw-wheel{height:280px;width:280px}.sw-center-dot{height:40px;width:40px}.orbital-ring-1{height:280px;width:280px}.orbital-ring-2{height:340px;width:340px}.orbital-ring-3{height:400px;width:400px}.drag-hint{bottom:10px;font-size:9px;letter-spacing:1px}.orbital-dot{height:5px;width:5px}}@media only screen and (max-width:768px){.orbital-ring-1 .orbital-dot:nth-child(2),.orbital-ring-2 .orbital-dot{display:none}}.sw-mobile-grid{display:none}@media (max-width:768px){.sw-container{display:block;height:auto;min-height:0;overflow:visible;padding:var(--space-section) var(--space-gutter)}.drag-hint,.orbital-rings,.skill-particles,.sw-center-dot,.sw-wheel{display:none}.skillset-text{margin-bottom:1.25rem;pointer-events:auto;position:static;text-align:left;transform:none;width:auto}.skillset-text h1{display:inline;font-size:1.75rem;letter-spacing:-.03em;line-height:1.1}.skillset-text br{display:none}.skillset-text h1+br+h1{margin-left:.3em}.sw-mobile-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(4,1fr)}.sw-mobile-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.4rem;min-width:0;padding:.75rem .25rem}.sw-mobile-icon{display:grid;height:34px;place-items:center;width:34px}.sw-mobile-icon img{max-height:100%;max-width:100%;object-fit:contain}.sw-mobile-label{color:var(--text-muted);font-size:.58rem;font-weight:500;overflow:hidden;text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;width:100%}}@media (max-width:380px){.sw-mobile-grid{grid-template-columns:repeat(3,1fr)}}.contact-section{background:#0000;overflow:visible;padding-block:var(--space-section);padding-inline:var(--space-gutter);position:relative}@keyframes orbPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.contact-container{margin:0 auto;max-width:var(--content-max);position:relative;z-index:2}.contact-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 clamp(2.5rem,6vh,4rem)}.contact-title .highlight{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent-green),var(--accent-cyan));-webkit-background-clip:text;background-clip:text;color:var(--accent-green);position:relative}.contact-title .highlight:after{background:linear-gradient(90deg,#4ade80,#0000);border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:100%}.contact-content{grid-gap:clamp(1.5rem,4vw,3.5rem);align-items:start;display:grid;gap:clamp(1.5rem,4vw,3.5rem);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}@media (max-width:900px){.contact-content{grid-template-columns:1fr}}.contact-form-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.25rem)}[data-theme=light] .contact-form-wrapper{background:var(--bg-card-solid);border:1px solid #0000001a;box-shadow:0 10px 40px #0000001a}.form-header{margin-bottom:30px}.form-header h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:8px}.form-header p{color:var(--text-muted);font-size:.95rem}.contact-form{gap:24px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#666;font-size:18px;left:16px;position:absolute;transition:color .3s ease}.input-wrapper input,.input-wrapper textarea{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:1rem;outline:none;padding:14px 16px 14px 48px;transition:all .3s ease;width:100%}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:var(--text-muted)}.input-wrapper input:focus,.input-wrapper textarea:focus{background:#1e1e28cc;border-color:#4ade8080;box-shadow:0 0 20px #4ade801a}[data-theme=light] .input-wrapper input,[data-theme=light] .input-wrapper textarea{background:#f8f9fa;border:1px solid #0000001f}[data-theme=light] .input-wrapper input:focus,[data-theme=light] .input-wrapper textarea:focus{background:#fff;border-color:#16a34a80;box-shadow:0 0 15px #16a34a1a}.input-wrapper input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--accent-green)}.textarea-wrapper{align-items:flex-start}.textarea-wrapper .input-icon{top:16px}.textarea-wrapper textarea{min-height:120px;resize:none}.submit-btn{align-items:center;background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;margin-top:10px;padding:16px 32px;transition:all .3s ease}.submit-btn:active{transform:translateY(0)}.submit-btn.submitting{cursor:not-allowed;opacity:.7}.btn-icon{font-size:18px}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#000;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.submit-message{animation:fadeIn .3s ease;border-radius:8px;font-size:.9rem;padding:12px 16px;text-align:center}.submit-message.success{background:#4ade8026;border:1px solid #4ade804d;color:#4ade80}.submit-message.error{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contact-right{display:flex;flex-direction:column;gap:40px}.social-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:30px}[data-theme=light] .social-section{background:var(--bg-card-solid);border:1px solid #0000001a;box-shadow:0 4px 20px #00000014}.social-section h3{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:8px}.social-section p{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.social-links{display:flex;gap:20px}.social-item,.social-item-wrapper{position:relative}.social-item{align-items:center;background-color:var(--bg-elevated);border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;height:60px;justify-content:center;padding:0;transition:all .3s ease;width:60px}[data-theme=light] .social-item{background:#fff;border:2px solid #0000001a;box-shadow:0 2px 10px #0000000f}[data-theme=light] .social-item:hover{border-color:var(--accent-green);box-shadow:0 4px 20px #16a34a33}.social-item svg{color:var(--accent-green);height:24px;transition:all .3s ease;width:24px}.social-item:hover{border-color:var(--accent-green);box-shadow:var(--shadow-glow-green)}.tooltip{background-color:var(--bg-card-solid);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;left:50%;opacity:0;padding:.5rem 1rem;position:absolute;top:calc(100% + 10px);transform:translateX(-50%) translateY(0);transition:all .3s ease;visibility:hidden;white-space:nowrap;z-index:10}.social-item:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(5px);visibility:visible}.contact-avatar-wrapper{align-items:center;display:flex;justify-content:center;min-height:400px;position:relative}.avatar-glow-contact{background:radial-gradient(circle,#4ade8040 0,#0000 70%);border-radius:50%;filter:blur(60px);height:300px;position:absolute;width:300px;z-index:0}.contact-avatar-img{filter:drop-shadow(0 25px 50px rgba(0,0,0,.5));height:auto;max-width:380px;position:relative;z-index:2}.signature-sticker{align-items:center;bottom:30px;display:flex;flex-direction:column;position:absolute;right:-20px;transform:rotate(-12deg);z-index:10}.signature-name{color:#fbbf24;font-family:Brush Script MT,Segoe Script,cursive;font-size:3rem;font-weight:700;letter-spacing:2px;line-height:1;text-shadow:3px 3px 0 #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,4px 4px 8px #0000004d}.signature-subtitle{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:6px;box-shadow:3px 3px 0 #fff,4px 4px 10px #0003;color:#fff;font-size:1.2rem;font-weight:600;margin-top:5px;padding:6px 18px;text-shadow:none}@media (max-width:968px){.contact-content{gap:40px;grid-template-columns:1fr}.contact-title{font-size:2.5rem;text-align:center}.contact-right{order:-1}.contact-avatar-wrapper{min-height:320px}.contact-avatar-img{max-width:280px}.signature-sticker{bottom:20px;right:0}.signature-name{font-size:2.5rem}}@media (max-width:600px){.contact-section{padding:60px 15px}.contact-title{font-size:1.75rem;margin-bottom:40px}.contact-form-wrapper{border-radius:16px;padding:20px}.form-header h3{font-size:1.2rem}.form-header p{font-size:.85rem}.contact-form{gap:18px}.input-wrapper input,.input-wrapper textarea{font-size:.9rem;padding:12px 12px 12px 42px}.input-icon{font-size:16px;left:12px}.submit-btn{font-size:.9rem;padding:14px 24px}.social-section{padding:20px}.social-links{gap:15px;justify-content:center}.social-item{height:50px;width:50px}.social-item svg{height:20px;width:20px}.contact-avatar-wrapper{min-height:280px}.contact-avatar-img{max-width:200px}.signature-name{font-size:1.75rem}.signature-subtitle{font-size:.9rem;padding:5px 14px}}@media (max-width:400px){.contact-title{font-size:1.5rem}.contact-form-wrapper{padding:15px}.social-item{height:45px;width:45px}.contact-avatar-img{max-width:180px}.signature-name{font-size:1.5rem}}@media (max-width:768px){.contact-title{margin-bottom:1.5rem}.contact-content{gap:1.5rem}.contact-form-wrapper{border-radius:var(--radius-md);padding:1.1rem}.form-header h3{font-size:var(--text-lg)}.input-wrapper input,.input-wrapper textarea{font-size:16px;padding:12px 14px 12px 42px}.contact-avatar-wrapper{display:none}.social-icons,.social-links{justify-content:flex-start}}.footer{background:#0000;border-top:1px solid var(--border-color);overflow:hidden;padding:clamp(3rem,8vh,5rem) var(--space-gutter) clamp(1.5rem,4vh,2.5rem);position:relative}.footer-wordmark{bottom:-.22em;color:var(--text-primary);font-size:clamp(5rem,22vw,17rem);font-weight:700;left:50%;letter-spacing:-.05em;line-height:.8;opacity:.038;pointer-events:none;position:absolute;transform:translateX(-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:var(--content-max);position:relative;z-index:2}.footer-line{color:var(--text-primary);font-size:var(--text-sm);font-weight:600;margin:0}.footer-sub{color:var(--text-muted);font-size:var(--text-xs);margin:.25rem 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem}.footer-link{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:500;gap:.45rem;padding:.5rem .95rem;text-decoration:none;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s var(--ease-out-quint)}.footer-link:hover{background:var(--accent-green-soft);border-color:var(--accent-green);color:var(--accent-green);transform:translateY(-2px)}.footer-top{background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:grid;height:40px;place-items:center;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s var(--ease-spring);width:40px}.footer-top:hover{border-color:var(--accent-green);color:var(--accent-green);transform:translateY(-3px)}@media (max-width:768px){.footer{padding:2rem var(--space-gutter) 1.5rem}.footer-wordmark{bottom:-.18em;font-size:26vw}.footer-inner{align-items:flex-start;flex-direction:column;gap:1rem}.footer-links{width:100%}.footer-link{flex:1 1;justify-content:center}.footer-top{height:36px;position:absolute;right:var(--space-gutter);top:2rem;width:36px}}.theme-toggle{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg-navbar);border:1px solid var(--border-color);border-radius:50px;box-shadow:var(--shadow-md);cursor:pointer;padding:6px;pointer-events:auto;position:fixed;right:160px;top:20px;transition:all .3s ease;z-index:999999999999}.theme-toggle:hover{border-color:var(--accent-green);box-shadow:var(--shadow-glow-green)}.toggle-track{background:var(--bg-tertiary);border-radius:50px;height:26px;position:relative;transition:background .3s ease;width:48px}.toggle-thumb{align-items:center;border-radius:50%;display:flex;height:22px;justify-content:center;position:absolute;top:2px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:22px}.toggle-thumb.dark{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 2px 8px #0000004d;left:2px}.toggle-thumb.light{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 8px #fbbf2466;left:calc(100% - 24px)}.toggle-icon{height:14px;width:14px}.toggle-thumb.dark .toggle-icon{color:#fbbf24}.toggle-thumb.light .toggle-icon{color:#fff}@media (max-width:900px){.theme-toggle{right:130px;top:15px}.toggle-track{height:24px;width:42px}.toggle-thumb{height:20px;width:20px}.toggle-thumb.light{left:calc(100% - 22px)}.toggle-icon{height:12px;width:12px}}@media (max-width:600px){.theme-toggle{bottom:20px;padding:5px;right:20px;top:auto}.toggle-track{height:22px;width:40px}.toggle-thumb{height:18px;width:18px}.toggle-thumb.light{left:calc(100% - 20px)}.toggle-icon{height:10px;width:10px}}@media (max-width:400px){.theme-toggle{bottom:15px;right:15px}}@media (max-width:768px){.theme-toggle{right:14px;top:14px}}.chatbot-toggle{align-items:center;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:var(--radius-pill);bottom:22px;box-shadow:var(--shadow-md),0 0 0 0 var(--accent-green-soft);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:600;gap:.5rem;padding:.7rem 1.15rem;position:fixed;right:22px;transition:transform .35s var(--ease-spring),border-color .3s ease,color .3s ease,box-shadow .3s ease;z-index:99999}.chatbot-toggle:hover{border-color:var(--accent-green);box-shadow:var(--shadow-lg),0 0 0 6px var(--accent-green-soft);color:var(--accent-green);transform:translateY(-3px)}@keyframes chatButtonGlow{0%,to{box-shadow:0 0 15px #4ade804d,0 0 30px #4ade8033}50%{box-shadow:0 0 25px #4ade8080,0 0 50px #4ade804d}}.chatbot-toggle:hover{animation:none;border-color:#4ade80;box-shadow:0 0 30px #4ade8099,0 0 60px #4ade8066;color:#4ade80}[data-theme=light] .chatbot-toggle{animation:chatButtonGlowLight 2s ease-in-out infinite;background:#fff;border:2px solid #0000001a;box-shadow:0 0 15px #16a34a40,0 0 30px #16a34a26,0 2px 10px #0000000f;color:#1f2937}@keyframes chatButtonGlowLight{0%,to{box-shadow:0 0 15px #16a34a40,0 0 30px #16a34a26,0 2px 10px #0000000f}50%{box-shadow:0 0 25px #16a34a66,0 0 50px #16a34a40,0 2px 10px #0000000f}}[data-theme=light] .chatbot-toggle:hover{animation:none;border-color:#16a34a;box-shadow:0 0 30px #16a34a80,0 0 60px #16a34a4d;color:#16a34a}.chat-label{display:inline;white-space:nowrap}.chat-mobile-header,.chat-mobile-recents{display:none}.chatbot-fullscreen{background:var(--bg-primary);display:flex;height:100%;left:0;opacity:0;position:fixed;top:0;transform:scale(.98);transition:opacity .3s ease,transform .3s ease,visibility .3s;visibility:hidden;width:100%;z-index:99999}.chatbot-fullscreen.open{opacity:1;transform:scale(1);visibility:visible}.chat-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-shrink:0;width:280px}.chat-sidebar,.sidebar-header{display:flex;flex-direction:column}.sidebar-header{border-bottom:1px solid #4ade801a;gap:16px;padding-bottom:20px}.sidebar-logo{align-items:center;display:flex;gap:12px}.logo-icon{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));border-radius:10px;color:#04120a;display:grid;font-size:.8rem;font-weight:700;height:30px;place-items:center;width:30px}.sidebar-logo span{color:#fff;color:var(--text-primary,#fff);font-size:18px;font-weight:600}.new-chat-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-sm);font-weight:600;gap:.5rem;justify-content:center;padding:.7rem 1rem;transition:background .25s ease,border-color .25s ease,color .25s ease;width:100%}.new-chat-btn:hover{background:var(--accent-green-soft);border-color:var(--accent-green);color:var(--accent-green)}.saved-chats-section{border-bottom:1px solid #4ade801a;padding:16px 0}.saved-chats-label{color:#888;color:var(--text-muted,#888);font-size:12px;letter-spacing:.5px;margin-bottom:12px;padding:0 4px;text-transform:uppercase}.saved-chats-list{display:flex;flex-direction:column;gap:4px}.saved-chat-item{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);gap:.5rem;padding:.55rem .7rem;transition:background .2s ease,color .2s ease}.saved-chat-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.saved-chat-item.active{background:var(--accent-green-soft);color:var(--accent-green)}.saved-chat-item svg{flex-shrink:0}.saved-chat-title{flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-chat-btn{align-items:center;background:none;border:none;border-radius:4px;color:#888;color:var(--text-muted,#888);cursor:none;display:flex;justify-content:center;opacity:0;padding:4px;transition:all .2s}.saved-chat-item:hover .delete-chat-btn{opacity:1}.delete-chat-btn:hover{background:#ff646433;color:#ff6464}.sidebar-info{flex:1 1;padding:20px 0}.sidebar-info p{color:#888;color:var(--text-muted,#888);font-size:14px;line-height:1.6}.sidebar-footer{border-top:1px solid #4ade801a;padding-top:20px}.back-to-portfolio{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-sm);gap:.5rem;padding:.7rem 1rem;transition:background .25s ease,color .25s ease,border-color .25s ease;width:100%}.back-to-portfolio:hover{background:var(--bg-elevated);border-color:var(--border-color-light);color:var(--text-primary)}.chat-main{display:flex;flex:1 1;flex-direction:column;position:relative}.mobile-close-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:none;height:44px;justify-content:center;position:absolute;right:20px;top:20px;width:44px;z-index:10}.chat-messages-area{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.chat-messages-area::-webkit-scrollbar{width:8px}.chat-messages-area::-webkit-scrollbar-track{background:#0000}.chat-messages-area::-webkit-scrollbar-thumb{background:#4ade804d;border-radius:4px}.welcome-screen{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:800px;padding:40px}.welcome-icon{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));border-radius:20px;box-shadow:0 12px 32px -10px var(--accent-green);color:#04120a;display:grid;font-size:1.6rem;font-weight:700;height:64px;margin-bottom:1.25rem;place-items:center;width:64px}.welcome-screen h1{color:var(--text-primary);font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;letter-spacing:-.03em;margin:0 0 .6rem;text-align:center}.welcome-screen>p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0 0 2rem;max-width:46ch;text-align:center}.suggestions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);max-width:600px;width:100%}.suggestion-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-sm);gap:.7rem;padding:.9rem 1rem;text-align:left;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s var(--ease-out-quint)}.suggestion-card:hover{background:var(--bg-card-hover);border-color:color-mix(in srgb,var(--accent-green) 40%,#0000);color:var(--text-primary);transform:translateY(-2px)}.suggestion-icon{font-size:24px}.suggestion-text{color:#fff;color:var(--text-primary,#fff);font-size:14px;font-weight:500}.messages-container{display:flex;flex-direction:column;gap:1.35rem;margin:0 auto;max-width:760px;padding:1.75rem 1.5rem 1rem;width:100%}.chat-message{margin-bottom:24px}.message-wrapper{align-items:flex-start;display:flex;gap:16px}.chat-message.user .message-wrapper{flex-direction:row-reverse}.bot-avatar,.user-avatar{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.bot-avatar{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));color:#04120a;font-weight:700}.user-avatar{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary)}.message-bubble{word-wrap:break-word;border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.65;max-width:78%;overflow-wrap:anywhere;padding:.85rem 1.1rem}.chat-message.bot .message-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-top-left-radius:6px;color:var(--text-primary)}.chat-message.user .message-bubble{background:var(--accent-green-soft);border:1px solid color-mix(in srgb,var(--accent-green) 30%,#0000);border-top-right-radius:6px;color:var(--text-primary)}.message-bubble p{color:#fff;color:var(--text-primary,#fff);font-size:15px;margin:0}.message-content{display:flex;flex-direction:column;gap:4px}.message-content p{line-height:1.6}.message-content p.heading-line{color:#4ade80;font-size:14px;font-weight:600;margin-bottom:4px;margin-top:12px}.message-content p.heading-line:first-child{margin-top:0}[data-theme=light] .message-content p.heading-line{color:#16a34a}.message-content p.bullet-line{border-left:2px solid #4ade8080;margin-bottom:2px;margin-left:4px;margin-top:2px;padding-left:10px}[data-theme=light] .message-content p.bullet-line{border-left-color:#16a34a80}.chat-message.user .message-bubble p{color:#fff}.typing-dots{display:flex;gap:6px;padding:8px 0}.typing-dots span{animation:bounce 1.3s ease-in-out infinite;background:var(--accent-green);border-radius:50%;height:7px;width:7px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.waking-up-message{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.waking-up-message .typing-dots{padding:4px 0}.waking-text{animation:pulse 1.5s ease-in-out infinite;color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:12px;font-style:italic}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.chat-input-area{margin:0 auto;max-width:760px;padding:.85rem 1.5rem 1.5rem;width:100%}.chat-input-area .input-wrapper{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-pill);display:flex;position:relative;transition:border-color .25s ease,box-shadow .25s ease}.chat-input-area .input-wrapper:focus-within{border-color:var(--accent-green);box-shadow:0 0 0 3px var(--accent-green-soft)}.chat-input-area .input-wrapper input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:var(--text-base);min-width:0;outline:none;padding:.9rem 3.4rem .9rem 1.25rem}.chat-input-area .input-wrapper input::placeholder{color:var(--text-muted)}.send-button{background:var(--accent-green);border:none;border-radius:50%;color:#04120a;cursor:pointer;display:grid;height:38px;place-items:center;position:absolute;right:6px;transition:background .25s ease,transform .25s var(--ease-spring),opacity .25s ease;width:38px}.send-button:hover:not(:disabled){background:var(--accent-green-dark);transform:scale(1.06)}.send-button:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.35}.input-hint{color:#666;color:var(--text-muted,#666);font-size:12px;margin-top:12px;text-align:center}[data-theme=light] .chatbot-fullscreen{background:#f9fafb}[data-theme=light] .chat-sidebar{background:#fff;border-right:1px solid #16a34a26}[data-theme=light] .sidebar-footer,[data-theme=light] .sidebar-header{border-color:#16a34a26}[data-theme=light] .new-chat-btn{background:#16a34a1a;border-color:#16a34a4d;color:#16a34a}[data-theme=light] .saved-chats-section{border-color:#16a34a26}[data-theme=light] .saved-chat-item{color:#6b7280}[data-theme=light] .saved-chat-item:hover{background:#16a34a1a;color:#1f2937}[data-theme=light] .saved-chat-item.active{background:#16a34a26;color:#16a34a}[data-theme=light] .back-to-portfolio{border-color:#0000001a;color:#1f2937}[data-theme=light] .sidebar-logo span,[data-theme=light] .welcome-screen h1{color:#1f2937}[data-theme=light] .suggestion-card{background:#fff;border-color:#16a34a33}[data-theme=light] .suggestion-text{color:#1f2937}[data-theme=light] .chat-message.bot .message-bubble{background:#fff;border-color:#16a34a26}[data-theme=light] .message-bubble p{color:#1f2937}[data-theme=light] .chat-input-area .input-wrapper{background:#fff;border-color:#16a34a33}[data-theme=light] .chat-input-area .input-wrapper input{color:#1f2937}[data-theme=light] .chat-input-area{background:linear-gradient(0deg,#f9fafb 80%,#0000)}@media (max-width:768px){.chat-sidebar,.chatbot-toggle{display:none}.mobile-close-btn{display:flex}.chat-main,.chatbot-fullscreen{flex-direction:column}.chat-main{display:flex;height:100%}.chat-messages-area{flex:1 1;overflow-y:auto}.welcome-screen{overflow-y:auto}.welcome-icon{flex-shrink:0;font-size:28px;height:60px;margin-bottom:16px;width:60px}.welcome-screen h1{font-size:22px;margin-bottom:8px}.welcome-screen>p{font-size:14px;margin-bottom:24px}.suggestions-grid{gap:10px;grid-template-columns:1fr;max-width:100%;width:100%}.suggestion-card{padding:14px 16px}.suggestion-icon{font-size:20px}.suggestion-text{font-size:14px}.messages-container{padding:70px 16px 16px}.message-bubble{max-width:85%;padding:12px 16px}.message-bubble p{font-size:14px}.bot-avatar,.user-avatar{border-radius:8px;height:32px;width:32px}.bot-avatar{font-size:14px}.message-wrapper{gap:10px}.chat-message{margin-bottom:16px}.chat-input-area{background:#0a0a0a;background:var(--bg-primary,#0a0a0a);padding:12px 16px 24px}.chat-input-area .input-wrapper{border-radius:24px;padding:6px}.chat-input-area .input-wrapper input{font-size:16px;padding:10px 14px}.send-button{border-radius:50%;height:40px;width:40px}.input-hint{font-size:11px;margin-top:8px}.mobile-close-btn{height:40px;right:16px;top:16px;width:40px}}@media (max-width:430px){.welcome-screen{padding:70px 14px 16px}.welcome-icon{border-radius:16px;font-size:26px;height:56px;width:56px}.welcome-screen h1{font-size:20px}.welcome-screen>p{font-size:13px;margin-bottom:20px;padding:0 8px}.suggestions-grid{gap:8px}.suggestion-card{border-radius:12px;padding:12px 14px}.suggestion-icon{font-size:18px}.suggestion-text{font-size:13px}.messages-container{padding:60px 12px 12px}.message-bubble{border-radius:16px;max-width:88%;padding:10px 14px}.message-bubble p{font-size:14px;line-height:1.5}.bot-avatar,.user-avatar{height:28px;width:28px}.bot-avatar{font-size:12px}.message-wrapper{gap:8px}.chat-input-area{padding:10px 12px 20px}.chat-input-area .input-wrapper{padding:4px}.chat-input-area .input-wrapper input{font-size:16px;padding:10px 12px}.send-button{height:38px;width:38px}.send-button svg{height:18px;width:18px}.input-hint{font-size:10px}.mobile-close-btn{height:36px;right:12px;top:12px;width:36px}.typing-dots span{height:6px;width:6px}.typing-dots{gap:4px;padding:4px 0}}@media (max-width:768px){.chatbot-fullscreen{height:100vh;height:100dvh;height:var(--chat-vh,100dvh);overflow:hidden;overscroll-behavior:none;top:0;top:var(--chat-top,0);transform:none}.chatbot-fullscreen.open{transform:none}.chat-main{height:100%;max-height:100%;min-height:0}.mobile-close-btn{background:var(--bg-elevated)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}.chat-mobile-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:.6rem;height:54px;height:calc(54px + env(safe-area-inset-top));padding:env(safe-area-inset-top) .6rem 0}.chat-mobile-title{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.chat-mobile-avatar{background:linear-gradient(140deg,var(--accent-green),var(--accent-cyan));border-radius:50%;color:#04120a;display:grid;font-size:.75rem;font-weight:700;height:28px;place-items:center;width:28px}.chat-mobile-name{color:var(--text-primary);font-size:.92rem;font-weight:650}.mobile-close-btn{background:#0000;border-radius:50%;color:var(--text-secondary);display:grid;flex-shrink:0;height:36px;place-items:center;position:static;width:36px}.chat-mobile-new{background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.chat-mobile-new:active,.mobile-close-btn:active{background:var(--bg-elevated);transform:scale(.94)}.chat-mobile-recents{border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:.4rem;overflow-x:auto;padding:.6rem .85rem;scrollbar-width:none}.chat-mobile-recents::-webkit-scrollbar{display:none}.chat-mobile-recent{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.68rem;line-height:1.4;max-width:60vw;overflow:hidden;padding:.35rem .7rem;text-overflow:ellipsis;white-space:nowrap}.chat-messages-area{-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:contain}.messages-container{gap:.85rem;padding:.9rem .85rem}.message-bubble{font-size:.875rem;line-height:1.55;max-width:88%}.bot-avatar,.user-avatar{flex-shrink:0;height:26px;width:26px}.welcome-screen{justify-content:center;padding:1.5rem .9rem 1rem}.welcome-screen h1{font-size:1.25rem}.welcome-screen>p{font-size:.82rem;margin-bottom:1.1rem}.suggestions-grid{gap:.5rem}.suggestion-card{font-size:.8rem;padding:.7rem .85rem;text-align:left}.chat-input-area{background:var(--bg-primary);border-top:1px solid var(--border-color);flex-shrink:0;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom))}.chat-input-area .input-wrapper input{font-size:16px;padding:.75rem 3rem .75rem 1rem}.input-hint{display:none}}.message-content p{margin:0}.message-content p+p{margin-top:.35rem}.message-content .heading-line{color:var(--accent-green);font-weight:650;letter-spacing:-.01em;margin-top:.85rem}.message-content .heading-line:first-child{margin-top:0}.message-content .bullet-line{color:var(--text-secondary);padding-left:.9rem;position:relative}.message-content .bullet-line:before{background:var(--accent-green);border-radius:50%;content:"";height:4px;left:.15rem;opacity:.7;position:absolute;top:.65em;width:4px}.chat-message.user .message-content .bullet-line,.chat-message.user .message-content .heading-line{color:var(--text-primary)}.page{animation:page-failsafe .4s linear 2.6s forwards;background:#0000;isolation:isolate;opacity:0;position:relative;transition:opacity .8s var(--ease-out-expo);width:100%;z-index:1}.page.intro-done{opacity:1}@keyframes page-failsafe{to{opacity:1}}@media (prefers-reduced-motion:reduce){.page{animation:none;opacity:1}}@media (max-width:768px){html{overflow-x:clip}.card-content,.content-card,.domain-card,.domain-card-inner,.footer-link,.hero-cta,.hero-stat,.mobile-nav-item,.portfolio-card,.timeline-content{min-width:0}.card-content h3,.content-card h4,.domain-name,.institution{overflow-wrap:anywhere}.theme-toggle{bottom:auto;padding:5px;right:13px;top:13px}.hero-visual{display:none}.hero{min-height:auto;padding:4.75rem var(--space-gutter) 2rem}.hero-inner{display:block}.hero-badge{font-size:.6rem;letter-spacing:.05em;margin-bottom:.9rem;padding:.3rem .7rem .3rem .55rem}.hero-title{font-size:3.1rem;letter-spacing:-.04em;line-height:.94}.hero-roles{align-items:center;flex-direction:row;font-size:1.05rem;gap:.4rem;margin-top:.85rem}.hero-roles-viewport{flex:1 1 auto;min-width:0}.hero-role{justify-content:flex-start}.hero-description{font-size:.875rem;line-height:1.6;margin-top:.85rem}.hero-actions{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:1fr 1fr;margin-top:1.35rem;width:100%}.hero-cta{font-size:.82rem;justify-content:center;padding:.85rem .75rem}.hero-stats{grid-gap:0;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:grid;gap:0;grid-template-columns:repeat(3,1fr);margin-top:1.5rem;padding:.85rem 0;text-align:center}.hero-stat+.hero-stat{border-left:1px solid var(--border-color)}.hero-stat-value{font-size:1.1rem}.hero-stat-label{font-size:.55rem;letter-spacing:.03em;line-height:1.25;margin-top:.15rem}.hero .like-container{display:flex;justify-content:flex-start;margin-top:1.25rem}.scroll-cue{display:none}.contact-title,.domains-title,.portfolio-title,.resume-title{font-size:1.75rem;letter-spacing:-.03em;margin-bottom:1.1rem}.portfolio-card{flex:0 0 82%;max-width:290px}.card-image{height:128px}.card-content{gap:.45rem;padding:.8rem .85rem .95rem}.card-content h3{font-size:.92rem;line-height:1.28}.card-content p{-webkit-line-clamp:2;font-size:.775rem;line-height:1.5}.card-header .year{font-size:.6rem;padding:.12rem .45rem}.tech-stack{gap:.25rem}.tech-tag{font-size:.58rem;padding:.12rem .4rem}.card-actions{gap:.4rem;margin-top:.15rem}.card-btn{flex:1 1;font-size:.68rem;justify-content:center;padding:.5rem}.show-more-btn{justify-content:center;width:100%}.contact-content{display:flex;flex-direction:column}.contact-right{order:-1}.social-section h3{font-size:1rem}.form-header h3{font-size:1.05rem}.form-group label{font-size:.75rem}.submit-btn{font-size:.875rem;padding:.9rem}a,button{-webkit-tap-highlight-color:transparent}.card-btn:active,.footer-link:active,.hero-cta:active,.show-more-btn:active,.tab-heading:active{transform:scale(.97)}}@media (max-width:380px){.hero-title{font-size:2.7rem}.hero-actions{grid-template-columns:1fr}.portfolio-card{flex:0 0 86%}.mobile-nav-label{font-size:.56rem}}@media (max-width:768px){.hero{padding-top:5.25rem}.hero-roles{align-items:center;flex-wrap:nowrap;font-size:.95rem;gap:.35rem;white-space:nowrap}.hero-roles,.hero-roles-prefix{line-height:1.45}.hero-roles-prefix{flex:0 0 auto}.hero-roles-viewport{flex:1 1 auto;height:1.45em;line-height:1.45;min-width:0}.hero-role{align-items:center;font-size:.95rem;justify-content:flex-start;line-height:1.45}.tab-content{align-items:stretch}.portfolio-card{height:auto}.card-image{flex:0 0 132px;height:132px}.card-content{justify-content:flex-start}.card-actions{margin-top:auto;padding-top:.35rem}.contact-section{padding-bottom:1.5rem}.contact-content{gap:.85rem}.contact-right{order:-1}.social-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.85rem 1rem}.social-section h3{font-size:.85rem;margin:0}.social-section>p{display:none}.social-links{gap:.5rem;margin-top:.6rem}.social-item{height:42px;width:42px}.social-item svg{height:18px;width:18px}.form-header p{display:none}.contact-form{gap:.7rem}.form-group{margin:0}.form-group label{margin-bottom:.3rem}.input-wrapper textarea{height:74px;min-height:74px}.footer{padding:1.5rem var(--space-gutter) 1.25rem}.footer-wordmark{display:none}.footer-inner{gap:.85rem}.footer-line{font-size:.8rem}.footer-link,.footer-sub{font-size:.65rem}.footer-link{padding:.5rem .4rem}.footer-top{top:1.5rem}.course-tag,.domain-tag,.hero-badge,.tech-tag,.time-badge,.year{flex:0 0 auto;line-height:1.45;min-width:0;overflow:visible;white-space:nowrap}.course-tag,.domain-tag,.tech-tag{font-size:.6rem;padding:.2rem .5rem}.time-badge{font-size:.63rem;padding:.2rem .55rem}.year{font-size:.62rem;padding:.18rem .5rem}.hero-badge{line-height:1.4;padding:.35rem .7rem .35rem .55rem}.card-btn{flex:0 1 auto;font-size:.7rem;line-height:1.35;min-width:0;padding:.5rem .7rem;white-space:nowrap}.card-actions{flex-wrap:wrap;gap:.35rem}.download-resume-btn,.footer-link,.hero-cta,.show-more-btn,.submit-btn,.tab-heading{line-height:1.35;overflow:visible;white-space:nowrap}.tab-heading{flex:0 0 auto}.mobile-nav-label{font-size:.6rem;line-height:1.2}}@media (max-width:380px){.card-btn{font-size:.66rem;padding:.45rem .55rem}.mobile-nav-label{font-size:.54rem;letter-spacing:-.01em}}
/*# sourceMappingURL=main.43785e94.css.map*/