:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; color: #f4f3ed; background: #171c19; --surface: #202622; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; padding: 40px 20px; }
main { max-width: 580px; min-height: calc(100svh - 80px); margin: 0 auto; padding: 0 0 48px; border-radius: 26px; overflow: hidden; background: var(--surface); }
header { text-align: center; }
.portrait-header { position: relative; width: 100%; aspect-ratio: 1 / 1; }
.portrait-header::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 35%, #20262222 48%, #20262299 68%, #202622ed 88%, var(--surface) 100%); }
.portrait { display: block; width: 100%; height: 100%; object-fit: cover; }
.profile-copy { position: relative; margin-top: -100px; padding: 0 28px; }
h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.6px; margin: 0 0 6px; }
header p { max-width: 410px; margin: 0 auto; font-size: 16px; font-weight: 500; line-height: 1.5; }
.payment { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #f4f3ed; color: #202622; font-size: 23px; }
.links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 32px 28px 0; }
.links a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; flex: 0 1 calc((100% - 24px) / 3); min-width: 82px; min-height: 106px; padding: 18px 8px; color: #f4f3ed; text-decoration: none; background: linear-gradient(135deg, #ffffff16, #ffffff0b); border: 1px solid #ffffff24; border-radius: 24px; box-shadow: inset 0 1px 0 #ffffff0a, 0 4px 16px #0000000d; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.links img { filter: invert(1); }
.link-title { font-size: 13px; font-weight: 500; line-height: 1.3; text-align: center; }
a:focus-visible { outline: 3px solid #b8d5c4; outline-offset: 4px; }
@media(hover:hover) { .links a:hover { transform: translateY(-2px); border-color: #ffffff48; box-shadow: inset 0 1px 0 #ffffff12, 0 8px 24px #00000024; } }
@media(max-width: 620px) { :root { background: var(--surface); } body { padding: 0; } main { min-height: 100svh; padding: 0 0 40px; border-radius: 0; } .profile-copy { margin-top: -64px; padding-inline: 20px; } .links { margin-inline: 20px; } }
@media(prefers-reduced-motion: reduce) { .links a { transition: none; } }



