.anime-comments { margin-top: 28px; padding: 26px 28px 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); scroll-margin-top: 84px; }
.comments-caption { color: var(--muted); font-size: 13px; }
.comment-editor { padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fbf9f6; }
.comment-compose > label { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 650; }
.comment-editor textarea { display: block; width: 100%; min-height: 110px; max-height: 320px; resize: vertical; padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--text); font: inherit; font-size: 15px; line-height: 1.75; }
.comment-editor textarea::placeholder { color: #857b80; }
.comment-editor textarea:focus, .comment-captcha input:focus { outline: 2px solid var(--schedule-updated-border); outline-offset: 1px; border-color: var(--pink-text); }
.comment-editor-meta { display: flex; justify-content: space-between; gap: 14px; margin-top: 8px; font-size: 12px; color: var(--muted); }
[data-comment-length] { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.comment-editor-actions { display: flex; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 16px; }
.comment-captcha { display: grid; gap: 7px; width: min(100%, 330px); font-size: 13px; }
.comment-captcha-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; }
.comment-captcha-heading label { color: #625b60; font-weight: 600; font-size: 12px; }
.comment-captcha-heading > span { color: var(--muted); font-size: 11px; }
.comment-captcha-fields { display: grid; grid-template-columns: minmax(80px, 1fr) minmax(130px, 160px); gap: 8px; }
.comment-captcha input { width: 100%; min-width: 0; height: 46px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); font-size: 14px; }
.comment-captcha button { display: flex; align-items: stretch; width: 100%; height: 46px; padding: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: white; color: var(--pink-text); }
.comment-captcha-picture { display: grid; flex: 1; place-items: center; min-width: 0; font-size: 11px; line-height: 1.5; }
.comment-captcha img { display: block; width: 100%; height: 44px; object-fit: contain; }
.comment-captcha-refresh { display: grid; align-content: center; padding: 0 6px; border-left: 1px solid var(--line); background: var(--surface-soft); font-size: 10px; white-space: nowrap; }
.comment-captcha button:hover .comment-captcha-refresh { background: var(--schedule-updated-bg); }
.comment-submit-group { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-left: auto; }
.comment-submit-group a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pink-text); font-size: 13px; }
.comment-submit { min-width: 112px; min-height: 44px; padding: 0 22px; border: 0; border-radius: 6px; background: var(--pink-text); color: white; font: inherit; font-size: 14px; font-weight: 650; }
.comment-submit:hover { filter: brightness(.94); }
.comment-submit:disabled { cursor: wait; opacity: .65; }
.comment-reply-target { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); color: var(--pink-text); font-size: 13px; }
.comment-reply-target span { overflow-wrap: anywhere; min-width: 0; }
.comment-reply-target button { flex-shrink: 0; }
.comment-feedback { margin: 14px 0 0; color: #b23a4d; font-size: 13px; line-height: 1.6; }
.comment-feedback.is-success { color: var(--pink-text); }
.comments-loading, .comments-load-error { padding: 28px 0 0; color: var(--muted); font-size: 14px; text-align: center; }
.comments-load-error button { margin-left: 12px; }
.comment-list { list-style: none; padding: 0; margin: 8px 0 0; }
.comment-thread { padding: 24px 0; border-bottom: 1px solid var(--line); }
.comment-thread:last-child { padding-bottom: 0; border-bottom: 0; }
.comment-entry { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
.comment-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--schedule-updated-bg); color: var(--pink-text); font-size: 15px; font-weight: 650; }
.comment-entry-body { min-width: 0; }
.comment-entry-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; }
.comment-entry-meta strong { color: #52454f; font-weight: 650; overflow-wrap: anywhere; }
.comment-entry-meta time { color: var(--muted); font-size: 12px; }
.comment-text { margin: 8px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #625b60; font-size: 14px; line-height: 1.8; }
.comment-text.is-collapsed { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.comment-entry-actions { display: flex; gap: 16px; }
.anime-comments button[data-comment-reply], .anime-comments button[data-expand-comment], .anime-comments button[data-cancel-reply], .anime-comments button[data-comments-retry] { min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--pink-text); font-size: 13px; }
.comment-replies { margin-top: 4px; padding: 4px 16px; border-radius: 6px; background: var(--surface-soft); }
.comment-reply { padding: 12px 0; border-bottom: 1px solid var(--line); }
.comment-reply:last-child { border-bottom: 0; }
.comment-more-replies summary { min-height: 44px; align-content: center; color: var(--pink-text); cursor: pointer; font-size: 13px; }
.comment-pagination { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 26px; font-size: 13px; color: var(--muted); }
.comment-pagination button { min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--pink-text); }
.comment-pagination button:disabled { color: var(--muted); cursor: default; opacity: .55; }
.comments-empty { padding: 34px 12px 12px; text-align: center; color: var(--muted); }
.comments-empty svg { width: 30px; height: 30px; color: #bfa7ad; margin-bottom: 8px; }
.comments-empty p { margin: 0 0 6px; font-size: 14px; color: #625b60; }
.comments-empty span { font-size: 13px; }
.anime-comments [hidden] { display: none !important; }
@media (max-width: 767px) {
  .anime-comments { margin-top: 20px; padding: 20px 14px; border-radius: 10px; }
  .comments-caption { display: none; }
  .comment-editor { padding: 14px; }
  .comment-editor textarea { font-size: 16px; padding: 10px; }
  .comment-editor-meta { font-size: 11px; gap: 8px; }
  .comment-captcha { width: 100%; }
  .comment-captcha input { font-size: 16px; }
  .comment-submit-group { width: 100%; }
  .comment-submit { width: 100%; }
  .comment-entry { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; }
  .comment-avatar { width: 30px; height: 30px; font-size: 13px; }
  .comment-entry-meta { gap: 4px; flex-direction: column; align-items: flex-start; }
  .comment-text { font-size: 14px; }
  .comment-replies { padding-inline: 12px; }
}

/* Discussion navigation and member actions */
.comments-list-area{scroll-margin-top:96px}.comment-entry-actions{align-items:center;flex-wrap:wrap;gap:10px 16px}.comment-social-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px}.comment-social-actions button{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:3px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.comment-social-actions svg{width:16px;height:16px}.comment-social-actions button:hover,.comment-social-actions button[aria-pressed=true]{color:var(--pink-text)}.comment-social-actions button[aria-pressed=true] svg{fill:var(--pink-soft,#fcecf1)}.comment-social-actions button:disabled{cursor:default;opacity:.6}.comment-social-feedback{font-size:12px;color:var(--pink-text)}.comment-social-actions button:focus-visible,.comment-pagination button:focus-visible{outline:2px solid var(--pink-text);outline-offset:3px}.comment-pagination{flex-wrap:wrap;gap:16px 24px}.comment-page-buttons,.comment-page-jump{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.comment-page-buttons button{min-width:40px;padding:0 12px;font-variant-numeric:tabular-nums}.comment-page-buttons button[aria-current=page]{background:var(--pink-text);border-color:var(--pink-text);color:#fff;font-weight:600}.comment-page-ellipsis{padding:0 3px}.comment-page-jump{font-size:12px;color:var(--muted)}.comment-page-jump input{width:52px;min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);text-align:center;font:inherit}.comment-page-jump button{min-height:40px;padding:0 12px}.comment-report-dialog{position:fixed;inset:0;margin:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);padding:0;width:480px;max-width:calc(100% - 28px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 22px 80px #30252d40}.comment-report-dialog::backdrop{background:#231d2759}.comment-report-dialog header{display:flex;justify-content:space-between;gap:16px;padding:24px 24px 16px}.comment-report-dialog h3{font-size:20px;margin:0;font-weight:650}.comment-report-dialog header p{color:var(--muted);font-size:13px;margin:8px 0 0}.comment-report-dialog header button{width:32px;height:32px;border:0;background:none;font-size:25px;color:var(--muted);cursor:pointer}.comment-report-dialog form{padding:0 24px 24px}.comment-report-dialog blockquote{margin:0 0 20px;padding:12px 14px;border-left:3px solid var(--line);background:var(--surface-soft,#f7f3f1);border-radius:4px;color:var(--muted);font-size:13px;line-height:1.7;max-height:116px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.comment-report-dialog fieldset{border:0;padding:0;margin:0 0 20px}.comment-report-dialog legend{font-size:13px;font-weight:600;margin-bottom:12px}.comment-report-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comment-report-types label{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px;cursor:pointer}.comment-report-types input{accent-color:var(--pink-text)}.comment-report-types label:has(input:checked){border-color:var(--pink-text);background:#fff0f4;color:var(--pink-text)}.comment-report-detail-label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.comment-report-detail-label span{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:4px}.comment-report-dialog textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:6px;resize:vertical;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.comment-report-dialog [data-report-feedback]{color:var(--pink-text);font-size:13px;line-height:1.6}.comment-report-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.comment-report-dialog footer button{min-height:42px;padding:0 20px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface);font:inherit;font-size:14px;cursor:pointer}.comment-report-dialog footer button[type=submit]{background:var(--pink-text);border-color:var(--pink-text);color:#fff}.comment-report-dialog button:disabled{opacity:.6;cursor:wait}.comment-report-dialog :focus-visible{outline:2px solid var(--pink-text);outline-offset:2px}
@media(max-width:600px){.comment-page-buttons{gap:5px}.comment-page-buttons button{min-width:32px;padding:0 8px;font-size:12px}.comment-pagination{gap:12px}.comment-social-actions{gap:16px}.comment-social-actions button{min-height:44px}.comment-report-dialog header{padding:20px 18px 14px}.comment-report-dialog form{padding:0 18px 20px}.comment-report-dialog textarea{font-size:16px}.comment-report-types{gap:8px}.comment-report-types label{min-height:44px;padding:8px;font-size:12px}.comment-report-dialog footer button{min-height:44px}}

@media(max-width:600px){.comment-page-buttons{gap:4px}.comment-page-buttons button{min-width:28px;padding:0 6px}.comment-page-buttons button[aria-label="上一页评论"],.comment-page-buttons button[aria-label="下一页评论"]{font-size:0;width:28px;padding:0}.comment-page-buttons button[aria-label="上一页评论"]::after{content:"‹";font-size:20px}.comment-page-buttons button[aria-label="下一页评论"]::after{content:"›";font-size:20px}.comment-page-ellipsis{padding:0;font-size:12px}}

.comment-avatar{display:block;object-fit:cover;flex-shrink:0;overflow:hidden;border:1px solid var(--line)}
.comment-reply .comment-avatar{width:26px;height:26px}
.comment-reply .comment-entry-meta{gap:6px 10px}

.comment-compose { min-width: 0; margin: 0; padding: 0; border: 0; }
.comment-login-gate { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 192px; gap: 8px; padding: 20px 12px; border: 1px dashed #e5ccd3; border-radius: 7px; background: var(--surface); text-align: center; }
.comment-login-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 2px; border-radius: 12px; color: var(--pink-text); background: var(--schedule-updated-bg); }
.comment-login-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.comment-login-gate strong { color: var(--text); font-size: 16px; font-weight: 650; }
.comment-login-gate p { margin: 0; color: var(--muted); font-size: 13px; }
.comment-login-button { display: inline-flex; align-items: center; justify-content: center; min-width: 116px; min-height: 44px; margin-top: 6px; padding: 0 20px; border-radius: 6px; background: var(--pink-text); color: white; font-size: 14px; font-weight: 650; }
.comment-login-button:hover { background: #a63350; }
.comment-rules { margin-top: 18px; border: 1px solid #e9e2de; border-radius: 6px; background: #f5f1ee; color: #70666a; font-size: 13px; line-height: 1.8; }
.comment-rules summary { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border-radius: 6px; list-style: none; cursor: pointer; }
.comment-rules summary::-webkit-details-marker { display: none; }
.comment-rules summary:hover { background: #efe8e4; }
.comment-rules summary svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.comment-rules-icon { width: 20px; height: 20px; color: #a56b7b; }
.comment-rules-title { color: #62565d; font-weight: 500; }
.comment-rules-toggle { display: inline-flex; align-items: center; gap: 5px; color: var(--pink-text); font-size: 12px; white-space: nowrap; }
.comment-rules-toggle svg { width: 16px; height: 16px; }
.comment-rules .comment-rules-collapse, .comment-rules[open] .comment-rules-expand { display: none; }
.comment-rules[open] .comment-rules-collapse { display: inline; }
.comment-rules[open] .comment-rules-toggle svg { transform: rotate(180deg); }
.comment-rules-body { margin: 0 14px; padding: 12px 0 14px; border-top: 1px solid #e3dad5; overflow-wrap: anywhere; }
.comment-rules-body strong { color: #62565d; font-size: 12px; font-weight: 600; }
.comment-rules-body p { margin: 6px 0 0; }
@media (max-width: 479px) {
  .comment-rules summary { gap: 6px 8px; padding: 10px; }
  .comment-rules-title { font-size: 12px; }
  .comment-rules-body { margin-inline: 10px; font-size: 12px; }
}
@media (max-width: 359px) {
  .comment-rules summary { grid-template-columns: 20px minmax(0, 1fr); }
  .comment-rules-toggle { grid-column: 2; justify-self: start; }
}
.comment-login-button:focus-visible, .comment-rules summary:focus-visible, .comment-captcha button:focus-visible { outline: 2px solid var(--pink-text); outline-offset: 3px; }
@media (max-width: 767px) { .comment-login-gate { min-height: 196px; padding-inline: 8px; } }

/* Fixed local emotes; comment storage remains plain text. */
.comment-emotes { position: relative; margin-top: 10px; width: 100%; }
.comment-emote-trigger { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 8px; border: 0; border-radius: 5px; background: transparent; color: #70666a; font: inherit; font-size: 12px; }
.comment-emote-trigger svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.comment-emote-trigger:hover, .comment-emote-trigger[aria-expanded=true] { color: var(--pink-text); background: var(--schedule-updated-bg); }
.comment-emote-panel { position: absolute; top: calc(100% + 6px); left: 0; z-index: 25; width: min(360px, 100%); padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 8px 28px #40303920; }
.comment-emote-heading { display: flex; align-items: center; gap: 8px; padding-bottom: 8px; font-size: 12px; }
.comment-emote-heading strong { color: var(--text); }
.comment-emote-heading > span { color: var(--muted); font-size: 11px; }
.comment-emote-heading button { display: grid; place-items: center; margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font-size: 22px; }
.comment-emote-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; max-height: 290px; overflow-y: auto; overscroll-behavior: contain; }
.comment-emote-option { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 0; min-height: 58px; padding: 3px 0; border: 0; border-radius: 5px; background: transparent; color: #62565d; font: inherit; font-size: 11px; line-height: 1.5; }
.comment-emote-option:hover, .comment-emote-heading button:hover { background: var(--schedule-updated-bg); color: var(--pink-text); }
.comment-emote-glyph { display: none; }
.has-comment-emotes .comment-emote-glyph { display: inline-block; flex-shrink: 0; width: 38px; height: 38px; margin: 0 2px; vertical-align: middle; background-image: var(--comment-emote-atlas); background-size: 500% 500%; background-repeat: no-repeat; mix-blend-mode: multiply; font-size: 0; line-height: 0; }
.comment-emote-hint { margin: 8px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.comment-emotes button:focus-visible { outline: 2px solid var(--pink-text); outline-offset: -2px; }
@media (max-width: 479px) { .comment-emote-panel { padding: 8px; } .comment-emote-trigger { min-height: 44px; } .comment-emote-grid { gap: 2px; max-height: 260px; } .comment-emote-option { font-size: 10px; } }

.comment-auth-pending { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-height: 192px; padding: 20px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); font-size: 12px; }
.comment-auth-placeholder { display: grid; gap: 10px; width: min(240px, 75%); }
.comment-auth-placeholder span { display: block; height: 8px; border-radius: 4px; background: #eee9e5; }
.comment-auth-placeholder span:last-child { width: 65%; justify-self: center; }
.comment-auth-pending button[data-comments-retry] { min-height: 36px; }
@media (max-width: 767px) { .comment-auth-pending { min-height: 196px; } }
