.gpcc-comments{margin:var(--gap-xl) 0;padding:var(--gap) 0}.gpcc-comments__header{margin-bottom:var(--gap-lg)}.gpcc-comments__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text);margin:0}.gpcc-comments__content{display:grid;gap:var(--gap-lg)}.gpcc-skin .gpcc-comments__notice{padding:var(--gap-sm) var(--gap);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-sm)}.gpcc-skin .gpcc-comments__notice--success{border-color:var(--success);background:var(--success-soft);color:var(--success)}.gpcc-skin .gpcc-comments__notice--pending{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.gpcc-skin .gpcc-comments__notice p{margin:0}.gpcc-comments__list{display:grid;gap:var(--gap)}.gpcc-comments__empty{text-align:center;padding:var(--gap-lg);background:var(--surface-1);border-radius:var(--radius-md);border:1px solid var(--border)}.gpcc-comments__empty p{color:var(--text-muted);margin:0}.gpcc-comments__replies{margin-left:var(--gap-lg);padding-left:var(--gap);border-left:2px solid var(--border);display:grid;gap:var(--gap-sm)}.gpcc-comments__load-more{text-align:center;margin-top:var(--gap)}.gpcc-comments__load-btn{background:var(--surface-1);color:var(--text);border:1px solid var(--border);padding:var(--gap-sm) var(--gap);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-fast)}.gpcc-comments__load-btn:hover{background:var(--surface-2)}.gpcc-comment{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap);display:grid;grid-template-columns:auto 1fr;gap:var(--gap-sm);align-items:start}.gpcc-comment--reply{background:var(--surface-2)}.gpcc-comment__avatar{width:48px;height:48px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.gpcc-comment__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.gpcc-comment__content{min-width:0}.gpcc-comment__header{display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-xs);flex-wrap:wrap}.gpcc-comment__author{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text);margin:0}.gpcc-comment__date{font-size:var(--text-xs);color:var(--text-muted)}.gpcc-comment__text{color:var(--text);line-height:var(--leading-relaxed);margin-bottom:var(--gap-sm)}.gpcc-comment__text p{margin:0 0 var(--gap-sm) 0}.gpcc-comment__text p:last-child{margin-bottom:0}.gpcc-comment__moderation{background:var(--warning-soft);color:var(--warning);padding:var(--gap-xs) var(--gap-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);border:1px solid var(--warning)}.gpcc-comment__footer{display:flex;align-items:center;gap:var(--gap-sm)}.gpcc-comment__reply-btn{background:0 0;border:none;color:var(--primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--gap-xs) var(--gap-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.gpcc-comment__reply-btn:hover{background:var(--primary-soft)}.gpcc-comments__form-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap)}.gpcc-comments__form-title{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text);margin:0 0 var(--gap) 0}.gpcc-comment-form{display:grid;gap:var(--gap)}.gpcc-comment-form__field{display:grid;gap:var(--gap-xs)}.gpcc-comment-form__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text);display:flex;align-items:center;gap:var(--gap-xs)}.gpcc-comment-form__required{color:var(--danger);font-weight:var(--font-bold)}.gpcc-comment-form__optional{color:var(--text-muted);font-weight:var(--font-regular);font-size:var(--text-xs)}.gpcc-comment-form__input,.gpcc-comment-form__textarea{padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-family);font-size:var(--text-base);transition:border-color var(--transition-fast)}.gpcc-comment-form__input:focus,.gpcc-comment-form__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.gpcc-comment-form__textarea{resize:vertical;min-height:120px;line-height:var(--leading-relaxed)}.gpcc-comment-form__help{font-size:var(--text-xs);color:var(--text-muted);margin:0}.gpcc-comment-form__submit{display:flex;justify-content:flex-start;margin-top:var(--gap-sm)}.gpcc-comment-form__button{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-fast)}.gpcc-comment-form__button:hover{background:var(--primary-hover)}.gpcc-comment-form__login-required{color:var(--text-muted);font-size:var(--text-sm);margin:0;text-align:center}.gpcc-comment-form__login-required a{color:var(--primary);text-decoration:none}.gpcc-comment-form__login-required a:hover{text-decoration:underline}@media (max-width:768px){.gpcc-comment{grid-template-columns:1fr;gap:var(--gap-sm)}.gpcc-comment__avatar{width:40px;height:40px;justify-self:start}.gpcc-comments__replies{margin-left:var(--gap);padding-left:var(--gap-sm)}.gpcc-comment-form__button{width:100%}}@media (max-width:480px){.gpcc-comments__title{font-size:var(--text-xl)}.gpcc-comments__form-title{font-size:var(--text-lg)}}