@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#F7F7FA;--bg-2:#FFFFFF;--surface:#FFFFFF;--surface-hover:#F3F4F6;--border:#E5E7EB;--text:#0F172A;--muted:#6B7280;--accent-1:#2563EB;--accent-2:#1D4ED8;--accent-3:#94A3B8;--gradient:var(--accent-1);--glow:0 4px 12px rgba(0,0,0,0.05);--font:var(--font-inter),system-ui,sans-serif;--section-py:50px;--card-radius:12px;--max-w:1120px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;letter-spacing:-.01em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}body:before{display:none}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:24px}section{position:relative;z-index:1;padding-block:var(--section-py)}.grad-text{color:var(--accent-1)}.section-header{margin-bottom:30px}.section-tag{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.5px;color:var(--muted);padding:6px 12px;border:1px solid var(--border);border-radius:6px;margin-bottom:10px;background:var(--surface)}.section-title{font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.section-divider{display:none}.glass-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 2px 8px rgba(0,0,0,.02);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.glass-card:hover{transform:translateY(-2px);border-color:var(--accent-1);box-shadow:0 10px 30px rgba(0,0,0,.06)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:14px;border-radius:8px;padding:10px 24px;cursor:pointer;text-decoration:none;transition:all .2s ease;border:1px solid transparent}.btn-primary{background:var(--accent-1);color:#FFFFFF}.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--text);border-color:var(--border)}.btn-outline:hover{background:var(--surface-hover);border-color:var(--accent-1)}.navbar{position:fixed;top:0;inset-inline:0;z-index:999;background:var(--bg);border-bottom:1px solid var(--border)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.navbar-logo{font-size:20px;font-weight:800;text-decoration:none;color:var(--text);letter-spacing:-.05em;transition:opacity .2s}.navbar-logo:hover{opacity:.8}.navbar-links{display:flex;align-items:center;gap:16px;list-style:none}.navbar-links a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:6px;transition:all .2s}.navbar-links a:hover{color:var(--text);background:var(--surface)}.navbar-resume{font-size:13px;font-weight:600;padding:8px 16px;background:var(--text);border:1px solid var(--text);border-radius:8px;color:var(--bg)!important;text-decoration:none;transition:all .2s}.navbar-resume:hover{background:#E4E4E7!important;transform:translateY(-1px)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}.mobile-menu{display:none;position:fixed;inset:68px 0 0;background:var(--bg);z-index:998;flex-direction:column;padding:32px 24px;gap:4px;overflow-y:auto}.mobile-menu.open{display:flex}.mobile-menu a{font-size:16px;font-weight:500;color:var(--text);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border)}.mobile-menu a:last-child{border-bottom:none}@media (max-width:900px){.navbar-links{display:none}.hamburger{display:flex}}.hero{min-height:70vh;display:flex;padding-top:88px}.hero,.hero-grid{align-items:center}.hero-grid{display:grid;grid-template-columns:1fr;max-width:800px}.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted);padding:6px 14px;border:1px solid var(--border);border-radius:100px;background:var(--surface);margin-bottom:62px}.hero-badge:before{content:"";width:6px;height:6px;background:var(--accent-1);border-radius:50%;box-shadow:0 0 10px rgba(37,99,235,.4)}.hero-name{font-size:clamp(48px,8vw,88px);font-weight:800;line-height:1;letter-spacing:-.04em;margin-bottom:16px;color:var(--text)}.hero-sub{font-size:clamp(20px,4vw,28px);font-weight:500;color:var(--muted);margin-bottom:32px;letter-spacing:-.01em}.hero-desc{font-size:18px;color:var(--muted);max-width:640px;line-height:1.6;margin-bottom:48px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:6px}.hero-socials{gap:16px}.hero-socials,.hero-socials a{display:flex;align-items:center}.hero-socials a{gap:8px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s}.hero-socials a:hover{color:var(--text)}.social-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:16px;transition:all .2s}.hero-socials a:hover .social-icon{background:var(--surface-hover);border-color:var(--accent-1)}.hero-avatar-wrap{display:flex;justify-content:center;align-items:center}.hero-avatar{position:relative;width:280px;height:280px}.hero-avatar:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:var(--accent-1);opacity:.1;border:1px solid var(--accent-1)}@keyframes spin{to{transform:rotate(1turn)}}.hero-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;border:4px solid var(--surface-hover)}.hero-stats{display:flex;gap:32px;margin-top:8px;margin-bottom:48px}.stat-num{font-size:28px;font-weight:800;color:var(--accent-1)}.stat-label{font-size:12px;font-weight:500;color:var(--muted);margin-top:2px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-avatar-wrap{order:-1}.hero-avatar{width:200px;height:200px}.hero-desc{margin-inline:auto}.hero-actions,.hero-socials,.hero-stats{justify-content:center}}.about-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:48px;gap:48px;align-items:start}.about-text{font-size:17px;color:var(--muted);line-height:1.8}.about-highlights{display:flex;flex-direction:column;gap:16px}.about-item{gap:14px;padding:16px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.about-icon,.about-item{display:flex;align-items:center}.about-icon{font-size:20px;width:40px;height:40px;justify-content:center;background:rgba(37,99,235,.08);border-radius:10px;flex-shrink:0;color:var(--accent-1)}.about-item-text strong{display:block;font-size:14px;font-weight:600;color:var(--text)}.about-item-text span{font-size:13px;color:var(--muted)}@media (max-width:768px){.about-grid{grid-template-columns:1fr}}.skills-grid{display:flex;flex-direction:column;gap:32px}.skill-category-label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-2);margin-bottom:14px}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{font-size:13px;font-weight:500;padding:7px 16px;border-radius:100px;border:1px solid var(--border);color:var(--muted);background:var(--surface);transition:all .2s;cursor:default}.skill-tag:hover{border-color:var(--accent-1);color:var(--accent-1);background:rgba(37,99,235,.05)}.skill-tag.ai-ml{border-color:rgba(37,99,235,.3);color:#2563eb;background:rgba(37,99,235,.08)}.skill-tag.backend{border-color:rgba(22,163,74,.3);color:#16a34a;background:rgba(22,163,74,.06)}.skill-tag.frontend{border-color:rgba(217,119,6,.3);color:#d97706;background:rgba(217,119,6,.06)}.skill-tag.mobile{border-color:rgba(219,39,119,.3);color:#db2777;background:rgba(219,39,119,.06)}.skill-tag.devops{border-color:rgba(2,132,199,.3);color:#0284c7;background:rgba(2,132,199,.06)}.skill-tag.data{border-color:rgba(234,88,12,.3);color:#ea580c;background:rgba(234,88,12,.06)}.timeline{position:relative;display:flex;flex-direction:column;gap:0}.timeline:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--border);border-radius:1px}.timeline-item{position:relative;padding-left:72px;padding-bottom:40px}.timeline-dot{position:absolute;left:15px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--gradient);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent-1);flex-shrink:0}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}.timeline-company{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent-1);display:flex;align-items:center;gap:6px}.timeline-title{font-size:18px;font-weight:700;line-height:1.3;margin:4px 0 8px}.timeline-date{font-size:12px;font-weight:500;padding:4px 12px;background:var(--surface);border:1px solid var(--border);border-radius:100px;color:var(--muted);white-space:nowrap}.timeline-desc{font-size:14px;color:var(--muted);line-height:1.75}.timeline-location{font-size:12px;color:var(--muted);margin-top:6px}@media (max-width:640px){.timeline-header{flex-direction:column}.timeline:before{left:10px}.timeline-item{padding-left:42px}.timeline-dot{left:1px}}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px}.edu-card{padding:32px}.edu-school{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-1)}.edu-degree,.edu-school{font-weight:700;margin-bottom:10px}.edu-degree{font-size:18px;line-height:1.3}.edu-activities,.edu-dates{font-size:13px;color:var(--muted)}.edu-activities{margin-top:14px;line-height:1.6}.pub-grid{gap:24px}.pub-card,.pub-grid{display:flex;flex-direction:column}.pub-card{padding:32px;gap:16px}.pub-type{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.pub-type.paper{color:#a5b4fc}.pub-type.article{color:#86efac}.pub-title{font-size:18px;font-weight:700;line-height:1.35}.pub-journal{font-size:13px;color:var(--accent-2);font-weight:600}.pub-abstract{font-size:14px;color:var(--muted);line-height:1.75}.pub-authors{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pub-author{font-size:12px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:4px 12px;border-radius:100px}.pub-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.pub-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent-1);text-decoration:none;padding:8px 16px;border:1px solid rgba(37,99,235,.3);border-radius:100px;background:rgba(37,99,235,.08);transition:all .2s}.pub-link:hover{background:var(--accent-1);color:#fff;border-color:var(--accent-1)}.pub-link.featured{color:var(--accent-3);border-color:rgba(236,72,153,.3);background:rgba(236,72,153,.08)}.pub-link.featured:hover{background:var(--accent-3);color:#fff}.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}.filter-btn{font-size:13px;font-weight:600;padding:8px 20px;border-radius:100px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:rgba(37,99,235,.08);border-color:var(--accent-1);color:var(--accent-1)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}.project-card{overflow:hidden;display:flex;flex-direction:column}.project-img-wrap{aspect-ratio:16/9;overflow:hidden;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;position:relative}.project-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-img-wrap img{transform:scale(1.05)}.project-placeholder{font-size:32px;opacity:.4}.project-body{padding:24px;flex:1 1;display:flex;flex-direction:column}.project-category{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-1);margin-bottom:10px}.project-title{font-size:16px;font-weight:700;line-height:1.35;margin-bottom:12px}.project-desc{font-size:13px;color:var(--muted);line-height:1.7;flex:1 1;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.project-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.project-links{display:flex;gap:8px}.project-link-btn{font-size:12px;font-weight:600;padding:6px 14px;border-radius:100px;border:1px solid rgba(37,99,235,.4);background:rgba(37,99,235,.08);color:var(--accent-1);text-decoration:none;transition:all .2s;white-space:nowrap}.project-link-btn:hover{background:var(--accent-1);color:#fff}.project-tech{font-size:11px;color:var(--muted)}.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.cert-card{padding:20px 24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}.cert-authority{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-1)}.cert-name{font-size:15px;font-weight:600;line-height:1.35;color:var(--text)}.cert-date{font-size:12px;color:var(--muted)}.cert-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#22c55e;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);padding:4px 10px;border-radius:100px;width:-moz-fit-content;width:fit-content}.honors-list{display:flex;flex-direction:column;gap:20px}.honor-card{padding:28px 32px;display:flex;gap:24px;align-items:flex-start}.honor-icon{font-size:24px;line-height:1;flex-shrink:0}.honor-year{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-1);margin-bottom:6px}.honor-title{font-size:16px;font-weight:700;margin-bottom:8px}.honor-desc{font-size:14px;color:var(--muted);line-height:1.7}.vol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:20px;gap:20px}.vol-card{padding:28px}.vol-role{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-2)}.vol-company,.vol-role{font-weight:700;margin-bottom:8px}.vol-company{font-size:17px}.vol-dates{font-size:12px;color:var(--muted);margin-bottom:12px}.vol-desc{font-size:14px;color:var(--muted);line-height:1.7}.rec-card{padding:40px 48px;max-width:820px;margin-inline:auto;position:relative}.rec-quote{font-size:80px;line-height:1;color:var(--accent-1);opacity:.25;position:absolute;top:20px;left:32px;font-family:Georgia,serif}.rec-text{font-size:16px;color:var(--muted);line-height:1.85;margin-top:24px;position:relative;z-index:1}.rec-author{gap:20px;margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}.rec-author,.rec-avatar{display:flex;align-items:center}.rec-avatar{width:52px;height:52px;border-radius:50%;background:var(--gradient);justify-content:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0}.rec-name{font-size:16px;font-weight:700}.rec-title{font-size:13px;color:var(--accent-1);margin-top:2px}.rec-company{font-size:13px;color:var(--muted)}@media (max-width:640px){.rec-card{padding:28px 24px}}.contact-card{padding:60px;text-align:center;max-width:700px;margin-inline:auto}.contact-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#22c55e;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);padding:8px 18px;border-radius:100px;margin-bottom:24px}.contact-title{font-size:clamp(28px,5vw,40px);font-weight:800;line-height:1.2;margin-bottom:16px}.contact-sub{font-size:17px;color:var(--muted);max-width:480px;margin:0 auto 40px;line-height:1.7}.contact-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;padding:14px 24px;border-radius:100px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;transition:all .2s}.contact-link:hover{background:var(--surface-hover);border-color:rgba(99,102,241,.4);transform:translateY(-2px)}.contact-link.primary{background:var(--accent-1);border:none;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.2)}.contact-link.primary:hover{transform:translateY(-2px);background:var(--accent-2);box-shadow:0 6px 16px rgba(37,99,235,.3)}@media (max-width:640px){.contact-card{padding:36px 24px}}footer{border-top:1px solid var(--border);padding:32px 0;text-align:center}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-logo{font-size:16px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-text{font-size:13px;color:var(--muted)}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}.blog-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:24px;gap:24px}.blog-card{display:flex;flex-direction:column;padding:28px;text-decoration:none;color:inherit;cursor:pointer}.blog-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.blog-card-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);font-weight:500}.blog-read-time{color:var(--accent-2);font-weight:600}.blog-featured-badge{font-size:11px;font-weight:700;letter-spacing:1px;color:#fbbf24;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);padding:3px 10px;border-radius:100px}.blog-card-body{flex:1 1;margin-bottom:20px}.blog-card-title{font-size:18px;font-weight:700;line-height:1.35;margin-bottom:12px;color:var(--text)}.blog-card-excerpt{font-size:14px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border);gap:12px;flex-wrap:wrap}.blog-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-read-more{font-size:13px;font-weight:700;color:var(--accent-1);white-space:nowrap}.blog-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;transition:color .2s}.blog-back-link:hover{color:var(--text)}.blog-post-title{font-size:clamp(26px,5vw,42px);font-weight:900;line-height:1.15;letter-spacing:-.5px;margin-bottom:24px}.blog-post-meta{display:flex;align-items:center;gap:16px;margin-bottom:32px}.blog-author-chip{display:flex;align-items:center;gap:12px}.blog-post-divider{height:1px;background:linear-gradient(to right,var(--accent-1),transparent);margin-bottom:0;opacity:.4}.blog-footer-cta{padding:36px 40px;margin-bottom:0}@media (max-width:640px){.blog-footer-cta{padding:24px 20px}}.blog-renderer{color:var(--text);line-height:1.8}.blog-renderer:after{content:"";display:table;clear:both}.blog-h1{font-size:clamp(24px,4vw,36px);font-weight:900;line-height:1.15;letter-spacing:-.5px;margin:48px 0 20px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.blog-h2{font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.25;margin:40px 0 16px;color:var(--text);padding-bottom:10px;border-bottom:1px solid var(--border)}.blog-h3{font-size:20px;font-weight:700;margin:32px 0 12px;color:var(--accent-2)}.blog-h4{font-weight:700;margin:24px 0 10px}.blog-h4,.blog-p{font-size:17px;color:var(--muted)}.blog-p{line-height:1.85;margin-bottom:20px}.blog-math-display{overflow-x:auto;padding:24px;margin:28px 0;background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;text-align:center}.blog-math-display .katex{font-size:1.2em}.blog-math-inline .katex{font-size:1em}.blog-code-wrap{margin:28px 0;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.blog-code-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface-hover);border-bottom:1px solid var(--border)}.blog-code-lang{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-2)}.blog-code-dots{display:flex;gap:6px}.blog-code-dots span{width:10px;height:10px;border-radius:50%;background:var(--border)}.blog-pre{margin:0;padding:20px 24px;background:var(--surface);overflow-x:auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;line-height:1.65;color:var(--text);white-space:pre}.blog-pre code{background:none;padding:0;font-size:inherit}.blog-figure{margin:28px 0;border-radius:12px;overflow:hidden}.blog-caption{text-align:center;font-size:13px;color:var(--muted);font-style:italic;margin-top:10px;padding:0 8px}.blog-video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px}.blog-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.blog-ol,.blog-ul{margin:16px 0 20px 24px;display:flex;flex-direction:column;gap:10px}.blog-li{font-size:16px;color:var(--muted);line-height:1.7}.blog-ul .blog-li{list-style:disc}.blog-ol .blog-li{list-style:decimal}.blog-blockquote{margin:28px 0;padding:20px 28px;border-left:4px solid var(--accent-1);background:var(--surface-hover);border-radius:0 12px 12px 0}.blog-blockquote p{font-size:17px;color:var(--text);font-style:italic;margin:0}.blog-blockquote cite{font-size:13px;color:var(--muted);display:block;margin-top:10px}.blog-hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--accent-1),transparent);margin:40px 0;opacity:.4}@media (max-width:640px){.blog-list-grid{grid-template-columns:1fr}.blog-pre{font-size:12px;padding:16px}.blog-p{font-size:16px}.blog-figure[style*=float]{float:none!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}}.admin-sidebar{width:220px;min-height:100vh;background:rgba(255,255,255,.02);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh}.admin-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#E2E8F0;padding:8px 8px 24px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:16px}.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1 1}.admin-nav-link{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#8892A4;padding:10px 12px;border-radius:10px;text-decoration:none;transition:all .18s;border:none;background:none;cursor:pointer;width:100%;text-align:left}.admin-nav-link:hover{color:#E2E8F0;background:rgba(255,255,255,.05)}.admin-nav-icon{font-size:16px;width:20px;text-align:center}.admin-sidebar-footer{border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:flex;flex-direction:column;gap:4px}.admin-logout-btn{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#8892A4;padding:10px 12px;border-radius:10px;background:none;border:none;cursor:pointer;width:100%;transition:all .18s}.admin-logout-btn:hover{color:#f87171;background:rgba(248,113,113,.08)}.admin-main{flex:1 1;overflow-y:auto}.admin-page{padding:40px;max-width:1000px}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px;gap:16px;flex-wrap:wrap}.admin-page-title{font-size:28px;font-weight:800;color:#E2E8F0}.admin-page-subtitle{font-size:14px;color:#8892A4;margin-top:4px}.admin-back-link{display:inline-block;font-size:13px;color:#8892A4;text-decoration:none;margin-bottom:8px;transition:color .2s}.admin-back-link:hover{color:#E2E8F0}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:16px;gap:16px}.admin-stat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:24px 20px;text-decoration:none;text-align:center;transition:all .2s;display:flex;flex-direction:column;gap:8px;align-items:center}.admin-stat-card:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}.admin-stat-icon{font-size:28px}.admin-stat-count{font-size:32px;font-weight:900}.admin-stat-label{font-size:13px;color:#8892A4;font-weight:500}.admin-form{display:flex;flex-direction:column;gap:24px}.admin-form-section{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:28px}.admin-section-heading{font-size:15px;font-weight:700;color:#E2E8F0;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-label{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#8892A4;margin-bottom:2px}.admin-input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#E2E8F0;font-size:14px;padding:10px 14px;outline:none;transition:border-color .2s;font-family:inherit;width:100%;box-sizing:border-box}.admin-input:focus{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.05)}.admin-textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#E2E8F0;font-size:14px;padding:10px 14px;outline:none;resize:vertical;font-family:inherit;line-height:1.6;width:100%;box-sizing:border-box}.admin-textarea:focus{border-color:rgba(99,102,241,.5)}.admin-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:8px;border:none;background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap}.admin-btn-primary:hover{opacity:.85;transform:translateY(-1px)}.admin-btn-outline{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#8892A4;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;transition:all .2s}.admin-btn-outline:hover{color:#E2E8F0;background:rgba(255,255,255,.06)}.admin-table-wrap{border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:rgba(255,255,255,.04);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#8892A4;padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}.admin-table td{padding:14px 16px;font-size:14px;color:#E2E8F0;border-bottom:1px solid rgba(255,255,255,.04)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:rgba(255,255,255,.02)}.admin-action-btn{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;border:none;cursor:pointer;text-decoration:none;transition:all .2s}.admin-action-btn.edit{color:#a5b4fc;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25)}.admin-action-btn.edit:hover{background:rgba(99,102,241,.2)}.admin-action-btn.delete{color:#fca5a5;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2)}.admin-action-btn.delete:hover{background:rgba(239,68,68,.15)}.admin-block-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px}.admin-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-block-type-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#a78bfa;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.25);padding:3px 10px;border-radius:100px}.admin-block-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#8892A4;font-size:12px;cursor:pointer;transition:all .15s}.admin-block-btn:hover{background:rgba(255,255,255,.08);color:#E2E8F0}.admin-block-btn.danger{color:#fca5a5;border-color:rgba(239,68,68,.2)}.admin-block-btn.danger:hover{background:rgba(239,68,68,.1)}.admin-add-block-row{display:flex;gap:12px;align-items:center}.admin-code-hint{display:block;padding:12px 16px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:8px;font-family:Consolas,monospace;font-size:14px;color:#a5b4fc}@media (max-width:768px){.admin-sidebar{width:64px;padding:16px 8px}.admin-logo span:last-child,.admin-nav-link span:not(.admin-nav-icon){display:none}.admin-page{padding:20px 16px}.admin-form-grid{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;inset:0;background:rgba(247,247,250,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.modal-content{background:var(--bg-2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.1);overflow:hidden}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(15,23,42,.1);border:1px solid rgba(15,23,42,.2);color:var(--text);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s}.modal-close:hover{background:rgba(15,23,42,.2);transform:scale(1.05)}.modal-media{width:100%;background:var(--bg);border-bottom:1px solid var(--border);position:relative;display:flex;align-items:center;justify-content:center;max-height:45vh;min-height:200px;flex-shrink:0}.modal-media video{width:100%;height:100%;max-height:45vh;object-fit:contain}.modal-media-gallery{display:flex;gap:16px;overflow-x:auto;padding:16px;width:100%;height:100%;align-items:center}.modal-media-item{flex:0 0 auto;position:relative;height:clamp(200px,40vh,400px);width:clamp(300px,60vw,600px);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.modal-media-item img{object-fit:contain!important;background:var(--bg)}.modal-body{padding:32px;overflow-y:auto;flex-grow:1}.modal-category{font-size:13px;font-weight:600;color:var(--accent-2);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.modal-title{font-size:clamp(24px,4vw,32px);font-weight:800;color:var(--text);margin-bottom:20px;line-height:1.2}.modal-desc{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:32px;white-space:pre-wrap}.modal-footer{align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--border)}.modal-footer,.modal-links{display:flex;flex-wrap:wrap}.modal-links{gap:12px}@media (max-width:640px){.modal-overlay{padding:16px}.modal-body{padding:24px}.modal-media{height:35vh;width:100%;display:flex;overflow:hidden}}@media (min-width:1024px){.modal-content{flex-direction:row;max-width:1100px;height:75vh;max-height:75vh}.modal-media{width:60%;height:100%;max-height:100%;border-bottom:none;border-right:1px solid var(--border)}.modal-body{width:40%;height:100%;overflow-y:auto}}.embla{overflow:hidden;position:relative}.embla__container{display:flex}.embla__slide{flex:0 0 100%;min-width:0;position:relative}.blog-table-container{overflow-x:auto;margin-block:32px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.blog-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}.blog-table td,.blog-table th{padding:16px 20px;border-bottom:1px solid var(--border)}.blog-table th{background:var(--surface-hover);font-weight:600;color:var(--text);white-space:nowrap}.blog-table tbody tr:last-child td{border-bottom:none}.blog-table tbody tr:hover td{background:rgba(0,0,0,.01)}