@keyframes page-module__E0kJGG__orbit{0%{transform:translate(-50%,-50%)rotate(var(--angle))translateX(var(--orbit-distance))rotate(calc(-1*var(--angle)))}to{transform:translate(-50%,-50%)rotate(calc(var(--angle) + 360deg))translateX(var(--orbit-distance))rotate(calc(-1*(var(--angle) + 360deg)))}}@keyframes page-module__E0kJGG__beat{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.page-module__E0kJGG__vantaBg{z-index:0;opacity:.32;filter:saturate(1.2)brightness(.95);position:fixed;inset:0}.page-module__E0kJGG__vantaOverlay{pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 45%,#00000059,#000000bf);position:fixed;inset:0}html.light .page-module__E0kJGG__vantaOverlay{background:radial-gradient(circle at 50% 45%,#ffffff8c,#ffffff26)}.page-module__E0kJGG__orbitShell{aspect-ratio:1;--orbit-distance:clamp(135px,38vw,230px);z-index:2;border-radius:9999px;width:clamp(360px,70vw,620px);position:relative}.page-module__E0kJGG__orbitCircle{inset:calc(50% - var(--orbit-distance));opacity:.78;border:1.4px solid #94a3b88c;border-radius:9999px;position:absolute}html.light .page-module__E0kJGG__orbitCircle{opacity:.98;border:1.8px solid #94a3b8cc}.page-module__E0kJGG__orbitCore{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.page-module__E0kJGG__avatarRing{background:var(--orbit-dot);border:1px solid #ffffff38;border-radius:9999px;place-items:center;width:clamp(110px,22vw,138px);height:clamp(110px,22vw,138px);display:grid;position:relative;box-shadow:0 0 110px #0f172acc,0 0 180px #0f172a8c}html.light .page-module__E0kJGG__avatarRing{box-shadow:0 0 80px #94a3b873,0 0 120px #94a3b840}.page-module__E0kJGG__avatarRing:before{content:"";border-radius:inherit;border:1px solid var(--card-border);position:absolute;inset:-14px;box-shadow:0 0 90px #3b82f61f}.page-module__E0kJGG__avatarRing img{object-fit:cover;filter:grayscale();border-radius:9999px;animation:4s ease-in-out infinite page-module__E0kJGG__beat}.page-module__E0kJGG__orbitNode{transform:translate(-50%,-50%)rotate(var(--angle))translateX(var(--orbit-distance))rotate(calc(-1*var(--angle)));transform-origin:50%;transition:transform .16s;animation:40s linear infinite page-module__E0kJGG__orbit;position:absolute;top:50%;left:50%}.page-module__E0kJGG__orbitNode:hover{transform:translate(-50%,-50%)rotate(var(--angle))translateX(calc(var(--orbit-distance) + 6px))rotate(calc(-1*var(--angle)))}.page-module__E0kJGG__orbitDot{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e5e7eb;background:radial-gradient(circle at 30% 25%,#0b1624,#060912 55%,#050509);border:1px solid #ffffff2e;border-radius:9999px;flex-direction:column;justify-content:center;align-items:center;gap:0;width:clamp(60px,11vw,74px);height:clamp(60px,11vw,74px);transition:all .2s;display:flex;box-shadow:0 0 32px #0f172ad9,0 0 60px #0f172a8c}.page-module__E0kJGG__orbitDot:hover{border-color:#f8fafce6;transform:scale(1.03);box-shadow:0 0 38px #94a3b88c,0 0 80px #3b82f640}html.light .page-module__E0kJGG__orbitDot{background:var(--orbit-dot);color:#fff;border:1px solid #ffffff8c;box-shadow:0 0 22px #4f566659,0 0 46px #ffffff4d}.page-module__E0kJGG__orbitIcon{color:#e5e7eb;font-size:clamp(16px,3.6vw,20px);line-height:1}.page-module__E0kJGG__orbitLabelText{letter-spacing:.01em;color:#d6e0f5;text-shadow:0 0 2px #00000059,0 0 6px #00000040;text-align:center;margin-top:8px;font-size:13px;font-weight:600;display:block}html.light .page-module__E0kJGG__orbitLabelText{color:#0b1220;text-shadow:0 0 2px #fffffffa,0 0 8px #ffffffe6}.page-module__E0kJGG__modalOverlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8;justify-content:center;align-items:center;padding:clamp(12px,4vw,24px);display:flex;position:fixed;inset:0;overflow-y:auto}.page-module__E0kJGG__modalCard{aspect-ratio:4/5;border:1px solid var(--card-border);background:var(--card);width:min(960px,100vw - 64px);min-height:460px;max-height:90vh;color:var(--text-main);scrollbar-width:none;-ms-overflow-style:none;border-radius:28px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 32px 140px #000000bf}.page-module__E0kJGG__badge{color:var(--text-main);letter-spacing:.02em;background:#3b82f614;border:1px solid #3b82f633;border-radius:9999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.page-module__E0kJGG__modalContent{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:clamp(16px,3vw,24px);overflow-y:auto}.page-module__E0kJGG__modalContent::-webkit-scrollbar{display:none}.page-module__E0kJGG__modalHeader{z-index:2;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0}.page-module__E0kJGG__textFrame{border:1px solid var(--card-border);text-align:justify;text-justify:inter-word;background:#ffffff05;border-radius:14px;padding:12px 14px;line-height:1.7}html.light .page-module__E0kJGG__textFrame{background:#fffc}.page-module__E0kJGG__typingShell{min-width:120px;color:var(--text-main);align-items:center;gap:6px;font-weight:600;display:inline-flex}.page-module__E0kJGG__typingText{min-height:1.2em}.page-module__E0kJGG__caret{background:currentColor;width:8px;height:1.2em;animation:1s step-end infinite page-module__E0kJGG__caretBlink;display:inline-block}@keyframes page-module__E0kJGG__caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (max-width:640px){.page-module__E0kJGG__modalCard{width:min(100vw - 24px,520px);max-width:100vw;min-height:0;max-height:90vh;margin:auto;position:fixed;inset:0;overflow:hidden}.page-module__E0kJGG__modalCard::-webkit-scrollbar{display:none}}.page-module__E0kJGG__socialCard{background:radial-gradient(circle at 30% 20%,#ffffff0d,#fff0),radial-gradient(circle at 80% 10%,#3b82f614,#fff0),linear-gradient(#0a0c13b3,#0a0c13e6);border:1px solid #ffffff0f;border-radius:26px;width:100%;max-width:960px;margin:0 auto;padding:26px;box-shadow:0 18px 40px #0006}.page-module__E0kJGG__socialGridCard{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-auto-rows:1fr;place-items:stretch stretch;gap:16px;width:100%;max-width:820px;margin:0 auto;display:grid}.page-module__E0kJGG__socialListItem{--accent:#93c5fd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e5e7eb;isolation:isolate;background:radial-gradient(circle at 20% 20%,#ffffff0f,#ffffff05),#ffffff08;border:1px solid #ffffff14;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;min-height:88px;padding:16px 18px;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s,filter .18s;display:grid;position:relative;overflow:hidden}.page-module__E0kJGG__socialListItem:hover{box-shadow:0 14px 32px #00000052,0 0 22px #0003,0 0 0 1px var(--accent);filter:saturate(1.05);background:#ffffff0f;border-color:#ffffff29;transform:translateY(-4px)}.page-module__E0kJGG__socialListItem:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(120deg,#ffffff24,#ffffff0a,#fff0);border-radius:18px;transition:opacity .18s;position:absolute;inset:-1px}.page-module__E0kJGG__socialListItem:hover:after{opacity:1}.page-module__E0kJGG__socialListIcon{width:52px;height:52px;color:var(--accent);background:radial-gradient(circle at 30% 30%,#ffffff2e,#ffffff0a);border:1px solid #ffffff29;border-radius:16px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 10px 24px #00000047,inset 0 1px #ffffff4d,0 0 18px #93c5fd59}.page-module__E0kJGG__socialListMeta{flex-direction:column;gap:4px;display:flex}.page-module__E0kJGG__socialListLabel{color:#e5e7eb;letter-spacing:.01em;font-weight:700}.page-module__E0kJGG__socialListHandle{color:#9ca3af;font-size:13px}.page-module__E0kJGG__socialListArrow{width:34px;height:34px;color:var(--accent);background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;font-weight:700;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.page-module__E0kJGG__socialListItem:hover .page-module__E0kJGG__socialListArrow{background:#ffffff1f;border-color:#ffffff2e;transform:translate(2px)}html.light .page-module__E0kJGG__socialListItem{color:#0f172a;background:#ffffffe6;border-color:#00000014}html.light .page-module__E0kJGG__socialListItem:hover{box-shadow:0 14px 28px #0000001f,0 0 0 1px var(--accent);background:#fff}html.light .page-module__E0kJGG__socialListIcon{background:#00000008;border-color:#00000014}html.light .page-module__E0kJGG__socialListLabel{color:#0f172a}html.light .page-module__E0kJGG__socialListHandle{color:#6b7280}html.light .page-module__E0kJGG__socialListArrow{background:#0000000a;border-color:#00000014}.page-module__E0kJGG__profileGrid{align-items:flex-start}.page-module__E0kJGG__profileMedia{flex-shrink:0;width:100%;height:auto;max-height:none;overflow:visible}.page-module__E0kJGG__profileFrame{background:#ffffff05;padding:12px 14px}html.light .page-module__E0kJGG__profileFrame{background:#fffc}.page-module__E0kJGG__profileImage{object-fit:contain;border-radius:18px;width:100%;height:100%;display:block}@media (min-width:768px){.page-module__E0kJGG__profileGrid{gap:18px}.page-module__E0kJGG__profileMedia{width:360px;height:360px;max-height:360px;overflow:hidden}.page-module__E0kJGG__profileFrame{padding:0}.page-module__E0kJGG__profileMediaSticky{align-self:flex-start;position:sticky;top:0}.page-module__E0kJGG__profileImage{object-fit:cover}.page-module__E0kJGG__profileText{scrollbar-width:thin;max-height:70vh;padding-right:8px;overflow-y:auto}.page-module__E0kJGG__profileText::-webkit-scrollbar{width:6px}.page-module__E0kJGG__profileText::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:999px}}@media (prefers-reduced-motion:reduce){.page-module__E0kJGG__orbitNode{transition:none;animation:none}.page-module__E0kJGG__orbitDot,.page-module__E0kJGG__avatarRing{transition:none}.page-module__E0kJGG__avatarRing img{animation:none}}
.skills-module___TLayW__skillsGlobe{aspect-ratio:1;perspective:1200px;filter:drop-shadow(0 26px 48px #0000006b);justify-content:center;align-items:center;width:clamp(260px,70vw,420px);margin:0 auto;display:flex;position:relative;transform:rotateX(8deg)}.skills-module___TLayW__skillsRotator{transform-style:preserve-3d;--user-rotate:0deg;transform:rotateX(12deg)rotateY(var(--user-rotate,0deg));cursor:grab;touch-action:pan-y;transition:transform .2s ease-out;position:absolute;inset:0}.skills-module___TLayW__skillsRotator:active{cursor:grabbing}.skills-module___TLayW__dragging{transition:none}.skills-module___TLayW__skillsGlobe:before,.skills-module___TLayW__skillsGlobe:after{content:none}.skills-module___TLayW__skillsRing{transform-style:preserve-3d;transform-origin:50%;animation:18s linear infinite skills-module___TLayW__skill-spin;position:absolute;inset:0}.skills-module___TLayW__skillLogo{transform-style:preserve-3d;--radius:clamp(122px,30vw,190px);transform:rotateY(var(--angle))rotateX(var(--lat,10deg))translateZ(calc(var(--radius)*var(--depth,1)))rotateX(calc(-1*var(--lat,10deg)))rotateY(calc(-1*var(--angle)))scale(var(--scale,1));transition:transform .32s,filter .28s;position:absolute;top:50%;left:50%}.skills-module___TLayW__skillsGlobe:hover .skills-module___TLayW__skillLogo{filter:brightness(1.06)}.skills-module___TLayW__skillToken{width:60px;height:60px;box-shadow:none;background:0 0;border:none;border-radius:50%;place-items:center;transition:transform .22s;display:grid}.skills-module___TLayW__skillLogo img{object-fit:contain;filter:drop-shadow(0 9px 16px #0000008c);width:100%;height:100%}.skills-module___TLayW__skillLogo:hover .skills-module___TLayW__skillToken{transform:scale(1.08)}.skills-module___TLayW__skillLabel{display:none}@keyframes skills-module___TLayW__skill-spin{0%{transform:rotateY(0)rotateX(8deg)}to{transform:rotateY(360deg)rotateX(8deg)}}.skills-module___TLayW__dragging .skills-module___TLayW__skillsRing{animation-play-state:paused}@media (max-width:640px){.skills-module___TLayW__skillsGlobe{width:min(82vw,340px)}}@media (prefers-reduced-motion:reduce){.skills-module___TLayW__skillsRing{animation:none}.skills-module___TLayW__skillsRotator,.skills-module___TLayW__skillLogo,.skills-module___TLayW__skillToken{transition:none}}
