/* TrenchMC wiki: flat, monochrome, square. Served by Caddy at /_trench/theme.css and linked from
   every Wiki.js page (patch-wikijs.mjs). Admin > Theme > CSS Override still works on top of this. */
:root {
  --t-bg: #0a0a0a;
  --t-panel: #111111;
  --t-line: #262626;
  --t-fg: #e6e6e6;
  --t-dim: #8a8a8a;
  --t-link: #5b9bff;
  --t-missing: #e04848;
}

.v-application,
.v-application .v-application--wrap,
.v-application .v-main,
.v-application .theme--dark.v-sheet,
.v-application .theme--dark.v-card,
.v-application .theme--dark.v-list,
.v-application .theme--dark.v-navigation-drawer,
.v-application .theme--dark.v-toolbar.v-sheet {
  background-color: var(--t-bg) !important;
  color: var(--t-fg);
}

.v-application,
.v-application .contents,
.v-application .text-h1, .v-application .text-h2, .v-application .text-h3, .v-application .text-h4,
.v-application .text-h5, .v-application .text-h6, .v-application .headline, .v-application .title,
.v-application .subtitle-1, .v-application .subtitle-2, .v-application .body-1, .v-application .body-2,
.v-application .caption, .v-application .overline {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
  letter-spacing: 0 !important;
}

/* no rounded corners, no shadows, no gradients */
.v-application *,
.v-application *::before,
.v-application *::after { border-radius: 0 !important; }
.v-application [class*="elevation-"],
.v-application .v-sheet,
.v-application .v-card,
.v-application .v-btn:not(.v-btn--text):not(.v-btn--outlined) { box-shadow: none !important; }

/* top bar */
.v-application .nav-header,
.v-application header.v-app-bar {
  background: #000 !important;
  border-bottom: 1px solid var(--t-line) !important;
}
.v-application .nav-header .headline,
.v-application .nav-header .subheading { letter-spacing: .3em !important; text-transform: uppercase; }

/* the page title band */
.v-application .page-header-section,
.v-application .page-header-section .v-sheet,
.v-application .v-main .grey.darken-4,
.v-application .v-main .blue-grey.darken-4,
.v-application .v-main .grey.lighten-4 {
  background: var(--t-panel) !important;
  border-bottom: 1px solid var(--t-line);
}

/* every accent colour flattened to white-on-black */
.v-application .primary,
.v-application .blue,
.v-application .blue.darken-2,
.v-application .blue.darken-3,
.v-application .teal,
.v-application .indigo,
.v-application .green,
.v-application .pink {
  background-color: #1c1c1c !important;
  border-color: var(--t-line) !important;
  color: var(--t-fg) !important;
}
.v-application .primary--text,
.v-application .blue--text,
.v-application .blue--text.text--darken-2,
.v-application .indigo--text,
.v-application .teal--text { color: var(--t-fg) !important; caret-color: var(--t-fg) !important; }

/* side nav + toc */
.v-application .v-navigation-drawer { border-right: 1px solid var(--t-line); }
.v-application .v-navigation-drawer__border { display: none; }
.v-application .page-col-sd .v-card { background: var(--t-panel) !important; border: 1px solid var(--t-line); }

/* article body */
.v-application .contents { color: var(--t-fg); }
.v-application .contents h1,
.v-application .contents h2,
.v-application .contents h3 {
  color: var(--t-fg) !important;
  font-weight: 700;
  background: none !important;
  border-bottom: 1px solid var(--t-line) !important;
  padding-bottom: 4px;
}
.v-application .contents h1::after,
.v-application .contents h2::after { display: none !important; }

/* links: blue like a wiki; links to pages that don't exist yet are red (click = create it) */
.v-application .contents a,
.v-application .contents a:visited { color: var(--t-link) !important; text-decoration: none; }
.v-application .contents a:hover { text-decoration: underline; }
.v-application .contents a.is-invalid-page,
.v-application .contents a.is-invalid-page:visited { color: var(--t-missing) !important; }
.v-application .contents a.is-external-link::after { opacity: .5; }

.v-application .contents blockquote {
  background: var(--t-panel) !important;
  border-left: 3px solid var(--t-fg) !important;
  color: var(--t-fg) !important;
  box-shadow: none !important;
}
.v-application .contents blockquote.is-info,
.v-application .contents blockquote.is-warning,
.v-application .contents blockquote.is-danger,
.v-application .contents blockquote.is-success { background: var(--t-panel) !important; }

