:root{--bg: #0f1115;--panel: #171922;--panel-2: #1d2030;--text: #e7e9ee;--muted: #a8b0c0;--brand: #fb9fd0;--brand-2: #fecee1;--radius: 18px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--border: 1px solid rgba(255, 255, 255, .06);--gap: 18px}@media(min-width:1240px){:root{--gap: 22px}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 800px at 70% -10%,#1a1d29,#0f1115 60%);color:var(--text)}a{color:var(--text);text-decoration:none;transition:color .2s ease}a:hover{color:var(--brand);text-decoration:none}.app-shell{max-width:1200px;margin:24px auto;padding:0 16px;display:grid;grid-template-columns:320px 1fr;gap:var(--gap)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}}.card{background:var(--panel);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.sidebar{padding:18px;position:sticky;top:24px;align-self:start}.sidebar .avatar{width:100%;border-radius:14px;aspect-ratio:1/1;object-fit:cover;display:block}.sidebar .name{font-size:24px;font-weight:800;margin:14px 0 4px}.sidebar .role{display:inline-block;padding:6px 10px;background:var(--panel-2);border-radius:999px;border:var(--border);font-size:12px;color:var(--muted);margin-bottom:12px}.sidebar .block{padding:12px 0;border-top:var(--border)}.sidebar .label{color:var(--muted);font-size:12px;margin-bottom:6px}.icon-row{display:flex;gap:10px;margin-top:6px}.icon-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--panel-2);border:var(--border)}.icon-btn:hover{transform:translateY(-1px)}.main{padding:18px}.intro-grid{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}.top-tabs{display:flex;align-items:center;gap:12px;column-gap:12px;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding:6px 8px;background:var(--panel-2);border:var(--border);border-radius:999px}.top-tabs a{flex:0 0 auto;min-width:max-content;display:inline-flex;align-items:center;color:var(--muted);font-weight:600;padding:8px 14px;border-radius:999px;text-decoration:none}.top-tabs a+a{margin-left:12px}.top-tabs a.active{color:var(--text);background:#0f1115;border:var(--border)}.top-tabs:after{content:"";flex:0 0 8px}@media(max-width:640px){.intro-grid{grid-template-columns:1fr}.top-tabs a{padding:8px 12px}}.h1{font-size:34px;font-weight:900;margin:6px 0 14px}.h1 .accent-underline{width:56px;height:4px;background:var(--brand);border-radius:999px;display:block;margin-top:6px}.lede{color:var(--muted);line-height:1.6}.lede.wide{max-width:none}.grid{display:grid;gap:var(--gap)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:980px){.grid.cols-3{grid-template-columns:1fr}}.grid.cols-6{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));justify-items:center;align-items:center;gap:24px}@media(max-width:980px){.grid.cols-6{grid-template-columns:1fr}}.section-title{font-weight:800;font-size:18px;margin:22px 0 6px}.certs-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:center;justify-items:center;margin-top:6px}.certs{width:clamp(64px,8vw,90px);aspect-ratio:1 / 1;object-fit:contain;background:var(--panel-2);border:var(--border);border-radius:10px;padding:8px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:980px){.grid.cols-2{grid-template-columns:1fr}}.grid.cols-1{grid-template-columns:1fr;gap:24px}.card.blog{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:stretch;text-decoration:none;background:var(--panel);border:var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card.blog:hover{transform:translateY(-3px);box-shadow:0 4px 20px #0003}.blog-thumb{background:var(--panel-2);border-right:var(--border);overflow:hidden}.blog-thumb img{width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 10;transition:transform .4s ease}.card.blog:hover .blog-thumb img{transform:scale(1.05)}.blog-content{padding:20px;display:flex;flex-direction:column;justify-content:center}.blog-meta{color:var(--brand);font-weight:700;font-size:13px;text-transform:uppercase;margin-bottom:6px;letter-spacing:1px}.blog-title{font-weight:800;font-size:18px;line-height:1.4;color:var(--text)}.blog-title:hover{color:var(--brand)}@media(max-width:640px){.app-shell{max-width:100%;margin:12px auto;padding:0 12px;gap:12px}.main{padding:14px}}@media(max-width:980px){.sidebar{position:static}}@media(max-width:640px){.sidebar{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}.sidebar .avatar{aspect-ratio:1/1;border-radius:10px;grid-column:1 / 2;grid-row:1 / span 2}.sidebar .name{font-size:18px;margin:0;grid-column:2 / -1;align-self:center}.sidebar .role{margin:6px 0 0;white-space:nowrap}.sidebar .block{padding:10px 0;grid-column:1 / -1}.icon-row{gap:8px}.icon-btn{width:40px;height:40px}}@media(max-width:980px){.card.blog{grid-template-columns:1fr}.blog-thumb img{aspect-ratio:16/9}.grid.cols-1{gap:18px}}@media(max-width:980px){.projects-grid.lock-3{grid-template-columns:unset;display:grid;grid-auto-flow:column;grid-auto-columns:280px;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:var(--gap);scroll-snap-type:x proximity;padding-bottom:6px}.projects-grid.lock-3>*{scroll-snap-align:start}}.projects-grid.lock-3::-webkit-scrollbar{height:6px}.projects-grid.lock-3::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}@media(max-width:640px){.intro-grid{grid-template-columns:1fr}.top-tabs{width:100%;margin:0;padding:6px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;scroll-snap-type:x proximity;box-sizing:border-box}.top-tabs a{display:inline-flex;scroll-snap-align:start;padding:8px 12px;font-size:clamp(13px,3.5vw,16px)}}.project-card img,.blog-thumb img,.sidebar .avatar{max-width:100%;height:auto;display:block}@supports (padding: max(0px)){body{padding-left:max(env(safe-area-inset-left),0px);padding-right:max(env(safe-area-inset-right),0px)}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{width:100%;max-width:100%;overflow-x:hidden}*{min-width:0}@media(max-width:980px){.app-shell{max-width:100vw}.card{max-width:100%}}
