/* Paper Review (paid tool) — page-specific styles.
   Lives as an external file (not inline) so the strict CSP (style-src 'self')
   permits it. Loaded via <link rel="stylesheet"> from /tools/paper-review/. */

/* Tier picker on landing page */
.pr-tier-pick { border: 1px solid #ffffff14; border-radius: 8px; padding: 1rem 1.2rem; margin: 1.5rem 0 1rem; background: #0a0a0a; }
.pr-tier-pick legend { font-weight: 600; padding: 0 0.5rem; color: #c4b5fd; }
.pr-tier-option { display: flex; gap: 0.75rem; padding: 0.7rem 0.6rem; border-radius: 6px; cursor: pointer; align-items: flex-start; transition: background 0.15s; margin: 0.15rem 0; }
.pr-tier-option:hover { background: #ffffff06; }
.pr-tier-option input[type=radio] { margin: 0.3rem 0 0 0; accent-color: #7c3aed; width: 18px; height: 18px; flex-shrink: 0; }
.pr-tier-content { flex: 1; }
.pr-tier-head { display: block; font-size: 1rem; margin-bottom: 0.2rem; }
.pr-tier-head em { color: #c4b5fd; font-style: normal; font-weight: 600; }
.pr-tier-desc { display: block; font-size: 0.88rem; color: #9ca3af; line-height: 1.5; }
.pr-tier-premium { border: 1px solid #7c3aed44; background: #1e1b4b15; }

/* Checkout row */
.pr-checkout-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1.25rem 0 0.4rem; }
.pr-checkout-btn { font-size: 1.05rem; padding: 0.85rem 1.6rem; }
.pr-checkout-meta { font-size: 0.85rem; color: #9ca3af; margin: 0; }

/* Four-layer explainer */
.pr-layers { margin: 2.5rem 0 1rem; }
.pr-layer-list { padding-left: 1.25rem; }
.pr-layer-list li { margin: 0.6rem 0; line-height: 1.55; }
.pr-layer-list li strong { color: #e5e7eb; }

/* Sample-output drawer */
.pr-sample { margin: 1.5rem 0; border: 1px solid #ffffff14; border-radius: 8px; padding: 0.4rem 1rem; background: #0a0a0a; }
.pr-sample summary { cursor: pointer; padding: 0.6rem 0; font-weight: 600; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pr-sample summary::-webkit-details-marker { display: none; }
.pr-sample-toggle { font-size: 0.85rem; color: #a5b4fc; font-weight: 400; }
.pr-sample[open] .pr-sample-toggle::after { content: " — close"; }
.pr-sample-body pre { background: #0f0f17; border: 1px solid #ffffff10; border-radius: 4px; padding: 0.75rem 1rem; font-size: 0.78rem; line-height: 1.5; color: #d4d4d4; white-space: pre-wrap; overflow-x: auto; max-height: 28rem; overflow-y: auto; margin: 0 0 0.6rem; }

/* Pricing block */
.pr-pricing { margin: 1.5rem 0; }
.pr-pricing ul { padding-left: 1.25rem; }
.pr-pricing li { margin: 0.35rem 0; }

/* Upload page */
.pr-upload-wrap { margin-top: 1rem; }
.pr-domain-pick { margin: 1rem 0; }
.pr-domain-pick legend { font-weight: 600; margin-bottom: 0.5rem; }
.pr-domain-pick label { display: flex; align-items: center; gap: 0.55rem; padding: 0.45rem 0.6rem; cursor: pointer; border-radius: 6px; transition: background 0.15s; }
.pr-domain-pick label:hover { background: #ffffff08; }
.pr-domain-pick input[type=radio] { accent-color: #7c3aed; width: 16px; height: 16px; flex-shrink: 0; }
.pr-domain-pick .pr-domain-desc { font-size: 0.82rem; color: #9ca3af; display: block; margin-left: 1.6rem; }

.pr-redeem-status { padding: 0.75rem 1rem; border-radius: 6px; background: #1e1b4b22; border: 1px solid #4c1d9544; color: #c4b5fd; font-size: 0.9rem; margin: 1rem 0; }
.pr-redeem-status.error { background: #4c1d1d22; border-color: #f8717144; color: #fca5a5; }

/* Generic form fields used across paid tool upload pages */
.pr-field-group { margin: 1rem 0; }
.pr-field-label { display: block; font-weight: 600; color: #e5e7eb; margin-bottom: 0.35rem; }
.pr-field-hint { color: #9ca3af; font-weight: 400; font-size: 0.85em; }
.pr-field-help { font-size: 0.82rem; color: #9ca3af; margin: 0.3rem 0 0; line-height: 1.5; }
.pr-input { width: 100%; padding: 0.55rem 0.75rem; border: 1px solid #ffffff22; border-radius: 6px; background: #0a0a0a; color: #e5e7eb; font: inherit; font-size: 0.95rem; box-sizing: border-box; }
.pr-input:focus { outline: 2px solid #7c3aed88; border-color: #7c3aed88; }
.pr-textarea { min-height: 8rem; resize: vertical; font-family: monospace; font-size: 0.85rem; line-height: 1.5; }
.pr-inline-check { display: flex; align-items: center; gap: 0.55rem; font-size: 0.95rem; padding: 0.6rem 0.4rem; border-radius: 6px; cursor: pointer; }
.pr-inline-check input[type=checkbox] { width: 16px; height: 16px; accent-color: #7c3aed; }
.pr-inline-check em { color: #c4b5fd; font-style: normal; font-size: 0.85em; }

/* Status / polling page */
.pr-progress-wrap { margin: 1.5rem 0 2rem; }
.pr-progress-bar { background: #0a0a0a; border: 1px solid #ffffff18; border-radius: 999px; overflow: hidden; height: 14px; position: relative; }
.pr-progress-fill { background: linear-gradient(90deg, #7c3aed 0%, #a78bfa 100%); height: 100%; transition: width 0.6s ease; width: 0%; }
.pr-progress-label { display: flex; justify-content: space-between; align-items: center; margin-top: 0.55rem; font-size: 0.85rem; color: #9ca3af; }
.pr-progress-pct { font-variant-numeric: tabular-nums; color: #c4b5fd; }
.pr-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-top: 1rem; }
.pr-stage { padding: 0.55rem 0.6rem; border: 1px solid #ffffff14; border-radius: 6px; font-size: 0.82rem; color: #9ca3af; background: #0a0a0a; }
.pr-stage.active { color: #c4b5fd; border-color: #7c3aed88; background: #7c3aed11; }
.pr-stage.done { color: #4ade80; border-color: #4ade8044; background: #14532d22; }
.pr-stage-label { font-weight: 600; }
.pr-stage-tag { display: block; font-size: 0.72rem; color: #6b7280; margin-top: 0.15rem; }

.pr-result-wrap { background: #0a0a0a; border: 1px solid #ffffff14; border-radius: 8px; padding: 1.2rem 1.4rem; margin: 1.5rem 0; }
.pr-result-meta { font-size: 0.85rem; color: #fbbf24; background: #78350f22; border-left: 3px solid #fbbf24; padding: 0.6rem 0.85rem; margin-bottom: 1.2rem; border-radius: 0 4px 4px 0; }
.pr-result-md { line-height: 1.6; }
.pr-result-md h1, .pr-result-md h2, .pr-result-md h3 { font-family: "Fraunces", Georgia, serif; }
.pr-result-md h1 { font-size: 1.6rem; margin: 0 0 0.6rem; }
.pr-result-md h2 { font-size: 1.25rem; margin: 1.5rem 0 0.6rem; color: #c4b5fd; }
.pr-result-md h3 { font-size: 1.05rem; margin: 1rem 0 0.35rem; }
.pr-result-md ul, .pr-result-md ol { padding-left: 1.4rem; }
.pr-result-md li { margin: 0.4rem 0; }
.pr-result-md pre { background: #0f0f17; border: 1px solid #ffffff10; border-radius: 4px; padding: 0.6rem 0.85rem; font-size: 0.8rem; overflow-x: auto; }
.pr-result-md code { background: #ffffff08; padding: 0.05em 0.35em; border-radius: 3px; font-size: 0.88em; }
.pr-result-md blockquote { border-left: 3px solid #7c3aed88; padding-left: 1rem; margin: 0.6rem 0; color: #d4d4d4; }
.pr-result-md strong { color: #f3f4f6; }

.pr-result-actions { display: flex; gap: 0.75rem; margin-top: 1.2rem; flex-wrap: wrap; }
.pr-invoice-pane { margin-top: 1.5rem; padding: 1rem 1.2rem; border: 1px solid #ffffff14; border-radius: 6px; background: #0a0a0a; }
.pr-invoice-pane h3 { margin-top: 0; font-size: 1.05rem; color: #c4b5fd; }

.pr-error-box { background: #4c1d1d22; border: 1px solid #f8717144; color: #fca5a5; padding: 1rem 1.2rem; border-radius: 6px; margin: 1rem 0; }
.pr-error-box code { background: #00000033; padding: 0.1em 0.4em; border-radius: 3px; }

@media (max-width: 740px) {
  .pr-stages { grid-template-columns: repeat(2, 1fr); }
}