.v-application .contents code {
  background: #1a1a1a !important;
  color: var(--t-fg) !important;
  box-shadow: none !important;
}
.v-application .contents table { border: 1px solid var(--t-line); }
.v-application .contents table th { background: #161616 !important; color: var(--t-fg) !important; border-color: var(--t-line) !important; }
.v-application .contents table td { border-color: var(--t-line) !important; }

/* buttons: the edit/nav floating buttons and any leftover blue */
.v-application .v-btn--fab,
.v-application .v-btn.primary,
.v-application .v-btn.blue,
.v-application .v-btn.blue.darken-2,
.v-application .v-btn.teal {
  background-color: #1c1c1c !important;
  border: 1px solid #444 !important;
  color: var(--t-fg) !important;
}

/* full-screen system pages: "page does not exist", unauthorized, errors, login */
.v-application .newpage,
.v-application .notfound,
.v-application .unauthorized,
.v-application .not-found,
.v-application .login,
.v-application .is-fullscreen {
  background: var(--t-bg) !important;
  background-image: none !important;
}
.v-application .newpage .v-btn,
.v-application .unauthorized .v-btn,
.v-application .notfound .v-btn {
  background: var(--t-fg) !important;
  color: var(--t-bg) !important;
  border: 0 !important;
}
.v-application .newpage .v-btn--outlined,
.v-application .unauthorized .v-btn--outlined,
.v-application .notfound .v-btn--outlined {
  background: transparent !important;
  color: var(--t-dim) !important;
  border: 1px solid var(--t-line) !important;
}
.v-application .purple--text,
.v-application .purple--text.text--lighten-3 { color: var(--t-dim) !important; caret-color: var(--t-dim) !important; }

/* editor: "which editor do you want" picker and other dialogs */
.v-dialog .v-card,
.v-dialog .v-card.theme--light,
.v-dialog .v-sheet.theme--light {
  background-color: var(--t-panel) !important;
  color: var(--t-fg) !important;
  border: 1px solid var(--t-line);
}
.v-dialog .v-card .v-card.radius-7 { background-color: #161616 !important; }
.v-dialog .v-card .v-card.radius-7:hover { background-color: #222 !important; border-color: #555; }
.v-dialog .v-card .grey--text { color: var(--t-dim) !important; }

/* ---------------------------------------------------------------- page templates
   Used by /templates/player (copy it with "From Template"). Plain HTML classes, no inline styles. */

/* notice banners at the top of a page: <div class="t-notice t-notice-stub"> */
.v-application .contents .t-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--t-panel);
  border: 1px solid var(--t-line);
  border-left: 4px solid var(--t-dim);
  padding: 8px 12px;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.45;
}
.v-application .contents .t-notice img {
  width: 40px;
  height: 40px;
  flex: none;
  image-rendering: pixelated;
  margin: 0;
}
.v-application .contents .t-notice b { display: block; font-size: 14px; color: var(--t-fg); }
.v-application .contents .t-notice span { color: var(--t-dim); }
.v-application .contents .t-notice-founder { border-left-color: var(--t-fg); }
.v-application .contents .t-notice-oldfag { border-left-color: #c9a227; }
.v-application .contents .t-notice-danger { border-left-color: var(--t-missing); }
.v-application .contents .t-notice-stub { border-left-color: #555; }

/* player infobox, floated right: <div class="t-infobox"> */
.v-application .contents .t-infobox {
  float: right;
  clear: right;
  width: 290px;
  margin: 0 0 16px 24px;
  background: var(--t-panel);
  border: 1px solid var(--t-line);
  font-size: 13px;
}
.v-application .contents .t-infobox-title {
  background: var(--t-fg);
  color: var(--t-bg);
  font-weight: 700;
  text-align: center;
  padding: 4px 8px;
  letter-spacing: .08em;
}
.v-application .contents .t-infobox-quote {
  text-align: center;
  font-style: italic;
  color: var(--t-dim);
  padding: 8px 10px 0;
}
.v-application .contents .t-infobox-skin {
  display: block;
  margin: 10px auto 2px;
  height: 200px;
  width: auto;
  image-rendering: pixelated;
}
/* a wide picture (place, base) instead of a skin */
.v-application .contents .t-infobox-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-bottom: 1px solid var(--t-line);
}
/* full-width screenshots in the article body: <img class="t-shot" ...> */
.v-application .contents img.t-shot {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px 0 4px;
  border: 1px solid var(--t-line);
}
.v-application .contents .t-infobox-caption {
  text-align: center;
  font-style: italic;
  color: var(--t-dim);
  padding: 0 10px 8px;
}
.v-application .contents .t-infobox table,
.v-application .contents .t-infobox table th,
.v-application .contents .t-infobox table td {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.v-application .contents .t-infobox table { width: 100%; margin: 0; border-collapse: collapse; }
.v-application .contents .t-infobox th {
  color: var(--t-dim) !important;
  font-weight: 700;
  text-align: left;
  vertical-align: top;
  width: 36%;
  padding: 4px 6px 4px 10px !important;
}
.v-application .contents .t-infobox td { padding: 4px 10px 4px 0 !important; color: var(--t-fg); }
.v-application .contents .t-infobox th.t-sec {
  text-align: center;
  color: var(--t-fg) !important;
  border-top: 1px solid var(--t-line) !important;
  padding-top: 8px !important;
}
.v-application .contents .t-clear { clear: both; }
@media (max-width: 760px) {
  .v-application .contents .t-infobox { float: none; width: 100%; margin: 0 0 16px; }
}

/* footer */
.v-application .v-footer { background: #000 !important; border-top: 1px solid var(--t-line); color: var(--t-dim) !important; }
