.gr-member-header { display:flex; flex:0 0 auto; align-items:center; min-width:0; }
.gr-app .gr-header .gr-member-header { grid-column:3; grid-row:1; justify-self:end; }
@media(min-width:1050px) {
  body.gr-app .gr-header .gr-header-top { grid-template-columns:auto minmax(0,1fr) minmax(180px,260px) auto; }
  .gr-app .gr-header .gr-member-header { grid-column:4; }
}
.gr-app .gr-member-link { display:block; min-height:44px; max-width:140px; padding:10px 12px; border:1px solid var(--gr-action-border,#3d617a); border-radius:6px; background:var(--gr-action-bg,#173248); color:#d6ecf8; font-size:13px; line-height:22px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gr-member-page { padding-block:32px 48px; }
.gr-member-card { width:min(100%,460px); margin-inline:auto; padding:28px; border:1px solid var(--gr-border,#345269); border-radius:10px; background:var(--gr-surface,#142738); }
.gr-app .gr-member-card h1 { font-size:26px; line-height:1.25; margin-bottom:10px; }
.gr-member-intro,.gr-member-switch { color:var(--muted); }
.gr-member-card form { display:grid; gap:18px; }
.gr-member-field { min-width:0; }
.gr-member-field label,.gr-member-comment-form>label,.gr-member-edit-form>label { display:block; margin-bottom:7px; color:var(--text); font-weight:600; }
.gr-member-input-row { display:flex; align-items:stretch; gap:7px; }
.gr-app .gr-member-input-row input,.gr-app .gr-member-comments textarea { width:100%; min-width:0; min-height:46px; border:1px solid var(--gr-border,#345269); border-radius:6px; padding:10px 12px; background:#0d2030; color:var(--text); font:inherit; font-size:16px; }
.gr-app .gr-member-input-row input[aria-invalid=true],.gr-app .gr-member-comments textarea[aria-invalid=true] { border-color:#f4a1a1; }
.gr-member-hint { color:var(--muted); font-size:12px; line-height:1.45; margin:7px 0 0; }
.gr-member-field-error,.gr-member-error { color:#ffc0bd; font-size:13px; line-height:1.5; margin:7px 0 0; overflow-wrap:anywhere; }
.gr-member-error { padding:10px 12px; border:1px solid #9c6060; border-radius:6px; background:#412931; }
.gr-member-status { color:var(--muted-bright); font-size:13px; margin:12px 0; }
.gr-app :is(.gr-member-primary,.gr-member-secondary,.gr-member-password-toggle) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--gr-action-border,#3d617a); border-radius:6px; background:var(--gr-action-bg,#173248); color:#d6ecf8; font-weight:600; font-size:14px; line-height:1.35; cursor:pointer; }
.gr-app .gr-member-primary { background:var(--gr-primary,#3789b8); border-color:#70b5da; color:#fff; }
.gr-app .gr-member-primary:hover { background:var(--gr-primary-hover,#55a9d5); }
.gr-app .gr-member-secondary:hover,.gr-app .gr-member-password-toggle:hover { background:var(--gr-action-hover,#244d67); }
.gr-app .gr-member-password-toggle { flex:0 0 auto; padding-inline:10px; font-size:12px; }
.gr-app :is(.gr-member-primary,.gr-member-secondary,.gr-member-password-toggle):disabled { cursor:wait; opacity:.6; }
.gr-app .gr-member-switch a,.gr-app .gr-member-inline-link { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.gr-member-inline-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 10px; }
.gr-member-switch { margin:22px 0 0; font-size:14px; }
.gr-member-details { margin:20px 0; display:grid; gap:14px; }
.gr-member-details dt { color:var(--muted); font-size:12px; }
.gr-member-details dd { margin:3px 0 0; font-size:16px; overflow-wrap:anywhere; }
[data-member-profile-details]>button { margin-top:12px; }
.gr-member-password-change { margin-top:24px; border-top:1px solid var(--line); padding-top:12px; }
.gr-member-password-change summary { min-height:44px; padding-block:10px; cursor:pointer; color:var(--accent); }
.gr-member-password-change form { margin-top:12px; }
.gr-member-noscript { color:#ffc0bd; padding-bottom:24px; }
.gr-member-already { display:flex; flex-wrap:wrap; gap:10px; }
.gr-member-already>p { width:100%; overflow-wrap:anywhere; }
.gr-member-comments { max-width:920px; margin-block:30px; scroll-margin-top:90px; }
.gr-member-comments-gate { padding:16px 18px; margin-bottom:18px; border:1px solid var(--gr-border,#345269); border-radius:8px; background:var(--gr-surface-soft,#102332); }
.gr-member-comments-gate p { margin:0 0 8px; color:var(--muted-bright); }
.gr-member-comment-form { padding:18px; margin:0 0 20px; border:1px solid var(--gr-border,#345269); border-radius:8px; background:var(--gr-surface,#142738); }
.gr-app .gr-member-comments textarea { display:block; resize:vertical; min-height:116px; line-height:1.5; }
.gr-member-comment-bottom { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:12px; }
.gr-member-comment-bottom>[data-member-character-count] { flex:0 0 auto; }
.gr-member-comment-list { display:grid; gap:12px; }
.gr-member-comment { min-width:0; padding:18px; border:1px solid var(--gr-border,#345269); border-radius:8px; background:var(--gr-surface,#142738); }
.gr-member-comment-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin-bottom:10px; }
.gr-member-comment-meta strong { font-size:14px; overflow-wrap:anywhere; min-width:0; }
.gr-member-comment-meta time,.gr-member-comment-meta small { color:var(--muted); font-size:12px; }
.gr-member-comment-body { white-space:pre-wrap; overflow-wrap:anywhere; margin-bottom:0; font-size:14px; line-height:1.6; }
.gr-member-comment-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.gr-member-edit-form { margin-top:14px; }
.gr-member-delete-confirm { margin-top:12px; padding:12px; border:1px solid #9c6060; border-radius:6px; background:#412931; }
.gr-member-delete-confirm p { margin-bottom:10px; }
.gr-member-delete-confirm .gr-member-secondary { margin-right:8px; }
.gr-member-comments-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:16px; }
@media(max-width:760px) {
  .gr-app .gr-member-link { max-width:112px; padding-inline:10px; font-size:12px; }
  .gr-member-page { padding-block:24px; }
  .gr-member-card { padding:22px 18px; }
  .gr-member-comments { margin-block:24px; }
  .gr-member-comment,.gr-member-comment-form { padding:14px; }
  .gr-member-comment-bottom { display:block; }
}
@media(max-width:420px) {
  .gr-app .gr-header-top { gap:8px; }
  .gr-app .gr-member-link { max-width:86px; padding-inline:8px; }
  .gr-app .gr-member-card h1 { font-size:24px; }
}
