@layer atom{*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:clip}body{margin:0;display:flex;flex-direction:column;min-height:100vh;overflow-x:clip}main{width:100%;flex:1;overflow-x:clip}svg{fill:currentColor}a{color:inherit}}@layer atom{:root{color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: light){:root{color:#1a202c;background-color:#fafbfc}}}@layer atom{:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;--h1-size: 2em;--h2-size: 1.5em;--h3-size: 1.25em;--h4-size: 1.125em;--h5-size: 1em;--h6-size: .75em}h1,h2,h3,h4,h5,h6,code,pre,kbd,samp,.mono{font-family:Fliege Mono,monospace;line-height:1.4}@media only screen and (min-width: 1420px){:root{--h1-size: 6em;--h2-size: 4em;--h3-size: 2em;--h4-size: 1.5em;--h5-size: 1.25em;--h6-size: 1.125em}}}@layer atom{:root{--content-width: 1200px;--content-max-width: calc(100vw - 40px) }@media only screen and (min-width: 1420px){:root{--content-width: 1400px;--content-max-width: calc(100vw - 20px) }}}@layer molecule{h1{font-size:var(--h1-size)}h2{font-size:var(--h2-size)}h3{font-size:var(--h3-size)}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;margin:0 0 3rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#667eea);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.section-description{text-align:center;color:#fff9;margin-bottom:2rem;font-size:1.1rem}@media (prefers-color-scheme: light){.section-description{color:#0009}}}@layer molecule{.btn{padding:.875rem 2rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;cursor:pointer;border:none;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #667eeab3}.btn-primary:active{transform:translateY(-1px) scale(.98);transition:transform .1s ease}.btn-secondary{background:#ffffff1a;color:inherit;border:2px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #ffffff1a}.btn-secondary:active{transform:translateY(-1px) scale(.98);transition:transform .1s ease}@media (prefers-color-scheme: light){.btn-secondary{background:#fffffff2;border-color:#00000026;color:#000000d9;box-shadow:0 2px 8px #00000014}.btn-secondary:hover{background:#fff;border-color:#667eea4d;box-shadow:0 4px 12px #667eea26}}.btn-demo{margin-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn{position:relative}.btn:before{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,#667eea,#764ba2,#667eea);border-radius:inherit;opacity:0;z-index:-1;transition:opacity .3s ease;filter:blur(3px)}.btn:hover:before{opacity:.6;animation:glow-pulse 2s ease-in-out infinite}.btn-primary:before{background:linear-gradient(45deg,#667eea,#764ba2,#667eea)}.btn-secondary:before{background:linear-gradient(45deg,#ffffff4d,#667eea4d,#ffffff4d)}@keyframes glow-pulse{0%,to{opacity:.6;filter:blur(3px)}50%{opacity:.8;filter:blur(5px)}}}@layer molecule{.tag{padding:.375rem .875rem;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:20px;font-size:.85rem;font-weight:500;color:#ffffffe6}@media (prefers-color-scheme: light){.tag{background:#667eea1f;border-color:#667eea40;color:#000000bf}}.status-badge{padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.status-badge.status-active{background:#34d39926;border:1px solid rgba(52,211,153,.3);color:#34d399}.status-badge.status-maintained{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.status-badge.status-archived{background:#9ca3af26;border:1px solid rgba(156,163,175,.3);color:#9ca3afe6}.category-badge{padding:.375rem .875rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:20px;font-size:.85rem;font-weight:500;color:#8b5cf6e6}@media (prefers-color-scheme: light){.category-badge{background:#8b5cf61f;border-color:#8b5cf640;color:#8b5cf6}}.meta-badge{padding:.25rem .6rem;background:#667eea1f;border:1px solid rgba(102,126,234,.25);border-radius:999px;font-size:.75rem;font-weight:700;color:#ffffffd9}@media (prefers-color-scheme: light){.meta-badge{color:#000000bf;background:#667eea1f;border-color:#667eea40}}.lang-badge{padding:.25rem .6rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:700;color:#ffffffd9}@media (prefers-color-scheme: light){.lang-badge{color:#000000bf;background:#fffffff2;border-color:#00000026}}}@layer molecule{.card{background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease,transform .1s ease-out;display:flex;flex-direction:column;gap:1rem}.card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #667eea33;border-color:#667eea4d}@media (prefers-color-scheme: light){.card{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}.card:hover{background:#fff;box-shadow:0 8px 24px #667eea26}}}@layer molecule{.filter-input,.filter-select{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffe6;font-family:inherit;font-size:.95rem;transition:all .3s ease;outline:none}.filter-input{flex:1;min-width:250px}.filter-select{min-width:180px;cursor:pointer}.filter-input:focus,.filter-select:focus{background:#ffffff14;border-color:#667eea80;box-shadow:0 0 0 3px #667eea1a}.filter-input::placeholder{color:#fff6}@media (prefers-color-scheme: light){.filter-input,.filter-select{background:#ffffffe6;border:1px solid rgba(0,0,0,.15);color:#000000e6}.filter-input::placeholder{color:#00000073}.filter-input:focus,.filter-select:focus{background:#fff;border-color:#667eea80}}}@layer molecule{.back-link{display:inline-flex;align-items:center;gap:.375rem;color:#ffffff8c;text-decoration:none;font-weight:500;font-size:.875rem;padding:.5rem .875rem;border-radius:6px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff08;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.back-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s ease}.back-link:hover:before{left:100%}.back-link:hover{color:#667eea;background:#667eea14;border-color:#667eea33;transform:translate(-6px) scale(1.02);box-shadow:0 4px 12px #667eea26}.back-link:active{transform:translate(-3px) scale(.98);transition:transform .1s ease}@media (prefers-color-scheme: light){.back-link{color:#000000a6;background:#fffc;border:1px solid rgba(0,0,0,.12)}}.contact-link{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;font-weight:600;font-size:1.1rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.contact-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(102,126,234,.2) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .6s,height .6s}.contact-link:hover:before{width:300px;height:300px}.contact-link:hover{transform:translateY(-6px) scale(1.02);background:#667eea26;border-color:#667eea4d;box-shadow:0 12px 30px #667eea40}.contact-link:active{transform:translateY(-3px) scale(.98);transition:transform .1s ease}.contact-link svg{width:24px;height:24px;transition:transform .3s ease}.contact-link:hover svg{transform:rotate(10deg) scale(1.1)}.contact-link .icon{font-size:1.5rem}@media (prefers-color-scheme: light){.contact-link{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}.contact-link:hover{background:#fff;box-shadow:0 8px 20px #667eea2e}}.project-link{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.project-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#667eea4d;transform:translate(-50%,-50%);transition:width .3s,height .3s}.project-link:hover:before{width:60px;height:60px}.project-link:after{content:"→";position:absolute;right:-18px;opacity:0;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;transform:translate(-6px);color:#fff;font-weight:700}.project-link:hover{background:#667eea4d;transform:rotate(15deg) scale(1.1);box-shadow:0 6px 20px #667eea66}.project-link:hover:after{opacity:1;transform:translate(0) rotate(-15deg)}.project-link svg{width:20px;height:20px;transition:transform .3s ease;position:relative;z-index:1}.project-link:hover svg{transform:scale(1.2) rotate(-5deg)}.interactive-link{position:relative;text-decoration:none;color:#667eea;transition:color .3s ease}.interactive-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s cubic-bezier(.4,0,.2,1)}.interactive-link:hover{color:#764ba2}.interactive-link:hover:after{width:100%}}@layer organism{website-main{display:contents}main{padding-top:0}#outlet{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#outlet>*{animation:fadeIn .3s ease-in-out}}@layer organism{section+section:after{content:"";display:block;height:1px;max-width:var(--content-width);margin:4rem auto 0;background:linear-gradient(90deg,transparent,rgba(102,126,234,.35),rgba(118,75,162,.35),transparent);filter:blur(.2px)}}@layer organism{website-hero{display:contents}.hero{min-height:100vh;display:flex;align-items:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;max-width:100vw}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:100%;height:100%;background:radial-gradient(circle,rgba(102,126,234,.15) 0%,transparent 70%);pointer-events:none;transform:translate3d(var(--hero-parallax-x, 0px),var(--hero-parallax-y, 0px),0);will-change:transform}.hero-content{max-width:var(--content-width);width:100%;margin-inline:auto;padding-inline:2rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:center;justify-content:center;box-sizing:border-box}.hero-text{z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea26,#764ba226);border:1px solid rgba(102,126,234,.3);border-radius:50px;margin-bottom:1.5rem;font-weight:600;font-size:.9rem;animation:glow 2s ease-in-out infinite}@media (prefers-color-scheme: light){.hero-badge{background:linear-gradient(135deg,#667eea1f,#764ba21f);border-color:#667eea59;color:#000000d9}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 30px #667eea80}}.badge-icon{font-size:1.2rem}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;line-height:1.2;margin:0 0 1rem}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2,#667eea);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:#ffffffb3;margin:0 0 1.5rem;font-weight:600;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}@media (prefers-color-scheme: light){.hero-subtitle{color:#000000a6}}.location-badge{display:inline-flex;align-items:center;gap:.25rem}.separator{color:#ffffff4d}@media (prefers-color-scheme: light){.separator{color:#0000004d}}.hero-description{font-size:1.1rem;line-height:1.8;color:#fff9;margin:0 0 2rem;max-width:600px}@media (prefers-color-scheme: light){.hero-description{color:#000000a6}}.tech-highlight{color:#00d9ff;font-weight:700;text-shadow:0 0 10px rgba(0,217,255,.3)}.tech-highlight-rust{.hero-title .caret{margin-left:6px;opacity:.9;animation:caretBlink 1.2s steps(1,end) infinite}@keyframes caretBlink{0%,50%{opacity:.9}51%,to{opacity:0}}color:#ff6b35;font-weight:700;text-shadow:0 0 10px rgba(255,107,53,.3)}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.hero .btn-primary{font-size:1.2rem}.hero .btn-secondary{font-size:1.1rem}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 968px){.hero-content{grid-template-columns:1fr;gap:2rem}.hero-visual{display:none}.hero{padding:5rem 1rem 3rem}.hero-cta{flex-direction:column}.btn{text-align:center}}}@layer organism{website-projects{display:contents}.projects{padding:6rem 2rem;position:relative;overflow:hidden;max-width:100vw}.projects:before{content:"";position:absolute;bottom:-20%;right:-10%;width:80%;height:80%;background:radial-gradient(circle,rgba(102,126,234,.1) 0%,transparent 70%);pointer-events:none}.projects-content{max-width:var(--content-width);margin:0 auto;position:relative;z-index:1}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease,transform .1s ease-out;display:flex;flex-direction:column;gap:1rem;transform-style:preserve-3d;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(115deg,transparent 20%,rgba(255,0,255,.1) 35%,rgba(0,255,255,.15) 45%,rgba(255,255,0,.1) 55%,rgba(255,0,255,.1) 65%,transparent 80%);opacity:0;transition:opacity .5s ease,transform .8s ease;pointer-events:none}.project-card:hover:before{opacity:1;transform:translate(var(--mouse-x, 0),var(--mouse-y, 0)) rotate(15deg)}.project-card:after{content:"";position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,#667eea66,#ff00ff4d,#00ffff4d,#764ba266);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.project-card:hover:after{opacity:1;animation:shimmer 3s linear infinite}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (prefers-color-scheme: light){.project-card{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}}.project-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #667eea33;border-color:#667eea4d}.project-card.magnetic-active{transition:transform .15s ease-out,box-shadow .3s ease,border-color .3s ease;box-shadow:0 16px 48px #667eea40;border-color:#667eea66}.project-header{display:flex;justify-content:space-between;align-items:start;gap:1rem;position:relative;z-index:1}.project-header h3{margin:0;font-size:1.5rem;font-weight:700}.project-link{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:10px;transition:all .3s ease}.project-link:after{content:"→";position:absolute;right:-18px;opacity:0;transition:transform .3s ease,opacity .3s ease;transform:translate(-6px)}.project-link:hover:after{opacity:1;transform:translate(0)}.project-link:hover{background:#667eea33;transform:rotate(12deg)}.project-link svg{width:20px;height:20px}.project-description{margin:0;color:#ffffffb3;line-height:1.6;flex-grow:1;position:relative;z-index:1}@media (prefers-color-scheme: light){.project-description{color:#000000b3}}.section-description{text-align:center;color:#fff9;margin-bottom:2rem;font-size:1.1rem}@media (prefers-color-scheme: light){.section-description{color:#0009}}.project-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;position:relative;z-index:1}.project-badges{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;position:relative;z-index:1}.status-badge{padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.status-badge.status-active{background:#34d39926;border:1px solid rgba(52,211,153,.3);color:#34d399}.status-badge.status-maintained{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.status-badge.status-archived{background:#9ca3af26;border:1px solid rgba(156,163,175,.3);color:#9ca3afe6}.category-badge{padding:.375rem .875rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:20px;font-size:.85rem;font-weight:500;color:#8b5cf6e6}@media (prefers-color-scheme: light){.category-badge{background:#8b5cf61f;border-color:#8b5cf640;color:#8b5cf6}}.project-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.project-languages{display:flex;gap:.5rem;margin-top:.25rem;flex-wrap:wrap;align-items:center}.languages-label{font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}@media (prefers-color-scheme: light){.languages-label{color:#00000080}}.lang-badge{padding:.25rem .6rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:700;color:#ffffffd9}@media (prefers-color-scheme: light){.lang-badge{color:#000000bf;background:#fffffff2;border-color:#00000026}}.show-all-projects{grid-column:1 / -1;justify-self:center;margin-top:1rem;min-width:200px}.projects-empty,.projects-loading{grid-column:1 / -1;text-align:center;color:#ffffff80;padding:3rem;font-size:1.1rem}@media (prefers-color-scheme: light){.projects-empty,.projects-loading{color:#00000080}}.project-links{display:flex;gap:.5rem;align-items:center}@media only screen and (max-width: 968px){.projects{padding:4rem 1rem}.projects-grid{grid-template-columns:1fr}.project-filters{flex-direction:column;gap:.75rem}.filter-input,.filter-select{width:100%;min-width:unset}.section-description{font-size:1rem}}}@layer organism{website-about{display:contents}.about{padding:6rem 2rem;position:relative;overflow:hidden;max-width:100vw}.about:before{content:"";position:absolute;top:0;left:-20%;width:100%;height:100%;background:radial-gradient(circle,rgba(118,75,162,.1) 0%,transparent 70%);pointer-events:none}.about-content{max-width:var(--content-width);margin:0 auto;position:relative;z-index:1}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;margin:0 0 3rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#667eea);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-text{font-size:1.1rem;line-height:1.8}.about-text p{margin:0 0 1.5rem;color:#ffffffb3}@media (prefers-color-scheme: light){.about-text p{color:#000000a6}}.about-skills{background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem}@media (prefers-color-scheme: light){.about-skills{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}}.about-skills h3{margin:0 0 1.5rem;font-size:1.5rem}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.skill-item{animation:floaty 6s ease-in-out infinite}.skill-item:nth-child(odd){animation-delay:.8s}.skill-item:hover svg{filter:drop-shadow(0 0 10px rgba(102,126,234,.6))}.skill-item:hover{background:#667eea1f}.skill-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:#ffffff0d;border-radius:12px;transition:all .3s ease}@media (prefers-color-scheme: light){.skill-item{background:#ffffffe6;box-shadow:0 1px 4px #0000000a}.skill-item:hover{background:#667eea1f;box-shadow:0 4px 12px #667eea1f}}.skill-item:hover{transform:translateY(-4px);background:#667eea1a}.skill-item svg{width:40px;height:40px}.skill-item span{font-weight:600;font-size:.95rem}.github-deep-integration{margin:4rem 0}.github-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}@media only screen and (max-width: 968px){.about{padding:4rem 1rem}.about-grid{grid-template-columns:1fr;gap:2rem}.skills-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.skill-item{padding:1rem .5rem}.skill-item svg{width:32px;height:32px}.github-grid{grid-template-columns:1fr;gap:1.5rem}}}@layer organism{website-achievements{display:contents}.achievements{margin:2rem 0 0}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.badge{position:relative;padding:1rem;border-radius:16px;background:#ffffff0d;border:1px solid rgba(118,75,162,.25);backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .3s ease;cursor:default}.badge:hover{transform:translateY(-4px);box-shadow:0 12px 32px #667eea2e}.badge-medal{width:28px;height:28px;border-radius:50%;background:conic-gradient(from 0deg,#cbbcff,#7f5bd8,#cbbcff);box-shadow:inset 0 1px #fff6,0 8px 20px #764ba259;margin-bottom:.5rem}.badge-title{font-weight:700;font-size:.95rem}}@layer organism{.blog-filters{display:flex;gap:.75rem;align-items:center;margin:0 0 1rem;flex-wrap:wrap}.blog-filters .filter-input{flex:1 1 240px}.blog-filters .filter-select{min-width:150px}website-blog{display:contents}.blog{padding:6rem 2rem;position:relative;overflow:hidden;max-width:100vw}.blog:before{content:"";position:absolute;top:-10%;left:50%;transform:translate(-50%);width:100%;height:100%;background:radial-gradient(circle,rgba(118,75,162,.08) 0%,transparent 70%);pointer-events:none}.blog-content{max-width:var(--content-width);margin:0 auto;position:relative;z-index:1}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.blog-loading{grid-column:1 / -1;text-align:center;color:#ffffff80;font-size:1.1rem;padding:3rem}@media (prefers-color-scheme: light){.blog-loading{color:#00000080}}.blog-card-link{text-decoration:none;color:inherit;display:block;border-radius:20px;transform-style:preserve-3d;transition:all .3s ease,transform .1s ease-out}.blog-card{background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;flex-direction:column;gap:1rem;cursor:pointer;height:100%;box-sizing:border-box}.blog-card-link:hover{transform:translateY(-8px)}.blog-card-link:hover .blog-card{box-shadow:0 12px 40px #667eea33;border-color:#667eea4d}@media (prefers-color-scheme: light){.blog-card{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}.blog-card-link:hover .blog-card{background:#fff;box-shadow:0 8px 24px #667eea26}}.blog-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.blog-date{font-size:.875rem;color:#ffffff80;font-weight:500}@media (prefers-color-scheme: light){.blog-date{color:#00000080}}.blog-category{padding:.25rem .75rem;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:12px;font-size:.8rem;font-weight:600;color:#ffffffe6}@media (prefers-color-scheme: light){.blog-category{background:#667eea1a;color:#000000b3}}.blog-title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.3;background:linear-gradient(135deg,#fffffff2,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (prefers-color-scheme: light){.blog-title{background:linear-gradient(135deg,#000000e6,#000000b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}}.blog-excerpt{margin:0;color:#ffffffb3;line-height:1.6;flex-grow:1}@media (prefers-color-scheme: light){.blog-excerpt{color:#000000a6}}.blog-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.blog-tags .tag{font-size:.8rem}@media only screen and (max-width: 968px){.blog{padding:4rem 1rem}.blog-grid{grid-template-columns:1fr}.blog-title{font-size:1.3rem}}}@layer organism{website-blog-post{display:block}.blog-post{padding:6rem 2rem;min-height:100vh;background:linear-gradient(180deg,rgba(102,126,234,.02) 0%,transparent 20%)}.blog-post-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3rem;align-items:start}.blog-post-content{max-width:760px;margin:0 auto;min-width:0}.blog-post-sidebar{display:block;position:sticky;top:6rem;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto}.post-loading{text-align:center;color:#ffffff80;font-size:1.1rem;padding:3rem}@media (prefers-color-scheme: light){.post-loading{color:#00000080}.blog-post{background:linear-gradient(180deg,#667eea0a,#ffffff4d 30%)}}.blog-post .back-link{margin-bottom:2.5rem}.post-header{margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}@media (prefers-color-scheme: light){.post-header{border-bottom-color:#00000014}}.post-meta{display:flex;gap:.75rem;align-items:center;margin-bottom:1.25rem}.post-date{font-size:.875rem;color:#ffffff73;font-weight:500}@media (prefers-color-scheme: light){.post-date{color:#0000008c}}.post-category{padding:.25rem .75rem;background:#667eea1f;border:1px solid rgba(102,126,234,.25);border-radius:6px;font-size:.75rem;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.05em}@media (prefers-color-scheme: light){.post-category{background:#667eea1f;border-color:#667eea4d;color:#000000bf}}.post-title{font-size:clamp(1.875rem,5vw,2.75rem);font-weight:800;line-height:1.2;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.blog-post .post-tags .tag{padding:.375rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:.8125rem;color:#ffffffb3;transition:all .2s ease}@media (prefers-color-scheme: light){.blog-post .post-tags .tag{background:#ffffffb3;border-color:#0000001f;color:#000000b3}}.blog-post .post-tags .tag:hover{background:#667eea1a;border-color:#667eea4d;color:#667eea}.post-content{font-size:1.0625rem;line-height:1.75;color:#ffffffd1}@media (prefers-color-scheme: light){.post-content{color:#000000d9}}.post-content>*:first-child{margin-top:0}.post-content h1,.post-content h2,.post-content h3,.post-content h4{margin:2.5rem 0 1rem;font-weight:700;line-height:1.3;color:#fffffff2;letter-spacing:-.015em}@media (prefers-color-scheme: light){.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:#000000e6}}.post-content h1{font-size:2rem;margin-top:3.5rem}.post-content h2{font-size:1.625rem;margin-top:3rem;padding-bottom:.625rem;border-bottom:2px solid rgba(102,126,234,.18)}.post-content h3{font-size:1.375rem;margin-top:2.25rem}.post-content h4{font-size:1.125rem;margin-top:1.75rem}.post-content p{margin:1.5rem 0}.post-content strong{font-weight:700;color:#fffffff2}@media (prefers-color-scheme: light){.post-content strong{color:#000000e6}}.post-content a{color:#667eea;text-decoration:none;border-bottom:1px solid rgba(102,126,234,.3);transition:all .2s ease;font-weight:500}.post-content a:hover{color:#764ba2;border-bottom-color:#764ba2;background:#667eea0d}.post-content code{background:#667eea14;padding:.25rem .5rem;border-radius:4px;font-family:Fliege Mono,monospace;font-size:.9em;color:#c792ea;border:1px solid rgba(102,126,234,.15)}@media (prefers-color-scheme: light){.post-content code{background:#667eea1a;color:#6c3fcc;border-color:#667eea33}}.post-content pre{background:#282c34;padding:1.5rem;border-radius:10px;overflow-x:auto;margin:2rem 0;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 12px #0000004d}@media (prefers-color-scheme: light){.post-content pre{background:#f5f5f5;border-color:#0000001f;box-shadow:0 2px 12px #00000014}}.post-content pre code{background:none;padding:0;border:none;font-size:.875rem;line-height:1.6;color:inherit}.post-content ul,.post-content ol{margin:1.75rem 0;padding-left:1.75rem}.post-content li{margin:.75rem 0;padding-left:.5rem}.post-content li::marker{color:#667eea;font-weight:600}.post-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid #667eea;background:#667eea0d;border-radius:0 8px 8px 0;color:#ffffffc7;font-style:italic}@media (prefers-color-scheme: light){.post-content blockquote{background:#667eea14;color:#000000bf;border-left-color:#667eea}}.post-content blockquote p{margin:.5rem 0}.post-content img{max-width:100%;height:auto;border-radius:12px;margin:2.5rem 0;box-shadow:0 8px 24px #00000026}.post-content hr{border:none;height:2px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.3),transparent);margin:3rem 0}.post-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.95rem}.post-content table th,.post-content table td{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);text-align:left}@media (prefers-color-scheme: light){.post-content table th,.post-content table td{border-color:#00000026}}.post-content table th{background:#667eea1a;font-weight:600;color:#fffffff2}@media (prefers-color-scheme: light){.post-content table th{background:#667eea1f;color:#000000d9}}.post-content table tr:hover{background:#ffffff05}@media (prefers-color-scheme: light){.post-content table tr:hover{background:#667eea0d}}.post-error{text-align:center;padding:6rem 2rem;max-width:500px;margin:0 auto}.post-error h2{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.post-error p{color:#fff9;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.6}@media (prefers-color-scheme: light){.post-error p{color:#0009}}.post-error .btn{display:inline-block;padding:.875rem 2rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .3s ease;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.post-error .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.blog-post-related{max-width:1400px;margin:0 auto;padding:0}.share-buttons{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.share-btn{padding:.5rem 1.25rem;background:#667eea1f;border:1px solid rgba(102,126,234,.3);border-radius:8px;color:#ffffffd9;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.share-btn:hover{background:#667eea33;border-color:#667eea80;transform:translateY(-2px)}@media (prefers-color-scheme: light){.share-btn{background:#667eea1f;border-color:#667eea40;color:#000c}.share-btn:hover{background:#667eea33;border-color:#667eea66}}@media only screen and (max-width: 1200px){.blog-post-container{grid-template-columns:1fr;gap:0}.blog-post-sidebar{display:none}}@media only screen and (max-width: 768px){.blog-post{padding:5rem 1.25rem 4rem}.blog-post-content{max-width:100%}.post-header{margin-bottom:2.5rem;padding-bottom:1.75rem}.post-title{font-size:1.75rem;margin-bottom:.875rem}.post-content{font-size:1rem}.post-content h1{font-size:1.75rem;margin-top:2.5rem}.post-content h2{font-size:1.5rem;margin-top:2.25rem}.post-content h3{font-size:1.25rem;margin-top:2rem}.post-content h4{font-size:1.0625rem}.post-content pre{padding:1.125rem;margin:1.75rem -1.25rem;border-radius:0}.blog-post .back-link{margin-bottom:2rem;font-size:.8125rem}}}@layer organism{blog-related-articles{display:contents}.related-articles{padding:3rem 0;border-top:1px solid rgba(102,126,234,.2);margin-top:4rem}.related-articles-title{font-size:2rem;font-weight:700;margin-bottom:2rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.related-articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.related-article-link{text-decoration:none;color:inherit;display:block}.related-article-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;gap:.75rem}.related-article-card:hover{background:#ffffff0d;border-color:#667eea66;transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}@media (prefers-color-scheme: light){.related-articles{border-top-color:#0000001f}.related-article-card{background:#fffffff2;border-color:#0000001f;box-shadow:0 2px 8px #0000000a}.related-article-card:hover{background:#fff;border-color:#667eea4d;box-shadow:0 8px 24px #667eea26}}.related-article-meta{display:flex;gap:.75rem;font-size:.8rem;color:#ffffff80}@media (prefers-color-scheme: light){.related-article-meta{color:#00000080}}.related-date,.related-reading{padding:.25rem .5rem;background:#667eea1a;border-radius:6px}.related-article-title{font-size:1.1rem;font-weight:600;margin:0;color:#fffffff2;line-height:1.4}@media (prefers-color-scheme: light){.related-article-title{color:#000000e6}}.related-article-excerpt{font-size:.9rem;line-height:1.6;color:#ffffffb3;margin:0;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (prefers-color-scheme: light){.related-article-excerpt{color:#000000b3}}.related-article-tags{display:flex;flex-wrap:wrap;gap:.4rem}.related-article-tags .tag{padding:.25rem .6rem;border-radius:12px;font-size:.75rem;color:#fffc}@media (prefers-color-scheme: light){.related-article-tags .tag{background:#667eea1f;border-color:#667eea4d;color:#000000bf}}.related-read-more{font-size:.85rem;font-weight:600;color:#667eeae6;display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;transition:gap .3s ease}.related-article-card:hover .related-read-more{gap:.6rem}@media only screen and (max-width: 768px){.related-articles-grid{grid-template-columns:1fr}.related-articles-title{font-size:1.5rem}}}@layer organism{website-blog-toc{display:block}.blog-toc{padding:1.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;backdrop-filter:blur(10px)}@media (prefers-color-scheme: light){.blog-toc{background:#fffffff2;border-color:#0000001f;box-shadow:0 2px 8px #0000000a}}.toc-header{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ffffff73;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}@media (prefers-color-scheme: light){.toc-header{color:#0000008c;border-bottom-color:#0000001f}}.toc-list{display:flex;flex-direction:column;gap:.125rem}.toc-link{display:block;padding:.5rem .75rem;color:#fff9;text-decoration:none;font-size:.875rem;line-height:1.4;border-radius:6px;transition:all .2s ease;border-left:2px solid transparent}@media (prefers-color-scheme: light){.toc-link{color:#000000a6}}.toc-link:hover{color:#667eea;background:#667eea14;border-left-color:#667eea4d}.toc-link.active{color:#667eea;background:#667eea1f;border-left-color:#667eea;font-weight:600}.toc-link.toc-level-1{padding-left:.75rem;font-weight:600}.toc-link.toc-level-2{padding-left:.75rem;font-weight:500}.toc-link.toc-level-3{padding-left:1.5rem;font-size:.8125rem}.toc-link.toc-level-4{padding-left:2.25rem;font-size:.8125rem;color:#ffffff80}@media (prefers-color-scheme: light){.toc-link.toc-level-4{color:#0000008c}}.toc-empty{color:#fff6;font-size:.875rem;font-style:italic;text-align:center;padding:1rem 0}@media (prefers-color-scheme: light){.toc-empty{color:#00000080}}.blog-toc::-webkit-scrollbar{width:4px}.blog-toc::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.blog-toc::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}.blog-toc::-webkit-scrollbar-thumb:hover{background:#667eea80}@media (prefers-color-scheme: light){.blog-toc::-webkit-scrollbar-track{background:#0000000a}.blog-toc::-webkit-scrollbar-thumb{background:#667eea66}.blog-toc::-webkit-scrollbar-thumb:hover{background:#667eea99}}@media only screen and (max-width: 1200px){website-blog-toc{display:none}}}@layer organism{website-contact{display:contents}.contact{padding:6rem 2rem 2rem;position:relative;overflow:hidden;max-width:100vw}.contact:before{content:"";position:absolute;top:-30%;left:10%;width:80%;height:80%;background:radial-gradient(circle,rgba(118,75,162,.15) 0%,transparent 70%);pointer-events:none}.contact-content{max-width:var(--content-width);margin:0 auto;text-align:center;position:relative;z-index:1}.contact-subtitle{font-size:1.2rem;color:#fff9;margin:0 auto 3rem;max-width:600px;line-height:1.6}@media (prefers-color-scheme: light){.contact-subtitle{color:#0009}}.contact-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:4rem}.contact-link{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;font-weight:600;font-size:1.1rem;transition:all .3s ease}@media (prefers-color-scheme: light){.contact-link{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #0000000a}.contact-link:hover{background:#fff;box-shadow:0 4px 16px #667eea26}}.contact-link:hover{transform:translateY(-4px);background:#667eea26;border-color:#667eea4d;box-shadow:0 8px 24px #667eea33}.contact-link svg{width:24px;height:24px}.contact-link .icon{font-size:1.5rem}.footer{margin-top:6rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);text-align:center}@media (prefers-color-scheme: light){.footer{border-top:1px solid rgba(0,0,0,.1)}}.footer p{margin:0;color:#ffffff80;font-size:.95rem}@media (prefers-color-scheme: light){.footer p{color:#00000080}}@media only screen and (max-width: 968px){.contact{padding:4rem 1rem 2rem}.contact-links{flex-direction:column;align-items:stretch;gap:1rem}.contact-link{justify-content:center}}}@layer organism{github-stats{display:contents}.github-stats{margin:2rem 0 3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{position:relative;padding:1.25rem 1rem;border-radius:16px;background:#ffffff0d;border:1px solid rgba(102,126,234,.25);backdrop-filter:blur(8px);box-shadow:0 8px 24px #667eea1f;transition:transform .2s ease,box-shadow .3s ease}@media (prefers-color-scheme: light){.stat-card{background:#fffffff2;border-color:#0000001f;box-shadow:0 2px 8px #0000000a}}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #764ba22e}@media (prefers-color-scheme: light){.stat-card:hover{box-shadow:0 8px 24px #667eea26}}.stat-value{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;line-height:1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{margin-top:.35rem;font-weight:600;color:#ffffffb3}@media (prefers-color-scheme: light){.stat-label{color:#000000a6}}}@layer organism{contribution-heatmap{display:block}.contribution-heatmap-section{margin:3rem 0;padding:2rem;background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;backdrop-filter:blur(8px);position:relative}@media (prefers-color-scheme: light){.contribution-heatmap-section{background:#fffffff2;border-color:#667eea33;box-shadow:0 2px 8px #0000000a}}.heatmap-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heatmap-grid{position:relative;display:flex;flex-direction:column;gap:.5rem}.heatmap-months{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:clamp(2px,.3%,4px);margin-left:30px;margin-right:30px;margin-bottom:.25rem;width:calc(100% - 60px)}.month-label{font-size:.75rem;font-weight:600;color:#fff9}@media (prefers-color-scheme: light){.month-label{color:#0009}}.heatmap-weeks{display:flex;gap:clamp(2px,.3%,4px);margin-left:30px;margin-right:30px;width:calc(100% - 60px)}.heatmap-week{display:flex;flex-direction:column;gap:clamp(2px,.3%,4px);flex:1;min-width:0}.heatmap-days{position:absolute;left:0;top:28px;display:flex;flex-direction:column;gap:clamp(2px,.3%,4px)}.day-label{font-size:.7rem;font-weight:500;color:#ffffff80;width:100%;aspect-ratio:1;max-width:18px;max-height:18px;display:flex;align-items:center;justify-content:flex-end;padding-right:4px}@media (prefers-color-scheme: light){.day-label{color:#0000008c}}.heatmap-day{width:100%;aspect-ratio:1;max-width:18px;max-height:18px;border-radius:2px;cursor:pointer;transition:all .15s ease}.heatmap-day.empty{background:transparent;cursor:default}.heatmap-day.level-0{background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.heatmap-day.level-1{background:#667eea4d;border:1px solid rgba(102,126,234,.4)}.heatmap-day.level-2{background:#667eea80;border:1px solid rgba(102,126,234,.6)}.heatmap-day.level-3{background:#667eeab3;border:1px solid rgba(102,126,234,.8)}.heatmap-day.level-4{background:#764ba2e6;border:1px solid rgba(118,75,162,1)}@media (prefers-color-scheme: light){.heatmap-day.level-0{background:#0000000a;border:1px solid rgba(0,0,0,.08)}.heatmap-day.level-1{background:#667eea40;border:1px solid rgba(102,126,234,.35)}.heatmap-day.level-2{background:#667eea73;border:1px solid rgba(102,126,234,.55)}.heatmap-day.level-3{background:#667eeaa6;border:1px solid rgba(102,126,234,.75)}.heatmap-day.level-4{background:#764ba2d9;border:1px solid rgba(118,75,162,.95)}}.heatmap-day:not(.empty):hover{transform:scale(1.4);z-index:10;box-shadow:0 4px 12px #667eea66}.heatmap-tooltip{position:fixed;background:#1e1e28f2;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;pointer-events:none;opacity:0;transform:none;transition:opacity .2s ease;z-index:9999;backdrop-filter:blur(8px);border:1px solid rgba(102,126,234,.3);box-shadow:0 8px 20px #0006;white-space:nowrap}@media (prefers-color-scheme: light){.heatmap-tooltip{background:#fffffff2;color:#000000e6;border-color:#00000026;box-shadow:0 8px 20px #00000026}}.heatmap-tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-count{font-weight:700;margin-bottom:.125rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tooltip-date{font-size:.75rem;opacity:.8}.heatmap-total{margin-top:1rem;font-size:.875rem;color:#fff9;font-weight:500}@media (prefers-color-scheme: light){.heatmap-total{color:#0009}}.mock-notice{color:#ff7e57cc;font-size:.8125rem;font-style:italic}@media (prefers-color-scheme: light){.mock-notice{color:#c8461ecc}}.heatmap-loading,.heatmap-error{padding:2rem;text-align:center;color:#ffffff80;font-size:.9375rem}@media (prefers-color-scheme: light){.heatmap-loading,.heatmap-error{color:#00000080}}@media only screen and (max-width: 768px){.contribution-heatmap-section{padding:1.5rem 1rem}.heatmap-grid{min-width:100%}.heatmap-title{font-size:1.25rem}.heatmap-months,.heatmap-days{display:none}.heatmap-weeks{gap:clamp(3px,.4%,5px);margin-left:0;margin-right:0;width:100%}.heatmap-week{gap:clamp(3px,.4%,5px)}.heatmap-day{max-width:14px;max-height:14px}}}@layer organism{coding-streak{display:block}.coding-streak-section{margin:3rem 0;padding:2rem;background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;backdrop-filter:blur(8px)}@media (prefers-color-scheme: light){.coding-streak-section{background:#fffffff2;border-color:#667eea33;box-shadow:0 2px 8px #0000000a}}.streak-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-content{display:flex;flex-direction:column;gap:2rem}.streak-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.streak-card{padding:1.5rem;background:#ffffff0a;border:1px solid rgba(102,126,234,.2);border-radius:12px;text-align:center;transition:all .3s ease}@media (prefers-color-scheme: light){.streak-card{background:#ffffffe6;border-color:#0000001a}}.streak-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #667eea26;border-color:#667eea66}@media (prefers-color-scheme: light){.streak-card:hover{box-shadow:0 8px 20px #667eea1f}}.streak-card.current{border-color:#ff7e574d}.streak-card.current:hover{border-color:#ff7e5780}.streak-card.longest{border-color:#ffd7004d}.streak-card.longest:hover{border-color:#ffd70080}.streak-icon{font-size:2.5rem;margin-bottom:.75rem}.streak-value{font-size:3rem;font-weight:900;line-height:1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.streak-label{font-size:.9375rem;font-weight:600;color:#ffffffb3;margin-bottom:.75rem}@media (prefers-color-scheme: light){.streak-label{color:#000000a6}}.streak-message,.streak-milestone{font-size:.875rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;margin-top:.5rem}.streak-message{background:#ff7e5726;color:#ff7e57e6;border:1px solid rgba(255,126,87,.3)}@media (prefers-color-scheme: light){.streak-message{background:#ff7e571a;color:#c8461ee6;border-color:#ff7e5740}}.streak-milestone{background:#ffd70026;color:#ffd700f2;border:1px solid rgba(255,215,0,.3)}@media (prefers-color-scheme: light){.streak-milestone{background:#ffd7001a;color:#b47800f2;border-color:#ffd7004d}}.streak-activity{padding:1.5rem;background:#ffffff0a;border:1px solid rgba(102,126,234,.2);border-radius:12px}@media (prefers-color-scheme: light){.streak-activity{background:#ffffffe6;border-color:#0000001a}}.activity-title{font-size:1rem;font-weight:600;color:#fffc;margin-bottom:1rem}@media (prefers-color-scheme: light){.activity-title{color:#000000bf}}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16px,1fr));gap:4px}.activity-day{aspect-ratio:1;border-radius:3px;cursor:pointer;transition:all .2s ease}.activity-day.level-0{background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.activity-day.level-1{background:#667eea4d}.activity-day.level-2{background:#667eea80}.activity-day.level-3{background:#667eeab3}.activity-day.level-4{background:#764ba2e6}@media (prefers-color-scheme: light){.activity-day.level-0{background:#0000000a;border:1px solid rgba(0,0,0,.08)}.activity-day.level-1{background:#667eea40}.activity-day.level-2{background:#667eea73}.activity-day.level-3{background:#667eeaa6}.activity-day.level-4{background:#764ba2d9}}.activity-day:hover{transform:scale(1.2);z-index:10;box-shadow:0 4px 8px #667eea4d}.streak-loading{padding:2rem;text-align:center;color:#ffffff80;font-size:.9375rem}@media (prefers-color-scheme: light){.streak-loading{color:#00000080}}@media only screen and (max-width: 768px){.coding-streak-section{padding:1.5rem 1rem}.streak-title{font-size:1.25rem}.streak-stats{grid-template-columns:1fr}.streak-value{font-size:2.5rem}.activity-grid{grid-template-columns:repeat(auto-fill,minmax(12px,1fr));gap:3px}}}@layer organism{language-chart{display:block}.language-chart-section{margin:3rem 0;padding:2rem;background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;backdrop-filter:blur(8px)}@media (prefers-color-scheme: light){.language-chart-section{background:#fffffff2;border-color:#667eea33;box-shadow:0 2px 8px #0000000a}}.chart-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chart-subtitle{font-size:.875rem;color:#fff9;margin-bottom:1.5rem}@media (prefers-color-scheme: light){.chart-subtitle{color:#0009}}.language-chart-container{display:flex;flex-direction:column;gap:1rem}.language-bar-container{display:flex;flex-direction:column;gap:.375rem}.language-info{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.language-name{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#ffffffd9}@media (prefers-color-scheme: light){.language-name{color:#000000d9}}.language-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.language-percentage{font-weight:700;color:#ffffffb3;font-size:.875rem;font-variant-numeric:tabular-nums}@media (prefers-color-scheme: light){.language-percentage{color:#000000a6}}.language-bar-track{height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;position:relative}@media (prefers-color-scheme: light){.language-bar-track{background:#00000014}}.language-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.language-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.language-bar-fill:hover:after{opacity:1}.language-bar-fill:hover{filter:brightness(1.2)}.chart-loading,.chart-empty{padding:2rem;text-align:center;color:#ffffff80;font-size:.9375rem}@media (prefers-color-scheme: light){.chart-loading,.chart-empty{color:#00000080}}@media only screen and (max-width: 768px){.language-chart-section{padding:1.5rem 1rem}.chart-title{font-size:1.25rem}.language-info{font-size:.875rem}.language-percentage{font-size:.8125rem}}}.timeline-section{padding:4rem 2rem;max-width:var(--content-width);margin:0 auto}.timeline-section .section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;margin:0 0 1.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#667eea);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite;opacity:0;animation:title-entrance 1s ease-out .2s forwards}@keyframes title-entrance{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.timeline-intro{text-align:center;max-width:600px;margin:1rem auto 3rem;opacity:0;font-size:1.1rem;animation:entrance-fade .8s ease-out .4s forwards}@keyframes entrance-fade{to{opacity:.8;transform:translateY(0)}0%{opacity:0;transform:translateY(20px)}}.timeline-filters{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.filter-btn{padding:.5rem 1.25rem;border:1px solid rgba(102,126,234,.3);background:#667eea0d;color:#ffffffb3;border-radius:20px;cursor:pointer;font-family:inherit;font-size:.9rem;transition:all .3s ease}.filter-btn:hover{background:#667eea26;border-color:#667eea80;color:#ffffffe6}.filter-btn.active{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eea99;color:#fff;box-shadow:0 0 20px #667eea4d}.timeline{position:relative;padding:2rem 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,rgba(102,126,234,.5) 10%,rgba(118,75,162,.5) 90%,transparent);transform:translate(-50%)}.timeline-entries{display:flex;flex-direction:column;gap:3rem}.timeline-item{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;position:relative;overflow:visible;opacity:0;transform:translateY(50px);animation:timeline-item-entrance .8s ease-out forwards}.timeline-item:nth-child(1){animation-delay:.6s}.timeline-item:nth-child(2){animation-delay:.8s}.timeline-item:nth-child(3){animation-delay:1s}.timeline-item:nth-child(4){animation-delay:1.2s}.timeline-item:nth-child(5){animation-delay:1.4s}.timeline-item:nth-child(6){animation-delay:1.6s}.timeline-item:nth-child(7){animation-delay:1.8s}.timeline-item:nth-child(8){animation-delay:2s}@keyframes timeline-item-entrance{to{opacity:1;transform:translateY(0)}}.timeline-item:nth-child(2n) .timeline-content{grid-column:1;text-align:right}.timeline-item:nth-child(2n) .timeline-marker{grid-column:2}.timeline-item:nth-child(2n) .timeline-content:after{display:none}.timeline-item:nth-child(odd) .timeline-content{grid-column:3;text-align:left}.timeline-item:nth-child(odd) .timeline-marker{grid-column:2}.timeline-marker{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea33,#764ba233);border:3px solid rgba(102,126,234,.5);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 20px #667eea4d;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-marker:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#667eea4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.timeline-item:hover .timeline-marker{transform:scale(1.2);box-shadow:0 0 40px #667eea99;border-color:#667eeacc}.timeline-item:hover .timeline-marker:before{width:80px;height:80px}.marker-icon{font-size:1.5rem;transition:transform .3s ease;position:relative;z-index:1}.timeline-item:hover .marker-icon{transform:rotate(10deg) scale(1.2)}.timeline-content{background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:12px;padding:1.5rem;backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-content:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .8s ease}.timeline-content:hover:before{left:100%}.timeline-content:hover{background:#ffffff0d;border-color:#667eea66;transform:translateY(-6px) scale(1.02);box-shadow:0 15px 50px #667eea40}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.timeline-date{font-weight:600;color:#667eeae6;font-size:.9rem}.timeline-type{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.timeline-type.education{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.timeline-type.work{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.3)}.timeline-type.achievement{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.timeline-type.opensource{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.timeline-title{font-size:1.3rem;margin:.5rem 0;color:#fff}.timeline-title a{text-decoration:none;color:inherit;transition:color .3s ease}.timeline-title a:hover{color:#667eeae6}.timeline-org{font-size:.95rem;color:#fff9;margin-bottom:.75rem;font-style:italic}.timeline-description{margin:1rem 0;line-height:1.6;color:#fffc;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.timeline-item.expanded .timeline-description{-webkit-line-clamp:unset;overflow:visible}.timeline-toggle{margin-top:.5rem;padding:.35rem .8rem;border-radius:10px;border:1px solid rgba(102,126,234,.4);background:#667eea14;color:#ffffffd9;cursor:pointer;font-size:.8rem}.timeline-toggle:hover{background:#667eea26}.timeline-tags{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.timeline-item:nth-child(2n) .timeline-tags{justify-content:flex-end}.timeline-tags .tag{padding:.3rem .75rem;border-radius:6px;font-size:.85rem;color:#fffc}.timeline-expandable{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease,margin-top .3s ease;margin-top:0}.timeline-item.expanded .timeline-expandable{max-height:1000px;opacity:1;margin-top:1.5rem}.timeline-details{margin:0 0 1rem;padding:1rem;background:#667eea0d;border-left:3px solid rgba(102,126,234,.4);border-radius:6px;line-height:1.7;color:#ffffffd9;font-style:italic}@media (prefers-color-scheme: light){.timeline-details{background:#667eea14;color:#000000bf}}.expandable-title{font-size:.95rem;font-weight:600;margin:1.5rem 0 .75rem;color:#ffffffe6;display:flex;align-items:center;gap:.5rem}@media (prefers-color-scheme: light){.expandable-title{color:#000000d9}}.timeline-achievements,.timeline-skills{margin-bottom:1rem}.achievements-list{list-style:none;padding:0;margin:0}.achievements-list li{padding:.6rem 0 .6rem 1.5rem;position:relative;line-height:1.6;color:#fffc;border-left:2px solid rgba(102,126,234,.2);margin-bottom:.5rem}.achievements-list li:before{content:"→";position:absolute;left:.4rem;color:#667eeab3;font-weight:700}@media (prefers-color-scheme: light){.achievements-list li{color:#000000bf}}.skills-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.4rem .9rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:16px;font-size:.85rem;font-weight:500;color:#8b5cf6;transition:all .3s ease}.skill-tag:hover{background:#8b5cf640;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf633}@media (prefers-color-scheme: light){.skill-tag{background:#8b5cf61a;color:#8b5cf6}}.timeline-item:nth-child(2n) .skills-tags{justify-content:flex-end}@media (max-width: 768px){.timeline-line{left:30px;transform:none}.timeline-item{grid-template-columns:60px 1fr;gap:1rem}.timeline-item:nth-child(2n) .timeline-content,.timeline-item:nth-child(odd) .timeline-content{grid-column:2;text-align:left}.timeline-item:nth-child(2n) .timeline-marker,.timeline-item:nth-child(odd) .timeline-marker{grid-column:1;justify-self:center}.timeline-item:nth-child(2n) .timeline-tags{justify-content:flex-start}.timeline-marker{width:40px;height:40px}.marker-icon{font-size:1.2rem}.timeline-header{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme: light){.timeline-intro{color:#000000b3}.timeline-content{background:#fffffff2;border-color:#667eea40;box-shadow:0 2px 8px #0000000a}.timeline-content:hover{background:#fff;box-shadow:0 4px 16px #667eea1f}.timeline-title{color:#1a1a1a}.timeline-org{color:#0000008c}.timeline-description{color:#000000bf}.timeline-toggle{background:#667eea1f;border-color:#667eea4d;color:#000c}.timeline-toggle:hover{background:#667eea33;color:#000000e6}.filter-btn{color:#000000b3;background:#667eea1a;border-color:#667eea40}.filter-btn:hover{color:#000000e6;background:#667eea26}.filter-btn.active{color:#fff}.timeline-tags .tag{background:#667eea1f;border-color:#667eea40;color:#000000bf}.timeline-marker{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea66}}.skills-section{padding:4rem 2rem;max-width:var(--content-width);margin:0 auto}.skills-section .section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;margin:0 0 1.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2,#667eea);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.skills-intro{text-align:center;max-width:600px;margin:1rem auto 3rem;opacity:.8;font-size:1.1rem}.skills-container{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem}.skill-category{background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;padding:2rem;transition:all .3s ease}.skill-category:hover{background:#ffffff0d;border-color:#667eea66;box-shadow:0 10px 40px #667eea26}.category-title{font-size:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#fff}.category-icon{font-size:1.8rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.skill-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;transition:all .3s ease;position:relative}.skill-card:hover{background:#ffffff14;border-color:var(--skill-color, rgba(102, 126, 234, .4));transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.skill-card.clickable{cursor:pointer}.skill-card.clickable:hover{box-shadow:0 8px 20px var(--skill-color, rgba(102, 126, 234, .3))}.skill-name{font-size:1.05rem;font-weight:600;margin-bottom:.75rem;color:#fff}.skill-level-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.skill-level-fill{height:100%;width:0%;border-radius:3px;transition:width 1s ease;box-shadow:0 0 10px currentColor}.skill-card.scroll-reveal.revealed .skill-level-fill{width:var(--level, 0%)}.skill-level-text{font-size:.85rem;color:#fff9;text-transform:capitalize}.additional-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.currently-learning,.soft-skills{background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;padding:2rem}.currently-learning h3,.soft-skills h3{font-size:1.3rem;margin-bottom:1.25rem;color:#fff}.learning-tags{display:flex;flex-wrap:wrap;gap:.75rem}.learning-tag{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea33,#764ba233);border:1px solid rgba(102,126,234,.4);border-radius:20px;font-size:.9rem;color:#ffffffe6;transition:all .3s ease}.learning-tag:hover{background:linear-gradient(135deg,#667eea4d,#764ba24d);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media (prefers-color-scheme: light){.learning-tag{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea59;color:#000000d9}.learning-tag:hover{background:linear-gradient(135deg,#667eea40,#764ba240);box-shadow:0 4px 12px #667eea33}}.soft-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.soft-skill-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#ffffff0d;border-radius:8px;color:#ffffffd9;transition:all .3s ease}.soft-skill-item:hover{background:#ffffff14;transform:translate(4px)}.check-icon{color:#34d399;.skill-card.clickable:focus{outline:2px solid var(--skill-color, #667eea)}font-weight:700;font-size:1.1rem}.skill-modal{position:fixed;top:0;.skill-modal,.skill-modal .modal-content{pointer-events:auto}left:0;.skill-modal.active{display:flex}width:100%;height:100%;z-index:1000;display:none;align-items:center;justify-content:center}.skill-modal.active{display:flex}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(5px)}.modal-content{position:relative;z-index:1001;background:#242424f2;border:1px solid rgba(102,126,234,.4);border-radius:16px;padding:2rem;max-width:500px;width:90%;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#fff9;cursor:pointer;transition:color .3s ease;font-family:inherit;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#fff}.modal-skill-name{font-size:1.8rem;margin-bottom:.5rem;color:#fff}.modal-skill-level{font-size:1.1rem;color:#667eeae6;margin-bottom:1.5rem;font-weight:600}.modal-skill-projects h4{font-size:1rem;margin-bottom:.75rem;color:#fffc}.project-tag{display:inline-block;padding:.4rem .8rem;background:#667eea33;border:1px solid rgba(102,126,234,.3);border-radius:6px;margin:.25rem;font-size:.9rem}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.skill-card{padding:1rem}.additional-skills,.soft-skills-grid{grid-template-columns:1fr}}@media (prefers-color-scheme: light){.skills-intro{color:#000000b3}.skill-category,.currently-learning,.soft-skills{background:#fffffff2;border-color:#667eea40;box-shadow:0 2px 8px #0000000a}.skill-category:hover{background:#fff;box-shadow:0 4px 16px #667eea1f}.skill-card{background:#ffffffb3;border-color:#0000001f}.skill-card:hover{background:#fffffff2}.category-title,.currently-learning h3,.soft-skills h3,.skill-name{color:#1a1a1a}.skill-level-text{color:#0009}.soft-skill-item{color:#000000bf;background:#ffffffb3}.soft-skill-item:hover{background:#ffffffe6}.skill-level-bar{background:#00000014}.modal-content{background:#fffffffa;border-color:#0000001f}.modal-skill-name{color:#1a1a1a}.modal-close{color:#00000080}.modal-close:hover{color:#1a1a1a}.modal-backdrop{background:#0006}}@layer organism{terminal-typing,interactive-terminal{display:block}.terminal-window{background:#141414f2;border:1px solid rgba(102,126,234,.3);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px #667eea26,inset 0 1px #ffffff1a;backdrop-filter:blur(20px);font-family:Fliege Mono,monospace;position:relative;cursor:text;transition:transform .3s ease,box-shadow .6s ease;@media (hover: hover) and (pointer: fine){.terminal-window:hover{transform:perspective(900px) rotateX(1.2deg) rotateY(-1.2deg) scale(1.01);box-shadow:0 30px 80px #0009,0 0 60px #764ba240,inset 0 1px #ffffff1f}}@keyframes borderGlow{0%{box-shadow:0 20px 60px #00000080,0 0 40px #667eea26,inset 0 1px #ffffff1a}to{box-shadow:0 24px 72px #0009,0 0 70px #764ba259,inset 0 1px #ffffff1f}}animation:borderGlow 8s ease-in-out infinite alternate}.terminal-window:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.1) 50%);background-size:100% 4px;pointer-events:none;z-index:10;animation:scanline 8s linear infinite}.terminal-window:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,rgba(102,126,234,.1) 0%,transparent 70%);pointer-events:none;z-index:9}@keyframes scanline{0%{background-position:0 0}to{background-position:0 100%}}@media (prefers-color-scheme: light){.terminal-window{background:#1e1e1ef2;border-color:#667eea66}}.terminal-header{background:#282828cc;border-bottom:1px solid rgba(102,126,234,.2);padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;position:relative}.terminal-header:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(102,126,234,.08),transparent);pointer-events:none}.terminal-buttons{display:flex;gap:.5rem}.terminal-button{width:12px;height:12px;border-radius:50%;display:block;position:relative;transition:transform .2s ease,box-shadow .2s ease}.terminal-button:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:radial-gradient(circle,currentColor 0%,transparent 60%);opacity:.25;filter:blur(4px);transition:opacity .2s ease}.terminal-button:hover{transform:scale(1.1)}.terminal-button:hover:after{opacity:.45}.terminal-button.close{background:#ff5f56;box-shadow:0 0 8px #ff5f5666}.terminal-button.minimize{background:#ffbd2e;box-shadow:0 0 8px #ffbd2e66}.terminal-button.maximize{background:#27c93f;box-shadow:0 0 8px #27c93f66}.terminal-title{font-size:.875rem;color:#ffffffd9;font-weight:600;background:linear-gradient(90deg,#c3cfe2,#fff,#c3cfe2);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titleShimmer 6s linear infinite}@keyframes titleShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.terminal-body{padding:1.5rem;height:320px;overflow-y:auto;overflow-x:hidden;font-size:.95rem;line-height:1.5;position:relative;z-index:11;scroll-behavior:smooth;background-image:radial-gradient(1200px 600px at 80% -20%,rgba(102,126,234,.08),transparent 40%),radial-gradient(800px 400px at -10% 100%,rgba(118,75,162,.12),transparent 50%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:auto,auto,24px 24px,24px 24px;background-position:0 0,0 0,0 0,0 0}.terminal-body::-webkit-scrollbar{width:8px}.terminal-body::-webkit-scrollbar-track{background:#0003}.terminal-body::-webkit-scrollbar-thumb{background:#667eea66;border-radius:4px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#667eea99}.terminal-line{display:flex;align-items:flex-start;margin-bottom:.2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.terminal-prompt{color:#39ff14;font-weight:700;margin-right:.5rem;text-shadow:0 0 10px rgba(57,255,20,.5)}.terminal-text{color:#ffffffe6;flex:1}.terminal-line.highlight .terminal-text{color:#00d9ff;font-weight:600;text-shadow:0 0 10px rgba(0,217,255,.3)}.terminal-line.accent .terminal-text{color:#ff6b35;font-weight:600;text-shadow:0 0 10px rgba(255,107,53,.3)}.terminal-line.gradient .terminal-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.terminal-cursor{color:#39ff14;margin-left:2px;text-shadow:0 0 10px rgba(57,255,20,.8);transition:opacity .3s ease,filter .3s ease;filter:drop-shadow(0 0 6px rgba(57,255,20,.6))}.terminal-window{width:clamp(520px,44vw,680px);max-width:100%}.terminal-cursor.active{animation:blink 1s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-input-line{margin-bottom:0}.terminal-input{background:transparent;border:none;outline:none;color:#ffffffe6;font-family:Fliege Mono,monospace;font-size:.95rem;line-height:1.8;padding:0;margin:0;flex:1;caret-color:#39ff14;width:100%}.terminal-input:focus{outline:none}.terminal-input-line .terminal-cursor{display:inline-block;vertical-align:baseline;margin-left:2px}.terminal-line.error .terminal-text{color:#ff6b6b;font-weight:600}.terminal-line.success .terminal-text{color:#39ff14;font-weight:600}.terminal-line.warning .terminal-text{color:#ffd93d;font-weight:600}.terminal-line.info .terminal-text{color:#00d9ff}.terminal-line.pre .terminal-text{white-space:pre;display:block;font-size:.8rem;line-height:1.15}.terminal-text{letter-spacing:0}@media only screen and (max-width: 768px){.terminal-window{border-radius:8px;width:100%}.terminal-header{padding:.625rem .875rem}.terminal-button{width:10px;height:10px}.terminal-title{font-size:.75rem}.terminal-body{padding:1rem;height:200px;font-size:.85rem}}}@layer organism{code-showcase{display:contents}.code-showcase{padding:2rem 2rem 0;max-width:var(--content-width);margin:0 auto}.code-card{border-radius:16px;background:#0a0a0ae6;border:1px solid rgba(102,126,234,.35);box-shadow:0 20px 60px #00000080,0 0 40px #764ba226;overflow:hidden;backdrop-filter:blur(10px)}.code-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1e1e1ee6;border-bottom:1px solid rgba(102,126,234,.2)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.code-title{margin-left:auto;font-size:.8rem;color:#ffffffb3;font-weight:700}pre{margin:0;padding:16px 20px;overflow:auto}}@layer atom{particle-background{display:block}.particle-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.6}@media (prefers-reduced-motion: reduce){.particle-background{display:none}}.particle-background canvas{width:100%;height:100%;display:block}@media only screen and (max-width: 768px){.particle-background{opacity:.3}}}@layer organism{website-header{display:contents}website-header>header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#242424f2;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:1rem 0}.skip-link{position:absolute;left:50%;transform:translate(-50%);top:-42px;background:#111;color:#fff;padding:.5rem 1rem;border-radius:8px;text-decoration:none;z-index:1001;transition:top .2s ease}.skip-link:focus{top:.5rem}@media (prefers-color-scheme: light){website-header>header{background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.1)}}.header-content{max-width:var(--content-width);margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:900;text-decoration:none;color:inherit;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .3s ease}.logo:hover{opacity:.8}.header-content nav{display:flex;gap:2rem;align-items:center}.desktop-nav{display:flex;gap:2rem;align-items:center}.header-content nav a{text-decoration:none;color:inherit;font-weight:500;transition:all .3s ease;position:relative}.header-content nav a:not(.github-link):after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.header-content nav a:not(.github-link):hover:after{width:100%}.github-link{display:flex;align-items:center;padding:.5rem;border-radius:8px;background:#ffffff0d;transition:all .3s ease}.github-link:hover{background:#ffffff1a;transform:translateY(-2px)}.github-link svg{width:20px;height:20px}.mobile-menu-toggle{display:none;background:none;border:none;color:inherit;font-size:1.75rem;cursor:pointer;padding:.5rem;margin:-.5rem;transition:opacity .3s ease;z-index:1002}.mobile-menu-toggle:hover{opacity:.7}.mobile-menu-toggle:focus{outline:2px solid rgba(102,126,234,.5);outline-offset:4px}.hamburger-icon{display:block;line-height:1}.mobile-nav{display:none;position:fixed;top:0;right:0;height:100vh;width:340px;max-width:80vw;background:#1e1e28fa;backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1);padding:5rem 1.5rem 1.5rem;z-index:1001;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;flex-direction:column;gap:.75rem}@media (prefers-color-scheme: light){.mobile-nav{background:#fffffffa;border-left-color:#0000001a}}.mobile-nav.open{transform:translate(0)}.mobile-nav a{text-decoration:none;color:inherit;font-weight:600;font-size:1rem;padding:.625rem 1rem;border-radius:8px;transition:all .3s ease;display:block;position:relative}.mobile-nav a:hover,.mobile-nav a:focus{background:#667eea26;transform:translate(4px)}.mobile-nav a:focus{outline:2px solid rgba(102,126,234,.5);outline-offset:2px}.github-link-mobile{display:flex!important;align-items:center;gap:.75rem;margin-top:.5rem;padding:.875rem 1rem!important;background:#667eea1a;border:1px solid rgba(102,126,234,.3)}.github-link-mobile svg{width:24px;height:24px}.mobile-nav-backdrop{display:none;position:fixed;inset:0;background:#0009;backdrop-filter:blur(2px);z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media only screen and (max-width: 768px){.header-content{padding:0 1rem}.logo{font-size:1.25rem}.header-content .desktop-nav{display:none}.mobile-menu-toggle{display:block}.mobile-nav{display:flex}.mobile-nav-backdrop{display:block}}@media only screen and (max-width: 480px){.header-content{padding:0 .75rem}.logo{font-size:1.125rem}.mobile-nav{width:300px}}@media only screen and (max-width: 360px){.header-content{padding:0 .5rem}.logo{font-size:1rem}.mobile-nav{width:240px}.mobile-nav a{font-size:1rem;padding:.625rem .875rem}}}@layer utility{.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.project-card.scroll-reveal,.blog-card.scroll-reveal{transition-delay:calc(var(--index, 0) * .1s)}}@layer utility{[hidden]{display:none!important}a,.btn{transition:filter .2s ease,text-shadow .2s ease}a:hover,.btn:hover{text-shadow:0 0 10px rgba(102,126,234,.6)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea99,#764ba299);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#667eeacc,#764ba2cc)}@media (prefers-color-scheme: light){::-webkit-scrollbar-track{background:#0000000d}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea66,#764ba266)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#667eea99,#764ba299)}}}@layer molecule{.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:radial-gradient(circle,#667eea99,#667eea00 70%);transform:scale(0);animation:ripple-animation .6s ease-out;pointer-events:none}@keyframes ripple-animation{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple.light{background:radial-gradient(circle,#ffffff80,#fff0 70%)}.ripple.accent{background:radial-gradient(circle,#764ba299,#764ba200 70%)}@media (prefers-reduced-motion: reduce){.ripple{animation:none;opacity:0}}.interactive-hover{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.interactive-hover:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea26}.glow-hover{transition:all .3s ease;position:relative}.glow-hover:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#667eea,#764ba2,#667eea);border-radius:inherit;opacity:0;z-index:-1;transition:opacity .3s ease;filter:blur(4px)}.glow-hover:hover:before{opacity:.7;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.7;filter:blur(4px)}50%{opacity:.9;filter:blur(6px)}}.scale-hover{transition:transform .3s cubic-bezier(.4,0,.2,1)}.scale-hover:hover{transform:scale(1.05)}.scale-hover:active{transform:scale(.98);transition:transform .1s ease}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:before{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.success-checkmark{display:inline-block;width:20px;height:20px;border-radius:50%;background:#10b981;position:relative;animation:success-pop .4s ease-out}.success-checkmark:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}@keyframes success-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.error-shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.focus-ring{transition:all .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #667eea80}}@layer molecule{.glitch-text{position:relative;display:inline-block}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.glitch-text:before{color:#f0f;z-index:-1;animation:glitch-before .3s cubic-bezier(.25,.46,.45,.94) both}.glitch-text:after{color:#0ff;z-index:-2;animation:glitch-after .3s cubic-bezier(.25,.46,.45,.94) both}.glitch-text:hover:before,.glitch-text:hover:after{opacity:.8}.glitch-text:hover:before{animation:glitch-before .6s cubic-bezier(.25,.46,.45,.94) infinite}.glitch-text:hover:after{animation:glitch-after .6s cubic-bezier(.25,.46,.45,.94) infinite}@keyframes glitch-before{0%{clip-path:inset(0 0 0 0);transform:translate(0)}10%{clip-path:inset(20% 0 30% 0);transform:translate(-2px,2px)}20%{clip-path:inset(60% 0 10% 0);transform:translate(3px,-1px)}30%{clip-path:inset(10% 0 70% 0);transform:translate(-3px,1px)}40%{clip-path:inset(50% 0 20% 0);transform:translate(2px,-2px)}50%{clip-path:inset(30% 0 40% 0);transform:translate(-1px,3px)}60%{clip-path:inset(70% 0 10% 0);transform:translate(2px,-1px)}70%{clip-path:inset(15% 0 60% 0);transform:translate(-3px,2px)}80%{clip-path:inset(40% 0 30% 0);transform:translate(3px,-2px)}90%{clip-path:inset(25% 0 50% 0);transform:translate(-2px,1px)}to{clip-path:inset(0 0 0 0);transform:translate(0)}}@keyframes glitch-after{0%{clip-path:inset(0 0 0 0);transform:translate(0)}10%{clip-path:inset(40% 0 35% 0);transform:translate(2px,-2px)}20%{clip-path:inset(15% 0 50% 0);transform:translate(-3px,2px)}30%{clip-path:inset(65% 0 15% 0);transform:translate(2px,-1px)}40%{clip-path:inset(25% 0 45% 0);transform:translate(-2px,3px)}50%{clip-path:inset(55% 0 20% 0);transform:translate(3px,-2px)}60%{clip-path:inset(10% 0 60% 0);transform:translate(-1px,2px)}70%{clip-path:inset(45% 0 25% 0);transform:translate(2px,-3px)}80%{clip-path:inset(20% 0 55% 0);transform:translate(-3px,1px)}90%{clip-path:inset(50% 0 30% 0);transform:translate(2px,-1px)}to{clip-path:inset(0 0 0 0);transform:translate(0)}}.glitch-text-auto{animation:glitch-main 5s infinite}.glitch-text-auto:before{animation:glitch-before-auto 5s infinite}.glitch-text-auto:after{animation:glitch-after-auto 5s infinite}@keyframes glitch-main{0%,95%,to{transform:translate(0)}95.5%,96.5%{transform:translate(-2px)}97%,98%{transform:translate(2px)}}@keyframes glitch-before-auto{0%,95%,to{clip-path:inset(0 0 0 0);transform:translate(0);opacity:0}95.5%{clip-path:inset(20% 0 60% 0);transform:translate(-3px,2px);opacity:.8}96.5%{clip-path:inset(50% 0 30% 0);transform:translate(2px,-2px);opacity:.8}}@keyframes glitch-after-auto{0%,95%,to{clip-path:inset(0 0 0 0);transform:translate(0);opacity:0}95.5%{clip-path:inset(40% 0 35% 0);transform:translate(3px,-1px);opacity:.8}97%{clip-path:inset(10% 0 70% 0);transform:translate(-2px,2px);opacity:.8}}@media (prefers-reduced-motion: reduce){.glitch-text:before,.glitch-text:after,.glitch-text-auto,.glitch-text-auto:before,.glitch-text-auto:after{animation:none!important}.glitch-text:hover:before,.glitch-text:hover:after{opacity:0!important}}}@layer molecule{.glass-panel{background:#ffffff0d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:20px;position:relative;overflow:hidden}.glass-panel:before{content:"";position:absolute;inset:0;opacity:.03;background-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)"/></svg>');pointer-events:none}.glass-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3) 20%,rgba(255,255,255,.3) 80%,transparent);pointer-events:none}.glass-frosted{backdrop-filter:blur(30px) saturate(200%) brightness(110%);-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(110%);background:#ffffff14}.glass-panel-refraction{box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000001a,0 10px 40px #0003}.glass-panel:hover{background:#ffffff14;border-color:#ffffff26;backdrop-filter:blur(25px) saturate(200%);-webkit-backdrop-filter:blur(25px) saturate(200%)}@media (prefers-color-scheme: light){.glass-panel{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(105%);border-color:#fffc;box-shadow:0 8px 32px #00000014}.glass-panel:before{opacity:.02}.glass-panel:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.8) 20%,rgba(255,255,255,.8) 80%,transparent)}.glass-panel:hover{background:#ffffffd9;box-shadow:0 12px 40px #0000001f}.glass-frosted{background:#fffc;backdrop-filter:blur(30px) saturate(180%) brightness(103%);-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(103%)}}.project-card,.blog-card,.timeline-content,.skill-category,.about-skills{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);position:relative}.project-card:before,.blog-card:before{content:"";position:absolute;inset:0;opacity:.03;background-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)"/></svg>');pointer-events:none;border-radius:inherit;z-index:0}.project-card>*,.blog-card>*{position:relative;z-index:1}.project-card{box-shadow:inset 0 1px #ffffff14,0 10px 40px #00000026}.project-card:hover{box-shadow:inset 0 1px #ffffff1f,0 15px 50px #667eea40}@media (prefers-color-scheme: light){.project-card,.blog-card{box-shadow:inset 0 1px #ffffffe6,0 4px 16px #0000000f}.project-card:hover{box-shadow:inset 0 1px #fff,0 8px 24px #667eea26}}}@layer molecule{.cursor-trail-particle{position:fixed;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#667eeacc,#764ba266);pointer-events:none;z-index:9998;animation:cursorTrailFade .8s ease-out forwards}@keyframes cursorTrailFade{0%{transform:scale(1);opacity:1}to{transform:scale(.3);opacity:0}}@media (prefers-reduced-motion: reduce){.cursor-trail-particle{display:none}}@media (hover: none) and (pointer: coarse){.cursor-trail-particle{display:none}}}@layer molecule{scroll-progress{display:contents}.scroll-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:9999;pointer-events:none}.scroll-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#667eea,#764ba2,#667eea);background-size:200% 100%;box-shadow:0 0 10px #667eea80;transition:width .1s ease-out;animation:shimmer 3s linear infinite}@keyframes shimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}.scroll-progress-circle{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;z-index:1000;pointer-events:auto;cursor:pointer;opacity:0;transform:scale(.8) translateY(20px);transition:opacity .3s ease,transform .3s ease}.scroll-progress-circle.visible{opacity:1;transform:scale(1) translateY(0)}.scroll-progress-circle:hover{transform:scale(1.1) translateY(0)}.scroll-progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#ffffff1a;stroke-width:3}.progress-circle-fill{fill:none;stroke:url(#progressGradient);stroke-width:3;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset .1s ease-out}.progress-circle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;color:#ffffffe6;pointer-events:none;transition:transform .2s ease}.scroll-progress-circle:hover .progress-circle-icon{transform:translate(-50%,-50%) translateY(-2px)}.section-progress-indicators{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:999;opacity:0;transition:opacity .3s ease}.section-progress-indicators.visible{opacity:1}.section-indicator{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid rgba(102,126,234,.3);cursor:pointer;transition:all .3s ease;position:relative}.section-indicator:hover{background:#667eea66;border-color:#667eea99;transform:scale(1.3)}.section-indicator.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 0 10px #667eea80}.section-indicator:before{content:attr(data-label);position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:1rem;padding:.5rem .75rem;background:#141414f2;border:1px solid rgba(102,126,234,.3);border-radius:8px;color:#ffffffe6;font-size:.875rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease}.section-indicator:hover:before{opacity:1}@media (max-width: 768px){.scroll-progress-circle{bottom:1rem;right:1rem;width:44px;height:44px}.section-progress-indicators{display:none}.progress-circle-icon{font-size:1rem}}@media (prefers-color-scheme: light){.progress-circle-bg{stroke:#0000001a}.progress-circle-icon{color:#000c}.section-indicator{background:#0000001a;border-color:#667eea66}.section-indicator:before{background:#fffffffa;border-color:#667eea4d;color:#000000e6;box-shadow:0 2px 8px #0000001a}}@media (prefers-reduced-motion: reduce){.scroll-progress-fill{animation:none}.scroll-progress-circle,.section-progress-indicators{transition:opacity .1s ease}.section-indicator{transition:none}}}@media (prefers-color-scheme: dark){pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}}@media (prefers-color-scheme: light){pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}}.hljs{background:transparent!important;padding:0!important}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-link{font-weight:600}.hljs-string,.hljs-title,.hljs-name,.hljs-type,.hljs-attribute,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{font-weight:500}
