:root{--bg: #f4f8fb;--bg-elevated: #ffffff;--surface: rgba(255, 255, 255, .72);--text: #0b1f33;--text-muted: #4a6278;--accent: #0a8ec9;--accent-deep: #046a9e;--accent-soft: #e6f6fd;--line: rgba(10, 142, 201, .18);--shadow: 0 18px 50px rgba(11, 31, 51, .08);--hero-glow-1: rgba(10, 142, 201, .38);--hero-glow-2: rgba(14, 165, 160, .3);--hero-glow-3: rgba(37, 99, 235, .22);--mesh-1: #dff3fc;--mesh-2: #e8f7f4;--mesh-3: #f0f5fb;--gradient-brand: linear-gradient(135deg, #046a9e 0%, #0a8ec9 45%, #14b8a6 100%);--gradient-card: linear-gradient(160deg, rgba(10, 142, 201, .08), rgba(20, 184, 166, .04))}html.dark{--bg: #071018;--bg-elevated: #0d1a26;--surface: rgba(13, 26, 38, .78);--text: #e8f1f8;--text-muted: #9bb0c3;--accent: #38bdf8;--accent-deep: #0ea5e9;--accent-soft: rgba(56, 189, 248, .12);--line: rgba(56, 189, 248, .2);--shadow: 0 22px 60px rgba(0, 0, 0, .35);--hero-glow-1: rgba(14, 165, 233, .34);--hero-glow-2: rgba(20, 184, 166, .26);--hero-glow-3: rgba(59, 130, 246, .22);--mesh-1: #0a1a28;--mesh-2: #0c2230;--mesh-3: #09141f;--gradient-brand: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 50%, #2dd4bf 100%);--gradient-card: linear-gradient(160deg, rgba(14, 165, 233, .12), rgba(45, 212, 191, .05))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;transition:background-color .35s ease,color .35s ease;overflow-x:hidden}h1,h2,h3,h4,.font-display{font-family:Sora,sans-serif}.font-name{font-family:Fraunces,Sora,serif;font-optical-sizing:auto;font-variation-settings:"SOFT" 50,"WONK" 1}::selection{background:#0a8ec940;color:var(--text)}.page-shell{position:relative;min-height:100vh;isolation:isolate}.ambient-bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse 85% 60% at 10% -10%,var(--hero-glow-1),transparent 52%),radial-gradient(ellipse 70% 55% at 90% 5%,var(--hero-glow-2),transparent 48%),radial-gradient(ellipse 65% 50% at 50% 100%,var(--hero-glow-3),transparent 50%),radial-gradient(ellipse 45% 35% at 72% 42%,var(--hero-glow-1),transparent 55%),linear-gradient(180deg,var(--mesh-1),var(--mesh-3) 45%,var(--bg))}.orb{position:absolute;border-radius:50%;filter:blur(64px);opacity:.78;will-change:transform,opacity}.orb-1{width:34rem;height:34rem;top:4%;left:-12%;background:var(--hero-glow-1);animation:driftA 18s ease-in-out infinite alternate,orbPulse 7s ease-in-out infinite}.orb-2{width:28rem;height:28rem;top:38%;right:-10%;background:var(--hero-glow-2);animation:driftB 14s ease-in-out infinite alternate,orbPulse 9s ease-in-out infinite;animation-delay:0s,-2s}.orb-3{width:24rem;height:24rem;bottom:4%;left:22%;background:var(--hero-glow-3);animation:driftC 20s ease-in-out infinite alternate,orbPulse 8s ease-in-out infinite;animation-delay:0s,-4s}.orb-4{width:20rem;height:20rem;top:14%;right:18%;background:var(--hero-glow-1);opacity:.62;animation:driftA 12s ease-in-out infinite alternate-reverse,orbPulse 6s ease-in-out infinite;animation-delay:0s,-1s}.orb-5{width:16rem;height:16rem;bottom:28%;right:8%;background:var(--hero-glow-2);opacity:.55;animation:driftB 16s ease-in-out infinite alternate-reverse,orbPulse 10s ease-in-out infinite;animation-delay:0s,-3s}.orb-6{width:18rem;height:18rem;top:58%;left:6%;background:var(--hero-glow-3);opacity:.5;animation:driftC 22s ease-in-out infinite alternate,orbPulse 11s ease-in-out infinite;animation-delay:0s,-5s}.particle{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.55;box-shadow:0 0 18px var(--accent),0 0 36px #0a8ec959;animation:floatParticle 12s ease-in-out infinite}.particle-1{top:18%;left:12%;animation-delay:0s}.particle-2{top:32%;left:78%;width:4px;height:4px;animation-delay:-3s}.particle-3{top:58%;left:18%;width:5px;height:5px;animation-delay:-6s}.particle-4{top:72%;left:64%;animation-delay:-2s}.particle-5{top:24%;left:48%;width:3px;height:3px;animation-delay:-8s}.particle-6{top:80%;left:86%;width:4px;height:4px;animation-delay:-5s}.grid-overlay{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.035;background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);animation:gridShift 40s linear infinite}.tech-bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;display:none}@media(min-width:900px){.tech-bg{display:block}}.tech-logo{position:absolute;display:grid;place-items:center;width:3.4rem;height:3.4rem;opacity:.14;filter:drop-shadow(0 8px 18px rgba(11,31,51,.08));animation:techFloat 16s ease-in-out infinite;will-change:transform}html.dark .tech-logo{opacity:.18;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}.tech-logo svg{width:100%;height:100%}.tech-logo-muted{color:var(--text-muted)}.tech-logo-1{top:12%;left:6%;width:3.8rem;height:3.8rem;animation-delay:0s}.tech-logo-2{top:22%;right:8%;width:3.2rem;height:3.2rem;animation-delay:-2s;animation-duration:18s}.tech-logo-3{top:38%;left:3%;width:3rem;height:3rem;animation-delay:-4s;animation-duration:15s}.tech-logo-4{top:48%;right:4%;width:2.8rem;height:2.8rem;animation-delay:-1s;animation-duration:17s}.tech-logo-5{top:62%;left:8%;width:3.3rem;height:3.3rem;animation-delay:-6s;animation-duration:19s}.tech-logo-6{top:72%;right:10%;width:2.7rem;height:2.7rem;animation-delay:-3s;animation-duration:14s}.tech-logo-7{top:18%;left:28%;width:2.6rem;height:2.6rem;animation-delay:-5s;animation-duration:20s}.tech-logo-8{top:55%;left:22%;width:2.8rem;height:2.8rem;animation-delay:-7s;animation-duration:16s}.tech-logo-9{top:33%;right:22%;width:2.9rem;height:2.9rem;animation-delay:-2.5s;animation-duration:18s}.tech-logo-10{top:78%;left:30%;width:2.5rem;height:2.5rem;animation-delay:-8s;animation-duration:15s}.tech-logo-11{top:85%;right:28%;width:3.1rem;height:3.1rem;opacity:.1;animation-delay:-4.5s;animation-duration:21s}.tech-logo-12{top:8%;right:30%;width:2.7rem;height:2.7rem;opacity:.12;animation-delay:-9s;animation-duration:17s}html.dark .tech-logo-11,html.dark .tech-logo-12{opacity:.14}@keyframes techFloat{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-14px) translate(8px) rotate(4deg)}50%{transform:translateY(-6px) translate(-6px) rotate(-3deg)}75%{transform:translateY(-18px) translate(4px) rotate(2deg)}}.click-burst-layer{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden}.click-burst-dot{position:absolute;border-radius:50%;transform:translate(-50%,-50%);animation:clickBurstOut var(--burst-duration, .65s) cubic-bezier(.16,1,.3,1) forwards}@keyframes clickBurstOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--burst-x, 40px)),calc(-50% + var(--burst-y, 40px))) scale(.15)}}.nav-glass{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.lang-switcher{position:relative}.lang-switcher-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:.75rem;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease}.lang-switcher-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.lang-switcher-code{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--accent)}.lang-switcher-label{font-size:.8rem;font-weight:650;max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-switcher-chevron{font-size:.7rem;opacity:.7;transition:transform .2s ease}.lang-switcher-chevron.is-open{transform:rotate(180deg)}.lang-switcher-menu{position:absolute;top:calc(100% + .45rem);inset-inline-end:0;min-width:12.5rem;max-height:18rem;overflow-y:auto;padding:.4rem;border-radius:.95rem;border:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow);z-index:60}.lang-switcher-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border:0;border-radius:.7rem;background:transparent;color:var(--text);text-align:start;cursor:pointer;transition:background .2s ease}.lang-switcher-option:hover,.lang-switcher-option.is-active{background:var(--accent-soft)}.lang-switcher-option-code{flex-shrink:0;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.55rem;font-size:.68rem;font-weight:800;color:var(--accent);background:var(--surface);border:1px solid var(--line)}html[dir=rtl] .font-name{font-family:Fraunces,Sora,Noto Naskh Arabic,serif}html[dir=rtl] body{font-family:Manrope,Noto Naskh Arabic,sans-serif}.brand-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.35rem;border-radius:.85rem;background:var(--gradient-brand);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 12px 30px #0a8ec947;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 36px #0a8ec95c;filter:brightness(1.05)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.35rem;border-radius:.85rem;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:650;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,border-color .25s ease,background .25s ease}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}.skill-chip{display:inline-flex;align-items:center;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--accent-soft);color:var(--text);font-size:.875rem;font-weight:560;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.skill-chip:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 18px #0a8ec91f}.skills-grid{display:grid;grid-template-columns:1fr;gap:1.15rem;position:relative;z-index:1}.skills-section-wrap{position:relative}.skills-section-bg{pointer-events:none;position:absolute;top:-1.5rem;right:-.5rem;bottom:-1.5rem;left:-.5rem;z-index:0;overflow:hidden;display:none}@media(min-width:768px){.skills-section-bg{display:block}}.skills-bg-icon{position:absolute;width:3rem;height:3rem;color:var(--accent);opacity:.1;animation:techFloat 18s ease-in-out infinite}html.dark .skills-bg-icon{opacity:.14}.skills-bg-icon svg{width:100%;height:100%}.skills-bg-icon-1{top:4%;left:2%;animation-delay:0s}.skills-bg-icon-2{top:12%;right:4%;width:2.6rem;height:2.6rem;animation-delay:-2s}.skills-bg-icon-3{top:38%;left:-.5%;width:2.8rem;height:2.8rem;animation-delay:-4s}.skills-bg-icon-4{top:48%;right:1%;animation-delay:-1s}.skills-bg-icon-5{top:68%;left:4%;width:2.5rem;height:2.5rem;animation-delay:-6s}.skills-bg-icon-6{top:78%;right:6%;width:2.7rem;height:2.7rem;animation-delay:-3s}.skills-bg-icon-7{top:22%;left:48%;width:2.4rem;height:2.4rem;opacity:.07;animation-delay:-5s}.skills-bg-icon-8{top:58%;left:46%;width:2.5rem;height:2.5rem;opacity:.07;animation-delay:-7s}.skills-bg-icon-9{top:88%;left:42%;width:2.6rem;height:2.6rem;opacity:.08;animation-delay:-8s}html.dark .skills-bg-icon-7,html.dark .skills-bg-icon-8,html.dark .skills-bg-icon-9{opacity:.1}@media(min-width:768px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill-card{position:relative;border-radius:1.35rem;isolation:isolate}.skill-card.reveal{opacity:0;transform:translateY(32px) scale(.97);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.skill-card.reveal.visible{opacity:1;transform:translateY(0) scale(1)}.skill-card-glow{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--gradient-brand);opacity:0;filter:blur(14px);transition:opacity .35s ease;z-index:-1}.skill-card:hover .skill-card-glow{opacity:.42}.skill-card-inner{position:relative;height:100%;overflow:hidden;border-radius:inherit;border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);padding:1.35rem 1.3rem 1.4rem;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease}.skill-card-bg-icon{position:absolute;right:-.35rem;bottom:-.55rem;width:7.5rem;height:7.5rem;color:var(--accent);opacity:.08;pointer-events:none;z-index:0;transform:rotate(-12deg);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}html.dark .skill-card-bg-icon{opacity:.12}.skill-card-bg-icon svg{width:100%;height:100%}.skill-card:hover .skill-card-bg-icon{opacity:.16;transform:rotate(-6deg) scale(1.08) translate(-6px,-4px)}html.dark .skill-card:hover .skill-card-bg-icon{opacity:.22}.skill-card-inner>*:not(.skill-card-bg-icon){position:relative;z-index:1}.skill-card-inner:before{content:"";position:absolute;top:-40%;right:-20%;width:10rem;height:10rem;border-radius:50%;background:radial-gradient(circle,var(--hero-glow-1),transparent 70%);opacity:.45;pointer-events:none;transition:opacity .35s ease,transform .45s ease;z-index:0}.skill-card:hover .skill-card-inner{transform:translateY(-7px);border-color:#0a8ec959;box-shadow:0 24px 50px #0b1f3324}.skill-card:hover .skill-card-inner:before{opacity:.75;transform:scale(1.15) translate(-8px,10px)}html.dark .skill-card:hover .skill-card-inner{box-shadow:0 24px 50px #0006}.skill-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.skill-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:.9rem;color:#fff;background:var(--gradient-brand);box-shadow:0 10px 22px #0a8ec947;transition:transform .35s cubic-bezier(.22,1,.36,1)}.skill-card:hover .skill-card-icon{transform:rotate(-6deg) scale(1.06)}.skill-card-count{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--accent-soft)}.skill-card-title{margin:0;font-family:Sora,sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--text);transition:color .25s ease}.skill-card:hover .skill-card-title{color:var(--accent)}.skill-card-divider{margin:.9rem 0 1rem;height:2px;width:2.75rem;border-radius:999px;background:var(--gradient-brand);transition:width .35s ease}.skill-card:hover .skill-card-divider{width:4.25rem}.skill-chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.skill-chip-animated{opacity:0;transform:translateY(8px)}.skill-card.reveal.visible .skill-chip-animated{animation:skillChipIn .45s ease forwards}@keyframes skillChipIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-filters{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;padding-bottom:.35rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.project-filters::-webkit-scrollbar{display:none}.project-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:700;padding:.45rem .85rem;border-radius:999px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.project-filter-chip:hover{transform:translateY(-1px);color:var(--accent);border-color:var(--accent)}.project-filter-chip.is-active{color:#fff;border-color:transparent;background:var(--gradient-brand);box-shadow:0 10px 24px #0a8ec947}.project-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch}@media(min-width:768px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{position:relative;border-radius:1.35rem;isolation:isolate}.project-card.reveal{opacity:0;transform:translateY(36px) scale(.97);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.project-card.reveal.visible{opacity:1;transform:translateY(0) scale(1)}.project-card-glow{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--gradient-brand);opacity:0;filter:blur(14px);transition:opacity .35s ease;z-index:-1}.project-card:hover .project-card-glow{opacity:.45}.project-card-inner{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:inherit;border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease}.project-card:hover .project-card-inner{transform:translateY(-8px);border-color:#0a8ec959;box-shadow:0 28px 60px #0b1f3329}html.dark .project-card:hover .project-card-inner{box-shadow:0 28px 60px #00000073}.project-media{position:relative;overflow:hidden;height:13.5rem;background:var(--gradient-card)}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s ease}.project-media img.project-logo{object-fit:contain;padding:1.75rem;background:linear-gradient(160deg,#ffffffeb,#ecf8fff5)}html.dark .project-media img.project-logo{background:linear-gradient(160deg,#0d1a26fa,#081420fa)}.project-media img.project-logo-dark{background:#000;padding:1.5rem}.project-logo-shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#ffffffeb,#ecf8fff5)}html.dark .project-logo-shell{background:linear-gradient(160deg,#0d1a26fa,#081420fa)}.project-logo-shell img.project-logo-rounded{width:7.25rem;height:7.25rem;max-width:46%;max-height:72%;padding:0;border-radius:1.35rem;object-fit:contain;background:transparent;box-shadow:0 12px 30px #0b1f3329}html.dark .project-logo-shell img.project-logo-rounded{box-shadow:0 12px 30px #0000006b}html.dark .project-media img.project-logo-dark{background:#000}.project-card:hover .project-media img,.project-card:hover .project-logo-shell img.project-logo-rounded{transform:scale(1.08);filter:saturate(1.08) contrast(1.03)}.project-media-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,rgba(7,16,24,.55) 100%);pointer-events:none}.project-media-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%);transform:translate(-120%);pointer-events:none}.project-card:hover .project-media-shine{animation:projectShine .9s ease forwards}.project-placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--gradient-brand);color:#fff;font-family:Sora,sans-serif;position:relative;overflow:hidden;padding:1.25rem 1.1rem;text-align:center}.project-placeholder-name{position:relative;z-index:1;font-size:clamp(.95rem,2.4vw,1.35rem);font-weight:700;letter-spacing:-.02em;line-height:1.25;max-width:100%;overflow-wrap:anywhere;text-wrap:balance}.project-placeholder:after{content:"";position:absolute;width:10rem;height:10rem;border-radius:50%;background:#ffffff29;top:-2rem;right:-2rem;animation:pulseSoft 3.5s ease-in-out infinite}.project-index{position:absolute;top:.9rem;right:.9rem;z-index:2;padding:.28rem .55rem;border-radius:.55rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;color:#fff;background:#07101873;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}.project-company-badge{position:absolute;left:.9rem;bottom:.9rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .7rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:#fff;background:#0710188c;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-body{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.3rem 1.35rem}.project-title{font-family:Sora,sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 .65rem;transition:color .25s ease}.project-card:hover .project-title{color:var(--accent)}.project-desc{flex:1;margin-bottom:1rem;min-width:0}.summary-box{border:1px solid var(--line);border-radius:1.1rem;background:var(--surface);box-shadow:var(--shadow);padding:1.15rem 1.25rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.education-degree-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.education-degree-row .brand-gradient{flex:1;min-width:0}.education-degree-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);width:2.65rem;height:2.65rem;border-radius:.85rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.education-degree-btn:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--surface);box-shadow:0 10px 24px #0a8ec92e}.degree-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:stretch;justify-content:stretch;padding:0;background:#071018e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.degree-modal{position:relative;width:100%;height:100%;border-radius:0;border:0;background:var(--bg-elevated);box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.degree-modal-close{position:absolute;top:1rem;right:1rem;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:2.75rem;height:2.75rem;border-radius:999px;background:#0b1f331a;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}html.dark .degree-modal-close{background:#ffffff1f}.degree-modal-close:hover{background:var(--accent-soft);color:var(--accent)}.degree-modal-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:4rem 1rem 1.5rem;overflow:auto}.degree-modal-rotate-wrap{display:flex;align-items:center;justify-content:center;transform:rotate(90deg);max-width:calc(100vh - 5.5rem);max-height:calc(100vw - 2.5rem)}.degree-modal-image{display:block;object-fit:contain;width:auto;height:auto;max-width:calc(100vh - 5.5rem);max-height:calc(100vw - 2.5rem);border-radius:.65rem;box-shadow:0 18px 50px #0b1f332e}html.dark .degree-modal-image{box-shadow:0 18px 50px #00000073}.experience-desc-box{border:1px solid var(--line);border-radius:.9rem;background:var(--accent-soft);padding:.9rem 1rem}@media(min-width:640px){.summary-box{padding:1.4rem 1.6rem}.experience-desc-box{padding:1.05rem 1.15rem}}.project-desc-box{border:1px solid var(--line);border-radius:.9rem;background:var(--accent-soft);padding:.85rem .95rem;min-height:5.75rem;max-height:5.75rem;overflow:hidden;transition:max-height .35s ease,background .25s ease,border-color .25s ease}.project-desc.is-expanded .project-desc-box{max-height:16rem;overflow-y:auto;border-color:#0a8ec959;background:var(--surface);-webkit-overflow-scrolling:touch}.project-desc-text{margin:0;color:var(--text);font-size:.9rem;line-height:1.65;word-break:break-word;overflow-wrap:anywhere}.project-more-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin-top:.55rem;display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-size:.84rem;font-weight:800;cursor:pointer;transition:gap .2s ease,opacity .2s ease}.project-more-btn:hover{gap:.45rem;opacity:.88}.project-more-chevron{display:inline-block;transition:transform .25s ease;font-size:.75rem}.project-more-chevron.is-open{transform:rotate(180deg)}.project-footer{margin-top:auto;padding-top:.85rem;border-top:1px solid var(--line)}.project-store-row{display:flex;flex-wrap:wrap;gap:.5rem}.store-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:.75rem;font-size:.8rem;font-weight:700;text-decoration:none;border:1px solid var(--line);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.store-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0b1f331a}.store-btn-play{color:#34a853;background:#34a8531a;border-color:#34a85347}.store-btn-play:hover{background:#34a8532e;border-color:#34a853}.store-btn-apple{color:var(--text);background:var(--accent-soft)}.store-btn-apple:hover{border-color:var(--accent)}.project-availability{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:700;color:var(--accent)}.project-availability.muted{color:var(--text-muted);font-weight:560}@keyframes projectShine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.timeline-line{background:linear-gradient(180deg,var(--accent),transparent)}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.85rem;color:#fff;background:var(--gradient-brand);box-shadow:0 10px 24px #0a8ec947;flex-shrink:0}.profile-frame{position:relative;padding:.35rem}.avatar-ring{position:relative;display:inline-block}.avatar-ring-lg:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:999px;background:conic-gradient(from 210deg,#046a9e,#0a8ec9,#14b8a6,#38bdf8,#046a9e);z-index:0}.avatar-ring-lg:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;background:var(--bg);z-index:0}.profile-photo{position:relative;z-index:1;border:5px solid var(--bg-elevated);box-shadow:0 20px 50px #0b1f3338,0 0 0 1px var(--line),0 0 48px #0a8ec92e;filter:saturate(1.05) contrast(1.02);object-position:center 18%}.type-caret{display:inline-block;width:3px;height:.85em;margin-left:4px;vertical-align:-.08em;border-radius:2px;background:var(--accent);animation:caretBlink .9s steps(1) infinite}.type-caret-done{animation:caretBlink 1.2s steps(1) infinite;opacity:.75}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.float-y{animation:floatY 5.5s ease-in-out infinite}.pulse-soft{animation:pulseSoft 3.2s ease-in-out infinite}@keyframes driftA{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(70px,55px,0) scale(1.18)}}@keyframes driftB{0%{transform:translateZ(0) scale(1.08)}to{transform:translate3d(-65px,50px,0) scale(.92)}}@keyframes driftC{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(55px,-60px,0) scale(1.16)}}@keyframes orbPulse{0%,to{opacity:.62;filter:blur(64px)}50%{opacity:.92;filter:blur(72px)}}@keyframes floatParticle{0%,to{transform:translateY(0) translate(0);opacity:.35}50%{transform:translateY(-36px) translate(18px);opacity:.85}}@keyframes gridShift{0%{background-position:0 0}to{background-position:56px 56px}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseSoft{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes caretBlink{0%,45%{opacity:1}50%,to{opacity:0}}.animate-hero{animation:fadeInUp .9s ease forwards}.animate-hero-delay-1{animation-delay:.12s;opacity:0}.animate-hero-delay-2{animation-delay:.24s;opacity:0}.animate-hero-delay-3{animation-delay:.36s;opacity:0}.animate-hero-delay-4{animation-delay:.48s;opacity:0}@media(max-width:420px){.lang-switcher-label{display:none}}@media(max-width:639px){.orb-1,.orb-2,.orb-3,.orb-4,.orb-5,.orb-6{width:16rem;height:16rem;filter:blur(48px);opacity:.58}.section-icon{width:2.15rem;height:2.15rem;border-radius:.7rem}.btn-primary,.btn-ghost{padding:.8rem 1.1rem;font-size:.92rem}.profile-frame{padding:.2rem}.avatar-ring-lg:before{top:-7px;right:-7px;bottom:-7px;left:-7px}.profile-photo{border-width:4px}.project-media{height:11.5rem}.project-body{padding:1rem 1.05rem 1.15rem}.project-title{font-size:1.05rem}.project-company-badge{left:.65rem;bottom:.65rem;font-size:.65rem;padding:.3rem .55rem;max-width:calc(100% - 4.5rem);overflow:hidden;text-overflow:ellipsis}.project-index{top:.65rem;right:.65rem;font-size:.65rem}.skill-card-inner{padding:1.1rem 1.05rem 1.15rem}.skill-card-title{font-size:1.05rem}.skill-chip{font-size:.78rem;padding:.32rem .65rem}.store-btn{flex:1 1 auto;justify-content:center;min-width:calc(50% - .25rem)}.panel{border-radius:1rem}}@media(min-width:640px){.project-filters{flex-wrap:wrap;overflow:visible}}@media(prefers-reduced-motion:reduce){.orb,.particle,.grid-overlay,.animate-hero,.type-caret,.project-media-shine,.project-placeholder:after,.tech-logo,.click-burst-dot{animation:none!important}.reveal,.project-card.reveal,.project-card:hover .project-card-inner,.project-card:hover .project-media img,.skill-card.reveal,.skill-card:hover .skill-card-inner,.skill-chip-animated{opacity:1;transform:none;transition:none;animation:none!important}}
