.rp-rail[hidden], .rp-backdrop[hidden] { display:none !important; }
.rp-rail { display:flex; flex-direction:column; min-height:0; min-width:0; border:1px solid var(--line); border-radius:24px; background:#f8f9fc; box-shadow:var(--shadow); overflow:hidden; }
.rp-header { display:flex; align-items:center; gap:8px; padding:18px 14px 12px; border-bottom:1px solid var(--line); }
.rp-header h2 { font-size:16px; margin:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rp-header button,.rp-back { border:0; background:transparent; color:var(--accent); cursor:pointer; min-width:36px; min-height:36px; }
.rp-content { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; }
.rp-summary { flex:none; padding:8px 14px; border-bottom:1px solid var(--line); font-size:12px; overflow-wrap:anywhere; }
.rp-summary .rp-button { min-height:30px; padding:4px 8px; }
.rp-summary { display:flex; flex-wrap:wrap; gap:4px 12px; }
.rp-summary-link { display:flex; align-items:baseline; gap:6px; min-width:0; max-width:100%; min-height:32px; padding:3px 0; border:0; background:transparent; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.rp-summary-label { flex:none; color:var(--muted); font-size:11px; }
.rp-summary-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rp-summary-link:hover .rp-summary-value { color:var(--accent); text-decoration:underline; }
.rp-source-actions { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.rp-source-actions .rp-button { margin:0; min-height:34px; padding:6px 10px; }
.rp-conflict,.rp-send-choice { padding:20px; }
.rp-conflict pre { max-height:220px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.rp-content h3 { margin:0 0 18px; font-size:17px; }
.rp-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); flex:none; padding:8px 5px max(8px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); }
.rp-nav-button { display:flex; flex-direction:column; align-items:center; gap:4px; min-height:48px; padding:6px 2px; border:0; background:transparent; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; border-radius:12px; }
.rp-nav-button i { font-size:21px; }
.rp-nav-button[aria-current="page"] { background:var(--accent-soft); color:var(--accent); }
.rp-entry { display:flex; flex-direction:column; gap:8px; width:100%; padding:16px; margin-bottom:10px; border:1px solid var(--line); border-radius:14px; text-align:left; color:var(--ink); background:rgba(255,255,255,.45); font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.rp-entry small,.rp-help { color:var(--muted); font-size:12px; line-height:1.7; }
.rp-field { display:flex; flex-direction:column; gap:7px; margin:14px 0; font-size:12px; color:var(--muted); }
.rp-field-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rp-text-open { padding:3px 7px; border:0; border-radius:6px; background:transparent; color:var(--accent); font:inherit; cursor:pointer; }
.rp-text-open:hover { background:var(--accent-soft); }
.rp-field input,.rp-field textarea,.rp-field select { box-sizing:border-box; width:100%; min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:rgba(255,255,255,.65); font:inherit; font-size:13px; line-height:1.6; }
.rp-field textarea { font-size:13px; resize:vertical; min-height:100px; white-space:pre-wrap; overflow-wrap:anywhere; }
.rp-check { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.7; margin:12px 0; }
.rp-check input { margin-top:4px; accent-color:var(--accent); }
.rp-button { min-height:40px; margin:6px 6px 6px 0; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.6); color:var(--accent); font:inherit; font-size:12px; cursor:pointer; }
.rp-button:disabled { opacity:.5; cursor:default; }
.rp-danger { color:#a44f61; }
.rp-actions { display:flex; flex-wrap:wrap; }
.rp-field-compact { margin:0; }
.rp-field-compact > span,.rp-field-compact > .rp-field-heading { display:none; }
.rp-icon-button { display:inline-flex; justify-content:center; align-items:center; width:28px; min-height:28px; flex:none; padding:0; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; font-size:15px; }
.rp-icon-button:hover { background:var(--accent-soft); color:var(--accent); }
.rp-icon-button:disabled { opacity:.3; cursor:default; }
.rp-icon-button.rp-danger { color:#a44f61; }
.rp-preset-toolbar { display:flex; align-items:center; gap:4px; margin:8px 0 12px; }
.rp-preset-picker { position:sticky; top:-16px; z-index:2; margin-top:-6px; padding:4px 0 1px; background:#f8f9fc; }
.rp-preset-picker > .rp-field { margin:6px 0; }
.rp-preset-picker select { padding:7px 8px; }
.rp-preset-toolbar .rp-field { flex:1; min-width:0; }
.rp-preset-toolbar input { padding:7px 8px; }
.rp-preset-help,.rp-memory-settings { margin:8px 0 12px; color:var(--muted); font-size:12px; }
.rp-preset-help > summary,.rp-memory-settings > summary { cursor:pointer; }
.rp-regex-settings { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.rp-regex-settings h4 { margin:0 0 8px; font-size:14px; }
.rp-regex-preview { overflow:auto; flex:1; min-height:100px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.rp-regex-fragment { white-space:normal; overflow-wrap:anywhere; }
.message-main:has(.rp-regex-frame), .message-bubble:has(.rp-regex-frame), .message-main:has(> .rp-message-panels) { width:100%; }
.rp-message-panels { display:grid; gap:12px; width:100%; min-width:0; margin:12px 0 0; padding:0; border:0; background:transparent; white-space:normal; }
.rp-message-panels.is-panel-only { margin-top:0; }
.rp-message-panels > .rp-status-card { margin-top:0; }
.rp-message-panels > .rp-regex-card { display:block; min-width:0; max-width:100%; }
.message-bubble[hidden] { display:none; }
.rp-panel-actions { align-self:flex-end; margin-top:5px; }
.rp-regex-warning { display:block; margin:8px 0; font-size:11px; color:var(--muted); }
.rp-regex-note { margin:12px 0; padding:10px 14px; border:1px solid var(--line-strong); border-radius:14px; background:rgba(105, 91, 180, 0.05); color:var(--ink); font-size:13px; }
.rp-regex-note > summary { cursor:pointer; font-weight:600; }
.rp-regex-note > pre { margin:12px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.7 var(--mono,Consolas,monospace); }
.rp-preset-count { display:block; margin:10px 0 5px; }
.rp-preset-block { margin:3px 0; border-bottom:1px solid var(--line); }
.rp-preset-row { display:flex; align-items:center; gap:5px; min-height:38px; padding:2px 0; list-style:none; cursor:pointer; }
.rp-preset-row::-webkit-details-marker { display:none; }
.rp-preset-row:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.rp-preset-row::before { content:"›"; width:10px; flex:none; color:var(--muted); transition:transform .15s; }
.rp-preset-block[open] > .rp-preset-row::before { transform:rotate(90deg); }
.rp-preset-row > input { flex:none; accent-color:var(--accent); margin:0 2px; }
.rp-preset-name { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.rp-preset-body { padding:4px 0 10px 16px; }
.rp-preset-body .rp-field { margin:8px 0; }
.rp-preset-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.8fr); gap:8px; }
.rp-preset-controls input,.rp-preset-controls select { padding:6px 8px; font-size:12px; }
.rp-preset-block textarea { min-height:64px; max-height:280px; padding:8px; font-family:var(--mono,ui-monospace,Consolas,monospace); }
.rp-memory-section { margin:16px 0; padding-bottom:14px; border-bottom:1px solid var(--line); }
.rp-memory-heading { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.rp-memory-heading .rp-field { flex:1; min-width:0; }
.rp-memory-heading input { padding:5px 0; border:0; background:transparent; font-size:14px; font-weight:600; }
.rp-memory-section > .rp-field { margin:6px 0; }
.rp-current-status > .rp-field { margin:12px 0; gap:4px; }
.rp-current-status > .rp-field textarea { min-height:40px; max-height:180px; padding:7px 10px; }
.rp-current-status .rp-text-open { font-size:11px; }
.rp-status-help { margin:6px 0 12px; font-size:12px; color:var(--muted); }
.rp-status-help > summary { cursor:pointer; }
.rp-memory-section > .rp-field select { padding:5px 8px; font-size:12px; }
.rp-memory-section > .rp-actions { align-items:center; gap:6px; }
.rp-memory-section .rp-button { min-height:30px; padding:4px 8px; margin:6px 4px 0 0; }
.rp-character-description { color:var(--ink-soft,var(--ink)); font-size:12px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; white-space:pre-wrap; }
.rp-character-lore { margin:16px 0; }
.rp-character-lore h4 { margin:0 0 8px; font-size:14px; }
.rp-character-lore-entry { margin:8px 0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; }
.rp-character-lore-entry > summary { cursor:pointer; font-size:13px; overflow-wrap:anywhere; }
.rp-character-lore-entry > small { display:block; margin-top:8px; }
.rp-character-lore-text { white-space:pre-wrap; overflow-wrap:anywhere; max-height:360px; overflow:auto; line-height:1.7; font:inherit; font-size:13px; }
.rp-text-editor { box-sizing:border-box; width:min(960px,calc(100vw - 40px)); height:min(900px,calc(100dvh - 40px)); max-width:none; max-height:none; padding:20px; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:var(--panel,#fafaff); font-size:13px; }
.rp-text-editor[open] { display:flex; flex-direction:column; gap:14px; }
.rp-text-editor::backdrop { background:rgba(23,29,49,.4); }
.rp-text-editor-header h2 { margin:0; font-size:17px; overflow-wrap:anywhere; }
.rp-text-editor-input { box-sizing:border-box; width:100%; flex:1; min-height:0; resize:none; padding:14px; border:1px solid var(--line); border-radius:12px; font:14px/1.7 var(--mono,ui-monospace,Consolas,monospace); color:var(--ink); background:rgba(255,255,255,.7); white-space:pre-wrap; overflow-wrap:anywhere; }
.rp-text-editor-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.rp-text-editor-footer small { flex:1; min-width:180px; }
.rp-text-editor-footer .rp-button { margin:0; }
.rp-text-editor button:focus-visible,.rp-text-editor textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.rp-update-log { margin:14px 0; font-size:12px; }
.rp-update-log > .rp-actions { padding:10px 0; border-bottom:1px solid var(--line); }
.rp-update-payload { width:100%; }
.rp-update-payload pre { overflow:auto; max-height:220px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; }
.rp-save-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 14px; border-top:1px solid var(--line); }
.rp-save-bar small { font-size:11px; color:var(--muted); }
.rp-table-scroll { overflow:auto; }
.rp-table { border-collapse:collapse; font-weight:normal; table-layout:fixed; width:max(100%,calc(var(--rp-columns,3) * 92px + 36px)); }
.rp-table td,.rp-table th { padding:3px; border:1px solid var(--line); vertical-align:top; }
.rp-table .rp-field { text-align:left; font-weight:normal; }
.rp-table .rp-field-compact { gap:0; margin:0; }
.rp-table .rp-field input,.rp-table .rp-field textarea { font-size:12px; padding:5px; border:0; border-radius:4px; background:transparent; }
.rp-table textarea { min-height:40px; max-height:180px; }
.rp-table .rp-row-action { width:36px; padding:2px; }
.rp-empty { padding:20px 0; font-size:13px; color:var(--muted); }
.rp-badge { margin-left:8px; padding:3px 7px; border-radius:7px; background:var(--accent-soft); color:var(--accent); font-size: 11px; vertical-align:middle; }
.rp-badge[hidden] { display:none; }
.is-roleplay [data-conversation-title] { display:inline; }
.rp-backdrop { display:none; }
.council-app.is-roleplay { grid-template-columns:minmax(210px,250px) minmax(340px,1fr) minmax(300px,370px); }
.is-roleplay .chat-heading { display:flex; align-items:center; gap:8px; }
.is-roleplay .chat-heading-copy { flex:1; min-width:0; }
.is-roleplay .chat-heading-copy > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.is-roleplay .rp-badge { margin-left:0; }
.council-app.is-roleplay.is-rp-panel-collapsed { grid-template-columns:minmax(210px,250px) minmax(0,1fr); }
.is-rp-panel-collapsed .rp-rail { display:none; }
.is-roleplay .member-rail { display:none; }
.is-roleplay .mobile-member-button { display:flex !important; }
.is-roleplay .member-rail.is-mobile-open { display:flex; position:fixed; z-index:72; right:14px; top:14px; bottom:14px; width:min(340px,calc(100vw - 28px)); }
.is-roleplay .member-rail.is-mobile-open .member-heading > button { display:block; }
.is-roleplay .member-rail-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:71; background:rgba(23,29,49,.25); }
[data-rp-toggle]:not([hidden]),.rp-header [data-rp-close] { display:flex; }
.rp-window-menu { z-index:110; }
.council-app.is-roleplay ~ .council-toast { bottom:150px; pointer-events:none; }
.rp-rail button:focus-visible,.rp-rail input:focus-visible,.rp-rail textarea:focus-visible,.rp-rail select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(min-width:1101px) {
  .council-app.is-roleplay.is-desktop-sidebar-collapsed { grid-template-columns:minmax(0,1fr) minmax(300px,370px); }
  .council-app.is-roleplay.is-desktop-sidebar-collapsed.is-rp-panel-collapsed { grid-template-columns:minmax(0,1fr); }
}
@media(min-width:761px) and (max-width:1100px) {
  .council-app.is-roleplay.is-desktop-sidebar-collapsed { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1100px) {
  .council-app.is-roleplay { grid-template-columns:minmax(210px,250px) minmax(0,1fr); }
  .is-roleplay .rp-rail { display:none; position:fixed; right:12px; top:12px; bottom:12px; width:min(370px,calc(100vw - 24px)); z-index:74; }
  .is-roleplay .rp-rail.is-open { display:flex; }
  .rp-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:73; background:rgba(23,29,49,.25); }
  [data-rp-toggle]:not([hidden]),.rp-header [data-rp-close] { display:flex; }
}
@media(max-width:760px) {
  .council-app.is-roleplay { grid-template-columns:minmax(0,1fr); }
  .is-roleplay .rp-rail { right:0; top:0; bottom:0; width:min(420px,100vw); border-radius:18px 0 0 18px; }
  .rp-nav-button { min-height:52px; }
}
.rp-preview { border-top: 1px solid #e4e2ef; margin-top: 16px; padding-top: 12px; }
[data-rp-content] pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 320px; overflow: auto; font-size: 12px; }
.rp-library { padding:0; width:min(760px,calc(100vw - 32px)); height:min(880px,calc(100dvh - 40px)); max-width:none; max-height:none; border:1px solid var(--line,#ddd); border-radius:22px; background:var(--panel,#fafaff); color:var(--text,#252239); font-size:13px; }
.rp-library[open] { display:flex; flex-direction:column; }
.rp-library::backdrop { background:rgba(23,29,49,.4); }
.rp-library-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line,#ddd); }
.rp-library-header h2 { margin:0; font-size:18px; }
.rp-library-tabs { display:flex; gap:8px; padding:12px 20px; }
.rp-library-tabs [aria-current=page] { background:var(--accent-soft,#ede9ff); color:var(--accent,#594ca3); }
.rp-library-body { padding:0 20px 20px; flex:1; min-height:0; overflow:auto; }
.rp-library-list { display:grid; gap:10px; margin:14px 0; }
.rp-library-search { display:flex; gap:8px; }
.rp-library-search input { font-size:13px; flex:1; min-width:0; padding:10px; border:1px solid var(--line,#ddd); border-radius:12px; background:var(--panel,#fff); color:inherit; }
.rp-library-footer { padding:12px 20px; border-top:1px solid var(--line,#ddd); display:flex; flex-wrap:wrap; gap:8px; }
.rp-library-footer p { width:100%; margin:0 0 3px; overflow-wrap:anywhere; }
.rp-library button:focus-visible,.rp-library input:focus-visible,.rp-library textarea:focus-visible,.rp-library select:focus-visible { outline:2px solid var(--accent,#594ca3); outline-offset:2px; }
.rp-library .rp-field textarea { max-width:100%; }
.rp-status-card { margin-top:14px; max-width:100%; border:1px solid var(--line,#e3deef); border-radius:14px; background:var(--panel,#faf9ff); overflow:hidden; color:var(--text,#302b3e); }
.rp-status-generated { white-space:normal; }
.rp-status-generated p { white-space:pre-line; }
.rp-status-generated .rp-status-heading strong { display:inline; }
.rp-status-heading { cursor:pointer; padding:12px 14px; font-size:13px; overflow-wrap:anywhere; }
.rp-status-heading strong { margin-right:10px; font-weight:600; }
.rp-status-overview { color:var(--muted,#787085); font-size:12px; }
.rp-status-body { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0 14px 14px; }
.rp-status-section { grid-column:1 / -1; min-width:0; padding-top:10px; border-top:1px solid var(--line,#e3deef); overflow-wrap:anywhere; }
.rp-status-section.rp-status-meta { grid-column:auto; }
.rp-status-label { margin:0 0 6px; font-size:11px; font-weight:500; color:var(--muted,#787085); }
.rp-status-section p { margin:6px 0; }
.rp-status-value { font-size:13px; line-height:1.65; }
.rp-status-value h3 { margin:8px 0; font-size:14px; }
.rp-status-value dl { margin:8px 0; }
.rp-status-value dl > div { display:grid; grid-template-columns:minmax(64px,auto) minmax(0,1fr); gap:12px; margin:4px 0; }
.rp-status-value dt { color:var(--muted,#787085); }
.rp-status-value dd { margin:0; }
.rp-status-value details { margin:8px 0; padding:8px 10px; border-radius:9px; background:var(--accent-soft,#f1eef8); }
.rp-status-value summary { cursor:pointer; }
.rp-status-value [data-hy-person],[data-hy-record] { margin:8px 0; padding:10px; border:1px solid var(--line,#e3deef); border-radius:10px; }
.rp-status-value [data-hy-person-head],[data-hy-record-head] { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.rp-status-value [data-hy-badge],[data-hy-stamp] { padding:2px 7px; border-radius:7px; background:var(--accent-soft,#f1eef8); font-size:11px; }
.rp-status-value [data-hy-thought],[data-hy-source] { color:var(--muted,#787085); font-size:12px; }
.rp-status-value ul { padding-left:20px; }
.rp-status-value [data-hy-items] small { margin-left:10px; color:var(--muted,#787085); }
.rp-status-raw { padding:0 14px 14px; max-height:320px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
@media(max-width:520px) { .rp-status-body { grid-template-columns:minmax(0,1fr); } .rp-status-heading strong { display:block; margin-bottom:3px; } }
@media(max-width:760px) { .rp-library { width:100vw; height:100dvh; border-radius:0; border:0; margin:0; } .rp-library-header,.rp-library-tabs,.rp-library-footer { padding-left:14px; padding-right:14px; } .rp-library-body { padding-left:14px; padding-right:14px; } .rp-text-editor { width:100vw; height:100dvh; margin:0; padding:14px; border:0; border-radius:0; } .rp-field textarea,.rp-text-editor-input { font-size:16px; } }

/* Newspaper RP theme: adapted from DC@ethic_b4by10n's owner-supplied
   报纸(无滤镜).json. Local font fallbacks and procedural paper texture;
   no remote fonts/images or imported global CSS. */
.rp-appearance { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 14px; border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.rp-appearance select { max-width:65%; padding:5px 25px 5px 10px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--ink); font:inherit; }
.is-roleplay[data-rp-theme="newspaper"] { --ink:#5a524c; --ink-soft:#6e6255; --muted:#827563; --accent:#75644e; --accent-soft:#e6dfcf; --line:#cfc5b2; --paper:#eee8d9; --paper-font:Georgia,"Noto Serif SC","Songti SC",SimSun,serif; }
.is-roleplay[data-rp-theme="newspaper"] :is(.chat-room,.rp-rail) { background:#f4f0e7; box-shadow:0 8px 30px #5a524c0b; }
.is-roleplay[data-rp-theme="newspaper"] :is(.chat-heading,.rp-header,.rp-nav,.rp-preset-picker,.composer-input-area) { background:#eae4d7; }
.is-roleplay[data-rp-theme="newspaper"] .composer-input-area { border-color:var(--line); border-radius:12px; box-shadow:0 2px 9px #5a524c0b; }
.is-roleplay[data-rp-theme="newspaper"] .composer-input-area .send-button { background:#75644e; color:#fffaf0; }
.is-roleplay[data-rp-theme="newspaper"] :is(.conversation-item.is-active,.current-assistant-card) { background:#ece5d7; border-color:var(--line); }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent { display:block; width:100%; margin:16px 0 28px; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent > .message-avatar { display:none; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent > .message-main { box-sizing:border-box; width:100%; max-width:760px; margin:0 auto; padding:26px 30px; border:1px solid #c7bdab; border-radius:2px; background-color:var(--paper); background-image:radial-gradient(#8c7d6e12 .6px,transparent .8px),linear-gradient(110deg,#fffcf233,transparent 55%,#bfae8a12); background-size:5px 5px,100% 100%; box-shadow:inset 0 0 90px #c2b18d22,0 2px 6px #5a524c0b; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-meta { display:flex; width:100%; margin:0 0 20px; padding-bottom:12px; border-bottom:3px double #bdb7aa; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-identity { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-identity strong { color:var(--ink); font:500 24px/1.3 var(--paper-font); letter-spacing:.08em; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent:not(.is-actions-open) .message-identity time { display:none; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-bubble { width:100%; box-sizing:border-box; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; font:16px/1.9 var(--paper-font); }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-text p { margin:0 0 1em; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-text p:last-child { margin-bottom:0; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .rp-message-panels { margin-top:24px; gap:16px; }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .rp-message-panels.is-panel-only { margin-top:0; }
.is-roleplay[data-rp-theme="newspaper"] .rp-status-card { background:transparent; border-color:var(--line); border-radius:2px; }
.is-roleplay[data-rp-theme="newspaper"] .message-reasoning { color:var(--muted); border-color:var(--line); font:13px/1.7 var(--paper-font); }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-owner .message-bubble { background:#e9e2d3; border-color:#cfc5b2; color:var(--ink); }
.is-roleplay[data-rp-theme="newspaper"] .message-row.is-owner .message-avatar { background:#e3daca; color:var(--ink); }
@media(max-width:760px) {
  .is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent > .message-main { padding:18px 16px; }
  .is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-bubble { font-size:15px; line-height:1.85; }
  .is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-identity strong { font-size:21px; }
  .is-roleplay[data-rp-theme="newspaper"] .message-row.is-agent .message-meta { margin-bottom:16px; }
}
/* Imported appearance defaults; only active inside its RP window or preview. */
.is-roleplay[data-rp-theme="custom"] { --rt-text:#5a524c;--rt-chat:#f4f0e7;--rt-panel:#eae4d7;--rt-user:#e9e2d3;--rt-agent:#eee8d9;--rt-border:#cfc5b2;--rt-italic:#827563;--rt-quote:#747e67;--rt-underline:#85938b;--rt-size:16px;--rt-width:760px;--ink:var(--rt-text);--ink-soft:var(--rt-text);--line:var(--rt-border); }
.is-roleplay[data-rp-theme="custom"] .chat-room { background:var(--rt-chat);color:var(--rt-text); }
.is-roleplay[data-rp-theme="custom"] :is(.rp-rail,.chat-heading,.composer-input-area,.rp-preset-picker) { background:var(--rt-panel);color:var(--rt-text); }
.is-roleplay[data-rp-theme="custom"] .message-row { isolation:isolate; }
.is-roleplay[data-rp-theme="custom"] .message-row.is-agent { display:block; }
.is-roleplay[data-rp-theme="custom"] .message-row.is-agent > .message-avatar { display:none; }
.is-roleplay[data-rp-theme="custom"] :where(.message-row.is-agent) > .message-main { box-sizing:border-box;max-width:min(100%,var(--rt-width));width:100%;margin:12px auto;padding:20px;border:1px solid var(--rt-border);background:var(--rt-agent); }
.is-roleplay[data-rp-theme="custom"] :where(.message-row.is-agent) .message-bubble { width:100%;padding:0;border:0;background:transparent;color:var(--rt-text);font-size:var(--rt-size);line-height:1.8; }
.is-roleplay[data-rp-theme="custom"] .message-row.is-agent .message-meta { display:flex; }
.is-roleplay[data-rp-theme="custom"] .message-row.is-agent .message-identity { display:flex;gap:8px;flex-wrap:wrap; }
.is-roleplay[data-rp-theme="custom"] .message-row.is-owner .message-bubble { background:var(--rt-user);color:var(--rt-text); }
.is-roleplay[data-rp-theme="custom"] .message-bubble :is(em,i) { color:var(--rt-italic); }
.is-roleplay[data-rp-theme="custom"] .message-bubble u { color:var(--rt-underline); }
.is-roleplay[data-rp-theme="custom"] .message-bubble blockquote { color:var(--rt-quote);border-color:var(--rt-quote); }
.rp-appearance { flex-wrap:wrap;gap:6px; }
.rp-appearance select { flex:1;min-width:70px; }
.rp-appearance .rp-button { min-height:30px;margin:0;padding:4px 7px; }
.rp-theme-editor { box-sizing:border-box;width:min(950px,96vw);max-height:94dvh;overflow:auto;border:1px solid var(--line,#ccc);border-radius:16px;padding:20px;background:#f8f9fc;color:#302b3e; }
.rp-theme-editor::backdrop { background:#17132666; }
.rp-theme-editor > input,.rp-theme-editor > textarea,.rp-theme-fields input { box-sizing:border-box;width:100%;padding:8px;border:1px solid #ccc;border-radius:6px;font:inherit; }
.rp-theme-editor > textarea { resize:vertical;font:12px/1.5 monospace; }
.rp-theme-fields { display:flex;flex-wrap:wrap;gap:10px;margin:12px 0; }
.rp-theme-fields label { flex:1 1 180px;font-size:12px; }
.rp-theme-preview-scroll { overflow:auto;max-height:55vh;border:1px solid #ccc; }
.rp-theme-preview { width:760px;max-width:100%;margin:auto; }
.rp-theme-preview .chat-room { display:block;padding:16px; }
.rp-theme-preview .message-row { margin:0; }
@media(max-width:760px) { .is-roleplay[data-rp-theme="custom"] :where(.message-row.is-agent) > .message-main { padding:14px; } .rp-theme-editor { padding:12px; } }
.is-roleplay[data-rp-theme="custom"] .message-list,.rp-theme-preview { container-type:inline-size;container-name:rp-reading; }

.is-roleplay[data-rp-theme="custom"] :is(.chat-heading,.composer-input-area) { position:relative;isolation:isolate; }

/* Owner visual overrides never set foreground opacity. */
.is-roleplay .chat-room.has-rp-background { position:relative;isolation:isolate; }
.is-roleplay .chat-room.has-rp-background::before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--rp-visual-bg);background-position:center;background-size:var(--rp-visual-fit,cover);background-repeat:no-repeat;filter:blur(var(--rp-visual-blur,0px)); }
.is-roleplay .chat-room.has-rp-background[data-rp-background-repeat="repeat"]::before { background-repeat:repeat; }
.rp-visual-status-image { margin:14px 0;max-width:100%; }
.rp-visual-image { display:block;width:100%;height:auto;max-height:80vh;max-width:100%;border-radius:10px; }
.rp-visual-image.is-image-error { min-height:48px; }
.rp-message-panels.has-visual-background { background-position:center;background-repeat:no-repeat;padding:12px;border-radius:12px; }
.rp-visual-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.rp-visual-field { display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px; }
.rp-visual-field input[type=range] { flex:1;min-width:80px; }
.rp-visual-picture { grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.rp-visual-picture input { flex:1;min-width:160px;padding:8px;border:1px solid #ccc;border-radius:8px; }
.rp-visual-preview { position:relative;isolation:isolate;padding:20px;margin:18px 0;max-height:360px;overflow:auto;border-radius:12px; }
.rp-visual-preview p { padding:12px;color:#302b3e;border:1px solid #ccc; }
@media(max-width:600px) { .rp-visual-fields { grid-template-columns:1fr; } }

.rp-visual-preview::before { content:"";position:absolute;inset:0;z-index:-1;background-image:var(--rp-preview-bg);background-size:inherit;background-repeat:inherit;background-position:center;filter:blur(var(--rp-preview-blur,0px));pointer-events:none; }

/* ---- 星夜深色模式（Dark Mode） ---- */
:root[data-theme="dark"] .rp-preset-picker {
  background: #191726;
}
:root[data-theme="dark"] .rp-entry,
:root[data-theme="dark"] .rp-field input,
:root[data-theme="dark"] .rp-field textarea,
:root[data-theme="dark"] .rp-field select,
:root[data-theme="dark"] .rp-button,
:root[data-theme="dark"] .rp-text-editor-input,
:root[data-theme="dark"] .rp-library-search input {
  background: rgba(34, 31, 50, 0.85);
  border-color: var(--line);
  color: var(--ink);
}
:root[data-theme="dark"] .rp-text-editor,
:root[data-theme="dark"] .rp-library,
:root[data-theme="dark"] .rp-theme-editor,
:root[data-theme="dark"] .rp-status-card {
  background: #1f1d2e;
  border-color: var(--line-strong);
  color: var(--ink);
}
:root[data-theme="dark"] .rp-regex-note {
  background: rgba(52, 43, 30, 0.72);
  border-color: rgba(217, 169, 98, 0.28);
  color: #ebd9be;
}
