:root{--bg:#0b0f19;--card:#111827;--text:#e5e7eb;--muted:#9ca3af;--border:#ffffff14;--accent:#7dd3fc}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1000px 700px at 10% 10%,#7dd3fc1f,transparent 55%),radial-gradient(900px 600px at 90% 20%,#a78bfa1a,transparent 60%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{opacity:.95}.hr{background:var(--border);border:0;height:1px;margin:32px 0}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.card{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#11182799;border-radius:16px;padding:18px}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.grid-2{grid-template-columns:1fr}}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.btn:hover{background:#ffffff0f}.btn-primary:hover{background:#7dd3fc29}.small{color:var(--muted);font-size:14px}.h1{margin:0 0 10px;font-size:46px;line-height:1.1}.h2{margin:0 0 10px;font-size:24px}.h3{margin:0 0 8px;font-size:18px}.p{color:var(--muted);margin:0}.badge,header,nav{pointer-events:auto}.btn{border:1px solid var(--border);color:var(--text);will-change:transform;background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,opacity .16s;display:inline-flex}.btn:hover{background:#ffffff0f;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 26px #00000038}.btn:active{box-shadow:none;transform:translateY(0)}.btn-primary{background:#fdb10b24;border-color:#fdb10b59}.btn-primary:hover{background:#fdb10b33;border-color:#fdb10b8c}.nav a.btn{padding:9px 12px}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}.proj-mini{grid-template-columns:140px 1fr;align-items:start;gap:14px;display:grid}.proj-mini__img{border:1px solid var(--border);background:#ffffff05;border-radius:14px;overflow:hidden}.proj-mini__img img{object-fit:cover;width:100%;height:100%;display:block}.proj-mini__title{margin:0 0 4px;font-size:18px;font-weight:800}.proj-mini__meta{opacity:.86;margin:0 0 10px}.proj-mini__actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:720px){.proj-mini{grid-template-columns:1fr}.proj-mini__img{aspect-ratio:16/9}}.cert-card{display:block}.cert-thumb{border:1px solid var(--border);aspect-ratio:16/10;background:#ffffff05;border-radius:14px;overflow:hidden}.cert-thumb img{object-fit:cover;width:100%;height:100%;display:block}.nav .badge,.nav a.badge,.nav button.badge,.nav a,.nav button{color:var(--text);will-change:transform;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex}.nav .badge:hover,.nav a.badge:hover,.nav button.badge:hover,.nav a:hover,.nav button:hover{opacity:1;background:#7dd3fc1a;border-color:#7dd3fc59;transform:translateY(-2px);box-shadow:0 10px 26px #00000038}.nav .badge:active,.nav a.badge:active,.nav button.badge:active,.nav a:active,.nav button:active{box-shadow:none;transform:translateY(0)}.nav a.badge:first-child{background:#20d2ff86;border-color:#7dd3fc38}.nav a.badge:first-child:hover{background:#7dd3fc1f;border-color:#20d2ff86}@media (prefers-reduced-motion:reduce){.nav .badge,.nav a,.nav button{transition:none}.nav .badge:hover,.nav a:hover,.nav button:hover{transform:none}}.about-grid{grid-template-columns:200px 1fr;align-items:start;gap:16px;display:grid}.about-photo{border:1px solid var(--border);border-radius:16px;overflow:hidden}.about-photo img{object-fit:cover;aspect-ratio:1;width:100%;height:100%;display:block}@media (min-width:721px){.about-grid{grid-template-areas:"photo intro""photo rest"}.about-photo{grid-area:photo}.about-intro{grid-area:intro}.about-rest{grid-area:rest}}@media (max-width:720px){.about-grid{grid-template-columns:140px 1fr;grid-template-areas:"photo intro""rest rest"}.about-photo{grid-area:photo}.about-intro{grid-area:intro;padding-top:12px}.about-intro .p{font-size:16px;line-height:1.45}.about-rest{grid-area:rest}}
