Tip of the day
The base chance to find most Chests is 1/250, which you can increase with better gear and tools.

MediaWiki:Timeless.css

From Walkscape Walkthrough
Revision as of 02:21, 22 August 2026 by Bonez565 (talk | contribs)

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.
/* All CSS here will be loaded for users of the Timeless skin */

/* Fix content width padding */
#mw-content {
	padding: 0.8em;
}

.ts-inner {
	max-width: 1920px;
	width: 100%;
}

/* Top bar font modernization */
#mw-header *,
#mw-site-navigation *,
#mw-related-navigation * {
	font-family: 'Segoe UI','Segoe UI Emoji','Segoe UI Symbol','Lato','Liberation Sans','Noto Sans','Helvetica Neue','Helvetica',sans-serif;
}

/* Avoid cutting off letters with descenders: g,j,p,q,y */
#personal h2 span {
	height: 1.5em;
	position: relative;
	bottom: 0.1em;
}

/* Triangle position patch */
#personal h2::after {
	position: relative;
	bottom: 0.5em;
}

/* Add line to Blockquotes */
#mw-content-text div blockquote {
	padding: 0 15px;
	border-left: 3px solid darkgray;
	border-radius: 1px;
}


/* ============================================================
   Item outlines and credit ratings
   ============================================================ */

/* Official outline colors */
:root {
	/* Rarity colors */
	--ws-rarity-normal: #929BA1;
	--ws-rarity-uncommon: #B8FF97;
	--ws-rarity-rare: #A3B8FF;
	--ws-rarity-epic: #DAA2FF;
	--ws-rarity-legendary: #FFC880;
	--ws-rarity-ethereal: #FF5F5F;

	/* Credit rating colors */
	--ws-credit-negative: #D16F74;

	/* Item tag colors */
	--ws-item-fine: #B0F7EE;
	--ws-item-collectible: #FFB951;
	--ws-item-lore: #51FF94;
	--ws-item-magical: #D5B0F7;
	--ws-item-valuable: #F7D0B0;
	--ws-item-coins: #FFC107;
	--ws-item-egg: #E991FF;
	--ws-item-rare-egg: #FF538C;
}

.client-darkmode {
	/*
	   Counter-adjusted colors for sites using:
	   filter: invert(1) hue-rotate(180deg);

	   Use:
	   https://codepen.io/bonez565/full/ByprRrE
	*/

	/* Rarity colors */
	--ws-rarity-normal: #5E676D;
	--ws-rarity-uncommon: #002D00;
	--ws-rarity-rare: #31468D;
	--ws-rarity-epic: #703895;
	--ws-rarity-legendary: #612A00;
	--ws-rarity-ethereal: #FC5C5C;

	/* Credit rating colors */
	--ws-credit-negative: #C8666B;

	/* Item tag colors */
	--ws-item-fine: #00281F;
	--ws-item-collectible: #7D3700;
	--ws-item-lore: #005A00;
	--ws-item-magical: #5A357C;
	--ws-item-valuable: #4A2303;
	--ws-item-coins: #7C3E00;
	--ws-item-egg: #9139A7;
	--ws-item-rare-egg: #FF5B94;
}


/* ============================================================
   Shared outline filter
   ============================================================ */

.qualityfine,
.qualitynormal,
.qualitycommon,
.qualitygood,
.qualityuncommon,
.qualitygreat,
.qualityrare,
.qualityexcellent,
.qualityepic,
.qualityperfect,
.qualitylegendary,
.qualityeternal,
.qualityethereal,
.credit-rating-negative,
.outlinelore,
.outlinecollectible,
.outlinecoins,
.outlinemagical,
.outlinevaluable,
.outlineegg,
.outlinerareegg {
	--quality-outline-size: 1.5px;
	--quality-outline-neg-size: -1.5px;

	-webkit-filter:
		drop-shadow(var(--quality-outline-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-neg-size) 0 var(--quality-outline-color))
		drop-shadow(var(--quality-outline-neg-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-size) 0 var(--quality-outline-color));

	filter:
		drop-shadow(var(--quality-outline-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-neg-size) 0 var(--quality-outline-color))
		drop-shadow(var(--quality-outline-neg-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-size) 0 var(--quality-outline-color));
}


