/* Reviews UI for game.php (safe: does not affect score/mobile tweaks) */

.reviewWrap{margin-top:16px}
.reviewBox{padding:14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.reviewHead{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.reviewTitle{font-weight:700;color:#7fff7f}
.reviewMeta{opacity:.85;font-size:.95em;margin-top:4px}

.reviewMsg{margin:10px 0;padding:10px;border-radius:10px}
.reviewErr{background:rgba(255,0,0,.12);border:1px solid rgba(255,0,0,.25)}
.reviewOk{background:rgba(0,255,0,.10);border:1px solid rgba(0,255,0,.18)}

.reviewForm textarea{width:100%;margin:10px 0;border-radius:10px;padding:10px;resize:vertical;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12);color:inherit}
.reviewActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reviewActions button{padding:10px 14px;border-radius:10px;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:inherit}
.reviewActions .dangerBtn{border-color:rgba(255,80,80,.35);background:rgba(255,80,80,.10)}
.cooldownHint{opacity:.75;font-size:.9em;margin-left:auto}

.reviewRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reviewLabel{opacity:.85}

.starPicker{display:inline-flex;flex-direction:row-reverse;gap:4px}
.starPicker input{display:none}
.starPicker label{font-size:22px;line-height:1;cursor:pointer;opacity:.35;user-select:none}
.starPicker input:checked ~ label,
.starPicker label:hover,
.starPicker label:hover ~ label{opacity:1}

.reviewLoginHint{opacity:.85;padding:8px 0}
.reviewList{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.reviewItem{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.08)}
.reviewItem.isHidden{opacity:.6;border-style:dashed}
.reviewTop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reviewUser{font-weight:700}
.reviewStars{letter-spacing:1px}
.reviewDate{opacity:.75;font-size:.9em}
.reviewText{margin-top:6px;white-space:normal;word-break:break-word}
.reviewEmpty{opacity:.8}

.adminInline{margin-left:auto;display:flex;gap:8px;align-items:center}
.adminInline button{padding:6px 10px;border-radius:10px;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:inherit}

@media (max-width: 600px){
  .starPicker label{font-size:20px}
  .cooldownHint{margin-left:0;width:100%}
  .adminInline{width:100%;margin-left:0}
}



/* review textarea size */
.reviewForm textarea{
  min-height: 70px;
  max-height: 180px;
  resize: vertical;
}

/* link preview */
.linkPreview{margin-top:8px}
.lp{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;
    border:1px solid rgba(255,255,255,.10);text-decoration:none}
.lpFav{width:20px;height:20px;border-radius:4px;flex:0 0 20px}
.lpTxt{display:flex;flex-direction:column;gap:2px;min-width:0}
.lpTitle{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lpHost{opacity:.75;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* report */
.reportDetails{margin-left:auto}
.reportBtn{cursor:pointer;opacity:.85;font-size:.9em}
.reportForm{display:flex;gap:8px;align-items:center;margin-top:8px}
.reportForm input[type="text"]{flex:1;min-width:160px;padding:8px;border-radius:8px}
.reportForm button{padding:8px 10px;border-radius:8px;cursor:pointer}

.reviewBox,
.reviewForm {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.reviewForm textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
}

