html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem 1rem;position:relative;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-surface) 100%);overflow:hidden}.hero-content{max-width:800px;z-index:2;position:relative}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;color:var(--color-text);letter-spacing:-.02em}.hero-title-highlight{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-subtitle{font-size:clamp(1.125rem,2.5vw,1.5rem);color:var(--color-text-secondary);margin-bottom:2.5rem;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.hero-cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1.125rem;text-decoration:none;transition:var(--transition-theme-fast);cursor:pointer;border:none;position:relative;overflow:hidden}.hero-cta-button--primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #2563eb4d}.hero-cta-button--primary:hover{background:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}.hero-cta-button--secondary{background:transparent;color:var(--color-text);border:2px solid var(--color-border)}.hero-cta-button--secondary:hover{background:var(--color-surface);border-color:var(--color-primary);transform:translateY(-2px)}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.875rem}.hero-scroll-arrow{width:24px;height:24px;border:2px solid currentColor;border-top:none;border-left:none;transform:rotate(45deg);animation:scroll-bounce 2s infinite}.animate--idle{opacity:0;transform:translateY(2rem)}.animate--entering{opacity:0;transform:translateY(2rem);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.animate--visible{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.animate--exiting{opacity:0;transform:translateY(-1rem);transition:opacity .3s ease-out,transform .3s ease-out}.animate-fade-up--idle{opacity:0;transform:translateY(3rem)}.animate-fade-up--visible{opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.animate-fade-in--idle{opacity:0}.animate-fade-in--visible{opacity:1;transition:opacity 1s cubic-bezier(.16,1,.3,1)}.animate-scale--idle{opacity:0;transform:scale(.8)}.animate-scale--visible{opacity:1;transform:scale(1);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.hero-background{position:absolute;inset:0;z-index:1;overflow:hidden}.hero-background:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(37,99,235,.05) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.hero-background:after{content:"";position:absolute;bottom:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(14,165,233,.03) 0%,transparent 70%);animation:float 25s ease-in-out infinite reverse}@keyframes scroll-bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0) rotate(45deg)}40%{transform:translate(-50%) translateY(-10px) rotate(45deg)}60%{transform:translate(-50%) translateY(-5px) rotate(45deg)}}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2rem,-3rem) rotate(1deg)}66%{transform:translate(-1rem,2rem) rotate(-1deg)}}@media(max-width:768px){.hero-section{min-height:100vh;padding:1rem}.hero-title{font-size:clamp(2rem,8vw,3rem);margin-bottom:1rem}.hero-subtitle{font-size:clamp(1rem,4vw,1.25rem);margin-bottom:2rem}.hero-cta{flex-direction:column;align-items:center;max-width:280px;margin:0 auto 2rem}.hero-cta-button{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:1rem}.hero-scroll-indicator{bottom:1rem}}@media(max-width:480px){.hero-section{padding:.5rem}.hero-content,.hero-cta{max-width:100%}}@media(min-width:1200px){.hero-section{padding:3rem 2rem}.hero-content{max-width:900px}.hero-title{font-size:clamp(3.5rem,5vw,5rem);margin-bottom:2rem}.hero-subtitle{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:3rem}.hero-cta-button{padding:1.25rem 2.5rem;font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.hero-scroll-arrow{animation:none}.hero-background:before,.hero-background:after{animation:none}.animate--entering,.animate--visible,.animate--exiting,.animate-fade-up--visible,.animate-fade-in--visible,.animate-scale--visible{transition:none!important}.animate--idle,.animate-fade-up--idle,.animate-fade-in--idle,.animate-scale--idle{opacity:1!important;transform:none!important}.hero-cta-button:hover{transform:none}}@media(prefers-contrast:high){.hero-title-highlight{background:var(--color-primary);-webkit-text-fill-color:var(--color-primary);color:var(--color-primary)}.hero-cta-button--primary{border:2px solid currentColor}.hero-cta-button--secondary{border-width:3px}}.hero-cta-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.hero-content.loading{opacity:0;transform:translateY(2rem)}.hero-content.loaded{opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .hero-background:before{background:radial-gradient(circle at center,rgba(59,130,246,.08) 0%,transparent 70%)}[data-theme=dark] .hero-background:after{background:radial-gradient(circle at center,rgba(14,165,233,.05) 0%,transparent 70%)}.home-page{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.projects-section,.blog-section{padding:4rem 0;position:relative}.projects-section{background:var(--color-background)}.blog-section{background:var(--color-surface)}.section-header{text-align:center;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.section-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:var(--color-text);margin-bottom:1rem;line-height:1.2}.section-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--color-text-secondary);line-height:1.6}.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.blog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}@media(max-width:768px){.projects-section,.blog-section{padding:3rem 0}.section-header{margin-bottom:2rem}.project-list,.blog-list{grid-template-columns:1fr;gap:1.5rem}.container{padding:0 .75rem}}@media(max-width:480px){.projects-section,.blog-section{padding:2rem 0}.project-list,.blog-list{gap:1rem}.container{padding:0 .5rem}}.skills-showcase{padding:6rem 0;background:var(--color-background);position:relative}.skills-showcase:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border) 50%,transparent 100%)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:4rem}.skills-grid-item{opacity:0;transform:translateY(30px);transition:all .6s var(--transition-timing-ease-out);transition-delay:var(--category-delay, 0ms)}.skills-grid--visible .skills-grid-item{opacity:1;transform:translateY(0)}.skill-category{background:var(--color-surface);border-radius:12px;padding:1.5rem;border:1px solid var(--color-border);transition:var(--transition-theme-fast);height:fit-content}.skill-category:hover{border-color:var(--color-primary);box-shadow:0 8px 32px #2563eb1a}.skill-category-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.skill-category-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;flex-shrink:0}.skill-category-icon .icon{width:24px;height:24px;color:#fff;font-size:1.5rem}.skill-category-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem;line-height:1.3}.skill-category-description{font-size:.875rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.skill-list{display:flex;flex-direction:column;gap:1rem}.skill-item{opacity:0;transform:translate(-20px);transition:all .4s var(--transition-timing-ease-out);transition-delay:calc(var(--skill-index, 0) * .1s);border-radius:8px;position:relative}.skill-item--visible{opacity:1;transform:translate(0)}.skill-content{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;background:var(--color-background);border:1px solid transparent;transition:var(--transition-theme-fast);cursor:pointer}.skill-item:hover .skill-content,.skill-item:focus .skill-content{background:var(--color-surface);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px #2563eb1a}.skill-item:focus{outline:none}.skill-item:focus .skill-content{outline:2px solid var(--color-primary);outline-offset:2px}.skill-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--color-surface);flex-shrink:0}.skill-icon .icon{width:20px;height:20px;color:var(--color-primary);font-size:1.25rem}.skill-info{flex:1;min-width:0}.skill-name{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 .125rem;line-height:1.3}.skill-description{font-size:.75rem;color:var(--color-text-secondary);margin:0;line-height:1.3}.skill-proficiency{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0;width:80px}.skill-proficiency-bar{width:100%;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;position:relative}.skill-proficiency-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:3px;transition:width .3s var(--transition-timing-ease-out);position:relative}.skill-proficiency-fill:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:#ffffff4d;border-radius:0 3px 3px 0}.skill-proficiency-text{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;line-height:1}.skill-focus-indicator{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(prefers-reduced-motion:reduce){.skills-grid-item,.skill-item,.skill-content,.skill-proficiency-fill{transition:none;animation:none}.skills-grid-item,.skill-item--visible{opacity:1;transform:none}}@media(max-width:768px){.skills-showcase{padding:4rem 0}.skills-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:3rem}.skill-category{padding:1.25rem}.skill-category-header{gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem}.skill-category-icon{width:40px;height:40px}.skill-category-icon .icon{width:20px;height:20px;font-size:1.25rem}.skill-category-title{font-size:1.125rem}.skill-content{gap:.5rem;padding:.625rem}.skill-proficiency{width:70px}}@media(max-width:480px){.skill-content{flex-direction:column;align-items:flex-start;gap:.75rem}.skill-proficiency{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.skill-proficiency-bar{flex:1;margin-right:.5rem}}@media(prefers-contrast:high){.skill-category{border-width:2px}.skill-item:focus .skill-content{outline-width:3px}.skill-proficiency-bar{border:1px solid var(--color-text)}}.project-card{background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:var(--transition-theme-standard);cursor:pointer;position:relative;min-height:320px;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.project-card:focus{outline:2px solid var(--color-primary);outline-offset:2px}.project-card__image{position:relative;height:180px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 50%,var(--color-primary) 100%);background-size:200% 200%;animation:gradientShift 6s ease infinite;overflow:hidden}.project-card__image-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:blur(20px);transition:var(--transition-theme-standard);z-index:1}.project-card__image-img--loaded{opacity:1;filter:blur(0)}.project-card__image-img--error{display:none}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.project-card__language-badge{position:absolute;top:12px;left:12px;z-index:3}.language-badge{background:#ffffffe6;color:var(--color-text);padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__stats{position:absolute;top:12px;right:12px;z-index:3}.project-card__stars{background:#ffffffe6;color:var(--color-text);padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition-theme-standard);z-index:3}.project-card:hover .project-card__overlay{opacity:1}.project-card__overlay-content{text-align:center;color:#fff}.project-card__preview-btn{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;margin-bottom:12px;transition:var(--transition-theme-fast)}.project-card__preview-btn:hover{background:var(--color-accent);transform:scale(1.05)}.project-card__links{display:flex;gap:8px;justify-content:center}.project-card__link{background:#fff3;color:#fff;text-decoration:none;padding:6px 12px;border-radius:6px;font-size:.875rem;transition:var(--transition-theme-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__link:hover{background:#ffffff4d;transform:scale(1.05)}.project-card__content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-card__header{margin-bottom:.75rem}.project-card__title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem;line-height:1.3}.project-card__topics{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.project-card__topic{background:var(--color-background);color:var(--color-text-secondary);font-size:.625rem;padding:2px 6px;border-radius:4px;border:1px solid var(--color-border)}.project-card__topic--more{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.project-card__description{color:var(--color-text-secondary);line-height:1.5;flex-grow:1;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__updated{color:var(--color-text-tertiary);font-size:.75rem;margin-top:auto}.language-badge--typescript{background:#3178c6e6;color:#fff}.language-badge--javascript{background:#f7df1ee6;color:#000}.language-badge--python{background:#3776abe6;color:#fff}.language-badge--rust{background:#dea584e6;color:#000}.language-badge--go{background:#00adb5e6;color:#fff}.language-badge--java{background:#ed7736e6;color:#fff}.language-badge--csharp{background:#934ca7e6;color:#fff}.language-badge--html{background:#e34c26e6;color:#fff}.language-badge--css{background:#1572b6e6;color:#fff}.language-badge--vue{background:#41b883e6;color:#fff}.language-badge--react{background:#61dafbe6;color:#000}@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}.project-card__image-placeholder{animation:none}.project-card__image-img{transition:none;filter:blur(0);opacity:1}.project-card__overlay,.project-card__preview-btn,.project-card__link{transition:none}}@media(max-width:768px){.project-card__image{height:140px}.project-card__content{padding:1rem}.project-card__title{font-size:1.125rem}}.project-gallery{width:100%}.project-gallery__header{text-align:center;margin-bottom:2rem}.project-gallery__title{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:var(--color-text);margin-bottom:.75rem;line-height:1.2}.project-gallery__subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.project-gallery__filter{margin-bottom:2rem}.project-gallery__results{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.project-gallery__results-count{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.project-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:2rem}.project-grid--idle .project-gallery__item,.project-grid--entering .project-gallery__item{opacity:0;transform:translateY(30px) scale(.95)}.project-grid--visible .project-gallery__item,.project-grid--exiting .project-gallery__item{animation:projectGridReveal .8s cubic-bezier(.16,1,.3,1) forwards}.project-gallery__item{transform-origin:center bottom;transition:transform .3s cubic-bezier(.16,1,.3,1)}@keyframes projectGridReveal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.project-grid--visible .project-gallery__item:hover,.project-grid--exiting .project-gallery__item:hover{transform:translateY(-4px) scale(1.02)}@media(prefers-reduced-motion:reduce){.project-gallery__item{animation:none!important;opacity:1!important;transform:none!important}.project-grid--idle .project-gallery__item,.project-grid--entering .project-gallery__item{opacity:1;transform:none}}.project-gallery__empty{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;min-height:300px;text-align:center}.project-gallery__empty-content{max-width:400px}.project-gallery__empty-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.project-gallery__empty-description{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6}.project-gallery__empty-button{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:var(--transition-theme-fast)}.project-gallery__empty-button:hover{background:var(--color-accent);transform:translateY(-1px)}.project-gallery__view-more{text-align:center;margin-top:2rem}.project-gallery__view-more-button{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);background:transparent;border:2px solid var(--color-primary);border-radius:6px;font-weight:600;padding:.75rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);font-size:1rem;font-family:inherit}.project-gallery__view-more-button:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.project-gallery__view-more-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.project-gallery__view-more-text{transition:transform .2s ease}.project-gallery__view-more-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;transition:transform .3s cubic-bezier(.16,1,.3,1);font-size:1.1rem;font-weight:700}.project-gallery__view-more-icon--expanded{transform:rotate(180deg)}.project-gallery__grid--additional{margin-top:2rem;opacity:0;animation:additionalGridFadeIn .4s ease-out .2s forwards}.project-gallery__item--additional{opacity:0;transform:translateY(20px) scale(.95)}.project-grid-additional--visible .project-gallery__item--additional,.project-grid-additional--exiting .project-gallery__item--additional{animation:additionalProjectReveal .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes additionalGridFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes additionalProjectReveal{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.project-gallery__grid--additional.project-gallery__grid--collapsing{animation:additionalGridFadeOut .3s ease-in forwards}.project-gallery__grid--additional.project-gallery__grid--collapsing .project-gallery__item--additional{animation:additionalProjectHide .3s ease-in forwards}@keyframes additionalGridFadeOut{0%{opacity:1;transform:translateY(0);max-height:1000px}to{opacity:0;transform:translateY(-10px);max-height:0}}@keyframes additionalProjectHide{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}@media(prefers-reduced-motion:reduce){.project-gallery__view-more-button,.project-gallery__view-more-icon,.project-gallery__grid--additional,.project-gallery__item--additional{animation:none!important;transition:none!important;transform:none!important}.project-gallery__grid--additional,.project-gallery__item--additional{opacity:1!important}}.project-filter{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.project-filter__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.project-filter__title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.project-filter__clear-all{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-theme-fast)}.project-filter__clear-all:hover{background:var(--color-primary);color:#fff}.project-filter__category{margin-bottom:1.5rem}.project-filter__category:last-child{margin-bottom:0}.project-filter__category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-filter__category-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.project-filter__clear-category{background:transparent;color:var(--color-text-secondary);border:none;font-size:.75rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:var(--transition-theme-fast)}.project-filter__clear-category:hover{color:var(--color-primary);background:var(--color-background)}.project-filter__chips{display:flex;flex-wrap:wrap;gap:.5rem}.project-filter__chip{background:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-theme-fast);white-space:nowrap}.project-filter__chip:hover{color:var(--color-text);border-color:var(--color-primary);transform:translateY(-1px)}.project-filter__chip--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.project-filter__chip--active:hover{background:var(--color-accent);border-color:var(--color-accent)}.project-filter__summary{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);text-align:center}.project-filter__summary-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}@media(max-width:768px){.project-gallery__grid{grid-template-columns:1fr;gap:1.5rem}.project-gallery__results{flex-direction:column;align-items:flex-start;gap:.5rem}.project-filter{padding:1rem}.project-filter__header{flex-direction:column;align-items:flex-start;gap:1rem}.project-filter__chips{gap:.375rem}.project-filter__chip{font-size:.75rem;padding:.375rem .625rem}}@media(prefers-reduced-motion:reduce){.project-gallery__item{animation:none;opacity:1;transform:none}.project-filter__chip,.project-filter__clear-all,.project-filter__clear-category,.project-gallery__empty-button,.project-gallery__view-more-link{transition:none;transform:none}.project-filter__chip:hover,.project-gallery__empty-button:hover,.project-gallery__view-more-link:hover{transform:none}}.projects-page{padding:2rem 0;min-height:100vh}.projects-page-loading,.projects-page-error{display:flex;align-items:center;justify-content:center;min-height:50vh;text-align:center}.projects-page-loading h1,.projects-page-error h1{font-size:2rem;color:var(--color-text);margin-bottom:1rem}.projects-page-loading p,.projects-page-error p{color:var(--color-text-secondary);margin-bottom:1.5rem}.projects-page-error button{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:var(--transition-theme-fast)}.projects-page-error button:hover{background:var(--color-accent)}.project-preview-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.project-preview-modal--open{opacity:1;visibility:visible}.project-preview-modal__content{background:var(--color-surface);border-radius:12px;width:100%;max-width:1200px;max-height:90vh;position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;transform:scale(.95) translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.project-preview-modal--open .project-preview-modal__content{transform:scale(1) translateY(0)}.project-preview-modal__close{position:absolute;top:1rem;right:1rem;z-index:10;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;font-weight:700;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-preview-modal__close:hover{background:#f00c;transform:scale(1.1)}.project-preview-modal__close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.project-preview-modal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#000000b3;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-preview-modal__nav:disabled{opacity:.5;cursor:not-allowed}.project-preview-modal__nav:not(:disabled):hover{background:#000000e6;transform:translateY(-50%) scale(1.05)}.project-preview-modal__nav:focus{outline:2px solid var(--color-primary);outline-offset:2px}.project-preview-modal__nav--prev{left:1rem}.project-preview-modal__nav--next{right:1rem}.project-preview-modal__body{display:flex;height:100%;overflow:hidden}.project-preview-modal__image-section{flex:1;background:var(--color-background);display:flex;align-items:center;justify-content:center;position:relative;min-height:400px}.project-preview-modal__image-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.project-preview-modal__image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;opacity:0;transition:opacity .3s ease}.project-preview-modal__image--loaded{opacity:1}.project-preview-modal__image--error{opacity:0}.project-preview-modal__image-placeholder,.project-preview-modal__image-error,.project-preview-modal__no-image{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:1rem;text-align:center;padding:2rem}.project-preview-modal__image-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.project-preview-modal__no-image-icon,.project-preview-modal__image-error span{font-size:4rem;margin-bottom:1rem;opacity:.5}.project-preview-modal__image-nav{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;background:#000c;padding:.5rem 1rem;border-radius:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.project-preview-modal__image-nav button{background:none;border:none;color:#fff;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s ease}.project-preview-modal__image-nav button:hover{background:#fff3}.project-preview-modal__image-counter{color:#fff;font-size:.875rem;font-weight:500;margin:0 .5rem}.project-preview-modal__details{flex:0 0 400px;padding:2rem;background:var(--color-surface);overflow-y:auto;display:flex;flex-direction:column}.project-preview-modal__header{margin-bottom:1.5rem}.project-preview-modal__title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;line-height:1.2}.project-preview-modal__meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;font-size:.875rem}.project-preview-modal__language .language-badge{display:inline-block}.project-preview-modal__stars{color:var(--color-text-secondary);display:flex;align-items:center;gap:.25rem}.project-preview-modal__updated{color:var(--color-text-secondary);font-size:.8rem}.project-preview-modal__description{margin-bottom:1.5rem;color:var(--color-text);line-height:1.6;font-size:1rem}.project-preview-modal__topics{margin-bottom:2rem}.project-preview-modal__topics-title{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.project-preview-modal__topics-list{display:flex;flex-wrap:wrap;gap:.5rem}.project-preview-modal__topic{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.project-preview-modal__actions{display:flex;gap:1rem;margin-bottom:1.5rem}.project-preview-modal__button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:6px;font-weight:600;text-decoration:none;transition:all .2s ease;font-size:.875rem}.project-preview-modal__button--primary{background:var(--color-primary);color:#fff}.project-preview-modal__button--primary:hover{background:var(--color-accent);transform:translateY(-1px)}.project-preview-modal__button--secondary{background:var(--color-border);color:var(--color-text)}.project-preview-modal__button--secondary:hover{background:var(--color-text-secondary);color:var(--color-background);transform:translateY(-1px)}.project-preview-modal__nav-info{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary);text-align:center}.project-preview-modal__nav-info small{font-size:.75rem;opacity:.8}@media(max-width:768px){.project-preview-modal{padding:0}.project-preview-modal__content{max-height:100vh;border-radius:0;flex-direction:column}.project-preview-modal__body{flex-direction:column;height:auto}.project-preview-modal__image-section{flex:0 0 300px;min-height:300px}.project-preview-modal__details{flex:1;padding:1.5rem}.project-preview-modal__nav--prev,.project-preview-modal__nav--next{top:auto;bottom:1rem;transform:none}.project-preview-modal__nav--prev{left:1rem}.project-preview-modal__nav--next{right:1rem}.project-preview-modal__close{top:.5rem;right:.5rem;width:36px;height:36px;font-size:1rem}.project-preview-modal__actions{flex-direction:column}}@media(max-width:480px){.project-preview-modal__details{padding:1rem}.project-preview-modal__title{font-size:1.5rem}.project-preview-modal__meta{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(prefers-reduced-motion:reduce){.project-preview-modal,.project-preview-modal__content,.project-preview-modal__image,.project-preview-modal__close,.project-preview-modal__nav,.project-preview-modal__button{transition:none}.project-preview-modal__image-spinner{animation:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-section{padding:8rem 0;position:relative;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-surface) 50%,var(--color-background) 100%);overflow:hidden}.about-section .container{max-width:1200px;margin:0 auto;padding:0 2rem}.about-story{margin:4rem 0 6rem;text-align:center}.about-story-content{max-width:800px;margin:0 auto}.about-story-paragraph{font-size:1.125rem;line-height:1.8;color:var(--color-text-secondary);margin-bottom:1.5rem}.about-story-paragraph--lead{font-size:1.25rem;font-weight:500;color:var(--color-text);margin-bottom:2rem}.about-counters{margin:6rem 0}.animated-counters{padding:4rem 0}.animated-counters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;max-width:1000px;margin:0 auto}.animated-counter{text-align:center;padding:2rem 1rem;background:var(--color-surface);border-radius:16px;box-shadow:0 4px 20px #00000014;transition:var(--transition-theme-medium);border:1px solid var(--color-border)}.animated-counter:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.animated-counter-value{display:flex;align-items:baseline;justify-content:center;margin-bottom:.5rem}.animated-counter-number{font-size:2.5rem;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.animated-counter-prefix,.animated-counter-suffix{font-size:1.5rem;font-weight:600;color:var(--color-accent)}.animated-counter-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.about-timeline{margin:6rem 0}.about-timeline-title{font-size:2rem;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:4rem}.career-timeline{max-width:900px;margin:0 auto}.timeline-list{list-style:none;padding:0;margin:0;position:relative}.timeline-list:before{content:"";position:absolute;left:2rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-primary),var(--color-accent))}.timeline-item{position:relative;margin-bottom:2rem;padding-left:5rem}.timeline-marker{position:absolute;left:1rem;top:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.timeline-marker-dot{width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-background);box-shadow:0 0 0 3px var(--color-primary)}.timeline-item--work .timeline-marker-dot{background:var(--color-primary)}.timeline-item--education .timeline-marker-dot{background:var(--color-accent)}.timeline-item--project .timeline-marker-dot{background:var(--color-success)}.timeline-item--certification .timeline-marker-dot{background:var(--color-warning)}.timeline-content{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid var(--color-border);overflow:hidden;transition:var(--transition-theme-medium)}.timeline-content:hover{box-shadow:0 4px 20px #0000001a}.timeline-header{width:100%;padding:1.5rem 2rem;background:transparent;border:none;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:var(--transition-theme-fast);position:relative}.timeline-header:hover{background:var(--color-hover)}.timeline-header:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.timeline-date{font-size:.875rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.timeline-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.timeline-company{font-size:1rem;color:var(--color-text-secondary);font-weight:500}.timeline-location{color:var(--color-text-muted)}.timeline-expand-icon{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}.timeline-chevron{transition:transform var(--transition-theme-fast);color:var(--color-text-secondary)}.timeline-chevron--expanded{transform:rotate(180deg)}.timeline-details{max-height:0;overflow:hidden;transition:max-height var(--transition-theme-medium),padding var(--transition-theme-medium);padding:0 2rem}.timeline-details--expanded{max-height:1000px;padding:0 2rem 1.5rem}.timeline-description{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:1.5rem}.timeline-achievements,.timeline-technologies{margin-bottom:1.5rem}.timeline-achievements:last-child,.timeline-technologies:last-child{margin-bottom:0}.timeline-achievements-title,.timeline-technologies-title{font-size:.875rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.timeline-achievements-list{list-style:none;padding:0;margin:0}.timeline-achievement{position:relative;padding-left:1.25rem;margin-bottom:.5rem;font-size:.9375rem;line-height:1.5;color:var(--color-text-secondary)}.timeline-achievement:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:600}.timeline-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.timeline-tech-tag{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:500;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.about-cta{text-align:center;margin-top:6rem;padding:3rem 2rem;background:var(--color-surface);border-radius:20px;border:1px solid var(--color-border)}.about-cta-text{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:2rem}.about-cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.about-bg-elements{position:absolute;inset:0;pointer-events:none;z-index:0}.about-bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));opacity:.05;filter:blur(40px)}.about-bg-circle--1{width:300px;height:300px;top:10%;right:-150px}.about-bg-circle--2{width:200px;height:200px;bottom:20%;left:-100px}.about-bg-grid{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,var(--color-border) 1px,transparent 0);background-size:20px 20px;opacity:.3}@media(max-width:768px){.about-section{padding:4rem 0}.about-section .container{padding:0 1rem}.animated-counters-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.animated-counter{padding:1.5rem 1rem}.animated-counter-number{font-size:2rem}.timeline-list:before{left:1.5rem}.timeline-item{padding-left:4rem}.timeline-marker{left:.5rem}.timeline-header{padding:1rem 1.5rem}.timeline-details--expanded{padding:0 1.5rem 1rem}.timeline-expand-icon{right:1rem}.about-cta-buttons{flex-direction:column;align-items:center}.about-bg-circle--1{width:200px;height:200px;right:-100px}.about-bg-circle--2{width:150px;height:150px;left:-75px}}@media(max-width:480px){.about-story-paragraph{font-size:1rem}.about-story-paragraph--lead{font-size:1.125rem}.animated-counters-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.timeline-title{font-size:1.125rem}.timeline-company{font-size:.9375rem}}@media(prefers-reduced-motion:reduce){.animated-counter,.timeline-content,.timeline-chevron,.timeline-details,.testimonials-carousel,.testimonial-card{transition:none}.animated-counter:hover{transform:none}.about-bg-elements{opacity:0}}.about-testimonials{margin-top:4rem}.testimonials-carousel{position:relative;padding:2rem 0}.testimonials-carousel-container{max-width:800px;margin:0 auto;text-align:center}.testimonials-header{margin-bottom:3rem}.testimonials-title{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;line-height:1.2}.testimonials-subtitle{font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.testimonials-content{min-height:300px;display:flex;align-items:center;justify-content:center;padding:2rem 0}.testimonial-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:1rem;padding:3rem 2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);max-width:700px;margin:0 auto}.testimonial-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.testimonial-quote{margin:0 0 2rem}.testimonial-text{font-size:1.25rem;line-height:1.7;color:var(--color-text-primary);font-style:italic;margin:0;position:relative}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:1rem;text-align:left}.testimonial-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border)}.testimonial-author-info{flex:1}.testimonial-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .25rem;font-style:normal}.testimonial-link{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.testimonial-link:hover,.testimonial-link:focus{color:var(--color-primary-hover);text-decoration:underline}.testimonial-role{font-size:.875rem;color:var(--color-text-secondary);margin:0}.testimonials-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.testimonial-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-background);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.testimonial-nav-btn:hover,.testimonial-nav-btn:focus{background:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);outline:none}.testimonials-indicators{display:flex;gap:.5rem;align-items:center}.testimonial-indicator{width:12px;height:12px;border-radius:50%;border:none;background:var(--color-border);cursor:pointer;transition:all .2s ease}.testimonial-indicator--active,.testimonial-indicator:hover,.testimonial-indicator:focus{background:var(--color-primary);outline:none}.testimonials-playback{position:absolute;top:1rem;right:1rem}.testimonial-playback-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-card-bg);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.testimonial-playback-btn:hover,.testimonial-playback-btn:focus{background:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);outline:none}@media(max-width:768px){.testimonials-title{font-size:2rem}.testimonial-card{padding:2rem 1.5rem;margin:0 1rem}.testimonial-text{font-size:1.125rem}.testimonial-author{flex-direction:column;text-align:center;gap:.75rem}.testimonial-author-info{text-align:center}.testimonials-controls{flex-wrap:wrap;gap:.75rem}.testimonials-playback{position:static;margin-top:1rem;text-align:center}}@media(max-width:480px){.testimonials-content{min-height:auto;padding:1rem 0}.testimonial-card{padding:1.5rem 1rem;margin:0 .5rem}.testimonial-nav-btn{width:40px;height:40px}}.contact-cta{padding:8rem 0;position:relative;background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 50%,var(--color-surface) 100%);overflow:hidden}.contact-cta .container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2}.contact-cta-header{text-align:center;margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-cta-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;color:var(--color-text);margin-bottom:1.5rem;line-height:1.1;letter-spacing:-.02em}.contact-cta-subtitle{font-size:clamp(1.125rem,2.5vw,1.375rem);color:var(--color-text-secondary);line-height:1.6;margin-bottom:0}.contact-availability{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:3rem;padding:1rem 2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50px;width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 2px 8px #00000014;transition:var(--transition-theme-fast)}.contact-availability:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-1px)}.contact-availability-indicator{position:relative;display:flex;align-items:center;justify-content:center}.availability-dot{width:12px;height:12px;background:var(--color-success, #22c55e);border-radius:50%;position:relative}.availability-dot:after{content:"";position:absolute;inset:-2px;background:var(--color-success, #22c55e);border-radius:50%;opacity:.3;animation:availability-pulse 2s ease-in-out infinite}@keyframes availability-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:.1}}.contact-availability-text{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.contact-methods{max-width:1000px;margin:0 auto}.contact-methods-primary,.contact-methods-secondary{margin-bottom:3rem}.contact-methods-secondary{margin-bottom:0}.contact-methods-title{font-size:1.5rem;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:2rem;position:relative}.contact-methods-title:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:1px}.contact-methods-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.contact-methods-grid--primary{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.contact-methods-grid--secondary{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.contact-method-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;opacity:0;transform:translateY(30px);animation:contactMethodReveal .6s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--method-index, 0) * .1s)}.contact-method-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026;border-color:var(--color-primary)}.contact-method-card:focus{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes contactMethodReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.contact-method-card--primary{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%);box-shadow:0 4px 16px #0000001a}.contact-method-card--secondary{background:var(--color-surface);box-shadow:0 2px 8px #0000000f}.contact-method-card--email{border-left:4px solid var(--color-primary)}.contact-method-card--social{border-left:4px solid var(--color-accent)}.contact-method-card--calendar{border-left:4px solid var(--color-success, #22c55e)}.contact-method-card--download{border-left:4px solid var(--color-warning, #f59e0b)}.contact-method-link{display:block;padding:2rem;text-decoration:none;color:inherit;height:100%;position:relative;transition:var(--transition-theme-fast)}.contact-method-link:hover{text-decoration:none}.contact-method-link:focus{outline:none}.contact-method-card .contact-method-link{display:flex;align-items:flex-start;gap:1.5rem}.contact-method-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-size:1.5rem;transition:var(--transition-theme-fast)}.contact-method-card:hover .contact-method-icon{transform:scale(1.1);box-shadow:0 4px 12px #2563eb4d}.contact-method-content{flex:1;min-width:0}.contact-method-label{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem;line-height:1.3}.contact-method-description{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.contact-method-arrow{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .3s cubic-bezier(.16,1,.3,1);margin-top:.25rem}.contact-method-card:hover .contact-method-arrow{color:var(--color-primary);transform:translate(4px)}.contact-method-card--email .contact-method-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.contact-method-card--social .contact-method-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.contact-method-card--calendar .contact-method-icon{background:linear-gradient(135deg,#22c55e,#16a34a)}.contact-method-card--download .contact-method-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.contact-cta-bg-elements{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.contact-bg-grid{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,var(--color-border) 1px,transparent 0);background-size:30px 30px;opacity:.3;animation:gridFloat 20s ease-in-out infinite}.contact-bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));opacity:.04;filter:blur(60px)}.contact-bg-circle--1{width:400px;height:400px;top:20%;right:-200px;animation:float 25s ease-in-out infinite}.contact-bg-circle--2{width:300px;height:300px;bottom:20%;left:-150px;animation:float 30s ease-in-out infinite reverse}@keyframes gridFloat{0%,to{transform:translate(0) rotate(0);opacity:.3}50%{transform:translate(10px,-10px) rotate(.5deg);opacity:.2}}@media(max-width:768px){.contact-cta{padding:4rem 0}.contact-cta .container{padding:0 1rem}.contact-cta-header{margin-bottom:3rem}.contact-availability{padding:.75rem 1.5rem;gap:.5rem}.contact-availability-text{font-size:.875rem}.contact-methods-grid--primary,.contact-methods-grid--secondary{grid-template-columns:1fr;gap:1rem}.contact-method-link{padding:1.5rem;gap:1rem}.contact-method-icon{width:40px;height:40px;font-size:1.25rem}.contact-method-label{font-size:1.125rem}.contact-method-description{font-size:.875rem}.contact-bg-circle--1{width:250px;height:250px;right:-125px}.contact-bg-circle--2{width:200px;height:200px;left:-100px}}@media(max-width:480px){.contact-methods-title{font-size:1.25rem}.contact-method-link{flex-direction:column;text-align:center;gap:1rem}.contact-method-arrow{align-self:center;margin-top:0}}@media(prefers-reduced-motion:reduce){.contact-method-card,.contact-method-icon,.contact-method-arrow,.contact-availability,.availability-dot:after,.contact-bg-grid,.contact-bg-circle--1,.contact-bg-circle--2{animation:none!important;transition:none!important}.contact-method-card{opacity:1!important;transform:none!important}.contact-method-card:hover,.contact-availability:hover,.contact-method-card:hover .contact-method-icon,.contact-method-card:hover .contact-method-arrow{transform:none!important}}@media(prefers-contrast:high){.contact-method-card{border-width:2px}.contact-method-card:focus{outline-width:3px}.contact-availability{border-width:2px}.availability-dot{border:2px solid var(--color-text)}}[data-theme=dark] .contact-cta{background:linear-gradient(135deg,var(--color-background) 0%,var(--color-surface) 50%,var(--color-background) 100%)}.skeleton-base{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-border) 50%,var(--color-surface) 75%);background-size:200% 100%;border-radius:4px;position:relative;overflow:hidden}.skeleton--rectangular{border-radius:6px}.skeleton--circular{border-radius:50%}.skeleton--text{border-radius:3px;height:1rem}.skeleton--pulse{animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton--wave{animation:skeletonWave 2s linear infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes skeletonWave{0%{background-position:-200% 0}to{background-position:200% 0}}.project-card--skeleton,.skill-category--skeleton,.blog-post--skeleton,.hero-content--skeleton,.career-timeline--skeleton,.contact-methods--skeleton{pointer-events:none;-webkit-user-select:none;user-select:none}.project-card--skeleton .project-card__overlay,.project-card--skeleton:hover{opacity:0!important;transform:none!important}.skill-category--skeleton:hover,.skill-item--skeleton:hover{border-color:var(--color-border)!important;box-shadow:none!important;transform:none!important}.blog-post--skeleton:hover{transform:none!important;box-shadow:none!important}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.loading-error{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem;text-align:center}.loading-error__content{max-width:400px}.loading-error__icon{font-size:3rem;color:var(--color-text-secondary);margin-bottom:1rem}.loading-error__title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.loading-error__message{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6}@media(prefers-reduced-motion:reduce){.skeleton--pulse,.skeleton--wave{animation:none}.skeleton-base{background:var(--color-surface)}}.background-pattern{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--pattern-opacity, .3)}.background-pattern--dots{background-image:radial-gradient(circle at 2px 2px,var(--color-text-secondary) 1px,transparent 0);background-size:40px 40px}.background-pattern--grid{background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:30px 30px}.background-pattern--circles{background-image:radial-gradient(circle at 50% 50%,var(--color-border) 2px,transparent 2px);background-size:60px 60px}.background-pattern--waves{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,var(--color-border) 10px,var(--color-border) 11px)}.background-pattern--animated.background-pattern--dots{animation:patternFloat 20s linear infinite}.background-pattern--animated.background-pattern--grid{animation:gridShift 25s linear infinite}.background-pattern--animated.background-pattern--circles{animation:circlesRotate 30s linear infinite}.background-pattern--animated.background-pattern--waves{animation:wavesMove 15s linear infinite}@keyframes patternFloat{0%{transform:translate(0)}25%{transform:translate(10px,-5px)}50%{transform:translate(-5px,10px)}75%{transform:translate(5px,5px)}to{transform:translate(0)}}@keyframes gridShift{0%{transform:translate(0)}to{transform:translate(30px,30px)}}@keyframes circlesRotate{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes wavesMove{0%{background-position:0 0}to{background-position:60px 60px}}.floating-shapes{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.floating-shape{position:absolute;width:var(--shape-size, 30px);height:var(--shape-size, 30px);opacity:.1}.floating-shape--circle{border-radius:50%;background:var(--color-primary)}.floating-shape--square{background:var(--color-accent);border-radius:4px}.floating-shape--triangle{width:0;height:0;border-left:calc(var(--shape-size, 30px) / 2) solid transparent;border-right:calc(var(--shape-size, 30px) / 2) solid transparent;border-bottom:var(--shape-size, 30px) solid var(--color-text-secondary);background:transparent}.floating-shape--animated{animation:floatingShapeMove var(--animation-duration, 20s) linear infinite;animation-delay:var(--animation-delay, 0s)}@keyframes floatingShapeMove{0%{transform:translate(0) rotate(0);opacity:.05}25%{transform:translate(100px,-50px) rotate(90deg);opacity:.15}50%{transform:translate(-50px,100px) rotate(180deg);opacity:.1}75%{transform:translate(80px,30px) rotate(270deg);opacity:.2}to{transform:translate(0) rotate(360deg);opacity:.05}}.gradient-overlay{position:absolute;inset:0;pointer-events:none;z-index:1}.section-divider{position:relative;width:100%;overflow:hidden;line-height:0}.section-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:100%}.section-divider-line{width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border) 50%,transparent 100%);margin:auto}.section-divider-dots{display:flex;justify-content:center;align-items:center;gap:1rem;height:100%}.section-divider-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary);opacity:.4}[data-theme=dark] .background-pattern--dots{background-image:radial-gradient(circle at 2px 2px,var(--color-text-tertiary) 1px,transparent 0)}[data-theme=dark] .floating-shape--circle{background:var(--color-accent)}[data-theme=dark] .floating-shape--square{background:var(--color-primary)}@media(prefers-reduced-motion:reduce){.background-pattern--animated,.floating-shape--animated{animation:none!important}.floating-shapes{display:none}}@media(prefers-contrast:high){.background-pattern,.floating-shapes,.gradient-overlay{display:none}}[data-theme=dark] .contact-bg-circle{opacity:.02}[data-theme=dark] .contact-bg-grid{opacity:.15}.smooth-scroll-nav{position:fixed;top:50%;right:2rem;transform:translateY(-50%);z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:2rem;padding:1rem .75rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;opacity:0;visibility:hidden;transform:translateY(-50%) translate(100%);transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.smooth-scroll-nav--visible{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.smooth-scroll-nav__progress{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-surface-alt);border-radius:2px;overflow:hidden}.smooth-scroll-nav__progress:after{content:"";position:absolute;top:0;left:0;width:100%;height:var(--progress, 0%);background:linear-gradient(to bottom,var(--color-primary),var(--color-accent));border-radius:2px;transition:height .1s ease-out}.smooth-scroll-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;align-items:center}.smooth-scroll-nav__item{position:relative}.smooth-scroll-nav__link{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border:none;background:transparent;color:var(--color-text-muted);text-decoration:none;border-radius:1rem;cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .2s ease;position:relative;min-width:3rem;text-align:center}.smooth-scroll-nav__link:hover{color:var(--color-text);background-color:var(--color-surface-alt);transform:scale(1.05)}.smooth-scroll-nav__link:focus{outline:2px solid var(--color-primary);outline-offset:2px;color:var(--color-text)}.smooth-scroll-nav__link--active{color:var(--color-primary);background-color:var(--color-primary-alpha-10)}.smooth-scroll-nav__link--active:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:3px;height:50%;background:var(--color-primary);border-radius:1.5px}.smooth-scroll-nav__icon{font-size:1.25rem;line-height:1;display:block}.smooth-scroll-nav__label{font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap;opacity:0;transform:translate(.5rem);transition:opacity .2s ease,transform .2s ease;position:absolute;right:100%;top:50%;transform:translateY(-50%) translate(-.5rem);background:var(--color-surface);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:10;pointer-events:none}.smooth-scroll-nav__link:hover .smooth-scroll-nav__label,.smooth-scroll-nav__link:focus .smooth-scroll-nav__label{opacity:1;transform:translateY(-50%) translate(-1rem)}@media(max-width:1024px){.smooth-scroll-nav{right:1rem;padding:.75rem .5rem}.smooth-scroll-nav__link{padding:.5rem .25rem;min-width:2.5rem}.smooth-scroll-nav__icon{font-size:1rem}}@media(max-width:768px){.smooth-scroll-nav{bottom:2rem;top:auto;right:50%;transform:translate(50%);flex-direction:row;padding:.75rem 1rem;border-radius:3rem;max-width:90vw;overflow-x:auto}.smooth-scroll-nav--visible{transform:translate(50%) translateY(0)}.smooth-scroll-nav__progress{width:100%;height:4px;top:auto;bottom:0}.smooth-scroll-nav__progress:after{width:var(--progress, 0%);height:100%}.smooth-scroll-nav__list{flex-direction:row;gap:.25rem}.smooth-scroll-nav__link{padding:.5rem;min-width:2.5rem}.smooth-scroll-nav__link--active:before{left:50%;top:auto;bottom:-.75rem;transform:translate(-50%);width:50%;height:3px}.smooth-scroll-nav__label{display:none}}@media(max-width:480px){.smooth-scroll-nav{bottom:1rem;padding:.5rem .75rem}.smooth-scroll-nav__link{padding:.375rem;min-width:2rem}.smooth-scroll-nav__icon{font-size:.875rem}}@media(prefers-reduced-motion:reduce){.smooth-scroll-nav{transition:opacity .2s ease,visibility .2s ease}.smooth-scroll-nav__progress:after{transition:none}.smooth-scroll-nav__link{transition:color .1s ease,background-color .1s ease}.smooth-scroll-nav__label{transition:opacity .1s ease}}@media(prefers-contrast:high){.smooth-scroll-nav{border:2px solid var(--color-text);background:var(--color-background)}.smooth-scroll-nav__link{border:1px solid transparent}.smooth-scroll-nav__link:focus{border-color:var(--color-text)}.smooth-scroll-nav__link--active{border-color:var(--color-primary);background:var(--color-primary-alpha-20)}}[data-theme=dark] .smooth-scroll-nav{background:rgba(var(--color-surface-rgb),.9);border-color:var(--color-border-alpha-20);box-shadow:0 8px 32px #0000004d,0 4px 16px #0003}[data-theme=dark] .smooth-scroll-nav__label{background:rgba(var(--color-surface-rgb),.95);border-color:var(--color-border-alpha-30);box-shadow:0 8px 32px #0000004d,0 4px 16px #0003}* body{margin:0;font-family:Arial,sans-serif;line-height:1.6;background-color:var(--color-background);color:var(--color-text)}h1,h2,h3,h4,h5,h6{margin:0;padding:.5rem 0}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:1rem}.header,.footer{background-color:var(--color-header-bg);color:var(--color-header-text);border-bottom:1px solid var(--color-border);transition:var(--transition-theme)}.header{position:sticky;top:0;z-index:100;box-shadow:0 1px 3px var(--color-shadow)}.header__container{max-width:1200px;margin:0 auto;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header__title{margin:0;font-size:1.5rem;font-weight:700;flex-shrink:0}.header__title-link{color:var(--color-text);text-decoration:none;transition:var(--transition-theme-fast)}.header__title-link:hover{color:var(--color-link-hover);text-decoration:none}.header__nav{flex:1;max-width:600px}.header__nav-list{display:flex;list-style:none;margin:0;padding:0;gap:2rem;align-items:center}.header__nav-item{margin:0}.header__nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:500;padding:.5rem 0;transition:var(--transition-theme-fast);position:relative}.header__nav-link:hover{color:var(--color-link-hover);text-decoration:none}.header__nav-link:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}.header__nav-link[aria-current=page]{color:var(--color-link);font-weight:600}.header__nav-link[aria-current=page]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--color-link);border-radius:1px}.header__actions{flex-shrink:0;display:flex;align-items:center;gap:1rem}@media(max-width:768px){.header__container{padding:.75rem;gap:1rem}.header__title{font-size:1.25rem}.header__nav-list{gap:1rem}.header__nav-link{font-size:.875rem}}@media(max-width:640px){.header__container{flex-wrap:wrap;justify-content:center}.header__title{flex-basis:100%;text-align:center;margin-bottom:.5rem}.header__nav{flex:none}.header__nav-list{gap:.75rem;font-size:.875rem}.header__actions{flex:none}}.project-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:5px;padding:1rem;margin:1rem 0;transition:var(--transition-theme)}.project-title{color:var(--color-text);margin:0 0 .75rem;font-size:1.25rem;font-weight:600;line-height:1.3;transition:var(--transition-theme)}.project-description{color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.6;transition:var(--transition-theme)}.project-link{color:var(--color-link);text-decoration:none;font-weight:500;padding:.5rem .75rem;border:1px solid var(--color-link);border-radius:.25rem;display:inline-block;transition:var(--transition-theme-fast)}.project-link:hover{color:var(--color-background);background-color:var(--color-link);text-decoration:none}.project-link:focus{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--color-focus-ring)}.blog-post{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:1.5rem;margin:1rem 0;color:var(--color-card-text);box-shadow:0 1px 3px var(--color-shadow);transition:var(--transition-theme),box-shadow .2s ease-in-out}.blog-post:hover{box-shadow:0 4px 6px var(--color-shadow)}.blog-post h2{margin:0 0 .5rem;color:var(--color-text);font-size:1.25rem;font-weight:600;line-height:1.4}.blog-post time{display:block;margin:0 0 1rem;color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.blog-post p{margin:0 0 1rem;color:var(--color-card-text);line-height:1.6}.blog-post a{color:var(--color-link);text-decoration:none;font-weight:500;transition:var(--transition-theme)}.blog-post a:hover{color:var(--color-link-hover);text-decoration:underline}.blog-post a:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:var(--transition-theme),box-shadow .2s ease-in-out;font-size:.875rem;font-weight:500;outline:none}.theme-toggle:hover{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.theme-toggle:focus{box-shadow:0 0 0 2px var(--color-focus-ring);border-color:var(--color-focus)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle__icon{font-size:1rem;display:flex;align-items:center;justify-content:center}.theme-toggle__text{font-size:.875rem;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.375rem;cursor:pointer;transition:var(--transition-theme-fast),transform .1s ease-in-out,box-shadow .2s ease-in-out;font-size:.875rem;font-weight:500;text-decoration:none;outline:none;min-height:2.5rem;box-sizing:border-box}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn:focus{box-shadow:0 0 0 2px var(--color-focus-ring);outline:2px solid transparent;outline-offset:2px}.btn:active{transform:translateY(1px)}.btn--primary{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-background)}.btn--secondary{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background-color:var(--color-border);border-color:var(--color-text-secondary);color:var(--color-text)}.btn--danger{background-color:var(--color-error);color:var(--color-background);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c;color:var(--color-background)}.btn--success{background-color:var(--color-success);color:var(--color-background);border-color:var(--color-success)}.btn--success:hover:not(:disabled){background-color:#15803d;border-color:#15803d;color:var(--color-background)}.btn--warning{background-color:var(--color-warning);color:var(--color-background);border-color:var(--color-warning)}.btn--warning:hover:not(:disabled){background-color:#c2410c;border-color:#c2410c;color:var(--color-background)}.btn--outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-background)}.btn--outline-secondary{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--outline-secondary:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-text-secondary)}.btn--small{padding:.5rem .75rem;font-size:.75rem;min-height:2rem}.btn--large{padding:1rem 1.5rem;font-size:1rem;min-height:3rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;color:var(--color-text);font-size:.875rem;font-weight:500;transition:var(--transition-theme)}.form-label--required:after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-background);color:var(--color-text);font-size:.875rem;line-height:1.5;transition:var(--transition-theme-fast),box-shadow .2s ease-in-out;box-sizing:border-box}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-surface);color:var(--color-text-secondary);cursor:not-allowed;opacity:.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-secondary);opacity:.7}.form-input--error,.form-textarea--error,.form-select--error{border-color:var(--color-error);box-shadow:0 0 0 1px var(--color-error)}.form-input--error:focus,.form-textarea--error:focus,.form-select--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #dc262633}.form-input--success,.form-textarea--success,.form-select--success{border-color:var(--color-success);box-shadow:0 0 0 1px var(--color-success)}.form-input--success:focus,.form-textarea--success:focus,.form-select--success:focus{border-color:var(--color-success);box-shadow:0 0 0 2px #22c55e33}.form-help-text{margin-top:.25rem;font-size:.75rem;color:var(--color-text-secondary);transition:var(--transition-theme)}.form-error-text{margin-top:.25rem;font-size:.75rem;color:var(--color-error);transition:var(--transition-theme)}.form-success-text{margin-top:.25rem;font-size:.75rem;color:var(--color-success);transition:var(--transition-theme)}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;appearance:none}.form-checkbox,.form-radio{width:1rem;height:1rem;color:var(--color-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:.25rem;transition:var(--transition-theme-fast);cursor:pointer}.form-radio{border-radius:50%}.form-checkbox:checked,.form-radio:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-checkbox:focus,.form-radio:focus{outline:none;box-shadow:0 0 0 2px var(--color-focus-ring)}.form-checkbox:disabled,.form-radio:disabled{background-color:var(--color-surface);border-color:var(--color-border);cursor:not-allowed;opacity:.6}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1;margin-bottom:0}.form-inline{display:flex;align-items:center;gap:.5rem}.form-inline .form-label{margin-bottom:0;white-space:nowrap}@media(max-width:640px){.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:1rem}.btn{width:100%;justify-content:center}.btn--small{width:auto;display:inline-flex}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-customizer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-width:800px;margin:0 auto;box-shadow:0 4px 12px var(--color-shadow);transition:var(--transition-theme)}.theme-customizer__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.theme-customizer__title{margin:0;color:var(--color-text);font-size:1.5rem;font-weight:600}.theme-customizer__close{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:var(--transition-theme-fast)}.theme-customizer__close:hover{background:var(--color-border);color:var(--color-text)}.theme-customizer__content{padding:1.5rem;max-height:60vh;overflow-y:auto}.theme-customizer__metadata{margin-bottom:2rem}.theme-metadata{display:flex;flex-direction:column;gap:1rem}.theme-metadata__label{display:flex;flex-direction:column;gap:.5rem;color:var(--color-text);font-weight:500}.theme-metadata__input{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);color:var(--color-text);font-size:1rem;transition:var(--transition-theme-fast)}.theme-metadata__input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.theme-metadata__mode{border:1px solid var(--color-border);border-radius:4px;padding:1rem;margin:0}.theme-metadata__mode legend{color:var(--color-text);font-weight:500;padding:0 .5rem}.theme-mode__option{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;cursor:pointer;color:var(--color-text)}.theme-mode__option input[type=radio]{margin:0}.theme-customizer__sections{display:flex;flex-direction:column;gap:2rem}.color-section{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;padding:1.5rem;transition:var(--transition-theme)}.color-section__title{margin:0 0 1rem;color:var(--color-text);font-size:1.125rem;font-weight:600;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.color-section__colors{display:flex;flex-direction:column;gap:1.5rem}.color-input{display:flex;flex-direction:column;gap:.75rem}.color-input__header{display:flex;flex-direction:column;gap:.25rem}.color-input__label{color:var(--color-text);font-weight:500;font-size:.875rem}.color-input__description{color:var(--color-text-secondary);font-size:.75rem;line-height:1.4}.color-input__controls{display:flex;align-items:center;gap:.75rem}.color-input__preview{width:40px;height:40px;border:2px solid var(--color-border);border-radius:6px;flex-shrink:0;transition:var(--transition-theme-fast)}.color-input__text{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;transition:var(--transition-theme-fast)}.color-input__text:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.color-input__text--invalid{border-color:var(--color-error);background:#dc26260d}.color-input__toggle{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition-theme-fast)}.color-input__toggle:hover{background:var(--color-border);color:var(--color-text)}.color-input__toggle[aria-expanded=true]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.color-input__error{color:var(--color-error);font-size:.75rem;margin-top:-.25rem}.color-input__hsl-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.hsl-slider{display:flex;flex-direction:column;gap:.5rem}.hsl-slider__label{color:var(--color-text);font-size:.875rem;font-weight:500}.hsl-slider__input{width:100%;height:6px;border-radius:3px;background:var(--color-border);outline:none;appearance:none;cursor:pointer;transition:var(--transition-theme-fast)}.hsl-slider__input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-background);box-shadow:0 2px 4px #0003;cursor:pointer;transition:var(--transition-theme-fast)}.hsl-slider__input::-webkit-slider-thumb:hover{background:var(--color-accent);transform:scale(1.1)}.hsl-slider__input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-background);box-shadow:0 2px 4px #0003;cursor:pointer;transition:var(--transition-theme-fast)}.hsl-slider__input::-moz-range-thumb:hover{background:var(--color-accent);transform:scale(1.1)}.theme-customizer__actions{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-top:1px solid var(--color-border);gap:1rem}.theme-customizer__action{padding:.75rem 1.5rem;border:1px solid var(--color-border);border-radius:6px;font-weight:600;cursor:pointer;transition:var(--transition-theme-fast);min-width:120px}.theme-customizer__action--secondary{background:var(--color-surface);color:var(--color-text-secondary)}.theme-customizer__action--secondary:hover{background:var(--color-border);color:var(--color-text)}.theme-customizer__action--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.theme-customizer__action--primary:hover{background:var(--color-accent);border-color:var(--color-accent)}@media(max-width:768px){.theme-customizer{margin:1rem;max-width:none}.theme-customizer__content{padding:1rem;max-height:50vh}.color-input__controls{flex-wrap:wrap}.color-input__preview{width:32px;height:32px}.theme-customizer__actions{flex-direction:column;gap:.75rem}.theme-customizer__action{width:100%}.theme-metadata{gap:.75rem}.color-section{padding:1rem}}@media(prefers-reduced-motion:reduce){.theme-customizer,.color-input__preview,.color-input__text,.color-input__toggle,.hsl-slider__input::-webkit-slider-thumb,.hsl-slider__input::-moz-range-thumb,.theme-customizer__action{transition:none}}@media(prefers-contrast:high){.theme-customizer{border-width:2px}.color-input__preview{border-width:3px}.color-input__text,.color-input__toggle,.theme-customizer__action{border-width:2px}}.accessibility-status{margin-top:1.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:.875rem}.accessibility-status__title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.accessibility-status__badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.accessibility-status__badge--success{background:var(--color-success);color:#fff}.accessibility-status__badge--warning{background:var(--color-warning);color:#fff}.accessibility-status__warning{margin:0 0 .5rem;color:var(--color-warning);font-weight:500}.accessibility-status__success{margin:0;color:var(--color-success);font-weight:500}.accessibility-status__issues{margin-top:.75rem}.accessibility-status__issues-list{margin:.5rem 0 0;padding:0;list-style:none}.accessibility-status__issue{padding:.5rem 0;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:.5rem;font-size:.8125rem;flex-wrap:wrap}.accessibility-status__issue:first-child{border-top:none;padding-top:0}.accessibility-status__grade{padding:.125rem .25rem;border-radius:3px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.accessibility-status__grade--aaa,.accessibility-status__grade--aa{background:var(--color-success);color:#fff}.accessibility-status__grade--fail{background:var(--color-error);color:#fff}.accessibility-status__recommendation{color:var(--color-text-secondary);font-style:italic;font-size:.75rem}.code-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin:1rem 0;overflow:hidden;box-shadow:0 2px 4px var(--color-shadow);transition:var(--transition-theme)}.code-block__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-background);border-bottom:1px solid var(--color-border);font-size:.875rem}.code-block__title{color:var(--color-text);font-weight:600;margin:0}.code-block__language{color:var(--color-text-secondary);background:var(--color-surface);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.code-block__content{overflow-x:auto;background:var(--color-code-bg)}.code-block__content pre{margin:0;padding:1rem;background:transparent!important;overflow:visible;color:var(--color-code-text);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.875rem;line-height:1.5}.code-block__content code{background:transparent!important;padding:0;border-radius:0;font-family:inherit;font-size:inherit}.code-block--loading{position:relative}.code-block__skeleton{opacity:.6;animation:code-block-pulse 1.5s ease-in-out infinite}@keyframes code-block-pulse{0%,to{opacity:.6}50%{opacity:.3}}.code-block--error{border-color:var(--color-error);background:#dc26260d}.code-block--error pre{color:var(--color-error)}.code-block--line-numbers .code-block__content pre{counter-reset:line;padding-left:3rem}.code-block--line-numbers .code-block__content pre code{counter-increment:line}.code-block--line-numbers .code-block__content pre code:before{content:counter(line);position:absolute;left:.5rem;color:var(--color-text-secondary);font-size:.75rem;width:2rem;text-align:right;opacity:.5}@media(max-width:768px){.code-block__content pre{padding:.75rem;font-size:.8125rem}.code-block__header{padding:.5rem .75rem;font-size:.8125rem}.code-block--line-numbers .code-block__content pre{padding-left:2.5rem}.code-block--line-numbers .code-block__content pre code:before{width:1.5rem}}@media(prefers-reduced-motion:reduce){.code-block__skeleton{animation:none}.code-block{transition:none}}.theme-preview{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-background);min-height:400px;font-size:.875rem;transition:var(--transition-theme)}.theme-preview__container{height:100%;display:flex;flex-direction:column}.theme-preview__header{background:var(--color-header-bg);border-bottom:1px solid var(--color-border);padding:.75rem 1rem;flex-shrink:0}.theme-preview__header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.theme-preview__title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.theme-preview__nav{display:flex;gap:1rem}.theme-preview__nav-link{color:var(--color-textSecondary);text-decoration:none;font-size:.8125rem;font-weight:500;transition:var(--transition-theme-fast);padding:.25rem 0}.theme-preview__nav-link:hover{color:var(--color-link-hover);text-decoration:none}.theme-preview__main{flex:1;padding:1rem;background:var(--color-background);overflow-y:auto}.theme-preview__section{margin-bottom:1.5rem}.theme-preview__section:last-child{margin-bottom:0}.theme-preview__heading{margin:0 0 .5rem;font-size:1.125rem;font-weight:700;color:var(--color-text)}.theme-preview__subheading{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--color-text)}.theme-preview__text{margin:0 0 .5rem;color:var(--color-text);line-height:1.5}.theme-preview__text--secondary{color:var(--color-textSecondary);font-size:.875rem}.theme-preview__buttons{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.theme-preview__button{padding:.5rem 1rem;border:1px solid transparent;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-theme-fast)}.theme-preview__button--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.theme-preview__button--primary:hover{background:var(--color-accent);border-color:var(--color-accent)}.theme-preview__button--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.theme-preview__button--secondary:hover{background:var(--color-surface)}.theme-preview__link{color:var(--color-link);text-decoration:none;font-weight:500;transition:var(--transition-theme-fast)}.theme-preview__link:hover{color:var(--color-link-hover);text-decoration:underline}.theme-preview__card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:6px;padding:1rem;box-shadow:0 1px 3px var(--color-shadow);transition:var(--transition-theme)}.theme-preview__card-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.theme-preview__card-description{margin:0 0 .75rem;color:var(--color-textSecondary);font-size:.875rem;line-height:1.4}.theme-preview__card-link{color:var(--color-link);text-decoration:none;font-weight:500;font-size:.875rem;transition:var(--transition-theme-fast)}.theme-preview__card-link:hover{color:var(--color-link-hover);text-decoration:underline}.theme-preview__status-messages{display:flex;flex-direction:column;gap:.5rem}.theme-preview__status{padding:.5rem .75rem;border-radius:4px;font-size:.8125rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.theme-preview__status--success{background:var(--color-success);color:#fff;border:1px solid var(--color-success)}.theme-preview__status--warning{background:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.theme-preview__status--error{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.theme-preview__code-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;overflow-x:auto}.theme-preview__code{font-size:.8125rem;line-height:1.4;color:var(--color-text)}.theme-preview__code-keyword{color:var(--color-primary);font-weight:600}.theme-preview__code-variable{color:var(--color-text)}.theme-preview__code-operator{color:var(--color-textSecondary)}.theme-preview__code-string{color:var(--color-accent)}@media(max-width:768px){.theme-preview__header-content{flex-direction:column;align-items:flex-start;gap:.5rem}.theme-preview__nav{gap:.75rem}.theme-preview__buttons{flex-direction:column;align-items:stretch}.theme-preview__button{text-align:center}}.theme-customizer__editor-layout{display:grid;grid-template-columns:1fr 400px;gap:1.5rem;margin-top:1rem}.theme-customizer__sections{min-height:500px}.theme-customizer__preview-panel{position:sticky;top:1rem;height:fit-content}.theme-customizer__preview-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--color-text)}.theme-customizer__preview{height:500px;max-height:70vh}@media(max-width:1024px){.theme-customizer__editor-layout{grid-template-columns:1fr;gap:1rem}.theme-customizer__preview-panel{position:static;order:-1}.theme-customizer__preview{height:300px}}.preset-theme-gallery{padding:1.5rem;background-color:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);margin-bottom:2rem}.gallery-header{margin-bottom:1.5rem;text-align:center}.gallery-header h2{margin:0 0 .5rem;color:var(--color-text);font-size:1.5em}.gallery-header p{margin:0;color:var(--color-text-secondary);font-size:.9em}.gallery-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.search-control{flex:1;min-width:200px}.theme-search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:.9em;transition:var(--transition-theme)}.theme-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.mode-filter{display:flex;align-items:center;gap:.5rem}.mode-filter label{color:var(--color-text);font-size:.9em;font-weight:500}.mode-filter-select{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:.9em;cursor:pointer;transition:var(--transition-theme)}.mode-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.preset-themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.preset-theme-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1rem;cursor:pointer;transition:var(--transition-theme),transform .2s ease,box-shadow .2s ease;position:relative;display:flex;flex-direction:column;gap:.75rem}.preset-theme-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow);border-color:var(--color-primary)}.preset-theme-card:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.preset-theme-card.active{border-color:var(--color-primary);background-color:var(--color-primary-light)}.preset-theme-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.preset-theme-name{margin:0;font-size:1.1em;font-weight:600;color:var(--color-text);flex:1}.preset-theme-mode{padding:.25rem .5rem;border-radius:12px;font-size:.75em;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.preset-theme-mode.mode-light{background-color:#fbbf24;color:#92400e}.preset-theme-mode.mode-dark{background-color:#374151;color:#f9fafb}.preset-theme-description{margin:0;font-size:.85em;color:var(--color-text-secondary);line-height:1.4}.preset-theme-colors{display:flex;gap:.25rem;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid var(--color-border);cursor:help;transition:transform .2s ease}.color-swatch:hover{transform:scale(1.1)}.preset-theme-meta{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.theme-author{font-size:.8em;color:var(--color-text-secondary);font-style:italic}.theme-tags{display:flex;gap:.25rem;flex-wrap:wrap}.theme-tag{padding:.2rem .4rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;font-size:.7em;color:var(--color-text-secondary)}.active-indicator{position:absolute;top:-1px;right:-1px;background-color:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:0 8px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.no-themes-message{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--color-text-secondary)}.clear-search-btn{margin-top:.5rem;padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:var(--transition-theme)}.clear-search-btn:hover{background-color:var(--color-primary-dark)}.theme-preview-section{padding:1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;margin-top:1rem}.theme-preview-section h3{margin:0 0 1rem;color:var(--color-text);font-size:1.1em}.preview-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.preview-color-item{display:flex;align-items:center;gap:.5rem;padding:.25rem}.preview-color-swatch{width:20px;height:20px;border-radius:3px;border:1px solid var(--color-border);flex-shrink:0}.preview-color-label{font-size:.8em;color:var(--color-text-secondary);font-family:monospace}@media(max-width:768px){.preset-themes-grid{grid-template-columns:1fr}.gallery-controls{flex-direction:column;align-items:stretch}.search-control{min-width:auto}.preview-colors{grid-template-columns:1fr}}@media(max-width:480px){.preset-theme-gallery{padding:1rem}.preset-theme-card{padding:.75rem}.preset-theme-header{flex-direction:column;align-items:flex-start;gap:.25rem}}:root{--color-primary: #2563eb;--color-secondary: #64748b;--color-accent: #0ea5e9;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #0f172a;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-error: #dc2626;--color-warning: #d97706;--color-success: #16a34a;--color-header-bg: var(--color-surface);--color-header-text: var(--color-text);--color-footer-bg: var(--color-surface);--color-footer-text: var(--color-text);--color-card-bg: var(--color-background);--color-card-border: var(--color-border);--color-card-text: var(--color-text);--color-link: var(--color-primary);--color-link-hover: var(--color-accent);--color-overlay: rgba(0, 0, 0, .5);--color-backdrop: rgba(255, 255, 255, .8);--color-focus: var(--color-accent);--color-focus-ring: rgba(14, 165, 233, .2);--color-shadow: rgba(0, 0, 0, .1);--color-code-bg: var(--color-surface);--color-code-text: var(--color-text);--color-code-comment: var(--color-text-secondary);--color-code-keyword: var(--color-primary);--color-code-string: #22c55e;--color-code-number: #f59e0b;--color-code-function: #8b5cf6;--transition-theme: color .25s cubic-bezier(.4, 0, .2, 1), background-color .25s cubic-bezier(.4, 0, .2, 1), border-color .25s cubic-bezier(.4, 0, .2, 1), box-shadow .25s cubic-bezier(.4, 0, .2, 1), opacity .25s cubic-bezier(.4, 0, .2, 1);--transition-theme-fast: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1), border-color .15s cubic-bezier(.4, 0, .2, 1);--transition-theme-instant: color .1s cubic-bezier(.4, 0, .2, 1);--transition-theme-slow: color .3s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), border-color .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1);--transition-shadow: box-shadow .2s cubic-bezier(.4, 0, .2, 1);--transition-border: border-color .2s cubic-bezier(.4, 0, .2, 1), border-width .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--color-primary: #2563eb;--color-secondary: #64748b;--color-accent: #0ea5e9;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #0f172a;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-error: #dc2626;--color-warning: #d97706;--color-success: #16a34a;--color-header-bg: #f8fafc;--color-header-text: #0f172a;--color-footer-bg: #f8fafc;--color-footer-text: #0f172a;--color-card-bg: #ffffff;--color-card-border: #e2e8f0;--color-card-text: #0f172a;--color-link: #2563eb;--color-link-hover: #0ea5e9;--color-overlay: rgba(0, 0, 0, .5);--color-backdrop: rgba(255, 255, 255, .8);--color-focus-ring: rgba(37, 99, 235, .2);--color-shadow: rgba(0, 0, 0, .1);--color-code-bg: #f8fafc;--color-code-text: #0f172a;--color-code-comment: #64748b;--color-code-keyword: #2563eb;--color-code-string: #16a34a;--color-code-number: #d97706;--color-code-function: #7c3aed}[data-theme=dark]{--color-primary: #3b82f6;--color-secondary: #94a3b8;--color-accent: #0ea5e9;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--color-error: #ef4444;--color-warning: #f59e0b;--color-success: #22c55e;--color-header-bg: #1e293b;--color-header-text: #f1f5f9;--color-footer-bg: #1e293b;--color-footer-text: #f1f5f9;--color-card-bg: #1e293b;--color-card-border: #334155;--color-card-text: #f1f5f9;--color-link: #3b82f6;--color-link-hover: #0ea5e9;--color-overlay: rgba(0, 0, 0, .7);--color-backdrop: rgba(15, 23, 42, .8);--color-focus-ring: rgba(59, 130, 246, .3);--color-shadow: rgba(0, 0, 0, .25);--color-code-bg: #0f172a;--color-code-text: #f1f5f9;--color-code-comment: #64748b;--color-code-keyword: #3b82f6;--color-code-string: #22c55e;--color-code-number: #f59e0b;--color-code-function: #a855f7}@media(prefers-color-scheme:light){:root:not([data-theme]){--color-primary: #2563eb;--color-secondary: #64748b;--color-accent: #0ea5e9;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #0f172a;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-error: #dc2626;--color-warning: #d97706;--color-success: #16a34a}}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-primary: #3b82f6;--color-secondary: #94a3b8;--color-accent: #0ea5e9;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--color-error: #ef4444;--color-warning: #f59e0b;--color-success: #22c55e}}.theme-preload,.theme-preload *,.theme-preload *:before,.theme-preload *:after{transition:none!important;animation:none!important;will-change:auto!important}@media(prefers-reduced-motion:reduce){:root{--transition-theme: none;--transition-theme-fast: none;--transition-theme-instant: none;--transition-theme-slow: none;--transition-shadow: none;--transition-border: none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;transform:none!important;will-change:auto!important}.theme-switching,.theme-switch-complete,.theme-customizer,.theme-toggle,.preset-theme-gallery,button,input,select,textarea{transition:none!important;animation:none!important;transform:none!important}}.reduce-motion,.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;transform:none!important;will-change:auto!important}.disable-gpu-acceleration,.disable-gpu-acceleration *{transform:none!important;will-change:auto!important;backface-visibility:visible!important}@media(prefers-contrast:high){:root{--color-border: currentColor}[data-theme=light]{--color-border: #000000;--color-text-secondary: #000000}[data-theme=dark]{--color-border: #ffffff;--color-text-secondary: #ffffff}}*{transition:var(--transition-theme);will-change:auto}button,input,select,textarea,[role=button],a,.theme-toggle{transition:var(--transition-theme-fast)}span,code,em,strong,small,.icon{transition:var(--transition-theme-instant)}.icon-code:before{content:"💻"}.icon-react:before{content:"⚛️"}.icon-typescript:before{content:"🔷"}.icon-css:before{content:"🎨"}.icon-html:before{content:"📄"}.icon-mobile:before{content:"📱"}.icon-server:before{content:"🖥️"}.icon-nodejs:before{content:"🟢"}.icon-api:before{content:"🔗"}.icon-database:before{content:"🗄️"}.icon-architecture:before{content:"🏗️"}.icon-tools:before{content:"🛠️"}.icon-git:before{content:"📚"}.icon-github:before{content:"🐙"}.icon-vscode:before{content:"📝"}.icon-build:before{content:"⚙️"}.icon-test:before{content:"🧪"}.icon-people:before{content:"👥"}.icon-puzzle:before{content:"🧩"}.icon-chat:before{content:"💬"}.icon-mentor:before{content:"🎓"}.icon-doc:before{content:"📖"}.header,.footer,.card,.modal,nav{transition:var(--transition-theme-slow)}.card,.header,.modal,.dropdown,[class*=shadow]{transition:var(--transition-theme),var(--transition-shadow)}input,textarea,select,button,.card,[class*=border]{transition:var(--transition-theme),var(--transition-border)}[data-no-theme-transition],[data-no-theme-transition] *{transition:none!important;will-change:auto!important}.project-card,.blog-post,article,.card,.theme-customizer,.theme-preview,.preset-theme-gallery{contain:layout paint style;transform:translateZ(0);backface-visibility:hidden}.projects-grid,.blog-posts-list,.theme-gallery-grid{content-visibility:auto;contain-intrinsic-size:100% 400px}.header,.footer,nav{contain:layout paint;will-change:background-color,color;transform:translateZ(0)}.modal,.overlay,.dropdown,.theme-customizer-modal{contain:layout paint style;transform:translateZ(0);will-change:opacity,transform,background-color}button,input,select,textarea,.theme-toggle,[role=button],a:hover,a:focus{transform:translateZ(0);will-change:background-color,color,border-color,box-shadow}pre,code,.code-block,.syntax-highlight{contain:layout paint;transform:translateZ(0);will-change:background-color,color}.theme-switching{contain:layout paint style;will-change:color,background-color,border-color,box-shadow,opacity}.theme-switching *{will-change:color,background-color,border-color;transform:translateZ(0)}.theme-switch-complete,.theme-switch-complete *{will-change:auto}.theme-switch-complete button,.theme-switch-complete input,.theme-switch-complete .theme-toggle,.theme-switch-complete [role=button]{transform:translateZ(0);will-change:background-color,color}@media(prefers-reduced-motion:reduce){*{transform:none!important;will-change:auto!important;backface-visibility:visible!important;contain:none!important;content-visibility:visible!important}.theme-switching{contain:paint;will-change:color,background-color}.theme-switch-complete,.theme-switch-complete *{will-change:auto!important;transform:none!important}}@media(min-resolution:120dpi){.project-card,.blog-post,.card,.theme-toggle,button{transform:translateZ(0);-webkit-font-smoothing:subpixel-antialiased}}
