MediaWiki:Common.css: Difference between revisions
MediaWiki interface page
More actions
Aurelianus (talk | contribs) Make room for Save, Cancel, and Delete row controls |
Aurelianus (talk | contribs) Add quest, dialogue, mutation, Cargo-row, and entity-link styling |
||
| Line 556: | Line 556: | ||
opacity: .65; | opacity: .65; | ||
cursor: progress; | 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-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); | |||
} | |||
@media screen and (max-width: 600px) { | |||
.hw-dialogue-choice { padding-right: 1rem; } | |||
} | } | ||
Revision as of 02:26, 28 July 2026
/* HarvestWiki — bespoke dark cultivation atlas */ :root { --hw-forest-950: #08110d; --hw-forest-900: #0d1a14; --hw-forest-800: #14281e; --hw-forest-700: #1d3a2b; --hw-forest-600: #2f654b; --hw-brass: #c9a75f; --hw-brass-bright: #efd28a; --hw-rice: #f2ead8; --hw-ash: #a7b4ac; --hw-border: #31463b; --hw-panel: #111d17; --hw-panel-2: #18251e; --hw-red: #8b3531; --hw-blue: #284e66; --hw-purple: #4e365e; --hw-shadow: 0 5px 14px rgba(0,0,0,.28); } body { background-color: var(--color-surface-0, #0c120f); background-image: linear-gradient(135deg, rgba(201,167,95,.035) 25%, transparent 25%), linear-gradient(225deg, rgba(201,167,95,.035) 25%, transparent 25%), linear-gradient(315deg, rgba(201,167,95,.035) 25%, transparent 25%), linear-gradient(45deg, rgba(201,167,95,.035) 25%, transparent 25%); background-position: 14px 0, 14px 0, 0 0, 0 0; background-size: 28px 28px; background-attachment: fixed; } /* Replace the installation placeholder mark with a wiki emblem. */ .mw-logo-icon { display: none !important; } .mw-logo::before { content: "道"; display: grid; place-items: center; width: 38px; height: 38px; box-sizing: border-box; border: 2px solid var(--hw-brass); border-radius: 50%; background: var(--hw-forest-900); color: var(--hw-brass-bright); font: 700 21px/1 Georgia, serif; box-shadow: inset 0 0 0 3px var(--hw-forest-900), inset 0 0 0 4px rgba(201,167,95,.35); } .mw-parser-output { max-width: 1180px; line-height: 1.62; } .mw-first-heading, .firstHeading { font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.018em; } .mw-parser-output h2 { margin-top: 2rem; padding: .55rem .75rem; border: 0; border-left: 4px solid var(--hw-brass); background: linear-gradient(90deg, rgba(201,167,95,.12), transparent 72%); font-size: 1.42rem; letter-spacing: .01em; } .mw-parser-output h3 { color: var(--hw-brass); } .mw-parser-output a { text-underline-offset: .16em; } .mw-parser-output a:not(.new) { color: #79aee0; } .mw-parser-output a:hover { color: #a9cdf0; } .mw-parser-output .new { color: #ce7771; } /* Dense reference tables */ .mw-parser-output table.wikitable, .mw-parser-output .hw-table { width: 100%; margin: 1rem 0 1.5rem; border: 2px solid var(--hw-border); border-collapse: separate; border-spacing: 0; border-radius: 7px; overflow: hidden; background: var(--color-surface-1, var(--hw-panel)); box-shadow: var(--hw-shadow); } .mw-parser-output table.wikitable th, .mw-parser-output .hw-table th { padding: .7rem .75rem; border: 0; border-right: 1px solid rgba(255,255,255,.08); background: #172f24; color: var(--hw-rice); font-size: .74rem; text-align: left; text-transform: uppercase; letter-spacing: .075em; } .mw-parser-output table.wikitable td, .mw-parser-output .hw-table td { padding: .68rem .75rem; border: 0; border-right: 1px solid var(--hw-border); border-bottom: 1px solid var(--hw-border); vertical-align: middle; } .mw-parser-output table.wikitable th:last-child, .mw-parser-output table.wikitable td:last-child, .mw-parser-output .hw-table th:last-child, .mw-parser-output .hw-table td:last-child { border-right: 0; } .mw-parser-output table.wikitable tr:last-child td, .mw-parser-output .hw-table tr:last-child td { border-bottom: 0; } .mw-parser-output table.wikitable tr:nth-child(even) td, .mw-parser-output .hw-table tr:nth-child(even) td { background: rgba(201,167,95,.04); } .mw-parser-output table.wikitable tr:hover td, .mw-parser-output .hw-table tr:hover td { background: rgba(201,167,95,.1); } /* Main page portal */ .hw-portal { width: 100%; margin: .25rem 0 1.5rem; } .hw-portal a { text-decoration: none; } .hw-masthead { position: relative; min-height: 340px; display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: clamp(1rem,4vw,3rem); box-sizing: border-box; overflow: hidden; padding: clamp(1.4rem,4vw,3rem); border: 4px solid #25372f; border-radius: 10px; background: radial-gradient(circle at 14% 47%, rgba(239,210,138,.16) 0 7rem, transparent 7.1rem), linear-gradient(180deg, rgba(7,15,11,.08), rgba(7,15,11,.68)), repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px), linear-gradient(120deg, #152c21, #0e1a15 62%, #261d13); box-shadow: inset 0 0 0 1px rgba(201,167,95,.2), var(--hw-shadow); color: var(--hw-rice); } .hw-masthead::before, .hw-masthead::after { content: ""; position: absolute; pointer-events: none; } .hw-masthead::before { inset: 13px; border: 1px solid rgba(201,167,95,.3); border-radius: 4px; } .hw-masthead::after { right: -7%; bottom: -52%; width: 58%; aspect-ratio: 1; border: 1px solid rgba(201,167,95,.13); border-radius: 50%; box-shadow: 0 0 0 28px rgba(201,167,95,.025), 0 0 0 58px rgba(201,167,95,.018); } .hw-emblem { position: relative; z-index: 2; display: grid; place-items: center; width: 170px; height: 170px; border: 2px solid var(--hw-brass); border-radius: 50%; background: radial-gradient(circle, #1d392b, #0b1711 68%); color: var(--hw-brass-bright); font: 700 78px/1 Georgia, serif; box-shadow: inset 0 0 0 8px #0d1a14, inset 0 0 0 9px rgba(201,167,95,.36), 0 8px 22px rgba(0,0,0,.35); } .hw-emblem::before, .hw-emblem::after { content: "HARVEST"; position: absolute; top: 20px; color: var(--hw-brass); font: 700 8px/1 system-ui,sans-serif; letter-spacing: .32em; } .hw-emblem::after { content: "THE DAO"; top: auto; bottom: 20px; } .hw-masthead-copy { position: relative; z-index: 2; min-width: 0; } .hw-overline { margin-bottom: .55rem; color: var(--hw-brass); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; } .hw-masthead h2 { margin: 0 0 .55rem !important; padding: 0 !important; border: 0 !important; background: none !important; color: #fff !important; font: 700 clamp(2.2rem,5.5vw,4.2rem)/.98 Georgia,"Times New Roman",serif; letter-spacing: -.04em; } .hw-masthead-copy > p { max-width: 720px; margin: .5rem 0 .9rem; color: #c6d0ca; font-size: 1rem; } .hw-wiki-stats { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .7rem 0 1rem; color: var(--hw-brass-bright); font-size: .82rem; font-weight: 700; } .hw-wiki-stats span::before { content: "◆"; margin-right: .45rem; color: var(--hw-brass); font-size: .55rem; vertical-align: .15em; } .hw-socials { display: flex; flex-wrap: wrap; gap: .4rem; } .hw-social { display: inline-block; padding: .45rem .72rem; border: 1px solid rgba(255,255,255,.15); border-radius: 5px; color: #fff !important; font-size: .76rem; font-weight: 800; box-shadow: 0 2px 5px rgba(0,0,0,.2); } .hw-social:hover { filter: brightness(1.14); transform: translateY(-1px); } .hw-social--game { background: #242725; } .hw-social--group { background: #35493c; } .hw-social--discord { background: #5865f2; } .hw-social--studio { background: #7c552b; } .hw-about { margin: 8px 0; padding: 1rem 1.15rem; border: 3px solid var(--hw-border); border-radius: 8px; background: linear-gradient(90deg, rgba(201,167,95,.06), transparent 35%), repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px), var(--hw-panel); box-shadow: var(--hw-shadow); color: #c7d0ca; } .hw-about strong { color: var(--hw-rice); } .hw-about a:last-child { float: right; font-weight: 800; } .hw-directory { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin: 8px 0; padding: 12px; border: 3px solid var(--hw-border); border-radius: 8px; background: repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 1px, transparent 1px 10px), var(--hw-panel); box-shadow: var(--hw-shadow); } .hw-directory a { display: grid; grid-template-columns: 34px 1fr; align-items: center; min-height: 52px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 4px; background: #1b3428; color: #f4f4ed !important; font-size: .82rem; font-weight: 800; } .hw-directory a:hover { filter: brightness(1.15); transform: translateY(-1px); } .hw-nav-key { display: grid; place-items: center; align-self: stretch; background: rgba(0,0,0,.22); color: var(--hw-brass-bright); font-family: Georgia,serif; font-size: 1rem; } .hw-nav-label { padding: .35rem .5rem; line-height: 1.1; } .hw-nav-label small { display: block; margin-top: .22rem; color: rgba(255,255,255,.58); font-size: .64rem; font-weight: 600; } .hw-directory .hw-nav--herbs { background: #24583d; } .hw-directory .hw-nav--tools { background: #38526a; } .hw-directory .hw-nav--world { background: #74403b; } .hw-directory .hw-nav--people { background: #684c25; } .hw-directory .hw-nav--guide { background: #3c5931; } .hw-directory .hw-nav--item { background: #4c3d62; } .hw-directory .hw-nav--community { background: #533337; } .hw-directory .hw-nav--random { background: #3a4640; } .hw-dashboard { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 8px; margin-top: 8px; } .hw-module { position: relative; overflow: hidden; min-width: 0; padding: 1rem; border: 2px solid var(--hw-border); border-radius: 8px; background: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 12px), var(--hw-panel); box-shadow: var(--hw-shadow); } .hw-module-title { margin: -1rem -1rem .85rem; padding: .55rem .75rem; border-bottom: 1px solid var(--hw-border); background: #0b1510; color: var(--hw-brass-bright); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; } .hw-feature-name { margin: 0 0 .2rem; color: #fff; font: 700 1.55rem/1.15 Georgia,serif; } .hw-feature-copy { margin: .25rem 0 .85rem; color: var(--hw-ash); } .hw-stat-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin: .8rem 0; } .hw-stat { padding: .55rem .35rem; border: 1px solid var(--hw-border); border-radius: 4px; background: rgba(0,0,0,.17); text-align: center; } .hw-stat b { display: block; color: var(--hw-brass-bright); font-size: 1rem; } .hw-stat small { color: var(--hw-ash); font-size: .62rem; text-transform: uppercase; letter-spacing: .05em; } .hw-module-link { display: inline-block; margin-top: .35rem; padding: .42rem .65rem; border-radius: 4px; background: var(--hw-brass); color: #211a0d !important; font-size: .73rem; font-weight: 900; } .hw-records { margin: 0 !important; padding: 0 !important; list-style: none !important; } .hw-records li { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: .55rem 0; border-bottom: 1px solid var(--hw-border); font-size: .82rem; } .hw-records li:last-child { border-bottom: 0; } .hw-records a { font-weight: 750; } .hw-records span { color: var(--hw-ash); font-size: .72rem; } .hw-subtle { color: var(--hw-ash); font-size: .8rem; } .hw-rule { height: 1px; margin: .8rem 0; background: var(--hw-border); } /* Article utility components */ .hw-note { margin: 1rem 0 1.35rem; padding: .8rem .9rem; border: 1px solid rgba(201,167,95,.45); border-left: 4px solid var(--hw-brass); border-radius: 5px; background: rgba(201,167,95,.08); } .hw-clear, .hw-section-clear { clear: both; } .hw-infobox { float: right; clear: right; width: 320px; max-width: 42%; margin: 0 0 1.2rem 1.4rem; padding: .75rem; box-sizing: border-box; overflow: hidden; border: 2px solid var(--hw-border); border-radius: 8px; background: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 11px), var(--color-surface-1, var(--hw-panel)); box-shadow: var(--hw-shadow); } .hw-infobox-title { margin: -.75rem -.75rem .7rem; padding: .72rem .8rem; border-bottom: 1px solid rgba(201,167,95,.35); background: #12271d; color: var(--hw-rice); text-align: center; font: 700 1.18rem/1.2 Georgia,serif; } .hw-infobox-heading { margin: .7rem 0 .25rem; padding: .38rem .5rem; border: 1px solid var(--hw-border); border-radius: 3px; background: rgba(201,167,95,.09); color: var(--hw-brass-bright); text-align: center; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; } .hw-infobox-row { display: grid; grid-template-columns: 44% 56%; gap: .55rem; align-items: start; padding: .44rem .1rem; border-bottom: 1px solid var(--hw-border); } .hw-infobox-row:last-child { border-bottom: 0; } .hw-infobox-label { color: var(--hw-ash); font-size: .75rem; font-weight: 800; } .hw-infobox-value { overflow-wrap: anywhere; } .hw-infobox-blurb { margin: 0 0 .65rem !important; padding: 0 0 .65rem !important; border: 0 !important; border-bottom: 1px solid var(--hw-border) !important; background: transparent !important; box-shadow: none !important; color: inherit; text-align: center; } .mw-category-generated, .catlinks { margin-top: 2rem; border-radius: 6px; } @media screen and (max-width: 850px) { .hw-masthead { grid-template-columns: 1fr; min-height: 0; text-align: center; } .hw-emblem { width: 126px; height: 126px; margin: auto; font-size: 58px; } .hw-emblem::before { top: 13px; }.hw-emblem::after { bottom: 13px; } .hw-masthead-copy > p { margin-left: auto; margin-right: auto; } .hw-wiki-stats,.hw-socials { justify-content: center; } .hw-directory { grid-template-columns: repeat(2,minmax(0,1fr)); } .hw-dashboard { grid-template-columns: 1fr; } .hw-infobox { float: none; width: auto; max-width: none; margin: 0 0 1rem; } .mw-parser-output table.wikitable, .mw-parser-output .hw-table { display: block; overflow-x: auto; white-space: nowrap; } } @media screen and (max-width: 480px) { .hw-directory { grid-template-columns: 1fr; } .hw-stat-strip { grid-template-columns: repeat(2,1fr); } .hw-about a:last-child { float: none; display: block; margin-top: .5rem; } } /* 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-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);
}
@media screen and (max-width: 600px) {
.hw-dialogue-choice { padding-right: 1rem; }
}