MediaWiki:Common.css
MediaWiki interface page
More actions
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: none; clear: both; box-sizing: border-box; width: 100%; aspect-ratio: 16 / 7; margin: 0 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, .hw-location-image + .mw-heading { 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 {
position: relative;
overflow: hidden;
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-body {
min-width: 0;
}
.hw-dialogue-body.mw-made-collapsible > .mw-collapsible-toggle {
position: absolute;
top: .42rem;
right: .72rem;
z-index: 1;
}
.hw-dialogue-body.mw-collapsed {
min-height: 0;
}
.hw-dialogue dl { margin: .25rem 0 .25rem .72rem; border-left: 2px solid #31463b; }
.hw-dialogue-body > 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;
}
/* Shovel, weather, and world-cycle record accents */
.hw-record-banner--shovel {
border-color: color-mix(in srgb, var(--hw-shovel-color) 48%, var(--hw-border));
background:
radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--hw-shovel-color) 24%, transparent), transparent 25%),
linear-gradient(145deg, color-mix(in srgb, var(--hw-shovel-color) 17%, #18251e), rgba(7,11,9,.95) 64%),
repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px);
}
.hw-shovel-infobox .hw-infobox-title { border-bottom: 3px solid var(--hw-shovel-color); }
.hw-shovel-infobox .hw-infobox-badge {
border-color: color-mix(in srgb, var(--hw-shovel-color) 45%, var(--hw-border));
background: color-mix(in srgb, var(--hw-shovel-color) 12%, transparent);
color: color-mix(in srgb, var(--hw-shovel-color) 68%, white);
}
.hw-shovel-color-strip {
height: .35rem;
margin: .15rem 0 .65rem;
border-radius: 999px;
background: linear-gradient(90deg, transparent, var(--hw-shovel-color), transparent);
box-shadow: 0 0 12px color-mix(in srgb, var(--hw-shovel-color) 26%, transparent);
}
.mw-parser-output table tr.hw-shovel-row > td {
background: linear-gradient(90deg,
color-mix(in srgb, var(--hw-shovel-row-color) 15%, #0d1511),
color-mix(in srgb, var(--hw-shovel-row-color) 6%, #0d1511)) !important;
border-bottom-color: color-mix(in srgb, var(--hw-shovel-row-color) 30%, var(--hw-border)) !important;
}
.mw-parser-output table tr.hw-shovel-row:hover > td {
background: linear-gradient(90deg,
color-mix(in srgb, var(--hw-shovel-row-color) 23%, #101b15),
color-mix(in srgb, var(--hw-shovel-row-color) 11%, #101b15)) !important;
}
.mw-parser-output table tr.hw-shovel-row > td.hw-shovel-item {
box-shadow: inset 4px 0 0 var(--hw-shovel-row-color);
font-weight: 850;
}
.mw-parser-output .hw-weather-catalog table,
.mw-parser-output .hw-mutation-catalog table,
.mw-parser-output .hw-shovel-catalog table {
width: 100%;
margin: 1rem 0 1.5rem;
overflow: hidden;
border: 2px solid var(--hw-border);
border-collapse: separate;
border-spacing: 0;
border-radius: 7px;
background: var(--color-surface-1, var(--hw-panel));
box-shadow: var(--hw-shadow);
}
.mw-parser-output .hw-weather-catalog table th,
.mw-parser-output .hw-mutation-catalog table th,
.mw-parser-output .hw-shovel-catalog table th {
padding: .7rem .75rem;
border: 0;
border-bottom: 2px solid var(--hw-brass);
background: var(--hw-forest-800);
color: var(--hw-rice);
text-align: left;
}
.mw-parser-output .hw-weather-catalog table td,
.mw-parser-output .hw-mutation-catalog table td,
.mw-parser-output .hw-shovel-catalog table td {
padding: .62rem .75rem;
border: 0;
border-bottom: 1px solid var(--hw-border);
}
.hw-record-banner--weather {
border-color: color-mix(in srgb, var(--hw-weather-color) 48%, var(--hw-border));
background:
radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--hw-weather-color) 24%, transparent), transparent 25%),
linear-gradient(145deg, color-mix(in srgb, var(--hw-weather-color) 17%, #18251e), rgba(7,11,9,.95) 64%),
repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px);
}
.hw-weather-infobox .hw-infobox-title { border-bottom: 3px solid var(--hw-weather-color); }
.hw-weather-infobox .hw-infobox-badge {
border-color: color-mix(in srgb, var(--hw-weather-color) 45%, var(--hw-border));
background: color-mix(in srgb, var(--hw-weather-color) 12%, transparent);
color: color-mix(in srgb, var(--hw-weather-color) 68%, white);
}
.hw-weather-color-strip,
.hw-cycle-color-strip {
height: .35rem;
margin: .15rem 0 .65rem;
border-radius: 999px;
background: linear-gradient(90deg, transparent, var(--hw-weather-color), transparent);
box-shadow: 0 0 12px color-mix(in srgb, var(--hw-weather-color) 26%, transparent);
}
.hw-record-banner--cycle {
border-color: color-mix(in srgb, var(--hw-cycle-color) 48%, var(--hw-border));
background:
radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--hw-cycle-color) 24%, transparent), transparent 25%),
linear-gradient(145deg, color-mix(in srgb, var(--hw-cycle-color) 17%, #18251e), rgba(7,11,9,.95) 64%),
repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px);
}
.hw-cycle-infobox .hw-infobox-title { border-bottom: 3px solid var(--hw-cycle-color); }
.hw-cycle-infobox .hw-infobox-badge {
border-color: color-mix(in srgb, var(--hw-cycle-color) 45%, var(--hw-border));
background: color-mix(in srgb, var(--hw-cycle-color) 12%, transparent);
color: color-mix(in srgb, var(--hw-cycle-color) 68%, white);
}
.hw-cycle-infobox .hw-cycle-color-strip {
background: linear-gradient(90deg, transparent, var(--hw-cycle-color), transparent);
box-shadow: 0 0 12px color-mix(in srgb, var(--hw-cycle-color) 26%, transparent);
}
/* Automatic entity-link colors, matching rarity and record metadata. */
.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),
.mw-parser-output a[href="/index.php/Clear"]:not(.new),
.mw-parser-output a[href="/index.php/Cloudy"]:not(.new),
.mw-parser-output a[href="/index.php/Rain"]:not(.new),
.mw-parser-output a[href="/index.php/Storm"]:not(.new),
.mw-parser-output a[href="/index.php/Thunderstorm"]:not(.new),
.mw-parser-output a[href="/index.php/Dao_Tempest"]:not(.new),
.mw-parser-output a[href="/index.php/Sunrise"]:not(.new),
.mw-parser-output a[href="/index.php/Daytime"]:not(.new),
.mw-parser-output a[href="/index.php/Sunset"]:not(.new),
.mw-parser-output a[href="/index.php/Night"]:not(.new),
.mw-parser-output a[href="/index.php/Year_of_the_Dragon"]:not(.new),
.mw-parser-output a[href="/index.php/Year_of_the_Tiger"]:not(.new),
.mw-parser-output a[href="/index.php/Year_of_the_Phoenix"]:not(.new),
.mw-parser-output a[href="/index.php/Year_of_the_Tortoise"]:not(.new),
.mw-parser-output a[href="/index.php/Basic_Shovel"]:not(.new),
.mw-parser-output a[href="/index.php/Journeyman%27s_Shovel"]:not(.new),
.mw-parser-output a[href="/index.php/Root_Breaker"]:not(.new),
.mw-parser-output a[href="/index.php/Steel_Spade"]:not(.new),
.mw-parser-output a[href="/index.php/Autumn_Leaf"]:not(.new),
.mw-parser-output a[href="/index.php/King%27s_Destiny"]: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; }
.mw-parser-output a[href="/index.php/Clear"] { --hw-link-color: #f1cb4f; }
.mw-parser-output a[href="/index.php/Cloudy"] { --hw-link-color: #949ba5; }
.mw-parser-output a[href="/index.php/Rain"] { --hw-link-color: #60a5e2; }
.mw-parser-output a[href="/index.php/Storm"] { --hw-link-color: #525964; }
.mw-parser-output a[href="/index.php/Thunderstorm"] { --hw-link-color: #f8d652; }
.mw-parser-output a[href="/index.php/Dao_Tempest"] { --hw-link-color: #b9422f; }
.mw-parser-output a[href="/index.php/Sunrise"] { --hw-link-color: #ef9d49; }
.mw-parser-output a[href="/index.php/Daytime"] { --hw-link-color: #63ace0; }
.mw-parser-output a[href="/index.php/Sunset"] { --hw-link-color: #df6447; }
.mw-parser-output a[href="/index.php/Night"] { --hw-link-color: #abb6f9; }
.mw-parser-output a[href="/index.php/Year_of_the_Dragon"] { --hw-link-color: #ffb86f; }
.mw-parser-output a[href="/index.php/Year_of_the_Tiger"] { --hw-link-color: #f7f672; }
.mw-parser-output a[href="/index.php/Year_of_the_Phoenix"] { --hw-link-color: #f87b84; }
.mw-parser-output a[href="/index.php/Year_of_the_Tortoise"] { --hw-link-color: #4fc57d; }
.mw-parser-output a[href="/index.php/Basic_Shovel"] { --hw-link-color: #ffffff; }
.mw-parser-output a[href="/index.php/Journeyman%27s_Shovel"] { --hw-link-color: #ffffff; }
.mw-parser-output a[href="/index.php/Root_Breaker"] { --hw-link-color: #ffffff; }
.mw-parser-output a[href="/index.php/Steel_Spade"] { --hw-link-color: #ffffff; }
.mw-parser-output a[href="/index.php/Autumn_Leaf"] { --hw-link-color: #ffffff; }
.mw-parser-output a[href="/index.php/King%27s_Destiny"] { --hw-link-color: #ffffff; }
@media screen and (max-width: 600px) {
.hw-dialogue-choice { padding-right: 1rem; }
}
/* HarvestWiki hierarchical Citizen popout menu */
.citizen-drawer > .citizen-menu__card {
width: min(1380px, calc(100vw - 5rem)) !important;
max-width: calc(100vw - 5rem) !important;
border: 1px solid rgba(201, 167, 95, .38) !important;
border-radius: 14px !important;
background:
radial-gradient(circle at 10% 0%, rgba(201, 167, 95, .12), transparent 25rem),
repeating-linear-gradient(135deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 12px),
#0b1510 !important;
box-shadow:
0 24px 70px rgba(0, 0, 0, .62),
inset 0 1px 0 rgba(255, 255, 255, .04) !important;
color: var(--hw-rice, #f2ead8);
}
.citizen-drawer > .citizen-dropdown-details:not([open]) + .citizen-menu__card {
display: none !important;
}
.citizen-drawer > .citizen-dropdown-details[open] + .citizen-menu__card {
display: block !important;
}
.citizen-drawer > .citizen-menu__card > .citizen-menu__card-content {
overflow: visible !important;
}
.citizen-drawer > .citizen-dropdown-details[open] + .citizen-menu__card {
height: auto !important;
clip-path: inset(0) !important;
content-visibility: visible !important;
transform: none !important;
transition: none !important;
}
.citizen-drawer > .citizen-dropdown-details[open] + .citizen-menu__card .citizen-menu__card-content {
opacity: 1 !important;
transition: none !important;
}
#citizen-main-menu {
display: grid;
grid-template-columns: minmax(220px, .8fr) minmax(270px, 1fr) minmax(220px, .8fr);
gap: clamp(.75rem, 2vw, 1.35rem);
overflow: visible;
padding: clamp(1rem, 2.4vw, 1.6rem) !important;
}
#citizen-main-menu .citizen-menu {
min-width: 0;
padding: .95rem;
border: 1px solid rgba(49, 70, 59, .86);
border-radius: 10px;
background:
linear-gradient(145deg, rgba(201, 167, 95, .055), transparent 55%),
rgba(17, 29, 23, .9);
}
#citizen-main-menu .citizen-menu__heading {
margin: 0 0 .7rem;
padding: 0 0 .6rem;
border-bottom: 1px solid rgba(201, 167, 95, .24);
color: var(--hw-brass-bright, #efd28a);
font: 800 .72rem/1.2 system-ui, sans-serif;
letter-spacing: .14em;
text-transform: uppercase;
}
#citizen-main-menu .citizen-menu__content > ul {
display: grid;
gap: .32rem;
margin: 0;
padding: 0;
list-style: none;
}
#citizen-main-menu .citizen-menu__content > ul > li > a {
display: flex;
align-items: center;
min-height: 2.45rem;
box-sizing: border-box;
padding: .55rem .65rem;
border: 1px solid transparent;
border-radius: 7px;
color: #dce5df;
font-size: .88rem;
font-weight: 700;
text-decoration: none;
transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
#citizen-main-menu .citizen-menu__content > ul > li > a:hover,
#citizen-main-menu .citizen-menu__content > ul > li > a:focus-visible {
border-color: rgba(201, 167, 95, .28);
background: rgba(201, 167, 95, .1);
color: #fff;
transform: translateX(2px);
}
#p-HarvestWiki {
position: relative;
z-index: 4;
border-color: rgba(201, 167, 95, .34) !important;
background:
radial-gradient(circle at 100% 0%, rgba(201, 167, 95, .1), transparent 12rem),
#132219 !important;
}
#p-HarvestWiki .hw-menu-root {
position: relative;
gap: .55rem;
overflow: visible;
}
#p-HarvestWiki .hw-menu-group {
position: relative;
list-style: none;
}
@media screen and (min-width: 921px) {
#p-HarvestWiki .hw-menu-group::after {
content: "";
position: absolute;
top: -.6rem;
left: 100%;
width: .9rem;
height: calc(100% + 1.2rem);
}
}
#p-HarvestWiki .hw-menu-trigger {
display: grid;
grid-template-columns: 2.4rem minmax(0, 1fr) auto;
align-items: center;
width: 100%;
min-height: 4.25rem;
box-sizing: border-box;
padding: .55rem .65rem;
border: 1px solid rgba(201, 167, 95, .24);
border-radius: 9px;
background: linear-gradient(120deg, rgba(47, 101, 75, .36), rgba(8, 17, 13, .72));
color: #f4f4ed;
font: inherit;
text-align: left;
cursor: pointer;
transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
#p-HarvestWiki .hw-menu-group--world .hw-menu-trigger {
background: linear-gradient(120deg, rgba(116, 64, 59, .34), rgba(8, 17, 13, .72));
}
#p-HarvestWiki .hw-menu-trigger:hover,
#p-HarvestWiki .hw-menu-trigger:focus-visible,
#p-HarvestWiki .hw-menu-group:focus-within > .hw-menu-trigger,
#p-HarvestWiki .hw-menu-group:hover > .hw-menu-trigger,
#p-HarvestWiki .hw-menu-group.is-open > .hw-menu-trigger {
border-color: var(--hw-brass, #c9a75f);
background: linear-gradient(120deg, rgba(47, 101, 75, .58), rgba(15, 31, 23, .92));
box-shadow: 0 8px 24px rgba(0, 0, 0, .3), inset 0 0 0 1px rgba(239, 210, 138, .08);
transform: translateY(-1px);
}
#p-HarvestWiki .hw-menu-group--world:hover > .hw-menu-trigger,
#p-HarvestWiki .hw-menu-group--world:focus-within > .hw-menu-trigger,
#p-HarvestWiki .hw-menu-group--world.is-open > .hw-menu-trigger {
background: linear-gradient(120deg, rgba(116, 64, 59, .56), rgba(31, 20, 17, .92));
}
.hw-menu-glyph {
display: grid;
place-items: center;
width: 2rem;
height: 2rem;
border: 1px solid rgba(239, 210, 138, .38);
border-radius: 50%;
background: rgba(0, 0, 0, .22);
color: var(--hw-brass-bright, #efd28a);
font: 700 1rem/1 Georgia, serif;
}
.hw-menu-trigger-copy {
min-width: 0;
}
.hw-menu-trigger-title,
.hw-menu-trigger-note {
display: block;
}
.hw-menu-trigger-title {
color: #fff;
font: 700 1.02rem/1.15 Georgia, "Times New Roman", serif;
}
.hw-menu-trigger-note {
margin-top: .18rem;
color: var(--hw-ash, #a7b4ac);
font-size: .65rem;
font-weight: 650;
letter-spacing: .04em;
}
.hw-menu-chevron {
color: var(--hw-brass-bright, #efd28a);
font-size: 1.4rem;
transition: transform .18s ease;
}
.hw-menu-group:hover .hw-menu-chevron,
.hw-menu-group:focus-within .hw-menu-chevron,
.hw-menu-group.is-open .hw-menu-chevron {
transform: translateX(3px);
}
#p-HarvestWiki .hw-menu-submenu {
position: absolute;
top: -.6rem;
left: calc(100% + .75rem);
z-index: 20;
display: grid;
gap: .35rem;
width: min(280px, 38vw);
margin: 0;
padding: .7rem;
border: 1px solid rgba(201, 167, 95, .44);
border-radius: 10px;
background:
radial-gradient(circle at 100% 0%, rgba(201, 167, 95, .1), transparent 12rem),
#0d1a14;
box-shadow: 0 18px 38px rgba(0, 0, 0, .5);
list-style: none;
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateX(-8px);
transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
#p-HarvestWiki .hw-menu-submenu::before {
content: "";
position: absolute;
top: 1.45rem;
left: -.45rem;
width: .75rem;
height: .75rem;
border-bottom: 1px solid rgba(201, 167, 95, .44);
border-left: 1px solid rgba(201, 167, 95, .44);
background: #0d1a14;
transform: rotate(45deg);
}
#p-HarvestWiki .hw-menu-group:hover > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group:focus-within > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group.is-open > .hw-menu-submenu {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateX(0);
}
#p-HarvestWiki .hw-menu-submenu > li > a {
display: grid;
grid-template-columns: .55rem minmax(0, 1fr);
gap: .55rem;
align-items: center;
min-height: 2.55rem;
box-sizing: border-box;
padding: .55rem .65rem;
border: 1px solid transparent;
border-radius: 7px;
color: #dfe9e2;
font-size: .84rem;
font-weight: 750;
text-decoration: none;
}
#p-HarvestWiki .hw-menu-submenu > li > a::before {
content: "";
width: .42rem;
height: .42rem;
border-radius: 50%;
background: var(--hw-brass, #c9a75f);
box-shadow: 0 0 0 3px rgba(201, 167, 95, .08);
}
#p-HarvestWiki .hw-menu-group--herb .hw-menu-submenu > li > a::before {
background: #6aaa82;
box-shadow: 0 0 0 3px rgba(106, 170, 130, .09);
}
#p-HarvestWiki .hw-menu-group--world .hw-menu-submenu > li > a::before {
background: #cf7c6a;
box-shadow: 0 0 0 3px rgba(207, 124, 106, .09);
}
#p-HarvestWiki .hw-menu-submenu > li > a:hover,
#p-HarvestWiki .hw-menu-submenu > li > a:focus-visible {
border-color: rgba(201, 167, 95, .26);
background: rgba(201, 167, 95, .09);
color: #fff;
}
@media screen and (max-width: 920px) {
.citizen-drawer > .citizen-menu__card {
width: calc(100vw - 4rem) !important;
max-width: calc(100vw - 4rem) !important;
}
#citizen-main-menu {
grid-template-columns: 1fr;
}
#p-HarvestWiki .hw-menu-submenu {
position: static;
width: auto;
max-height: 0;
overflow: hidden;
margin: .35rem 0 0;
padding-top: 0;
padding-bottom: 0;
border-width: 0;
opacity: 0;
visibility: hidden;
transform: translateY(-5px);
}
#p-HarvestWiki .hw-menu-submenu::before {
display: none;
}
#p-HarvestWiki .hw-menu-group:hover > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group:focus-within > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group.is-open > .hw-menu-submenu {
max-height: 18rem;
padding: .55rem;
border-width: 1px;
opacity: 1;
visibility: visible;
transform: translateY(0);
}
#p-HarvestWiki .hw-menu-group:hover .hw-menu-chevron,
#p-HarvestWiki .hw-menu-group:focus-within .hw-menu-chevron,
#p-HarvestWiki .hw-menu-group.is-open .hw-menu-chevron {
transform: rotate(90deg);
}
}
/* HarvestWiki Location NPC gallery */
.hw-location-npc-section {
clear: both;
margin: 1.25rem 0 1.5rem;
padding: 1rem;
border: 2px solid var(--hw-border, #31463b);
border-radius: 10px;
background:
radial-gradient(circle at 100% 0%, rgba(201, 167, 95, .1), transparent 18rem),
repeating-linear-gradient(135deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 12px),
var(--hw-panel, #111d17);
box-shadow: var(--hw-shadow, 0 5px 14px rgba(0, 0, 0, .28));
}
.mw-parser-output .hw-location-npc-title {
margin: .1rem 0 .45rem !important;
padding: 0 0 .45rem !important;
border: 0 !important;
border-bottom: 1px solid rgba(201, 167, 95, .26) !important;
background: none !important;
color: #fff;
font: 700 1.55rem/1.15 Georgia, "Times New Roman", serif;
}
.hw-location-npc-overline {
color: var(--hw-brass, #c9a75f);
font-size: .67rem;
font-weight: 850;
letter-spacing: .16em;
}
.hw-location-npc-copy {
max-width: 780px;
margin: .6rem 0 1rem;
color: var(--hw-ash, #a7b4ac);
}
.hw-location-npc-gallery ul.gallery {
display: flex;
flex-wrap: wrap;
gap: .7rem;
margin: 0 !important;
padding: 0;
}
.hw-location-npc-gallery li.gallerybox {
width: 215px !important;
box-sizing: border-box;
margin: 0 !important;
padding: .55rem;
border: 1px solid rgba(201, 167, 95, .28);
border-radius: 8px;
background: rgba(8, 17, 13, .56);
}
.hw-location-npc-gallery .thumb {
display: block !important;
width: 100% !important;
height: auto !important;
aspect-ratio: 1 / 1;
border: 0 !important;
border-radius: 6px;
background: #0a120e !important;
overflow: hidden;
}
.hw-location-npc-gallery .thumb > span,
.hw-location-npc-gallery .thumb > span > a {
display: block;
width: 100%;
height: 100%;
}
.hw-location-npc-gallery .thumb img {
display: block;
width: 100% !important;
height: 100% !important;
object-fit: cover;
object-position: center;
}
.hw-location-npc-gallery .gallerytext {
padding-top: .5rem;
color: var(--hw-rice, #f2ead8);
font-weight: 800;
text-align: center;
}
.hw-location-npc-gallery .gallerytext p {
margin: 0;
}
.hw-location-npc-empty {
margin: 0;
padding: .75rem;
border: 1px dashed rgba(201, 167, 95, .22);
border-radius: 7px;
color: var(--hw-ash, #a7b4ac);
}
/* HarvestWiki embedded NPC quests and dialogue */
.hw-npc-embedded-content {
clear: both;
display: grid;
gap: .85rem;
margin: 1.25rem 0 1.5rem;
}
.hw-npc-content-section {
min-width: 0;
padding: 1rem;
border: 2px solid var(--hw-border, #31463b);
border-radius: 10px;
background:
radial-gradient(circle at 100% 0%, rgba(201, 167, 95, .09), transparent 20rem),
repeating-linear-gradient(135deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 12px),
var(--hw-panel, #111d17);
box-shadow: var(--hw-shadow, 0 5px 14px rgba(0, 0, 0, .28));
}
.hw-npc-content-section--quests {
border-left-color: #6d90ff;
}
.hw-npc-content-section--dialogue {
border-left-color: var(--hw-brass, #c9a75f);
}
.hw-npc-content-overline {
color: var(--hw-brass, #c9a75f);
font-size: .67rem;
font-weight: 850;
letter-spacing: .16em;
}
.hw-npc-content-title {
margin: .12rem 0 .8rem;
padding-bottom: .5rem;
border-bottom: 1px solid rgba(201, 167, 95, .25);
color: #fff;
font: 700 1.55rem/1.15 Georgia, "Times New Roman", serif;
}
.hw-npc-content-body {
min-width: 0;
}
.hw-npc-content-body > :first-child {
margin-top: 0;
}
.hw-npc-content-body > :last-child {
margin-bottom: 0;
}
.hw-npc-content-empty,
.hw-quest-inline-note {
margin: .65rem 0 0;
padding: .7rem .8rem;
border: 1px dashed rgba(201, 167, 95, .24);
border-radius: 7px;
color: var(--hw-ash, #a7b4ac);
}
.hw-npc-dialogue-entry + .hw-npc-dialogue-entry {
margin-top: .85rem;
}
.hw-npc-content-body .hw-quest-card,
.hw-npc-content-body .hw-dialogue {
max-width: none;
}
/* Keep Citizen's page TOC constrained to its own rail. */
#citizen-toc {
max-width: 100%;
overflow-x: hidden;
}
#citizen-toc .citizen-menu__card,
#citizen-toc .citizen-menu__card-content {
width: auto !important;
max-width: 100% !important;
overflow-x: hidden !important;
}
#citizen-toc .citizen-toc__list,
#citizen-toc .citizen-toc__content {
min-width: 0;
max-width: 100%;
}
/* HarvestWiki fixed dark palette — keep Citizen readable in light browser themes */
html.skin-theme-clientpref-os,
html.skin-theme-clientpref-day,
html.skin-theme-clientpref-night {
color-scheme: dark;
--background-color-base: oklch(14% 0.01 262.29) !important;
--background-color-interactive: oklch(18% 0.02 262.29) !important;
--background-color-neutral: oklch(18% 0.02 262.29) !important;
--border-color-base: rgb(255 255 255 / .1) !important;
--color-base: oklch(80% 0.05 262.29) !important;
--color-emphasized: oklch(93% 0.03 262.29) !important;
--color-subtle: oklch(70% 0.07 262.29) !important;
--color-progressive: oklch(68% 0.14 250) !important;
--color-progressive--hover: oklch(76% 0.12 250) !important;
--color-visited: oklch(72% 0.11 305) !important;
--color-destructive: hsl(340 100% 50%) !important;
}
body.skin-citizen,
body.skin-citizen .mw-body,
body.skin-citizen .mw-parser-output {
color: var(--color-base);
}
body.skin-citizen .mw-parser-output h1,
body.skin-citizen .mw-parser-output h2,
body.skin-citizen .mw-parser-output h3,
body.skin-citizen .mw-parser-output h4,
body.skin-citizen .mw-parser-output h5,
body.skin-citizen .mw-parser-output h6,
body.skin-citizen .mw-parser-output .mw-heading {
color: var(--color-emphasized);
}
/* Location panorama parser-wrapper reset */
.hw-location-image > p,
.hw-location-image > p > span {
display: block;
width: 100%;
height: 100%;
margin: 0 !important;
padding: 0;
line-height: 0;
}
/* Shared infobox picture frame */
.hw-infobox-image {
position: relative;
display: grid;
place-items: center;
width: 100%;
aspect-ratio: 1 / 1;
margin: 0 0 .75rem;
overflow: hidden;
border: 1px solid rgba(201, 167, 95, .32);
border-radius: 7px;
background:
radial-gradient(circle at 50% 35%, rgba(201, 167, 95, .08), transparent 58%),
repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px),
#09130e;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .24);
}
.hw-infobox-image > p,
.hw-infobox-image > span,
.hw-infobox-image > p > span,
.hw-infobox-image .mw-file-description {
display: block;
width: 100%;
height: 100%;
margin: 0 !important;
padding: 0;
line-height: 0;
}
.hw-infobox-image img {
display: block;
width: 100% !important;
max-width: none !important;
height: 100% !important;
margin: 0 !important;
object-fit: cover;
object-position: center;
}
.hw-infobox-image-empty {
display: grid;
place-items: center;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 1rem;
color: var(--hw-ash, #a7b4ac);
text-align: center;
font-size: .72rem;
font-weight: 850;
letter-spacing: .12em;
line-height: 1.45;
text-transform: uppercase;
}
/* Record flow and mobile menu containment */
/* Citizen groups template output into a section; display: contents lets the
infobox float participate in the article flow beside the following Overview. */
.mw-parser-output > .citizen-section:has(.hw-infobox) {
display: contents;
}
@media screen and (max-width: 920px) {
.citizen-drawer > .citizen-dropdown-details[open] + .citizen-menu__card {
max-height: calc(100dvh - 1rem) !important;
overflow: hidden !important;
}
.citizen-drawer > .citizen-dropdown-details[open] + .citizen-menu__card > .citizen-menu__card-content {
max-height: calc(100dvh - 1rem) !important;
overflow-x: hidden !important;
overflow-y: auto !important;
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch;
}
#citizen-main-menu {
box-sizing: border-box;
max-height: none;
padding: .75rem !important;
overflow: visible;
}
#citizen-main-menu .citizen-menu {
padding: .72rem;
}
#p-HarvestWiki .hw-menu-submenu {
width: calc(100% - 1rem);
max-width: calc(100% - 1rem);
box-sizing: border-box;
margin: .35rem .5rem 0;
box-shadow: none;
}
#p-HarvestWiki .hw-menu-group:hover > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group:focus-within > .hw-menu-submenu,
#p-HarvestWiki .hw-menu-group.is-open > .hw-menu-submenu {
max-height: 13rem;
overflow-x: hidden;
overflow-y: auto;
}
#p-HarvestWiki .hw-menu-submenu > li > a {
min-height: 2.25rem;
padding: .45rem .55rem;
}
}
/* Native NPC sections and float-safe article callouts */
.hw-npc-section-clear {
clear: both;
height: 0;
}
/* A callout beside a floated infobox must form its own formatting context so
its border and background stay in the available article column. */
.mw-parser-output .hw-note {
display: flow-root;
min-width: 0;
}
/* HarvestWiki version archive and per-page change history */
.hw-record-banner--version {
background:
linear-gradient(180deg, rgba(72, 54, 112, .15), rgba(10, 7, 18, .9)),
repeating-linear-gradient(135deg, rgba(183, 145, 255, .055) 0 1px, transparent 1px 12px),
#33234f;
}
.hw-version-meta {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: .65rem;
margin: 0 0 1.15rem;
}
.hw-version-meta-card {
padding: .75rem .85rem;
border: 1px solid rgba(201, 167, 95, .28);
border-radius: 7px;
background: rgba(17, 29, 23, .8);
}
.hw-version-meta-label {
display: block;
color: var(--hw-ash, #a7b4ac);
font-size: .66rem;
font-weight: 850;
letter-spacing: .12em;
text-transform: uppercase;
}
.hw-version-meta-value {
display: block;
margin-top: .18rem;
color: var(--hw-rice, #f2ead8);
font-weight: 800;
}
.hw-change-history-release {
clear: both;
display: flow-root;
margin: .75rem 0 1rem;
padding: .72rem .85rem;
border: 1px solid rgba(201, 167, 95, .32);
border-left: 4px solid var(--hw-brass, #c9a75f);
border-radius: 6px;
background: rgba(201, 167, 95, .075);
color: var(--hw-ash, #a7b4ac);
}
.hw-change-history-release a {
font-weight: 850;
}
.hw-change-history-body {
margin: .85rem 0 1.25rem;
}
.hw-change-history-body > :first-child { margin-top: 0; }
.hw-change-history-body > :last-child { margin-bottom: 0; }
.hw-history-editor-tools {
display: none;
gap: .45rem;
margin-left: .55rem;
vertical-align: middle;
}
body.hw-history-tools-enabled .hw-history-editor-tools {
display: inline-flex;
}
.hw-history-editor-tools a {
padding: .22rem .42rem;
border: 1px solid rgba(201, 167, 95, .25);
border-radius: 4px;
background: rgba(8, 17, 13, .55);
font-size: .7rem;
font-weight: 800;
text-decoration: none;
}
.hw-history-empty {
padding: .7rem .8rem;
border: 1px dashed rgba(201, 167, 95, .25);
border-radius: 6px;
color: var(--hw-ash, #a7b4ac);
}
.mw-parser-output h2:has(> #Quests),
.mw-parser-output h2:has(> #Dialogue) {
clear: both;
}
@media screen and (max-width: 600px) {
.hw-version-meta { grid-template-columns: 1fr; }
.hw-history-editor-tools { margin: .45rem 0 0; }
body.hw-history-tools-enabled .hw-history-editor-tools { display: flex; flex-wrap: wrap; }
}
/* Missing per-page history subpages stay invisible to visitors; editors use the gated controls above. */
.hw-change-history-body > a.new {
display: none;
}