/* Shared theme tokens also let the compact Community mount reuse this UI. */
.fl-friends-panel,.fl-friends-dialog {color:var(--ircnet-theme-fg,var(--text-primary));font:400 14px/1.4 'Source Sans Pro',sans-serif;text-align:left;box-sizing:border-box;}
.kiwi-wrap .fl-friends-view.fl-friends-panel {padding:8px; margin:0; border:0; background:none;}
.fl-friends-panel header,.fl-friends-dialog header {display:flex;gap:8px;align-items:center;justify-content:space-between;}
.fl-friends-panel h2,.fl-friends-dialog h2 {font:600 18px/1.3 'Source Sans Pro',sans-serif;margin:4px 0 10px;}
.fl-friends-panel h3 {font:600 13px/1.4 'Source Sans Pro',sans-serif;margin:14px 0 5px;color:var(--ircnet-theme-muted,var(--text-secondary));}
.fl-friends-panel button,.fl-friends-dialog button,.community-friends>[data-friends-manage] {min-height:44px;padding:7px 10px;border-radius:var(--fl-control-radius,12px);border:1px solid var(--fl-section-border,var(--border-color));background:var(--fl-control-paint,var(--surface));color:inherit;font:600 13px/1.25 'Source Sans Pro',sans-serif;cursor:pointer;}
.fl-friends-panel button:hover,.fl-friends-dialog button:hover {background:var(--fl-selected-paint,var(--surface-hover));}
.fl-friends-panel :is(button,input,summary):focus-visible,.fl-friends-dialog :is(button,input,textarea):focus-visible {outline:2px solid var(--fl-focus,var(--accent));outline-offset:2px;}
.fl-friends-panel button:disabled,.fl-friends-dialog button:disabled {opacity:.55;cursor:default;}
.fl-friends-panel p,.fl-friends-dialog p {font-size:13px;overflow-wrap:anywhere;}
.fl-friends-tools {display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px;}
.fl-friends-tools button {min-width:0;padding:6px;font-size:12px;}
.fl-friends-panel input[type="search"],.fl-friends-dialog :is(input,textarea) {width:100%;box-sizing:border-box;min-width:0;padding:10px;border:1px solid var(--fl-section-border,var(--border-color));border-radius:var(--fl-control-radius,12px);background:var(--ircnet-theme-input,var(--surface));color:inherit;font:inherit;margin:5px 0;}
.fl-friend-row {display:grid;grid-template-columns:32px minmax(0,1fr) 38px;align-items:center;gap:6px;padding:4px 0;min-width:0;}
.fl-friend-row>img,.fl-friend-initial {width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none;}
.fl-friend-initial {display:grid;place-items:center;background:var(--fl-section-paint,var(--surface));color:var(--fl-link,var(--accent));font-weight:700;}
.fl-friend-row .fl-friend-name {flex:1;min-width:0;padding:3px 0;text-align:left;border:0;background:none;}
.fl-friend-name strong,.fl-friend-name small {display:block;overflow-wrap:anywhere;}
.fl-friend-name small {color:var(--ircnet-theme-muted,var(--text-secondary));font:400 11px/1.3 'Source Sans Pro',sans-serif;}
.fl-friend-row .fl-friend-more {padding:0;width:38px;border:0;background:none;font-size:22px;}
.fl-friend-accept {grid-column:2 / -1;justify-self:start;margin:0;}
.fl-friend-preferences {margin-top:14px;border-top:1px solid var(--fl-section-border,var(--border-color));padding-top:8px;}
.fl-friend-preferences summary {cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;}
.fl-friend-preferences summary::after {content:'⌄';margin-left:auto;font-size:18px;}
.fl-friend-preferences[open] summary::after {content:'⌃';}
.fl-friend-preferences label {display:flex;align-items:flex-start;gap:8px;padding:8px 0;cursor:pointer;}
.fl-friend-preferences input {accent-color:var(--fl-link,var(--accent));width:18px;height:18px;flex:none;}
.fl-friend-preferences .fl-friend-preference-status {min-height:1.4em;margin:4px 0;color:var(--ircnet-theme-muted,var(--text-secondary));}
.fl-friends-dialog {width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:18px;overflow:auto;border:1px solid var(--fl-section-border,var(--border-color));border-radius:var(--fl-panel-radius,18px);background:var(--ircnet-theme-panel,var(--surface));box-shadow:var(--fl-section-depth);}
.fl-friends-dialog::backdrop {background:color-mix(in srgb,var(--ircnet-theme-bg,var(--bg-primary)) 65%,transparent);}
.fl-friends-dialog header button {font-size:22px;min-width:44px;}
.fl-friends-dialog textarea {resize:vertical;min-height:100px;}
.fl-friend-actions {display:flex;flex-direction:column;gap:8px;}
.fl-memo-row {padding:12px 0;border-bottom:1px solid var(--fl-section-border,var(--border-color));}
.fl-memo-row small {display:block;margin:4px 0;}
.fl-memo-row button {margin:4px 6px 0 0;}
.fl-memo-row pre {white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:none;}
.fl-friends-panel [hidden],.fl-friends-dialog [hidden] {display:none!important;}
/* Community's established tokens map to the same shared component contract. */
body:not(:has(.kiwi-wrap)) .fl-friends-dialog,.community-friends {
 --ircnet-theme-fg:var(--fl-text);--ircnet-theme-muted:var(--fl-muted);--ircnet-theme-panel:var(--fl-editorial);
 --ircnet-theme-bg:var(--fl-bg);--ircnet-theme-input:var(--fl-editorial);--fl-section-border:var(--fl-border);
 --fl-control-paint:var(--fl-editorial);--fl-selected-paint:var(--fl-raised);--fl-focus:var(--fl-secondary);--fl-link:var(--fl-secondary);
}
.community-friends {max-width:520px;margin:16px auto;padding:12px;--fl-section-paint:var(--fl-raised);}
.community-friends>[data-friends-manage] {margin-bottom:8px;}
.fl-profile-friends {min-height:44px;border-radius:var(--fl-control-radius);background:var(--fl-control-paint);color:var(--ircnet-theme-fg);border:1px solid var(--fl-section-border);padding:8px 12px;}