/* ============================================================
   Outline modifiers
   ============================================================ */

/* Infobox modifier */
.quality-infobox {
	--quality-outline-size: 3px;
	--quality-outline-neg-size: -3px;
}


/* ============================================================
   Rarity outlines
   ============================================================ */

/* Fine */
.qualityfine {
	--quality-outline-color: var(--ws-item-fine);
}

/* Normal / Common */
.qualitynormal,
.qualitycommon {
	--quality-outline-color: var(--ws-rarity-normal);
}

/* Good / Uncommon */
.qualitygood,
.qualityuncommon {
	--quality-outline-color: var(--ws-rarity-uncommon);
}

/* Great / Rare */
.qualitygreat,
.qualityrare {
	--quality-outline-color: var(--ws-rarity-rare);
}

/* Excellent / Epic */
.qualityexcellent,
.qualityepic {
	--quality-outline-color: var(--ws-rarity-epic);
}

/* Perfect / Legendary */
.qualityperfect,
.qualitylegendary {
	--quality-outline-color: var(--ws-rarity-legendary);
}

/* Eternal / Ethereal */
.qualityeternal,
.qualityethereal {
	--quality-outline-color: var(--ws-rarity-ethereal);
}


/* ============================================================
   Credit ratings
   ============================================================ */

/* Shared credit rating text styling */
.credit-rating {
	font-size: 1.4em;
	font-weight: bold;
}

/* Nearly Bankrupt / negative rating */
.credit-rating-negative {
	--quality-outline-color: var(--ws-credit-negative);
}


/* ============================================================
   Item tag outlines
   ============================================================ */

/* Coins */
.outlinecoins {
	--quality-outline-color: var(--ws-item-coins);
}

/* Lore items */
.outlinelore {
	--quality-outline-color: var(--ws-item-lore);
}

/* Collectible items */
.outlinecollectible {
	--quality-outline-color: var(--ws-item-collectible);
}

/* Magical items */
.outlinemagical {
	--quality-outline-color: var(--ws-item-magical);
}

/* Valuable items */
.outlinevaluable {
	--quality-outline-color: var(--ws-item-valuable);
}

/* Egg items */
.outlineegg {
	--quality-outline-color: var(--ws-item-egg);
}

/* Rare egg items */
.outlinerareegg {
	--quality-outline-color: var(--ws-item-rare-egg);
}


/* ============================================================
   Hover outlines
   ============================================================ */

/* Shared hover outline */
.finehover:hover,
.rareegghover:hover {
	--quality-outline-size: 3px;
	--quality-outline-neg-size: -3px;

	-webkit-filter:
		drop-shadow(var(--quality-outline-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-neg-size) 0 var(--quality-outline-color))
		drop-shadow(var(--quality-outline-neg-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-size) 0 var(--quality-outline-color)) !important;

	filter:
		drop-shadow(var(--quality-outline-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-neg-size) 0 var(--quality-outline-color))
		drop-shadow(var(--quality-outline-neg-size) 0 0 var(--quality-outline-color))
		drop-shadow(0 var(--quality-outline-size) 0 var(--quality-outline-color)) !important;
}

/* Fine hover */
.finehover:hover {
	--quality-outline-color: var(--ws-item-fine);
}

/* Rare egg hover */
.rareegghover:hover {
	--quality-outline-color: var(--ws-item-rare-egg);
}


/* ============================================================
   Tabber
   ============================================================ */

/* === Desktop (>=851px) === */
@media screen and (min-width: 851px) {

	/* Float the whole tabber; let its panels size themselves */
	.tabberresize {
		max-width: 100%;
		width: min-content;
		padding-left: 0.8em;
	}

	/* Default: 3 columns */
	.tabberresize .tabber__header {
		display: block;
	}

	.tabberresize .tabber__tabs {
		display: grid;
		grid-template-columns: repeat(3, var(--tab-w, max-content));
		gap: 5px;
		justify-content: space-evenly;
	}

	/* Exactly 4 tabs: put the 4th in the middle column */
	.tabberresize[data-tab-count="4"] .tabber__tab:nth-child(4) {
		grid-column: 2;
	}
}

