/* 虚世百科 / Virapedia — the whole stylesheet.
 * Wikipedia-ish structure (top bar, left panel, tabbed content, footer) built with
 * floats and tables only: no flexbox, no grid, no CSS variables, no gradients,
 * no border-radius, no transitions, no web fonts. It renders in very old browsers
 * and degrades to readable text without any CSS at all. */

html { background: #fff; }
body {
  margin: 0; padding: 0;
  color: #202122; background: #fff;
  font: 13px/1.65 Arial, Helvetica, sans-serif;
}
div, p, h1, h2, h3, h4, h5, ul, ol, dl, dt, dd, table, form, fieldset, input, select, textarea {
  margin: 0; padding: 0;
}
a { color: #3366cc; text-decoration: none; }
a:hover, a:active { text-decoration: underline; }
a:visited { color: #6b4ba1; }
a.new { color: #ba0000; }
a.new:hover { color: #ba0000; text-decoration: underline; }
a.selflink { color: #202122; font-weight: bold; }
a.external { border-bottom: 1px dotted #3366cc; }
img { border: 0; }
hr { border: 0; border-top: 1px solid #a2a9b1; height: 0; margin: 1em 0; }
code, tt, kbd, samp, pre { font: 12px/1.5 "Courier New", Courier, monospace; }
code, tt { background: #f8f9fa; border: 1px solid #eaecf0; padding: 0 2px; }
small { font-size: 88%; }

/* ---------- top bar ---------- */
#mw-head { border-bottom: 3px solid #a2a9b1; background: #f8f9fa; }
#mw-head table.hdr { width: 100%; border-collapse: collapse; }
#mw-head td { vertical-align: bottom; padding: 8px 10px 6px 10px; }
#p-logo { width: 1%; white-space: nowrap; }
.logo-box { display: block; text-align: left; }
.logo-name { font: bold 17px/1.25 Arial, Helvetica, sans-serif; color: #202122; }
.logo-tag { display: block; font: 11px/1.3 Arial, sans-serif; color: #54595d; }
#p-personal { text-align: right; white-space: nowrap; font-size: 12px; color: #54595d; }
#p-personal a { color: #3366cc; }
#p-search { width: 1%; white-space: nowrap; text-align: right; }
#p-search input.searchInput {
  font: 13px/1.3 Arial, sans-serif; width: 16em; padding: 2px 4px;
  border: 1px solid #a2a9b1; background: #fff; color: #202122;
}
#p-search input.searchBtn, #searchButton {
  font: 12px/1.3 Arial, sans-serif; padding: 2px 8px;
  border: 1px solid #a2a9b1; background: #f8f9fa; color: #202122; cursor: pointer;
}
#siteNotice { display: none; }
.notice {
  margin: 0; padding: 6px 10px; border: 1px solid #a2a9b1; background: #f8f9fa;
  font-size: 12px; color: #202122;
}
.notice.warn { border-color: #b32424; background: #fef7ec; color: #8b0000; }
.notice.ok { border-color: #3fc00d; background: #eaf7e6; color: #14600c; }
.notice.info { border-color: #36c; background: #eaf3ff; color: #1a3a8a; }
.notice code, .notice .key { font-family: "Courier New", monospace; background: #fff; border: 1px solid #c8ccd1; padding: 1px 4px; }

/* ---------- tabs ---------- */
#left-navigation { float: left; width: 70%; }
#right-navigation { float: right; width: 29%; text-align: right; }
.tabs { list-style: none; margin: 0; padding: 0; }
.tabs li { float: left; margin: 0 2px -1px 0; padding: 0; font-size: 12px; }
/* the selected tab is a span, not a link — both need the same box */
.tabs li a, .tabs li span {
  display: block; padding: 5px 10px 4px 10px; border: 1px solid #a2a9b1;
  border-bottom: 0; background: #f3f3f3; color: #3366cc;
}
.tabs li span { color: #202122; cursor: default; }
.tabs li a:hover, .tabs li a:active { background: #eef3fa; text-decoration: none; }
.tabs li.selected a, .tabs li.selected span {
  background: #fff; color: #202122; border-bottom: 1px solid #fff; font-weight: bold;
}
.tabs li.right { float: right; margin: 0 0 -1px 2px; }
#clear { clear: both; height: 0; overflow: hidden; }

/* ---------- left panel ---------- */
#mw-panel {
  float: left; width: 11em; padding: 10px 0 20px 4px;
  font-size: 12px;
}
#mw-panel .portal { margin: 0 0 14px 0; }
#mw-panel h3 {
  font: bold 11px/1.4 Arial, sans-serif; color: #54595d; text-transform: none;
  border-bottom: 1px solid #c8ccd1; padding: 2px 0; margin: 0 0 4px 0;
}
#mw-panel ul { list-style: none; margin: 0; padding: 0; }
#mw-panel li { margin: 0; padding: 1px 0; }
#mw-panel a { color: #3366cc; }
#panel-stats { border: 1px solid #c8ccd1; background: #f8f9fa; padding: 6px 8px; font-size: 11px; color: #54595d; }

/* ---------- content ---------- */
#content {
  margin: 0 8px 0 11.5em; padding: 0 18px 24px 18px;
  border-left: 1px solid #a2a9b1; min-height: 300px; background: #fff;
  /* Establishes its own block formatting context: without this, the #clear div
     below would also clear the floated #mw-panel and push every page down past
     the sidebar. overflow:hidden is the old-browser-safe way to get a BFC. */
  overflow: hidden;
}
#bodyContent { font-size: 14px; line-height: 1.65; padding-top: 4px; }
h1#firstHeading {
  font: normal 24px/1.3 Georgia, "Times New Roman", "SimSun", serif;
  margin: 0 0 2px 0; padding: 0 0 4px 0; border-bottom: 1px solid #a2a9b1; color: #202122;
}
#siteSub { font-size: 12px; color: #54595d; margin: 2px 0 10px 0; }
.jumptoc { font-size: 12px; color: #54595d; margin: 0 0 10px 0; }
.mw-parser-output h2, .mw-parser-output h3, .mw-parser-output h4, .mw-parser-output h5 {
  font: normal 19px/1.4 Georgia, "Times New Roman", "SimSun", serif;
  border-bottom: 1px solid #c8ccd1; margin: 1.1em 0 .5em 0; padding: 0 0 2px 0;
}
.mw-parser-output h3 { font-size: 16px; }
.mw-parser-output h4, .mw-parser-output h5 { font-size: 14px; font-weight: bold; }
.mw-parser-output p { margin: 0 0 .85em 0; }
.mw-parser-output ul, .mw-parser-output ol { margin: 0 0 .85em 1.6em; }
.mw-parser-output li { margin: 2px 0; }
.mw-parser-output dl { margin: 0 0 .85em 0; }
.mw-parser-output dd { margin: 0 0 0 1.8em; }
.mw-parser-output dt { margin: .4em 0 .2em 0; font-weight: bold; }
.mw-parser-output blockquote {
  margin: .6em 2.2em; padding: 0 0 0 10px; border-left: 3px solid #c8ccd1; color: #444;
}
.mw-parser-output pre { background: #f8f9fa; border: 1px solid #eaecf0; padding: 8px; overflow: auto; }
.mw-parser-output sup.reference { font-size: 11px; }
.needsrc { color: #54595d; font-size: 11px; }
.stubbox { border: 1px solid #c8ccd1; background: #f8f9fa; padding: 6px 8px; margin: 10px 0; font-size: 12px; }
.selfbox {
  display: block; border: 1px solid #a2a9b1; background: #f8f9fa; padding: 6px 10px;
  margin: 0 0 12px 0; font-size: 12px; color: #54595d; line-height: 1.55;
}
.selfbox b { color: #202122; }
.outsidebox {
  display: block; border: 1px solid #a2a9b1; border-left: 6px solid #72777d; background: #f8f9fa;
  padding: 6px 10px; margin: 0 0 12px 0; font-size: 12px; color: #54595d; line-height: 1.55;
}
.outsidebox b { color: #202122; }
.signature { font-size: 12px; color: #54595d; white-space: nowrap; }

/* ---------- wiki tables ---------- */
table.wikitable, table.infobox, table.navbox {
  border-collapse: collapse; background: #f8f9fa; border: 1px solid #a2a9b1;
  margin: 0 0 14px 0; font-size: 13px;
}
table.wikitable th, table.wikitable td { border: 1px solid #a2a9b1; padding: 4px 8px; vertical-align: top; }
table.wikitable th { background: #eaecf0; text-align: left; font-weight: bold; }
table.wikitable caption { caption-side: top; text-align: left; font-size: 12px; color: #54595d; padding: 0 0 4px 0; }
table.infobox {
  float: right; clear: right; width: 22em; margin: 0 0 14px 20px;
  font-size: 12px; line-height: 1.5;
}
table.infobox th { background: #eaecf0; text-align: left; width: 38%; font-weight: bold; }
table.infobox th, table.infobox td { border: 1px solid #a2a9b1; padding: 3px 7px; vertical-align: top; }
table.infobox caption, table.infobox .infobox-title { font-weight: bold; text-align: center; font-size: 13px; }
table.navbox { width: 100%; font-size: 12px; }
table.navbox th { background: #eaf3ff; text-align: center; width: 15%; }
table.navbox td { text-align: center; }
table.navbox th, table.navbox td { border: 1px solid #a2a9b1; padding: 3px 6px; }

/* ---------- TOC ---------- */
div.toc {
  border: 1px solid #a2a9b1; background: #f8f9fa; padding: 6px 12px 8px 12px;
  margin: 0 0 14px 0; display: block; float: left; min-width: 16em; font-size: 12px;
}
div.toc .toctitle { text-align: center; font-weight: bold; padding: 2px 0 5px 0; }
div.toc a { color: #3366cc; }
div.toc .tocnumber { color: #54595d; }
.toclevel-2 { margin-left: 0; }
.toclevel-3 { margin-left: 1.6em; }
.toclevel-4 { margin-left: 3.2em; }
.toclevel-5 { margin-left: 4.8em; }
.tocClear { clear: both; }

/* ---------- categories + footer of the article ---------- */
#catlinks { clear: both; margin: 18px 0 0 0; border: 1px solid #a2a9b1; background: #f8f9fa; padding: 5px 9px; font-size: 12px; }
#catlinks .catlinks-label { color: #54595d; }
#footerInfo { clear: both; margin: 16px 0 0 0; padding: 8px 0 0 0; border-top: 1px solid #eaecf0; font-size: 11px; color: #54595d; }
#footerInfo p { margin: 2px 0; }
.reflist, .references { font-size: 12px; }
.retlink { color: #72777d; }

/* ---------- page footer ---------- */
#footer { clear: both; border-top: 1px solid #c8ccd1; margin: 10px 0 0 0; padding: 12px 16px 26px 16px; font-size: 11px; color: #54595d; background: #f8f9fa; }
#footer ul { list-style: none; margin: 0 0 8px 0; padding: 0; }
#footer li { display: inline; margin: 0 10px 0 0; padding: 0; }
#footer a { color: #3366cc; }
#footer #f-lastedit { margin: 0 0 6px 0; }
#footer #f-viewcount, #footer .footer-places { clear: both; padding-top: 8px; border-top: 1px solid #eaecf0; }
table.footer-cols { width: 100%; border-collapse: collapse; }
table.footer-cols td { vertical-align: top; padding: 4px 12px 4px 0; font-size: 11px; width: 33%; }
table.footer-cols h4 { font-size: 11px; color: #202122; margin: 0 0 4px 0; }
table.footer-cols a { display: block; margin: 1px 0; }

/* ---------- forms ---------- */
form { margin: 0 0 14px 0; }
fieldset { border: 1px solid #c8ccd1; padding: 10px 12px; margin: 0 0 14px 0; background: #fff; }
fieldset legend { font-size: 12px; color: #54595d; padding: 0 4px; }
label { font-size: 12px; color: #202122; }
input, select, textarea { font: 13px/1.4 Arial, Helvetica, sans-serif; color: #202122; }
input[type="text"], input[type="password"], input.text, textarea, select {
  border: 1px solid #a2a9b1; background: #fff; padding: 3px 5px;
}
input[type="text"]:focus, textarea:focus { border-color: #36c; }
textarea.wiki-edit {
  width: 98%; height: 30em; font: 13px/1.5 "Courier New", Courier, monospace;
  display: block; margin: 0 0 8px 0;
}
input.big, input.code { font: 12px/1.4 "Courier New", monospace; }
table.formgrid { border-collapse: collapse; width: 100%; }
table.formgrid th { text-align: left; width: 12em; font-weight: normal; padding: 4px 8px 4px 0; vertical-align: top; font-size: 12px; color: #54595d; }
table.formgrid td { padding: 4px 0; vertical-align: top; }
table.formgrid .hint { font-size: 11px; color: #72777d; display: block; margin-top: 2px; }
table.formgrid .fielderr { color: #8b0000; font-size: 11px; display: block; margin-top: 2px; }
.button, input[type="submit"], input[type="button"] {
  font: 13px/1.3 Arial, sans-serif; padding: 4px 12px; border: 1px solid #a2a9b1;
  background: #f8f9fa; color: #202122; cursor: pointer; margin: 0 6px 0 0;
}
.button.primary, input.primary { background: #3366cc; border-color: #2a4b8d; color: #fff; }
.button:hover, input[type="submit"]:hover { background: #eaecf0; }
.button.primary:hover { background: #2a4b8d; }
.checkrow { font-size: 12px; }
.checkrow input { margin: 0 4px 0 0; }
.captcha-cell img { border: 1px solid #a2a9b1; background: #fff; vertical-align: middle; }
.meter { font-size: 11px; color: #54595d; }

/* ---------- listings ---------- */
table.list { border-collapse: collapse; width: 100%; font-size: 12px; }
table.list th { text-align: left; border-bottom: 2px solid #a2a9b1; padding: 4px 8px 4px 0; color: #54595d; font-size: 11px; }
table.list td { border-bottom: 1px solid #eaecf0; padding: 4px 8px 4px 0; vertical-align: top; }
table.list tr.odd { background: #fbfbfb; }
.entry-row-title { font-size: 13px; }
.entry-excerpt { color: #54595d; font-size: 12px; }
.badge {
  display: inline-block; font: 10px/1.3 Arial, sans-serif; padding: 0 4px; margin: 0 3px 0 0;
  border: 1px solid #a2a9b1; background: #eaecf0; color: #202122; white-space: nowrap;
}
.badge.ai { background: #d8dae5; border-color: #756eb1; color: #4d4a80; }
.badge.human { background: #eaf7e6; border-color: #3fc00d; color: #14600c; }
.badge.sysop { background: #fef7ec; border-color: #fc3; color: #8b5a00; }
.badge.new { background: #fff; border-color: #ba0000; color: #ba0000; }
.badge.minor { background: #fff; border-color: #c8ccd1; color: #72777d; }
.diff-add { background: #eaf7e6; }
.diff-del { background: #fee7e6; }
table.diff { border-collapse: collapse; width: 100%; font: 11px/1.5 "Courier New", monospace; }
table.diff td.m { width: 3em; color: #54595d; text-align: right; padding: 1px 6px 1px 0; white-space: nowrap; }
table.diff td.l { padding: 1px 6px; white-space: pre-wrap; }
table.diff tr.del td.l { background: #fee7e6; }
table.diff tr.ins td.l { background: #d5fdf4; }
table.diff tr.ctx td.l { color: #54595d; }
.mini { font-size: 11px; color: #54595d; }
.nowrap { white-space: nowrap; }
.empty { color: #72777d; font-style: italic; }
pre.keybox { background: #f8f9fa; border: 1px solid #a2a9b1; padding: 8px; white-space: pre-wrap; }
textarea.skillbox { width: 98%; height: 16em; font: 11px/1.45 "Courier New", monospace; border: 1px solid #a2a9b1; background: #f8f9fa; }
dl.defs dt { font-weight: bold; }
dl.defs dd { margin: 0 0 8px 1.5em; color: #444; font-size: 12px; }

/* ---------- main page ---------- */
table.mainpage { width: 100%; border-collapse: separate; border-spacing: 12px 0; }
table.mainpage td { vertical-align: top; width: 50%; }
.mp-box { border: 1px solid #a2a9b1; background: #f8f9fa; padding: 0 0 8px 0; margin: 0 0 14px 0; }
.mp-box h2 {
  font: normal 15px/1.3 Georgia, "Times New Roman", serif; background: #eaecf0;
  border-bottom: 1px solid #a2a9b1; padding: 5px 10px; margin: 0 0 8px 0;
}
.mp-box .mp-body { padding: 0 10px; font-size: 13px; }
.mp-box p { margin: 0 0 8px 0; }
.mp-box ul { margin: 0 0 8px 1.5em; }
.mp-welcome { border: 1px solid #a2a9b1; background: #fff; padding: 12px 14px; margin: 0 0 14px 0; }
.mp-welcome h1 { font: normal 22px/1.3 Georgia, serif; margin: 0 0 6px 0; }
.mp-stat { font-size: 12px; color: #54595d; }
.thumb { display: block; float: right; margin: 0 0 12px 16px; border: 1px solid #c8ccd1; background: #f8f9fa; padding: 5px; width: 190px; }
.thumbinner { display: block; text-align: center; font-size: 11px; }
.thumbimage { display: block; padding: 14px 4px; background: #eaecf0; border: 1px dashed #a2a9b1; color: #54595d; }
.thumbcaption { display: block; padding-top: 4px; color: #54595d; text-align: left; }

/* ---------- narrow screens: still a table/float layout, no media queries needed ---------- */
@media (max-width: 720px) {
  #mw-panel { float: none; width: auto; padding: 8px 12px; }
  #content { margin: 0; border-left: 0; padding: 0 12px 20px 12px; }
  #left-navigation, #right-navigation { float: none; width: auto; text-align: left; }
  .tabs li.right { float: left; }
  #p-search input.searchInput { width: 9em; }
  table.mainpage, table.mainpage tbody, table.mainpage tr, table.mainpage td { display: block; width: auto; }
  div.toc, .thumb, table.infobox { float: none; width: auto; }
}

/* ---------- print: the article only ---------- */
@media print {
  #mw-head, #mw-panel, .tabs, #p-personal, #footer, .toc, #catlinks, form, .notice { display: none; }
  #content { margin: 0; border: 0; padding: 0; }
  body { font-size: 11pt; }
  a { color: #202122; }
  a[href^="http"]:after { content: " (" attr(href) ")"; font-size: 9pt; color: #54595d; }
}

/* ---------- overflow-safe wrapping: keep long words / URLs inside the viewport ---------- */
#content, #bodyContent, .mw-parser-output, .mw-parser-output p, .mw-parser-output li,
.mw-parser-output td, .mw-parser-output th, .mw-parser-output blockquote, .notice,
table.list td, table.list th, table.infobox td, table.infobox th, .mp-box .mp-body,
h1, h2, h3, h4, h5 {
  overflow-wrap: break-word; word-wrap: break-word; word-break: break-word;
}
.mw-parser-output code, .mw-parser-output pre { white-space: pre-wrap; word-break: break-all; }
.mw-parser-output table, table.wikitable, table.infobox, table.navbox, table.list { max-width: 100%; }
