Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.css: Difference between revisions

MediaWiki interface page
Refresh HarvestWiki visual system and responsive page components
Replace generic card theme with a dense, game-specific cultivation atlas design
Line 1: Line 1:
/* HarvestWiki visual system — jade, parchment, and gold */
/* HarvestWiki — bespoke dark cultivation atlas */
:root {
:root {
   --hw-jade: #2f6f55;
   --hw-forest-950: #08110d;
   --hw-jade-deep: #1e4c3b;
   --hw-forest-900: #0d1a14;
   --hw-jade-soft: #e7f1eb;
   --hw-forest-800: #14281e;
   --hw-gold: #c7983d;
   --hw-forest-700: #1d3a2b;
   --hw-gold-soft: #f7edcf;
   --hw-forest-600: #2f654b;
   --hw-ink: #20312a;
  --hw-brass: #c9a75f;
   --hw-muted: #64756d;
   --hw-brass-bright: #efd28a;
   --hw-paper: #fbfcf9;
   --hw-rice: #f2ead8;
   --hw-line: #d8e2dc;
   --hw-ash: #a7b4ac;
   --hw-shadow: 0 12px 32px rgba(31, 69, 52, .10);
   --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 {
body {
   background-color: var(--color-surface-0, #f3f7f4);
   background-color: var(--color-surface-0, #0c120f);
   background-image:
   background-image:
     radial-gradient(circle at 8% 5%, rgba(199,152,61,.10), transparent 26rem),
     linear-gradient(135deg, rgba(201,167,95,.035) 25%, transparent 25%),
     radial-gradient(circle at 92% 18%, rgba(47,111,85,.09), transparent 30rem);
    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;
   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 {
.mw-parser-output {
   max-width: 1180px;
   max-width: 1180px;
   line-height: 1.7;
   line-height: 1.62;
  color: var(--color-base, var(--hw-ink));
}
}


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


.mw-parser-output h2 {
.mw-parser-output h2 {
   margin-top: 2.35rem;
   margin-top: 2rem;
   padding-bottom: .42rem;
   padding: .55rem .75rem;
   border-bottom: 2px solid color-mix(in srgb, var(--hw-gold) 58%, transparent);
  border: 0;
   color: var(--color-base, var(--hw-ink));
   border-left: 4px solid var(--hw-brass);
   letter-spacing: -.015em;
   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-jade-deep); }
.mw-parser-output h3 { color: var(--hw-brass); }
.mw-parser-output a { text-underline-offset: .16em; }
.mw-parser-output a { text-underline-offset: .16em; }
.mw-parser-output a:not(.new) { color: var(--hw-jade); }
.mw-parser-output a:not(.new) { color: #79aee0; }
.mw-parser-output a:hover { color: var(--hw-jade-deep); }
.mw-parser-output a:hover { color: #a9cdf0; }
.mw-parser-output .new { color: #a44b48; }
.mw-parser-output .new { color: #ce7771; }


/* Dense reference tables */
.mw-parser-output table.wikitable,
.mw-parser-output table.wikitable,
.mw-parser-output .hw-table {
.mw-parser-output .hw-table {
   width: 100%;
   width: 100%;
   margin: 1.1rem 0 1.6rem;
   margin: 1rem 0 1.5rem;
   border: 1px solid var(--hw-line);
   border: 2px solid var(--hw-border);
   border-collapse: separate;
   border-collapse: separate;
   border-spacing: 0;
   border-spacing: 0;
   border-radius: 14px;
   border-radius: 7px;
   overflow: hidden;
   overflow: hidden;
   background: var(--color-surface-1, #fff);
   background: var(--color-surface-1, var(--hw-panel));
   box-shadow: 0 5px 18px rgba(31,69,52,.07);
   box-shadow: var(--hw-shadow);
}
}


.mw-parser-output table.wikitable th,
.mw-parser-output table.wikitable th,
.mw-parser-output .hw-table th {
.mw-parser-output .hw-table th {
   padding: .82rem .9rem;
   padding: .7rem .75rem;
   border: 0;
   border: 0;
   border-bottom: 1px solid rgba(255,255,255,.16);
   border-right: 1px solid rgba(255,255,255,.08);
   background: var(--hw-jade-deep);
   background: #172f24;
  color: #fff;
  color: var(--hw-rice);
   font-size: .78rem;
   font-size: .74rem;
   text-align: left;
   text-align: left;
   text-transform: uppercase;
   text-transform: uppercase;
Line 74: Line 104:
.mw-parser-output table.wikitable td,
.mw-parser-output table.wikitable td,
.mw-parser-output .hw-table td {
.mw-parser-output .hw-table td {
   padding: .82rem .9rem;
   padding: .68rem .75rem;
   border: 0;
   border: 0;
   border-bottom: 1px solid var(--hw-line);
  border-right: 1px solid var(--hw-border);
   border-bottom: 1px solid var(--hw-border);
   vertical-align: middle;
   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 table.wikitable tr:last-child td,
.mw-parser-output .hw-table tr:last-child td { border-bottom: 0; }
.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 table.wikitable tr:nth-child(even) td,
.mw-parser-output .hw-table tr:nth-child(even) td { background: rgba(47,111,85,.035); }
.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 table.wikitable tr:hover td,
.mw-parser-output .hw-table tr:hover td { background: rgba(199,152,61,.10); }
.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-hero {
.hw-masthead {
   position: relative;
   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;
   overflow: hidden;
  margin: .4rem 0 1.8rem;
   padding: clamp(1.4rem,4vw,3rem);
   padding: clamp(1.7rem, 5vw, 3.8rem);
   border: 4px solid #25372f;
   border: 1px solid rgba(255,255,255,.14);
   border-radius: 10px;
   border-radius: 22px;
   background:
   background:
     radial-gradient(circle at 88% 18%, rgba(247,237,207,.17), transparent 18rem),
     radial-gradient(circle at 14% 47%, rgba(239,210,138,.16) 0 7rem, transparent 7.1rem),
     linear-gradient(135deg, #173d31 0%, #2f6f55 58%, #5f7d4c 100%);
     linear-gradient(180deg, rgba(7,15,11,.08), rgba(7,15,11,.68)),
   color: #f8fbf8;
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px),
   box-shadow: var(--hw-shadow);
    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-hero::after {
.hw-masthead::before,
   content: '道';
.hw-masthead::after {
   content: "";
   position: absolute;
   position: absolute;
  right: clamp(1rem, 6vw, 4rem);
  bottom: -2.4rem;
  color: rgba(255,255,255,.065);
  font: 800 clamp(8rem, 24vw, 18rem)/1 serif;
   pointer-events: none;
   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-hero h2 {
.hw-emblem {
   position: relative;
   position: relative;
   z-index: 1;
   z-index: 2;
   max-width: 760px;
  display: grid;
   margin: .2rem 0 .75rem !important;
  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;
   padding: 0 !important;
   border: 0 !important;
   border: 0 !important;
  background: none !important;
   color: #fff !important;
   color: #fff !important;
   font-size: clamp(2rem, 5vw, 3.6rem);
   font: 700 clamp(2.2rem,5.5vw,4.2rem)/.98 Georgia,"Times New Roman",serif;
   line-height: 1.08;
   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-hero p {
.hw-socials { display: flex; flex-wrap: wrap; gap: .4rem; }
  position: relative;
.hw-social {
  z-index: 1;
   display: inline-block;
   max-width: 700px;
   padding: .45rem .72rem;
   margin: 0 0 1.25rem;
   border: 1px solid rgba(255,255,255,.15);
   color: rgba(255,255,255,.86);
  border-radius: 5px;
   font-size: 1.06rem;
  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-kicker {
.hw-about {
   position: relative;
   margin: 8px 0;
   z-index: 1;
   padding: 1rem 1.15rem;
   display: inline-block;
   border: 3px solid var(--hw-border);
   margin-bottom: .6rem;
   border-radius: 8px;
   color: #f0d99a;
   background:
  font-size: .74rem;
    linear-gradient(90deg, rgba(201,167,95,.06), transparent 35%),
  font-weight: 800;
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px),
   text-transform: uppercase;
    var(--hw-panel);
   letter-spacing: .18em;
   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-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .65rem; }
.hw-directory {
.hw-button {
  display: grid;
   display: inline-flex;
  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;
   align-items: center;
   gap: .4rem;
   min-height: 52px;
   padding: .68rem 1rem;
   overflow: hidden;
   border: 1px solid transparent;
   border: 1px solid rgba(255,255,255,.07);
   border-radius: 999px;
   border-radius: 4px;
   background: var(--hw-gold-soft);
   background: #1b3428;
   color: #543d12 !important;
   color: #f4f4ed !important;
   font-weight: 750;
   font-size: .82rem;
   text-decoration: none !important;
   font-weight: 800;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
}
.hw-button:hover { transform: translateY(-1px); background: #fff4d4; }
.hw-directory a:hover { filter: brightness(1.15); transform: translateY(-1px); }
.hw-button--ghost { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff !important; box-shadow: none; }
.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-section-intro { max-width: 760px; margin: -.5rem 0 1.2rem; color: var(--hw-muted); }
.hw-dashboard { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 8px; margin-top: 8px; }
.hw-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.hw-module {
.hw-card {
  position: relative;
  overflow: hidden;
   min-width: 0;
   min-width: 0;
   padding: 1.2rem 1.25rem;
   padding: 1rem;
   border: 1px solid var(--hw-line);
   border: 2px solid var(--hw-border);
   border-radius: 16px;
   border-radius: 8px;
   background: var(--color-surface-1, rgba(255,255,255,.9));
   background:
   box-shadow: 0 5px 18px rgba(31,69,52,.06);
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 12px),
   transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    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-card:hover { transform: translateY(-2px); border-color: rgba(47,111,85,.38); box-shadow: var(--hw-shadow); }
.hw-feature-name { margin: 0 0 .2rem; color: #fff; font: 700 1.55rem/1.15 Georgia,serif; }
.hw-card h3 { margin: .15rem 0 .35rem; font-size: 1.16rem; }
.hw-feature-copy { margin: .25rem 0 .85rem; color: var(--hw-ash); }
.hw-card p { margin: .25rem 0 0; color: var(--hw-muted); }
.hw-stat-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin: .8rem 0; }
.hw-card-icon { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: var(--hw-jade-soft); font-size: 1.25rem; }
.hw-stat { padding: .55rem .35rem; border: 1px solid var(--hw-border); border-radius: 4px; background: rgba(0,0,0,.17); text-align: center; }
.hw-card--muted { opacity: .78; background: color-mix(in srgb, var(--color-surface-1, #fff) 88%, var(--hw-jade-soft)); }
.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-feature-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(250px,.8fr); gap: 1rem; align-items: start; }
.hw-records { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.hw-panel {
.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; }
  padding: 1.15rem 1.25rem;
.hw-records li:last-child { border-bottom: 0; }
  border: 1px solid var(--hw-line);
.hw-records a { font-weight: 750; }
  border-radius: 16px;
.hw-records span { color: var(--hw-ash); font-size: .72rem; }
  background: var(--color-surface-1, #fff);
.hw-subtle { color: var(--hw-ash); font-size: .8rem; }
}
.hw-rule { height: 1px; margin: .8rem 0; background: var(--hw-border); }
.hw-panel--gold { border-color: #e6d29b; background: linear-gradient(135deg, rgba(247,237,207,.7), rgba(255,255,255,.78)); }
.hw-link-list { margin: .25rem 0 0 !important; padding: 0 !important; list-style: none !important; }
.hw-link-list li { padding: .48rem 0; border-bottom: 1px solid var(--hw-line); }
.hw-link-list li:last-child { border-bottom: 0; }
.hw-status { display: inline-block; margin-left: .35rem; padding: .12rem .48rem; border-radius: 999px; background: var(--hw-gold-soft); color: #6a4d16; font-size: .72rem; font-weight: 750; vertical-align: middle; }


.hw-lead { max-width: 760px; color: var(--hw-muted); font-size: 1.05rem; }
/* Article utility components */
.hw-note {
.hw-note {
   margin: 1rem 0 1.5rem;
   margin: 1rem 0 1.35rem;
   padding: .9rem 1rem;
   padding: .8rem .9rem;
   border-left: 4px solid var(--hw-gold);
  border: 1px solid rgba(201,167,95,.45);
   border-radius: 0 12px 12px 0;
   border-left: 4px solid var(--hw-brass);
   background: rgba(199,152,61,.11);
   border-radius: 5px;
   background: rgba(201,167,95,.08);
}
}
.hw-clear, .hw-section-clear { clear: both; }
.hw-clear, .hw-section-clear { clear: both; }
Line 205: Line 334:
   clear: right;
   clear: right;
   width: 320px;
   width: 320px;
   max-width: 40%;
   max-width: 42%;
   margin: 0 0 1.25rem 1.5rem;
   margin: 0 0 1.2rem 1.4rem;
   padding: .85rem;
   padding: .75rem;
   box-sizing: border-box;
   box-sizing: border-box;
   overflow: hidden;
   overflow: hidden;
   border: 1px solid var(--hw-line);
   border: 2px solid var(--hw-border);
   border-radius: 16px;
   border-radius: 8px;
   background: var(--color-surface-1, #fff);
   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);
   box-shadow: var(--hw-shadow);
}
}
.hw-infobox-title {
.hw-infobox-title {
   margin: -.85rem -.85rem .85rem;
   margin: -.75rem -.75rem .7rem;
   padding: .8rem .9rem;
   padding: .72rem .8rem;
   background: linear-gradient(135deg, var(--hw-jade-deep), var(--hw-jade));
   border-bottom: 1px solid rgba(201,167,95,.35);
  color: #fff;
  background: #12271d;
  color: var(--hw-rice);
   text-align: center;
   text-align: center;
   font-size: 1.22rem;
   font: 700 1.18rem/1.2 Georgia,serif;
  font-weight: 800;
}
}
.hw-infobox-heading { margin: .8rem 0 .35rem; padding: .45rem .55rem; border-radius: 8px; background: var(--hw-jade-soft); color: var(--hw-jade-deep); text-align: center; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.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-image { margin-bottom: .75rem; text-align: center; }
.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-image .mw-file-element, .hw-infobox-image img { display: block; max-width: 100%; height: auto; margin: auto; border-radius: 10px; }
.hw-infobox-row { display: grid; grid-template-columns: 42% 58%; gap: .65rem; align-items: start; padding: .48rem 0; border-bottom: 1px solid var(--hw-line); }
.hw-infobox-row:last-child { border-bottom: 0; }
.hw-infobox-row:last-child { border-bottom: 0; }
.hw-infobox-label { color: var(--hw-muted); font-size: .82rem; font-weight: 750; }
.hw-infobox-label { color: var(--hw-ash); font-size: .75rem; font-weight: 800; }
.hw-infobox-value { overflow-wrap: anywhere; }
.hw-infobox-value { overflow-wrap: anywhere; }
.hw-infobox-blurb { margin: 0 0 .75rem !important; padding: 0 0 .75rem !important; border: 0 !important; border-bottom: 1px solid var(--hw-line) !important; background: transparent !important; box-shadow: none !important; color: inherit; text-align: center; }
.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; }
.mw-category-generated, .catlinks { margin-top: 2rem; border-radius: 12px; }


@media screen and (max-width: 800px) {
@media screen and (max-width: 850px) {
   .hw-hero { border-radius: 16px; }
   .hw-masthead { grid-template-columns: 1fr; min-height: 0; text-align: center; }
   .hw-card-grid, .hw-feature-grid { grid-template-columns: 1fr; }
  .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; }
   .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; }
   .mw-parser-output table.wikitable, .mw-parser-output .hw-table { display: block; overflow-x: auto; white-space: nowrap; }
}
}


@media (prefers-color-scheme: dark) {
@media screen and (max-width: 480px) {
   :root { --hw-jade-soft: #203d31; --hw-gold-soft: #4b3d20; --hw-ink: #edf3ef; --hw-muted: #a8b8b0; --hw-paper: #17231e; --hw-line: #35483f; }
   .hw-directory { grid-template-columns: 1fr; }
  body { background-image: radial-gradient(circle at 8% 5%, rgba(199,152,61,.07), transparent 26rem), radial-gradient(circle at 92% 18%, rgba(47,111,85,.10), transparent 30rem); }
  .hw-stat-strip { grid-template-columns: repeat(2,1fr); }
   .hw-button { color: #fff3d0 !important; }
   .hw-about a:last-child { float: none; display: block; margin-top: .5rem; }
  .hw-panel--gold { background: linear-gradient(135deg, rgba(75,61,32,.5), rgba(31,45,38,.8)); }
}
}

Revision as of 14:58, 26 July 2026

/* 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; }
}