.review-card{height:440px;min-width:0;border:1px solid #ddd;border-radius:14px;background:#fff;overflow:hidden}.review-card-link{display:flex;flex-direction:column;height:100%;padding:22px;color:inherit;text-decoration:none}.review-card-link:focus-visible{outline:3px solid #24543d;outline-offset:-4px}.review-by{display:flex;align-items:center;gap:12px;min-width:0}.review-by>div{min-width:0}.review-avatar{width:54px;height:54px;flex:0 0 54px;object-fit:cover;border-radius:50%;background:#edf3ef}.review-avatar-empty{display:grid;place-items:center;color:#7b8e83;font-size:32px}.review-author{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:700}.review-by time{display:block;color:#777;font-size:12px;margin-top:4px}.review-card h2{font-size:19px;line-height:1.4;min-height:2.8em;margin:16px 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.review-excerpt{font-size:15px;line-height:1.7;white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;overflow-wrap:anywhere;margin:0}.review-card-bottom{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;font-size:12px;color:#24543d}.review-card-bottom>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.review-stars{color:#996700;white-space:nowrap}.review-detail-label{font-size:12px;margin-top:10px}.review-full-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.review-report{margin:24px 0}.review-report img{display:block;max-width:100%;height:auto}.review-report figcaption{font-size:12px;color:#666;margin-top:8px}#reviewDialog{width:min(760px,calc(100% - 24px));max-height:90dvh;border:1px solid #ddd;border-radius:16px;padding:24px;overflow:auto}#reviewDialog::backdrop{background:#0008}#reviewDialog .close{float:right;padding:9px 14px;background:#fff;border:1px solid #bbb;border-radius:8px;cursor:pointer}#reviewDetail{clear:both;padding-top:16px}@media(max-width:760px){.review-card{height:440px}.review-card-link{padding:20px}}

.review-attachment-preview{display:block;width:100%;height:132px;flex:0 0 132px;object-fit:contain;background:#f4f7f5;border-radius:8px;margin-top:14px}.review-card-link:has(.review-attachment-preview) .review-excerpt{-webkit-line-clamp:2}.review-card-link:has(.review-attachment-preview) h2{margin-top:12px}
