:root {
  color-scheme: light dark;
  --paper: #fff;
  --ink: #1d1d1f;
  --muted: #626268;
  --link: #0066cc;
  --rule: #e7e7e9;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #18191b; --ink: #ededee; --muted: #b1b1b7; --link: #87baff; --rule: #38383d; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1.0625rem/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.profile-shell { max-width: 648px; margin: 0 auto; padding: 60px 24px 40px; }
a { color: var(--link); text-decoration: none; text-underline-offset: 4px; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 5px; border-radius: 2px; }
h1, h2, h3, p { margin-top: 0; }
h1, .site-name { font-size: 1.75rem; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
.profile-header h1 { margin-bottom: 14px; }
.profile-photo { display: block; width: 196px; max-width: 100%; height: auto; margin-bottom: 12px; }
.site-name { display: inline-block; color: var(--ink); margin-bottom: 12px; }
.profile-header nav { display: flex; flex-wrap: wrap; gap: 6px 24px; align-items: center; margin: 20px 0 38px; }
.profile-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.profile-header nav a[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 7px; }
h2 { font-size: 1.0625rem; font-weight: 600; margin-bottom: 16px; }
h3 { font-size: 1.0625rem; font-weight: 500; margin-bottom: 3px; }
p { margin-bottom: 18px; }
section { margin-bottom: 34px; }
.link-row { display: flex; flex-wrap: wrap; gap: 5px 20px; }
.secondary { font-size: .875rem; }
.page-title { margin-bottom: 24px; }
.profile-footer { border-top: 1px solid var(--rule); margin-top: 34px; padding-top: 16px; display: flex; gap: 24px; font-size: .875rem; }
.profile-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.profile-home { font-size: 1rem; line-height: 1.6; }
.profile-home .profile-shell { display: grid; grid-template-columns: 240px minmax(0, 520px); column-gap: 80px; max-width: 888px; padding-top: 56px; }
.profile-home .profile-header { grid-column: 1; grid-row: 1 / 3; }
.profile-home .profile-header h1 { color: var(--ink); margin-bottom: 20px; font-size: 1.75rem; letter-spacing: 0; }
.profile-home .profile-header nav { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 8px 0 0; font-size: .875rem; }
.profile-home .profile-header nav a { min-height: 36px; }
.profile-home main { grid-column: 2; min-width: 0; }
.profile-home h2 { color: var(--ink); font-size: 1rem; margin-bottom: 12px; }
.profile-home p { margin-bottom: 18px; }
.profile-home section { margin-bottom: 28px; }
.profile-home section:last-child { margin-bottom: 0; }
.profile-home .profile-footer { grid-column: 2; display: block; border-top: 0; padding-top: 0; margin-top: 8px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.footer-links + .footer-links { margin-top: 8px; }
@media (max-width: 900px) {
  .profile-home .profile-shell { grid-template-columns: 200px minmax(0, 1fr); column-gap: 40px; }
}
@media (max-width: 680px) {
  .profile-home .profile-shell { display: block; padding-top: 32px; }
  .profile-home .profile-header { display: grid; grid-template-columns: 88px minmax(0, 1fr); column-gap: 20px; margin-bottom: 32px; }
  .profile-home .profile-photo { grid-column: 1; grid-row: 1 / 3; margin: 0; width: 88px; }
  .profile-home .profile-header h1 { grid-column: 2; margin: 0 0 4px; font-size: 1.5rem; }
  .profile-home .profile-header nav { grid-column: 2; flex-direction: row; gap: 0 18px; margin: 0; }
  .profile-home .profile-header nav a { min-height: 44px; }
}
@media (max-width: 360px) {
  .profile-home .profile-header { grid-template-columns: 72px minmax(0, 1fr); column-gap: 16px; }
  .profile-home .profile-photo { width: 72px; }
}
@media (pointer: coarse) {
  .profile-home .profile-header nav a { min-height: 44px; }
}
.skip-link { position: absolute; top: 8px; left: 8px; padding: 8px 12px; background: var(--paper); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 480px) {
  .profile-shell { padding: 32px 22px; }
  .profile-header nav { margin-bottom: 28px; }
}
