/* In-game wiki editor: the GAME LOOK (docs/igwiki_visual_editor.md 3). Everything inside .gv-win is drawn with the
   game's font, sizes, colours and line height. 1 CSS px = 1 CUI unit; the window is scaled with a transform.
   Editor affordances live in visual.css and take no layout space. */
@font-face {
  font-family: "SRGame";
  src: url("fonts/RobotoCondensed-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "SRGame";
  src: url("fonts/RobotoCondensed-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

/* ---------------------------------------------------------------- the window */
.gv-scaler { position: relative; transform-origin: 0 0; }
.gv-win {
  position: relative;
  width: 1130px;
  font-family: "SRGame", "Roboto Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.171875;
  color: #ffffff;
  background: rgba(14, 13, 13, 0.985);
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  font-kerning: normal;
  cursor: default;
}
.gv-win * { box-sizing: border-box; }
.gv-win .rb { font-weight: 700; }
.gv-win .ri { font-style: italic; }

/* ---------------------------------------------------------------- absolute nodes (Tungsten rectangles) */
.gn { position: absolute; }
.gn.rounded { border-radius: 4px; }
.gn.t {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  white-space: pre-wrap;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.171875;
  font-weight: 700;
}
.gn.t.reg { font-weight: 400; }
.gn.t.in { color: #5c5550; }
.gn-tx { display: block; }
.gn.b { cursor: pointer; }
.gn.b.hv:hover { background-color: var(--hbg) !important; }
.gn.b.tint:hover { box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.06); }
.gn.sc { overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #8c8c8c rgba(25, 25, 25, 0.5); }
.gn.sc::-webkit-scrollbar { width: 8px; }
.gn.sc::-webkit-scrollbar-thumb { background: #8c8c8c; }
.gn.sc::-webkit-scrollbar-track { background: rgba(25, 25, 25, 0.5); }
.gn.sc.unrolled { overflow: visible; }
.gn-content { position: relative; width: 100%; }
.gv-imgbox { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; }
.gv-imgbox img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gv-imgbox img.fill { object-fit: fill; }
.gv-imgbox.missing { background: #1c1919; }
.gv-noimg { font-size: 11px; font-weight: 700; color: #5c5550; letter-spacing: 0.5px; }

/* ---------------------------------------------------------------- v2 guide documents (wiki_layout_v2.md 4) */
.gv-host { position: absolute; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #8c8c8c rgba(25, 25, 25, 0.5); }
.gv-host::-webkit-scrollbar { width: 8px; }
.gv-host::-webkit-scrollbar-thumb { background: #8c8c8c; }
.gv-host::-webkit-scrollbar-track { background: rgba(25, 25, 25, 0.5); }
.gv-host.unrolled { overflow: visible; }
.gv-doc { display: flex; flex-direction: column; align-items: stretch; font-weight: 400; position: relative; }
.gv-t { white-space: pre-wrap; overflow-wrap: normal; word-break: normal; line-height: 1.171875; min-width: 0; }
.gv-sp { flex: 0 0 auto; }
.gv-u { position: relative; }
.gv-head { display: flex; flex-direction: column; gap: 4px; }
.gv-head-t { font-size: 15px; font-weight: 700; color: #c9a22e; }
.gv-rule { height: 1px; flex: 0 0 1px; }
.gv-rule.gold { background: rgba(201, 162, 46, 0.3); }
.gv-rule.line { background: #2b2626; }
.gv-sub { font-size: 13px; font-weight: 700; color: #ece6df; }
.gv-para { font-size: 12px; color: #c9c1b9; }
.gv-muted { font-size: 11px; color: #8e857e; }
.gv-list { display: flex; flex-direction: column; gap: 3px; }
.gv-li { display: flex; flex-direction: row; gap: 6px; align-items: flex-start; }
.gv-li-wrap { display: flex; flex-direction: column; gap: 3px; }
.gv-dot { flex: 0 0 10px; width: 10px; font-size: 12px; font-weight: 400; color: #b8323b; line-height: 1.171875; }
.gv-num { flex: 0 0 20px; width: 20px; font-size: 12px; font-weight: 700; color: #c9a22e; line-height: 1.171875; }
.gv-li-t { flex: 1 1 0; font-size: 12px; color: #c9c1b9; }
.gv-table { display: flex; flex-direction: column; gap: 1px; padding: 1px; background: #2b2626; }
.gv-tr { display: flex; flex-direction: row; gap: 12px; padding: 7px; min-height: 28px; align-items: center; }   /* GvRow: CellPad 7, GV_ROW_MIN_H 28 */
.gv-tr.a { background: #161414; }
.gv-tr.b { background: #121010; }
.gv-tr.gv-thead { background: #1f1b1b; min-height: 26px; }   /* GV_HEAD_ROW_MIN_H */
.gv-cmdtable .gv-tr { align-items: flex-start; }
.gv-cmd { font-size: 12px; font-weight: 700; color: #c9a22e; }
.gv-cmdd { flex: 1 1 0; font-size: 12px; color: #c9c1b9; }
.gv-td { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.gv-td.last { flex: 1 1 0; }
.gv-td .gv-t { font-size: 11px; color: #ece6df; }
.gv-th .gv-t { font-weight: 700; color: #8e857e; }
.gv-sum-k .gv-t { color: #8e857e; }
.gv-td.go { cursor: pointer; }
.gv-td.go:hover { box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.05); }
.gv-chips { display: flex; flex-direction: column; gap: 5px; }
.gv-chips-l { font-size: 10px; font-weight: 700; color: #8e857e; }
.gv-linkchips { margin-top: 5px; }
.gv-grid { display: flex; flex-direction: column; gap: 6px; }
.gv-grow { display: flex; flex-direction: row; gap: 6px; align-items: stretch; }
.gv-chip { flex: 1 1 0; min-width: 0; display: flex; flex-direction: row; align-items: center; gap: 6px; padding: 4px 8px; min-height: 26px; background: #1c1919; }
.gv-chip.fill { background: transparent; }
.gv-chip.go { cursor: pointer; }
.gv-chip.go:hover { background: #2d2828; }
.gv-chip-ic { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.gv-chip-t { font-size: 11px; flex: 1 1 0; }
.gv-arrow { color: #3a7d99; }
.gv-arrow.red { color: #dc2f3b; }
.gv-glink { display: flex; flex-direction: row; align-items: center; min-height: 22px; padding: 2px 0; }
.gv-glink .gv-t { font-size: 12px; }
.gv-glink-l { color: #5bc0eb; }
.gv-glink-l.unknown { color: #8e857e; }
.gv-glink.go { cursor: pointer; }
.gv-glink.go:hover { background: rgba(255, 255, 255, 0.06); }
.gv-unitwrap { display: flex; flex-direction: column; }
.gv-u.go { cursor: pointer; }
.gv-u.go:hover { box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.04); }
.gv-item { display: flex; flex-direction: row; gap: 10px; align-items: flex-start; }
.gv-item-ic { position: relative; flex: 0 0 32px; width: 32px; height: 32px; }
.gv-item-c { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gv-item-n { min-height: 20px; display: flex; flex-direction: row; align-items: center; }
.gv-item-n .gv-t { font-size: 12px; font-weight: 700; color: #ece6df; }
.gv-item-n.go { cursor: pointer; }
.gv-item-n.go:hover { background: rgba(255, 255, 255, 0.06); }
.gv-item-d { font-size: 11px; color: #c9c1b9; }
.gv-note { display: flex; flex-direction: row; align-items: stretch; }
.gv-bar { flex: 0 0 3px; width: 3px; }
.gv-note-box { flex: 1 1 0; min-width: 0; padding: 9px; }   /* GvNote: padding 9 9 9 9 (GV_NOTE_PAD) */
.gv-note-t { font-size: 12px; color: #c9c1b9; }
.gv-code { background: #1c1919; padding: 6px 10px; }
.gv-code .gv-t { font-size: 12px; font-weight: 700; color: #c9a22e; }
.gv-image { display: flex; flex-direction: row; }
.gv-img { position: relative; flex: 0 0 auto; background: #0e0d0d; }
.gv-spoiler { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; background: #1c1919; color: #c9a22e; font-size: 12px; font-weight: 700; cursor: pointer; }
.gv-el { position: relative; }
.gv-gen.empty { padding: 6px 0; }
.gv-foot { display: flex; flex-direction: column; }
.gv-notes { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.gv-notes-h { font-size: 12px; font-weight: 700; color: #c9a22e; min-height: 22px; display: flex; flex-direction: row; align-items: center; }
.gv-notes-n { color: #5c5550; }
.gv-pnote { display: flex; flex-direction: row; background: rgba(28, 25, 25, 0.6); }
.gv-pnote.go { cursor: pointer; }
.gv-pnote-c { flex: 1 1 0; min-width: 0; padding: 4px 8px; }
.gv-pnote-t { font-size: 11px; font-weight: 700; color: #c9c1b9; }
.gv-credit { font-size: 10px; font-weight: 400; color: #5c5550; min-height: 16px; }
.gv-updated { margin-top: 8px; }
.gv-message { position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; color: #8e857e; font-size: 13px; text-align: center; padding: 20px; }
.gv-message b { color: #ece6df; }
.gn.gv-win { position: relative; }
