/* Shared display contract for editor HTML stored in PanelDB._GameInfo.Desc. */
.rich-text { display:flow-root; min-width:0; color:var(--text-soft); font:400 17px/1.8 var(--font-body,system-ui,sans-serif); overflow-wrap:anywhere; }
.rich-text > :first-child { margin-top:0; }
.rich-text > :last-child { margin-bottom:0; }
.rich-text p { margin:0 0 1em; }
.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6 { color:var(--text-strong); font-weight:800; line-height:1.4; margin:1.2em 0 .5em; }
.rich-text h1 { font-size:30px; }.rich-text h2 { font-size:26px; }.rich-text h3 { font-size:22px; }
.rich-text h4,.rich-text h5,.rich-text h6 { font-size:19px; }
.rich-text a { color:var(--accent-soft); text-decoration:underline; text-underline-offset:3px; }
.rich-text a:hover { color:var(--text-strong); }
.rich-text img { display:inline-block; max-width:100%; height:auto; vertical-align:middle; border-radius:6px; }
.rich-text figure { margin:1.2em 0; max-width:100%; }
.rich-text figure img { display:block; margin-inline:auto; }
.rich-text figcaption { margin-top:8px; color:var(--muted); font-size:14px; text-align:center; }
.rich-text video { display:block; width:100%; max-width:100%; height:auto; margin:18px 0; border-radius:8px; background:#000000; }
.rich-text audio { width:100%; max-width:100%; }
.rich-text iframe { display:block; width:100%; max-width:100%; aspect-ratio:16/9; height:auto; margin:18px 0; border:0; border-radius:8px; background:#090707; }
.rich-text ul,.rich-text ol { margin:12px 0 20px; padding-inline-start:30px; }
.rich-text li { margin:5px 0; }
.rich-text blockquote { margin:20px 0; padding:16px 20px; border-inline-start:3px solid var(--accent); border-radius:0 8px 8px 0; background:var(--row-hover); }
.rich-text blockquote > :last-child { margin-bottom:0; }
.rich-text pre { overflow-x:auto; padding:18px; border:1px solid var(--line); border-radius:8px; background:#0e090a; color:#fffdea; font:14px/1.7 ui-monospace,monospace; white-space:pre; }
.rich-text code { font-family:ui-monospace,monospace; font-size:.9em; }
.rich-text table { display:block; width:max-content; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:18px 0; }
.rich-text th,.rich-text td { padding:10px 14px; border:1px solid var(--line-bright); }
.rich-text th { color:var(--text-strong); background:var(--table-head); }
.rich-text hr { margin:24px 0; border:0; border-top:1px solid var(--line-bright); }
.rich-text details { border:1px solid var(--line-bright); border-radius:8px; padding:12px 18px; margin:16px 0; }
.rich-text summary { color:var(--accent-soft); cursor:pointer; font-weight:750; }
@media(max-width:680px) { .rich-text { font-size:16px; } }
/* v84: keep consecutive BBCode image links on one row inside the narrower news reader. */
.news-article-body .rich-media-row { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:0; width:100%; max-width:100%; min-width:0; margin:0 0 1em; }
.news-article-body .rich-media-row > a { display:block; flex:0 1 auto; min-width:0; max-width:100%; line-height:0; text-decoration:none; }
.news-article-body .rich-media-row > a > img { display:block; width:auto; max-width:100%; height:auto; min-width:0; border-radius:6px; }
.news-article-body .rich-media-row > img { display:block; flex:0 1 auto; width:auto; max-width:100%; height:auto; min-width:0; }

/* v86: linked package/table rows are visually distinct and show an external-link cue. */
.rich-text tr.rich-linked-row td,.rich-text tr.rich-linked-row th { color:#ffbfb5; background:linear-gradient(90deg,rgba(247,152,138,0.1),rgba(247,152,138,0.035)); }
.rich-text tr.rich-linked-row a { color:#ffd4ce; font-weight:800; text-decoration:none; }
.rich-text tr.rich-linked-row:hover td,.rich-text tr.rich-linked-row:hover th { background:linear-gradient(90deg,rgba(247,152,138,0.17),rgba(247,152,138,0.065)); }
.rich-text tr.rich-linked-row > :last-child { position:relative; padding-inline-end:38px; }
.rich-text tr.rich-linked-row > :last-child::after { content:'↗'; position:absolute; inset-inline-end:13px; top:50%; transform:translateY(-52%); color:#ffbcb2; font-size:15px; font-weight:900; line-height:1; }
