/* ==========================================================================
   nexOS Wiki — OSDev.org boring wiki style (MediaWiki MonoBook/Vector clone)
   Light, plain, documentation-first. No dark terminal theme.
   ========================================================================== */

* { box-sizing: border-box; }

html { background: #f6f6f6; }

body {
  margin: 0;
  padding: 0;
  background: #f6f6f6 url("data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");
  color: #202122;
  font-family: sans-serif;
  font-size: 14px;
  line-height: 1.6;
}

/* ---------- top personal bar ---------- */
#p-personal {
  font-size: 0.75em;
  text-align: right;
  padding: 0.4em 1em 0 0;
  color: #54595d;
}
#p-personal a { color: #0645ad; text-decoration: none; margin-left: 0.8em; }
#p-personal a:hover { text-decoration: underline; }
#p-personal .anon { color: #54595d; }

/* ---------- header / tabs ---------- */
#mw-head {
  position: relative;
  margin-left: 11em;
  background: #f6f6f6;
  border-bottom: 1px solid #a7d7f9;
  min-height: 3.2em;
}
#left-navigation, #right-navigation {
  position: absolute;
  bottom: 0;
  font-size: 0.8em;
}
#left-navigation { left: 0.5em; }
#right-navigation { right: 0.5em; display: flex; align-items: flex-end; gap: 0.3em; }
#left-navigation ul, #right-navigation ul.tabs {
  list-style: none; margin: 0; padding: 0; display: flex;
}
#left-navigation li, #right-navigation li {
  margin: 0 0.15em 0 0;
  border: 1px solid #a7d7f9;
  border-bottom: none;
  background: #eef6fd;
  padding: 0.35em 0.8em;
}
#left-navigation li.selected, #right-navigation li.selected {
  background: #fff;
  font-weight: bold;
}
#left-navigation a, #right-navigation a { color: #0645ad; text-decoration: none; }
#left-navigation a:hover, #right-navigation a:hover { text-decoration: underline; }
a.new { color: #ba0000 !important; }

/* search */
#p-search {
  display: flex;
  margin-left: 0.6em;
  margin-bottom: 0.25em;
}
#p-search input[type="search"] {
  font: inherit;
  font-size: 0.95em;
  padding: 0.2em 0.4em;
  border: 1px solid #a2a9b1;
  width: 16em;
  background: #fff;
}
#p-search input[type="submit"] {
  font: inherit;
  font-size: 0.95em;
  margin-left: 0.3em;
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  cursor: pointer;
  padding: 0.2em 0.6em;
}

/* ---------- layout ---------- */
#globalWrapper {
  position: relative;
  max-width: 70em;
  margin: 0 auto;
}
#column-one {
  position: absolute;
  left: 0;
  top: 0;
  width: 11em;
  font-size: 0.8em;
  padding-top: 0.5em;
}
#column-content {
  margin-left: 11em;
  background: #fff;
  border: 1px solid #a7d7f9;
  border-top: none;
  padding: 0;
}

/* logo */
#p-logo {
  text-align: center;
  padding: 0.6em 0 0.8em 0;
}
#p-logo .logo-box {
  display: inline-block;
  border: 1px solid #a7d7f9;
  background: #fff;
  padding: 0.5em 0.7em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5em;
  color: #000;
  line-height: 1.1;
}
#p-logo .logo-sub {
  font-family: sans-serif;
  font-size: 0.55em;
  color: #54595d;
  display: block;
  margin-top: 0.2em;
}

/* sidebar portals */
.portal {
  margin: 0 0.6em 0.8em 0.6em;
  padding: 0.4em 0;
  border-top: 1px solid #aaa;
}
.portal h3 {
  font-size: 0.95em;
  font-weight: bold;
  margin: 0 0 0.3em 0.2em;
  color: #000;
}
.portal ul { list-style: none; margin: 0; padding: 0; }
.portal li { margin: 0; padding: 0.1em 0 0.1em 0.8em; line-height: 1.4; }
.portal a { color: #0645ad; text-decoration: none; }
.portal a:hover { text-decoration: underline; }
.portal a.active { font-weight: bold; color: #000; }

/* ---------- content ---------- */
#content {
  padding: 1em 1.5em 2em 1.5em;
  background: #fff;
  color: #202122;
  line-height: 1.6;
}
#content h1.firstHeading {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8em;
  font-weight: normal;
  margin: 0 0 0.1em 0;
  padding-bottom: 0.15em;
  border-bottom: 1px solid #a2a9b1;
  color: #000;
}
#siteSub {
  font-size: 0.85em;
  color: #54595d;
  margin: 0 0 0.8em 0;
}
#contentSub {
  font-size: 0.85em;
  color: #54595d;
  margin-bottom: 1em;
}

#content h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.5em;
  color: #000;
  border-bottom: 1px solid #a2a9b1;
  margin: 1.2em 0 0.4em 0;
  padding-bottom: 0.15em;
}
#content h3 {
  font-size: 1.2em;
  font-weight: bold;
  color: #000;
  margin: 1em 0 0.3em 0;
}
#content h4 { font-size: 1em; font-weight: bold; color: #000; }

