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 02:46, 28 July 2026 by Aurelianus (talk | contribs) (Finalize parser-free quest template hiding rules)

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; } } /* Shared record banners and archive navigation */ .hw-record-banner, .hw-archive-banner { position: relative; clear: both; display: flex; min-height: 150px; margin: .25rem 0 1rem; padding: 1.15rem 1.3rem; overflow: hidden; box-sizing: border-box; flex-direction: column; justify-content: flex-end; border: 3px solid var(--hw-border); border-radius: 8px; background: linear-gradient(180deg, transparent, rgba(4,10,7,.82)), repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 12px), #173326; color: var(--hw-rice); box-shadow: inset 0 0 0 1px rgba(201,167,95,.18), var(--hw-shadow); } .hw-record-banner::after, .hw-archive-banner::after { content: ""; position: absolute; top: -105px; right: -65px; width: 260px; height: 260px; border: 1px solid rgba(201,167,95,.2); border-radius: 50%; box-shadow: 0 0 0 24px rgba(201,167,95,.03), 0 0 0 48px rgba(201,167,95,.02); } .hw-record-code { position: relative; z-index: 1; color: var(--hw-brass); font-size: .67rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; } .hw-record-name { position: relative; z-index: 1; margin: .22rem 0; color: #fff; font: 700 clamp(1.65rem, 4vw, 2.65rem)/1.05 Georgia, serif; letter-spacing: -.025em; } .hw-record-summary { position: relative; z-index: 1; max-width: 760px; color: #bdcbc4; font-size: .86rem; } .hw-record-banner--shovel { background: linear-gradient(180deg, rgba(21,39,48,.15), rgba(5,12,16,.88)), repeating-linear-gradient(135deg, rgba(119,163,184,.05) 0 1px, transparent 1px 12px), #213b47; } .hw-record-banner--herb { background: linear-gradient(180deg, rgba(28,74,47,.15), rgba(5,15,9,.88)), repeating-linear-gradient(135deg, rgba(115,190,129,.05) 0 1px, transparent 1px 12px), #1d5034; } .hw-record-banner--location { background: linear-gradient(180deg, rgba(91,58,31,.12), rgba(15,10,6,.88)), repeating-linear-gradient(135deg, rgba(210,162,96,.05) 0 1px, transparent 1px 12px), #533d27; } .hw-record-banner--npc { background: linear-gradient(180deg, rgba(86,61,49,.12), rgba(14,9,8,.88)), repeating-linear-gradient(135deg, rgba(204,148,118,.05) 0 1px, transparent 1px 12px), #4b312a; } .hw-infobox-badge { margin: -.15rem 0 .65rem; padding: .32rem .5rem; border: 1px solid var(--hw-border); border-radius: 3px; background: rgba(201,167,95,.08); color: var(--hw-brass-bright); text-align: center; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; } .hw-tier-1 .hw-infobox-title { border-bottom: 3px solid #788d82; } .hw-tier-2 .hw-infobox-title { border-bottom: 3px solid #4f82a0; } .hw-tier-3 .hw-infobox-title { border-bottom: 3px solid var(--hw-brass); } .hw-rarity-Common .hw-infobox-title { border-bottom: 3px solid #779786; } .hw-rarity-Uncommon .hw-infobox-title { border-bottom: 3px solid #5da46e; } .hw-rarity-Rare .hw-infobox-title { border-bottom: 3px solid #4e7bb6; } .hw-rarity-Legendary .hw-infobox-title { border-bottom: 3px solid #b7833b; } .hw-rarity-Mythical .hw-infobox-title { border-bottom: 3px solid #9b4f87; } .hw-archive-banner { min-height: 180px; padding: 1.35rem 1.5rem; } .hw-archive-banner--herbs { background: linear-gradient(180deg, rgba(28,74,47,.12), rgba(5,15,9,.9)), repeating-linear-gradient(135deg, rgba(115,190,129,.05) 0 1px, transparent 1px 12px), #1b4a30; } .hw-archive-banner--shovels { background: linear-gradient(180deg, rgba(26,57,72,.12), rgba(5,12,16,.9)), repeating-linear-gradient(135deg, rgba(119,163,184,.05) 0 1px, transparent 1px 12px), #1e3e4c; } .hw-archive-banner--locations { background: linear-gradient(180deg, rgba(91,58,31,.12), rgba(15,10,6,.9)), repeating-linear-gradient(135deg, rgba(210,162,96,.05) 0 1px, transparent 1px 12px), #503923; } .hw-archive-banner--npcs { background: linear-gradient(180deg, rgba(83,48,61,.12), rgba(14,8,11,.9)), repeating-linear-gradient(135deg, rgba(195,117,143,.05) 0 1px, transparent 1px 12px), #482837; } .hw-archive-stats { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin-top: .65rem; color: var(--hw-brass-bright); font-size: .72rem; font-weight: 800; } .hw-archive-stats span::before { content: "◆"; margin-right: .35rem; color: var(--hw-brass); font-size: .58rem; } .hw-page-nav { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1.15rem; padding: .45rem; border: 1px solid var(--hw-border); border-radius: 5px; background: var(--hw-panel); box-shadow: 0 3px 9px rgba(0,0,0,.18); } .hw-page-nav a { padding: .28rem .58rem; border-radius: 3px; background: rgba(255,255,255,.035); font-size: .72rem; font-weight: 800; text-decoration: none; } .hw-page-nav a:hover { background: rgba(201,167,95,.12); color: var(--hw-brass-bright); } .hw-directory .hw-nav--herbs a { background: #24583d; } .hw-directory .hw-nav--shovels a { background: #284e66; } .hw-directory .hw-nav--locations a { background: #684526; } .hw-directory .hw-nav--npcs a { background: #5b3545; } @media (max-width: 600px) { .hw-record-banner, .hw-archive-banner { min-height: 135px; padding: 1rem; } .hw-record-name { font-size: 1.7rem; } .hw-archive-stats { gap: .25rem .65rem; } } /* Stable, single sort indicators for MediaWiki archive tables. */ .mw-parser-output table.sortable th.headerSort, .mw-parser-output table.sortable th.headerSortUp, .mw-parser-output table.sortable th.headerSortDown { padding-right: .75rem; background-image: none !important; } .mw-parser-output table.sortable th.headerSort::after { content: "↕"; float: right; margin-left: .45rem; color: var(--hw-brass-bright); font-size: .72rem; line-height: 1.2; opacity: .62; } .mw-parser-output table.sortable th.headerSortUp::after { content: "↑"; opacity: 1; } .mw-parser-output table.sortable th.headerSortDown::after { content: "↓"; opacity: 1; } /* Scenic Mainland backdrop and floating Citizen page shell */ body { background-color: #07100c !important; background-image: linear-gradient(180deg, rgba(4,10,7,.48), rgba(4,10,7,.68)), url("/images/7/76/Mainland.jpg") !important; background-position: center center !important; background-size: cover !important; background-repeat: no-repeat !important; background-attachment: fixed !important; } .citizen-page-container { background: transparent !important; } .citizen-header, .citizen-sticky-header-container { background: rgba(6,13,10,.88) !important; border-bottom: 1px solid rgba(201,167,95,.22); box-shadow: 0 8px 24px rgba(0,0,0,.28); backdrop-filter: blur(12px) saturate(.85); } #content.mw-body { box-sizing: border-box; width: calc(100% - clamp(1.4rem, 6vw, 6rem)) !important; max-width: 1240px; margin-right: auto; margin-left: auto; margin-top: clamp(1rem, 3vw, 2.2rem); margin-bottom: 1.25rem; border: 1px solid rgba(201,167,95,.3); border-radius: 16px; background: rgba(7,15,11,.9); box-shadow: 0 18px 55px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.025); backdrop-filter: blur(9px) saturate(.78); } .citizen-footer { box-sizing: border-box; width: calc(100% - clamp(1.4rem, 6vw, 6rem)); max-width: 1240px; margin: 0 auto 2rem; padding: 1rem 1.25rem; border: 1px solid rgba(201,167,95,.24); border-radius: 12px; background: rgba(7,15,11,.87); box-shadow: 0 14px 34px rgba(0,0,0,.34); backdrop-filter: blur(8px); } .hw-location-image { position: relative; float: left; clear: none; box-sizing: border-box; width: calc(100% - 370px); aspect-ratio: 16 / 7; margin: .25rem 0 1.5rem; overflow: hidden; border: 3px solid var(--hw-border); border-radius: 9px; background: var(--hw-panel); box-shadow: var(--hw-shadow); } .hw-location-image .mw-file-description { display: block; width: 100%; height: 100%; } .hw-location-image img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; object-fit: cover; object-position: center 52%; transition: transform .35s ease; } .hw-location-image:hover img { transform: scale(1.018); } .hw-location-image::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 46%, rgba(3,8,5,.86)); } .hw-location-image-caption { position: absolute; z-index: 1; right: 1.15rem; bottom: .9rem; left: 1.15rem; color: #d5dfd9; font-size: .78rem; } .hw-location-image + h2 { clear: both; } .hw-location-image-caption strong { display: block; margin-bottom: .16rem; color: var(--hw-brass-bright); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; } @media screen and (max-width: 850px) { body { background-attachment: scroll !important; } #content.mw-body { margin-top: .7rem; border-radius: 11px; } .citizen-footer { margin-bottom: .75rem; border-radius: 10px; } .hw-location-image { float: none; clear: both; width: auto; aspect-ratio: 16 / 9; } } /* One consistent frame for Citizen-wrapped data tables. */ .mw-parser-output .citizen-overflow-wrapper:has(> .citizen-overflow-content > table.wikitable), .mw-parser-output .citizen-overflow-wrapper:has(> .citizen-overflow-content > .hw-table) { border: 0 !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; } .mw-parser-output .citizen-overflow-wrapper:has(> .citizen-overflow-content > table.wikitable) > .citizen-overflow-content, .mw-parser-output .citizen-overflow-wrapper:has(> .citizen-overflow-content > .hw-table) > .citizen-overflow-content { border: 0 !important; border-radius: 10px !important; box-shadow: none !important; outline: 0 !important; } .mw-parser-output table.wikitable, .mw-parser-output .hw-table { border: 1px solid var(--hw-border) !important; border-radius: 10px !important; box-shadow: none !important; outline: 0 !important; } /* Centralized Cargo archives, forms, crystal records, and location filters. */ .hw-archive-banner--crystals, .hw-record-banner--crystal { background: linear-gradient(180deg, rgba(83,64,123,.12), rgba(8,6,15,.92)), repeating-linear-gradient(135deg, rgba(182,154,236,.055) 0 1px, transparent 1px 12px), #352c54; } .hw-record-banner--crystal::before { content: "◆"; position: absolute; top: 1.25rem; right: 1.5rem; color: rgba(239,210,138,.34); font-size: 4.5rem; line-height: 1; } .hw-crystal-rarity-Mortal .hw-infobox-title { border-bottom: 3px solid #7e9b91; } .hw-crystal-rarity-Refined .hw-infobox-title { border-bottom: 3px solid #8c69ae; } .hw-crystal-rarity-Spirit .hw-infobox-title { border-bottom: 3px solid var(--hw-brass); } .hw-rarity-Mythic .hw-infobox-title { border-bottom: 3px solid #9b4f87; } .hw-filter-panel { display: grid; grid-template-columns: auto 1fr; gap: .3rem .9rem; align-items: center; margin: .75rem 0 1rem; padding: .8rem .9rem; border: 1px solid var(--hw-border); border-radius: 8px; background: linear-gradient(90deg, rgba(201,167,95,.075), transparent 44%), var(--hw-panel); } .hw-filter-kicker { grid-column: 1 / -1; color: var(--hw-brass); font-size: .64rem; font-weight: 900; letter-spacing: .14em; } .hw-filter-label { color: var(--hw-rice); font-size: .78rem; font-weight: 800; } .hw-herb-filter { display: flex; flex-wrap: wrap; gap: .38rem; } .hw-filter-chip { appearance: none; padding: .36rem .68rem; border: 1px solid var(--hw-border); border-radius: 999px; background: rgba(255,255,255,.035); color: var(--hw-ash); font: 800 .7rem/1.2 system-ui,sans-serif; cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; } .hw-filter-chip:hover { transform: translateY(-1px); border-color: rgba(201,167,95,.55); color: var(--hw-rice); } .hw-filter-chip.is-active { border-color: rgba(201,167,95,.62); background: rgba(201,167,95,.16); color: var(--hw-brass-bright); } .hw-filter-chip:disabled { cursor: default; opacity: .72; transform: none; } .hw-herb-catalog tr[hidden] { display: none !important; } .hw-filter-loading { color: var(--hw-ash); font-size: .75rem; } .hw-location-herb-list { text-align: left; line-height: 1.5; } .hw-location-placeholder { display: grid; place-items: center; background: radial-gradient(circle at 50% 45%, rgba(239,210,138,.13), transparent 28%), repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 16px), linear-gradient(145deg, #203e31, #111d17 60%, #302515); } .hw-location-placeholder-seal { color: rgba(239,210,138,.68); font: 700 clamp(4rem,10vw,8rem)/1 Georgia,serif; text-shadow: 0 6px 18px rgba(0,0,0,.36); } .hw-form-shell { padding: 1rem; border: 1px solid var(--hw-border); border-radius: 10px; background: var(--hw-panel); } .hw-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; } .hw-form-grid > div, .hw-form-wide { display: grid; gap: .3rem; } .hw-form-wide { grid-column: 1 / -1; margin-top: .8rem; } .hw-form-shell input[type="text"], .hw-form-shell input[type="number"], .hw-form-shell select, .hw-form-shell textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--hw-border); border-radius: 5px; background: #0c1711; color: var(--hw-rice); } .hw-form-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; } .hw-loot-pool { clear: both; } @media screen and (max-width: 650px) { .hw-filter-panel { grid-template-columns: 1fr; } .hw-form-grid { grid-template-columns: 1fr; } } /* HarvestWiki rarity palette — Herb and Crystal data tables */ :root { --hw-rarity-common: rgb(229, 231, 231); --hw-rarity-uncommon: rgb(135, 255, 151); --hw-rarity-rare: rgb(109, 144, 255); --hw-rarity-legendary: rgb(255, 246, 135); --hw-rarity-mythic: rgb(255, 121, 203); --hw-rarity-secret: rgb(18, 0, 92); --hw-rarity-mortal: rgb(206, 241, 232); --hw-rarity-refined: rgb(70, 71, 71); --hw-rarity-spirit: rgb(0, 195, 242); } .hw-rarity-row[data-hw-rarity="common"] { --hw-rarity-color: var(--hw-rarity-common); } .hw-rarity-row[data-hw-rarity="uncommon"] { --hw-rarity-color: var(--hw-rarity-uncommon); } .hw-rarity-row[data-hw-rarity="rare"] { --hw-rarity-color: var(--hw-rarity-rare); } .hw-rarity-row[data-hw-rarity="legendary"] { --hw-rarity-color: var(--hw-rarity-legendary); } .hw-rarity-row[data-hw-rarity="mythic"] { --hw-rarity-color: var(--hw-rarity-mythic); } .hw-rarity-row[data-hw-rarity="secret"] { --hw-rarity-color: var(--hw-rarity-secret); } .hw-rarity-row[data-hw-rarity="mortal"] { --hw-rarity-color: var(--hw-rarity-mortal); } .hw-rarity-row[data-hw-rarity="refined"] { --hw-rarity-color: var(--hw-rarity-refined); } .hw-rarity-row[data-hw-rarity="spirit"] { --hw-rarity-color: var(--hw-rarity-spirit); } .mw-parser-output table tr.hw-rarity-row > td { background: linear-gradient(90deg, color-mix(in srgb, var(--hw-rarity-color) 17%, #0d1511), color-mix(in srgb, var(--hw-rarity-color) 8%, #0d1511) ) !important; border-bottom-color: color-mix(in srgb, var(--hw-rarity-color) 34%, var(--hw-border)) !important; transition: background .14s ease, box-shadow .14s ease; } .mw-parser-output table tr.hw-rarity-row:hover > td { background: linear-gradient(90deg, color-mix(in srgb, var(--hw-rarity-color) 25%, #101b15), color-mix(in srgb, var(--hw-rarity-color) 13%, #101b15) ) !important; } .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-item { box-shadow: inset 4px 0 0 var(--hw-rarity-color); font-weight: 850; } .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-item, .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-item > a, .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-label { color: color-mix(in srgb, var(--hw-rarity-color) 72%, white) !important; text-shadow: 0 1px 1px rgba(0,0,0,.82), 0 0 10px color-mix(in srgb, var(--hw-rarity-color) 20%, transparent); } .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-label { font-size: .72rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; } .mw-parser-output table tr.hw-rarity-row > td.hw-rarity-item > a:hover { color: color-mix(in srgb, var(--hw-rarity-color) 48%, white) !important; text-decoration-color: var(--hw-rarity-color); } /* HarvestWiki Weather archive and records */ .hw-archive-banner--weather { background: radial-gradient(circle at 82% 18%, rgba(161,221,255,.19), transparent 21%), linear-gradient(135deg, rgba(70,132,163,.20), rgba(8,15,24,.94) 58%), repeating-linear-gradient(145deg, rgba(255,255,255,.025) 0 1px, transparent 1px 14px), #12212a; } .hw-record-banner--weather { background: radial-gradient(circle at 82% 22%, rgba(178,227,255,.18), transparent 23%), linear-gradient(140deg, rgba(74,141,177,.20), rgba(7,13,20,.95) 62%), repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px), #12212a; } .hw-record-banner--weather::before { content: "☁"; position: absolute; top: .6rem; right: 1.5rem; color: rgba(196,232,251,.20); font-size: 6rem; line-height: 1; text-shadow: -1.7rem 1.9rem 0 rgba(239,210,138,.11); } .hw-weather-infobox .hw-infobox-badge { border-color: rgba(111,194,236,.42); background: rgba(50,123,160,.18); color: #b9e8ff; } .hw-weather-type-Standard .hw-infobox-title { border-bottom: 3px solid #74b7d5; } .hw-weather-type-Special .hw-infobox-title { border-bottom: 3px solid var(--hw-brass-bright); } .hw-weather-type-Special .hw-infobox-badge { border-color: rgba(239,210,138,.52); background: rgba(201,167,95,.15); color: var(--hw-brass-bright); } .hw-weather-catalog .field_Weather { box-shadow: inset 4px 0 0 #5ba6cb; font-weight: 850; } .hw-weather-catalog .field_Weather a { color: #a9def7 !important; } .hw-weather-catalog .field_Type, .hw-weather-catalog .field_Effect { font-weight: 800; } .hw-directory .hw-nav--weather { background: #345d73; } /* Herb preference fallbacks */ .hw-preference-value:empty { display: none; } .hw-preference-value:not(:empty) + .hw-preference-none { display: none; } /* HarvestWiki four-zodiac celestial calendar */ .hw-zodiac-cycle { position: relative; overflow: hidden; margin-top: 8px; padding: 1rem; border: 2px solid var(--hw-border); border-radius: 8px; background: radial-gradient(circle at 88% 0, rgba(239,210,138,.10), transparent 30%), repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 12px), var(--hw-panel); box-shadow: var(--hw-shadow); } .hw-zodiac-cycle::before { content: "天時"; position: absolute; top: -.45rem; right: 1.25rem; color: rgba(239,210,138,.055); font-size: 6.5rem; font-weight: 900; line-height: 1; pointer-events: none; } .hw-zodiac-head, .hw-zodiac-foot { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; } .hw-zodiac-kicker { display: block; margin-bottom: .2rem; color: var(--hw-brass); font-size: .66rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; } .hw-zodiac-head strong { display: block; color: var(--hw-rice); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 2.4vw, 1.75rem); line-height: 1.1; } .hw-zodiac-timer { min-width: 150px; text-align: right; } .hw-zodiac-timer span { display: block; color: var(--hw-ash); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } .hw-zodiac-timer b { color: var(--hw-brass-bright); font-variant-numeric: tabular-nums; font-size: 1.15rem; } .hw-zodiac-progress { position: relative; z-index: 1; height: 3px; margin: .85rem 0; overflow: hidden; border-radius: 999px; background: #29372f; } .hw-zodiac-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--hw-brass), var(--hw-brass-bright)); transition: width .4s linear; } .hw-zodiac-track { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 6px; } .hw-zodiac-season { display: flex; align-items: center; min-width: 0; gap: .65rem; padding: .72rem; border: 1px solid var(--hw-border); border-radius: 6px; background: rgba(8,17,13,.72); color: var(--hw-ash); opacity: .68; transition: border-color .2s ease, background .2s ease, opacity .2s ease, transform .2s ease; } .hw-zodiac-season.is-current { border-color: var(--hw-brass); background: linear-gradient(135deg, rgba(201,167,95,.16), rgba(13,26,20,.92)); box-shadow: inset 0 0 0 1px rgba(239,210,138,.12); color: var(--hw-rice); opacity: 1; transform: translateY(-2px); } .hw-zodiac-seal { display: grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; background: rgba(0,0,0,.18); color: var(--hw-brass); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 900; } .hw-zodiac-season--dragon .hw-zodiac-seal { color: #df7a69; } .hw-zodiac-season--tiger .hw-zodiac-seal { color: #e0b55d; } .hw-zodiac-season--phoenix .hw-zodiac-seal { color: #e2778e; } .hw-zodiac-season--tortoise .hw-zodiac-seal { color: #74b7a3; } .hw-zodiac-name { min-width: 0; font-size: .77rem; font-weight: 900; line-height: 1.25; } .hw-zodiac-name small { display: block; margin-top: .22rem; color: var(--hw-ash); font-size: .62rem; font-weight: 700; font-variant-numeric: tabular-nums; } .hw-zodiac-season.is-current .hw-zodiac-name small { color: var(--hw-brass-bright); } .hw-zodiac-foot { align-items: center; margin-top: .75rem; color: #84958b; font-size: .61rem; font-weight: 700; letter-spacing: .035em; } @media (max-width: 850px) { .hw-zodiac-track { grid-template-columns: repeat(2, minmax(0,1fr)); } } @media (max-width: 520px) { .hw-zodiac-head, .hw-zodiac-foot { align-items: flex-start; flex-direction: column; gap: .45rem; } .hw-zodiac-timer { min-width: 0; text-align: left; } .hw-zodiac-track { grid-template-columns: 1fr; } .hw-zodiac-season { padding: .62rem .7rem; } } /* Page Forms multi-page spreadsheet usability */ .pfSpreadsheet.jexcel_container { display: block !important; width: 100% !important; max-width: 100% !important; overflow: hidden; border: 2px solid var(--hw-border); border-radius: 8px; background: var(--hw-panel); box-shadow: var(--hw-shadow); } .pfSpreadsheet .jexcel_filter, .pfSpreadsheet .jexcel_pagination { padding: .7rem .8rem; background: #0b1510; } .pfSpreadsheet .jexcel_content { display: block !important; width: 100% !important; max-width: 100% !important; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-color: var(--hw-brass) #0b1510; scrollbar-width: thin; } .pfSpreadsheet .jexcel_content::-webkit-scrollbar { height: 11px; } .pfSpreadsheet .jexcel_content::-webkit-scrollbar-track { background: #0b1510; } .pfSpreadsheet .jexcel_content::-webkit-scrollbar-thumb { border: 3px solid #0b1510; border-radius: 999px; background: var(--hw-brass); } .pfSpreadsheet table.jexcel { width: max-content !important; min-width: 100%; } .pfSpreadsheet .jexcel td:last-child { position: sticky; right: 0; z-index: 3; min-width: 78px !important; background: #111d17 !important; box-shadow: -4px 0 8px rgba(0,0,0,.28); } .pfSpreadsheet a.save-changes { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; min-width: 62px; height: 28px !important; margin: 3px; padding: 0 .55rem; border: 1px solid var(--hw-brass); border-radius: 4px; background: rgba(201,167,95,.14); color: var(--hw-brass-bright) !important; font-size: .7rem; font-weight: 900; text-decoration: none !important; cursor: pointer; } .pfSpreadsheet a.save-changes::before { content: "✓ Save"; } .pfSpreadsheet a.save-changes:hover { background: var(--hw-brass); color: #211a0d !important; } .pfSpreadsheet a.save-changes .oo-ui-iconWidget { display: none !important; } .pfSpreadsheet a.save-changes.is-saving::before { content: "Saving…"; } .pfSpreadsheet a.save-changes.is-saved::before { content: "✓ Saved"; } .pfSpreadsheet .hw-bulk-editor-note { padding: .55rem .8rem; border-top: 1px solid var(--hw-border); background: rgba(201,167,95,.08); color: var(--hw-ash); font-size: .68rem; font-weight: 700; } .pfSpreadsheet .save-or-cancel { display: inline-flex !important; align-items: center; gap: .3rem; font-size: 0; } .pfSpreadsheet a.cancel-changes { display: inline-flex !important; align-items: center; justify-content: center; min-width: 54px; height: 28px !important; padding: 0 .5rem; border: 1px solid #56665d; border-radius: 4px; background: rgba(255,255,255,.035); color: var(--hw-ash) !important; font-size: .7rem; font-weight: 800; text-decoration: none !important; } .pfSpreadsheet a.cancel-changes::before { content: "Cancel"; } .pfSpreadsheet a.cancel-changes .oo-ui-iconWidget { display: none !important; } /* Multi-page record deletion */ .pfSpreadsheet .jexcel td:last-child { min-width: 210px !important; } .pfSpreadsheet button.hw-delete-row { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; height: 28px; padding: 0 .62rem; border: 1px solid #a4534d; border-radius: 4px; background: rgba(139,53,49,.15); color: #efaaa3; font: 900 .7rem/1 system-ui,sans-serif; letter-spacing: .025em; cursor: pointer; } .pfSpreadsheet button.hw-delete-row:hover { background: #8b3531; color: #fff; } .pfSpreadsheet button.hw-delete-row:focus-visible { outline: 2px solid #efaaa3; outline-offset: 2px; } .pfSpreadsheet button.hw-delete-row.is-deleting { opacity: .65; cursor: progress; }

