:root { --bg: #152035; --fg: #e6eef8; --expand-duration: 360ms; --expand-easing: cubic-bezier(.2,.9,.2,1); --muted: #9aa6b2; --accent: #60a5fa; --card: #0e1a2e; } * { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background: #060e20; color: #e6eef8; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .site-header { padding: 28px 20px; background: linear-gradient(90deg, rgba(0, 0, 0, 0.02), transparent); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; } .site-header h1 { margin: 0; font-size: 1.6rem; } .tagline { margin: 4px 0 0; color: #7c7f83; } .site-header h1 { grid-column: 1; justify-self: start; text-align: left; } .site-header .tagline { grid-column: 2; justify-self: center; text-align: center; } .site-header > div { grid-column: 3; justify-self: end; } .container { max-width: 980px; margin: 28px auto; padding: 0 20px; } .bio { display: flex; gap: 20px; align-items: center; } .portrait { width: 300px; height: 300px; object-fit: cover; border-radius: 12px; border: 1px solid rgba(0, 0, 0, 0.06); } .summary { font-size: 20px; } .timeline { list-style: none; padding: 0; margin: 0; } .timeline li { margin-bottom: 8px; } .toggle { width: 100%; text-align: left; padding: 10px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, 0.06); background: var(--card); color: #e6eef8; cursor: pointer; } .content { padding: 0 12px; margin-top: 0; border-radius: 8px; background: rgba(0, 0, 0, 0.02); color: #7c7f83; height: 0; overflow: hidden; transition: height var(--expand-duration) var(--expand-easing), opacity 220ms ease; opacity: 0; will-change: height, opacity; } .content.open { opacity: 1; height: auto; } .content .inner { transform-origin: top; transform: translateY(6px); opacity: 0; transition: transform 300ms var(--expand-easing), opacity 220ms ease; will-change: transform, opacity; padding: 10px 0 6px; } .content.open .inner { transform: translateY(0); opacity: 1; } .site-footer { max-width: 980px; margin: 40px auto; padding: 10px 20px; color: #ffffff; font-size: 0.9rem; } /* Facts table */ .facts { margin-top: 18px; } .facts-table { width: 100%; max-width: 640px; border-collapse: collapse; margin: 12px 0 0; background: var(--card); color: var(--fg); border-radius: 8px; overflow: hidden; } .facts-table th, .facts-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.03); font-size: 0.98rem; } .facts-table th { width: 36%; color: var(--muted); font-weight: 600; background: rgba(255,255,255,0.02); } .facts-table tr:last-child td { border-bottom: none; } @media (max-width: 720px) { .facts-table th { width: 40%; } } @media (max-width: 720px) { .hero { flex-direction: column; align-items: flex-start; } .portrait { width: 160px; height: 160px; } } .main-link { width: 120px; display: inline-block; box-sizing: border-box; background: transparent; border: 1px solid #7c7f83; padding: 6px 0; border-radius: 6px; color: #e6eef8; text-decoration: none; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .main-link:hover { background: rgba(255, 255, 255, 0.24); border-color: #7c7f83; } .links { font-size: 20px; list-style: none; padding: 10px; margin: 20px; display: flex; align-items: center; flex-direction: column; gap: 24px; }