@charset "UTF-8";.about-v2{padding:var(--spacing-3xl) 0;background:var(--color-bg-primary);position:relative;overflow:hidden}[data-theme=dark] .about-v2{background:var(--color-bg-primary)}.about-v2__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);position:relative;z-index:2}.about-v2__bg-gradient{position:absolute;top:-20%;left:-10%;width:60%;height:80%;background:radial-gradient(circle,var(--color-primary-100) 0%,transparent 60%);filter:blur(80px);opacity:.6;z-index:0;pointer-events:none}[data-theme=dark] .about-v2__bg-gradient{background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 60%);opacity:.4}.about-v2__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-3xl);align-items:center}@media(min-width:1024px){.about-v2__grid{grid-template-columns:1fr 1fr;gap:4rem}}.about-v2__content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.about-v2__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-full);margin-bottom:var(--spacing-sm)}[data-theme=dark] .about-v2__label{background:#22c55e33;color:var(--color-primary-400)}.about-v2__headline{font-family:var(--font-family-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);line-height:1.1;color:var(--color-text-primary);margin:0}.about-v2__headline .text-gradient{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-v2__text{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.7;max-width:540px}.about-v2__badges{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-xs) 0 var(--spacing-md)}.about-v2 .badge-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);box-shadow:var(--shadow-sm);cursor:default}[data-theme=dark] .about-v2 .badge-pill{background:#ffffff0d;border-color:#ffffff1a}.about-v2 .badge-pill__icon{display:flex;align-items:center;justify-content:center;width:8px;height:8px;border-radius:50%;background:var(--color-success)}.about-v2 .code-block{background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:1.5rem;font-family:var(--font-family-mono);font-size:.9rem;box-shadow:var(--shadow-lg);margin-top:0;position:relative;overflow:hidden}[data-theme=dark] .about-v2 .code-block{background:#1e1e2e;border-color:#ffffff1a}.about-v2 .code-block__header{display:flex;gap:6px;margin-bottom:1rem}.about-v2 .code-block__dot{width:10px;height:10px;border-radius:50%}.about-v2 .code-block__dot--red{background:#ff5f56}.about-v2 .code-block__dot--yellow{background:#ffbd2e}.about-v2 .code-block__dot--green{background:#27c93f}.about-v2 .code-block__content{display:flex;flex-direction:column;gap:4px}.about-v2 .code-block .code-line{color:#64748b}.about-v2 .code-block .code-line.indent{padding-left:1.5rem}.about-v2 .code-block .code-purple{color:#a855f7}.about-v2 .code-block .code-blue{color:#3b82f6}.about-v2 .code-block .code-attr{color:#0f172a}[data-theme=dark] .about-v2 .code-block .code-attr{color:#e2e8f0}.about-v2 .code-block .code-string{color:#10b981}.about-v2 .code-block .code-cursor{color:var(--color-primary-500);font-weight:var(--font-weight-bold);animation:blink-cursor .8s step-end infinite;margin-left:1px}.about-v2 .code-block .code-cursor--idle{animation:blink-cursor 1.2s step-end infinite}.about-v2__skills-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:640px){.about-v2__skills-grid{grid-template-columns:1fr 1fr}}.about-v2 .skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:all var(--transition-base)}[data-theme=dark] .about-v2 .skill-card{background:#1e293b80;border-color:#ffffff0d}.about-v2 .skill-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-200)}[data-theme=dark] .about-v2 .skill-card:hover{border-color:var(--color-primary-800)}.about-v2 .skill-card__header{margin-bottom:.5rem}.about-v2 .skill-card__icon{display:inline-flex;align-items:center;justify-content:center;padding:10px;margin-bottom:1rem;border-radius:var(--border-radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary)}.about-v2 .skill-card__icon svg{width:24px;height:24px}.about-v2 .skill-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.about-v2 .skill-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0;flex-grow:1}.about-v2 .skill-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.about-v2 .skill-card__tag{font-size:.75rem;padding:4px 10px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);border:1px solid transparent}[data-theme=dark] .about-v2 .skill-card__tag{background:#ffffff0d}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.labs-v3{padding:var(--spacing-3xl) 0;min-height:100vh;background-color:var(--color-bg-secondary);font-family:Inter,sans-serif}.labs-v3__header-container,.labs-v3__container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.labs-v3__header{text-align:center;margin:0 auto var(--spacing-3xl);max-width:800px}.labs-v3__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-full);margin-bottom:var(--spacing-sm)}[data-theme=dark] .labs-v3__label{background:#22c55e33;color:var(--color-primary-400)}.labs-v3__headline{font-family:var(--font-family-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);line-height:1.1;color:var(--color-text-primary);margin:0}.labs-v3__headline .text-gradient{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.labs-v3__dashboard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-columns:1fr;transition:background-color .3s ease,border-color .3s ease}@media(min-width:1024px){.labs-v3__dashboard{grid-template-columns:280px 1fr}}[data-theme=dark] .labs-v3__dashboard{box-shadow:none}.labs-v3__sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.labs-v3__sidebar nav{display:flex;flex-direction:column;gap:.5rem}.labs-v3__sidebar nav .nav-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:none;border-radius:.5rem;background:transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.labs-v3__sidebar nav .nav-item:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.labs-v3__sidebar nav .nav-item.active{background-color:var(--color-primary-500);color:#fff;box-shadow:0 4px 6px -1px rgba(var(--primary-rgb),.2)}.labs-v3__sidebar nav .nav-item.active span{color:#fff}.labs-v3__sidebar nav .nav-item-content{display:flex;align-items:center;gap:.75rem}.labs-v3__sidebar .expertise-widget{margin-top:3rem;padding:1rem;background:rgba(var(--primary-rgb),.05);border:1px solid rgba(var(--primary-rgb),.1);border-radius:.75rem}.labs-v3__sidebar .expertise-widget .label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-500);font-weight:700;margin-bottom:.5rem}.labs-v3__sidebar .expertise-widget .stats{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.75rem}.labs-v3__sidebar .expertise-widget .stats .number{font-size:1.875rem;font-weight:700;color:var(--color-text-primary);line-height:1}.labs-v3__sidebar .expertise-widget .stats .unit{font-size:.875rem;color:var(--color-text-secondary)}.labs-v3__sidebar .expertise-widget .progress-bar{width:100%;height:.375rem;background-color:var(--color-border);border-radius:9999px;overflow:hidden}.labs-v3__sidebar .expertise-widget .progress-bar .progress{height:100%;background-color:var(--color-primary-500);border-radius:9999px}.labs-v3__content{padding:2.5rem;height:800px;overflow-y:auto;position:relative;background-color:var(--color-bg-primary)}.labs-v3__content::-webkit-scrollbar{width:4px}.labs-v3__content::-webkit-scrollbar-track{background:transparent}.labs-v3__content::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.2);border-radius:2px}.labs-v3__content::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.4)}.labs-v3__content .content-header{margin-bottom:2.5rem}.labs-v3__content .content-header .breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-tertiary);margin-bottom:.25rem}.labs-v3__content .content-header .breadcrumbs .active{color:var(--color-primary-500);font-weight:600}.labs-v3__content .content-header h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.labs-v3__content .tech-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.labs-v3__content .tech-grid{grid-template-columns:repeat(2,1fr)}}.labs-v3__content .tech-card{background:var(--color-surface);border:1px solid var(--color-border);padding:1rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease;cursor:pointer}.labs-v3__content .tech-card:hover{border-color:rgba(var(--primary-rgb),.4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.labs-v3__content .tech-card:hover h4{color:var(--color-primary-500)}.labs-v3__content .tech-card .icon-box{width:2.5rem;height:2.5rem;border-radius:.5rem;background:var(--color-bg-tertiary);display:flex;flex-shrink:0;align-items:center;justify-content:center;border:1px solid var(--color-border)}.labs-v3__content .tech-card .icon-box svg{color:var(--color-text-primary)}.labs-v3__content .tech-card h4{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:0;transition:color .2s ease}.ai-twin-wrapper{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:9999;font-family:Outfit,Inter,sans-serif;display:flex;flex-direction:column;align-items:center;width:92%;max-width:900px;pointer-events:none}.ai-twin-stage{position:absolute;bottom:80px;width:100%;max-height:78vh;background:#ffffffd9;border:1px solid rgba(0,0,0,.08);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);color:#111827;box-shadow:0 20px 50px -10px #00000026}[data-theme=dark] .ai-twin-stage{background:#0c111ceb;border:1px solid rgba(255,255,255,.08);color:#fff;box-shadow:0 40px 100px #000000b3,0 0 0 1px #ffffff0a inset,0 0 80px #0072ff0d}.ai-twin-stage{display:flex;flex-direction:column;overflow:hidden;pointer-events:all}.ai-twin-stage .stage-header{padding:16px 24px;background:#00000005;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}[data-theme=dark] .ai-twin-stage .stage-header{background:#ffffff05;border-color:#ffffff0f}.ai-twin-stage .stage-header .header-left{display:flex;align-items:center;gap:12px}.ai-twin-stage .stage-header .header-left .ai-icon-wrapper{width:32px;height:32px;background:linear-gradient(135deg,#00c6ff,#0072ff);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0072ff4d}.ai-twin-stage .stage-header .header-left .ai-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);letter-spacing:.3px;transition:color .3s ease}.ai-twin-stage .stage-header .close-button{background:#0000000d;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s;display:flex}[data-theme=dark] .ai-twin-stage .stage-header .close-button{background:#ffffff0d;color:#ffffff80}.ai-twin-stage .stage-header .close-button:hover{background:#0000001a;color:var(--color-text-primary)}[data-theme=dark] .ai-twin-stage .stage-header .close-button:hover{background:#ffffff1f;color:#fff}.ai-twin-stage .stage-content{flex:1;overflow-y:auto;padding:28px;scroll-behavior:smooth}.ai-twin-stage .stage-content::-webkit-scrollbar{width:5px}.ai-twin-stage .stage-content::-webkit-scrollbar-track{background:transparent}.ai-twin-stage .stage-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.stage-view h3{margin:0 0 6px;font-size:1.6rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.stage-view .view-all-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#0000000a;border:1px dashed var(--color-border);border-radius:12px;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s}[data-theme=dark] .stage-view .view-all-btn{background:#ffffff0a;border-color:#ffffff1f;color:#fff9}.stage-view .view-all-btn:hover{background:#00000014;color:var(--color-text-primary);border-color:var(--color-border-hover)}[data-theme=dark] .stage-view .view-all-btn:hover{background:#ffffff14;color:#fff;border-color:#ffffff40}.stage-view .view-all-btn .rotate-45{transform:rotate(45deg)}.about-view .about-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.about-view .about-header .about-avatar{width:56px;height:56px;background:linear-gradient(135deg,#00c6ff,#0072ff);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 20px #0072ff40;flex-shrink:0}.about-view .about-header h3{margin:0;font-size:1.4rem}.about-view .about-header .about-title{color:#0284c7;font-size:.95rem;font-weight:500;margin:2px 0}[data-theme=dark] .about-view .about-header .about-title{color:#38bdf8}.about-view .about-header .about-meta{color:#ffffff73;font-size:.85rem;display:flex;align-items:center;gap:4px}.about-view .about-bio{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.7;margin:0 0 20px}.about-view .about-highlights{display:flex;flex-wrap:wrap;gap:8px}.about-view .about-highlights .highlight-tag{background:#0284c71a;border:1px solid rgba(2,132,199,.15);color:#0284c7;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500}[data-theme=dark] .about-view .about-highlights .highlight-tag{background:#38bdf81a;border-color:#38bdf826;color:#38bdf8}.contact-view .contact-subtitle{color:#fff9;font-size:1.05rem;margin:0 0 24px;line-height:1.6}.contact-view .contact-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.contact-view .contact-action-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#00000008;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text-primary);text-decoration:none;transition:all .25s cubic-bezier(.25,.46,.45,.94)}[data-theme=dark] .contact-view .contact-action-card{background:#ffffff08;border-color:#ffffff0f;color:#fff}.contact-view .contact-action-card:hover{background:#0000000f;border-color:var(--color-border-hover);transform:translate(4px)}[data-theme=dark] .contact-view .contact-action-card:hover{background:#ffffff12;border-color:#ffffff1f}.contact-view .contact-action-card.primary{background:#0072ff14;border-color:#0072ff26}.contact-view .contact-action-card.primary:hover{background:#0072ff1f}.contact-view .contact-action-card .label{display:block;font-size:.75rem;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.contact-view .contact-action-card .value{display:block;font-size:1rem;font-weight:500}.contact-view .contact-action-card .arrow-icon{margin-left:auto;opacity:.4;transition:opacity .2s}.contact-view .contact-action-card:hover .arrow-icon{opacity:.8}.contact-view .cta-button{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,#00c6ff,#0072ff);border:none;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;box-shadow:0 8px 24px #0072ff40}.contact-view .cta-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0072ff59}.contact-view .cta-button .rotate-45{transform:rotate(45deg)}.projects-view .projects-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0 0 20px}.projects-view .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px}.projects-view .project-stage-card{display:flex;align-items:center;gap:12px;padding:12px;background:#00000008;border:1px solid var(--color-border);border-radius:14px;text-decoration:none;color:var(--color-text-primary);transition:all .25s cubic-bezier(.25,.46,.45,.94);position:relative}[data-theme=dark] .projects-view .project-stage-card{background:#ffffff08;border-color:#ffffff0f;color:#fff}.projects-view .project-stage-card:hover{background:#0000000f;border-color:var(--color-border-hover);transform:translateY(-3px);box-shadow:0 10px 25px #0000001a}[data-theme=dark] .projects-view .project-stage-card:hover{background:#ffffff12;border-color:#ffffff26;box-shadow:0 10px 25px #0000004d}.projects-view .project-stage-card .project-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#0000000d;position:relative}[data-theme=dark] .projects-view .project-stage-card .project-thumb{background:#ffffff0d}.projects-view .project-stage-card .project-thumb img{width:100%;height:100%;object-fit:cover}.projects-view .project-stage-card .project-thumb .project-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.projects-view .project-stage-card .project-meta{flex:1;min-width:0}.projects-view .project-stage-card .project-meta h4{margin:0;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-view .project-stage-card .project-meta .project-tech{display:flex;gap:6px;margin-top:4px}.projects-view .project-stage-card .project-meta .project-tech span{font-size:.7rem;color:var(--color-text-tertiary);background:#0000000a;padding:2px 8px;border-radius:6px}[data-theme=dark] .projects-view .project-stage-card .project-meta .project-tech span{color:#fff6;background:#ffffff0a}.projects-view .project-stage-card .project-link-icon{color:#ffffff40;flex-shrink:0;transition:color .2s}.projects-view .project-stage-card:hover .project-link-icon{color:#fff9}.skills-view .skills-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0 0 24px}.skills-view .skill-category{margin-bottom:32px;padding:24px;background:#00000005;border:1px solid var(--color-border);border-radius:16px}[data-theme=dark] .skills-view .skill-category{background:#ffffff05;border-color:#ffffff0f}.skills-view .skill-category:last-child{margin-bottom:0}.skills-view .skill-category .category-label{display:block;text-transform:uppercase;font-size:.9rem;font-weight:700;letter-spacing:.5px;color:var(--color-text-primary);margin-bottom:16px;padding-bottom:0;border-bottom:none;width:100%;opacity:.9}[data-theme=dark] .skills-view .skill-category .category-label{color:#fff;opacity:.9}.skills-view .skill-category .skill-pills{display:flex;flex-wrap:wrap;gap:8px}.skills-view .skill-category .skill-pill{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#00000008;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-primary);transition:all .2s}[data-theme=dark] .skills-view .skill-category .skill-pill{background:#ffffff08;border-color:#ffffff0f;color:#fffc}.skills-view .skill-category .skill-pill span{font-size:.9rem;font-weight:500}.skills-view .skill-category .skill-pill svg{width:24px;height:24px;opacity:.7}.skills-view .skill-category .skill-pill:hover{background:#00000014;border-color:var(--color-border-hover);color:var(--color-text-primary);transform:translateY(-2px)}[data-theme=dark] .skills-view .skill-category .skill-pill:hover{background:#ffffff14;border-color:#ffffff26;color:#fff}.skills-view .skill-category .skill-pill:hover svg{opacity:1}.experience-view .experience-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0 0 24px}.experience-view .experience-timeline{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;padding-left:8px}.experience-view .experience-item{display:flex;gap:20px;position:relative}.experience-view .experience-item:before{content:"";position:absolute;left:0;top:24px;bottom:-24px;width:2px;background:#0000001a}[data-theme=dark] .experience-view .experience-item:before{background:#ffffff0d}.experience-view .experience-item:last-child:before{display:none}.experience-view .experience-item .exp-period{font-size:.85rem;color:var(--color-text-tertiary);white-space:nowrap;padding-top:4px;min-width:90px;text-align:right}[data-theme=dark] .experience-view .experience-item .exp-period{color:#fff6}.experience-view .experience-item .exp-content{flex:1;background:#00000008;border:1px solid var(--color-border);border-radius:12px;padding:16px;transition:all .2s}[data-theme=dark] .experience-view .experience-item .exp-content{background:#ffffff08;border-color:#ffffff0f}.experience-view .experience-item .exp-content:hover{background:#0000000f;border-color:var(--color-border-hover)}[data-theme=dark] .experience-view .experience-item .exp-content:hover{background:#ffffff0f;border-color:#ffffff1f}.experience-view .experience-item .exp-content h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--color-text-primary)}[data-theme=dark] .experience-view .experience-item .exp-content h4{color:#fff}.experience-view .experience-item .exp-content .exp-company{font-size:.9rem;color:#0284c7;margin-bottom:8px;font-weight:500}[data-theme=dark] .experience-view .experience-item .exp-content .exp-company{color:#38bdf8}.experience-view .experience-item .exp-content .exp-company .company-link{display:inline-flex;align-items:center;gap:.25rem;color:inherit;text-decoration:none;transition:all .2s ease}.experience-view .experience-item .exp-content .exp-company .company-link:hover{opacity:.8;text-decoration:underline}.experience-view .experience-item .exp-content .exp-desc{font-size:.95rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 12px}[data-theme=dark] .experience-view .experience-item .exp-content .exp-desc{color:#ffffffb3}.experience-view .experience-item .exp-content .exp-tech{display:flex;flex-wrap:wrap;gap:6px}.experience-view .experience-item .exp-content .exp-tech span{font-size:.75rem;color:var(--color-text-tertiary);background:#0000000d;padding:3px 10px;border-radius:10px}[data-theme=dark] .experience-view .experience-item .exp-content .exp-tech span{color:#ffffff80;background:#ffffff0d}.chat-view{display:flex;flex-direction:column;gap:16px}.chat-view .chat-message{display:flex;gap:12px}.chat-view .chat-message.user-msg{flex-direction:row-reverse}.chat-view .chat-message.user-msg .msg-content{background:#0072ff;color:#fff;border-radius:18px 18px 4px}.chat-view .chat-message.user-msg .msg-avatar{background:#0000001f}[data-theme=dark] .chat-view .chat-message.user-msg .msg-avatar{background:#ffffff1f}.chat-view .chat-message.ai-msg .msg-content{background:#0000000d;color:var(--color-text-primary);border-radius:18px 18px 18px 4px}[data-theme=dark] .chat-view .chat-message.ai-msg .msg-content{background:#ffffff0d;color:#ffffffe6}.chat-view .chat-message.ai-msg .msg-avatar{background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff}.chat-view .chat-message .msg-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-view .chat-message .msg-content{padding:12px 16px;font-size:.95rem;line-height:1.6;max-width:80%}.chat-view .chat-message.loading .msg-content{display:flex;align-items:center;gap:4px}.chat-view.system-msg .msg-avatar.system{background:#f59e0b26;color:#f59e0b;box-shadow:0 0 10px #f59e0b33;border:1px solid rgba(245,158,11,.2)}.chat-view.system-msg .msg-content{background:#f59e0b14;border:1px solid rgba(245,158,11,.15);color:#d97706}[data-theme=dark] .chat-view.system-msg .msg-content{background:#f59e0b1a;border-color:#f59e0b33;color:#fbbf24}.chat-view .chat-error{color:#f87171;font-size:.85rem;padding:8px 12px;background:#f871711a;border-radius:8px}.ai-command-bar{background:#ffffffd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--color-border);border-radius:20px;padding:6px 8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000a inset;pointer-events:all;transition:all .5s cubic-bezier(.19,1,.22,1);width:360px;max-width:90%;margin-bottom:0}.ai-command-bar.focused{width:100%;max-width:800px;box-shadow:0 25px 70px #00000040}[data-theme=dark] .ai-command-bar{background:#0c0c12eb;border-color:#ffffff1a;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0a inset}.ai-command-bar:focus-within{border-color:#eee;box-shadow:0 25px 70px #0003,0 0 0 2px rgba(var(--primary-rgb),.15) inset;background:#fffffff5}[data-theme=dark] .ai-command-bar:focus-within{border-color:#fff3;box-shadow:0 25px 70px #0009,0 0 0 2px #0072ff26 inset;background:#12141ef5}.ai-command-bar .quick-actions-container{overflow:hidden}.ai-command-bar .quick-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:8px 4px 12px}.ai-command-bar .quick-actions .action-btn{background:#0000000d;border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:8px 14px;border-radius:12px;display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;font-family:inherit;transition:all .2s ease}[data-theme=dark] .ai-command-bar .quick-actions .action-btn{background:#ffffff0d;border-color:#ffffff0d;color:#ffffffb3}.ai-command-bar .quick-actions .action-btn span{display:block}.ai-command-bar .quick-actions .action-btn:hover,.ai-command-bar .quick-actions .action-btn.active{background:#00000014;color:var(--color-text-primary);transform:translateY(-2px);border-color:var(--color-border-hover)}[data-theme=dark] .ai-command-bar .quick-actions .action-btn:hover,[data-theme=dark] .ai-command-bar .quick-actions .action-btn.active{background:#ffffff1f;color:#fff;border-color:#ffffff26}.ai-command-bar .quick-actions .action-btn.active{background:#0072ff33;color:#38bdf8;border-color:#0072ff4d}.ai-command-bar .bar-input-form{flex:1;display:flex;align-items:center;position:relative;background:#ffffff05;border-radius:14px}.ai-command-bar .bar-input-form .bar-input{width:100%;background:transparent;border:none;color:var(--color-text-primary);font-family:inherit;font-size:1rem;padding:12px 48px 12px 14px}[data-theme=dark] .ai-command-bar .bar-input-form .bar-input{color:#fff}.ai-command-bar .bar-input-form .bar-input:focus{outline:none}.ai-command-bar .bar-input-form .bar-input::placeholder{color:var(--color-text-tertiary)}.ai-command-bar .bar-input-form .bar-input:focus::placeholder{color:var(--color-text-secondary)}.ai-command-bar .bar-input-form .bar-input:disabled{opacity:.5}.ai-command-bar .bar-input-form .send-btn{position:absolute;right:6px;width:36px;height:36px;background:linear-gradient(135deg,#00c6ff,#0072ff);border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 12px #0072ff4d}.ai-command-bar .bar-input-form .send-btn:hover:not(:disabled){transform:translateY(-1px) scale(1.05);box-shadow:0 6px 16px #0072ff66;background:linear-gradient(135deg,#298dff,#0072ff)}.ai-command-bar .bar-input-form .send-btn:active:not(:disabled){transform:translateY(0) scale(.95)}.ai-command-bar .bar-input-form .send-btn .loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.typing-dot{width:6px;height:6px;background:#ffffff80;border-radius:50%;display:inline-block;animation:bounce 1s infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rotate-45{transform:rotate(45deg)}@media(max-width:640px){.ai-twin-wrapper{bottom:16px;width:96%}.ai-twin-stage{bottom:70px;border-radius:20px}.ai-twin-stage .stage-content{padding:20px}.projects-view .projects-grid{grid-template-columns:1fr}.ai-command-bar{padding:5px}.ai-command-bar .quick-actions .action-btn{padding:8px;font-size:.8rem}}.ai-twin-wrapper.full-screen-mode{position:fixed;width:100%;height:100%;transform:none;inset:0;background:#ffffffa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:10000;pointer-events:all;border-right:1px solid #eee}[data-theme=dark] .ai-twin-wrapper.full-screen-mode{background:#000000a6}.ai-twin-wrapper.full-screen-mode{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0}.ai-twin-wrapper.full-screen-mode .ai-twin-stage{position:relative;bottom:auto;width:100%;max-width:1200px;height:100%;max-height:none;background:transparent;border:none;box-shadow:none;margin-bottom:0;display:flex;flex-direction:column;overflow:visible;padding-top:60px}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .ai-twin-stage{background:transparent;border:none;box-shadow:none}.ai-twin-wrapper.full-screen-mode .ai-twin-stage{display:flex;flex-direction:column;overflow:visible}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header{background:transparent;border-bottom:none;padding:0;margin-top:-50px;margin-bottom:20px;justify-content:center;display:flex;position:relative}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .header-left{flex-direction:column;gap:12px}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .header-left .ai-icon-wrapper{width:80px;height:80px;border-radius:24px;font-size:2rem;box-shadow:0 20px 60px #0072ff66}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .header-left .ai-icon-wrapper svg{width:40px;height:40px}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .header-left .ai-name{display:none}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .close-button{position:fixed;top:24px;right:24px;background:#0000000d;width:48px;height:48px;border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s;cursor:pointer;z-index:10001}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .close-button{background:#ffffff1a;border-color:transparent;color:#fff}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .close-button:hover{background:#0000001a;color:var(--color-text-primary);transform:scale(1.1)}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-header .close-button:hover{background:#fff3;color:#fff}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-content{overflow-y:auto;flex:1;max-height:none;border-radius:0;padding-top:10px;scrollbar-width:none;-ms-overflow-style:none}.ai-twin-wrapper.full-screen-mode .ai-twin-stage .stage-content::-webkit-scrollbar{display:none}.ai-twin-wrapper.full-screen-mode .close-button-fixed{position:fixed;top:24px;right:24px;width:48px;height:48px;border-radius:50%;background:#0000000d;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s;cursor:pointer;z-index:10002;outline:none}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .close-button-fixed{background:#ffffff1a;border-color:transparent;color:#fff}.ai-twin-wrapper.full-screen-mode .close-button-fixed:hover{background:#0000001a;color:var(--color-text-primary);transform:scale(1.1)}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .close-button-fixed:hover{background:#fff3;color:#fff}.ai-twin-wrapper.full-screen-mode .ai-command-bar{position:relative;width:360px;max-width:90%;margin:20px 0 30px;box-shadow:0 20px 60px #00000026;transition:all .5s cubic-bezier(.19,1,.22,1)}.ai-twin-wrapper.full-screen-mode .ai-command-bar.focused{width:100%;max-width:800px;box-shadow:0 25px 70px #00000040}[data-theme=dark] .ai-twin-wrapper.full-screen-mode .ai-command-bar.focused{box-shadow:0 30px 80px #0009}:root{--color-primary-50: #f0fdf4;--color-primary-100: #dcfce7;--color-primary-200: #bbf7d0;--color-primary-300: #86efac;--color-primary-400: #4ade80;--color-primary-500: #22c55e;--color-primary-600: #16a34a;--color-primary-700: #15803d;--color-primary-800: #166534;--color-primary-900: #14532d;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-overlay: rgba(0, 0, 0, .5);--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: "Outfit", var(--font-family-primary);--font-family-mono: "Fira Code", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.5rem;--border-radius-full: 9999px;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--color-primary-50: #14532d;--color-primary-100: #166534;--color-primary-200: #15803d;--color-primary-300: #16a34a;--color-primary-400: #22c55e;--color-primary-500: #4ade80;--color-primary-600: #86efac;--color-primary-700: #bbf7d0;--color-primary-800: #dcfce7;--color-primary-900: #f0fdf4;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-border: #334155;--color-border-hover: #475569;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-overlay: rgba(0, 0, 0, .75);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}html{scroll-behavior:smooth;overflow-y:auto;scroll-padding-top:80px}main>section{min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center}.header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header__container{max-width:1200px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.header__logo h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-500);margin:0}.header__nav{display:flex;gap:var(--spacing-lg)}@media(max-width:768px){.header__nav{display:none}}.header__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--transition-base)}.header__link:hover{color:var(--color-primary-500)}.header__actions{display:flex;align-items:center;gap:var(--spacing-md)}.theme-toggle{background:none;border:none;cursor:pointer;padding:var(--spacing-sm)}.theme-toggle__track{position:relative;width:52px;height:28px;border-radius:var(--border-radius-full);display:flex;align-items:center;padding:2px}.theme-toggle__thumb{width:24px;height:24px;background:var(--color-bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.theme-toggle__icon{width:14px;height:14px;color:var(--color-primary-500)}.project-modal-container{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.project-modal{position:relative;width:90%;max-width:900px;max-height:90vh;background:var(--color-bg-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-2xl);z-index:2;overflow:hidden;display:flex;flex-direction:column}.project-modal__backdrop{position:fixed;inset:0;background:var(--color-overlay);z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-modal__header{position:relative;padding:var(--spacing-2xl);border-bottom:var(--border-width) solid var(--color-border)}.project-modal__header-content{max-width:85%}.project-modal__category{display:inline-block;background:var(--color-primary-500);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.project-modal__title{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm);line-height:var(--line-height-tight)}.project-modal__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg);line-height:var(--line-height-relaxed)}.project-modal__close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-bg-tertiary);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-base)}.project-modal__close:hover{background:var(--color-border);color:var(--color-text-primary)}.project-modal__actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.project-modal__action{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base);background:var(--color-bg-tertiary);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border)}.project-modal__action:hover{background:var(--color-bg-secondary);border-color:var(--color-primary-500)}.project-modal__action--primary{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.project-modal__action--primary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.project-modal__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg)}.project-modal__stat{text-align:center}.project-modal__stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary-500);margin-bottom:var(--spacing-xs)}.project-modal__stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.project-modal__tabs{display:flex;gap:var(--spacing-sm);padding:0 var(--spacing-2xl);border-bottom:var(--border-width) solid var(--color-border);overflow-x:auto}.project-modal__tabs::-webkit-scrollbar{height:4px}.project-modal__tabs::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius-full)}.project-modal__tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.project-modal__tab:hover{color:var(--color-text-primary)}.project-modal__tab--active{color:var(--color-primary-500);border-bottom-color:var(--color-primary-500)}.project-modal__tab-icon{font-size:var(--font-size-lg)}.project-modal__content{flex:1;overflow-y:auto;padding:var(--spacing-2xl)}.project-modal__overview h3,.project-modal__features h3,.project-modal__tech-stack h3,.project-modal__technical h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg)}.project-modal__overview p,.project-modal__features p,.project-modal__tech-stack p,.project-modal__technical p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.project-modal__problem{background:#ef44441a;border-left:4px solid #ef4444;padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin:var(--spacing-xl) 0}.project-modal__problem h4{color:#ef4444;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm)}.project-modal__problem p{margin:0}.project-modal__solution{background:#22c55e1a;border-left:4px solid var(--color-primary-500);padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin:var(--spacing-xl) 0}.project-modal__solution h4{color:var(--color-primary-500);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm)}.project-modal__solution p{margin:0}.project-modal__feature-list{list-style:none;padding:0;margin:0}.project-modal__feature-list li{padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.project-modal__feature-list li:before{content:"✓";color:var(--color-primary-500);font-weight:var(--font-weight-bold);margin-right:var(--spacing-sm)}.project-modal__tech-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.project-modal__tech-badge{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.project-modal__technical-content{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}@media(max-width:768px){.project-modal{width:95%;max-height:95vh}.project-modal__header{padding:var(--spacing-lg)}.project-modal__title{font-size:var(--font-size-2xl)}.project-modal__actions{flex-direction:column}.project-modal__tabs{padding:0 var(--spacing-lg)}.project-modal__content{padding:var(--spacing-lg)}}.tech-modal-container{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.tech-modal{position:relative;width:90%;max-width:900px;max-height:90vh;background:var(--color-bg-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-2xl);z-index:2;overflow:hidden;display:flex;flex-direction:column}.tech-modal__backdrop{position:fixed;inset:0;background:var(--color-overlay);z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tech-modal__header{position:relative;padding:var(--spacing-2xl);border-bottom:var(--border-width) solid var(--color-border)}.tech-modal__header-content{display:flex;align-items:center;gap:var(--spacing-lg);max-width:85%}.tech-modal__icon-large{font-size:4rem;line-height:1;flex-shrink:0}.tech-modal__title-section{flex:1}.tech-modal__title{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs);line-height:var(--line-height-tight)}.tech-modal__proficiency{display:inline-block;background:var(--color-primary-100);color:var(--color-primary-700);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.tech-modal__category{display:inline-block;background:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.tech-modal__close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-bg-tertiary);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-base)}.tech-modal__close:hover{background:var(--color-border);color:var(--color-text-primary)}.tech-modal__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-2xl);background:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border)}.tech-modal__stat{text-align:center}.tech-modal__stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary-500);margin-bottom:var(--spacing-xs)}.tech-modal__stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tech-modal__tabs{display:flex;gap:var(--spacing-sm);padding:0 var(--spacing-2xl);border-bottom:var(--border-width) solid var(--color-border);overflow-x:auto}.tech-modal__tabs::-webkit-scrollbar{height:4px}.tech-modal__tabs::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius-full)}.tech-modal__tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.tech-modal__tab:hover{color:var(--color-text-primary)}.tech-modal__tab--active{color:var(--color-primary-500);border-bottom-color:var(--color-primary-500)}.tech-modal__tab-count{background:var(--color-primary-100);color:var(--color-primary-700);padding:2px 6px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.tech-modal__content{flex:1;overflow-y:auto;padding:var(--spacing-2xl)}.tech-modal__overview h3,.tech-modal__projects h3,.tech-modal__activities h3,.tech-modal__resources h3,.tech-modal__certifications h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg)}.tech-modal__overview h4,.tech-modal__projects h4,.tech-modal__activities h4,.tech-modal__resources h4,.tech-modal__certifications h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm)}.tech-modal__overview p,.tech-modal__projects p,.tech-modal__activities p,.tech-modal__resources p,.tech-modal__certifications p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.tech-modal__overview ul,.tech-modal__projects ul,.tech-modal__activities ul,.tech-modal__resources ul,.tech-modal__certifications ul{list-style:none;padding:0;margin:0}.tech-modal__overview ul li,.tech-modal__projects ul li,.tech-modal__activities ul li,.tech-modal__resources ul li,.tech-modal__certifications ul li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.tech-modal__overview ul li:before,.tech-modal__projects ul li:before,.tech-modal__activities ul li:before,.tech-modal__resources ul li:before,.tech-modal__certifications ul li:before{content:"✓";position:absolute;left:0;color:var(--color-primary-500);font-weight:var(--font-weight-bold)}.tech-modal__empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-tertiary);font-style:italic}.tech-modal__project-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tech-modal__project-item{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-border)}.tech-modal__project-item h4{margin:0 0 var(--spacing-sm)}.tech-modal__project-item p{margin:0 0 var(--spacing-md)}.tech-modal__project-item a{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary-500);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.tech-modal__project-item a:hover{text-decoration:underline}.tech-modal__activity-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tech-modal__activity-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-border)}.tech-modal__activity-icon{width:40px;height:40px;flex-shrink:0;background:var(--color-primary-100);border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-primary-600)}.tech-modal__activity-content{flex:1}.tech-modal__activity-content h4{margin:0 0 var(--spacing-xs)}.tech-modal__activity-content p{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm)}.tech-modal__activity-content a{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary-500);text-decoration:none;font-size:var(--font-size-sm)}.tech-modal__activity-content a:hover{text-decoration:underline}.tech-modal__activity-meta{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.tech-modal__activity-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-600);background:var(--color-primary-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);text-transform:capitalize}.tech-modal__activity-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.tech-modal__resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.tech-modal__resource-card{position:relative;padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-border);text-decoration:none;transition:all var(--transition-base)}.tech-modal__resource-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md)}.tech-modal__resource-card h4{margin:0 0 var(--spacing-xs);color:var(--color-text-primary)}.tech-modal__resource-card p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tech-modal__resource-card svg{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);color:var(--color-primary-500)}.tech-modal__resource-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-600);background:var(--color-primary-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);text-transform:capitalize;display:inline-block;margin-bottom:var(--spacing-sm)}.tech-modal__cert-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tech-modal__cert-item{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-border)}.tech-modal__cert-badge{width:80px;height:80px;object-fit:contain;flex-shrink:0}.tech-modal__cert-content{flex:1}.tech-modal__cert-content h4{margin:0 0 var(--spacing-xs)}.tech-modal__cert-content a{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary-500);text-decoration:none;font-size:var(--font-size-sm)}.tech-modal__cert-content a:hover{text-decoration:underline}.tech-modal__cert-issuer{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs)}.tech-modal__cert-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-sm)}@media(max-width:768px){.tech-modal{width:95%;max-height:95vh}.tech-modal__header{padding:var(--spacing-lg)}.tech-modal__header-content{flex-direction:column;align-items:flex-start}.tech-modal__icon-large{font-size:3rem}.tech-modal__title{font-size:var(--font-size-2xl)}.tech-modal__tabs{padding:0 var(--spacing-lg)}.tech-modal__content{padding:var(--spacing-lg)}.tech-modal__resource-grid{grid-template-columns:1fr}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:var(--spacing-3xl) 0}.hero__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center;position:relative;z-index:1}@media(max-width:968px){.hero__container{grid-template-columns:1fr;gap:var(--spacing-2xl);text-align:center}}.hero__content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.hero__badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);width:fit-content}@media(max-width:968px){.hero__badge{margin:0 auto}}.hero__title{font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.hero__highlight{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:clamp(1.25rem,3vw,1.875rem);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0}.hero__description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:600px;margin:0}@media(max-width:968px){.hero__description{margin:0 auto}}.hero__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}@media(max-width:968px){.hero__actions{justify-content:center}}@media(max-width:480px){.hero__actions{flex-direction:column}}.hero__cta{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:all var(--transition-base);white-space:nowrap}.hero__cta--primary{background:var(--color-primary-500);color:#fff;box-shadow:var(--shadow-md)}.hero__cta--primary:hover{background:var(--color-primary-600);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hero__cta--secondary{background:var(--color-surface);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border)}.hero__cta--secondary:hover{border-color:var(--color-primary-500);color:var(--color-primary-500);transform:translateY(-2px)}.hero__social{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(max-width:968px){.hero__social{justify-content:center}}.hero__social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);transition:all var(--transition-base)}.hero__social-link:hover{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}.hero__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:500px}@media(max-width:968px){.hero__visual{min-height:400px}}.hero__avatar{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center}@media(max-width:968px){.hero__avatar{width:250px;height:250px}}.hero__avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:var(--font-weight-bold);color:#fff;box-shadow:var(--shadow-2xl);position:relative;z-index:2}.hero__avatar-ring{position:absolute;inset:-20px;border:3px solid var(--color-primary-300);border-radius:50%;opacity:.3;animation:pulse-ring 3s ease-in-out infinite}.hero__tech-badge{position:absolute;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-lg);white-space:nowrap}.hero__tech-badge--1{top:10%;left:-10%}.hero__tech-badge--2{top:30%;right:-15%}.hero__tech-badge--3{bottom:25%;left:-5%}.hero__tech-badge--4{bottom:10%;right:-10%}@media(max-width:968px){.hero__tech-badge--1{top:5%;left:0}.hero__tech-badge--2{top:20%;right:0}.hero__tech-badge--3{bottom:20%;left:0}.hero__tech-badge--4{bottom:5%;right:0}}.hero__bg{position:absolute;inset:0;overflow:hidden;z-index:0}.hero__bg-gradient{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15}.hero__bg-gradient--1{width:600px;height:600px;background:var(--color-primary-500);top:-200px;right:-200px;animation:float 20s ease-in-out infinite}.hero__bg-gradient--2{width:500px;height:500px;background:var(--color-primary-400);bottom:-150px;left:-150px;animation:float 15s ease-in-out infinite reverse}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.1}}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-50px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.about{padding:var(--spacing-3xl) 0;background:var(--color-bg-secondary)}.about__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.about__header{text-align:center;margin-bottom:var(--spacing-3xl)}.about__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md);color:var(--color-text-primary)}.about__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.about__intro{max-width:800px;margin:0 auto var(--spacing-3xl);text-align:center}.about__intro p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg)}.about__intro p:last-child{margin-bottom:0}.about__skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl)}.about__skill-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);transition:all var(--transition-base)}.about__skill-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-lg)}.about__skill-icon{width:56px;height:56px;background:var(--color-primary-100);color:var(--color-primary-600);border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg)}.about__skill-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.about__skill-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg)}.about__skill-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.about__tech-badge{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium)}.projects{padding:var(--spacing-3xl) 0;background:var(--color-bg-primary)}.projects__header-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.projects__grid-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.projects__header{margin-bottom:var(--spacing-3xl);max-width:800px}.projects__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-full);margin-bottom:var(--spacing-sm)}[data-theme=dark] .projects__label{background:#22c55e33;color:var(--color-primary-400)}.projects__headline{font-family:var(--font-family-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);line-height:1.1;color:var(--color-text-primary);margin:0}.projects__headline .text-gradient{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.projects__tabs{margin-bottom:var(--spacing-3xl);width:100%;display:flex;justify-content:flex-start}@media(max-width:768px){.projects__tabs{margin-bottom:var(--spacing-xl);margin-left:calc(var(--spacing-lg) * -1);margin-right:calc(var(--spacing-lg) * -1);width:calc(100% + var(--spacing-lg) * 2)}}.projects__tabs-list{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--border-radius-full);flex-wrap:wrap;width:fit-content}@media(max-width:768px){.projects__tabs-list{background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-lg);gap:var(--spacing-sm);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent);mask-image:linear-gradient(to right,transparent,black 20px,black calc(100% - 20px),transparent)}.projects__tabs-list::-webkit-scrollbar{display:none}.projects__tabs-list:after{content:"";flex:0 0 var(--spacing-sm)}}.projects__tab{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none;-webkit-user-select:none;user-select:none}@media(max-width:768px){.projects__tab{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md);flex-shrink:0}.projects__tab.active{border-color:var(--color-primary-500);background:transparent}}.projects__tab:hover:not(.active){color:var(--color-text-primary);background:rgba(var(--color-primary-rgb),.05)}.projects__tab.active{color:#fff}[data-theme=dark] .projects__tab.active{color:var(--color-bg-primary);font-weight:var(--font-weight-bold)}.projects__tab-bg{position:absolute;inset:0;background:var(--color-primary-500);border-radius:var(--border-radius-full);z-index:0}[data-theme=dark] .projects__tab-bg{background:var(--color-primary-400)}.projects__tab-content{position:relative;z-index:1;display:flex;align-items:center;gap:var(--spacing-sm)}.projects__tab-icon{font-size:var(--font-size-md)}.projects__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-xl)}.projects__empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.projects__load-more-container{display:flex;justify-content:center;margin-top:var(--spacing-3xl);padding-bottom:var(--spacing-xl)}.projects__load-more{background:transparent;border:2px solid var(--color-border);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-2xl);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);outline:none}.projects__load-more:hover{border-color:var(--color-primary-500);color:var(--color-primary-500);background:rgba(var(--color-primary-rgb),.05);transform:translateY(-2px)}.projects__load-more:active{transform:translateY(0)}.project-card{background:var(--color-surface);border-radius:var(--border-radius-xl);overflow:hidden;transition:all var(--transition-base);border:var(--border-width) solid var(--color-border)}.project-card:hover{box-shadow:var(--shadow-xl);border-color:var(--color-primary-500);z-index:999;overflow:visible}.project-card__image{position:relative;width:100%;height:200px;overflow:hidden;background:var(--color-bg-tertiary)}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card__image:hover img{transform:scale(1.05)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;align-items:flex-end;justify-content:center;padding:var(--spacing-lg);opacity:0;transition:opacity var(--transition-base)}.project-card:hover .project-card__overlay{opacity:1}.project-card__fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-size:200% 200%;animation:gradient-flow 10s ease infinite}.project-card__fallback--1{background:linear-gradient(135deg,#10b981,#0ea5e9)}.project-card__fallback--2{background:linear-gradient(135deg,#6366f1,#a855f7)}.project-card__fallback--3{background:linear-gradient(135deg,#f43f5e,#f97316)}.project-card__fallback--4{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.project-card__fallback--5{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.project-card__initials{font-family:var(--font-family-heading);font-size:4rem;font-weight:800;color:#fff3;letter-spacing:-2px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.project-card__view-more{color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.project-card__content{padding:var(--spacing-xl);display:flex;flex-direction:column;flex-grow:1}.project-card__category{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-600);background:var(--color-primary-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;align-self:flex-start}.project-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);line-height:1.3;color:var(--color-text-primary)}.project-card__description{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg);flex-grow:1}.project-card__tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.project-card__tech-badge{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--border-radius-sm)}.project-card__tech-more-wrapper{position:relative;display:flex;align-items:center}.project-card__tech-more-wrapper:hover{z-index:101}.project-card__tech-more-wrapper:hover .project-card__tech-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-10px)}.project-card__tech-more{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);cursor:help;border-radius:var(--border-radius-sm);transition:background .2s ease}.project-card__tech-more:hover{background:var(--color-bg-tertiary);color:var(--color-primary-500)}.project-card__tech-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(0);margin-bottom:var(--spacing-sm);z-index:100;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.23,1,.32,1);pointer-events:none;width:max-content;max-width:280px}.project-card__tech-tooltip-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}[data-theme=dark] .project-card__tech-tooltip-content{background:rgba(var(--color-surface-rgb),.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-card__tech-tooltip-header{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xs)}.project-card__tech-tooltip-grid{display:flex;flex-wrap:wrap;gap:6px}.project-card__tech-tooltip-item{font-size:11px;padding:4px 8px;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary-600);border-radius:4px;white-space:nowrap}[data-theme=dark] .project-card__tech-tooltip-item{color:var(--color-primary-400);background:rgba(var(--color-primary-rgb),.2)}.project-card__tech-tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-border)}.project-card__tech-tooltip-arrow:after{content:"";position:absolute;top:-7px;left:-6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(var(--color-surface-rgb),.8)}.project-card__actions{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--color-border);margin-top:auto}.project-card__action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-tertiary);border-radius:var(--border-radius-md);color:var(--color-text-secondary);transition:all var(--transition-base)}.project-card__action:hover{background:var(--color-primary-500);color:#fff}.project-card__action--demo{width:auto;height:32px;padding:0 var(--spacing-md);gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-primary-500);color:#fff}.project-card__action--demo:hover{background:var(--color-primary-600);transform:translateY(-1px)}.project-card__action--demo:active{transform:translateY(0)}@media(max-width:768px){.projects__tabs{justify-content:flex-start}.projects__grid{grid-template-columns:1fr}}@media(max-width:640px){.projects__tabs{margin-left:0;margin-right:0;width:100%}.projects__tabs-list{flex-wrap:wrap;overflow-x:visible;-webkit-mask-image:none;mask-image:none;padding:0;gap:var(--spacing-xs)}.projects__tabs-list:after{content:none}.projects__tab{flex:1 1 140px;white-space:normal;text-align:center;line-height:1.1;padding:var(--spacing-xs) var(--spacing-sm)}.projects__tab-content{gap:var(--spacing-xs)}.projects__tab-icon{font-size:var(--font-size-sm)}.project-card{display:flex;flex-direction:row;height:160px}.project-card__image{width:140px;height:100%;flex-shrink:0}.project-card__image img{height:100%;width:100%;object-fit:cover}.project-card__content{padding:var(--spacing-md);width:100%;min-width:0;justify-content:center}.project-card__category{display:none}.project-card__title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__description{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.project-card__tech{margin-bottom:0}.project-card__tech-badge{padding:2px 6px;font-size:10px}.project-card__actions{display:none}}.work-experience{padding:var(--spacing-3xl) 0;background:var(--color-bg-secondary)}.work-experience__container{max-width:900px;margin:0 auto;padding:0 var(--spacing-lg)}.work-experience__header-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.work-experience__header{margin-bottom:var(--spacing-3xl);max-width:800px}.work-experience__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-full);margin-bottom:var(--spacing-sm)}[data-theme=dark] .work-experience__label{background:#22c55e33;color:var(--color-primary-400)}.work-experience__headline{font-family:var(--font-family-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-bold);line-height:1.1;color:var(--color-text-primary);margin:0}.work-experience__headline .text-gradient{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.work-experience__timeline{position:relative;padding-left:var(--spacing-2xl)}.work-experience__timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-primary-500),var(--color-primary-300))}.experience-card{position:relative;margin-bottom:var(--spacing-2xl)}.experience-card:last-child{margin-bottom:0}.experience-card__timeline-marker{position:absolute;left:calc(-1 * var(--spacing-2xl) - 7px);top:var(--spacing-md);width:16px;height:16px;background:var(--color-primary-500);border:3px solid var(--color-bg-secondary);border-radius:50%;z-index:1;box-shadow:0 0 0 4px var(--color-primary-100)}.experience-card__content{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);transition:all var(--transition-base)}.experience-card__content:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-lg);transform:translate(4px)}.experience-card__header{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:flex-start;position:relative}.experience-card__logo{width:64px;height:64px;border-radius:var(--border-radius-md);object-fit:cover;border:var(--border-width) solid var(--color-border);flex-shrink:0}.experience-card__header-text{flex:1}.experience-card__position{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs);line-height:var(--line-height-tight)}.experience-card__company{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.experience-card__company-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary-600);text-decoration:none;transition:all var(--transition-base)}.experience-card__company-link:hover{color:var(--color-primary-500);text-decoration:underline}.experience-card__company-link:hover svg{transform:translate(1px,-1px)}.experience-card__company-link svg{transition:transform var(--transition-base)}.experience-card__current-badge{position:absolute;top:0;right:0;background:var(--color-primary-500);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.experience-card__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.experience-card__meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.experience-card__meta-item svg{color:var(--color-primary-500);flex-shrink:0}.experience-card__description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg)}.experience-card__achievements{margin-bottom:var(--spacing-lg)}.experience-card__achievements h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.experience-card__achievements ul{list-style:none;padding:0;margin:0}.experience-card__achievements ul li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.experience-card__achievements ul li:before{content:"✓";position:absolute;left:0;color:var(--color-primary-500);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.experience-card__achievements ul li:last-child{margin-bottom:0}.experience-card__technologies h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.experience-card__tech-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.experience-card__tech-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}@media(max-width:768px){.work-experience__timeline{padding-left:var(--spacing-lg)}.experience-card__timeline-marker{left:calc(-1 * var(--spacing-lg) - 7px)}.experience-card__content{padding:var(--spacing-lg)}.experience-card__header{flex-direction:column}.experience-card__logo{width:56px;height:56px}.experience-card__current-badge{position:static;display:inline-block;margin-top:var(--spacing-sm)}.experience-card__meta{flex-direction:column;gap:var(--spacing-sm)}}.labs{padding:var(--spacing-3xl) 0;background:var(--color-bg-primary)}.labs__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.labs__header{text-align:center;margin-bottom:var(--spacing-2xl)}.labs__title{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.labs__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.labs__filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-2xl)}.labs__filter{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.labs__filter:hover{border-color:var(--color-primary-500);color:var(--color-text-primary)}.labs__filter--active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.labs__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg)}.labs__empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.tool-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);text-align:center;transition:all var(--transition-base);cursor:default}.tool-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-lg)}.tool-card__icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:var(--color-primary-100);border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.tool-card:hover .tool-card__icon{transform:scale(1.1);background:var(--color-primary-200)}.tool-card__emoji{font-size:2rem;line-height:1}.tool-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)}.tool-card__category{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-600);background:var(--color-primary-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.tool-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-md);min-height:2.5rem}.tool-card__proficiency{margin-top:var(--spacing-md)}.tool-card__proficiency-bar{height:4px;border-radius:var(--border-radius-full);margin-bottom:var(--spacing-xs);transition:width var(--transition-base)}.tool-card__proficiency-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}@media(max-width:768px){.labs__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.tool-card{padding:var(--spacing-lg)}.tool-card__icon{width:56px;height:56px}.tool-card__emoji{font-size:1.75rem}.tool-card__name{font-size:var(--font-size-base)}}.contact{padding:var(--spacing-3xl) 0;background:var(--color-bg-secondary);position:relative}.contact__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.contact__header{text-align:center;margin-bottom:var(--spacing-2xl)}.contact__title{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.contact__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.contact__content{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-3xl);align-items:start}.contact__info-section{position:sticky;top:var(--spacing-2xl)}.contact__info-card{background:var(--color-surface);border-radius:var(--border-radius-2xl);padding:var(--spacing-2xl);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.contact__info-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.contact__info-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.contact__info-card h3:after{content:"";display:block;width:40px;height:3px;background:var(--color-primary-500);margin-top:var(--spacing-sm);border-radius:var(--border-radius-full)}.contact__info-card h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--spacing-2xl) 0 var(--spacing-lg)}.contact__info-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.contact__info-item{display:flex;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--border-radius-lg);border:var(--border-width) solid var(--color-border);transition:all var(--transition-base)}.contact__info-item:hover{border-color:var(--color-primary-500);box-shadow:0 4px 12px #0000000d}.contact__info-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #10b9814d}.contact__info-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.contact__info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.contact__info-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-base)}.contact__info-value:hover{color:var(--color-primary-500)}.contact__social{padding-top:var(--spacing-xl);border-top:var(--border-width) solid var(--color-border);margin-top:var(--spacing-xl)}.contact__social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.contact__social-link{width:100%;aspect-ratio:1;background:var(--color-bg-tertiary);border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-base);border:var(--border-width) solid var(--color-border);position:relative;overflow:hidden}.contact__social-link:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--hover-color, var(--color-primary-500)),transparent);opacity:0;transition:opacity var(--transition-base)}.contact__social-link svg{position:relative;z-index:1;transition:all var(--transition-base)}.contact__social-link:hover{border-color:var(--hover-color, var(--color-primary-500));color:#fff;transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.contact__social-link:hover:before{opacity:1}.contact__form-section{background:var(--color-surface);border-radius:var(--border-radius-2xl);padding:var(--spacing-2xl);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.contact__form-section:hover{box-shadow:var(--shadow-xl)}.contact__form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.contact__form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact__form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.contact__form-input,.contact__form-textarea{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);font-family:var(--font-family-body);transition:all var(--transition-base)}.contact__form-input::placeholder,.contact__form-textarea::placeholder{color:var(--color-text-tertiary)}.contact__form-input:focus,.contact__form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 4px var(--color-primary-100)}.contact__form-input:hover:not(:focus),.contact__form-textarea:hover:not(:focus){border-color:var(--color-primary-300)}.contact__form-textarea{resize:vertical;min-height:150px;line-height:var(--line-height-relaxed)}.contact__form-submit{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:#fff;border:none;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #10b9814d}.contact__form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.contact__form-submit:active:not(:disabled){transform:translateY(0)}.contact__form-submit:disabled{opacity:.7;cursor:not-allowed}.contact__form-submit--loading{background:var(--color-primary-400)}.contact__form-submit--success{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d}.contact__form-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.contact__form-success{text-align:center;color:#22c55e;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:#22c55e1a;padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid rgba(34,197,94,.3)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:968px){.contact__content{grid-template-columns:1fr;gap:var(--spacing-2xl)}.contact__info-section{position:static}}@media(max-width:640px){.contact__container{padding:0 var(--spacing-md)}.contact__info-card,.contact__form-section{padding:var(--spacing-lg)}.contact__form-submit{padding:var(--spacing-md) var(--spacing-xl)}}
