/* 邀请好友（growth/invite/web.js）：顶栏按钮、弹窗、注册表单里的邀请码那一格 */

.field input[name="inviteCode"] { font-family: var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; }
.invite-btn { position: relative; display: flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 6px; background: none; color: var(--t300); font: inherit; font-size: 12px; cursor: pointer; transition: border-color 0.15s, background-color 0.15s, color 0.15s; }
.invite-btn svg { color: var(--lime); }
.invite-dot { position: absolute; top: -4px; right: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); animation: pulse 2.2s ease-out infinite; }
.invite-btn:hover { border-color: var(--line-strong); background: rgba(255, 255, 255, 0.04); color: var(--t100); }
.invite-claim { flex: none; padding: 4px 10px; font-size: 12px; }
.invite-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); text-align: center; }
.invite-card small { font-size: 11px; letter-spacing: 0.1em; color: var(--t400); }
.invite-code { font: 600 30px var(--font-mono); letter-spacing: 0.16em; color: var(--lime); user-select: all; }
.invite-link { max-width: 100%; overflow: hidden; font: 11.5px var(--font-mono); color: var(--t400); text-overflow: ellipsis; white-space: nowrap; user-select: all; }
.invite-copy { margin-top: 12px; }
.invite-blocked { margin: 10px 0 0; font-size: 12px; text-align: center; color: var(--rose); }
.invite-rules { margin: 10px 0 0; font-size: 11.5px; line-height: 1.7; color: var(--t500); }
.invite-rules b { font-weight: 600; color: var(--lime); }
.invite-sum { margin: 18px 0 8px; font-size: 12px; font-weight: 600; color: var(--t100); }
.invite-sum b { color: var(--lime); font-variant-numeric: tabular-nums; }
.invite-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 10px; }
.invite-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 9px 14px; border-bottom: 1px solid var(--line-weak); font-size: 12.5px; }
.invite-list li:last-child { border-bottom: 0; }
.invite-list .name { overflow: hidden; color: var(--t100); text-overflow: ellipsis; white-space: nowrap; }
.invite-list time { grid-column: 1; font: 11px var(--font-mono); color: var(--t500); }
.invite-list .state { grid-row: 1 / 3; grid-column: 2; font-size: 12px; color: var(--t400); text-align: right; font-variant-numeric: tabular-nums; }
.invite-list .state.is-done { color: var(--lime); }
.invite-list .invite-none { display: block; grid-column: 1 / -1; padding: 22px 14px; color: var(--t400); font-size: 12px; text-align: center; }
@media (max-width: 640px) {
  .invite-btn span { display: none; }
  .invite-btn { padding: 5px 7px; }
}
@media (max-width: 480px) {
  .invite-btn { padding: 5px; }
}
