.roleplay-journal { min-width:0; }
.roleplay-list-surface { min-width:0; margin-top:20px; color:#30264f; background:linear-gradient(140deg,#fff7df 0%,#edf8ff 65%,#f3eaff 100%); }
.roleplay-staff .roleplay-list-surface { padding:0; border:0; box-shadow:none; background:transparent; }
.roleplay-journal .page-heading p,
.roleplay-reading p { max-width:none; }
.roleplay-journal :is(p,label,select,input),
.roleplay-form :is(p,label,legend),
.roleplay-reading { font-family:var(--body,'VT323',monospace); }
.roleplay-welcome { background:linear-gradient(115deg,#fff5cd,#eefaff 62%,#f3e8ff); }
.roleplay-welcome p { margin:0 0 16px; font-size:24px; line-height:1.45; }
.roleplay-actions,.roleplay-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0; }
.roleplay-tabs { padding:12px; border:3px solid #221b4d; background:linear-gradient(90deg,#cfefff,#efdcff); box-shadow:inset 2px 2px #fff,3px 3px #221b4d; }
.roleplay-tabs .button[aria-current="page"] { box-shadow:inset 2px 2px #fff,0 3px #b17a31; }
.roleplay-privacy,.roleplay-form-help { padding:12px 16px; border-left:4px solid #8b58b0; background:#f2eaff; color:#443362; font-size:22px; line-height:1.45; }
.roleplay-filters { display:flex; flex-wrap:wrap; align-items:end; gap:14px; margin:20px 0; }
.roleplay-filters label { display:grid; gap:6px; margin:0; font-size:21px; }
.roleplay-filters label:first-child { flex:1 1 270px; }
.roleplay-filters input,.roleplay-filters select { width:100%; min-height:46px; }
.roleplay-counts { display:flex; flex-wrap:wrap; gap:9px; }
.roleplay-counts>span { padding:5px 10px; background:#fff3cb; border:2px solid #8371ad; color:#392b64; font:20px/1.3 var(--body,'VT323',monospace); }
.roleplay-counts strong { color:#153e84; padding-left:7px; }
.roleplay-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); align-items:start; gap:22px; }
.roleplay-card { min-width:0; position:relative; overflow-wrap:anywhere; background:linear-gradient(155deg,#fff9e4 45%,#ecf8ff); }
.roleplay-card h3 { margin:18px 0 12px; line-height:1.7; }
.roleplay-card>p { font-size:23px; line-height:1.4; }
.roleplay-journal .roleplay-meta,.roleplay-reading .roleplay-meta { font-size:21px; line-height:1.4; color:#56416d; }
.roleplay-status { display:inline-block; padding:7px 10px; border:2px solid #594375; background:#efe3ff; color:#412960; font:9px/1.65 var(--pixel,'Press Start 2P',monospace); box-shadow:2px 2px #221b4d; }
.roleplay-status.status-pending { background:#fff0b2; color:#654715; }
.roleplay-status.status-changes_requested { background:#f9d6ed; color:#762958; }
.roleplay-status.status-approved { background:#c9f2e5; color:#235449; }
.roleplay-status.status-reversed,.roleplay-status.status-rejected { background:#efcddd; color:#772a4d; }
.roleplay-status.status-withdrawn { background:#e5e3f4; color:#544467; }
.roleplay-card .roleplay-award { padding:10px 12px; border-left:4px solid #b08732; color:#624718; background:#fff1ba; }
.roleplay-review-note { padding:12px 15px; margin:16px 0; background:#eee4ff; border:2px dashed #9f78bd; font-size:22px; line-height:1.4; }
.roleplay-review-note>p { margin:6px 0 0; }
.roleplay-error { padding:12px 16px; background:#ffe1e9; border:3px solid #92416c; color:#6c2348; font-size:22px; }
.roleplay-empty { grid-column:1/-1; }
.roleplay-form { display:grid; gap:17px; min-width:0; }
.roleplay-form>label { display:grid; gap:8px; margin:0; }
.roleplay-form fieldset { min-width:0; margin:5px 0; padding:16px; border:2px solid #a68abc; }
.roleplay-form legend { padding:0 8px; font-size:23px; color:#4d3472; }
.roleplay-form label.roleplay-check { display:flex; align-items:flex-start; gap:12px; font-size:22px; line-height:1.4; }
.roleplay-check>input { flex:0 0 21px; width:21px; height:21px; margin:5px 0 0; accent-color:#7042a7; }
.roleplay-review-checks .roleplay-check+.roleplay-check { margin-top:14px; }
.roleplay-reward-help { padding:13px; background:#edf8ff; border:2px solid #8586b9; }
.roleplay-reward-help summary { cursor:pointer; color:#29396f; font-size:23px; }
.roleplay-rewards { --roleplay-rank-accent:#58748b; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.roleplay-rank-intermediate { --roleplay-rank-accent:#34785b; }
.roleplay-rank-advanced { --roleplay-rank-accent:#3067b4; }
.roleplay-rank-saint { --roleplay-rank-accent:#8851aa; }
.roleplay-rank-king { --roleplay-rank-accent:#9c6b21; }
.roleplay-rank-emperor { --roleplay-rank-accent:#a0416c; }
.roleplay-rank-god { --roleplay-rank-accent:#7145aa; }
.roleplay-reward { display:grid; grid-template-columns:1fr; justify-items:center; align-content:center; gap:10px; padding:16px 10px; border:3px solid var(--roleplay-rank-accent); box-shadow:inset 2px 2px #fff,3px 3px #221b4d; color:#352b58; text-align:center; }
label.roleplay-reward { cursor:pointer; }
.roleplay-tier-scene { background:linear-gradient(135deg,#d5f7ff,#ecfbff); }
.roleplay-tier-development { background:linear-gradient(135deg,#ead8ff,#faf0ff); }
.roleplay-tier-milestone { background:linear-gradient(135deg,#ffeab4,#fff7d8); }
.roleplay-reward>span { font:9px/1.6 var(--pixel,'Press Start 2P',monospace); overflow-wrap:anywhere; }
.roleplay-reward>strong { font:28px/1.1 var(--body,'VT323',monospace); }
.roleplay-reward>input { width:20px; height:20px; margin:0; accent-color:var(--roleplay-rank-accent); }
.roleplay-reward:has(input:checked) { outline:3px solid #221b4d; outline-offset:3px; }
.roleplay-reading>section { margin:25px 0; padding-top:19px; border-top:1px dashed #b49bbb; }
.roleplay-reading h3 { margin:0 0 17px; }
.roleplay-reading .quest-story { padding:18px; background:linear-gradient(135deg,#fff8e5,#effaff); border:2px solid #b2a0c3; }
.roleplay-reading .archive-prose p { font-size:25px; line-height:1.5; overflow-wrap:anywhere; }
@media(max-width:600px) {
  .roleplay-filters { display:grid; grid-template-columns:1fr; }
  .roleplay-filters label:first-child { min-width:0; }
  .roleplay-rewards { grid-template-columns:1fr; }
  .roleplay-reward { grid-template-columns:auto 1fr; justify-items:start; padding:13px; text-align:left; }
  .roleplay-reward:has(input) { grid-template-columns:auto 1fr auto; }
  .roleplay-reward>strong { justify-self:end; font-size:25px; }
  .roleplay-actions .button { max-width:100%; }
  .roleplay-reading .quest-story { padding:12px; }
}

.roleplay-reward small { grid-column:1/-1; font:20px/1.3 var(--body,monospace); color:#493857; }
