.event-chat{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.event-chat-log{height:200px;overflow-y:auto;overscroll-behavior:auto;padding:10px 13px;overflow-wrap:anywhere}
.event-chat-messages{display:flex;flex-direction:column;gap:2px}
.event-chat-message{font-size:14px;line-height:1.4;white-space:pre-wrap;margin:2px 0}
.event-chat-author{font:inherit;font-weight:700;color:#254ead;cursor:pointer;margin-right:6px}
.event-chat-time{font-size:12px;color:#9ca3af;margin-left:6px;white-space:nowrap}
.event-chat-text{color:#334155}
.event-chat-note,.event-chat-error{padding:8px 13px;margin:0;color:#64748b;font-size:14px}.event-chat-error{color:#b91c1c}
html.fs-app-theme-dark .event-chat-text{color:var(--fs-app-text,#f8fafc)}
html.fs-app-theme-dark .event-chat-author{color:#93c5fd}
html.fs-app-theme-dark .event-chat-form{border-color:var(--fs-app-border,#334155)}
html.fs-app-theme-dark .event-chat-form input[type=text]{background:var(--fs-app-surface-2,#1b2738);color:var(--fs-app-text,#f8fafc);border-color:var(--fs-app-border,#334155)}

.event-chat h2{display:flex;justify-content:space-between;align-items:center;gap:8px}
.event-chat-translate-setting{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:400;white-space:nowrap;cursor:pointer}
.event-chat-tr{display:inline;border:0;background:none;padding:0 0 0 6px;font:inherit;font-size:11px;color:#2563eb;cursor:pointer}
.event-chat-tr-wait{font-size:11px;color:#94a3b8;padding-left:6px}
html.fs-app-theme-dark .event-chat-tr{color:#93c5fd}

  .event-chat-form { position:relative; display:flex; flex-direction:column; gap:6px; padding:8px 12px; border-top:1px solid #e5e7eb; }
  .event-chat-compose-row { display:flex; align-items:center; gap:6px; min-width:0; }
  .event-chat .event-chat-tool { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:1px solid #d1d5db; border-radius:9px; background:#fff; color:#374151; cursor:pointer; }
  .event-chat-tool:hover { background:#f8fafc; }
  .event-chat-tool:disabled { opacity:.45; cursor:not-allowed; }
  .event-chat-tool svg { width:18px; height:18px; display:block; }
  .event-chat .event-chat-emoji { font-size:20px; line-height:1; }
  .event-chat-input-shell { position:relative; flex:1 1 auto; min-width:0; }
  .event-chat-form input[type=text] { display:block; width:100%; min-width:0; height:32px; box-sizing:border-box; padding:0 40px 0 8px; border:1px solid #d1d5db; border-radius:8px; font-size:14px; }
  .event-chat .event-chat-send { position:absolute; z-index:1; right:3px; top:50%; transform:translateY(-50%) scale(.82); display:inline-flex; align-items:center; justify-content:center; width:27px; height:27px; padding:0; border:0; border-radius:7px; background:#254EAD; color:#fff; cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .12s ease, transform .12s ease, visibility 0s linear .12s; }
  .event-chat .event-chat-send.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(-50%) scale(1); transition-delay:0s; }
  .event-chat .event-chat-send:disabled { opacity:.45; cursor:not-allowed; }
  .event-chat-send svg { width:16px; height:16px; display:block; }
  .event-chat-send.is-loading svg { visibility:hidden; }
  .event-chat-send.is-loading::after { content:''; position:absolute; width:13px; height:13px; border:2px solid rgba(255,255,255,.42); border-top-color:#fff; border-radius:50%; animation:eventChatSpin .65s linear infinite; }
  @keyframes eventChatSpin { to { transform:rotate(360deg); } }
  .event-chat-file { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
  .event-chat-preview { display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; padding:5px; border:1px solid #dbe3ef; border-radius:9px; background:#f8fafc; }
  .event-chat-preview[hidden] { display:none; }
  .event-chat-preview img { display:block; width:56px; height:56px; border-radius:7px; object-fit:cover; background:#e5e7eb; }
  .event-chat-caption-note { max-width:230px; font-size:12px; color:#b91c1c; overflow-wrap:anywhere; }
  .event-chat-photo-remove { width:28px; height:28px; border:0; border-radius:50%; background:#e5e7eb; color:#374151; font-size:20px; line-height:1; cursor:pointer; }
  /* 작성기 높이를 늘리지 않고 입력창 위의 채팅 로그에 겹쳐 뜨는 팝오버로 표시한다. */
  .event-chat-emojis { position:absolute; z-index:5; bottom:calc(100% - 2px); left:12px; right:12px; box-sizing:border-box; display:grid; grid-template-columns:repeat(8, minmax(28px,1fr)); gap:2px; max-height:132px; overflow-y:auto; padding:6px; border:1px solid #dbe3ef; border-radius:9px; background:#fff; box-shadow:0 8px 22px rgba(15,23,42,.18); }
  .event-chat-emojis[hidden] { display:none; }
  .event-chat .event-chat-emojis button { display:flex; align-items:center; justify-content:center; min-width:0; height:30px; padding:0; border:0; border-radius:6px; background:transparent; font-size:20px; cursor:pointer; }
  .event-chat-emojis button:hover,.event-chat-emojis button:focus-visible { background:#eef2ff; outline:none; }
  .event-chat-image-wrap { display:block; margin:4px 0 2px; }
  .event-chat-image-open { display:block; max-width:min(230px, 78%); padding:0; border:0; border-radius:9px; background:#eef2f7; overflow:hidden; cursor:zoom-in; }
  .event-chat-image-open img { display:block; width:auto; max-width:100%; max-height:180px; object-fit:cover; }
  .event-chat-lightbox { position:fixed; inset:0; z-index:100100; display:flex; align-items:center; justify-content:center; padding:28px; background:rgba(0,0,0,.82); }
  .event-chat-lightbox[hidden] { display:none; }
  .event-chat-lightbox img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
  .event-chat-lightbox button { position:absolute; top:max(12px, env(safe-area-inset-top)); right:12px; width:40px; height:40px; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(0,0,0,.45); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
  html.fs-app-theme-dark .event-chat-tool,
  html.fs-app-theme-dark .event-chat-emojis { border-color:var(--fs-app-border); background:var(--fs-app-surface-2); color:var(--fs-app-text); }
  html.fs-app-theme-dark .event-chat-tool:hover,
  html.fs-app-theme-dark .event-chat-emojis button:hover,
  html.fs-app-theme-dark .event-chat-emojis button:focus-visible { background:var(--fs-app-surface-3, #334155); }
  html.fs-app-theme-dark .event-chat-form input[type=text] { border-color:var(--fs-app-border); background:var(--fs-app-surface); color:var(--fs-app-text); }
  html.fs-app-theme-dark .event-chat-preview { border-color:var(--fs-app-border); background:var(--fs-app-surface-2); }
  html.fs-app-theme-dark .event-chat-photo-remove { background:var(--fs-app-surface-3, #334155); color:var(--fs-app-text); }

.event-chat [hidden],.event-chat-lightbox[hidden]{display:none!important}
.event-chat .ob-chat-photo{width:18px;height:18px;border-radius:50%;object-fit:cover;border:1px solid rgba(0,0,0,.12);box-sizing:border-box;vertical-align:-5px;margin-right:4px}
.event-chat .oc-flag{width:20px;height:15px;object-fit:cover;border-radius:2px;border:1px solid rgba(0,0,0,.15);box-sizing:border-box;vertical-align:-3.5px;margin-right:4px}
.event-chat .ocpv-verified-badge{margin-left:-2px!important;margin-right:6px;vertical-align:middle!important}
.event-chat .oc-donor-badge{vertical-align:-3px!important}
.event-chat-author:hover,.event-chat-author:focus-visible{color:#0d6efd;text-decoration:underline;outline:none}
.event-chat-text .ob-chat-link{color:#0d6efd;text-decoration:underline;overflow-wrap:anywhere}
html.fs-app-theme-dark .event-chat-text .ob-chat-link{color:#7cb3ff}
html.fs-app-theme-dark .event-chat-form{border-color:var(--fs-app-border,#334155)}
.event-chat .event-chat-form input[type=text]{font:inherit;font-size:16px}

.event-chat-closed-note{border-top:1px solid #e5e7eb;background:#f8fafc}
.event-chat.is-chat-closed input[type=text],.event-chat-form input[type=text]:disabled{padding-right:8px;cursor:not-allowed;opacity:.65}
.event-chat.is-chat-closed .event-chat-send{display:none}
html.fs-app-theme-dark .event-chat-closed-note{border-color:var(--fs-app-border,#334155);background:var(--fs-app-surface-2,#1b2738);color:var(--fs-app-muted,#a8b3c5)}
