/* PrivatePS wiki: extra styles on top of style.css (the blue site theme). Class names used by tools/wiki/build_wiki.py and assets/wiki.js. */
.wiki-menu .wiki-search { position: relative; margin: 0 0 10px; }
.wiki-menu .wiki-search input { width: 100%; }
.wiki-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40; background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, .5); padding: 4px; min-width: 240px; }
.wiki-suggest a { display: flex; justify-content: space-between; gap: 8px; padding: 7px 9px; border-radius: 8px; color: var(--text); }
.wiki-suggest a:hover { background: var(--panel); text-decoration: none; }
.wiki-suggest small { color: var(--dim); white-space: nowrap; }
.wiki-search.wide { display: flex; gap: 8px; margin: 0 0 16px; max-width: 560px; }
.wiki-search.wide input { flex: 1; }
.wiki-menu a.wiki-cat.open { color: #fff; }
.wiki-menu a.wiki-sub { padding-left: 24px; font-size: .92rem; }

.wiki-crumbs { font-size: .88rem; color: var(--dim); margin: 0 0 8px; }
.wiki-crumbs a { color: var(--muted); }
.wiki-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.wiki-title h1 { margin: 0; }
.wiki-bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.wiki-bar[hidden] { display: none; }
.wiki-foot { margin-top: 28px; font-size: .85rem; }
.prose.wiki { max-width: 940px; }
.wiki-extra { margin-top: 20px; padding-top: 12px; border-top: 1px dashed var(--line-2); }

/* infobox: floats to the right on wide screens like a wiki infobox */
.wiki-body table.infobox { float: right; clear: right; width: 290px; margin: 0 0 16px 20px; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--panel); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.wiki-body table.infobox caption { caption-side: top; text-align: center; font-weight: 700; color: #fff; background: linear-gradient(180deg, #1b3a63, #142b4b); padding: 9px 10px; border: 1px solid var(--line-2); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; }
.wiki-body table.infobox th { text-align: left; font-weight: 600; color: var(--muted); width: 42%; padding: 7px 10px; border-top: 1px solid var(--line); vertical-align: top; white-space: normal; background: transparent; }
.wiki-body table.infobox td { padding: 7px 10px; border-top: 1px solid var(--line); white-space: normal; }
.wiki-body::after { content: ""; display: block; clear: both; }
.wiki-body h2 { clear: none; }
.wiki-body img { max-width: 100%; height: auto; }
.wiki-note, .wiki-warn { margin: 0 0 1em; padding: 4px 14px; border-radius: 10px; border: 1px solid #2d527a; background: rgba(47, 143, 255, .1); }
.wiki-warn { border-color: #7a6a25; background: rgba(240, 200, 60, .1); }
.wiki-note p, .wiki-warn p { margin: .6em 0; }
.wiki-body blockquote { margin: 0 0 1em; padding: 2px 14px; border-left: 3px solid var(--accent); color: var(--muted); }
.wiki-body hr { border: 0; border-top: 1px solid var(--line-2); margin: 1.4em 0; }
.wiki-body code { background: var(--panel-2); padding: 1px 5px; border-radius: 5px; }
.wiki-body .table-wrap { overflow-x: auto; }

/* editor and history (moderators and up) */
.wiki-panel { margin: 0 0 20px; padding: 16px; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--panel); }
.wiki-editor label { display: block; margin: 0 0 12px; font-weight: 600; color: var(--muted); }
.wiki-editor label input, .wiki-editor label select, .wiki-editor label textarea { display: block; width: 100%; margin-top: 5px; font-weight: 400; }
.wiki-editor textarea { font-family: ui-monospace, "SF Mono", Consolas, monospace; font-size: .9rem; min-height: 360px; line-height: 1.5; }
.we-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.we-previewhead { font-weight: 600; color: var(--muted); margin: 0 0 5px; }
.we-preview { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; max-height: 560px; overflow: auto; background: var(--bg); }
.wiki-help { margin: 0 0 12px; }
.wiki-help summary { cursor: pointer; color: var(--accent-2); }
.wiki-rev { white-space: pre-wrap; max-height: 360px; overflow: auto; background: var(--bg); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; margin: 12px 0; }
.wiki-editor .bad, .wiki-panel .bad { color: var(--red); }
.wiki-result-list { list-style: none; padding: 0; }
.wiki-result-list li { padding: 7px 0; border-bottom: 1px solid var(--line); }
.wiki-result-list .badge { margin-left: 8px; }

@media (max-width: 960px) {
  .wiki-menu .wiki-search { width: 100%; }
  .we-cols { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .wiki-body table.infobox { float: none; width: 100%; margin: 0 0 16px; }
  .wiki-menu a.wiki-sub { padding-left: 8px; }
}

/* ---- no sideways scrolling on any screen (phone first) ---- */
.with-side { grid-template-columns: 230px minmax(0, 1fr); }
.with-side > * { min-width: 0; }
.prose.wiki, .wiki-body, .wiki-panel, .wiki-editor { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.wiki-body img, .wiki-body table, .wiki-body pre, .wiki-rev { max-width: 100%; }
.wiki-body pre, .wiki-rev, .wiki-body code { white-space: pre-wrap; overflow-wrap: anywhere; }
.wiki-body th, .wiki-body td, .wiki-panel th, .wiki-panel td { white-space: normal; overflow-wrap: anywhere; }
.wiki-bar button, .wiki-bar a, .wiki-panel .btn { max-width: 100%; }
.wiki-suggest { min-width: 0; }
.wiki-editor input, .wiki-editor select, .wiki-editor textarea { max-width: 100%; box-sizing: border-box; }
.we-cols > * { min-width: 0; }
.wiki-nav-toggle { display: none; }
.wiki-navbox > summary { display: none; list-style: none; }
.wiki-navbox > summary::-webkit-details-marker { display: none; }
.wiki-navbox { display: contents; }
@media (max-width: 960px) {
  .with-side { grid-template-columns: minmax(0, 1fr); }
  .wiki-menu { display: block; }
  .wiki-navbox { display: block; }
  .wiki-navbox > summary { display: block; cursor: pointer; padding: 9px 12px; margin: 6px 0 0; border: 1px solid var(--line-2); border-radius: 8px; background: var(--panel-2); font-weight: 600; }
  .wiki-navbox[open] > summary { margin-bottom: 6px; }
  .wiki-navbox > a { display: block; }
}
@media (max-width: 720px) {
  .wiki-title { flex-direction: column; align-items: flex-start; }
  .wiki-body .table-wrap { border: 0; background: transparent; overflow: visible; }
  .wiki-body table:not(.infobox), .wiki-body table:not(.infobox) tbody, .wiki-body table:not(.infobox) tr, .wiki-body table:not(.infobox) td { display: block; width: 100%; box-sizing: border-box; }
  .wiki-body table:not(.infobox) thead { display: none; }
  .wiki-body table:not(.infobox) tr { margin: 0 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); overflow: hidden; }
  .wiki-body table:not(.infobox) td { display: flex; gap: 10px; justify-content: space-between; text-align: right; border-bottom: 1px solid var(--line); padding: 7px 10px; min-width: 0; }
  .wiki-body table:not(.infobox) td:last-child { border-bottom: 0; }
  .wiki-body table:not(.infobox) td::before { content: attr(data-label); color: var(--muted); font-weight: 600; text-align: left; flex: 0 0 38%; }
  .wiki-body table:not(.infobox) td:not([data-label])::before, .wiki-body table:not(.infobox) td[data-label=""]::before { display: none; }
  .wiki-panel .table-wrap { overflow-x: visible; border: 0; background: transparent; }
  .wiki-panel table, .wiki-panel tbody, .wiki-panel tr, .wiki-panel td { display: block; width: 100%; box-sizing: border-box; }
  .wiki-panel thead { display: none; }
  .wiki-panel tr { margin: 0 0 10px; border: 1px solid var(--line); border-radius: 10px; padding: 4px 0; }
  .wiki-panel td { border: 0; padding: 4px 10px; }
  .we-preview { max-height: 320px; }
  .wiki-editor textarea { min-height: 260px; }
}

/* ---- spacing scale: 16px between blocks on phones, 24px on desktop ---- */
.prose.wiki { --gap: 16px; }
@media (min-width: 721px) { .prose.wiki { --gap: 24px; } }
.wiki-body > p, .wiki-body > ul, .wiki-body > ol, .wiki-body > blockquote, .wiki-body > .table-wrap, .wiki-body > .wiki-note, .wiki-body > .wiki-warn,
.wiki-body > table, .wiki-body > details { margin-top: 0; margin-bottom: var(--gap); }
.wiki-body h2 { margin: calc(var(--gap) * 1.5) 0 calc(var(--gap) * .6); }
.wiki-body h3 { margin: var(--gap) 0 calc(var(--gap) * .5); }
.wiki-body table.infobox { margin-bottom: var(--gap); }
.wiki-body .wiki-note, .wiki-body .wiki-warn, .wiki-extra { margin-bottom: var(--gap); }
.wiki-crumbs { margin-bottom: 12px; }
.wiki-title { margin-bottom: var(--gap); }
#wiki-notice:not(:empty) { margin-bottom: var(--gap); }
.wiki-panel { margin-bottom: var(--gap); padding: var(--gap); }
.wiki-panel .table-wrap, .wiki-panel .btn-row, .wiki-panel .wiki-rev, .wiki-help { margin-bottom: var(--gap); }
.wiki-editor label { margin-bottom: 16px; }
.we-cols { gap: var(--gap); margin-bottom: var(--gap); }
.wiki-menu { margin-bottom: var(--gap); }
.wiki-menu .wiki-search { margin-bottom: 12px; }
.wiki-result-list li { padding: 12px 0; }
.wiki-search.wide { margin-bottom: var(--gap); }
.wiki-foot { margin-top: calc(var(--gap) * 1.5); }
.pv-tabs { margin-bottom: var(--gap); }
@media (max-width: 720px) {
  .wiki-body table:not(.infobox) tr { margin-bottom: 12px; }
  .wiki-bar { gap: 10px; }
}
