:root{--text:#94a3b8;--text-h:#e2e8f0;--bg:#0a0a0f;--border:#1e293b;--code-bg:#0f172a;--accent:#2f6bff;--accent-hover:#6ea8ff;--accent-cyan:#00cfff;--accent-bg:#2f6bff1f;--accent-border:#2f6bff80;--social-bg:#2f6bff14;--gradient-primary:linear-gradient(135deg, #2f6bff, #00cfff);--gradient-secondary:linear-gradient(135deg, #6a5cff, #2f6bff);--shadow:#2f6bff14 0 10px 15px -3px, #0000004d 0 4px 6px -2px;--badge-advanced-bg:#2f6bff26;--badge-advanced-text:#6ea8ff;--badge-intermediate-bg:#6ee7ff1f;--badge-intermediate-text:#00cfff;--badge-beginner-bg:#94a3b81f;--badge-beginner-text:#94a3b8;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root[data-theme=light]{--text:#475569;--text-h:#1e293b;--bg:#f8fafc;--border:#cbd5e1;--code-bg:#e2e8f0;--accent:#2f6bff;--accent-hover:#1d4ed8;--accent-cyan:#0891b2;--accent-bg:#2f6bff14;--accent-border:#2f6bff59;--social-bg:#2f6bff0f;--gradient-primary:linear-gradient(135deg, #2f6bff, #00cfff);--gradient-secondary:linear-gradient(135deg, #6a5cff, #2f6bff);--shadow:#2f6bff0f 0 10px 15px -3px, #00000014 0 4px 6px -2px;--badge-advanced-bg:#2563eb1f;--badge-advanced-text:#1d4ed8;--badge-intermediate-bg:#0891b21a;--badge-intermediate-text:#0e7490;--badge-beginner-bg:#64748b1a;--badge-beginner-text:#64748b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg)}#root{box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}.portfolio-root{flex-direction:column;gap:48px;max-width:900px;margin:0 auto;padding:40px 16px 64px;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--code-bg);width:44px;height:44px;color:var(--text-h);cursor:pointer;z-index:100;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:border-color .2s,background .2s;display:flex;position:fixed;bottom:20px;left:20px}.theme-toggle:hover{border-color:var(--accent)}.bio-section{background:var(--code-bg);box-shadow:var(--shadow);border-radius:18px;align-items:center;gap:32px;padding:32px 32px 32px 24px;display:flex}.bio-avatar{object-fit:cover;background:var(--bg);border:3px solid #0000;border-radius:50%;flex-shrink:0;width:120px;height:120px;box-shadow:0 0 0 3px #2f6bff4d}.bio-text h1{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;padding-bottom:.833333rem;font-size:2.5rem;display:inline-block}.bio-text p{color:var(--text);margin:0 0 18px;font-size:1.1rem;line-height:1.7}.socials{gap:16px;display:flex}.social-icon{width:32px;height:32px;fill:var(--accent);background:var(--accent-bg);border-radius:50%;padding:6px;transition:all .25s}.socials a:hover .social-icon{fill:#fff;background:var(--accent);box-shadow:0 0 16px #00cfff66}.projects-section{flex-direction:column;gap:24px;display:flex}.projects-section h2{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2rem;display:inline-block}.tabs-section{flex-direction:column;gap:24px;display:flex}.tab-bar{border-bottom:2px solid var(--border);gap:8px;padding-bottom:0;display:flex}.tab-btn{font-family:var(--sans);color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 24px;font-size:1.05rem;font-weight:600;transition:color .2s,border-color .2s}.tab-btn:hover{color:var(--accent)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{overflow:hidden}.tab-slider{width:400%;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex}.tab-panel{box-sizing:border-box;flex-shrink:0;width:25%;padding:8px}.skills-categories{flex-direction:column;gap:32px;display:flex}.skill-category{flex-direction:column;gap:12px;display:flex}.category-title{color:var(--accent);border-bottom:2px solid var(--border);margin:0;padding-bottom:6px;font-size:1.2rem;font-weight:700}.category-skills{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.skill-card{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:14px 18px;transition:border-color .2s;display:flex}.skill-card:hover{border-color:#2f6bff66}.skill-top{justify-content:space-between;align-items:center;display:flex}.skill-name{color:var(--text-h);font-size:1rem;font-weight:600}.skill-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.skill-badge.advanced{background:var(--badge-advanced-bg);color:var(--badge-advanced-text)}.skill-badge.intermediate{background:var(--badge-intermediate-bg);color:var(--badge-intermediate-text)}.skill-badge.beginner{background:var(--badge-beginner-bg);color:var(--badge-beginner-text)}.skill-note{color:var(--text);margin:0;font-size:.9rem;line-height:1.4}.skill-years{color:var(--accent);opacity:.8;font-size:.8rem;font-weight:500}.about-section{flex-direction:column;gap:32px;display:flex}.about-block{flex-direction:column;gap:12px;display:flex}.about-heading{color:var(--accent);border-bottom:2px solid var(--border);margin:0;padding-bottom:6px;font-size:1.2rem;font-weight:700}.about-text{color:var(--text);margin:0;font-size:1.05rem;line-height:1.7}.about-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.about-card{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;transition:border-color .2s;display:flex}.about-card:hover{border-color:#2f6bff66}.about-card-top{justify-content:space-between;align-items:center;display:flex}.about-card-title{color:var(--text-h);font-size:1rem;font-weight:600}.about-card-year{color:var(--accent);font-size:.8rem;font-weight:500}.about-card-subtitle{color:var(--text-h);opacity:.85;font-size:.9rem}.about-card-note{color:var(--text);margin:4px 0 0;font-size:.9rem;line-height:1.4}.contact-card{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:14px 18px;text-decoration:none;transition:border-color .2s;display:flex;position:relative}.contact-card:hover{border-color:#2f6bff66}.copy-btn{background:var(--accent-bg);border:1px solid var(--border);color:var(--accent);cursor:pointer;border-radius:6px;padding:2px 10px;font-size:.72rem;font-weight:600;transition:opacity .2s,border-color .2s;position:absolute;top:10px;right:10px}.copy-btn:hover{border-color:var(--accent)}.contact-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.contact-value{color:var(--text-h);font-size:1rem}.favorite-card{cursor:pointer;text-decoration:none}.tab-description{color:var(--text);margin:0 0 16px;font-size:1.05rem;line-height:1.6}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;display:grid}.project-card{background:var(--code-bg);box-shadow:var(--shadow);color:inherit;border:1px solid var(--border);border-radius:16px;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.project-card:hover{border-color:#2f6bff66;transform:translateY(-4px)scale(1.025);box-shadow:0 8px 32px #2f6bff26}.project-banner{background:var(--gradient-secondary);justify-content:center;align-items:center;width:100%;height:120px;display:flex;position:relative}.project-banner img{object-fit:contain;filter:drop-shadow(0 2px 8px #00000014);width:100%;height:100%}.project-info{padding:18px 18px 16px}.project-info h3{color:var(--text-h);margin:0 0 6px;font-size:1.2rem}.project-info p{color:var(--text);margin:0;font-size:1rem}@media (width<=700px){.bio-section{flex-direction:column;align-items:flex-start;gap:18px;padding:24px 12px}.bio-avatar{width:90px;height:90px}.portfolio-root{gap:32px;padding:20px 4px 32px}.projects-section h2{font-size:1.3rem}}
