:root{--primary: #4f46e5;--primary-rgb: 79, 70, 229;--primary-strong: #4338ca;--accent: #0891b2;--accent-rgb: 8, 145, 178;--gradient: linear-gradient(135deg, #4f46e5 0%, #7c3aed 45%, #06b6d4 100%);--bg: #f6f7fb;--bg-alt: #eef1f8;--surface: #ffffff;--surface-2: #f2f4fa;--text: #0f172a;--text-muted: #556079;--text-soft: #7a849b;--border: #e1e5ef;--border-strong: #cdd3e1;--success: #059669;--warning: #d97706;--danger: #dc2626;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--journal: var(--series-1);--chapter: var(--series-2);--conference: var(--series-3);--review: var(--series-4);--chart-grid: #e6e8ef;--chart-axis: #c3c7d4;--chart-gap: var(--surface);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px -8px rgba(15, 23, 42, .14);--shadow-lg: 0 24px 48px -16px rgba(15, 23, 42, .22);--glow: 0 10px 30px -10px rgba(var(--primary-rgb), .55);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--radius-full: 999px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Consolas", monospace;--nav-h: 68px;--container: 1180px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:light}[data-theme=dark]{--primary: #818cf8;--primary-rgb: 129, 140, 248;--primary-strong: #a5b4fc;--accent: #22d3ee;--accent-rgb: 34, 211, 238;--gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 45%, #22d3ee 100%);--bg: #0a0f1e;--bg-alt: #0e1528;--surface: #121a30;--surface-2: #18223d;--text: #e7eaf3;--text-muted: #9aa5bd;--text-soft: #75809a;--border: #212c48;--border-strong: #2e3b5e;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--chart-grid: #222c47;--chart-axis: #34405f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 28px 56px -18px rgba(0, 0, 0, .75);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .35s var(--ease),color .35s var(--ease)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}p{margin:0 0 1em}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-strong)}img{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}::selection{background:rgba(var(--primary-rgb),.25)}mark{background:rgba(var(--accent-rgb),.25);color:inherit;border-radius:3px;padding:0 2px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}@media (max-width: 600px){.container{padding:0 16px}}.section{padding:104px 0;position:relative}.section--alt{background:var(--bg-alt)}@media (max-width: 760px){.section{padding:72px 0}}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--primary);color:#fff;padding:8px 14px;border-radius:var(--radius-sm)}.skip-link:focus{top:12px;color:#fff}.reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.reveal--up{transform:translateY(28px)}.reveal--left{transform:translate(-28px)}.reveal--right{transform:translate(28px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;line-height:1;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--gradient);background-size:160% 160%;color:#fff;box-shadow:var(--glow)}.btn--primary:hover{color:#fff;background-position:100% 0;box-shadow:0 14px 34px -10px rgba(var(--primary-rgb),.7)}.btn--outline{border-color:var(--border-strong);color:var(--text);background:var(--surface)}.btn--outline:hover{border-color:var(--primary);color:var(--primary)}.btn--ghost{color:var(--text-muted);background:transparent}.btn--ghost:hover{color:var(--primary);background:rgba(var(--primary-rgb),.08)}.btn--sm{padding:8px 14px;font-size:.85rem}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);transition:transform .2s var(--ease),color .2s,border-color .2s,background .2s;flex-shrink:0}.icon-btn:hover{color:var(--primary);border-color:rgba(var(--primary-rgb),.5);transform:translateY(-2px)}.icon-btn--sm{width:32px;height:32px;border-radius:9px}.icon-btn--sm span:empty{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s,background .35s}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);font-size:.85rem;font-weight:500;color:var(--text-muted)}.chips--sm .chip{padding:3px 10px;font-size:.75rem}.chip--interactive{cursor:pointer;transition:all .2s var(--ease)}.chip--interactive:hover{color:var(--primary);border-color:rgba(var(--primary-rgb),.45);background:rgba(var(--primary-rgb),.08);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;--c: var(--primary);color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.badge--accent{--c: var(--accent)}.badge--type{--c: var(--text-soft)}.badge--live{--c: var(--success)}.badge--live:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.8s infinite}.badge--journal{--c: var(--journal)}.badge--chapter{--c: var(--chapter)}.badge--conference{--c: var(--conference)}.badge--review{--c: var(--review)}.segmented{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px;margin:0 auto 36px;width:fit-content;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full)}.segmented button{padding:8px 18px;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;color:var(--text-muted);transition:all .25s var(--ease);white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button.is-active{background:var(--gradient);color:#fff;box-shadow:var(--glow)}.segmented__count{display:inline-block;margin-left:4px;font-size:.75rem;opacity:.75}.segmented--scroll{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.segmented--scroll::-webkit-scrollbar{display:none}@media (max-width: 600px){.segmented{border-radius:var(--radius)}}.section-header{text-align:center;max-width:680px;margin:0 auto 48px}.section-header__eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}.section-header__title{font-size:clamp(1.9rem,4vw,2.75rem);margin-bottom:14px}.section-header__subtitle{color:var(--text-muted);font-size:1.05rem;margin:0}.ticks li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--text-muted)}.ticks li:before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gradient)}.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:120}.scroll-progress__bar{height:100%;background:var(--gradient);transform-origin:0 50%;transform:scaleX(0)}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--gradient);box-shadow:var(--glow);opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:all .35s var(--ease)}.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.back-to-top:hover{transform:translateY(-3px)}.theme-toggle__icon{display:grid;transition:transform .5s var(--ease)}.theme-toggle__icon.is-dark{transform:rotate(180deg)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:16px;background:#05081499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}.modal__dialog{width:min(640px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:popIn .3s var(--ease)}.modal__dialog:focus{outline:none}.modal__head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border)}.modal__head h3{margin:0;font-size:1.15rem}.modal__body{padding:22px}.switch{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{position:relative;width:40px;height:22px;border-radius:20px;background:var(--border-strong);transition:background .25s}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease)}.switch input:checked+.switch__track{background:var(--primary)}.switch input:checked+.switch__track:after{transform:translate(18px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--primary);outline-offset:2px}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:0}}@keyframes pillIn{0%{opacity:0;transform:translateY(10px) scale(.95)}}.navbar{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-h);transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent}.navbar.is-scrolled,.navbar.is-open{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}.navbar__inner{height:100%;display:flex;align-items:center;gap:20px}.navbar__brand{display:flex;align-items:center;gap:10px;color:var(--text);font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-right:auto}.navbar__brand:hover{color:var(--text)}.navbar__logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--gradient);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.95rem;box-shadow:var(--glow);flex-shrink:0}.navbar__links{display:flex;gap:2px}.navbar__links a{position:relative;display:block;padding:8px 12px;border-radius:10px;font-size:.92rem;font-weight:500;color:var(--text-muted)}.navbar__links a:hover{color:var(--text);background:rgba(var(--primary-rgb),.07)}.navbar__links a.is-active{color:var(--primary)}.navbar__links a.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--gradient)}.navbar__actions{display:flex;align-items:center;gap:10px}.navbar__burger{display:none}@media (max-width: 1100px){.navbar__burger{display:inline-grid}.navbar__links{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:4px;padding:16px;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);transform:translateY(-12px);opacity:0;visibility:hidden;transition:all .3s var(--ease)}.navbar.is-open .navbar__links{transform:none;opacity:1;visibility:visible}.navbar__links a{padding:12px 14px;font-size:1rem}.navbar__links a.is-active{background:rgba(var(--primary-rgb),.1)}.navbar__links a.is-active:after{display:none}}@media (max-width: 480px){.navbar__cv,.navbar__name{display:none}}.hero{position:relative;min-height:min(100vh,980px);min-height:min(100svh,980px);display:flex;align-items:center;padding:calc(var(--nav-h) + 40px) 0 80px;overflow:hidden;isolation:isolate}.neural-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.75}.hero__glow{position:absolute;z-index:-2;border-radius:50%;filter:blur(80px);opacity:.45;pointer-events:none}.hero__glow--a{width:520px;height:520px;background:rgba(var(--primary-rgb),.55);top:-120px;left:-160px;animation:float 12s ease-in-out infinite}.hero__glow--b{width:460px;height:460px;background:rgba(var(--accent-rgb),.45);bottom:-140px;right:-120px;animation:float 14s ease-in-out infinite reverse}.hero__inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:56px}.hero__badge{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;margin-bottom:22px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--text-muted);box-shadow:var(--shadow-sm);animation:popIn .8s var(--ease) both}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--success);color:var(--success);animation:pulse 1.8s infinite}.hero__title{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:700;letter-spacing:-.03em;margin-bottom:6px;animation:popIn .8s .1s var(--ease) both}.hero__bn{font-size:1.1rem;color:var(--text-soft);margin-bottom:14px;animation:popIn .8s .15s var(--ease) both}.hero__role{font-family:var(--font-display);font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:600;color:var(--primary);min-height:1.6em;display:flex;align-items:center;margin-bottom:18px;animation:popIn .8s .2s var(--ease) both}.caret{display:inline-block;width:3px;height:1.1em;margin-left:4px;background:var(--accent);border-radius:2px;animation:blink 1s steps(1) infinite}.hero__tagline{max-width:560px;font-size:1.1rem;color:var(--text-muted);margin-bottom:30px;animation:popIn .8s .25s var(--ease) both}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;animation:popIn .8s .3s var(--ease) both}.hero__socials{display:flex;gap:10px;animation:popIn .8s .35s var(--ease) both}.hero__visual{display:flex;justify-content:center;animation:popIn 1s .2s var(--ease) both}.hero__photo-wrap{position:relative;width:min(380px,80vw);aspect-ratio:3 / 4}.hero__ring{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;background:conic-gradient(from 0deg,var(--primary),var(--accent),#a78bfa,var(--primary));animation:spin 14s linear infinite;filter:blur(1px);opacity:.9}.hero__photo{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;border:6px solid var(--bg);box-shadow:var(--shadow-lg)}.float-card{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--primary);animation:float 6s ease-in-out infinite}.float-card div{display:flex;flex-direction:column;line-height:1.2}.float-card strong{color:var(--text);font-family:var(--font-display);font-size:1rem}.float-card span{font-size:.75rem;color:var(--text-muted)}.float-card--tl{top:10%;left:-14%}.float-card--br{bottom:10%;right:-12%;animation-delay:-3s}.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translate(-50%);width:26px;height:42px;border:2px solid var(--border-strong);border-radius:14px}.hero__scroll span{position:absolute;top:8px;left:50%;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--primary);animation:scrollHint 1.8s ease-in-out infinite}@keyframes scrollHint{0%{transform:translateY(0);opacity:1}80%{transform:translateY(14px);opacity:0}to{opacity:0}}@media (max-width: 960px){.hero__inner{grid-template-columns:1fr;text-align:center;gap:48px}.hero__visual{order:-1}.hero__photo-wrap{width:min(280px,70vw)}.hero__tagline{margin-left:auto;margin-right:auto}.hero__role,.hero__cta,.hero__socials{justify-content:center}.hero__scroll{display:none}}@media (max-width: 480px){.float-card--tl{left:-6%}.float-card--br{right:-6%}.hero__cta .btn{flex:1 1 100%}}.about{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start}.about__photo-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 5;box-shadow:var(--shadow-lg)}.about__photo-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff1f;background:linear-gradient(180deg,transparent 60%,rgba(var(--primary-rgb),.25))}.about__photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.about__photo-frame:hover img{transform:scale(1.05)}.about__facts{margin-top:22px;display:grid;gap:12px}.about__facts li{display:flex;gap:12px;align-items:flex-start}.about__fact-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(var(--primary-rgb),.1);color:var(--primary);flex-shrink:0}.about__facts small{display:block;font-size:.75rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.about__facts span{font-size:.92rem;font-weight:500}.about__para{font-size:1.05rem;color:var(--text-muted)}.about__subhead{font-size:1.1rem;margin:26px 0 14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.stat{padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(var(--primary-rgb),.4)}.stat__icon{color:var(--accent);margin-bottom:4px}.stat__value{font-family:var(--font-display);font-size:2rem;line-height:1.1}.stat__value .counter{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.stat__label{font-size:.82rem;color:var(--text-muted)}@media (max-width: 960px){.about{grid-template-columns:1fr;gap:36px}.about__media{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}.about__facts{margin-top:0}}@media (max-width: 600px){.about__media{grid-template-columns:1fr}.about__photo-frame{max-width:260px;margin:0 auto}.stats{grid-template-columns:repeat(2,1fr)}}.exp-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}.timeline{position:relative;padding-left:30px}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--primary),var(--accent),transparent);border-radius:2px}.timeline__item{position:relative;margin-bottom:18px}.timeline__dot{position:absolute;left:-30px;top:24px;width:18px;height:18px;border-radius:50%;background:var(--surface);border:3px solid var(--primary)}.timeline__item.is-current .timeline__dot{border-color:var(--success);color:var(--success);animation:pulse 2s infinite}.timeline__card:hover,.timeline__card.is-open{border-color:rgba(var(--primary-rgb),.45);box-shadow:var(--shadow-md)}.timeline__head{width:100%;display:flex;justify-content:space-between;gap:16px;text-align:left;padding:20px 22px}.timeline__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--text-soft);margin-bottom:6px}.dot-sep{opacity:.5}.timeline__role{font-size:1.25rem;margin-bottom:2px}.timeline__org{color:var(--primary);font-weight:600;margin:0}.timeline__unit{font-size:.88rem;color:var(--text-muted);margin:2px 0 0}.timeline__chevron{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);flex-shrink:0;transition:transform .3s var(--ease),background .3s,color .3s}.timeline__chevron.is-open{transform:rotate(90deg);background:rgba(var(--primary-rgb),.12);color:var(--primary)}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.collapse[data-open=true]{grid-template-rows:1fr}.collapse>div{overflow:hidden}.collapse .ticks{padding:0 22px 18px}.activities{padding:24px;position:sticky;top:calc(var(--nav-h) + 20px)}.activities h3{display:flex;align-items:center;gap:10px;font-size:1.1rem;margin-bottom:16px;color:var(--text)}.activities h3 .icon{color:var(--primary)}.activities .ticks li{font-size:.92rem}@media (max-width: 960px){.exp-grid{grid-template-columns:1fr}.activities{position:static}}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}@media (max-width: 400px){.course-grid{grid-template-columns:1fr}}.course{height:100%;display:flex;flex-direction:column;overflow:hidden}.course:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.4)}.course__banner{position:relative;height:132px;padding:6px 12px;background:radial-gradient(circle at 15% 20%,rgba(var(--primary-rgb),.22),transparent 60%),radial-gradient(circle at 85% 80%,rgba(var(--accent-rgb),.22),transparent 60%),var(--surface-2);border-bottom:1px solid var(--border)}.course-art{width:100%;height:100%;color:var(--primary);transition:transform .6s var(--ease)}.course:hover .course-art{transform:scale(1.06)}.ca-node{fill:var(--surface);stroke:var(--primary);stroke-width:2.5;animation:caPulse 2.4s ease-in-out infinite}.ca-line{fill:none;stroke:rgba(var(--primary-rgb),.35);stroke-width:1.5}.ca-bar{fill:rgba(var(--accent-rgb),.55);transform-box:fill-box;transform-origin:bottom;animation:caGrow 2.8s var(--ease) infinite alternate}.ca-curve{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round}.ca-packet{fill:var(--accent);opacity:.85;animation:caMove 3.2s ease-in-out infinite alternate}.ca-chip{fill:var(--surface);stroke:rgba(var(--primary-rgb),.55);stroke-width:2}.ca-chip-core{fill:rgba(var(--primary-rgb),.25);animation:caPulse 2s ease-in-out infinite}.ca-glyph{font-family:var(--font-mono);font-size:64px;font-weight:700;fill:var(--primary)}@keyframes caPulse{50%{opacity:.45}}@keyframes caGrow{0%{transform:scaleY(.55)}}@keyframes caMove{to{transform:translate(176px)}}.course__code{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--primary);box-shadow:var(--shadow-sm)}.course__body{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}.course__area{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.course__title{font-size:1.15rem;margin:0}.course__desc{font-size:.92rem;color:var(--text-muted);margin:0 0 4px}.course__footer{margin-top:auto;padding-top:14px}.btn.is-disabled{cursor:default;opacity:.7}.btn.is-disabled:hover{transform:none;border-color:var(--border-strong);color:var(--text)}.course-note{display:flex;flex-direction:column;align-items:center;gap:12px;margin:32px 0 0;font-size:.85rem;color:var(--text-soft);text-align:center}.course-note>span{display:inline-flex;align-items:center;gap:6px}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.edu-card{padding:24px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.edu-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.edu-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.35)}.edu-card:hover:before{transform:scaleX(1)}.edu-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.edu-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(var(--primary-rgb),.1);color:var(--primary)}.edu-card__year{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--text-soft)}.edu-card__short{font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.edu-card__degree{font-size:1.1rem;margin:0}.edu-card__inst{margin:0;font-weight:500;color:var(--text-muted)}.edu-card__loc{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-soft);margin:0 0 8px}.edu-card .badge{align-self:flex-start;margin-top:6px}.edu-card__thesis{font-size:.85rem;color:var(--text-muted);margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--border)}.result{margin-top:auto}.result__row{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.result__row strong{font-family:var(--font-display);font-size:1.15rem;color:var(--text)}.result__row small{font-size:.78rem;color:var(--text-soft)}.result__track{height:8px;border-radius:8px;background:var(--surface-2);overflow:hidden}.result__fill{height:100%;border-radius:inherit;background:var(--gradient);transition:width 1.4s var(--ease)}.pub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.pub-stat{padding:18px;text-align:left;display:flex;flex-direction:column;gap:2px}.pub-stat strong{font-family:var(--font-display);font-size:2rem;line-height:1.1}.pub-stat span{font-size:.85rem;color:var(--text-muted)}.pub-stat:hover,.pub-stat.is-active{transform:translateY(-3px);border-color:rgba(var(--primary-rgb),.5);box-shadow:var(--shadow-md)}.pub-stat.is-active strong{color:var(--primary)}.pub-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px 12px;margin-bottom:20px}.pub-toolbar__search{flex:1 1 280px;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--text-soft)}.pub-toolbar__search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:10px 0}.pub-toolbar__filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pub-toolbar select{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.pub-result-count{font-size:.88rem;color:var(--text-soft);margin:-14px 0 16px}.pub-list{display:grid;gap:14px}.pub{display:grid;grid-template-columns:104px 1fr;gap:20px;padding:22px;position:relative;overflow:hidden}.pub:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c, var(--primary))}.pub--journal{--c: var(--journal)}.pub--chapter{--c: var(--chapter)}.pub--conference{--c: var(--conference)}.pub--review{--c: var(--review)}.pub:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--c) 40%,var(--border))}.pub__side{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.pub__year{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1;color:var(--text-soft)}.pub__title{font-size:1.08rem;line-height:1.4;margin-bottom:6px}.pub__title a{color:var(--text)}.pub__title a:hover{color:var(--primary)}.pub__authors{font-size:.9rem;color:var(--text-muted);margin-bottom:4px}.pub__me{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.pub__equal{color:var(--accent);font-weight:700;margin-left:1px}.pub__equal-note{font-size:.8rem;color:var(--text-soft);font-style:italic}.pub__venue{font-size:.88rem;color:var(--text-soft);margin-bottom:10px}.pub__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}.empty{padding:40px;text-align:center;color:var(--text-muted)}.cite h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin:0 0 8px}.cite h4:not(:first-child){margin-top:22px}.cite__box{margin:0 0 10px;padding:14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:.86rem;white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans)}.cite__box--code{font-family:var(--font-mono);font-size:.8rem}@media (max-width: 760px){.pub-stats{grid-template-columns:repeat(2,1fr)}.pub{grid-template-columns:1fr;gap:10px}.pub__side{flex-direction:row;align-items:center}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.project-wrap--featured{grid-column:span 1}@media (min-width: 1000px){.project-grid{grid-template-columns:repeat(6,1fr)}.project-wrap{grid-column:span 2}.project-wrap--featured{grid-column:span 3}}@media (max-width: 400px){.project-grid{grid-template-columns:1fr}}.project-wrap{perspective:900px}.project{position:relative;height:100%;padding:24px;display:flex;flex-direction:column;gap:10px;overflow:hidden;transform:rotateX(var(--rx, 0)) rotateY(var(--ry, 0));transition:transform .2s ease-out,box-shadow .35s,border-color .35s}.project:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%),rgba(var(--primary-rgb),.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.project:hover{box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-rgb),.4)}.project:hover:before{opacity:1}.project__head{display:flex;justify-content:space-between;align-items:center}.project__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--gradient);color:#fff;box-shadow:var(--glow)}.project__title{font-size:1.2rem;margin:6px 0 0}.project__desc{color:var(--text-muted);font-size:.94rem;margin:0}.project__status{display:flex;align-items:flex-start;gap:6px;font-size:.85rem;font-weight:600;color:var(--accent);margin:0}.project__status .icon{margin-top:3px;flex-shrink:0}.project .chips{margin-top:auto;padding-top:6px}.project__links{display:flex;flex-wrap:wrap;gap:6px 16px}.gh{margin-top:56px}.gh__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.gh__head h3{display:flex;align-items:center;gap:10px;font-size:1.3rem;margin:0}.gh__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}@media (max-width: 360px){.gh__grid{grid-template-columns:1fr}}.gh-repo{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;color:var(--text)}.gh-repo:hover{color:var(--text);transform:translateY(-3px);border-color:rgba(var(--primary-rgb),.45);box-shadow:var(--shadow-md)}.gh-repo--skeleton{min-height:96px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.gh-repo__name{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--primary);text-transform:capitalize}.gh-repo__desc{font-size:.85rem;color:var(--text-muted)}.gh-repo__meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:4px;font-size:.78rem;color:var(--text-soft)}.gh-repo__meta span{display:inline-flex;align-items:center;gap:5px}.gh-repo__meta i{width:10px;height:10px;border-radius:50%}.gh__msg{color:var(--text-muted)}.project__link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}.skills{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}.skills__panel{padding:22px}.skills__tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--border)}.skills__tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:11px;font-size:.9rem;font-weight:600;color:var(--text-muted);border:1px solid transparent;transition:all .25s var(--ease)}.skills__tab:hover{color:var(--text);background:var(--surface-2)}.skills__tab.is-active{color:var(--primary);background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.3)}.skills__items{display:flex;flex-wrap:wrap;gap:10px;min-height:120px;align-content:flex-start}.skill-pill{padding:10px 18px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-weight:600;font-size:.92rem;animation:pillIn .45s var(--ease) both;transition:transform .25s var(--ease),border-color .25s,color .25s,box-shadow .25s}.skill-pill:hover{transform:translateY(-3px) scale(1.03);color:var(--primary);border-color:rgba(var(--primary-rgb),.45);box-shadow:var(--shadow-md)}.achievements{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.achievement{display:flex;gap:12px;align-items:flex-start;padding:16px}.achievement:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.achievement__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;--c: var(--warning);color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.achievement--certificate .achievement__icon{--c: var(--success)}.achievement h3{font-family:var(--font-sans);font-size:.93rem;font-weight:600;margin:0 0 2px}.achievement p{font-size:.82rem;color:var(--text-muted);margin:0}@media (max-width: 960px){.skills{grid-template-columns:1fr}}@media (max-width: 480px){.achievements{grid-template-columns:1fr}}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}.contact__info{display:grid;gap:12px}.contact-card{display:flex;align-items:center;gap:14px;padding:14px 16px}.contact-card:hover{transform:translate(4px);border-color:rgba(var(--primary-rgb),.4)}.contact-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gradient);color:#fff;flex-shrink:0}.contact-card__text{flex:1;min-width:0}.contact-card__text small{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.contact-card__text a,.contact-card__text span{display:block;font-weight:500;color:var(--text);overflow-wrap:anywhere}.contact-card__text a:hover{color:var(--primary)}.contact__form-card{padding:28px}.form{display:grid;gap:16px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px}.field>span{font-size:.85rem;font-weight:600;color:var(--text-muted)}.field input,.field textarea{width:100%;padding:12px 14px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);transition:border-color .2s,box-shadow .2s,background .2s;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.15)}.field [aria-invalid=true]{border-color:var(--danger)}.field__error{font-size:.8rem;font-style:normal;color:var(--danger)}.form .btn{justify-self:start}.form__note{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--success);margin:0}@media (max-width: 960px){.contact{grid-template-columns:1fr}}@media (max-width: 560px){.form__row{grid-template-columns:1fr}.contact__form-card{padding:20px}.form .btn{justify-self:stretch}}.footer{border-top:1px solid var(--border);background:var(--bg-alt);padding-top:44px}.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px}.footer__brand{display:flex;align-items:center;gap:14px}.footer__brand p{margin:0;font-size:.85rem;color:var(--text-muted)}.footer__links{display:flex;flex-wrap:wrap;gap:6px 18px}.footer__links a{font-size:.9rem;color:var(--text-muted)}.footer__links a:hover{color:var(--primary)}.footer__socials{display:flex;gap:8px}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:18px;padding-bottom:22px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-soft)}.viz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.viz-grid__wide{grid-column:1 / -1}@media (max-width: 900px){.viz-grid{grid-template-columns:1fr}}.viz{margin:0;padding:22px;height:100%;display:flex;flex-direction:column;gap:14px}.viz__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.viz__title{font-size:1.1rem;margin:0 0 2px}.viz__subtitle{font-size:.85rem;color:var(--text-muted);margin:0}.viz__toggle{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.viz__toggle button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:7px;font-size:.78rem;font-weight:600;color:var(--text-muted)}.viz__toggle button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.viz__legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;color:var(--text-muted)}.viz__legend li{display:inline-flex;align-items:center;gap:7px}.viz__swatch{width:10px;height:10px;border-radius:3px}.viz__table-wrap{overflow-x:auto}.viz-table{width:100%;border-collapse:collapse;font-size:.86rem;font-variant-numeric:tabular-nums}.viz-table th,.viz-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.viz-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.viz-tip{position:absolute;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:2px;min-width:140px;max-width:260px;padding:9px 12px;border-radius:10px;background:var(--text);color:var(--bg);font-size:.8rem;line-height:1.35;box-shadow:var(--shadow-lg);transform:translate(14px,calc(-100% - 10px))}.viz-tip.is-flipped{transform:translate(calc(-100% - 14px),calc(-100% - 10px))}.viz-tip strong{font-size:.85rem}.viz-tip span{opacity:.8}.stack-chart{position:relative;display:grid;gap:22px;padding:10px 0 4px;margin:auto 0}.stack-chart__row{display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:12px}.stack-chart__label{font-size:.85rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.stack-chart__track{display:flex;gap:2px;height:44px;border-left:1px solid var(--chart-axis);padding-left:0}.stack-chart__seg{position:relative;display:grid;place-items:center;height:100%;min-width:0;overflow:hidden;transition:width 1s var(--ease),filter .2s,transform .2s}.stack-chart__seg:last-child{border-radius:0 4px 4px 0}.stack-chart__seg:hover,.stack-chart__seg:focus-visible{filter:brightness(1.12);transform:scaleY(1.08)}.stack-chart__seg-label{font-size:.78rem;font-weight:700;color:#fff}.stack-chart__total{font-weight:700;font-size:.95rem}.rank-chart{position:relative;display:grid;gap:4px}.rank-chart__row{display:grid;grid-template-columns:minmax(110px,38%) 1fr 22px;align-items:center;gap:10px;padding:5px 6px;border-radius:8px;text-align:left;transition:background .2s}.rank-chart__row:hover,.rank-chart__row:focus-visible{background:rgba(var(--primary-rgb),.07)}.rank-chart__label{font-size:.84rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-chart__row:hover .rank-chart__label{color:var(--text)}.rank-chart__track{height:14px;border-left:1px solid var(--chart-axis)}.rank-chart__bar{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--series-1);transition:width .9s var(--ease),filter .2s}.rank-chart__row:hover .rank-chart__bar{filter:brightness(1.15)}.rank-chart__value{font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums}.net{position:relative}.net__svg{width:100%;height:auto;display:block;overflow:visible}.net__link{stroke:var(--chart-axis);transition:stroke .25s,opacity .25s,stroke-width .25s}.net__link.is-lit{stroke:var(--series-1)}.net__link.is-dim{opacity:.25}.net__node{cursor:pointer;outline:none;opacity:0;transform-box:fill-box;transition:opacity .6s var(--ease)}.net.is-in .net__node{opacity:1}.net.is-in .net__node.is-dim{opacity:.25}.net__hit{fill:transparent}.net__dot{fill:var(--series-1);stroke:var(--surface);stroke-width:2;transition:r .25s var(--ease),filter .25s}.net__node.is-owner .net__dot{stroke-width:3;filter:drop-shadow(0 4px 14px rgba(var(--primary-rgb),.55))}.net__node.is-active .net__dot,.net__node:focus-visible .net__dot{filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.9));stroke:var(--accent)}.net__owner-text{fill:#fff;font-size:14px;font-weight:700;pointer-events:none}.net__label{fill:var(--text-muted);font-size:12px;font-weight:500;pointer-events:none;paint-order:stroke;stroke:var(--surface);stroke-width:4px}.net__label.is-active{fill:var(--text);font-weight:700}.net__label.is-dim{opacity:.2}.net__labels{opacity:0;transition:opacity .6s var(--ease) .3s}.net.is-in .net__labels{opacity:1}.gantt-wrap{margin-bottom:28px}.gantt{position:relative;padding-top:26px}.gantt__plot{position:relative;display:grid;gap:10px;padding-bottom:4px}.gantt__grid,.gantt__now{position:absolute;top:-22px;bottom:0;width:1px;background:var(--chart-grid)}.gantt__grid em,.gantt__now em{position:absolute;top:0;left:6px;font-style:normal;font-size:.75rem;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.gantt__now{background:var(--accent);width:2px;z-index:2}.gantt__now em{left:auto;right:6px;color:var(--accent);font-weight:700}.gantt__row{position:relative;height:34px}.gantt__bar{position:absolute;top:0;height:100%;border-radius:4px;display:flex;align-items:center;overflow:hidden;transition:width 1.1s var(--ease),filter .2s,transform .2s}.gantt__bar:hover,.gantt__bar:focus-visible{filter:brightness(1.12);transform:scaleY(1.08)}.gantt__bar.is-current{border-radius:4px 0 0 4px;background-image:linear-gradient(90deg,transparent 70%,rgba(255,255,255,.25))!important}.gantt__outside-label{position:absolute;top:50%;transform:translateY(-50%);padding-right:8px;font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap;pointer-events:none}.gantt__bar-label{padding:0 10px;font-size:.78rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cursor-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999}.has-custom-cursor,.has-custom-cursor body,.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor [role=button],.has-custom-cursor label,.has-custom-cursor select{cursor:none}.has-custom-cursor input,.has-custom-cursor textarea{cursor:text}.cursor-dot,.cursor-ring,.cursor-trail,.cursor-glow{position:fixed;top:0;left:0;border-radius:50%;opacity:0;transition:opacity .3s;will-change:transform}.cursor-visible .cursor-dot,.cursor-visible .cursor-ring,.cursor-visible .cursor-glow{opacity:1}.cursor-visible .cursor-trail{opacity:var(--o, .4)}.cursor-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.9)}.cursor-ring{width:36px;height:36px;margin:-18px 0 0 -18px}.cursor-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(var(--primary-rgb),.7);transition:transform .35s var(--ease),background .35s,border-color .35s}.cursor-ring:after{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--primary);transform-origin:3px 21px;animation:spin 1.6s linear infinite;transition:opacity .3s}.cursor-hover .cursor-ring:before{transform:scale(1.7);background:rgba(var(--primary-rgb),.12);border-color:rgba(var(--accent-rgb),.9)}.cursor-hover .cursor-ring:after{opacity:0}.cursor-hover .cursor-dot{transform-origin:center}.cursor-down .cursor-ring:before{transform:scale(.75)}.cursor-text .cursor-ring,.cursor-text .cursor-dot,.cursor-text .cursor-trail{opacity:0!important}.cursor-trail{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--primary)}.cursor-glow{width:520px;height:520px;margin:-260px 0 0 -260px;background:radial-gradient(circle,rgba(var(--primary-rgb),.09),transparent 62%);z-index:-1}[data-theme=dark] .cursor-glow{background:radial-gradient(circle,rgba(var(--accent-rgb),.08),transparent 62%)}.cursor-burst{position:fixed;width:0;height:0}.cursor-burst i{position:absolute;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--accent);animation:burst .6s var(--ease) forwards}.cursor-burst i:nth-child(2n){background:var(--primary)}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
