.friend-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; max-width: 76rem; margin: 0 auto; min-height: 55vh; }
.friend-heading h1 { font-size: clamp(3.5rem, 7vw, 7rem); white-space: normal; margin: 0; line-height: .98; }
.friend-heading > p:last-child { color: var(--muted); font-size: 1.15rem; line-height: 1.6; max-width: 28rem; }
.friend-card { padding: clamp(1.5rem, 4vw, 3rem); background: rgba(26, 16, 14, .92); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); min-width: 0; }
.friend-card h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; overflow-wrap: anywhere; }
.friend-card p { color: var(--muted); line-height: 1.6; }
.google-sign-in { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: .75rem 1rem; gap: .75rem; border: 1px solid #747775; border-radius: 6px; background: #fff; color: #1f1f1f; font: 500 1rem system-ui, sans-serif; cursor: pointer; }
.google-sign-in svg { width: 20px; height: 20px; flex: 0 0 auto; }
.google-sign-in:disabled { opacity: .55; cursor: not-allowed; }
.friend-initials { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--brand-red); font-size: 1.5rem; font-weight: 700; }
.friend-details { margin: 1.5rem 0; }
.friend-details dt { color: var(--muted); font-size: .875rem; margin-top: 1rem; }
.friend-details dd { margin: .4rem 0 0; overflow-wrap: anywhere; }
.friend-status { margin: 1rem 0 0; }
.friend-status:empty { display: none; }
.friend-note { font-size: .875rem; }
.friend-name-form { margin-top: 1.5rem; }
.friend-name-form label { display: block; margin-bottom: .6rem; }
.friend-name-form input { width: 100%; padding: .8rem; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
.friend-directory { max-width: 76rem; margin: 4rem auto 0; padding-top: 2rem; border-top: 1px solid var(--line); }
.friend-directory h2 { font-size: clamp(2rem, 4vw, 3rem); }
.friends-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); padding: 0; gap: 1rem; list-style: none; }
.friends-list li { padding: 1rem; border: 1px solid var(--line); border-radius: 6px; overflow-wrap: anywhere; }
@media (max-width: 820px) { .friend-layout { grid-template-columns: 1fr; } }
