.profile-awards { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-bottom: 6px; }
.profile-award { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; min-height: 24px; padding: 0; border: 1px solid #e8cb85; border-radius: 7px; color: #705015; background: #fff2ce; cursor: pointer; text-decoration: none; box-sizing: border-box; }
.profile-award > span { font-size: 15px; line-height: 1; }
.profile-award:hover, .profile-award:focus-visible { background: #ffe7a8; border-color: #bd9139; outline: 2px solid #bd9139; outline-offset: 2px; }
.award-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; padding: 12px 14px; border-radius: 12px; background: var(--selected); color: var(--ink); }
.award-filter a { margin-left: auto; }
.invite-page { max-width: 760px; margin: 0 auto; }
.invite-heading { margin-bottom: 22px; }
.invite-heading h2 { margin: 8px 0; font-size: 28px; }
.invite-heading p { color: var(--muted); line-height: 1.6; }
.invite-card { position: relative; overflow: hidden; padding: 36px 26px 24px; border: 1px solid var(--line); border-radius: 28px; text-align: center; background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--blue) 16%, transparent), transparent 65%), var(--card); color: var(--ink); box-shadow: var(--shadow); }
.invite-wordmark { font-size: 42px; font-weight: 850; letter-spacing: .08em; }
.invite-motto { margin: 5px 0 28px; color: var(--muted); font-size: 15px; }
.invite-avatar { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; border: 4px solid var(--card); box-shadow: 0 0 0 1px var(--line); }
.invite-avatar-fallback { display: inline-grid; place-items: center; background: var(--selected); color: var(--blue); font-size: 28px; font-weight: 750; }
.invite-person h1 { margin: 14px auto 10px; max-width: 520px; font-size: clamp(23px, 4vw, 32px); line-height: 1.22; overflow-wrap: anywhere; }
.invite-person p { color: var(--muted); line-height: 1.6; }
.invite-features { display: flex; justify-content: center; gap: 12px; margin: 25px 0; }
.invite-features i { width: 48px; height: 48px; display: grid; place-items: center; color: var(--blue); background: var(--selected); border-radius: 15px; font-size: 24px; transform: rotate(-5deg); }
.invite-features i:nth-child(even) { transform: rotate(5deg); }
.invite-friend-note { border-top: 1px solid var(--line); padding-top: 18px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.invite-share-panel { padding: 22px 0; }
.invite-share-panel label { display: block; font-weight: 700; margin-bottom: 10px; }
.invite-copy-row { display: flex; gap: 8px; }
.invite-copy-row input { flex: 1; min-width: 0; padding: 12px; border: 1px solid var(--line); background: var(--card); color: var(--ink); border-radius: 12px; font-size: 14px; }
.invite-share-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.invite-share-actions [hidden] { display: none; }
.invite-feedback { color: var(--blue); font-size: 13px; }
.invite-count { color: var(--muted); font-size: 13px; }
.invite-welcome { width: min(600px, calc(100% - 28px)); margin: 48px auto; }
.invite-welcome-actions { text-align: center; padding: 22px 0; }
.invite-welcome-actions .button { min-height: 48px; }
.invite-welcome-actions .back-link { display: block; margin-top: 18px; }
@media (max-width: 600px) {
  .invite-card { padding: 26px 18px 20px; border-radius: 22px; }
  .invite-copy-row { flex-direction: column; }
  .invite-share-actions > .button { flex: 1 1 40%; }
  .invite-welcome { margin-top: 20px; }
}