/* HarvestWiki quest and dialogue records */
.hw-quest-card {
  --hw-quest-accent: var(--hw-brass);
  margin: 1rem 0 1.35rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--hw-quest-accent) 52%, var(--hw-border));
  border-top: 4px solid var(--hw-quest-accent);
  border-radius: 9px;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 12px), var(--hw-panel);
  box-shadow: var(--hw-shadow);
}
.hw-quest-head {
  padding: .85rem 1rem .8rem;
  border-bottom: 1px solid var(--hw-border);
  background: linear-gradient(90deg, color-mix(in srgb, var(--hw-quest-accent) 18%, transparent), transparent 72%);
}
.hw-quest-kicker {
  color: color-mix(in srgb, var(--hw-quest-accent) 76%, white);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hw-quest-title {
  margin-top: .2rem;
  color: var(--hw-rice);
  font: italic 700 1.2rem/1.2 Georgia, "Times New Roman", serif;
}
.hw-quest-summary { margin-top: .35rem; color: var(--hw-ash); font-size: .82rem; }
.hw-quest-steps { margin: .85rem 1rem .9rem 2.65rem !important; }
.hw-quest-steps > li { padding: .38rem 0 .55rem .18rem; }
.hw-quest-steps > li::marker { color: var(--hw-quest-accent); font-weight: 900; }
.hw-quest-steps ul,
.hw-quest-requirements ul,
.hw-quest-rewards ul { margin: .35rem 0 0 1.15rem !important; }
.hw-quest-steps li li { color: #d4ddd7; font-weight: 650; }
.hw-quest-requirements,
.hw-quest-rewards {
  margin: .75rem 1rem;
  padding: .58rem .7rem;
  border: 1px solid var(--hw-border);
  border-radius: 5px;
  background: rgba(255,255,255,.025);
}
.hw-quest-requirements strong,
.hw-quest-rewards strong {
  color: color-mix(in srgb, var(--hw-quest-accent) 68%, white);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hw-quest-rewards { border-left: 3px solid var(--hw-quest-accent); }
.hw-quest-step:has(> strong:empty) { display: none; }
.hw-quest-requirements:has(.hw-quest-list:empty),
.hw-quest-rewards:has(.hw-quest-list:empty) { display: none; }

.hw-dialogue {
  margin: 1rem 0 1.35rem;
  padding: .75rem .9rem;
  border: 1px solid var(--hw-border);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(201,167,95,.055), transparent 38%), var(--hw-panel);
  font-size: .92rem;
  line-height: 1.45;
  box-shadow: var(--hw-shadow);
}
.hw-dialogue-title {
  margin: -.75rem -.9rem .75rem;
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--hw-border);
  background: #0b1510;
  color: var(--hw-brass-bright);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hw-dialogue dl { margin: .25rem 0 .25rem .72rem; border-left: 2px solid #31463b; }
.hw-dialogue > dl { margin-left: 0; border-left: 0; }
.hw-dialogue dl dd,
.hw-dialogue dl dl,
.hw-dialogue dl dt { margin-left: 0; padding-left: .72rem; }
.hw-dialogue dd { margin-bottom: 0; }
.hw-dialogue dt {
  margin: .1rem 0;
  color: var(--hw-ash);
  font-family: inherit;
  font-size: .78rem;
  font-style: italic;
  font-weight: 650;
}
.hw-dialogue-choice {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  margin-top: .45rem;
  padding: .36rem 4.8rem .36rem .55rem;
  border: 1px solid rgba(201,167,95,.22);
  border-radius: 5px;
  background: linear-gradient(90deg, rgba(201,167,95,.16), rgba(17,29,23,.35));
  color: var(--hw-rice);
}
.hw-dialogue-choice-mark { color: var(--hw-brass-bright); font-size: .62rem; }
.hw-dialogue-choice-content { font-weight: 750; }
.hw-dialogue-random {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  margin: .25rem 0;
  padding: .3rem .52rem;
  border-radius: 4px;
  background: rgba(78,54,94,.28);
  color: #d7bddf;
  font-size: .78rem;
  font-style: italic;
}
.hw-dialogue-random-mark { color: #dca8e9; font-size: 1rem; }
.hw-dialogue hr { border: 0; border-top: 1px solid var(--hw-border); }

/* HarvestWiki mutation archive and records */
.hw-archive-banner--mutations {
  background:
    radial-gradient(circle at 82% 22%, rgba(237,19,255,.15), transparent 24%),
    linear-gradient(145deg, rgba(127,21,255,.18), rgba(9,6,15,.94) 62%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px),
    #281b3a;
}
.hw-record-banner--mutation {
  background:
    radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--hw-mutation-color) 24%, transparent), transparent 25%),
    linear-gradient(145deg, color-mix(in srgb, var(--hw-mutation-color) 16%, #18251e), rgba(7,11,9,.95) 64%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px);
}
.hw-record-banner--mutation::before {
  content: "✦";
  position: absolute;
  top: .65rem;
  right: 1.45rem;
  color: color-mix(in srgb, var(--hw-mutation-color) 35%, transparent);
  font-size: 5rem;
  line-height: 1;
}
.hw-mutation-infobox .hw-infobox-title { border-bottom: 3px solid var(--hw-mutation-color); }
.hw-mutation-infobox .hw-infobox-badge {
  border-color: color-mix(in srgb, var(--hw-mutation-color) 45%, var(--hw-border));
  background: color-mix(in srgb, var(--hw-mutation-color) 12%, transparent);
  color: color-mix(in srgb, var(--hw-mutation-color) 68%, white);
}
.hw-mutation-swatch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .48rem;
  margin: .15rem 0 .65rem;
  color: var(--hw-ash);
}
.hw-mutation-swatch span {
  width: 1.4rem;
  height: 1.4rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: var(--hw-mutation-color);
  box-shadow: 0 0 12px color-mix(in srgb, var(--hw-mutation-color) 38%, transparent);
}
.hw-mutation-swatch code { font-size: .72rem; }
.hw-special-mutation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .55rem;
  margin: .8rem 0 1.25rem;
}
.hw-special-mutation {
  padding: .72rem .78rem;
  border: 1px solid color-mix(in srgb, var(--hw-mutation-color) 40%, var(--hw-border));
  border-left: 4px solid var(--hw-mutation-color);
  border-radius: 6px;
  background: linear-gradient(110deg, color-mix(in srgb, var(--hw-mutation-color) 13%, transparent), var(--hw-panel));
}
.hw-special-mutation a {
  display: block;
  color: color-mix(in srgb, var(--hw-mutation-color) 72%, white) !important;
  font-weight: 900;
}
.hw-special-mutation span { color: var(--hw-ash); font-size: .7rem; }
.mw-parser-output table tr.hw-mutation-row > td {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--hw-mutation-row-color) 15%, #0d1511),
    color-mix(in srgb, var(--hw-mutation-row-color) 6%, #0d1511)) !important;
  border-bottom-color: color-mix(in srgb, var(--hw-mutation-row-color) 30%, var(--hw-border)) !important;
}
.mw-parser-output table tr.hw-mutation-row:hover > td {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--hw-mutation-row-color) 23%, #101b15),
    color-mix(in srgb, var(--hw-mutation-row-color) 11%, #101b15)) !important;
}
.mw-parser-output table tr.hw-mutation-row > td.hw-mutation-item {
  box-shadow: inset 4px 0 0 var(--hw-mutation-row-color);
  font-weight: 850;
}

/* Automatic entity-link colors, matching Cargo rarity and mutation data. */
.mw-parser-output a.hw-colored-link:not(.new) {
  color: color-mix(in srgb, var(--hw-link-color) 76%, white) !important;
  text-decoration-color: color-mix(in srgb, var(--hw-link-color) 62%, transparent);
  text-shadow: 0 1px 1px rgba(0,0,0,.72), 0 0 9px color-mix(in srgb, var(--hw-link-color) 16%, transparent);
}
.mw-parser-output a.hw-colored-link:not(.new):hover {
  color: color-mix(in srgb, var(--hw-link-color) 52%, white) !important;
  text-decoration-color: var(--hw-link-color);
}

/* CSS fallbacks ensure every current entity link is colored without waiting for Cargo. */
.mw-parser-output a[href="/index.php/Ancient_Woe_Herb"]:not(.new),
.mw-parser-output a[href="/index.php/Breathless_Dawn_Herb"]:not(.new),
.mw-parser-output a[href="/index.php/Crimson_Sun_Grass"]:not(.new),
.mw-parser-output a[href="/index.php/Fleeting_Dusk_Herb"]:not(.new),
.mw-parser-output a[href="/index.php/Frigid_Moon_Grass"]:not(.new),
.mw-parser-output a[href="/index.php/Pursuing_Longevity_Herb"]:not(.new),
.mw-parser-output a[href="/index.php/Sparkling_Joy_Herb"]:not(.new),
.mw-parser-output a[href="/index.php/Yang_Lotus"]:not(.new),
.mw-parser-output a[href="/index.php/Yin_Lotus"]:not(.new),
.mw-parser-output a[href="/index.php/Air_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Earth_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Flame_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Water_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Wood_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Magma_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Mist_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Longevity_Crystal"]:not(.new),
.mw-parser-output a[href="/index.php/Silver"]:not(.new),
.mw-parser-output a[href="/index.php/Golden"]:not(.new),
.mw-parser-output a[href="/index.php/Vitality"]:not(.new),
.mw-parser-output a[href="/index.php/Vampiric"]:not(.new),
.mw-parser-output a[href="/index.php/Icy"]:not(.new),
.mw-parser-output a[href="/index.php/Frozen"]:not(.new),
.mw-parser-output a[href="/index.php/Spirit"]:not(.new),
.mw-parser-output a[href="/index.php/Royal"]:not(.new),
.mw-parser-output a[href="/index.php/Imperial"]:not(.new),
.mw-parser-output a[href="/index.php/Century"]:not(.new),
.mw-parser-output a[href="/index.php/Millenium"]:not(.new),
.mw-parser-output a[href="/index.php/Eon"]:not(.new),
.mw-parser-output a[href="/index.php/Sovereign"]:not(.new),
.mw-parser-output a[href="/index.php/Supreme"]:not(.new) {
  color: color-mix(in srgb, var(--hw-link-color) 76%, white) !important;
  text-decoration-color: color-mix(in srgb, var(--hw-link-color) 62%, transparent);
  text-shadow: 0 1px 1px rgba(0,0,0,.72), 0 0 9px color-mix(in srgb, var(--hw-link-color) 16%, transparent);
}
.mw-parser-output a[href="/index.php/Ancient_Woe_Herb"],
.mw-parser-output a[href="/index.php/Sparkling_Joy_Herb"] { --hw-link-color: #6d90ff; }
.mw-parser-output a[href="/index.php/Breathless_Dawn_Herb"],
.mw-parser-output a[href="/index.php/Fleeting_Dusk_Herb"] { --hw-link-color: #87ff97; }
.mw-parser-output a[href="/index.php/Crimson_Sun_Grass"],
.mw-parser-output a[href="/index.php/Frigid_Moon_Grass"] { --hw-link-color: #e5e7e7; }
.mw-parser-output a[href="/index.php/Pursuing_Longevity_Herb"] { --hw-link-color: #ff79cb; }
.mw-parser-output a[href="/index.php/Yang_Lotus"],
.mw-parser-output a[href="/index.php/Yin_Lotus"] { --hw-link-color: #fff687; }
.mw-parser-output a[href="/index.php/Air_Crystal"],
.mw-parser-output a[href="/index.php/Earth_Crystal"],
.mw-parser-output a[href="/index.php/Flame_Crystal"],
.mw-parser-output a[href="/index.php/Water_Crystal"],
.mw-parser-output a[href="/index.php/Wood_Crystal"] { --hw-link-color: #cef1e8; }
.mw-parser-output a[href="/index.php/Magma_Crystal"],
.mw-parser-output a[href="/index.php/Mist_Crystal"] { --hw-link-color: #464747; }
.mw-parser-output a[href="/index.php/Longevity_Crystal"] { --hw-link-color: #00c3f2; }
.mw-parser-output a[href="/index.php/Silver"] { --hw-link-color: #eef1f1; }
.mw-parser-output a[href="/index.php/Golden"] { --hw-link-color: #f4d05b; }
.mw-parser-output a[href="/index.php/Vitality"] { --hw-link-color: #e96869; }
.mw-parser-output a[href="/index.php/Vampiric"] { --hw-link-color: #de002b; }
.mw-parser-output a[href="/index.php/Icy"] { --hw-link-color: #9ee7d8; }
.mw-parser-output a[href="/index.php/Frozen"] { --hw-link-color: #6ee8ff; }
.mw-parser-output a[href="/index.php/Spirit"] { --hw-link-color: #ffabf6; }
.mw-parser-output a[href="/index.php/Royal"] { --hw-link-color: #ffec31; }
.mw-parser-output a[href="/index.php/Imperial"] { --hw-link-color: #b600ff; }
.mw-parser-output a[href="/index.php/Century"] { --hw-link-color: #5369ff; }
.mw-parser-output a[href="/index.php/Millenium"] { --hw-link-color: #6c47ff; }
.mw-parser-output a[href="/index.php/Eon"] { --hw-link-color: #7f15ff; }
.mw-parser-output a[href="/index.php/Sovereign"] { --hw-link-color: #ff26a5; }
.mw-parser-output a[href="/index.php/Supreme"] { --hw-link-color: #ed13ff; }

@media screen and (max-width: 600px) {
  .hw-dialogue-choice { padding-right: 1rem; }
}