/* ALB Wiki — article chrome. Sits on top of the site shell (header/footer
   come from script.js); everything below is the wiki content column. */

.wwrap {
  max-width: 62rem;
  margin: 0 auto;
  padding: 0.5rem 1.25rem 3rem;
}

/* masthead: logo + search */
.wmast {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.75rem 0 0.4rem;
  border-bottom: 1px solid #d5d9e0;
}
.wbrand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: #202122;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  letter-spacing: 0.01em;
}
.wbrand img { display: block; }

.wsearch { display: flex; gap: 0; }
.wsearch input[type="search"] {
  border: 1px solid #a2a9b1;
  border-right: none;
  padding: 0.4rem 0.6rem;
  font: inherit;
  min-width: 14rem;
}
.wsearch button {
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  padding: 0.4rem 0.8rem;
  font: inherit;
  cursor: pointer;
}
.wsearch button:hover { background: #fff; }

/* toolbox — the special-page strip under the masthead */
.wtools {
  font-size: 0.82rem;
  color: #54595d;
  padding: 0.35rem 0 0.6rem;
  border-bottom: 1px solid #d5d9e0;
}
.wtools a { color: #0645ad; text-decoration: none; }
.wtools a:hover { text-decoration: underline; }

/* article title + action tabs */
.wtitle {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.8rem;
  color: #202122;
  margin: 0.6rem 0 0;
  padding-bottom: 0.15rem;
  border-bottom: 1px solid #a2a9b1;
}
.wtitle2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.3rem;
  color: #202122;
  margin: 1.6rem 0 0.4rem;
}
.wtabs {
  display: flex;
  gap: 0;
  margin: 0 0 1rem;
  border-bottom: 1px solid #a2a9b1;
  font-size: 0.85rem;
}
.wtab {
  display: inline-block;
  padding: 0.45rem 0.9rem;
  color: #0645ad;
  text-decoration: none;
  border: 1px solid transparent;
  border-bottom: none;
  margin-bottom: -1px;
}
.wtab:hover { text-decoration: underline; }
.wtab-on {
  color: #202122;
  background: #fff;
  border-color: #a2a9b1;
  border-bottom-color: #fff;
  font-weight: bold;
}

/* article body */
.wbody {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #202122;
}
.wbody h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.45rem;
  border-bottom: 1px solid #a2a9b1;
  margin: 1.4rem 0 0.5rem;
  padding-bottom: 0.1rem;
}
.wbody h3 { font-size: 1.15rem; margin: 1.2rem 0 0.4rem; }
.wbody h4, .wbody h5, .wbody h6 { font-size: 1rem; margin: 1rem 0 0.3rem; }
.wbody p { margin: 0.5rem 0; }
.wbody a { color: #0645ad; text-decoration: none; }
.wbody a:hover { text-decoration: underline; }
.wbody a.new { color: #ba0000; }
a.new { color: #ba0000 !important; }
a.new:visited { color: #a55858 !important; }
.wbody blockquote {
  margin: 0.8rem 0;
  padding: 0.4rem 1rem;
  border-left: 3px solid #c8ccd1;
  color: #54595d;
}
.wbody ul, .wbody ol { margin: 0.4rem 0 0.4rem 1.6rem; }
.wcode {
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.88em;
  background: #f8f9fa;
  border: 1px solid #eaecf0;
  padding: 0 0.25em;
}
.wikicode {
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.88rem;
  background: #f8f9fa;
  border: 1px solid #eaecf0;
  padding: 0.7rem 0.9rem;
  overflow-x: auto;
  line-height: 1.45;
}
.wbody table { border-collapse: collapse; margin: 0.8rem 0; }
.wbody th, .wbody td { border: 1px solid #a2a9b1; padding: 0.3rem 0.6rem; text-align: left; }
.wbody th { background: #eaecf0; }

/* category + footer strip */
.wcats {
  margin-top: 1.6rem;
  padding: 0.45rem 0.7rem;
  background: #f8f9fa;
  border: 1px solid #eaecf0;
  font-size: 0.85rem;
  color: #54595d;
}
.wcats a { color: #0645ad; text-decoration: none; }
.wcats a:hover { text-decoration: underline; }
.wfoot {
  margin-top: 0.6rem;
  font-size: 0.8rem;
  color: #72777d;
}
.wfoot a { color: #0645ad; }
.wanon { color: #72777d; font-style: italic; }

/* notices */
.wnotice {
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  padding: 0.6rem 0.9rem;
  margin: 0.8rem 0;
  font-size: 0.9rem;
}
.wconflict {
  border: 1px solid #dd9933;
  background: #fef6e7;
  padding: 0.6rem 0.9rem;
  margin: 0.8rem 0;
  font-size: 0.9rem;
}
.weditnote {
  font-size: 0.82rem;
  color: #54595d;
  border: 1px dashed #c8ccd1;
  padding: 0.45rem 0.7rem;
  margin: 0.6rem 0;
}

/* edit form */
.wedit textarea#wsource {
  width: 100%;
  box-sizing: border-box;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.9rem;
  line-height: 1.5;
  padding: 0.6rem;
  border: 1px solid #a2a9b1;
}
.wedit .wcur {
  width: 100%;
  box-sizing: border-box;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.85rem;
  padding: 0.6rem;
  border: 1px solid #c8ccd1;
  background: #f8f9fa;
}
.weditrow {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0.55rem 0;
  flex-wrap: wrap;
}
.weditrow input[type="text"] {
  font: inherit;
  padding: 0.35rem 0.5rem;
  border: 1px solid #a2a9b1;
  width: 26rem;
  max-width: 100%;
}
.wmin { font-size: 0.85rem; color: #54595d; }
.wbtn {
  font: inherit;
  padding: 0.45rem 1.2rem;
  background: #36c;
  color: #fff;
  border: 1px solid #36c;
  cursor: pointer;
}
.wbtn:hover { background: #2a4b8d; }
.wbtn2 {
  font: inherit;
  padding: 0.45rem 1rem;
  background: #f8f9fa;
  border: 1px solid #a2a9b1;
  cursor: pointer;
}
.wbtn2:hover { background: #fff; }
.wpreview {
  border: 1px solid #a2a9b1;
  padding: 0.8rem 1rem;
  margin: 0.8rem 0;
}
.wmark { font-size: 0.85rem; color: #54595d; margin: 0.6rem 0 1.4rem; }
.wmark code { font-family: Consolas, monospace; background: #f8f9fa; border: 1px solid #eaecf0; padding: 0 0.2em; }

/* history table */
.whist { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-top: 0.6rem; }
.whist th, .whist td { border-bottom: 1px solid #eaecf0; padding: 0.35rem 0.5rem; text-align: left; vertical-align: top; }
.whist th { color: #54595d; font-weight: bold; }
.whist a { color: #0645ad; text-decoration: none; }
.whist a:hover { text-decoration: underline; }
.whacts { white-space: nowrap; }

/* diff table */
.wdiffhead { font-size: 0.9rem; }
.wdiff { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.wdiff td { border-bottom: 1px solid #eaecf0; padding: 0.1rem 0.4rem; }
.wdiff pre { margin: 0; font-family: Consolas, monospace; font-size: 0.85rem; white-space: pre-wrap; }
.wdiff .dmark { width: 1.4rem; color: #72777d; text-align: center; }
.dadd { background: #e6ffed; }
.ddel { background: #ffeef0; }
.dctx pre { color: #54595d; }

/* special page lists */
.wlist { margin: 0.5rem 0; padding-left: 1.4rem; }
.wlist li { margin: 0.25rem 0; font-size: 0.92rem; }
.wcols { columns: 3; }
.wlist a { color: #0645ad; text-decoration: none; }
.wlist a:hover { text-decoration: underline; }
.wrev { font-size: 0.8rem; color: #54595d; }
.wsnip { font-size: 0.82rem; color: #54595d; }

/* auto table of contents — inline block before the first heading,
   shrink-wrapped; body text never wraps around it (encyclopedia style) */
.wtoc {
  display: inline-block;
  max-width: 26rem;
  margin: 0.5rem 0 1rem;
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  padding: 0.45rem 0.9rem 0.55rem;
  font-size: 0.86rem;
}
.wtoc-t { font-weight: bold; color: #202122; }
.wtoc ul { list-style: none; margin: 0.3rem 0 0; padding: 0; }
.wtoc li { margin: 0.12rem 0; }
.wtoc-l3 { padding-left: 1.1rem; }
.wtoc-l4 { padding-left: 2.1rem; }
.wtoc-l5, .wtoc-l6 { padding-left: 3rem; }
.wtoc a { color: #0645ad; text-decoration: none; }
.wtoc a:hover { text-decoration: underline; }

/* infobox — the floated fact card on bios/hardware/language pages */
.wbox {
  float: right;
  clear: right;
  width: 17rem;
  margin: 0.3rem 0 1rem 1.4rem;
  border: 1px solid #a2a9b1;
  background: #f8f9fa;
  font-size: 0.85rem;
}
.wbox-t {
  background: #eaecf0;
  padding: 0.4rem 0.7rem;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: bold;
  text-align: center;
}
.wbox-img { width: 100%; display: block; }
.wbox-c { padding: 0.25rem 0.7rem; font-size: 0.78rem; color: #54595d; text-align: center; }
.wbox-tb { width: 100%; border-collapse: collapse; }
.wbox-tb th, .wbox-tb td {
  text-align: left;
  vertical-align: top;
  padding: 0.28rem 0.7rem;
  border: none;
  border-top: 1px solid #eaecf0;
  background: transparent;
}
.wbox-tb th { color: #54595d; font-weight: normal; width: 36%; }
.wbox-tb a { color: #0645ad; text-decoration: none; }
.wbox-tb a:hover { text-decoration: underline; }
.wbox-s { border-top: 1px solid #eaecf0; padding: 0.3rem 0.7rem 0.5rem; text-align: center; }
.wbox-sl { font-size: 0.72rem; color: #54595d; text-transform: uppercase; letter-spacing: 0.05em; }
.wbox-sig { max-width: 10rem; max-height: 3.2rem; display: inline-block; }

/* [[File:]] figures */
.wfig {
  float: right;
  clear: right;
  max-width: 19rem;
  margin: 0.3rem 0 1rem 1.4rem;
  border: 1px solid #c8ccd1;
  background: #f8f9fa;
  padding: 0.3rem;
}
.wfig img { display: block; max-width: 100%; }
.wfig video { display: block; width: 100%; background: #000; }
.wfig figcaption { font-size: 0.8rem; color: #54595d; padding: 0.3rem 0.15rem 0.1rem; }
.wfig-left { float: left; margin: 0.3rem 1.4rem 1rem 0; }
.wfig-center { float: none; clear: none; margin: 0.8rem auto; max-width: 100%; }
.wimg { max-width: 100%; }

/* redirect stub notice */
.wredir { font-size: 0.95rem; color: #54595d; }
.wredir a { color: #0645ad; }

/* footer tools */
.wfoot-link { margin-left: 0.4rem; }

@media (max-width: 46rem) {
  .wcols { columns: 1; }
  .wsearch input[type="search"] { min-width: 9rem; }
  .wtoc, .wbox, .wfig { float: none; width: auto; max-width: 100%; margin: 0.8rem 0; }
}

/* callout boxes — ```note / fact / tip / warn / quote / alb / box[:color] */
.wcall {
  --wc: #c9a86a;
  --wa: var(--wc);
  display: flow-root; /* BFC — keeps the frame clear of floated infobox/TOC instead of underlapping them */
  margin: 1rem 0;
  padding: 0.65rem 0.9rem;
  border: 4px solid var(--wc);
  border-radius: 4px;
  background: #fffdf7;
  background: color-mix(in srgb, var(--wc) 7%, #fff);
}
.wcall-t { font-weight: 700; color: var(--wa); letter-spacing: 0.02em; margin: 0 0 0.3rem; }
.wcall-b > p { margin: 0.35em 0; }
.wcall-quote .wcall-b { font-style: italic; color: #3a3228; }
.wcall-alb {
  border: 4px solid var(--wc);
  background: #fbf7ee;
  background: color-mix(in srgb, var(--wc) 16%, #fff);
}
.wcall-alb .wcall-t {
  display: inline-block; background: var(--wa); color: #e8f5e9;
  padding: 0.12rem 0.55rem; border-radius: 3px; font-size: 0.85rem;
  text-transform: uppercase; letter-spacing: 0.12em;
}
.wcall-frame .wcall-b, .wcall-box .wcall-b { color: #202122; }

/* ```hide Title — collapsed disclosure box, toggled by its summary button */
.wcall-hide { padding-top: 0.55rem; }
.wcall-hide > summary.wcall-t {
  display: inline-block;
  cursor: pointer;
  user-select: none;
  background: var(--wa); color: #fff;
  padding: 0.2rem 0.75rem;
  border-radius: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.wcall-hide > summary.wcall-t::after { content: " \25B8"; }
.wcall-hide[open] > summary.wcall-t::after { content: " \25BE"; }
.wcall-hide > summary::-webkit-details-marker { display: none; }
.wcall-hide .wcall-b { margin-top: 0.55rem; }

/* task checkboxes — "[ ] off" / "[x] on", standalone or in list items */
.wchk input[type="checkbox"] {
  width: 1em; height: 1em;
  margin: 0 0.45em 0 0;
  vertical-align: -0.12em;
  accent-color: #6aa86a;
  cursor: pointer;
}
li.wchk { list-style: none; margin-left: -1.25rem; }
div.wchk { margin: 0.3em 0; }

/* inline citations — [[cite: source]] superscripts + footnote list */
sup.wcite { line-height: 0; }
sup.wcite a { text-decoration: none; color: #4a6ea8; }
sup.wcite a:hover { text-decoration: underline; }
.wrefs {
  margin: 1.4rem 0 0.6rem;
  padding: 0.6rem 0.9rem;
  border-top: 3px double #c9b98a;
  background: #fbf9f2;
  font-size: 0.9em;
}
.wrefs h3 { font-size: 1rem; margin: 0 0 0.4rem; }
.wrefs-ol { margin: 0; padding-left: 1.6rem; }
.wrefs-ol li { margin: 0.2em 0; }
.wrefs-ol li:target { background: #fff3cf; }
.wrefs-b { text-decoration: none; color: #4a6ea8; font-weight: 700; }

/* ascii flowcharts — ```flow */
.wflow {
  --wc: #1e4a73;
  margin: 1rem 0;
  padding: 0.7rem 1rem;
  border: 4px solid var(--wc);
  border-radius: 4px;
  background: #fbfcfe;
  background: color-mix(in srgb, var(--wc) 5%, #fff);
  overflow-x: auto;
}
.wflow .wcall-t { margin: 0 0 0.45rem; }
.wflow-pre {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 0.9rem; line-height: 1.4;
  color: #3d5a80; margin: 0; white-space: pre;
}

/* rendered flowcharts — ```chart */
.wchart {
  --wc: #5f83b0;
  display: flow-root;
  margin: 1rem 0;
  padding: 0.7rem 1rem;
  border: 4px solid var(--wc);
  border-radius: 4px;
  background: #fbfcfe;
  background: color-mix(in srgb, var(--wc) 4%, #fff);
  overflow-x: auto;
}
.wchart .wcall-t { color: #3d5a80; margin: 0 0 0.4rem; }
.wchart svg { display: block; margin: 0 auto; max-width: 100%; height: auto; }

/* All pages — grouped index & redirect marks */
.wapnav { margin: 0.2rem 0 0.8rem; font-size: 0.92rem; }
.wap-h {
  --sc: #c9a86a;
  margin: 1.4rem 0 0.4rem; padding: 0.25rem 0.6rem;
  font-size: 1.05rem; color: #3a3228;
  border-left: 4px solid var(--sc);
  background: #f7f1e5;
  background: color-mix(in srgb, var(--sc) 18%, #fff);
}
.wap-n { color: #9c8a75; font-weight: normal; font-size: 0.85rem; }
.wredir { color: #9c8a75; font-size: 0.85rem; }
.wredir a { color: #9c8a75; }
.wredir-a { font-style: italic; color: #5f83b0 !important; }
.wredir-sec { color: #a2a9b1; font-size: 0.82rem; }

/* {{date|YYYY-MM-DD}} — article dateline for news/blog pages */
.wdate {
  display: block;
  font-size: 0.88rem;
  color: #54595d;
  margin: 0.2rem 0 0.6rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid #eaecf0;
  font-style: italic;
}

/* Special:News — card grid */
.wnews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.wnews-card {
  border: 1px solid #d5d9e0;
  background: #fafbfc;
  padding: 0.8rem 1rem;
  border-radius: 4px;
}
.wnews-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: 1.05rem;
  margin: 0 0 0.15rem;
}
.wnews-card h3 a { color: #0645ad; text-decoration: none; }
.wnews-card h3 a:hover { text-decoration: underline; }
.wnews-date {
  display: block;
  font-size: 0.78rem;
  color: #72777d;
  margin-bottom: 0.3rem;
}
.wnews-card p {
  font-size: 0.88rem;
  color: #3a3228;
  margin: 0;
  line-height: 1.45;
}
@media (max-width: 46rem) {
  .wnews-grid { grid-template-columns: 1fr; }
}

/* a11y: skip-to-content link — hidden until keyboard focus */
.skipnav{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skipnav:focus{position:static;width:auto;height:auto;padding:8px 14px;background:#1cb0f6;color:#fff;z-index:9999;font-weight:700}

/* ---- cult governance: suggestion queue + staff tools ------------------ */
.wstaffbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.5rem 0 .75rem;padding:.45rem .6rem;border:1px solid #b59d6a;background:#fbf6e8;border-radius:6px}
.wstaff-tag{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a6d1f;border:1px solid #b59d6a;border-radius:4px;padding:.1rem .4rem}
.wstaffbar form{display:inline-flex;align-items:center;gap:.3rem;margin:0}
.wstaffbar input[name="new_title"]{width:9rem;padding:.2rem .4rem;border:1px solid #cfc0a0;border-radius:4px;font:inherit;font-size:.85rem}
.wstaffbar a{font-size:.85rem}
.wsuggest{border:1px solid #d9cfae;border-left:4px solid #b59d6a;border-radius:6px;background:#fdfbf5;padding:.7rem .9rem;margin:.7rem 0}
.wsuggest header{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.9rem}
.wsuggest .wsummary{margin:.3rem 0;color:#5a5040}
.wtally{font-variant-numeric:tabular-nums;color:#3d5a80;font-weight:600}
.wvote{display:inline-flex;gap:.15rem}
.wvote button{border:1px solid #cfc0a0;background:#fff;border-radius:4px;cursor:pointer;font-size:.75rem;line-height:1;padding:.15rem .35rem}
.wvote button:hover{background:#f0e8d4}
.wvote-hint{font-size:.8rem;color:#8a8070;font-style:italic}
.wstaff-act{display:inline-flex}
.wbtn-approve,.wbtn-reject{border:1px solid;border-radius:4px;cursor:pointer;font-size:.78rem;padding:.15rem .5rem}
.wbtn-approve{background:#edf7ee;border-color:#5b8c5a;color:#2d5a2d}
.wbtn-approve:hover{background:#ddf0de}
.wbtn-reject{background:#fbeeee;border-color:#b06060;color:#7a2d2d}
.wbtn-reject:hover{background:#f6dede}
.wsug-detail{margin-top:.4rem}
.wsug-detail summary{cursor:pointer;font-size:.82rem;color:#3d5a80}
.wsug-prev{border-top:1px dashed #d9cfae;margin-top:.4rem;padding:.5rem .3rem;font-size:.88rem}
.wbanform{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.6rem 0;padding:.5rem .6rem;border:1px solid #d9cfae;border-radius:6px;background:#fdfbf5}
.wbanform input{padding:.25rem .45rem;border:1px solid #cfc0a0;border-radius:4px;font:inherit;font-size:.85rem}
.wbanform input[name="target"]{width:10rem}
.wbanform input[name="reason"]{width:14rem}
.wbanform select{padding:.25rem;border:1px solid #cfc0a0;border-radius:4px;font:inherit;font-size:.85rem}
.wmeta{font-size:.78rem;color:#8a8070}
