Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 14:58, 26 July 2026 by Aurelianus (talk | contribs) (Replace generic card theme with a dense, game-specific cultivation atlas design)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* HarvestWiki — bespoke dark cultivation atlas */
:root {
  --hw-forest-950: #08110d;
  --hw-forest-900: #0d1a14;
  --hw-forest-800: #14281e;
  --hw-forest-700: #1d3a2b;
  --hw-forest-600: #2f654b;
  --hw-brass: #c9a75f;
  --hw-brass-bright: #efd28a;
  --hw-rice: #f2ead8;
  --hw-ash: #a7b4ac;
  --hw-border: #31463b;
  --hw-panel: #111d17;
  --hw-panel-2: #18251e;
  --hw-red: #8b3531;
  --hw-blue: #284e66;
  --hw-purple: #4e365e;
  --hw-shadow: 0 5px 14px rgba(0,0,0,.28);
}

body {
  background-color: var(--color-surface-0, #0c120f);
  background-image:
    linear-gradient(135deg, rgba(201,167,95,.035) 25%, transparent 25%),
    linear-gradient(225deg, rgba(201,167,95,.035) 25%, transparent 25%),
    linear-gradient(315deg, rgba(201,167,95,.035) 25%, transparent 25%),
    linear-gradient(45deg, rgba(201,167,95,.035) 25%, transparent 25%);
  background-position: 14px 0, 14px 0, 0 0, 0 0;
  background-size: 28px 28px;
  background-attachment: fixed;
}

/* Replace the installation placeholder mark with a wiki emblem. */
.mw-logo-icon { display: none !important; }
.mw-logo::before {
  content: "道";
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  box-sizing: border-box;
  border: 2px solid var(--hw-brass);
  border-radius: 50%;
  background: var(--hw-forest-900);
  color: var(--hw-brass-bright);
  font: 700 21px/1 Georgia, serif;
  box-shadow: inset 0 0 0 3px var(--hw-forest-900), inset 0 0 0 4px rgba(201,167,95,.35);
}

.mw-parser-output {
  max-width: 1180px;
  line-height: 1.62;
}

.mw-first-heading, .firstHeading {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -.018em;
}

.mw-parser-output h2 {
  margin-top: 2rem;
  padding: .55rem .75rem;
  border: 0;
  border-left: 4px solid var(--hw-brass);
  background: linear-gradient(90deg, rgba(201,167,95,.12), transparent 72%);
  font-size: 1.42rem;
  letter-spacing: .01em;
}

.mw-parser-output h3 { color: var(--hw-brass); }
.mw-parser-output a { text-underline-offset: .16em; }
.mw-parser-output a:not(.new) { color: #79aee0; }
.mw-parser-output a:hover { color: #a9cdf0; }
.mw-parser-output .new { color: #ce7771; }

/* Dense reference tables */
.mw-parser-output table.wikitable,
.mw-parser-output .hw-table {
  width: 100%;
  margin: 1rem 0 1.5rem;
  border: 2px solid var(--hw-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 7px;
  overflow: hidden;
  background: var(--color-surface-1, var(--hw-panel));
  box-shadow: var(--hw-shadow);
}

.mw-parser-output table.wikitable th,
.mw-parser-output .hw-table th {
  padding: .7rem .75rem;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.08);
  background: #172f24;
  color: var(--hw-rice);
  font-size: .74rem;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .075em;
}

.mw-parser-output table.wikitable td,
.mw-parser-output .hw-table td {
  padding: .68rem .75rem;
  border: 0;
  border-right: 1px solid var(--hw-border);
  border-bottom: 1px solid var(--hw-border);
  vertical-align: middle;
}

.mw-parser-output table.wikitable th:last-child,
.mw-parser-output table.wikitable td:last-child,
.mw-parser-output .hw-table th:last-child,
.mw-parser-output .hw-table td:last-child { border-right: 0; }
.mw-parser-output table.wikitable tr:last-child td,
.mw-parser-output .hw-table tr:last-child td { border-bottom: 0; }
.mw-parser-output table.wikitable tr:nth-child(even) td,
.mw-parser-output .hw-table tr:nth-child(even) td { background: rgba(201,167,95,.04); }
.mw-parser-output table.wikitable tr:hover td,
.mw-parser-output .hw-table tr:hover td { background: rgba(201,167,95,.1); }

/* Main page portal */
.hw-portal { width: 100%; margin: .25rem 0 1.5rem; }
.hw-portal a { text-decoration: none; }

.hw-masthead {
  position: relative;
  min-height: 340px;
  display: grid;
  grid-template-columns: 190px minmax(0,1fr);
  align-items: center;
  gap: clamp(1rem,4vw,3rem);
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(1.4rem,4vw,3rem);
  border: 4px solid #25372f;
  border-radius: 10px;
  background:
    radial-gradient(circle at 14% 47%, rgba(239,210,138,.16) 0 7rem, transparent 7.1rem),
    linear-gradient(180deg, rgba(7,15,11,.08), rgba(7,15,11,.68)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px),
    linear-gradient(120deg, #152c21, #0e1a15 62%, #261d13);
  box-shadow: inset 0 0 0 1px rgba(201,167,95,.2), var(--hw-shadow);
  color: var(--hw-rice);
}

.hw-masthead::before,
.hw-masthead::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.hw-masthead::before {
  inset: 13px;
  border: 1px solid rgba(201,167,95,.3);
  border-radius: 4px;
}
.hw-masthead::after {
  right: -7%;
  bottom: -52%;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgba(201,167,95,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(201,167,95,.025), 0 0 0 58px rgba(201,167,95,.018);
}

.hw-emblem {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 170px;
  height: 170px;
  border: 2px solid var(--hw-brass);
  border-radius: 50%;
  background: radial-gradient(circle, #1d392b, #0b1711 68%);
  color: var(--hw-brass-bright);
  font: 700 78px/1 Georgia, serif;
  box-shadow: inset 0 0 0 8px #0d1a14, inset 0 0 0 9px rgba(201,167,95,.36), 0 8px 22px rgba(0,0,0,.35);
}
.hw-emblem::before,
.hw-emblem::after {
  content: "HARVEST";
  position: absolute;
  top: 20px;
  color: var(--hw-brass);
  font: 700 8px/1 system-ui,sans-serif;
  letter-spacing: .32em;
}
.hw-emblem::after { content: "THE DAO"; top: auto; bottom: 20px; }

.hw-masthead-copy { position: relative; z-index: 2; min-width: 0; }
.hw-overline { margin-bottom: .55rem; color: var(--hw-brass); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hw-masthead h2 {
  margin: 0 0 .55rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #fff !important;
  font: 700 clamp(2.2rem,5.5vw,4.2rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing: -.04em;
}
.hw-masthead-copy > p { max-width: 720px; margin: .5rem 0 .9rem; color: #c6d0ca; font-size: 1rem; }
.hw-wiki-stats { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .7rem 0 1rem; color: var(--hw-brass-bright); font-size: .82rem; font-weight: 700; }
.hw-wiki-stats span::before { content: "◆"; margin-right: .45rem; color: var(--hw-brass); font-size: .55rem; vertical-align: .15em; }

.hw-socials { display: flex; flex-wrap: wrap; gap: .4rem; }
.hw-social {
  display: inline-block;
  padding: .45rem .72rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 5px;
  color: #fff !important;
  font-size: .76rem;
  font-weight: 800;
  box-shadow: 0 2px 5px rgba(0,0,0,.2);
}
.hw-social:hover { filter: brightness(1.14); transform: translateY(-1px); }
.hw-social--game { background: #242725; }
.hw-social--group { background: #35493c; }
.hw-social--discord { background: #5865f2; }
.hw-social--studio { background: #7c552b; }

.hw-about {
  margin: 8px 0;
  padding: 1rem 1.15rem;
  border: 3px solid var(--hw-border);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(201,167,95,.06), transparent 35%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px),
    var(--hw-panel);
  box-shadow: var(--hw-shadow);
  color: #c7d0ca;
}
.hw-about strong { color: var(--hw-rice); }
.hw-about a:last-child { float: right; font-weight: 800; }

.hw-directory {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 5px;
  margin: 8px 0;
  padding: 12px;
  border: 3px solid var(--hw-border);
  border-radius: 8px;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 1px, transparent 1px 10px),
    var(--hw-panel);
  box-shadow: var(--hw-shadow);
}
.hw-directory a {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  min-height: 52px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px;
  background: #1b3428;
  color: #f4f4ed !important;
  font-size: .82rem;
  font-weight: 800;
}
.hw-directory a:hover { filter: brightness(1.15); transform: translateY(-1px); }
.hw-nav-key { display: grid; place-items: center; align-self: stretch; background: rgba(0,0,0,.22); color: var(--hw-brass-bright); font-family: Georgia,serif; font-size: 1rem; }
.hw-nav-label { padding: .35rem .5rem; line-height: 1.1; }
.hw-nav-label small { display: block; margin-top: .22rem; color: rgba(255,255,255,.58); font-size: .64rem; font-weight: 600; }
.hw-directory .hw-nav--herbs { background: #24583d; }
.hw-directory .hw-nav--tools { background: #38526a; }
.hw-directory .hw-nav--world { background: #74403b; }
.hw-directory .hw-nav--people { background: #684c25; }
.hw-directory .hw-nav--guide { background: #3c5931; }
.hw-directory .hw-nav--item { background: #4c3d62; }
.hw-directory .hw-nav--community { background: #533337; }
.hw-directory .hw-nav--random { background: #3a4640; }

.hw-dashboard { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 8px; margin-top: 8px; }
.hw-module {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 1rem;
  border: 2px solid var(--hw-border);
  border-radius: 8px;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 12px),
    var(--hw-panel);
  box-shadow: var(--hw-shadow);
}
.hw-module-title {
  margin: -1rem -1rem .85rem;
  padding: .55rem .75rem;
  border-bottom: 1px solid var(--hw-border);
  background: #0b1510;
  color: var(--hw-brass-bright);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hw-feature-name { margin: 0 0 .2rem; color: #fff; font: 700 1.55rem/1.15 Georgia,serif; }
.hw-feature-copy { margin: .25rem 0 .85rem; color: var(--hw-ash); }
.hw-stat-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin: .8rem 0; }
.hw-stat { padding: .55rem .35rem; border: 1px solid var(--hw-border); border-radius: 4px; background: rgba(0,0,0,.17); text-align: center; }
.hw-stat b { display: block; color: var(--hw-brass-bright); font-size: 1rem; }
.hw-stat small { color: var(--hw-ash); font-size: .62rem; text-transform: uppercase; letter-spacing: .05em; }
.hw-module-link { display: inline-block; margin-top: .35rem; padding: .42rem .65rem; border-radius: 4px; background: var(--hw-brass); color: #211a0d !important; font-size: .73rem; font-weight: 900; }

.hw-records { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.hw-records li { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: .55rem 0; border-bottom: 1px solid var(--hw-border); font-size: .82rem; }
.hw-records li:last-child { border-bottom: 0; }
.hw-records a { font-weight: 750; }
.hw-records span { color: var(--hw-ash); font-size: .72rem; }
.hw-subtle { color: var(--hw-ash); font-size: .8rem; }
.hw-rule { height: 1px; margin: .8rem 0; background: var(--hw-border); }

/* Article utility components */
.hw-note {
  margin: 1rem 0 1.35rem;
  padding: .8rem .9rem;
  border: 1px solid rgba(201,167,95,.45);
  border-left: 4px solid var(--hw-brass);
  border-radius: 5px;
  background: rgba(201,167,95,.08);
}
.hw-clear, .hw-section-clear { clear: both; }

.hw-infobox {
  float: right;
  clear: right;
  width: 320px;
  max-width: 42%;
  margin: 0 0 1.2rem 1.4rem;
  padding: .75rem;
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid var(--hw-border);
  border-radius: 8px;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px),
    var(--color-surface-1, var(--hw-panel));
  box-shadow: var(--hw-shadow);
}
.hw-infobox-title {
  margin: -.75rem -.75rem .7rem;
  padding: .72rem .8rem;
  border-bottom: 1px solid rgba(201,167,95,.35);
  background: #12271d;
  color: var(--hw-rice);
  text-align: center;
  font: 700 1.18rem/1.2 Georgia,serif;
}
.hw-infobox-heading { margin: .7rem 0 .25rem; padding: .38rem .5rem; border: 1px solid var(--hw-border); border-radius: 3px; background: rgba(201,167,95,.09); color: var(--hw-brass-bright); text-align: center; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.hw-infobox-row { display: grid; grid-template-columns: 44% 56%; gap: .55rem; align-items: start; padding: .44rem .1rem; border-bottom: 1px solid var(--hw-border); }
.hw-infobox-row:last-child { border-bottom: 0; }
.hw-infobox-label { color: var(--hw-ash); font-size: .75rem; font-weight: 800; }
.hw-infobox-value { overflow-wrap: anywhere; }
.hw-infobox-blurb { margin: 0 0 .65rem !important; padding: 0 0 .65rem !important; border: 0 !important; border-bottom: 1px solid var(--hw-border) !important; background: transparent !important; box-shadow: none !important; color: inherit; text-align: center; }
.mw-category-generated, .catlinks { margin-top: 2rem; border-radius: 6px; }

@media screen and (max-width: 850px) {
  .hw-masthead { grid-template-columns: 1fr; min-height: 0; text-align: center; }
  .hw-emblem { width: 126px; height: 126px; margin: auto; font-size: 58px; }
  .hw-emblem::before { top: 13px; }.hw-emblem::after { bottom: 13px; }
  .hw-masthead-copy > p { margin-left: auto; margin-right: auto; }
  .hw-wiki-stats,.hw-socials { justify-content: center; }
  .hw-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hw-dashboard { grid-template-columns: 1fr; }
  .hw-infobox { float: none; width: auto; max-width: none; margin: 0 0 1rem; }
  .mw-parser-output table.wikitable, .mw-parser-output .hw-table { display: block; overflow-x: auto; white-space: nowrap; }
}

@media screen and (max-width: 480px) {
  .hw-directory { grid-template-columns: 1fr; }
  .hw-stat-strip { grid-template-columns: repeat(2,1fr); }
  .hw-about a:last-child { float: none; display: block; margin-top: .5rem; }
}