/* ═══════════════════════════════════════════════════════════════
   OmicsLab — Peer Review Simulator styles (Prompt 14)
   ═══════════════════════════════════════════════════════════════ */
.pr-wrap { max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }

.pr-header { margin-bottom: 1.5rem; }
.pr-badge { font-size: .65rem; font-weight: 700; letter-spacing: .12em; color: #bc8cff; background: rgba(188,140,255,.1); border: 1px solid rgba(188,140,255,.25); border-radius: 20px; padding: .25rem .7rem; display: inline-block; margin-bottom: .5rem; }
.pr-title { font-size: 1.9rem; font-weight: 700; margin: 0 0 .4rem; }
.pr-subtitle { color: #8b949e; font-size: .92rem; max-width: 620px; margin: 0; }

/* ── Layout ── */
.pr-main { display: grid; grid-template-columns: 380px 1fr; gap: 1.25rem; }
@media (max-width: 900px) { .pr-main { grid-template-columns: 1fr; } }

/* ── Cards ── */
.pr-card { background: #161b22; border: 1px solid #21262d; border-radius: 10px; padding: 1.1rem; margin-bottom: 1rem; }
.pr-card-title { font-size: .85rem; font-weight: 700; color: #e6edf3; margin-bottom: .75rem; }

/* ── Examples row ── */
.pr-examples-row { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin-bottom: .6rem; }
.pr-examples-label { font-size: .72rem; color: #6e7681; }
.pr-ex-btn { font-size: .7rem; padding: .2rem .5rem; border: 1px solid #30363d; border-radius: 5px; background: transparent; color: #8b949e; cursor: pointer; transition: all .12s; }
.pr-ex-btn:hover { border-color: #bc8cff; color: #bc8cff; }

/* ── Textarea ── */
.pr-textarea { width: 100%; box-sizing: border-box; background: #0d1117; border: 1px solid #30363d; border-radius: 6px; color: #e6edf3; font-family: 'Inter', sans-serif; font-size: .82rem; padding: .65rem .8rem; resize: vertical; line-height: 1.6; }
.pr-textarea:focus { outline: none; border-color: #bc8cff; }

/* ── Submit button ── */
.pr-submit-btn { display: flex; align-items: center; gap: .5rem; width: 100%; justify-content: center; padding: .65rem; background: linear-gradient(90deg, #1d1630, #1a1035); border: 1px solid #bc8cff; border-radius: 8px; color: #bc8cff; font-size: .88rem; font-weight: 700; cursor: pointer; transition: all .15s; margin-top: .5rem; }
.pr-submit-btn:hover { background: rgba(188,140,255,.12); box-shadow: 0 0 12px rgba(188,140,255,.2); }

.pr-status { font-size: .78rem; color: #8b949e; margin-top: .5rem; min-height: 1.2rem; }

/* ── Reviewer bios ── */
.pr-bios { display: flex; flex-direction: column; gap: .75rem; }
.pr-bios-title { font-size: .8rem; font-weight: 700; color: #8b949e; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .25rem; }
.pr-bio-card { background: #161b22; border: 1px solid #21262d; border-left: 3px solid var(--pr-color, #bc8cff); border-radius: 8px; padding: .75rem; display: flex; gap: .7rem; align-items: flex-start; }
.pr-bio-avatar { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.pr-bio-name { font-size: .82rem; font-weight: 700; color: #e6edf3; }
.pr-bio-title { font-size: .75rem; color: #8b949e; margin: .15rem 0; }
.pr-bio-focus { font-size: .72rem; color: var(--pr-color, #bc8cff); margin-bottom: .2rem; }
.pr-bio-personality { font-size: .72rem; color: #6e7681; font-style: italic; }

/* ── Empty state ── */
.pr-empty-state { padding: 2rem 1.5rem; background: #161b22; border: 1px solid #21262d; border-radius: 10px; }
.pr-empty-icon { display: flex; align-items: center; justify-content: center; color: var(--text-muted,#8b949e); margin-bottom: .5rem; }
.pr-empty-title { font-size: 1.1rem; font-weight: 700; color: #e6edf3; margin-bottom: .35rem; }
.pr-empty-text { font-size: .85rem; color: #8b949e; margin-bottom: 1.25rem; line-height: 1.55; }
.pr-checklist { background: #0d1117; border: 1px solid #21262d; border-radius: 7px; padding: .85rem 1rem; }
.pr-checklist-title { font-size: .78rem; font-weight: 700; color: #e6edf3; margin-bottom: .6rem; }
.pr-check-item { font-size: .78rem; color: #8b949e; padding: .2rem 0; }

/* ── Results ── */
.pr-results-header { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-bottom: 1.25rem; background: #161b22; border: 1px solid #21262d; border-radius: 10px; padding: 1.1rem; }
.pr-overall-badge { text-align: center; min-width: 140px; padding: .5rem 1rem; background: rgba(255,255,255,.03); border-radius: 8px; border: 1px solid rgba(255,255,255,.06); }
.pr-overall-icon { font-size: 2rem; }
.pr-overall-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: #8b949e; margin: .25rem 0; }
.pr-overall-verdict { font-size: 1.15rem; font-weight: 800; }
.pr-overall-score { font-size: .88rem; color: #8b949e; margin-top: .2rem; }
.pr-rubric-panel { flex: 1; }
.pr-rubric-title { font-size: .8rem; font-weight: 700; color: #8b949e; text-transform: uppercase; letter-spacing: .07em; margin-bottom: .65rem; }
.pr-rubric-row { display: flex; align-items: center; gap: .6rem; margin-bottom: .4rem; }
.pr-rubric-label { font-size: .78rem; color: #e6edf3; min-width: 180px; }
.pr-rubric-bar-wrap { flex: 1; height: 7px; background: #21262d; border-radius: 4px; overflow: hidden; }
.pr-rubric-bar { height: 100%; border-radius: 4px; transition: width .5s ease; }
.pr-rubric-score { font-size: .8rem; font-weight: 700; min-width: 28px; text-align: right; }
.pr-rubric-weight { font-size: .7rem; color: #6e7681; min-width: 30px; }
.pr-word-count { font-size: .72rem; color: #6e7681; margin-top: .5rem; }

/* ── Reviewer cards in results ── */
.pr-reviews-grid { display: flex; flex-direction: column; gap: 1rem; }
.pr-reviewer-card { background: #161b22; border: 1px solid #21262d; border-left: 3px solid var(--pr-color, #bc8cff); border-radius: 10px; padding: 1.1rem; }
.pr-rev-header { display: flex; align-items: flex-start; gap: .8rem; flex-wrap: wrap; margin-bottom: .75rem; }
.pr-rev-avatar { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .78rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.pr-rev-info { flex: 1; }
.pr-rev-name { font-size: .88rem; font-weight: 700; color: #e6edf3; }
.pr-rev-title { font-size: .75rem; color: #8b949e; }
.pr-rev-focus { font-size: .72rem; color: var(--pr-color, #bc8cff); margin-top: .2rem; }
.pr-rev-verdict { font-size: .85rem; font-weight: 700; white-space: nowrap; }
.pr-rev-opinion { font-size: .82rem; color: #8b949e; font-style: italic; border-left: 2px solid var(--pr-color, #bc8cff); padding-left: .7rem; margin-bottom: .8rem; line-height: 1.55; }
.pr-comment-section { margin-bottom: .6rem; }
.pr-comment-heading { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .3rem; }
.pr-heading-pos { color: #3fb950; }
.pr-heading-neg { color: #f97316; }
.pr-comment { display: flex; gap: .45rem; align-items: flex-start; font-size: .8rem; padding: .3rem 0; border-bottom: 1px solid rgba(48,54,61,.5); line-height: 1.5; }
.pr-comment:last-child { border-bottom: none; }
.pr-comment-icon { font-size: .75rem; font-weight: 700; flex-shrink: 0; padding-top: .05rem; }
.pr-comment-pos .pr-comment-icon { color: #3fb950; }
.pr-comment-pos { color: #8b949e; }
.pr-comment-neg .pr-comment-icon { color: #f97316; }
.pr-comment-neg { color: #e6edf3; }
.pr-no-comments { font-size: .8rem; color: #6e7681; font-style: italic; }
.pr-meta-note { font-size: .76rem; color: #6e7681; background: rgba(110,118,129,.06); border: 1px solid #21262d; border-radius: 6px; padding: .65rem .85rem; margin-top: 1rem; line-height: 1.55; }
