*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#060816;--bg-soft:#0b1020;--surface:#ffffff0d;--surface-2:#ffffff14;--text:#f8fafc;--muted:#aeb8cc;--accent:#a855f7;--accent-2:#ec4899;--success:#22c55e;--border:#ffffff14;--border-strong:#ffffff29;--shadow:0 18px 44px #00000038;--shadow-2:0 30px 80px #00000052;--max-width:1200px}html{scroll-behavior:smooth}html[data-theme=light]{--bg:#f6f7fb;--bg-soft:#fff;--surface:#ffffffe6;--surface-2:#f8f9ff;--text:#0f172a;--muted:#475569;--border:#0f172a14;--border-strong:#0f172a29;--shadow:0 18px 44px #0f172a14;--shadow-2:0 30px 80px #0f172a1f}body{color:var(--text);background:radial-gradient(circle at top left,#a855f729,transparent 28%),radial-gradient(circle at top right,#ec48991f,transparent 24%),radial-gradient(circle at bottom center,#8b5cf614,transparent 28%),linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 85%, #08101f) 50%,var(--bg) 100%);min-height:100vh;font-family:Inter,Arial,sans-serif;transition:background .25s,color .25s;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}main{min-height:calc(100vh - 140px)}.container{width:min(100% - 2rem,var(--max-width));margin:0 auto}.section-header{text-align:center;max-width:780px;margin:0 auto 2.75rem}.section-subtitle,.premium-pill,.page-hero-badge{letter-spacing:.08em;color:#f9a8d4;background:#a855f71f;border:1px solid #a855f73d;border-radius:999px;justify-content:center;align-items:center;padding:.55rem .95rem;font-size:.8rem;font-weight:800;display:inline-flex}.section-subtitle{margin-bottom:.85rem}.section-title{letter-spacing:-.03em;margin-bottom:.95rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.section-description{color:var(--muted);font-size:1rem;line-height:1.8}.page-hero{text-align:center;padding:4.5rem 0 2.5rem;position:relative;overflow:hidden}.page-hero-inner{z-index:1;position:relative}.page-hero-title{letter-spacing:-.04em;margin:1rem 0;font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.03}.page-hero-subtitle{max-width:860px;color:var(--muted);margin:0 auto 2rem;line-height:1.85}.page-hero-glow{filter:blur(90px);opacity:.35;pointer-events:none;border-radius:999px;position:absolute}.page-hero-glow-1{background:#a855f759;width:230px;height:230px;top:0;left:10%}.page-hero-glow-2{background:#ec489947;width:220px;height:220px;top:70px;right:10%}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.85rem 1.2rem;font-weight:700;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 34px #a855f740}.btn-secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.stat-card,.contact-stat,.skills-card,.skills-tools-card,.contact-card,.faq-item,.projects-page-card,.project-card,.tech-category-card,.experience-card,.social-card,.home-overview-card,.not-found-shell{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1.5rem}.site-header{z-index:1000;background:color-mix(in srgb,var(--bg-soft) 82%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:all .25s;position:sticky;top:0}.site-header.scrolled{box-shadow:0 14px 40px #0000001f}.navbar{justify-content:space-between;align-items:center;gap:1.5rem;min-height:78px;display:flex}.logo-mark{letter-spacing:.12em;align-items:center;gap:.7rem;font-weight:900;display:inline-flex}.logo-dot{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:50%;width:12px;height:12px;box-shadow:0 0 18px #a855f766}.nav-panel{align-items:center;gap:1rem;margin-left:auto;display:flex}.nav-menu{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.55rem;padding:.35rem;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:.72rem .98rem;font-size:.92rem;font-weight:700;transition:all .2s}.nav-link:hover{color:var(--text);background:#ffffff0d}.nav-link.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 24px #a855f738}.nav-actions{align-items:center;gap:.65rem;display:flex}.language-toggle,.theme-toggle{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;padding:.65rem .9rem;font-weight:800}.menu-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.95rem;width:48px;height:48px;padding:0;display:none;position:relative}.menu-toggle span{background:var(--text);border-radius:999px;height:2px;transition:all .25s;position:absolute;left:12px;right:12px}.menu-toggle span:first-child{top:15px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:29px}.menu-toggle.active span:first-child{top:22px;transform:rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){top:22px;transform:rotate(-45deg)}.site-footer{border-top:1px solid var(--border);background:#ffffff05;margin-top:2rem;position:relative}.footer-shell{padding:2.3rem 0 1.2rem}.footer-top{grid-template-columns:1.1fr 1.4fr;gap:2rem;padding-bottom:1.4rem;display:grid}.footer-brand{max-width:420px}.footer-logo{align-items:center;gap:.7rem;margin-bottom:1rem;display:inline-flex}.footer-description{color:var(--muted);line-height:1.8}.footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.footer-column h3{color:var(--text);margin-bottom:.95rem;font-size:.95rem}.footer-links{flex-direction:column;gap:.75rem;display:flex}.footer-links a,.footer-links span{color:var(--muted)}.footer-links a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);min-height:70px;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:.95rem;display:flex}.not-found-page{padding:5rem 0 4rem}.not-found-shell{text-align:center;max-width:860px;margin:0 auto;padding:2.2rem}.not-found-code{letter-spacing:.08em;color:#f9a8d4;background:#a855f71f;border:1px solid #a855f73d;border-radius:999px;margin-bottom:1rem;padding:.55rem .95rem;font-size:.82rem;font-weight:800;display:inline-flex}.not-found-title{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05}.not-found-text{color:var(--muted);max-width:620px;margin:0 auto 1.5rem;line-height:1.85}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=980px){.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-panel{background:color-mix(in srgb,var(--bg-soft) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem;transition:all .3s;position:fixed;top:79px;left:0;right:0;transform:translateY(-120%)}.nav-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu{border-radius:1.2rem;flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem}.nav-link{text-align:center}.nav-actions{flex-direction:column;align-items:stretch}.nav-actions .btn,.nav-actions .language-toggle,.nav-actions .theme-toggle{width:100%}.footer-top{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr 1fr}}@media (width<=640px){.footer-columns{grid-template-columns:1fr}.not-found-shell{padding:1.4rem}.not-found-actions{flex-direction:column}.not-found-actions .btn{width:100%}}html,body,#root{background-color:var(--bg)}html[data-theme=light] body{background:radial-gradient(circle at 0 0,#a855f71f,#0000 26%),radial-gradient(circle at 100% 0,#ec48991a,#0000 22%),linear-gradient(#f7f4fb 0%,#f4f6fb 55%,#eef2f9 100%)}.glass-card,.skills-panel,.contact-card,.experience-card,.tech-category-card,.project-card,.projects-page-card,.social-card,.faq-item{background:var(--surface)}html[data-theme=light] .btn-secondary{background:#ffffffd6}.route-loading{min-height:calc(100vh - 140px)}.btn,.stat-card,.contact-stat,.project-card,.projects-page-card,.tech-category-card,.skills-panel,.skills-tools-card,.experience-card-shell,.projects-filter-btn{will-change:transform}.stat-card,.contact-stat,.skills-card,.skills-tools-card,.contact-card,.faq-item,.projects-page-card,.project-card,.tech-category-card,.experience-card,.experience-card-shell,.social-card,.home-overview-card,.not-found-shell{contain:paint}.btn:hover,.projects-filter-btn:hover{transform:translateY(-1px)}@supports (content-visibility:auto){.home-overview-section,.technologies-section,.projects-section,.projects-page-grid-section,.skills-section,.skills-tools-section,.experience-timeline-section{content-visibility:auto;contain-intrinsic-size:auto 720px}}@media (width<=980px){.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;z-index:999;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem;transition:all .3s;position:fixed;top:79px;left:0;right:0;transform:translateY(-120%)}.nav-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu{border-radius:1.2rem;flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem}.nav-link{text-align:center;width:100%}.nav-actions{flex-direction:column;align-items:stretch}.nav-actions .btn,.nav-actions .language-toggle,.nav-actions .theme-toggle{width:100%}}@media (width<=640px){.container{width:min(100% - 1rem, var(--max-width))}.navbar{gap:.75rem;min-height:72px}.logo-text{font-size:.98rem}.nav-panel{padding:.85rem;top:73px}.nav-menu{gap:.4rem;padding:.45rem}.nav-link{padding:.82rem .9rem;font-size:.92rem}.nav-actions{gap:.65rem}.nav-actions .btn,.nav-actions .language-toggle,.nav-actions .theme-toggle{min-height:46px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes softFloat{0%{transform:translate(0,0)}50%{transform:translateY(-8px)}to{transform:translate(0,0)}}@keyframes glowPulse{0%,to{opacity:.25;transform:translateZ(0)scale(1)}50%{opacity:.42;transform:translateZ(0)scale(1.04)}}.reveal-up{opacity:0;will-change:opacity,transform;animation:.8s forwards fadeUp}.reveal-in{opacity:0;will-change:opacity;animation:.9s forwards fadeIn}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.float-soft{will-change:transform;animation:5s ease-in-out infinite softFloat}.glow-pulse{will-change:opacity,transform;animation:5s ease-in-out infinite glowPulse}.stagger-children>*{opacity:0;will-change:opacity,transform;animation:.75s forwards fadeUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.12s}.stagger-children>:nth-child(3){animation-delay:.19s}.stagger-children>:nth-child(4){animation-delay:.26s}.stagger-children>:nth-child(5){animation-delay:.33s}.stagger-children>:nth-child(6){animation-delay:.4s}.stagger-children>:nth-child(7){animation-delay:.47s}.stagger-children>:nth-child(8){animation-delay:.54s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal-up,.reveal-in,.stagger-children>*{opacity:1!important;transform:none!important}}.hero-section{padding:6.2rem 0 4.8rem;position:relative;overflow:hidden}.hero-background,.hero-particles-layer{pointer-events:none;position:absolute;inset:0}.hero-grid-lines{opacity:.35;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:42px 42px;animation:18s linear infinite gridShift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0009,#0000 85%);mask-image:linear-gradient(#0009,#0000 85%)}.hero-particles-layer{background-image:radial-gradient(circle at 18% 24%,#a855f72e 0 2px,#0000 3px),radial-gradient(circle at 82% 16%,#ec489929 0 2px,#0000 3px),radial-gradient(circle at 72% 74%,#60a5fa24 0 2px,#0000 3px),radial-gradient(circle at 26% 72%,#ffffff14 0 1px,#0000 2px),radial-gradient(circle at 64% 34%,#ffffff14 0 1px,#0000 2px);background-size:240px 240px,260px 260px,220px 220px,160px 160px,180px 180px;animation:12s ease-in-out infinite alternate heroAura}@keyframes heroAura{0%{transform:translateY(0)scale(1)}to{transform:translateY(-14px)scale(1.03)}}@keyframes gridShift{0%{background-position:0 0,0 0}to{background-position:42px 42px,-42px 42px}}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr);align-items:center;gap:2.2rem;display:grid;position:relative}.hero-content{flex-direction:column;gap:1.55rem;display:flex}.hero-badge{background:#a855f71f;border:1px solid #a855f740;border-radius:999px;align-items:center;gap:.6rem;width:fit-content;padding:.62rem .98rem;display:inline-flex;box-shadow:0 12px 30px #a855f71f}.badge-dot{background:var(--success);border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px #22c55eb3}.badge-text{letter-spacing:.12em;font-size:.82rem;font-weight:700}.hero-title{letter-spacing:-.06em;color:var(--text);flex-direction:column;gap:.25rem;font-size:clamp(2.9rem,5vw,5.6rem);line-height:.98;display:flex}.title-line{color:var(--text)}.highlight{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-description{max-width:640px;color:var(--muted);font-size:1.03rem;line-height:1.9}.hero-stats,.contact-stats{flex-wrap:wrap;gap:.95rem;display:flex}.stat-card,.contact-stat{background:var(--surface);border:1px solid var(--border);border-radius:1rem;min-width:144px;padding:.95rem 1.05rem;transition:all .25s}.stat-card:hover,.contact-stat:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-3px)}.stat-number{margin-bottom:.28rem;font-size:1.75rem;font-weight:800}.stat-label{color:var(--muted);letter-spacing:.08em;font-size:.76rem}.hero-actions,.home-overview-actions{flex-wrap:wrap;gap:.95rem;display:flex}.tech-scroll{flex-wrap:wrap;gap:.75rem;padding-top:.35rem;display:flex}.tech-scroll span{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.52rem .85rem;font-size:.88rem}.hero-visual{justify-content:center;align-items:center;min-height:380px;padding-inline:.4rem;display:flex;position:relative}.code-window{border:1px solid var(--border-strong);width:100%;max-width:440px;min-height:310px;box-shadow:var(--shadow-2);z-index:2;background:radial-gradient(circle at 100% 0,#36436fa6,#0000 30%),linear-gradient(#232b43,#131a31 56%,#11172d);border-radius:1.7rem;position:relative;overflow:hidden}.window-header{background:#ffffff08;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.1rem;display:flex}.window-dots{gap:.55rem;display:flex}.dot{border-radius:50%;width:14px;height:14px}.dot.red{background:#ef5a47}.dot.yellow{background:#f2b245}.dot.green{background:#68d36f}.window-title{color:#ffffffc7;font-size:.86rem}.window-content{padding:1.15rem 1.3rem}.window-content pre{white-space:pre-wrap;word-break:break-word;color:#d9dbe3;margin:0;font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.65}.hero-floating-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3;color:#f8fafc;background:#ffffff14;border:1px solid #ffffff1a;border-radius:1.35rem;flex-direction:column;gap:.18rem;min-width:180px;max-width:220px;padding:.8rem .95rem;display:flex;position:absolute;box-shadow:0 16px 42px #00000038}.hero-floating-card span{color:var(--muted);font-size:.82rem}.hero-floating-card strong{font-size:.95rem}.hero-floating-card-1{top:18px;right:-26px}.hero-floating-card-2{bottom:10px;left:-24px}.home-overview-section,.technologies-section,.projects-section{position:relative}.home-overview-section:before,.technologies-section:before,.projects-section:before{content:"";opacity:.8;background:linear-gradient(90deg,#0000,#a855f759,#ec489959,#0000);width:min(100% - 2rem,1180px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.home-overview-section:after,.technologies-section:after,.projects-section:after{content:"";pointer-events:none;opacity:.9;background:radial-gradient(circle at 10% 24%,#a855f71a,#0000 22%),radial-gradient(circle at 88% 72%,#ec489914,#0000 18%);position:absolute;inset:0}.home-overview-section{padding:1rem 0 5rem}.home-overview-card{grid-template-columns:1.05fr .95fr;gap:1.35rem;padding:1.55rem;display:grid}.home-overview-content{flex-direction:column;justify-content:center;display:flex}.home-overview-badge{letter-spacing:.08em;color:#f9a8d4;background:#a855f71f;border:1px solid #a855f738;border-radius:999px;width:fit-content;margin-bottom:.85rem;padding:.45rem .8rem;font-size:.74rem;font-weight:800;display:inline-flex}.home-overview-title{letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.12}.home-overview-description{color:var(--muted);margin-bottom:1.4rem;line-height:1.9}.home-overview-grid{grid-template-columns:1fr;gap:1rem;display:grid}.home-overview-item{border:1px solid var(--border);background:#ffffff08;border-radius:1.25rem;padding:1.15rem}.home-overview-icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:1rem;width:42px;height:42px;margin-bottom:.85rem;box-shadow:0 12px 26px #a855f740}.home-overview-item h3{margin-bottom:.5rem;font-size:1.05rem}.home-overview-item p{color:var(--muted);line-height:1.7}.technologies-section{padding:5rem 0}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.tech-category-card{padding:1.35rem;transition:all .25s}.tech-category-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-3px)}.tech-category-card-wide{grid-column:span 2}.tech-category-header{align-items:center;gap:.85rem;margin-bottom:1.1rem;display:flex}.tech-category-header h3{font-size:1.12rem}.tech-category-icon{background:linear-gradient(135deg,#a855f738,#ec489938);border:1px solid #ffffff14;border-radius:1rem;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.4rem;display:flex}.tech-list{flex-direction:column;gap:.9rem;display:flex}.tech-list-inline{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.tech-item-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;padding:.95rem}.tech-item-card-inline{min-height:100%}.tech-item-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem;display:flex}.tech-item-info{align-items:center;gap:.75rem;display:flex}.tech-item-info h4{font-size:.96rem}.tech-item-icon{background:#ffffff0d;border-radius:.9rem;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;display:flex}.tech-level{color:#f9a8d4;font-size:.9rem;font-weight:700}.skill-bar,.skill-row-bar{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.skill-progress,.skill-row-progress{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%}.skills-circles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.skill-circle-card{text-align:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:1.1rem;padding:1rem}.skill-circle{background:radial-gradient(closest-side, #0a0e20 72%, transparent 73% 100%), conic-gradient(#a855f7 var(--value), #ffffff14 0);border-radius:50%;place-items:center;width:112px;height:112px;margin:0 auto .75rem;display:grid;position:relative}html[data-theme=light] .skill-circle{background:radial-gradient(closest-side, #fff 72%, transparent 73% 100%), conic-gradient(#a855f7 var(--value), #0f172a14 0)}.skill-circle span{font-size:1.2rem;font-weight:800}.skill-circle-card h3{margin-bottom:.25rem;font-size:.98rem}.skill-circle-card p{color:var(--muted);font-size:.82rem;line-height:1.55}.skills-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.skill-column-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1.1rem;padding:1rem}.skill-column-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.skill-column-head h3{font-size:1rem;line-height:1.15}.skill-column-head strong{color:#f9a8d4;font-size:.92rem}.skill-column-visual{align-items:end;gap:.28rem;height:78px;display:flex}.skill-column-visual span{background:#ffffff14;border-radius:999px;width:18px;display:block}.skill-column-visual span:first-child{height:28px}.skill-column-visual span:nth-child(2){height:42px}.skill-column-visual span:nth-child(3){height:58px}.skill-column-visual span:nth-child(4){height:var(--bar-height);background:linear-gradient(#a855f7,#ec4899);box-shadow:0 8px 20px #a855f738}.skills-horizontal-list{flex-direction:column;gap:.8rem;display:flex}.skill-horizontal-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;display:grid}.skill-horizontal-card h3{font-size:.96rem;line-height:1.2}.skill-horizontal-card p{color:var(--muted);margin-top:.15rem;font-size:.82rem;line-height:1.5}.skill-horizontal-value{color:#f9a8d4;white-space:nowrap;font-size:.92rem;font-weight:800}.projects-section{padding:5rem 0 5.5rem}.projects-grid{grid-template-columns:1fr;gap:1.15rem;display:grid}.project-card{transition:all .25s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-3px)}.project-image{background:#ffffff08;min-height:230px;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.project-overlay{position:absolute;top:1rem;left:1rem}.project-badge{letter-spacing:.04em;color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:999px;align-items:center;padding:.5rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex}.project-badge.game,.project-badge.physics{background:linear-gradient(135deg,#9333ea,#f472b6)}.project-content{padding:1.1rem}.project-header{flex-direction:column;gap:.65rem;margin-bottom:.85rem;display:flex}.project-header h3{font-size:1.18rem;line-height:1.14}.project-tech{flex-wrap:wrap;gap:.5rem;display:flex}.project-tech span{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:.38rem .62rem;font-size:.74rem}.project-description{color:var(--muted);margin-bottom:.95rem;font-size:.92rem;line-height:1.68}.project-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem .85rem;margin-bottom:1rem;display:grid}.feature{align-items:center;gap:.55rem;font-size:.88rem;display:flex}.feature-icon{color:#f9a8d4;background:#a855f72e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:inline-flex}.project-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.project-stat{text-align:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:1rem;padding:.75rem .65rem}.project-stat .stat-value{margin-bottom:.15rem;font-size:1rem;font-weight:800}.project-stat .stat-label{color:var(--muted);font-size:.72rem}.project-actions{flex-wrap:wrap;gap:.8rem;display:flex}.project-actions .btn{min-height:42px;padding:.72rem .98rem}html[data-theme=light] .hero-title,html[data-theme=light] .hero-title .title-line,html[data-theme=light] .stat-number{color:#111827}html[data-theme=light] .code-window{background:radial-gradient(circle at 100% 0,#d3dbf6b8,#0000 30%),linear-gradient(#1d2740,#14203d 55%,#0e1730);border-color:#0f172a24;box-shadow:0 24px 60px #0f172a2e}html[data-theme=light] .window-content pre{color:#eef2ff}html[data-theme=light] .hero-floating-card{color:#0f172a;background:#ffffffb8;border-color:#0f172a1a}html[data-theme=light] .hero-floating-card span{color:#475569}html[data-theme=light] .hero-badge{background:#ffffff8c}@media (width>=950px){.project-card{grid-template-columns:.9fr 1.1fr;display:grid}.project-image{min-height:100%}}@media (width<=1100px){.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:auto;padding-top:.5rem}.hero-floating-card{display:none}.tech-grid{grid-template-columns:1fr 1fr}.home-overview-card{grid-template-columns:1fr}}@media (width<=768px){.tech-grid{grid-template-columns:1fr}.tech-category-card-wide{grid-column:span 1}.tech-list-inline,.project-features{grid-template-columns:1fr}.project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-section{padding:5rem 0 3.5rem}.hero-title{font-size:clamp(2rem,9vw,3rem)}.hero-description{font-size:.96rem}.code-window{max-width:100%;min-height:270px}.window-content{padding:.9rem}.window-content pre{font-size:.78rem;line-height:1.58}.home-overview-card{padding:1.1rem}.home-overview-title{font-size:clamp(1.5rem,8vw,2.1rem)}}@media (width<=640px){.hero-section{padding:4.5rem 0 3rem}.hero-content{gap:1.1rem}.hero-badge{padding:.52rem .82rem}.hero-description{font-size:.92rem;line-height:1.72}.hero-stats{gap:.7rem}.stat-card{flex:calc(50% - .35rem);min-width:120px;padding:.82rem .9rem}.stat-number{font-size:1.35rem}.hero-actions,.home-overview-actions{flex-direction:column}.hero-actions .btn,.home-overview-actions .btn{width:100%}.tech-scroll span{padding:.42rem .72rem;font-size:.78rem}.home-overview-section,.technologies-section,.projects-section{padding:3.2rem 0 4rem}.home-overview-card,.tech-category-card,.project-content{padding:1.05rem}.tech-category-header{margin-bottom:.95rem}.tech-category-header h3{font-size:1rem}.tech-item-info h4{font-size:.88rem}.project-header h3{font-size:1.04rem}.project-description{font-size:.88rem}.project-actions{flex-direction:column}.project-actions .btn{width:100%}}.hero-grid-lines{will-change:background-position}.hero-particles-layer,.hero-floating-card,.project-image img{will-change:transform}.code-window{transform:translateZ(0)}.stat-card:hover,.contact-stat:hover,.tech-category-card:hover,.project-card:hover{transform:translateY(-3px)}.project-card:hover .project-image img{transform:translateZ(0)scale(1.03)}.contact-page{padding:0 0 4.5rem;position:relative}.contact-page:before,.contact-page:after{content:"";pointer-events:none;position:absolute;inset:0}.contact-page:before{background:radial-gradient(circle at 12% 14%,#a855f71f,#0000 18%),radial-gradient(circle at 86% 24%,#ec48991a,#0000 18%),radial-gradient(circle at 78% 82%,#3b82f612,#0000 16%)}.contact-page:after{opacity:.24;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(#0000002e,#0000 80%);mask-image:linear-gradient(#0000002e,#0000 80%)}.contact-hero{padding:4.5rem 0 2.5rem;position:relative;overflow:hidden}.contact-hero-background{pointer-events:none;position:absolute;inset:0}.contact-badge{letter-spacing:.08em;background:#a855f724;border:1px solid #a855f747;border-radius:999px;margin:0 auto 1rem;padding:.65rem 1rem;font-size:.82rem;font-weight:800;display:inline-flex}.contact-title{text-align:center;letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.03}.contact-title span{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.contact-subtitle{text-align:center;max-width:860px;color:var(--muted);margin:0 auto 2rem;line-height:1.85}.contact-stat .stat-label{color:var(--muted)}.contact-main-section,.contact-faq-section,.contact-cta-section{position:relative}.contact-main-section:before,.contact-faq-section:before,.contact-cta-section:before{content:"";background:linear-gradient(90deg,#0000,#a855f752,#ec489947,#0000);width:min(100% - 2rem,1180px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-main-section{padding:2rem 0 0}.contact-grid{grid-template-columns:.95fr 1.05fr;align-items:start;gap:1.35rem;display:grid}.contact-card{padding:1.35rem;transition:all .25s}.contact-card:hover,.social-card:hover,.faq-item:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-3px)}.contact-card-mini-badge{margin-bottom:.8rem}.contact-card-header{margin-bottom:1.3rem}.contact-card-header h2{margin-bottom:.45rem;font-size:1.4rem}.contact-card-header p,.contact-info-item p,.social-card p,.faq-answer p,.contact-cta-card p{color:var(--muted);line-height:1.72}.contact-info-list{flex-direction:column;gap:.9rem;display:flex}.contact-info-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:1rem;padding:.95rem}.contact-info-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.55rem;display:flex}.info-badge{color:#f9a8d4;background:#a855f724;border:1px solid #a855f747;border-radius:999px;padding:.35rem .7rem;font-size:.75rem}.contact-link,.contact-text{margin-bottom:.45rem;font-weight:700;display:inline-block}.social-block{margin-top:1.4rem}.social-block h3{margin-bottom:1rem}.social-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.social-card{padding:.95rem;transition:all .25s}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.45rem;display:flex}.form-group label{font-size:.95rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff08;border-radius:1rem;outline:none;padding:.95rem 1rem;transition:all .22s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#ffffff0d;border-color:#a855f78c;box-shadow:0 0 0 4px #a855f71f}.form-group textarea{resize:vertical;min-height:170px}.form-group select option{color:#fff;background:#111827}.form-checks{flex-direction:column;gap:.85rem;display:flex}.checkbox-row{color:var(--muted);align-items:flex-start;gap:.75rem;line-height:1.6;display:flex}.checkbox-row input{margin-top:.2rem}.submit-btn{width:100%;margin-top:.35rem}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.form-status{border-radius:1rem;margin-top:.75rem;padding:.95rem 1rem;font-weight:600}.form-status.success{color:#bbf7d0;background:#22c55e1f;border:1px solid #22c55e38}.form-status.error{color:#fecaca;background:#ef44441f;border:1px solid #ef444438}.contact-faq-section{padding:4rem 0}.faq-list{flex-direction:column;gap:.9rem;max-width:900px;margin:0 auto;display:flex}.faq-item{transition:all .25s;overflow:hidden}.faq-question{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;font-size:1rem;font-weight:700;display:flex}.faq-icon{color:#f9a8d4;flex-shrink:0;font-size:1.35rem}.faq-answer{padding:0 1.15rem 1.1rem}.contact-cta-section{padding:0 0 4rem}.contact-cta-card{text-align:center;border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#a855f71f,#ec48991f);border-radius:1.7rem;padding:2rem}.contact-cta-card h2{margin:.9rem 0;font-size:clamp(1.9rem,4vw,2.8rem)}.contact-cta-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=980px){.contact-grid{grid-template-columns:1fr}}@media (width<=640px){.form-row,.social-grid{grid-template-columns:1fr}.contact-card{padding:1.1rem}.contact-info-top{flex-direction:column;align-items:flex-start}.contact-faq-section{padding:3rem 0}.contact-cta-card{padding:1.35rem}.contact-cta-actions{flex-direction:column}.contact-cta-actions .btn{width:100%}}.projects-page{padding:0 0 4rem;position:relative}.projects-page:before,.projects-page:after{content:"";pointer-events:none;position:absolute;inset:0}.projects-page:before{background:radial-gradient(circle at 14% 18%,#a855f71f,#0000 18%),radial-gradient(circle at 86% 28%,#ec48991a,#0000 18%),radial-gradient(circle at 80% 82%,#3b82f612,#0000 16%)}.projects-page:after{opacity:.24;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(#0000002e,#0000 80%);mask-image:linear-gradient(#0000002e,#0000 80%)}.projects-page-hero{position:relative;overflow:hidden}.projects-hero-background{pointer-events:none;position:absolute;inset:0}.compact-filters{max-width:920px;margin:0 auto}.projects-filters{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.projects-filter-btn{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;padding:.72rem .95rem;font-weight:700;transition:all .25s}.projects-filter-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.projects-filter-btn.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000;box-shadow:0 12px 28px #a855f740}.projects-page-grid-section{padding:2rem 0 0;position:relative}.projects-page-grid-section:before{content:"";background:linear-gradient(90deg,#0000,#a855f752,#ec489947,#0000);width:min(100% - 2rem,1180px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.projects-page-grid.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.projects-page-card.compact-card{background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--border);width:100%;max-width:560px;min-height:100%;box-shadow:var(--shadow);border-radius:1.25rem;grid-template-columns:1fr;margin:0 auto;transition:all .25s;display:grid;overflow:hidden}.projects-page-card.compact-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-4px)}.projects-page-card.featured{grid-column:span 2;grid-template-columns:.92fr 1.08fr;max-width:100%}.projects-page-image-wrap.compact-media{background:#ffffff08;height:250px;min-height:250px;max-height:250px;position:relative;overflow:hidden}.projects-page-card.featured .projects-page-image-wrap.compact-media{height:100%;min-height:100%;max-height:none}.projects-page-image{width:100%;height:100%;overflow:hidden}.projects-page-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.projects-page-image.placeholder{background:linear-gradient(135deg,#a855f740,#ec489926);justify-content:flex-start;align-items:flex-end;display:flex}.projects-page-image.placeholder.game{background:linear-gradient(135deg,#6366f152,#ec48992e)}.projects-page-image.placeholder.interactive{background:linear-gradient(135deg,#38bdf842,#a855f729)}.projects-page-image.placeholder.academic{background:linear-gradient(135deg,#10b98142,#3b82f629)}.project-placeholder-content{color:#fff;background:linear-gradient(#0000 20%,#0307128a 100%);flex-direction:column;justify-content:flex-end;gap:.45rem;min-height:100%;padding:1rem;display:flex}.project-placeholder-content span{letter-spacing:.08em;opacity:.72;font-size:.74rem}.project-placeholder-content strong{max-width:14ch;font-size:1.08rem;line-height:1.08}.project-placeholder-content p{opacity:.88;max-width:24ch;margin:0;font-size:.82rem;line-height:1.45}.projects-card-badges.compact-badges{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex;position:absolute;inset:.8rem .8rem auto}.project-category-badge,.project-index-badge,.project-metric-pill,.project-upcoming-badge{letter-spacing:.05em;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:.36rem .66rem;font-size:.72rem;font-weight:800;display:inline-flex}.project-category-badge{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2))}.project-category-badge.game{background:linear-gradient(135deg,#7c3aed,#ec4899)}.project-category-badge.interactive{background:linear-gradient(135deg,#0ea5e9,#8b5cf6)}.project-category-badge.academic{background:linear-gradient(135deg,#10b981,#3b82f6)}.project-index-badge{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#06081694;border:1px solid #ffffff1a}.project-upcoming-badge{color:#111827;background:#ffffffe6;border:1px solid #fffffff2}.projects-page-content.compact-content{flex-direction:column;justify-content:space-between;gap:.85rem;padding:.98rem;display:flex}.projects-page-heading.compact-heading h2{margin-bottom:.45rem;font-size:1.08rem;line-height:1.12}.projects-page-heading.compact-heading p{color:var(--muted);max-width:48ch;font-size:.88rem;line-height:1.58}.project-metrics-row,.projects-page-tech.compact-tech{flex-wrap:wrap;gap:.42rem;display:flex}.project-metric-pill,.projects-page-tech.compact-tech span{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:.34rem .56rem;font-size:.7rem}.projects-page-actions.compact-actions{flex-wrap:wrap;gap:.65rem;margin-top:.12rem;display:flex}.projects-page-actions.compact-actions .btn{min-height:38px;padding:.68rem .88rem;font-size:.88rem}.projects-empty-state{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;padding:2rem}.projects-empty-state p{color:var(--muted)}html[data-theme=light] .projects-page-card.compact-card,html[data-theme=light] .projects-empty-state{background:#fffffff0;border-color:#0f172a14;box-shadow:0 18px 44px #0f172a14}html[data-theme=light] .projects-page-image-wrap.compact-media{background:#f1f5f9e6}html[data-theme=light] .projects-page-heading.compact-heading h2,html[data-theme=light] .projects-page-heading.compact-heading p,html[data-theme=light] .project-metric-pill,html[data-theme=light] .projects-page-tech.compact-tech span,html[data-theme=light] .projects-page-actions .btn-secondary,html[data-theme=light] .projects-empty-state p{color:#0f172a}html[data-theme=light] .project-metric-pill,html[data-theme=light] .projects-page-tech.compact-tech span{background:#f8fafcfa;border-color:#0f172a14}html[data-theme=light] .project-category-badge,html[data-theme=light] .project-index-badge,html[data-theme=light] .project-upcoming-badge{box-shadow:0 10px 24px #0f172a14}html[data-theme=light] .projects-page-image.placeholder{background:linear-gradient(135deg,#0f172a0f,#a855f71a)}html[data-theme=light] .project-placeholder-content{color:#0f172a}@media (width<=980px){.projects-page-grid.compact-grid{grid-template-columns:1fr}.projects-page-card.featured{grid-column:span 1;grid-template-columns:1fr}.projects-page-card.compact-card{max-width:100%}.projects-page-image-wrap.compact-media,.projects-page-card.featured .projects-page-image-wrap.compact-media{height:230px;min-height:230px;max-height:230px}}@media (width<=640px){.projects-page{padding-bottom:3rem}.projects-page-grid-section{padding-top:1rem}.projects-page-grid.compact-grid{gap:.9rem}.projects-page-content.compact-content{gap:.75rem;padding:.92rem}.projects-page-heading.compact-heading h2{font-size:1rem}.projects-page-heading.compact-heading p{font-size:.86rem;line-height:1.5}.projects-page-image-wrap.compact-media,.projects-page-card.featured .projects-page-image-wrap.compact-media{height:205px;min-height:205px;max-height:205px}.projects-card-badges.compact-badges{gap:.42rem;inset:.65rem .65rem auto}.project-category-badge,.project-index-badge,.project-metric-pill,.project-upcoming-badge{min-height:27px;padding:.32rem .52rem;font-size:.66rem}.projects-page-actions.compact-actions{flex-direction:column}.projects-page-actions.compact-actions .btn{width:100%}}.projects-page-image img{will-change:transform}.projects-page-card.compact-card:hover{transform:translateY(-4px)}.projects-page-card:hover .projects-page-image img{transform:translateZ(0)scale(1.04)}.skills-page{padding:0 0 4.5rem;position:relative}.skills-page:before,.skills-page:after{content:"";pointer-events:none;position:absolute;inset:0}.skills-page:before{background:radial-gradient(circle at 15% 12%,#a855f71f,#0000 18%),radial-gradient(circle at 85% 28%,#ec48991a,#0000 18%),linear-gradient(#ffffff05,#0000 20%)}.skills-page:after{opacity:.25;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(#00000038,#0000 80%);mask-image:linear-gradient(#00000038,#0000 80%)}.skills-section,.skills-tools-section{position:relative}.skills-section:before,.skills-tools-section:before{content:"";background:linear-gradient(90deg,#0000,#a855f752,#ec489947,#0000);width:min(100% - 2rem,1180px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.skills-section{padding:2rem 0}.skills-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.skills-panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0d;border-radius:1.6rem;padding:1.35rem;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:0 20px 48px #00000038}.skills-panel:hover,.skills-tools-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-3px)}.skills-panel-feature,.skills-panel-support{grid-column:span 2}.skills-panel-header{margin-bottom:1.1rem}.skills-panel-kicker{color:#f9a8d4;letter-spacing:.06em;background:#a855f71f;border:1px solid #a855f738;border-radius:999px;margin-bottom:.55rem;padding:.34rem .7rem;font-size:.72rem;font-weight:800;display:inline-flex}.skills-panel-header h2{margin-bottom:.35rem;font-size:1.32rem;line-height:1.12}.skills-panel-header p{color:var(--muted);line-height:1.7}.skills-orbit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.skills-orbit-card{text-align:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:1.2rem;flex-direction:column;align-items:center;gap:.7rem;padding:1rem .85rem;display:flex}.skills-orbit-ring{--value:75%;background:conic-gradient(var(--accent) var(--value), #ffffff17 0);border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:relative}.skills-orbit-ring:before{content:"";background:#12182c;border:1px solid #ffffff0a;border-radius:50%;position:absolute;inset:12px}.skills-orbit-ring span{z-index:1;font-weight:800;position:relative}.skills-orbit-card strong{font-size:.98rem}.skills-ui-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.skills-ui-card,.skills-stack-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1.1rem}.skills-ui-card{flex-direction:column;justify-content:space-between;min-height:126px;padding:1rem;display:flex}.skills-ui-top{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.skills-ui-top strong{line-height:1.25}.skills-ui-top span{color:#f9a8d4;font-weight:800}.skills-signal{align-items:flex-end;gap:.45rem;min-height:72px;display:flex}.skills-signal span{background:#ffffff24;border-radius:999px;width:18px;display:block}.skills-signal span:first-child{height:18px}.skills-signal span:nth-child(2){height:30px}.skills-signal span:nth-child(3){height:44px}.skills-signal span:nth-child(4){height:56px}.skills-signal .active{background:linear-gradient(180deg, var(--accent), var(--accent-2));box-shadow:0 0 18px #a855f738}.skills-stack-list{flex-direction:column;gap:.8rem;display:flex}.skills-stack-item{padding:.95rem 1rem}.skills-stack-item>div:first-child{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.skills-stack-item strong{font-size:1rem}.skills-stack-item small,.skills-support-card small{color:var(--muted)}.skills-inline-track,.skills-support-track{background:#ffffff1f;border-radius:999px;width:100%;height:8px;overflow:hidden}.skills-inline-fill,.skills-support-fill{border-radius:999px;height:100%}.skills-inline-fill{background:linear-gradient(90deg,#22d3ee,#8b5cf6)}.backend-fill{background:linear-gradient(90deg,#06b6d4,#8b5cf6)}.skills-support-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.skills-support-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1.2rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:104px;padding:1rem 1.05rem;display:grid}.skills-support-card-head{flex-direction:column;gap:.3rem;min-width:0;display:flex}.skills-support-card strong{font-size:.98rem;line-height:1.25}.skills-support-card span{color:#86efac;white-space:nowrap;font-weight:800}.skills-support-meta{flex-direction:column;gap:.55rem;min-width:140px;display:flex}.skills-support-fill{background:linear-gradient(90deg,#10b981,#8b5cf6)}.skills-tools-section{padding:1rem 0 0}.skills-tools-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0d;border-radius:1.6rem;padding:1.45rem;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:0 20px 48px #00000038}.skills-tools-header{align-items:center;gap:.75rem;margin-bottom:1.05rem;display:flex}.skills-tools-badge{letter-spacing:.06em;color:#f9a8d4;background:#a855f71f;border:1px solid #a855f738;border-radius:999px;justify-content:center;align-items:center;padding:.42rem .75rem;font-size:.72rem;font-weight:800;display:inline-flex}.skills-tools-card h2{font-size:1.3rem}.skills-tools-list{flex-wrap:wrap;gap:.72rem;display:flex}.skills-tool-pill{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:.64rem .9rem;font-size:.86rem}.skills-tool-pill:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff14}html[data-theme=light] .skills-panel,html[data-theme=light] .skills-tools-card,html[data-theme=light] .skills-orbit-card,html[data-theme=light] .skills-ui-card,html[data-theme=light] .skills-stack-item,html[data-theme=light] .skills-support-card{background:#ffffffeb;border-color:#0f172a14;box-shadow:0 18px 44px #0f172a14}html[data-theme=light] .skills-panel-header h2,html[data-theme=light] .skills-ui-top strong,html[data-theme=light] .skills-stack-item strong,html[data-theme=light] .skills-orbit-card strong,html[data-theme=light] .skills-support-card strong,html[data-theme=light] .skills-tools-card h2{color:#0f172a}html[data-theme=light] .skills-panel-header p,html[data-theme=light] .skills-tool-pill,html[data-theme=light] .skills-stack-item small,html[data-theme=light] .skills-support-card small{color:#475569}html[data-theme=light] .skills-panel-kicker,html[data-theme=light] .skills-tools-badge,html[data-theme=light] .skills-ui-top span{color:#d946ef}html[data-theme=light] .skills-orbit-ring:before{background:#fff;border-color:#0f172a14}html[data-theme=light] .skills-signal{background:#f1f5f9eb;border-radius:1rem;padding:.45rem .55rem}html[data-theme=light] .skills-signal span{background:#64748b57;box-shadow:inset 0 0 0 1px #0f172a0a}html[data-theme=light] .skills-signal .active{background:linear-gradient(180deg, var(--accent), var(--accent-2));box-shadow:0 10px 22px #d946ef2e}html[data-theme=light] .skills-inline-track,html[data-theme=light] .skills-support-track{background:#0f172a1f}@media (width<=980px){.skills-layout{grid-template-columns:1fr}.skills-panel-feature,.skills-panel-support{grid-column:span 1}.skills-orbit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-support-grid{grid-template-columns:1fr}}@media (width<=640px){.skills-page{padding-bottom:3rem}.skills-panel,.skills-tools-card{border-radius:1.25rem;padding:1.05rem}.skills-orbit-grid,.skills-ui-grid{grid-template-columns:1fr}.skills-support-grid{grid-template-columns:1fr;gap:.75rem}.skills-support-card{grid-template-columns:1fr;align-items:start;min-height:auto}.skills-support-meta{width:100%;min-width:0}.skills-support-card strong,.skills-stack-item strong{font-size:.94rem}}.skills-panel:hover,.skills-tools-card:hover{transform:translateY(-3px)}.experience-page{padding:0 0 4.5rem;position:relative}.experience-page:before,.experience-page:after{content:"";pointer-events:none;position:absolute;inset:0}.experience-page:before{background:radial-gradient(circle at 12% 18%,#a855f71f,#0000 18%),radial-gradient(circle at 86% 26%,#ec48991a,#0000 18%),radial-gradient(circle at 76% 80%,#3b82f612,#0000 16%)}.experience-page:after{opacity:.24;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(#0000002e,#0000 80%);mask-image:linear-gradient(#0000002e,#0000 80%)}.experience-timeline-section{padding:2rem 0 0;position:relative}.experience-timeline-section:before{content:"";background:linear-gradient(90deg,#0000,#a855f752,#ec489947,#0000);width:min(100% - 2rem,1180px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.experience-track{background:linear-gradient(#a855f7d9,#ec489926);width:2px;position:absolute;top:1rem;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 24px #a855f733}.experience-timeline{flex-direction:column;gap:1.2rem;display:flex;position:relative}.experience-node{width:calc(50% - 42px);position:relative}.experience-node.left{align-self:flex-start}.experience-node.right{align-self:flex-end}.experience-pin{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;width:18px;height:18px;position:absolute;top:34px;box-shadow:0 0 0 7px #a855f71f,0 0 24px #a855f738}.experience-node.left .experience-pin{right:-51px}.experience-node.right .experience-pin{left:-51px}.experience-card-shell{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0d;border-radius:1.4rem;padding:1.15rem;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:0 20px 48px #00000038}.experience-card-shell:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-4px)}.experience-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.experience-period{letter-spacing:.05em;color:#f9a8d4;background:#a855f71f;border:1px solid #a855f738;border-radius:999px;margin-bottom:.55rem;padding:.34rem .62rem;font-size:.76rem;font-weight:800;display:inline-flex}.experience-top h2{margin-bottom:.32rem;font-size:1.2rem;line-height:1.12}.experience-top h3{color:var(--muted);font-size:.95rem;font-weight:600}.experience-type{white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;padding:.42rem .76rem;font-size:.78rem}.experience-description{color:var(--muted);margin-bottom:.9rem;font-size:.92rem;line-height:1.72}.experience-highlights-grid{grid-template-columns:1fr;gap:.65rem;margin-bottom:.95rem;display:grid}.experience-achievement{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;align-items:flex-start;gap:.6rem;padding:.76rem;display:flex}.achievement-icon{color:#f9a8d4;background:#a855f72e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:inline-flex}.experience-tech{flex-wrap:wrap;gap:.48rem;display:flex}.experience-tech span{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:.38rem .62rem;font-size:.74rem}@media (width<=980px){.experience-track{left:20px;transform:none}.experience-node,.experience-node.left,.experience-node.right{align-self:flex-end;width:calc(100% - 2.8rem)}.experience-node.left .experience-pin,.experience-node.right .experience-pin{left:-30px;right:auto}}@media (width<=640px){.experience-page{padding-bottom:3rem}.experience-timeline{gap:.95rem}.experience-card-shell{padding:1rem}.experience-top{flex-direction:column;gap:.75rem}.experience-top h2{font-size:1.05rem}.experience-description{font-size:.88rem}.experience-track{left:14px}.experience-node,.experience-node.left,.experience-node.right{width:calc(100% - 2rem)}.experience-node.left .experience-pin,.experience-node.right .experience-pin{width:14px;height:14px;left:-20px}}.experience-card-shell:hover{transform:translateY(-4px)}.portfolio-chat{z-index:1200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.85rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.portfolio-chat *{letter-spacing:0}.portfolio-chat-window,.portfolio-chat-toggle{pointer-events:auto}.portfolio-chat-window{border:1px solid color-mix(in srgb, var(--border-strong) 82%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-soft) 92%, transparent), color-mix(in srgb, var(--bg) 96%, transparent)), var(--bg-soft);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:1.25rem;grid-template-rows:auto minmax(240px,1fr) auto auto auto;width:min(340px,100vw - 2rem);max-height:min(590px,100vh - 5.5rem);display:grid;overflow:hidden;box-shadow:0 28px 90px #00000075}.portfolio-chat-hero{color:#fff;background:linear-gradient(135deg,#0ea5e9d1,#a855f7db 54%,#ec4899d1),#4c1d95;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.82rem;display:grid;position:relative}.portfolio-chat-avatar{background:linear-gradient(#ffffff47,#ffffff1f);border:1px solid #ffffff47;border-radius:.9rem;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative;box-shadow:inset 0 1px #fff3}.portfolio-chat-heading{min-width:0}.portfolio-chat-heading span,.portfolio-chat-heading strong,.portfolio-chat-heading p{display:block}.portfolio-chat-heading span{text-transform:uppercase;opacity:.78;margin-bottom:.22rem;font-size:.66rem;font-weight:900}.portfolio-chat-heading strong{font-size:.98rem;line-height:1.2}.portfolio-chat-heading p{color:#ffffffd6;margin-top:.22rem;font-size:.8rem}.portfolio-chat-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:.9rem;width:34px;height:34px;font-weight:950}.portfolio-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 45%, transparent) transparent;flex-direction:column;gap:.8rem;padding:.8rem;display:flex;overflow-y:auto}.portfolio-chat-message{border:1px solid var(--border);white-space:pre-line;width:fit-content;max-width:95%;padding:.72rem .82rem;line-height:1.58;position:relative;box-shadow:0 14px 34px #00000024}.portfolio-chat-message p{color:inherit;font-size:.88rem}.portfolio-chat-provider{color:#7dd3fc;text-transform:uppercase;background:#0ea5e91a;border:1px solid #7dd3fc29;border-radius:999px;margin-bottom:.45rem;padding:.18rem .46rem;font-size:.66rem;font-weight:900;display:inline-flex}.portfolio-chat-message.bot{color:var(--text);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 86%, transparent), color-mix(in srgb, var(--surface) 90%, transparent)), var(--surface);border-radius:1rem 1rem 1rem .35rem;align-self:flex-start}.portfolio-chat-message.user{color:#fff;background:linear-gradient(135deg, #2563eb, var(--accent));border-color:#ffffff2e;border-radius:1rem 1rem .35rem;align-self:flex-end}.portfolio-chat-message.typing{color:var(--muted);align-items:center;gap:.65rem;display:inline-flex}.portfolio-chat-dots{align-items:center;gap:.22rem;display:inline-flex}.portfolio-chat-dots i{opacity:.55;background:currentColor;border-radius:50%;width:.38rem;height:.38rem;animation:1s ease-in-out infinite portfolio-chat-pulse}.portfolio-chat-dots i:nth-child(2){animation-delay:.12s}.portfolio-chat-dots i:nth-child(3){animation-delay:.24s}.portfolio-chat-actions{flex-wrap:wrap;gap:.5rem;margin-top:.78rem;display:flex}.portfolio-chat-action,.portfolio-chat-prompts button{border:1px solid var(--border);min-height:31px;color:var(--text);background:color-mix(in srgb, var(--surface-2) 82%, transparent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.42rem .68rem;font-size:.78rem;font-weight:850;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.portfolio-chat-action:hover,.portfolio-chat-prompts button:hover{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));background:color-mix(in srgb, var(--surface-2) 100%, var(--accent) 8%);transform:translateY(-1px)}.portfolio-chat-prompts{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:.68rem .8rem 0;display:flex;overflow:visible}.portfolio-chat-prompts button{white-space:nowrap;flex:calc(50% - .5rem);min-width:0}.portfolio-chat-form{grid-template-columns:1fr auto;gap:.6rem;padding:.72rem .8rem .55rem;display:grid}.portfolio-chat-form input{border:1px solid var(--border);min-width:0;min-height:42px;color:var(--text);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:999px;outline:none;padding:0 1rem;box-shadow:inset 0 1px #ffffff08}.portfolio-chat-form input:focus{border-color:color-mix(in srgb, var(--accent) 70%, var(--border));box-shadow:0 0 0 4px #a855f71f}.portfolio-chat-form button,.portfolio-chat-toggle{color:#fff;background:linear-gradient(135deg, #0ea5e9, var(--accent) 54%, var(--accent-2));cursor:pointer;border:0;font-weight:950}.portfolio-chat-form button{border-radius:999px;min-height:42px;padding:0 .85rem;box-shadow:0 12px 28px #a855f740}.portfolio-chat-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:center;margin:0 0 .7rem;font-size:.78rem;font-weight:800}.portfolio-chat-toggle{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 18px 44px #0ea5e933,0 22px 56px #a855f742}.portfolio-chat-toggle:before{content:"";pointer-events:none;border:1px solid #ffffff47;border-radius:50%;position:absolute;inset:1px}.portfolio-chat-robot-svg{z-index:1;filter:drop-shadow(0 8px 14px #0000002e);width:43px;height:43px;position:relative;overflow:visible}.portfolio-chat-robot-svg.compact{width:38px;height:38px}.robot-glow{fill:#0ea5e924}.robot-antenna,.robot-ear,.robot-smile,.robot-body-line{fill:none;stroke:#ffffffd1;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.robot-head-shell{fill:url(#robot-shell);stroke:#ffffffeb;stroke-width:2px}.robot-visor{fill:url(#robot-visor);stroke:#7dd3fc57;stroke-width:1.4px}.robot-eye{fill:#7dd3fc;filter:drop-shadow(0 0 4px #7dd3fcf2)}.robot-light{fill:#7dd3fc;stroke:#ffffffe6;stroke-width:1.4px;filter:drop-shadow(0 0 6px #7dd3fcf2)}.robot-smile,.robot-body-line{stroke:url(#robot-accent);stroke-width:2.4px}.robot-body-shell{fill:#ffffffc2;stroke:#fffc;stroke-width:1.5px}html[data-theme=light] .portfolio-chat-window{background:linear-gradient(180deg, #fffffffa, #f8fafcfa), var(--bg-soft);box-shadow:0 28px 80px #0f172a2e}html[data-theme=light] .portfolio-chat-message.bot,html[data-theme=light] .portfolio-chat-form input{background:#ffffffdb}@keyframes portfolio-chat-pulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@media (width<=640px){.portfolio-chat{bottom:.75rem;right:.75rem}.portfolio-chat.open{left:.75rem}.portfolio-chat-window{border-radius:1rem;grid-template-rows:auto minmax(230px,1fr) auto auto auto;width:100%;max-height:calc(100vh - 5.2rem)}.portfolio-chat-hero{padding:.85rem}.portfolio-chat-avatar{border-radius:.9rem;width:46px;height:46px}.portfolio-chat-message{max-width:96%}.portfolio-chat-form{grid-template-columns:1fr}.portfolio-chat-toggle{width:54px;height:54px}}
