.anipa-forum-shell {
    display: grid;
    gap: 22px;
}
.anipa-forum-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}
.anipa-forum-header h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 2vw, 2rem); }
.anipa-forum-header p { margin: 0; color: #4b5563; }
.anipa-forum-grid { display: grid; gap: 24px; }
.anipa-question-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0,0,0,.05);
}
.anipa-question-badge {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 6px 12px; border-radius: 999px; background: #111827; color: #fff;
    font-size: .82rem; margin-bottom: 14px;
}
.anipa-question-card h3 { margin: 0 0 12px; font-size: 1.45rem; }
.anipa-question-description { color: #4b5563; margin-bottom: 10px; }
.anipa-docs-box, .anipa-comments-box, .anipa-comment-form-box {
    margin-top: 18px; padding: 18px; background: #f9fafb; border: 1px solid #eceff3; border-radius: 14px;
}
.anipa-docs-box h4, .anipa-comments-head h4 { margin: 0; }
.anipa-doc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.anipa-doc-list li {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px 14px;
}
.anipa-download-btn, .anipa-submit-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 16px; border-radius: 10px; text-decoration: none; font-weight: 600;
    border: none; cursor: pointer; background: #111827; color: #fff;
}
.anipa-download-btn:hover, .anipa-submit-btn:hover { opacity: .92; color: #fff; }
.anipa-comments-head { display:flex; justify-content:space-between; align-items:center; margin-bottom: 12px; }
.anipa-comments-head span { font-weight:700; color:#374151; }
.anipa-comments-list { display:grid; gap:14px; }
.anipa-comment-item {
    background:#fff; border:1px solid #e5e7eb; border-radius: 14px; padding:14px;
}
.anipa-comment-meta { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:10px; color:#4b5563; font-size:.95rem; }
.anipa-role-badge { background:#dbeafe; color:#1d4ed8; border-radius:999px; padding:2px 8px; font-size:.78rem; font-weight:700; }
.anipa-comment-body { color:#111827; line-height:1.6; }
.anipa-replies { margin-top:12px; padding-left:18px; border-left:3px solid #e5e7eb; display:grid; gap:10px; }
.anipa-comment-reply { background:#f8fafc; }
.anipa-reply-toggle { margin-top: 10px; }
.anipa-reply-toggle summary { cursor:pointer; color:#1f2937; font-weight:600; }
.anipa-comment-form label { display:block; margin-bottom:8px; font-weight:600; }
.anipa-comment-form textarea {
    width:100%; min-height:100px; border-radius:12px; border:1px solid #d1d5db;
    padding:12px; box-sizing:border-box; margin-bottom:14px;
}
.anipa-notice { border-radius:12px; padding:14px 16px; margin-bottom:6px; }
.anipa-notice.success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.anipa-notice.error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.anipa-login-required, .anipa-muted { color:#374151; }
@media (max-width: 768px) {
    .anipa-question-card, .anipa-forum-header { padding:18px; }
    .anipa-doc-list li { align-items:flex-start; flex-direction:column; }
}