#content p { margin: 0.4em 0 0.6em 0; }
#content ul, #content ol { margin: 0.3em 0 0.6em 2em; padding: 0; }

#content a { color: #0645ad; text-decoration: none; }
#content a:visited { color: #0b0080; }
#content a:hover { text-decoration: underline; }
#content a.external { color: #3366bb; }

/* TOC — boring wiki box */
#toc, .toc {
  display: table;
  background: #f8f9fa;
  border: 1px solid #a2a9b1;
  padding: 0.5em 1em 0.5em 0.8em;
  font-size: 0.92em;
  margin: 0.8em 0 1em 0;
  min-width: 18em;
}
#toc h2, .toc h2 {
  font-family: sans-serif !important;
  font-size: 1em !important;
  border: none !important;
  margin: 0 0 0.3em 0 !important;
  padding: 0 !important;
  display: inline;
}
.toctoggle { font-size: 0.9em; }
#toc ul, .toc ul { list-style: none; margin: 0.3em 0 0 0; padding: 0; }
#toc ul ul, .toc ul ul { margin-left: 1.5em; }
#toc li, .toc li { margin: 0.1em 0; }
.tocnumber { color: #202122; margin-right: 0.3em; }

/* infobox — right floated summary like OSDev */
.infobox {
  float: right;
  clear: right;
  width: 22em;
  margin: 0 0 1em 1em;
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  font-size: 0.88em;
  border-collapse: collapse;
}
.infobox th, .infobox td {
  border: 1px solid #a2a9b1;
  padding: 0.3em 0.6em;
  vertical-align: top;
  text-align: left;
}
.infobox th.infobox-title {
  background: #ccf;
  text-align: center;
  font-size: 1.1em;
}
.infobox th { background: #eaecf0; width: 35%; }
.infobox-image { text-align: center; background: #f8f9fa; }
.infobox-image img { max-width: 220px; width: 100%; height: auto; display: block; margin: 0 auto; }
.infobox-caption { font-size: 0.85em; color: #54595d; padding-top: 0.3em; }

/* message boxes */
.ambox, .stub, .note {
  border: 1px solid #a2a9b1;
  border-left: 10px solid #36c;
  background: #fbfbfb;
  padding: 0.4em 0.8em;
  margin: 0.8em 0;
  font-size: 0.92em;
}
.ambox.warn { border-left-color: #fc3; }
.ambox.stub { border-left-color: #aaa; }
.ambox .mbox-text { margin: 0; }

/* code */
#content pre {
  background: #f8f9fa;
  border: 1px solid #eaecf0;
  border-left: 3px solid #a7d7f9;
  padding: 0.8em 1em;
  font-family: monospace, "Courier New";
  font-size: 0.92em;
  line-height: 1.45;
  overflow-x: auto;
  margin: 0.6em 0 0.8em 0;
  color: #202122;
  white-space: pre;
}
#content code {
  font-family: monospace, "Courier New";
  font-size: 0.92em;
  background: #f8f9fa;
  border: 1px solid #eaecf0;
  padding: 0 0.25em;
}
#content pre code { background: none; border: none; padding: 0; }

/* wikitable */
table.wikitable {
  background: #f8f9fa;
  border: 1px solid #a2a9b1;
  border-collapse: collapse;
  margin: 0.6em 0 1em 0;
  font-size: 0.92em;
  width: 100%;
}
table.wikitable th, table.wikitable td {
  border: 1px solid #a2a9b1;
  padding: 0.3em 0.6em;
  vertical-align: top;
  text-align: left;
}
table.wikitable th { background: #eaecf0; font-weight: bold; }
table.wikitable caption { font-weight: bold; padding: 0.3em; }
table.wikitable tr:nth-child(even) td { background: #fff; }
.mono, code.mono { font-family: monospace; }

/* categories */
#catlinks {
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  padding: 0.4em 0.8em;
  margin-top: 1.5em;
  font-size: 0.9em;
  clear: both;
}

/* prev/next nav */
.nav-next {
  display: flex;
  justify-content: space-between;
  margin-top: 2em;
  padding-top: 0.6em;
  border-top: 1px solid #a2a9b1;
  font-size: 0.92em;
}

/* footer */
#footer {
  margin-left: 11em;
  padding: 1em 1.5em;
  font-size: 0.75em;
  color: #54595d;
}
#footer ul { list-style: none; margin: 0.3em 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1em; }
#footer a { color: #0645ad; text-decoration: none; }
#footer a:hover { text-decoration: underline; }
#footer .powered { margin-top: 0.5em; }

/* responsive */
@media (max-width: 800px) {
  #column-one { position: static; width: auto; }
  #mw-head, #footer, #column-content { margin-left: 0; }
  #p-logo { text-align: left; padding-left: 1em; }
  .portal { display: inline-block; vertical-align: top; min-width: 10em; }
  .infobox { float: none; width: 100%; margin: 0 0 1em 0; }
  #content { padding: 1em; }
  #p-search input[type="search"] { width: 10em; }
}