.tabberresize .tabber__tab {
	display: block;
	text-align: center;
}

.tabberresize .tabber__panel {
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 850px) {
	.tabberresize {
		width: 100%;
	}
}

/* Tabber Fix */
.tabberfix .tabber__tabs {
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.tabbercrafting {
	width: 365px;
}


/* ============================================================
   Infoboxes
   ============================================================ */

.ItemInfobox {
	margin-left: 0.8em;
}

.tabber__panel .ItemInfobox {
	margin-left: 0 !important;
}


/* ============================================================
   Images
   ============================================================ */

/* Images should be responsive */
.resizeimg {
	max-width: 30%;
	height: auto;
}

.roundcorners > a:nth-child(1) > img:nth-child(1) {
	border-radius: 15px;
}


/* ============================================================
   Dark mode fixes
   ============================================================ */

.client-darkmode .editor,
.client-darkmode .btn {
	filter: invert(1) hue-rotate(180deg);
}

.client-darkmode code,
.client-darkmode pre,
.client-darkmode .mw-code {
	color: #000;
	background-color: #aaa;
	border: 1px solid #666;
}

.client-darkmode .invertcolors,
.client-darkmode .redirectText,
.client-darkmode .ws-sprite {
	filter: invert(1) hue-rotate(180deg);
}


/* ============================================================
   Translation extension
   ============================================================ */

.mw-tpt-pagelist-item div {
	float: right;
}

/* ============================================================

                WalkScape Wiki Builder 
                
   ============================================================ */

/* ============================================================
   WSWB: Automatically generated page footer
   ============================================================ */

.wswb-auto-footer {
	display: table;
	box-sizing: border-box;
	max-width: 90%;
	min-height: 60px;
	margin: 1em auto 0;
	padding: 0px 15px;
	border: 2px solid #22333d;
	border-radius: 10px;
	text-align: center;
}

.wswb-auto-footer__translation {
	display: block;
	margin-top: 0.35em;
	font-size: 0.85em;
	line-height: 1.4;
}

/* ============================================================
   WSWB language selector
   ============================================================ */
   
/*
 * Hide the unarranged language list while JavaScript
 * determines which options fit in the main bar.
 *
 * visibility keeps the selector measurable by JavaScript.
 * overflow prevents the hidden options from creating
 * horizontal page overflow.
 */
 
html.client-js
.wswb-language-selector:not(.is-ready) {
	visibility: hidden;
	overflow: hidden;
	pointer-events: none;
}

.wswb-language-selector {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	box-sizing: border-box;
	width: max-content;
	max-width: 90%;
	margin: 0 auto 0.75em;
	padding: 14px 14px;
	border: 2px solid #22333d;
	border-radius: 10px;
	font-size: 0.9rem;
	line-height: 1.4;
	white-space: nowrap;
}

/* Inline language list */
.wswb-language-selector__inline {
	display: inline-flex;
	align-items: center;
	flex: none;
	min-height: 28px;
	white-space: nowrap;
}

/* Every language uses the same basic dimensions */
.wswb-language-selector__option {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 28px;
	font-weight: 600;
	white-space: nowrap;
}

/* Consistent separator and spacing between every pair */
.wswb-language-selector__inline >
.wswb-language-selector__option +
.wswb-language-selector__option::before {
	content: "·";
	margin: 0 0.8em;
	color: #22333d;
	font-weight: 400;
}

.wswb-language-selector__toggle-separator {
	flex: 0 0 auto;
	margin: 0 0.8em;
	color: #22333d;
	font-weight: 400;
}

/* Keep links and current-language text aligned */
.wswb-language-selector__option > a,
.wswb-language-selector__option > strong {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 26px;
	padding: 2px 6px;
	font-weight: 600;
	line-height: 1.4;
}

/* Current language */
.wswb-language-selector__current > strong {
	border-radius: 5px;
	background-color: #22333d;
	color: #fff;
}

/* Dropdown button */
.wswb-language-selector__toggle {
	display: inline-flex;
	align-items: center;
	flex: none;
	box-sizing: border-box;
	min-height: 26px;
	padding: 2px 8px;
	border: 1px solid #22333d;
	border-radius: 5px;
	color: #22333d;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}

.wswb-language-selector__toggle::after {
	content: "▼";
	margin-left: 0.45em;
	font-size: 0.7em;
}

.wswb-language-selector__toggle[aria-expanded="true"]::after {
	content: "▲";
}

.wswb-language-selector__toggle:hover,
.wswb-language-selector__toggle[aria-expanded="true"] {
	background-color: #22333d;
	color: #fff;
}

.wswb-language-selector__toggle:focus-visible {
	outline: 2px solid #36c;
	outline-offset: 2px;
}

.wswb-language-selector__toggle.is-hidden,
.wswb-language-selector__toggle-separator.is-hidden {
	display: none;
}

/* Dropdown panel */
.wswb-language-selector__menu {
	position: absolute;
	z-index: 100;
	top: calc(100% + 0.4em);
	right: 0;
	left: auto;
	box-sizing: border-box;
	display: none;
	grid-template-columns: repeat(2, max-content);
	gap: 5px 1.5em;
	width: max-content;
	max-width: calc(100vw - 2em);
	max-height: 24em;
	overflow-y: auto;
	padding: 10px;
	border: 2px solid #22333d;
	border-radius: 10px;
	background-color: var(--background-color-base, #fff);
	box-shadow: 0 3px 10px rgb(0 0 0 / 20%);
	white-space: normal;
}

.wswb-language-selector__menu.is-open {
	display: grid;
}

/* Languages moved into the dropdown */
.wswb-language-selector__menu >
.wswb-language-selector__option {
	display: flex;
	padding: 5px 8px;
	border-radius: 5px;
}

/* Do not show inline separators inside the dropdown */
.wswb-language-selector__menu >
.wswb-language-selector__option::before {
	content: none;
}

.wswb-language-selector__menu >
.wswb-language-selector__option:hover {
	background-color: rgb(34 51 61 / 10%);
}

.wswb-language-selector__menu >
.wswb-language-selector__option > a {
	display: block;
	min-height: 0;
	padding: 0;
	text-decoration: none;
}

.wswb-language-selector__menu >
.wswb-language-selector__option > a:hover {
	text-decoration: underline;
}

@media (max-width: 500px) {
	.wswb-language-selector {
		max-width: calc(100% - 1em);
	}

	.wswb-language-selector__menu {
		grid-template-columns: max-content;
	}
}

.wswb-object-reference {
	white-space: nowrap;
}

/* ============================================================
   Infoboxes
   ============================================================ */

.ItemInfobox {
	margin-left: 0.8em;
}

.tabber__panel .ItemInfobox {
	margin-left: 0 !important;
}

.wswb-infobox {
	margin-left: 0.8em;
}

.tabber__panel .wswb-infobox {
	margin-left: 0 !important;
}

/* ============================================================
   WSWB image outlines
   ============================================================ */

:root {
	/* --------------------------------------------------------
	   Rarity colors
	   -------------------------------------------------------- */

	--wswb-rarity-normal: #929BA1;
	--wswb-rarity-normal-muted: #3F4448;

	--wswb-rarity-uncommon: #B8FF97;
	--wswb-rarity-uncommon-muted: #24461E;

	--wswb-rarity-rare: #A3B8FF;
	--wswb-rarity-rare-muted: #1F3147;

	--wswb-rarity-epic: #DAA2FF;
	--wswb-rarity-epic-muted: #3E1A44;

	--wswb-rarity-legendary: #FFC880;
	--wswb-rarity-legendary-muted: #503B1F;

	--wswb-rarity-ethereal: #FF5F5F;
	--wswb-rarity-ethereal-muted: #4D2020;


	/* --------------------------------------------------------
	   Item tag colors
	   -------------------------------------------------------- */

	--wswb-item-fine: #B0F7EE;
	--wswb-item-fine-muted: #7A9C98;

	--wswb-item-collectible: #FFB951;
	--wswb-item-collectible-muted: #966B2B;

	--wswb-item-lore: #51FF94;
	--wswb-item-lore-muted: #238047;

	--wswb-item-magical: #D5B0F7;

	/*
	   No official muted magical color currently exists.
	   Resolve it to the normal color when muted is requested.
	*/
	--wswb-item-magical-muted: var(--wswb-item-magical);

	--wswb-item-valuable: #F7D0B0;

	/*
	   No official muted valuable color currently exists.
	*/
	--wswb-item-valuable-muted: var(--wswb-item-valuable);

	--wswb-item-egg: #E991FF;
	--wswb-item-egg-muted: #91599C;

	--wswb-item-rare-egg: #FF538C;
	--wswb-item-rare-egg-muted: #9C2D59;


	/* --------------------------------------------------------
	   Money colors
	   -------------------------------------------------------- */

	--wswb-money-coins: #FFC107;
	--wswb-money-coins-muted: #D9B44A;


	/* --------------------------------------------------------
	   Credit-rating colors
	   -------------------------------------------------------- */

	--wswb-credit-negative: #D16F74;

	/*
	   No separate muted txNegative value is currently known.
	*/
	--wswb-credit-negative-muted:
		var(--wswb-credit-negative);


	/* --------------------------------------------------------
	   Individual skill colors
	   -------------------------------------------------------- */

	--wswb-skill-woodcutting: #5FF16B;
	--wswb-skill-agility: #F15FC0;
	--wswb-skill-cooking: #F1AD5F;
	--wswb-skill-fishing: #5FDBF1;
	--wswb-skill-carpentry: #F18D5F;
	--wswb-skill-mining: #8CA5D3;
	--wswb-skill-foraging: #AAD3A0;
	--wswb-skill-crafting: #E9477D;
	--wswb-skill-smithing: #E2A7A7;
	--wswb-skill-trinketry: #FFE1AB;
	--wswb-skill-hunting: #FFA256;
	--wswb-skill-tailoring: #ABF2FF;

	/*
	   No official muted skill colors currently exist.
	*/
	--wswb-skill-woodcutting-muted:
		var(--wswb-skill-woodcutting);
	--wswb-skill-agility-muted:
		var(--wswb-skill-agility);
	--wswb-skill-cooking-muted:
		var(--wswb-skill-cooking);
	--wswb-skill-fishing-muted:
		var(--wswb-skill-fishing);
	--wswb-skill-carpentry-muted:
		var(--wswb-skill-carpentry);
	--wswb-skill-mining-muted:
		var(--wswb-skill-mining);
	--wswb-skill-foraging-muted:
		var(--wswb-skill-foraging);
	--wswb-skill-crafting-muted:
		var(--wswb-skill-crafting);
	--wswb-skill-smithing-muted:
		var(--wswb-skill-smithing);
	--wswb-skill-trinketry-muted:
		var(--wswb-skill-trinketry);
	--wswb-skill-hunting-muted:
		var(--wswb-skill-hunting);
	--wswb-skill-tailoring-muted:
		var(--wswb-skill-tailoring);


	/* --------------------------------------------------------
	   Skill-type colors
	   -------------------------------------------------------- */

	--wswb-skill-type-gathering: #66ECAC;
	--wswb-skill-type-artisan: #F8B052;
	--wswb-skill-type-utility: #BE86DF;
	--wswb-skill-type-combat: #EC8493;

	/*
	   No official muted skill-type colors currently exist.
	*/
	--wswb-skill-type-gathering-muted:
		var(--wswb-skill-type-gathering);
	--wswb-skill-type-artisan-muted:
		var(--wswb-skill-type-artisan);
	--wswb-skill-type-utility-muted:
		var(--wswb-skill-type-utility);
	--wswb-skill-type-combat-muted:
		var(--wswb-skill-type-combat);
}


/* ============================================================
   Timeless dark-mode counter-adjustments
   ============================================================ */

.client-darkmode {
	/*
	   These are counter-adjusted inputs for the site's global:

	       filter: invert(1) hue-rotate(180deg);

	   They are not the game's muted palette.

	   Highly saturated greens, cyan colors, and gold colors
	   cannot always be reproduced exactly through the global
	   filter, so those values should receive a visual check.
	*/


	/* Rarity colors */

	--wswb-rarity-normal: #5E676D;
	--wswb-rarity-normal-muted: #B8BDC1;

	--wswb-rarity-uncommon: #083B00;
	--wswb-rarity-uncommon-muted: #ABCDA5;

	--wswb-rarity-rare: #304591;
	--wswb-rarity-rare-muted: #C1D3E9;

	--wswb-rarity-epic: #6F3799;
	--wswb-rarity-epic-muted: #F4D0FA;

	--wswb-rarity-legendary: #723100;
	--wswb-rarity-legendary-muted: #D4BFA3;

	--wswb-rarity-ethereal: #FD5B5B;
	--wswb-rarity-ethereal-muted: #F9CCCC;


	/* Item tag colors */

	--wswb-item-fine: #002D35;
	--wswb-item-fine-muted: #50726E;

	--wswb-item-collectible: #994200;
	--wswb-item-collectible-muted: #B68B4B;

	--wswb-item-lore: #006729;
	--wswb-item-lore-muted: #52AF76;

	--wswb-item-magical: #5A357C;
	--wswb-item-valuable: #4A2303;

	--wswb-item-egg: #9038AB;
	--wswb-item-egg-muted: #BC84C7;

	--wswb-item-rare-egg: #FF598E;
	--wswb-item-rare-egg-muted: #FF9ABF;


	/* Money colors */

	--wswb-money-coins: #C25A00;
	--wswb-money-coins-muted: #815200;


	/* Credit-rating colors */

	--wswb-credit-negative: #C8666B;


	/* Individual skill colors */

	--wswb-skill-woodcutting: #006800;
	--wswb-skill-agility: #E654B5;
	--wswb-skill-cooking: #8C4300;
	--wswb-skill-fishing: #005C87;
	--wswb-skill-carpentry: #B24E20;
	--wswb-skill-mining: #455E8C;
	--wswb-skill-foraging: #1C4512;
	--wswb-skill-crafting: #FF6997;
	--wswb-skill-smithing: #7A3F3F;
	--wswb-skill-trinketry: #472000;
	--wswb-skill-hunting: #A44300;
	--wswb-skill-tailoring: #002E4B;


	/* Skill-type colors */

	--wswb-skill-type-gathering: #005D37;
	--wswb-skill-type-artisan: #984500;
	--wswb-skill-type-utility: #8C54AD;
	--wswb-skill-type-combat: #B54D5C;
}


/* ============================================================
   Shared builder outline filter
   ============================================================ */

.wswb-outlined-image {
	/*
	   MediaWiki applies image classes to the generated span
	   surrounding the image. An inline-block gives the filter
	   a consistent image-sized rendering box.
	*/

	display: inline-block;
	overflow: visible;

	--wswb-outline-size: 1px;
	--wswb-outline-neg-size: -1px;

	/*
	   Normal is also the safe fallback if an outlined image is
	   accidentally emitted without a specific role.
	*/

	--wswb-outline-normal-color:
		var(--wswb-rarity-normal);
	--wswb-outline-muted-color:
		var(--wswb-rarity-normal-muted);
	--wswb-outline-color:
		var(--wswb-outline-normal-color);

	-webkit-filter:
		drop-shadow(
			var(--wswb-outline-size)
			0
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			0
			var(--wswb-outline-neg-size)
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			var(--wswb-outline-neg-size)
			0
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			0
			var(--wswb-outline-size)
			0
			var(--wswb-outline-color)
		);

	filter:
		drop-shadow(
			var(--wswb-outline-size)
			0
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			0
			var(--wswb-outline-neg-size)
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			var(--wswb-outline-neg-size)
			0
			0
			var(--wswb-outline-color)
		)
		drop-shadow(
			0
			var(--wswb-outline-size)
			0
			var(--wswb-outline-color)
		);
}


/* ============================================================
   Outline modifiers
   ============================================================ */

/* Use the official muted version of the selected role. */

.wswb-outline--muted {
	--wswb-outline-color:
		var(--wswb-outline-muted-color);
}


/* Larger outline for primary infobox images. */

.wswb-outline--infobox {
	--wswb-outline-size: 3px;
	--wswb-outline-neg-size: -3px;
}


/*
   Enlarge the currently selected outline without changing its
   color.
*/

.wswb-outline--hover:hover {
	--wswb-outline-size: 2px;
	--wswb-outline-neg-size: -2px;
}


/*
   Replace the selected outline with Fine while hovering.

   Only color variables are changed here. The filter itself
   remains on wswb-outlined-image, preventing a second outline
   filter from being layered over the first.
*/

.wswb-outline--hover-fine:hover {
	--wswb-outline-size: 2px;
	--wswb-outline-neg-size: -2px;

	--wswb-outline-normal-color:
		var(--wswb-item-fine);
	--wswb-outline-muted-color:
		var(--wswb-item-fine-muted);
}


/* Replace the selected outline with Rare Egg while hovering. */

.wswb-outline--hover-rare-egg:hover {
	--wswb-outline-size: 2px;
	--wswb-outline-neg-size: -2px;

	--wswb-outline-normal-color:
		var(--wswb-item-rare-egg);
	--wswb-outline-muted-color:
		var(--wswb-item-rare-egg-muted);
}


/* ============================================================
   Normal and item-quality roles
   ============================================================ */

.wswb-outline--normal,
.wswb-outline--quality-common {
	--wswb-outline-normal-color:
		var(--wswb-rarity-normal);
	--wswb-outline-muted-color:
		var(--wswb-rarity-normal-muted);
}

.wswb-outline--quality-uncommon {
	--wswb-outline-normal-color:
		var(--wswb-rarity-uncommon);
	--wswb-outline-muted-color:
		var(--wswb-rarity-uncommon-muted);
}

.wswb-outline--quality-rare {
	--wswb-outline-normal-color:
		var(--wswb-rarity-rare);
	--wswb-outline-muted-color:
		var(--wswb-rarity-rare-muted);
}

.wswb-outline--quality-epic {
	--wswb-outline-normal-color:
		var(--wswb-rarity-epic);
	--wswb-outline-muted-color:
		var(--wswb-rarity-epic-muted);
}

.wswb-outline--quality-legendary {
	--wswb-outline-normal-color:
		var(--wswb-rarity-legendary);
	--wswb-outline-muted-color:
		var(--wswb-rarity-legendary-muted);
}

.wswb-outline--quality-ethereal {
	--wswb-outline-normal-color:
		var(--wswb-rarity-ethereal);
	--wswb-outline-muted-color:
		var(--wswb-rarity-ethereal-muted);
}


/* ============================================================
   Item tag roles
   ============================================================ */

.wswb-outline--tag-fine {
	--wswb-outline-normal-color:
		var(--wswb-item-fine);
	--wswb-outline-muted-color:
		var(--wswb-item-fine-muted);
}

.wswb-outline--tag-collectible {
	--wswb-outline-normal-color:
		var(--wswb-item-collectible);
	--wswb-outline-muted-color:
		var(--wswb-item-collectible-muted);
}

.wswb-outline--tag-lore {
	--wswb-outline-normal-color:
		var(--wswb-item-lore);
	--wswb-outline-muted-color:
		var(--wswb-item-lore-muted);
}

.wswb-outline--tag-magical {
	--wswb-outline-normal-color:
		var(--wswb-item-magical);
	--wswb-outline-muted-color:
		var(--wswb-item-magical-muted);
}

.wswb-outline--tag-valuable {
	--wswb-outline-normal-color:
		var(--wswb-item-valuable);
	--wswb-outline-muted-color:
		var(--wswb-item-valuable-muted);
}

.wswb-outline--tag-egg {
	--wswb-outline-normal-color:
		var(--wswb-item-egg);
	--wswb-outline-muted-color:
		var(--wswb-item-egg-muted);
}

.wswb-outline--tag-rare-egg {
	--wswb-outline-normal-color:
		var(--wswb-item-rare-egg);
	--wswb-outline-muted-color:
		var(--wswb-item-rare-egg-muted);
}


/* ============================================================
   Money and credit roles
   ============================================================ */

.wswb-outline--money-coins {
	--wswb-outline-normal-color:
		var(--wswb-money-coins);
	--wswb-outline-muted-color:
		var(--wswb-money-coins-muted);
}

.wswb-outline--credit-negative {
	--wswb-outline-normal-color:
		var(--wswb-credit-negative);
	--wswb-outline-muted-color:
		var(--wswb-credit-negative-muted);
}


/* ============================================================
   Individual skill roles
   ============================================================ */

.wswb-outline--skill-woodcutting {
	--wswb-outline-normal-color:
		var(--wswb-skill-woodcutting);
	--wswb-outline-muted-color:
		var(--wswb-skill-woodcutting-muted);
}

.wswb-outline--skill-agility {
	--wswb-outline-normal-color:
		var(--wswb-skill-agility);
	--wswb-outline-muted-color:
		var(--wswb-skill-agility-muted);
}

.wswb-outline--skill-cooking {
	--wswb-outline-normal-color:
		var(--wswb-skill-cooking);
	--wswb-outline-muted-color:
		var(--wswb-skill-cooking-muted);
}

.wswb-outline--skill-fishing {
	--wswb-outline-normal-color:
		var(--wswb-skill-fishing);
	--wswb-outline-muted-color:
		var(--wswb-skill-fishing-muted);
}

.wswb-outline--skill-carpentry {
	--wswb-outline-normal-color:
		var(--wswb-skill-carpentry);
	--wswb-outline-muted-color:
		var(--wswb-skill-carpentry-muted);
}

.wswb-outline--skill-mining {
	--wswb-outline-normal-color:
		var(--wswb-skill-mining);
	--wswb-outline-muted-color:
		var(--wswb-skill-mining-muted);
}

.wswb-outline--skill-foraging {
	--wswb-outline-normal-color:
		var(--wswb-skill-foraging);
	--wswb-outline-muted-color:
		var(--wswb-skill-foraging-muted);
}

.wswb-outline--skill-crafting {
	--wswb-outline-normal-color:
		var(--wswb-skill-crafting);
	--wswb-outline-muted-color:
		var(--wswb-skill-crafting-muted);
}

.wswb-outline--skill-smithing {
	--wswb-outline-normal-color:
		var(--wswb-skill-smithing);
	--wswb-outline-muted-color:
		var(--wswb-skill-smithing-muted);
}

.wswb-outline--skill-trinketry {
	--wswb-outline-normal-color:
		var(--wswb-skill-trinketry);
	--wswb-outline-muted-color:
		var(--wswb-skill-trinketry-muted);
}

.wswb-outline--skill-hunting {
	--wswb-outline-normal-color:
		var(--wswb-skill-hunting);
	--wswb-outline-muted-color:
		var(--wswb-skill-hunting-muted);
}

.wswb-outline--skill-tailoring {
	--wswb-outline-normal-color:
		var(--wswb-skill-tailoring);
	--wswb-outline-muted-color:
		var(--wswb-skill-tailoring-muted);
}


/* ============================================================
   Skill-type roles
   ============================================================ */

.wswb-outline--skill-type-gathering {
	--wswb-outline-normal-color:
		var(--wswb-skill-type-gathering);
	--wswb-outline-muted-color:
		var(--wswb-skill-type-gathering-muted);
}

.wswb-outline--skill-type-artisan {
	--wswb-outline-normal-color:
		var(--wswb-skill-type-artisan);
	--wswb-outline-muted-color:
		var(--wswb-skill-type-artisan-muted);
}

.wswb-outline--skill-type-utility {
	--wswb-outline-normal-color:
		var(--wswb-skill-type-utility);
	--wswb-outline-muted-color:
		var(--wswb-skill-type-utility-muted);
}

.wswb-outline--skill-type-combat {
	--wswb-outline-normal-color:
		var(--wswb-skill-type-combat);
	--wswb-outline-muted-color:
		var(--wswb-skill-type-combat-muted);
}