@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=JetBrains+Mono:wght@400;600&display=swap'); body { font-family: 'Inter', sans-serif; } code, pre, kbd { font-family: 'JetBrains Mono', monospace; } h1, h2, h3 { letter-spacing: -0.02em; } .vcard { position: relative; min-height: calc(100vh - 10rem); display: grid; place-items: center; padding: 2rem 0; } .vcard__bg { position: fixed; inset: 0; z-index: -1; background-size: cover; background-position: center; filter: blur(6px) brightness(.45); transform: scale(1.05); } .vcard__box { width: min(100%, 420px); padding: 2.5rem 2rem; text-align: center; border-radius: 1.25rem; background: rgba(var(--color-neutral-800), .65); border: 1px solid rgba(var(--color-primary-500), .25); backdrop-filter: blur(12px); box-shadow: 0 20px 60px rgba(0,0,0,.45); } .vcard__avatar { width: 128px; height: 128px; margin: 0 auto 1.25rem; border-radius: 50%; object-fit: cover; border: 3px solid rgba(var(--color-primary-500), .8); } .vcard__name { font-size: 1.9rem; font-weight: 800; line-height: 1.15; margin: 0; color: #fff; } .vcard__nick { margin: .2rem 0 0; font-family: 'JetBrains Mono', monospace; color: rgba(var(--color-primary-400), 1); } .vcard__role { margin: .9rem 0 0; color: rgba(var(--color-neutral-300), 1); font-size: 1rem; line-height: 1.5; } .vcard__status { display: inline-flex; align-items: center; gap: .5rem; margin: 1.25rem 0 0; padding: .35rem .9rem; border-radius: 999px; font-size: .9rem; background: rgba(255,255,255,.06); color: rgba(var(--color-neutral-200), 1); } .vcard__dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--dot); box-shadow: 0 0 0 0 var(--dot); animation: vcard-pulse 2s infinite; } .is-open { --dot: #22c55e; } .is-busy { --dot: #f59e0b; } .is-away { --dot: #9ca3af; } .is-away .vcard__dot { animation: none; } @keyframes vcard-pulse { 0% { box-shadow: 0 0 0 0 var(--dot); } 70% { box-shadow: 0 0 0 .5rem transparent; } 100% { box-shadow: 0 0 0 0 transparent; } } .vcard__links { list-style: none; padding: 0; margin: 1.75rem 0 0; display: grid; gap: .6rem; } .vcard__links a { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: .7rem 1rem; border-radius: .75rem; text-decoration: none; font-weight: 600; color: #fff; background: rgba(var(--color-primary-600), .25); border: 1px solid rgba(var(--color-primary-500), .35); transition: background .15s, transform .15s; } .vcard__links a:hover { background: rgba(var(--color-primary-600), .5); transform: translateY(-1px); } .vcard__icon { display: inline-flex; width: 1.1rem; height: 1.1rem; } .vcard__icon svg { width: 100%; height: 100%; fill: currentColor; } .vcard__more { display: inline-block; margin-top: 1.5rem; font-size: .9rem; color: rgba(var(--color-primary-400), 1); text-decoration: none; } .vcard__more:hover { text-decoration: underline; } .vcard__heading { margin: 1.75rem 0 0; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(var(--color-neutral-400), 1); } .vcard__posts { list-style: none; padding: 0; margin: .6rem 0 0; display: grid; gap: .5rem; } .vcard__posts a { display: flex; flex-direction: column; gap: .15rem; padding: .6rem 1rem; border-radius: .75rem; text-align: left; text-decoration: none; color: #fff; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); transition: background .15s, border-color .15s, transform .15s; } .vcard__posts a:hover { background: rgba(var(--color-primary-600), .2); border-color: rgba(var(--color-primary-500), .35); transform: translateY(-1px); } .vcard__post-title { font-weight: 600; font-size: .95rem; line-height: 1.3; } .vcard__post-date { font-size: .8rem; color: rgba(var(--color-neutral-400), 1); }