/* ==================================================================
   NORMALIZE
   ================================================================== */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Forms
   ========================================================================== */

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

select[multiple] {
    min-height: 64px;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
  min-height: 4rem;
  height: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* ==================================================================
   SPRITES
   ================================================================== */

.shop_sprite { background-image: url("/static/images/sprites/shopkeepers.d9c1572daef3.png");
    background-repeat: no-repeat;
    height: 35px;
    width: 35px;
    margin: 2px; }

/* Shop Keepers */
.shop_sprite_1 { background-position: -5px -5px; }
.shop_sprite_2 { background-position: -50px -5px; }
.shop_sprite_9 { background-position: -5px -50px; }
.shop_sprite_5 { background-position: -50px -50px; }
.shop_sprite_4 { background-position: -95px -5px; }
.shop_sprite_98 { background-position: -95px -50px; }
.shop_sprite_7 { background-position: -5px -95px; }
.shop_sprite_14 { background-position: -50px -95px; }
.shop_sprite_8 { background-position: -95px -95px; }
.shop_sprite_13 { background-position: -140px -5px; }
.shop_sprite_3 { background-position: -140px -50px; }
.shop_sprite_44 { background-position: -140px -95px; }
.shop_sprite_25 { background-position: -5px -140px; }
.shop_sprite_58 { background-position: -50px -140px; }
.shop_sprite_30 { background-position: -95px -140px; }
.shop_sprite_12 { background-position: -140px -140px; }
.shop_sprite_53 { background-position: -185px -5px; }


.aio_sprite { background-image: url("/static/images/sprites/aio_sidebar.0b785ba82f23.png");
    background-repeat: no-repeat;
    height: 35px;
    width: 35px; }

.sprite-bank { background-position: -5px -5px; }
.sprite-coltzanshrine { background-position: -50px -5px; }
.sprite-deadly_dice { background-position: -5px -50px; }
.sprite-game-5 { background-position: -50px -50px; }
.sprite-game-1 { background-position: -95px -5px; }
.sprite-edna { background-position: -95px -50px; }
.sprite-buriedtreasure { background-position: -5px -95px; }
.sprite-game-10 { background-position: -50px -95px; }
.sprite-fruitmachine { background-position: -95px -95px; }
.sprite-esophagor { background-position: -140px -5px; }
.sprite-game-12 { background-position: -140px -50px; }
.sprite-game-3 { background-position: -140px -95px; }
.sprite-draiknest { background-position: -5px -140px; }
.sprite-game-11 { background-position: -50px -140px; }
.sprite-game-9 { background-position: -95px -140px; }
.sprite-game-14 { background-position: -140px -140px; }
.sprite-funguscave { background-position: -185px -5px; }
.sprite-foodclub { background-position: -185px -50px; }
.sprite-game-15 { background-position: -185px -95px; }
.sprite-game-13 { background-position: -185px -140px; }
.sprite-green_jelly { background-position: -5px -185px; }
.sprite-grundowarehouse { background-position: -50px -185px; }
.sprite-guild_garden { background-position: -95px -185px; }
.sprite-hauntedsc { background-position: -140px -185px; }
.sprite-healingsprings { background-position: -185px -185px; }
.sprite-hiddentower { background-position: -230px -5px; }
.sprite-islandmusic { background-position: -230px -50px; }
.sprite-jelly { background-position: -230px -95px; }
.sprite-kadoatery { background-position: -230px -140px; }
.sprite-kadoatery_fed { background-position: -230px -185px; }
.sprite-kitchenquest { background-position: -5px -230px; }
.sprite-moneytree { background-position: -50px -230px; }
.sprite-neggery { background-position: -95px -230px; }
.sprite-neolodge { background-position: -140px -230px; }
.sprite-omelette { background-position: -185px -230px; }
.sprite-nerkmid { background-position: -230px -230px; }
.sprite-shoptill { background-position: -275px -5px; }
.sprite-snowager { background-position: -275px -50px; }
.sprite-slm { background-position: -275px -95px; }
.sprite-soupkitchen { background-position: -275px -140px; }
.sprite-taelia { background-position: -275px -185px; }
.sprite-tdmbgpop { background-position: -275px -230px; }
.sprite-tombola { background-position: -5px -275px; }
.sprite-toyrepair { background-position: -50px -275px; }
.sprite-wintersc { background-position: -95px -275px; }
.sprite-woe { background-position: -140px -275px; }
.sprite-wok { background-position: -185px -275px; }

/* ==================================================================
   FONT FACES
   ================================================================== */

/* FONTS */

@font-face {
	font-family: "W95FA";
	src: url("/static/fonts/w95fa.1ff059a99898.woff2") format("woff2"),
		url("/static/fonts/w95fa.3be637966b4c.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
	size-adjust: 125%;
}

@font-face {
	font-family: "TempusSansSite";
	src: url("/static/games/destructomatch/fonts/TempusSans.31a2f7728bea.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	size-adjust: 200%;
}

@font-face {
	font-family: "Heffaklump";
	src: url("/static/fonts/heffaklump/heffaklump-webfont.88604cac087f.woff2") format("woff2"),
		url("/static/fonts/heffaklump/heffaklump-webfont.9d8a35f7a8c2.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Cafeteria";
	src: url("/static/fonts/cafeteria-black.c9be1760f25a.otf") format("opentype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "MuseoSans Rounded";
	src: url("/static/fonts/museosansrounded-500.d31d1fba074e.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "MuseoSans Rounded";
	src: url("/static/fonts/museosansrounded-700.1a536994dd37.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: "Pokemon GB";
    src: url("data:font/woff;base64,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") format("woff");
    src: url("data:font/ttf;base64,AAEAAAAMAIAAAwBAT1MvMoeIf7EAAAFIAAAAYFZETVhxznllAAADlAAABeBjbWFwKVkwfAAACXQAAAPgZ2FzcP//AAEAAC+QAAAACGdseWbo93QrAAANVAAAHvxoZWFk7m6WswAAAMwAAAA2aGhlYQbXA2gAAAEEAAAAJGhtdHjcTCcoAAABqAAAAexsb2Nht9+/iAAALFAAAAD4bWF4cACAAC0AAAEoAAAAIG5hbWUphAwWAAAtSAAAASZwb3N0hp6AvAAALnAAAAEeAAEAAAABAABceo6RXw889QAJA+gAAAAAxbWlIQAAAADFta3A//z/fwPqA20AAAAJAAIAAAAAAAAAAQAAAu7/BgAAA+j//P/+A+oAAQAAAAAAAAAAAAAAAAAAAHsAAQAAAHsALAAEAAAAAAABAAAAAAAAAAAAAAAAAAAAAAADA+YBkAAFAAQCvAKKAAAAjAK8AooAAAHdADIA+gAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAABweXJzAEAAIAD8Au7/BgAAA20AgQAAAAEAAAAAAfQHUwAAACAAAAPoAAAAAAAAA+gAAAPoAAAD6AB5A+gBcwPo//wD6AB5A+gAeQPoAHkD6AB5A+j//APo//wD6AB5A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APo//wD6AFzA+gBcwPo//wD6P/8A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APoAHkD6P/8A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APo//wD6P/8A+j//APoAm0D6P/8A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AFzA+gA9gPoAHkD6AFzA+j//APoAPYD6AB5A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AB5A+gAeQPo//wD6P/8A+gAeQPoAHkD6AD2A+gAeQPo//wD6P/8A+j//APo//wD6P/8A+j//APoAHkD6AB5A+j//APo//wD6P/8A+j//APoAHkD6P/8A+j//APo//wDa//8A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AB5A+j//APoAHkD6AB5A+gA9gPoAXMD6AD2A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AB5A+gAeQPoAHkD6AB5A+gAeQPo//wD6AD2A+gAeQAAAAEAAQEBAQEADAD4CP8ACAAI//4ACQAI//4ACgAJ//4ACwAK//4ADAAL//4ADQAM//4ADgAN//4ADwAO//4AEAAP//0AEQAP//0AEgAQ//0AEwAR//0AFAAS//0AFQAT//0AFgAU//0AFwAV//0AGAAW//wAGQAW//wAGgAX//wAGwAY//wAHAAZ//wAHQAa//wAHgAb//wAHwAc//wAIAAd//sAIQAd//sAIgAe//sAIwAf//sAJAAg//sAJQAh//sAJgAi//sAJwAj//oAKAAk//oAKQAk//oAKgAl//oAKwAm//oALAAn//oALQAo//oALgAp//oALwAq//kAMAAr//kAMQAr//kAMgAs//kAMwAt//kANAAu//kANQAv//kANgAw//kANwAx//gAOAAy//gAOQAy//gAOgAz//gAOwA0//gAPAA1//gAPQA2//gAPgA3//gAPwA4//cAQAA5//cAQQA6//cAQgA6//cAQwA7//cARAA8//cARQA9//cARgA+//YARwA///YASABA//YASQBB//YASgBB//YASwBC//YATABD//YATQBE//YATgBF//UATwBG//UAUABH//UAUQBI//UAUgBI//UAUwBJ//UAVABK//UAVQBL//UAVgBM//QAVwBN//QAWABO//QAWQBP//QAWgBP//QAWwBQ//QAXABR//QAXQBS//QAXgBT//MAXwBU//MAYABV//MAYQBW//MAYgBW//MAYwBX//MAZABY//MAZQBZ//IAZgBa//IAZwBb//IAaABc//IAaQBd//IAagBd//IAawBe//IAbABf//IAbQBg//EAbgBh//EAbwBi//EAcABj//EAcQBk//EAcgBk//EAcwBl//EAdABm//EAdQBn//AAdgBo//AAdwBp//AAeABq//AAeQBr//AAegBr//AAewBs//AAfABt//AAfQBu/+8AfgBv/+8AfwBw/+8AgABx/+8AgQBy/+8AggBz/+8AgwBz/+8AhAB0/+4AhQB1/+4AhgB2/+4AhwB3/+4AiAB4/+4AiQB5/+4AigB6/+4AiwB6/+4AjAB7/+0AjQB8/+0AjgB9/+0AjwB+/+0AkAB//+0AkQCA/+0AkgCB/+0AkwCB/+0AlACC/+wAlQCD/+wAlgCE/+wAlwCF/+wAmACG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A20AGwAAAzMVMxUzFTM1MzUzNTMRIxEjFSMVIzUjNSMRIwSDfX13fX2Dg3d9g313gwNtfX19fX19/I8CcX19fX39jwAAAf/8//wDbQNtABsAAAMzFTMVMxUzFTMVMxEzESM1IzUjNSM1IzUjESMEg319fX13g4N9fX19d4MDbX19fX19AnH8j319fX19/Y8AAAL//P/8A20DbQATAB8AAAMzNTM1IRUzFTMRIxUjFSE1IzUjASEVIxEzFSE1MxEjBH19AX19fX19/oN9fQJx/o99fQFxfX0Cc319fX3+g319fX0B9H3+j319AXEAAv/8//wDbQNtAAkADQAAAyEVMxEjFSERIxMhNSEEAvR9ff2Pg4MCa/2VA219/wB9/okB+vQAAAAC//z//ANtA20AFwAnAAADMzUzNSEVMxUzESMVMxUjNSMVITUjNSMBIRUjETMVITUjNTMVMxEjBH19AX19fX19g3f+g319AnH+j319AXF9g3d9AnN9fX19/oN3g319fX0B9H3+j313g30BcQAC//z//ANtA20AFQAZAAADIRUzESMVIxUzFTMVIzUjNSM1IREjEyE1IQQC9H19fX19g319/o+DgwJr/ZUDbX3/AH13fYN9fX3+iQH69AAAAAH//P/8A20DbQAbAAADMzUhFTMVIzUhFSEVMxEjFSE1IzUzFSE1ITUjBH0B+n2D/hICcX19/Yl9gwJr/Y99AvB9fYN99H3/AH19g330fQAAAf/8//wDbQNtAAcAAAMhFSERIxEhBANx/omD/okDbYP9EgLuAAAAAAH//P/8A20DbQANAAADMxEzFSERMxEhNSM1IwSDfQHug/2JfX0Dbf2PfQLu/I99fQAAAAAB//z//ANtA20AGwAAAzMVMxUzFTM1MzUzNTMRIxUjFSMVIzUjNSM1IwSDfX13fX2DfX19g319fQNt+vr6+vr6/wD6+n19+voAAAAAAf/8//wDbQNtABsAAAMzETM1MzUzFTMVMxEzESM1IzUjNSMVIxUjFSMEg3d9g313g4N9fXd9fYMDbf4M+n19+gH0/I99+vr6+n0AAAH//P/8A20DbQArAAADIRUzFTM1MzUhFSMVIxUjFTMVMxUzFSE1IzUjFSMVITUzNTM1MzUjNSM1IwQBAH13fQEAfX19fX19/wB9d33/AH19fX19fQNt+n19+oN9fXd9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") format("truetype");
}

/* ==================================================================
   SITE SHELL
   ================================================================== */


/* BASIC STYLES */

.capitalize {
	text-transform: capitalize;
}

:root {
	--input-border-radius: 2px;
	/* vertical padding is 0 so the control height is driven by --button_size;
	   line-height (not propped up by padding) — lets Small/Medium take effect.
	   horizontal padding stays for readable side gutters. */
	--input-padding: 0 0.5em;
	/* Shared line-height for all sized form controls (buttons, inputs, selects,
	   wrapped selects). This sets the natural floor — lower it to let smaller
	   button_size values take effect; raise it for more breathing room. */
	--control-line-height: 1.1;
}

html {
	min-height: 100vh;
	font-size: 14px;
	line-height: 1.25;
	-webkit-font-smoothing: antialiased;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	box-sizing: border-box;
	/* Without this, mobile browsers with an OS/browser "force dark" setting
	   are free to auto-dark-theme native form controls (selects especially)
	   even while the page itself is in a light theme, painting them dark
	   with no matching text color. style_darkmode.css sets this to "dark"
	   when dark mode is actually on. */
	color-scheme: light;
}

/* ============================================================================
   GLOBAL FORM CONTROLS  —  buttons · inputs · selects · checkboxes · sizing
   ----------------------------------------------------------------------------
   Base layer (ALWAYS active). Layered, conditional overrides live in:
     • style_darkmode.css  → dark-mode colors/theming for these same controls
     • mobile.css          → mobile sizing/padding for these same controls
     • utility_style.css   → width helpers (.small-input … .full-width) & .form-control

   HEIGHT TOKENS
     --button_size        base control height; set per user in
                          core/templates/core/_global_headers.html (default 40px)
     --min-button-height  derived in mobile.css = max(--button_size, 25px);
                          read everywhere as var(--min-button-height, var(--button_size))

   HEIGHT MODIFIERS (opt-in classes that change height)
     .match-button-size          force an element to exactly button height
     .follow-mobile-size         adopt the button min-height (match adjacent inputs)
     .button-matched-input-size  half-height variant (mobile; currently disabled)
     .no-bs-ignore-mobile        mobile-only min-height + larger font

   HEIGHT OPT-OUTS (classes that skip the automatic sizing above)
     .ignore-button-size   skip button min-height sizing
     .ignore-input-size    skip input/select/checkbox min-height sizing
   ============================================================================ */

/* -- Inherit page typography on every form element -- */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
}

/* -- Button-like elements: cursor, radius, padding -- */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	cursor: pointer;
	padding: var(--input-padding);
}

button:not(.dev-btn),
input[type="button"]:not(.dev-btn),
input[type="submit"]:not(.dev-btn),
input[type="reset"]:not(.dev-btn) {
	border-radius: var(--input-border-radius);
}

/* -- Button-like elements: height (opt out with .ignore-button-size) -- */
/* line-height + zero vertical padding keep the natural floor low (~font-size),
   so Small/Medium button_size values actually take effect instead of being
   swallowed by intrinsic content height. height:auto lets multi-line buttons
   still grow past the token. */
input[type="submit"]:not(.ignore-button-size),
input[type="button"]:not(.ignore-button-size),
input[type="reset"]:not(.ignore-button-size),
button:not(.ignore-button-size) {
	min-height: var(--min-button-height, var(--button_size));
	height: auto;
	line-height: var(--control-line-height);
	/* NOTE: vertical padding intentionally NOT set here — it comes from
	   --input-padding (0 on desktop). Setting padding-top/bottom here would win
	   on specificity over mobile.css's touch padding and flatten mobile inputs
	   while leaving <button> padded (button/input height mismatch on mobile). */
}

/* -- Text-like inputs & textarea: shared radius/padding/box-sizing (matches .select-wrapper height) -- */
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]):not([type="file"]):not([type="color"]):not([type="range"]),
textarea.form-control {
	box-sizing: border-box;
	border-radius: var(--input-border-radius);
	padding: var(--input-padding);
}

/* -- Input / select height (opt out with .ignore-input-size) -- */
.select-wrapper:not(.ignore-input-size) {
	min-height: var(--min-button-height, var(--button_size));
}

body :not(.select-wrapper) > select:not(.ignore-input-size),
input:not([type="image"]):not([type="checkbox"]):not([type="radio"]):not(.ignore-input-size):not(.ignore-button-size):not(.select-wrapper.ignore-input-size *),
textarea.form-control,
.follow-mobile-size {
	min-height: var(--min-button-height, var(--button_size));
	/* tight line-height lowers the natural floor so the token controls height
	   down to ~font-size. Vertical padding comes from --input-padding (0 on
	   desktop) — NOT set here, so mobile.css's touch padding still wins. */
	line-height: var(--control-line-height);
}

/* textarea is multi-line: keep its own padding/height, don't flatten it */
textarea.form-control {
	line-height: 1.5;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* .follow-mobile-size's min-height AND line-height tie with .form-control (1.5em)
   and lose by load order; this compound selector (0,2,0) wins so a
   .form-control.ignore-button-size.follow-mobile-size submit (e.g. the games
   "Go!" button) matches adjacent text inputs. Without the line-height it keeps
   .form-control's 1.5em and renders taller than inputs once the mobile font
   scales up past the min-height floor (wide mobile widths). */
.form-control.follow-mobile-size {
	min-height: var(--min-button-height, var(--button_size));
	line-height: var(--control-line-height);
}

/* -- Checkboxes & radios: sizing (opt out with .ignore-input-size) -- */
input[type="checkbox"]:not(.ignore-input-size),
input[type="radio"]:not(.ignore-input-size) {
	width: 1.35rem;
	height: 1.35rem;
	margin: 0.1em 0.25em;
	vertical-align: middle;
	flex-shrink: 0;
}

/* -- Textarea base look -- */
textarea {
	background-color: var(--bgcolor);
	color: var(--color);
	/* Font color */
	border: 1px solid var(--color);
	/* Border */
	padding: 10px;
    min-height: 4rem;
    height: auto;
}

/* -- Height helper: force an element to exactly button height -- */
.match-button-size {
	height: var(--button_size);
	line-height: var(--button_size);
	/* Ensures the text is vertically centered */
	box-sizing: border-box;
	text-align: center;
}

body {
	min-height: 100%;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color: var(--bgcolor);
	color: var(--color);
	text-decoration: none;
	margin: 0;
}

a,
.link {
	color: var(--link_color);
	text-decoration: none;
	font-weight: bold;
	background-color: transparent;
	cursor: pointer;
}

a:hover,
.link:hover {
	color: var(--hover_color);
}

img {
	vertical-align: middle;
}

/* Image-map pages */
#world-map {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* HTML5/HTML bandwidth selector used by world map pages */
.html5_select {
	width: 38%;
	border: 1px solid #ccc;
	align-items: stretch;
}

.html5_select > div {
	display: flex;
	padding: 0.5em;
	border: 1px solid #ccc;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

hr {
	height: 1px;
	background-color: var(--color);
	border: none;
	overflow: visible;
}

main>h1,
section>h1,
main>h2,
section>h2 {
	font-size: 1rem;
	margin-top: 1em;
	margin-bottom: 1em;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

b,
strong {
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* NOTE: global form-element typography & textarea base moved up into
   "GLOBAL FORM CONTROLS" near the top of this file. */

summary:hover {
	cursor: pointer;
}

/* Hide native disclosure triangle site-wide */
details > summary {
	list-style: none;
}
details > summary::-webkit-details-marker { display: none; }
details > summary::marker { content: none; }

/* FA chevron on all summaries via ::before */
details > summary::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f04b";
	margin-right: 5px;
	font-size: 0.8em;
	display: inline-block;
	transition: transform 200ms ease;
}
details[open] > summary::before {
	transform: rotate(90deg);
}
/* Suppress ::before on summaries that already have an explicit icon.
   Covers any summary using a named chevron class OR any boxicons chevron
   (class contains "bx-chevron"), so adding a new icon class never causes
   double-chevrons without a separate rule change here. */
details > summary:has(.summary-chevron)::before,
details > summary:has(.details-chevron)::before,
details > summary:has([class*="bx-chevron"])::before {
	display: none;
}

.summary-chevron {
	transition: transform 200ms ease;
	font-size: 0.8em;
	margin-right: 4px;
	display: inline-block;
}
details[open] > summary .summary-chevron {
	transform: rotate(90deg);
}

/* BASE LAYOUT STYLES */

#container {
	min-width: 735px;
	width: 955px;
	display: grid;
	grid-template-rows: min-content 44px 72px min-content min-content minmax(0, 1fr);
	grid-template-columns: 140px minmax(0, 1fr) 190px;
	grid-template-areas: "atop atop aio"
		"top top aio"
		"side banner aio"
		"side event aio"
		"side content aio"
		"side footer aio";
}

#aio_sidebar {
	display: grid;
}

#aio_sidebar .aioImg,
#aio_sidebar .form-control {
	min-width: 0;
}


#aio_sidebar_placeholder {
	grid-area: aio;
	width: 170px;
	margin: 10px;
}

#advert-header {
	grid-area: atop;
	width: 728px;
	height: 93px;
	font-weight: bold;
	text-align: right;
}

#advert-header img {
	width: 728px;
	height: 93px;
}

/* SB TOP */
#sb_top,
.sb_top {
	grid-area: top;
	width: 728px;
	height: 44px;
	background-repeat: no-repeat;
	text-align: right;
}

#sb_bottom {
	display: none;
}

/* Items Container */
.bottom-bar-items {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 20px;
	transform: translateY(-35px);
	/* Move up by 10px */
}

.lower-moon {
	display: flex;
	justify-content: left;
	/* Center-align icon */
	align-items: center;
	/* Vertically center icon */
	flex: 0;
	font-size: 50px;
	/* Adjust font size */
	cursor: pointer;
	/* Pointer cursor */
	text-align: center;
}

.lower-info {
	width: 80%;
	display: flex;
	justify-content: flex-start; /* align items to the left */
	align-items: center;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 0.25em;
	font-size: 1.35rem;
	padding: 0 .5em;
	margin: 0 auto;
	text-align: left; /* not necessary for flex, but avoids centering inline text */
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.lower-info.no-overflow {
    justify-content: center;
    text-align: center; /* center inline text if needed */
}

.mobile-toggle {
	display: flex;
	justify-content: right;
	/* Center-align icon */
	align-items: center;
	/* Vertically center icon */
	flex: 0;
	/* Fixed at 25% width */
	font-size: 50px;
	/* Adjust font size */
	text-align: center;
	cursor: pointer;
	/* Pointer cursor */
}

/* Mobile Top Bar */
/* Hamburger Top Menu Styles */
.mobile-top-bar-item {
	padding: .5%;
	display: none;
}

.side-menu-label {
	display: none;
}

#side-menu-wrapper {
	display: none;
	align-items: center;
}

.side-menu-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	width: 50px;
	height: 50px;
	cursor: pointer;
	position: relative;
	margin: -30px auto 0 auto;
	margin: 6px;
}

.side-menu-icon div {
	position: relative;
	top: 0;
	height: 12px;
	background: var(--color);
	margin-bottom: 12px;
	transition: 0.3s ease transform, 0.3s ease top, 0.3s ease width,
		0.3s ease right;
	border-radius: 4px;
}

#side-menu-toggle {
	display: none;
	/* Hide the checkbox */
}

/* Toggle menu visibility */

.side-menu-icon div:first-child {
	transform-origin: 0;
}

.side-menu-icon div:last-child {
	margin-bottom: 0;
	transform-origin: 50px;
}

.side-menu-icon div:nth-child(2) {
	right: 0;
	width: 50px;
}

#side-menu-toggle:checked+div:before {
	background-color: #4caf50;
}

#side-menu-toggle:checked+div div:first-child {
	top: -4px;
	transform: rotateZ(45deg);
}

#side-menu-toggle:checked+div div:last-child {
	top: 5px;
	transform: rotateZ(45deg);
}

#side-menu-toggle:checked+div div:nth-child(2) {
	width: 75px;
	top: 0;
	right: 13px;
	transform: rotateZ(-45deg);
}

/* Container for the toggle button */
#aio-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	top: 0px;
	right: 0px;
	height: 80%;
	margin: 6px;
}

/* Text inside the button */
.aio-menu-icon {
	height: 100%;
	border-radius: 50%;
	border: 2px solid var(--color);
}

#mobile-alerts {
	cursor: pointer;
	aspect-ratio: 1/1;
}

#site-back-button {
	display: none;
	cursor: pointer;
}

#site-back-button-icon {
	height: calc(var(--top-height)* .65);
	width: calc(var(--top-height)* .65);
}

#show-mobile-toggle {
	display: none;
	position: absolute;
	left: 138px;
	font-size: 22px;

}

@media only screen and (max-width: 992px) {
	#show-mobile-toggle.show-mobile-toggle-enabled {
		display: inline;
	}
}

/* Search Bar Container */

#top-bar-search {
	align-items: center;
	position: relative;
	width: 75px;
	padding-right: .45em;
	z-index: 1000;
	/* Ensure it's above other content when expanded */
}

/* Search Button */
#top-bar-search-btn {
	border: none;
	background: none;
	/* Remove background */
	cursor: pointer;
	align-items: center;
	justify-content: center;
	color: #000;
	/* Adjust to match your site's text color */
	transition: color 0.3s ease;
}

/* Search Input Field */
#top-bar-search-input {
	font-size: 1.5em;
	width: 100%;
	border: none;
	padding: 0 .25em;
	outline: none;
	border-radius: 10px;
	background-color: #fff;
	color: #000;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	border: 1px solid #ccc;
	z-index: 999;
	height: 100%
}

.search-input-holder {
	display: none;
	position: relative;
}

/* Placeholder Styling */
#top-bar-search-input::placeholder {
	color: rgba(0, 0, 0, 0.5);
	font-size: 1em !important;
	letter-spacing: 1px;
	font-weight: 300;
}

.nst.mobile {
	display: none;
}

/* SB SIDE */

#sb_side {
	grid-area: side;
	width: 128px;
	height: fit-content;
	display: flex;
    opacity: 1;
    transform: translateX(0);
	flex-direction: column;
	gap: 14px;
	background-color: #ffce00;
	border-right: 2px solid black;
	text-align: center;
	margin-right: 10px;
}

#page_banner {
	grid-area: banner;
	display: flex;
	width: 595px;
	height: 62px;
	margin: 5px 0;
}

#page_notif {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 56px;
	line-height: 12px;
	margin-right: 31px;
}

#page_notif div,
.all_events_table div {
	height: 50px;
	width: 50px;
}

.banner {
	height: 62px;
	width: 480px;
	cursor: pointer;
}

.banner-rounded-edges {
	border-radius: 25px;
}

.banner-top-rounded-edges {
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

#page_event {
	grid-area: event;
	justify-content: center;
	width: 595px;
	min-height: 16.5px;
	height: fit-content;

}

#page_event:has(div) {
	margin: 1em auto;
}


#page_content {
	grid-area: content;
	width: 595px;
	height: fit-content;
}

#page_footer {
	grid-area: footer;
	width: 595px;
	height: fit-content;
}

#footer_content {
	width: 67%;
	margin: 50px auto;
	text-align: center;
	font-weight: normal;
	opacity: .85;
}

#homepage_link {
	float: left;
}

#homepage_link_inner {
	display: inline-block;
	height: 34px;
	width: 128px;
}

#userinfo {
	margin-right: 15px;
	font-size: 10px;
	font-weight: bold;
	line-height: 36px;
	vertical-align: middle;
}

.user-info-icon {
	display: none;
}

.user-info-np-icon {
	display: none;
}

.show_all {
	font-size: 10px;
}

.search-dropdown-list {
	position: absolute;
	background: var(--bgcolor);
	border: 1px solid #ccc;
	border-radius: 10px;
	top: 100%;
	width: 98.4%;
	max-height: 50vh;
	overflow-x: hidden;
	overflow-y: auto;
	z-index: 1000;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.search-dropdown-item {
	padding: 8px 12px;
	cursor: pointer;
	transition: background 0.2s;
	display: flex;
	align-items: center;
}

.search-dropdown-item:hover {
	background: var(--grid_even);
}

.search-dropdown-item.disabled {
	cursor: not-allowed;
}


.search-dropdown-title {
	background: var(--ui-header-color);
	padding: .25em;
}

.autocomplete-container {
	position: relative;
}

.search-dropdown-result-image {
	object-fit: contain;
	border-radius: 5px;
}

.search-dropdown-result-text {
	flex: 1;
	text-align: center;
	font-weight: normal;
	color: var(--color);
}

.battlepedia-admin-search-wrap {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.battlepedia-admin-search-dropdown {
	top: calc(100% - 1px);
	left: 0;
	right: 0;
	width: 100%;
	border-radius: 0 0 10px 10px;
	box-sizing: border-box;
}

.battlepedia-admin-search-result {
	width: 100%;
	background: transparent;
	border: 0;
	color: inherit;
	font: inherit;
	text-align: left;
}

.battlepedia-admin-search-meta {
	display: block;
	font-size: .85em;
	color: var(--medgrey);
}

.admin-item-search-input {
	width: 100%;
}

.battlepedia-admin-search-input.dropdown-open {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}


/* sidebar nav */

#sb_createpet {
	height: 53px;
	background-position: 0px 0px;
}

#sb_createpet:hover {
	background-position: 128px 0px;
}

#sb_petcentral {
	height: 53px;
	background-position: 0px -53px;
}

#sb_petcentral:hover {
	background-position: 128px -53px;
}

#sb_explore {
	height: 32px;
	background-position: 0px -106px;
}

#sb_explore:hover {
	background-position: 128px -106px;
}

#sb_games {
	height: 32px;
	background-position: 0px -138px;
}

#sb_games:hover {
	background-position: 128px -138px;
}

#sb_neomail {
	height: 32px;
	background-position: 0px -170px;
}

#sb_neomail:hover {
	background-position: 128px -170px;
}

#sb_shops {
	height: 32px;
	background-position: 0px -202px;
}

#sb_shops:hover {
	background-position: 128px -202px;
}

#sb_boards {
	height: 32px;
	background-position: 0px -234px;
}

#sb_boards:hover {
	background-position: 128px -234px;
}

#sb_news {
	height: 34px;
	background-position: 0px -266px;
}

#sb_news:hover {
	background-position: 128px -266px;
}

#sb_stuff {
	height: 34px;
	background-position: 0px -300px;
}

#sb_stuff:hover {
	background-position: 128px -300px;
}

#sb_help {
	height: 35px;
	background-position: 0px -334px;
}

#sb_help:hover {
	background-position: 128px -334px;
}

#sb_login {
	height: 30px;
	background-position: 0px -369px;
}

#sb_login:hover {
	background-position: 128px -369px;
}

#sb_logout {
	height: 28px;
	background-position: 0px -399px;
}

#sb_logout:hover {
	background-position: 128px -399px;
}

#sb_clock {
	font-size: 12px;
}

.nst {
	width: 110px;
	border: 1px solid #000000;
	background-color: #ffff63;
	color: #000000;
	padding: 2px;
	margin: 0;
}

#sb_banner img {
	width: 120px;
	height: 60px;
}

#sb_search {
	font-size: 10px;
}

#sb_lang {
	font-size: 10px;
}

#sb_theme_select {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sb_form {
	width: 110px;
}

/* Shared contextual icons, used across games, shops, messages, and tools. */
.question-circle {
    vertical-align: middle;
    position: relative;
    transform: translateY(calc((1em - 15px) / 2));
    width: 15px;
}

.dice-circle {
    vertical-align: middle;
    position: relative;
    transform: translateY(calc((2em - 30px) / 2));
    width: 30px;
}

/* USER LOOKUP */


/* INVENTORY */

.links-flex {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.25em;
	align-items: center;
}

.inv-item .med-image {
	margin: auto;
}

.item-info {
	display: flex;
	flex-direction: column;
}

/* GENERIC SHOP & Inventory Lists*/

h1.greeting {
	font-size: 1rem;
	margin: 0;
}

#nojs {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: white;
	z-index: 9999;
}

.itemList,
.inventory {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, 130px);
	overflow-wrap: break-word;
	justify-content: center;
	align-items: start;
	text-align: center;
	gap: 3px;
}

.itemList {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(115px, auto));
	gap: 10px;
	margin: 0 auto;
	padding: 10px;
	max-width: 100%;
	box-sizing: border-box;
    align-items: start;
}

.centered-item {
	margin: auto;
	width: 134px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
    margin: 0 auto;
}


.inventory {
    grid-template-columns: repeat(auto-fill, minmax(115px, max-content));
}

.inv-item,
.selectable-item {
	height: 100%;
	/* Make all shop items take the same height */
	display: flex;
	flex-direction: column;
	overflow-wrap: break-word;
	justify-content: start;
	align-items: center;
	width: 100%;
	padding: 4px;
	gap: 0.25em;
	margin: auto;
}

.inv-item {
	position: relative;
	box-sizing: border-box;
	/* Include padding and border in size calculation */
	overflow: visible;
	/* Prevent clipping within the item */
}

.rarity-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.25em;
}

.item-info {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.item-table {
	border-collapse: collapse;
}

/* EDIT GALLERY */

.loggedIn {
	text-align: center;
}

.nowrap {
	overflow-wrap: initial;
}

/* MISC PAGES */

.faded {
	opacity: 0.4;
}

.text-center {
	content-align: center;
	text-align: center;
}

/* RARITY TEXT */

.rarity_common,
.rarity_uncommon,
.rarity_rare,
.rarity_megarare,
.rarity_special,
.rarity_artifact,
.rarity_retired,
.rarity_relic {
	font-weight: bold;
	font-size: 0.857rem;
}

.rarity_common { color: black; }
.rarity_uncommon, .rarity_rare { color: green; }
.rarity_megarare { color: orange; }
.rarity_special { color: #aa4455; }
.rarity_artifact { color: red; }
.rarity_retired { color: grey; }
.rarity_relic { color: purple; }

.not_tradable {
	color: #808080;
	font-weight: bold;
	font-size: 0.857rem;
}

.at_section {
	display: flex;
	flex-direction: column;
}

.at_section b {
	margin-bottom: 10px;
}

.at_section.center input[type="button"] {
	margin: 5px auto;
}

/*.at_section input, .at_section select {
    width: 300px;
    margin-bottom: 10px;
}

.at_section input[type=date] {
    width: 105px;
}*/

.at_section_head {
	font-size: large;
	font-weight: bold;
	margin-bottom: 10px;
}

/*.at_section ul, .at_section ol {
    margin-top: 0;
}*/

.hide {
    visibility: hidden;
}

.btn-link {
	border: none !important;
	outline: none !important;
	background: none !important;
	cursor: pointer !important;
	color: var(--link_color) !important;
	padding: 0 !important;
	font-family: inherit;
	font-size: inherit;
	font-weight: bold !important;
}

.no-right-border {
	border-right: 0 !important;
}

#message {
	visibility: inherit;
}

.clickable {
	cursor: pointer;
}

/* MISC STYLES */

/* Shared data-grid/table primitive. Feature bundles may add their own column
   geometry, but every route can rely on these baseline table behaviors. */
.market_grid {
	width: 100%;
	display: grid;
	overflow-wrap: break-word;
	align-items: stretch;
}

.market_grid > div {
	display: flex;
	padding: 0.3125em;
	box-sizing: border-box;
	min-width: 0;
}

.market_grid > .header,
.market_grid > .footer {
	background-color: var(--grid_head);
	text-align: center;
	justify-content: center;
}

.market_grid > .action { background-color: var(--grid_select); align-items: center; }
.market_grid > .data { background-color: var(--grid_odd); }
.market_grid > .data.bg-alt { background-color: var(--grid_even); }
.market_grid > .data:not(.flex-column) { align-items: center; }
.market_grid > .data.align-top { align-items: flex-start; }
.market_grid > .data.flex-column { justify-content: center; }

/* Shared market and item panel */
.market-div {
	background-color: var(--grid_odd);
	padding: .25em;
}

.content {
	max-width: 595px;
}

#map {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.searchhelp {
	width: 110px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2%;
}

.searchhelp img {
	width: 20px;
}

.errorlist,
.errorlist>li {
	margin: 0;
}

/* ABOUT US */

.search-dropdown-list {
	left: 0;
	right: 0;
	background: white;
	border: 1px solid rgba(128,128,128,0.25);
	border-top: none;
	border-radius: 0 0 4px 4px;
	z-index: 10;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.search-dropdown-list.display-none {
	display: none;
}

.search-dropdown-item {
	justify-content: space-between;
	gap: 0.75em;
	width: 100%;
	padding: 0.5em 0.75em;
	border: none;
	border-bottom: 1px solid rgba(128,128,128,0.1);
	background: transparent;
	font-size: 0.9em;
	text-align: left;
}

.search-dropdown-item:last-child {
	border-bottom: none;
}

.search-dropdown-item:hover {
	background: rgba(26,122,58,0.1);
}

.search-dropdown-item__title {
	font-weight: 500;
}

.search-dropdown-item__meta {
	font-size: 0.8em;
	opacity: 0.7;
	white-space: nowrap;
}

.success {
	font-weight: bold;
	color: green;
}

.error {
	font-weight: bold;
	color: red;
}

.break {
	overflow-wrap: anywhere;
}

/* Shared pet-picker layout used by user lookups and world forms. */
#userPetList:not(.not-flexin),
.userPetList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
}

 .mobile-hidden-block{
     display: block;
 }

 .mobile-show-block{
      display: none;
 }

/* other stuff */

.aio-kad-fed {
	filter: grayscale(1)
}

/* The Modal (background) */
.modal {
	display: none;
	/* Hidden by default */
	position: fixed;
	/* Stay in place */
	z-index: 1000;
	/* Sit on top */
	left: 0;
	top: 0;
	width: 100%;
	/* Full width */
	height: 100%;
	/* Full height */
	overflow: auto;
	/* Enable scroll if needed */
	background-color: rgb(0, 0, 0);
	/* Fallback color */
	background-color: rgba(0, 0, 0, 0.4);
	/* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
	background-color: var(--bgcolor);
	margin: 15% auto;
	/* 15% from the top and centered */
	border: 1px solid var(--color);
	width: fit-content;
}

#modal-body {
	padding: 1.25em;
	width: 100%;
	margin: auto;
	position: relative;
	box-sizing: border-box;
}


.close-modal {
	color: #aaa;
	float: right;
	font-size: 1.75em;
	font-weight: bold;
	background: none;
	border: none;
	padding: 0;
	line-height: 1;
}

.close-modal:hover,
.close-modal:focus {
	color: white;
	text-decoration: none;
	cursor: pointer;
}

/* Shared pagination controls. */
.nav-container {
	text-align: center;
	display: inline-block;
	padding: 0.3125em;
	margin: 0;
}

.nav-button {
	display: inline-block;
	padding-right: 0.625em;
	padding-left: 0.625em;
	vertical-align: top;
}

.nav-button p {
	text-align: center;
}

.med-image.border-1 {
	background-color: white;
}

/* Battledome */

/* Fade-in effect */
.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1000;
}

@media screen and (max-device-width: 992px) {
	html {
		font-size: var(--mobile_font_size);
	}

	.searchhelp img {
		width: var(--search_helper_width);
	}
}

/* checkbox label rows: text left, checkbox right, all boxes aligned */
.center-checkbox,
.checkbox-full-width {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8571em;
    width: 100%;
    padding: 0.2143em 0;
    box-sizing: border-box;
}
.center-checkbox input[type="checkbox"],
.checkbox-full-width input[type="checkbox"] {
    flex-shrink: 0;
    margin: 0;
}

/* ============================================================ */
.items {
    display: flex;
    justify-content: center;
    gap: 0 25px;
    flex-wrap: wrap;
}

/* Standard search row (core/templates/core/_search_row.html)
   Label, a text box that takes the leftover space, and a button that keeps a
   real share of the row instead of shrinking to the width of the word "Go!".
   Percentages, so the proportions hold at every width including mobile. */
.search-row {
	gap: 0.5em;
}

.search-row-label {
	flex: 0 0 auto;
}

.search-row-input {
	flex: 1 1 auto;
	min-width: 0;
}

.search-row-button {
	flex: 0 0 25%;
	min-width: 6em;
}

/* Shared item grids.
 * These cards are used across shops, worlds, dailies, events, market pages,
 * games, and staff tools, so they are part of the shared stylesheet. */
#shopInventory,
.shopInventory {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, 130px);
	overflow-wrap: break-word;
	justify-content: center;
	align-items: start;
	text-align: center;
	gap: 3px;
}

.shop-item {
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow-wrap: break-word;
	justify-content: start;
	align-items: center;
	width: 100%;
	padding: 4px;
	gap: 0.25em;
	margin: auto;
}

.shop-item-info {
	display: flex;
	flex-direction: column;
}

.shop-item > form > input {
	vertical-align: middle;
	aspect-ratio: 1;
	font-size: 0;
}

#shopContent hr {
	margin: 1em auto;
	width: 529px;
}

.faerie_quest { background-color: white; width: 404px; display: flex; flex-direction: column; gap: 2px; margin: 0 auto; padding: 7px; }
.faerie_quest > div, .bd_challenger > div, .re > div, .av > div { padding: 1px; }
.bd_challenger { background-color: white; width: 400px; display: flex; flex-direction: column; gap: 2px; margin: 0 auto; padding: 7px; }
.re { background-color: white; width: 406px; display: grid; grid-template-columns: min-content 1fr; grid-template-areas: "shh shh" "re-image re-text"; align-items: center; gap: 5px; margin: 0 auto; padding: 7px; }
.shh { grid-area: shh; }
.re_winter { background-color: #ccccff; color: #14143a; }
.re_aisha { background-color: #025c5c; color: white; text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black; }
.re_prehistoric { background-color: #cf8f57; color: #000; }
.re_spooky { background-color: #334f8f; color: white; }
.re_space { background-color: #c0c0c0; color: #1a1a1a; }
.re_lunar { background-color: #8a1d00; color: #ffe8d0; }
.re_vday { background-color: #ec9ec0; color: #3d1030; }
.re_site_theme_unlock { background-color: #ffc0cb; color: #3d1030; }
.re_pirate { background-color: #000; color: #e6e1dd; }
.re_darigan { background-color: #4A2563; color: #ffb3b3; }
.re_faerieland { background-color: #f7c3de; color: #3d1030; }
.re_maraqua { background-color: #a9dced; color: #0a2733; }
.re_jelly { background-color: #bfe89a; color: #12280a; }
.re_shh { background-color: #ffffcc; color: #1a1a00; }
.re_pride { color: white; text-shadow: 2px 2px 6px rgba(0, 0, 0); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(54, 35, 18, 0.7), rgba(120, 79, 23, 0.7), rgba(181, 63, 27, 0.7), rgba(237, 34, 36, 0.7), rgba(243, 91, 34, 0.7), rgba(249, 150, 33, 0.7), rgba(245, 193, 30, 0.7), rgba(241, 235, 27, 0.7) 48%, rgba(241, 235, 27, 0.7) 52%, rgba(99, 199, 32, 0.7), rgba(12, 155, 73, 0.7), rgba(33, 135, 141, 0.7), rgba(57, 84, 165, 0.7), rgba(97, 55, 155, 0.7), rgba(147, 40, 142, 0.7)); }

/* Shared world-page shop toolbar. */
#shopToolBar {
	width: 550px;
	height: 85px;
}

#page_notif {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 56px;
	line-height: 12px;
	margin-right: 31px;
}

#page_notif div {
	height: 50px;
	width: 50px;
}

.sliding-menu {
	height: 100%;
	width: 225px;
	position: fixed;
	top: 0;
	left: -250px;
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	overflow-x: hidden;
	transition: 0.5s;
	padding-top: 5px;
	color: white;
	z-index: 10000;
}

.sliding-menu h2,
.sliding-menu h2 a {
	font-family: "Heffaklump";
	text-align: center;
	font-size: 1.714rem;
	color: white;
}

.sliding-menu h2 a {
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.sliding-menu h2 a:hover { color: #ffcf38; }

.menu-alert-link:hover,
.notification-delete-button:hover { color: #CBC3E3; }

.menu-alert-link { font-weight: normal; color: white; }

.notification-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 15px;
	margin: 5px 10px;
	background: rgba(68, 68, 68, 0.5);
	backdrop-filter: blur(10px);
	border-radius: 5px;
	transition: background 0.3s;
	word-wrap: break-word;
	overflow: hidden;
	box-sizing: border-box;
}

.notification-card:hover {
	background: rgba(85, 85, 85, 0.5);
	backdrop-filter: blur(10px);
	cursor: pointer;
}

.hide-icon { height: auto !important; width: auto !important; font-size: 50px; }
.all-alerts-card { padding: 0; }

.notification-icon {
	width: 24px;
	height: 24px;
	margin-right: 10px;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
}

.notification-description { font-size: 1rem; flex-grow: 1; }

.notification-delete-button {
	position: absolute;
	top: 0;
	right: .25em;
	background: none;
	border: none;
	color: white;
	font-size: 1.42rem;
	cursor: pointer;
	height: fit-content;
	width: fit-content;
	display: inline-block;
	padding: 0;
}

.alert { background-size: contain; background-repeat: no-repeat; background-position: center; }
.all_events_table div { height: 50px; width: 50px; }
.alert_news { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/news.png'); }
.alert_patch { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/patch.png'); }
.alert_warning { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/warning.png'); }
.alert_neomail { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/neomail.png'); }
.alert_item { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/item.png'); }
.alert_trade_accept { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/trade_accept.png'); }
.alert_trade_reject { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/trade_reject.png'); }
.alert_trade_withdraw { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/trade_withdraw.png'); }
.alert_trade_offer { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/trade_offer.png'); }
.alert_trade_expire { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/trade_expire.png'); }
.alert_friend_request { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/friend_request.png'); }
.alert_friend_accept { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/friend_accept.png'); }
.alert_transfer { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/transfer.png'); }
.alert_mpic { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/mpic.png'); }
.alert_lc { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/lc.png'); }
.alert_school { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/neoschool.png'); }
.alert_bty { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/bty.png'); }
.alert_training { background-image: url('https://grundoscafe.b-cdn.net/misc/bpicon.png'); }
.alert_battle_accept { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/battle_accept.png'); }
.alert_battle_reject { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/battle_reject.png'); }
.alert_battle_challenge { background-image: url('https://grundoscafe.b-cdn.net/alerts/basic/battle_challenge.png'); }
.alert_monotony { background-image: url('https://grundoscafe.b-cdn.net/misc/themes/default/monotony.png'); }
.alert_boards { background-image: url('https://grundoscafe.b-cdn.net/misc/themes/default/board_mention.png'); }
.alert_guilds { background-image: url('https://grundoscafe.b-cdn.net/misc/themes/default/guild_mention.png'); }
/* Pet colour text */
.8-bit_pet {
  color: #5ac54f;
  font-family: "Press Start 2P";
}
.agueena_pet {
  background-image: linear-gradient(to right, #3b82f6, #f97316);
  -webkit-background-clip: text;
  color: transparent;
}
.alien_pet {
  color: #83E659;
}
.apple_pet {
  color: #5aad2a;
}
.asparagus_pet {
  color: #9e9c41;
}
.aubergine_pet {
  color: #5c386b;
}
.avocado_pet {
  color: #697b42;
}
.baby_pet {
  color: #BCEBF1;
}
.biscuit_pet {
  color: #bc9863;
}
.birthday_pet {
  background-image: linear-gradient(to right, #fde84a, #4a90e2, #f472b6);
  -webkit-background-clip: text;
  color: transparent;
}
.blue_pet {
  color: blue;
}
.blueberry_pet {
  color: #3228bd;
}
.botanical_pet {
  color: #77966E;
}
.brown_pet {
  color: brown;
}
.burlap_pet {
  color: #c8a050;
}
.camouflage_pet {
  color: #005B4E;
}
.candy_pet {
  color: #ff69b4;
}
.carrot_pet {
  color: #ff6a2b;
}
.checkered_pet {
  background-image: repeating-linear-gradient(to right, #000000 0%, #000000 50%, #ffffff 50%, #ffffff 100%);
  background-size: 2em 100%;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-stroke: 0.5px #333;
}
.chocolate_pet {
  color: #7b3f00;
}
.chokato_pet {
  color: #738cde;
}
.christmas_pet {
  color: #2a7454;
}
.clay_pet {
  color: #c76633;
}
.cloud_pet {
  color: #9d9df4;
}
.coconut_pet {
  color: #9c7300;
}
.coffee_pet {
  color: #5c3317;
}
.corn_pet {
  color: #f5d03b;
}
.custard_pet {
  color: #eabd23;
}
.darigan_pet {
  color: #4A2563;
}
.desert_pet {
  color: #d4945a;
}
.dimensional_pet {
  color: #5a2d82;
}
.disco_pet {
  color: #e700a1;
}
.dragonfruit_pet {
  color: #f35d8b;
}
.durian_pet {
  color: #76751f;
}
.edgy_pet {
  color: #838383;
}
.elderlyboy_pet {
  color: #9a9a7a;
}
.elderlygirl_pet {
  color: #9a8aaa;
}
.electric_pet {
  color: #3a69ff;
}
.eventide_pet {
  color: #2d1b6e;
}
.faerie_pet {
  color: #A575E6;
}
.fire_pet {
  color: #cc3401;
}
.garlic_pet {
  color: #f0ecd8;
}
.ghost_pet {
  color: gray;
}
.glass_pet {
  color: #35ceff;
}
.glowing_pet {
  color: #93de11;
}
.gold_pet {
  color: #cb8e00;
}
.gooseberry_pet {
  color: #9bac22;
}
.grape_pet {
  color: #a8436a;
}
.green_pet {
  color: green;
}
.grey_pet {
  color: #454545;
}
.halloween_pet {
  color: #FF9900;
}
.ice_pet {
  color: #a8d8ea;
}
.invisible_pet {
  color: #EEEEEE;
}
.island_pet {
  color: #b87a3d;
}
.jelly_pet {
  color: #BBFF2D;
}
.juppieswirl_pet {
  background-image: linear-gradient(to right, #3b82f6, #ffffff, #3b82f6);
  -webkit-background-clip: text;
  color: transparent;
}
.lemon_pet {
  color: #b7b518;
}
.lime_pet {
  color: #35c421;
}
.magma_pet {
  color: #cc3300;
}
.mallow_pet {
  color: #9d9d9d;
}
.maractite_pet {
  color: #007080;
}
.maraquan_pet {
  color: #2DB3B3;
}
.marble_pet {
  color: #b8b8b8;
}
.mosaic_pet {
  color: #3a7fd4;
}
.msp_pet {
  color: #ab0302;
}
.mutant_pet {
  color: #808D32;
}
.nugget_pet {
  color: #dd8d32;
}
.oilpaint_pet {
  color: #000000;
}
.orange_pet {
  color: orange;
}
.origami_pet {
  color: #f5f0e0;
}
.pastel_pet {
  color: #000000;
}
.pea_pet {
  color: #26a430;
}
.peach_pet {
  color: #e49942;
}
.pear_pet {
  color: #e0d00a;
}
.pepper_pet {
  color: #bb0100;
}
.pineapple_pet {
  color: #efad22;
}
.pink_pet {
  color: pink;
}
.pirate_pet {
  color: #4b616e;
}
.plum_pet {
  color: #68478D;
}
.plushie_pet {
  color: #5A9ECE;
}
.polkadot_pet {
  background-image: linear-gradient(to right, #e63946, #ffffff, #e63946);
  -webkit-background-clip: text;
  color: transparent;
}
.purple_pet {
  color: purple;
}
.quiguki_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.quigukiboy_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.quigukigirl_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.rainbow_pet {
  background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
  -webkit-background-clip: text;
  color: transparent;
}
.red_pet {
  color: red;
}
.relic_pet {
  color: grey;
}
.robot_pet {
  color: grey;
}
.royal_pet {
  color: #7851a9;
}
.royalboy_pet {
  color: #7851a9;
}
.royalgirl_pet {
  color: #7851a9;
}
.shadow_pet {
  color: #000000;
}
.silver_pet {
  color: silver;
}
.sketch_pet {
  color: #3cabd9;
}
.skunk_pet {
  background-image: linear-gradient(to right, #000000 50%, #ffffff 50%);
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-stroke: 0.5px #333;
}
.snot_pet {
  color: #81b10e;
}
.snow_pet {
  color: #3772b3;
}
.speckled_pet {
  color: #5fc030;
}
.split_pet {
  background-image: linear-gradient(to right, #8C5AFF 50%, #F77B08 50%);
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-stroke: 0.5px #333;
}
.sponge_pet {
  color: #f0c040;
}
.spotted_pet {
  color: #d09d0f;
}
.starry_pet {
  color: #0133ff;
}
.stealthy_pet {
  color: #000000;
}
.steampunk_pet {
  color: #b87333;
}
.stone_pet {
  color: #7b7b7b;
}
.strawberry_pet {
  color: #cc0e0e;
}
.striped_pet {
  color: #ad97ff;
}
.swampgas_pet {
  color: #4a8c1a;
}
.thornberry_pet {
  color: #d91644;
}
.tomato_pet {
  color: darkred;
}
.toy_pet {
  color: #ff69b4;
}
.transparent_pet {
  color: #c8e8f0;
}
.tyrannian_pet {
  color: #5e4d31;
}
.ummagine_pet {
  color: #6b2080;
}
.usuki_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.usukiboy_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.usukigirl_pet {
  background-image: linear-gradient(to right, #8b5cf6, #22c55e);
  -webkit-background-clip: text;
  color: transparent;
}
.water_pet {
  color: #4ab8e8;
}
.white_pet {
  color: lightgrey;
}
.valentine_pet {
  color: #B51A3A;
}
.woodland_pet {
  color: #4a6b2a;
}
.wraith_pet {
  color: #000000;
}
.yellow_pet {
  color: #FEDE00;
}
.zombie_pet {
  color: #6b8c55;
}
/* Pride Colors */
.bisexual_pride_pet {
  background-image: linear-gradient(to right, rgb(255, 0, 128), rgb(200, 37, 157), rgb(140, 71, 153), rgb(68, 46, 159), rgb(0, 50, 160));
  -webkit-background-clip: text;
  color: transparent;
}
.lesbian_pride_pet {
  background-image: linear-gradient(to right, rgb(213, 44, 0), rgb(226, 150, 136), rgb(255, 255, 255) 45%, rgb(255, 255, 255), rgb(255, 255, 255) 55%, rgb(210, 127, 164), rgb(162, 2, 98));
  -webkit-background-clip: text;
  color: transparent;
}
.asexual_pride_pet {
  background-image: linear-gradient(to right, rgb(0, 0, 0), rgb(81, 81, 80), rgb(163, 162, 160), rgb(209, 208, 208), rgb(255, 255, 255) 60%, rgb(255, 255, 255), rgb(255, 255, 255) 70%, rgb(185, 151, 185), rgb(101, 46, 129));
  -webkit-background-clip: text;
  color: transparent;
}
.transgender_pride_pet {
  background-image: linear-gradient(to right, rgb(85, 205, 252), rgb(179, 157, 233), rgb(247, 168, 184), rgb(246, 216, 221), rgb(255, 255, 255) 45%, rgb(255, 255, 255), rgb(255, 255, 255) 55%, rgb(246, 216, 221), rgb(247, 168, 184), rgb(179, 157, 233), rgb(85, 205, 252));
  -webkit-background-clip: text;
  color: transparent;
}
.pansexual_pride_pet {
  background-image: linear-gradient(to right, rgb(255, 30, 140) 10%, rgb(255, 102, 57), rgb(255, 230, 29) 40%, rgb(255, 230, 29), rgb(255, 230, 29) 60%, rgb(87, 229, 98), rgb(31, 179, 253) 85%, rgb(31, 179, 253), rgb(31, 179, 253));
  -webkit-background-clip: text;
  color: transparent;
}
.nonbinary_pride_pet {
  background-image: linear-gradient(to right, rgb(253, 219, 0), rgb(238, 212, 143), rgb(255, 255, 255) 30%, rgb(255, 255, 255), rgb(255, 255, 255) 36%, rgb(212, 181, 222), rgb(156, 92, 212), rgb(88, 50, 96), rgb(0, 0, 0));
  -webkit-background-clip: text;
  color: transparent;
}
.mlm_pride_pet {
  background-image: linear-gradient(to right, rgb(7, 141, 111), rgb(152, 202, 153), rgb(255, 255, 255) 45%, rgb(255, 255, 255), rgb(255, 255, 255) 55%, rgb(205, 208, 234), rgb(123, 173, 226) 70%, rgb(69, 76, 189), rgb(63, 26, 121));
  -webkit-background-clip: text;
  color: transparent;
}
.aromantic_pride_pet {
  background-image: linear-gradient(to right, rgb(60, 170, 65), rgb(179, 207, 164), rgb(255, 255, 255) 45%, rgb(255, 255, 255), rgb(255, 255, 255) 55%, rgb(128, 128, 128), rgb(0, 0, 0));
  -webkit-background-clip: text;
  color: transparent;
}
.pride_pet {
  background-image: linear-gradient(to right, rgb(0, 0, 0), rgb(54, 35, 18), rgb(120, 79, 23), rgb(181, 63, 27), rgb(237, 34, 36), rgb(243, 91, 34), rgb(249, 150, 33), rgb(245, 193, 30), rgb(241, 235, 27) 48%, rgb(241, 235, 27), rgb(241, 235, 27) 52%, rgb(99, 199, 32), rgb(12, 155, 73), rgb(33, 135, 141), rgb(57, 84, 165), rgb(97, 55, 155), rgb(147, 40, 142));
  -webkit-background-clip: text;
  color: transparent;
}
.pastel_pet {
  background-image: linear-gradient(to right, rgb(252, 244, 201), rgb(254, 227, 226), rgb(251, 205, 242), rgb(232, 190, 250), rgb(171, 191, 255), rgb(187, 243, 192));
  -webkit-background-clip: text;
  color: transparent;
}
.cherry_pet {
  color: #8b0000;
}
.onion_pet {
  color: #a0784a;
}
.snowberry_pet {
  color: #7070c8;
}
.re_image { grid-area: re-image; height: 82px; }
.re_text { grid-area: re-text; text-align: left; }
.random_event_image { border: 1px solid var(--color); width: 80px; background-color: #fff; }
.av { background-color: white; width: 406px; display: grid; grid-template-columns: min-content 1fr; grid-template-areas: "av-shh av-shh" "av-image av-text"; align-items: center; gap: 2px; margin: 0 auto; padding: 7px; }
.av_shh { grid-area: av-shh; background-color: #ffffcc; color: #1a1a00; }
.av_image { grid-area: av-image; height: 50px; }
.av_text { grid-area: av-text; text-align: left; }

/* ===========================================================================
   RANDOM EVENT ANIMATION LAYER
   --------------------------------------------------------------------------
   Random event "effects" are HTML/CSS/JS strings built in
   dailies/helpers/random_events.py and injected raw via {{ effect|safe }} in
   core/templates/core/_page_event.html.

   Historically each effect positioned its sprites with `position: absolute`
   against <body> and hardcoded offsets tuned for the 955px desktop canvas
   (margin-left up to 825px, translate() out to -950px). Anything landing
   outside the canvas widened the document, so effects individually patched
   around it with `html, body { width: 100vw; overflow-x: hidden }` — which
   mutates global layout for the whole page, and on desktop `100vw` includes
   the scrollbar gutter and so causes the very overflow it is meant to stop.

   Everything now renders inside .re-fx-stage instead: fixed to the viewport,
   clipped, and click-through. A sprite can no longer change page layout or
   scroll extents no matter where its animation sends it, so none of the
   global overrides are needed.
   ========================================================================== */

.re-fx-stage {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Clipping is the whole point: it replaces every per-effect
       `html, body { overflow-x: hidden }` hack. */
    overflow: hidden;
    /* Effects are decoration — they must never swallow a click or tap. */
    pointer-events: none;
    z-index: 2000;
}

/* Sprites are positioned relative to the stage, not the document. Effect code
   sets its own top/left/margin-left, which now resolves against the viewport
   box rather than the page. */
.re-fx-stage > * {
    position: absolute;
    pointer-events: none;
}

/* Tracks the random event box (see reFx.anchoredStage). Effects that belong to
   the event rather than to the page — musical notes lifting off it, a ghost
   hovering beside it — position their sprites against this instead of against
   the viewport, so they keep the same relationship to the box whatever width it
   is laid out at. Deliberately not clipped: sprites are meant to drift outside
   the box, and the stage above is already doing the clipping that matters. */
.re-fx-anchor {
    position: absolute;
    pointer-events: none;
}

.re-fx-anchor > * {
    position: absolute;
    pointer-events: none;
}

/* --------------------------------------------------------------------------
   SNOW
   The snowflakes are text glyphs at font-size: 1em, positioned with fixed and
   percentage offsets, so they already track any viewport correctly. At the
   scaled-down 955px canvas a 1em glyph is barely visible on a handset though.

   Scaling these up is safe where scaling a sprite is not: font-size changes the
   glyph, while the flake's motion comes from `top` percentages and a
   translateX() shake that font-size does not touch. So the flakes get bigger
   and fall exactly the same way.
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 992px) {
    .snowflake {
        font-size: 2.25em;
    }

    /* Same trick for the drifting clouds: every part of a cloud is sized in em
       off its own font-size, so scaling that scales the shape and its puffs
       without touching the drift transform. Applied as a multiplier rather than
       a flat size so each cloud keeps the individual scale that gives the drift
       its sense of depth. */
    .re-cloud {
        --re-cloud-boost: 1.7;
    }
}

/* --------------------------------------------------------------------------
   A NOTE ON MOBILE SIZING
   There is deliberately no mobile sprite up-scaling here. The site pins the
   layout viewport to 955px (see the viewport meta in core/base.html), so a
   handset renders exactly the same 955px canvas as desktop, scaled down to
   fit its screen. Sprites therefore already land in the right place and are
   shrunk by precisely the same factor as the text, buttons and images around
   them — they are small on a phone because the whole page is.

   Scaling only the sprites back up was tried and reverted: the CSS `scale`
   property composes into the same matrix as the `transform` these effects
   animate, so it multiplies every translate() distance too and distorts the
   motion path rather than just enlarging the sprite.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   REDUCED MOTION
   The site already ships a photosensitivity warning for the earthquake effect
   (see core/templates/core/sitepreferences.html), so honouring the OS-level
   setting is the same intent applied site-wide. Hiding the stage outright is
   better than `animation: none`, which would strand every sprite mid-flight
   at its starting offset instead of removing it.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .re-fx-stage {
        display: none !important;
    }

    /* The earthquake effect shakes <body> directly rather than rendering a
       sprite, so hiding the stage does not reach it. This is the effect the
       site already warns about for photosensitivity, which makes it the one
       that most needs to respect the OS setting. */
    body {
        animation: none !important;
    }
}
/* All-in-One sidebar */
.aio-arrow {
	display: inline-block;
	padding: 0.1875em;
	transition: transform 0.3s ease;
}
.aio-arrow.up { transform: rotate(-90deg); -webkit-transform: rotate(-90deg); }
.aio-arrow.down { transform: rotate(90deg); -webkit-transform: rotate(90deg); }
.aio-arrow.no-transition { transition: none; }
.aio-section { transition: opacity 0.5s ease; }
.aio-section.hidden { opacity: 0; }
#aio-inv-search { width: 100%; box-sizing: border-box; margin-bottom: .33em; padding: 2px 5px; min-height: auto; font-size: 1rem; border-radius: .25em; border-color: var(--color) !important; }
.aio-inv-item { position: relative; }
.aio-inv-dropdown-menu { font: 1.1rem Verdana; text-transform: none; text-shadow: none; color: var(--color); display: none; position: absolute; top: 0%; right: 100%; background-color: var(--bgcolor); box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 2; min-width: 250px; padding: 0; border: 1px solid var(--color); border-radius: 0.3125em; overflow: hidden; }
.aio-inv-dropdown-menu.left { display: none; position: absolute; top: 0%; left: -260%; background-color: var(--bgcolor); box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 2; min-width: 250px; padding: 0; border: 1px solid var(--color); border-radius: 0.3125em; overflow: hidden; }
.aio-inv-dropdown-menu p { font-size: 1.14em; margin: 0; padding: 0.75em 1em; background-color: var(--ui-header-color); border-bottom: 1px solid var(--color); font-weight: bold; color: var(--color); }
.aio-inv-dropdown-menu button { width: 100%; padding: 0.75em 1em; border: none; background: none; text-align: left; cursor: pointer; font-size: 1rem; color: var(--color); display: flex; align-items: center; transition: background-color 0.3s ease; }
.aio-inv-dropdown-menu button img.dropdown-icon { margin-right: 0.625em; width: 40px; }
.aio-inv-dropdown-menu button img.pet-dropdown-icon { margin-right: 0.625em; width: 40px; border-radius: 0.3125em; }
.aio-inv-dropdown-menu button:hover { background-color: var(--grid_even); }
.aio-inv-dropdown-menu button:focus { outline: none; background-color: var(--grid_select); }
.aio-inv-dropdown-menu button.neomail-gift-action { background-color: var(--grid_select); box-shadow: inset 4px 0 0 var(--link_color); font-weight: bold; }
.aio-inv-dropdown-menu button.neomail-gift-action:hover, .aio-inv-dropdown-menu button.neomail-gift-action:focus { background-color: var(--grid_select); box-shadow: inset 4px 0 0 var(--hover_color); }
.aio-quantity-circle, .aio-large-quantity-circle { --gc-qty-h: 20px; text-transform: none; text-shadow: none; font-family: Verdana, Arial, Helvetica, sans-serif; position: absolute; background-color: #CC5500; color: white; border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 0.625em; }
.aio-quantity-circle { top: -0.3125em; right: -0.3125em; }
.aio-large-quantity-circle { top: 0em; right: 0em; }
.gc-qty-viewport { display: inline-block; overflow: hidden; height: var(--gc-qty-h); line-height: var(--gc-qty-h); vertical-align: middle; }
.gc-qty-track { display: block; }
.gc-qty-num { display: block; height: var(--gc-qty-h); line-height: var(--gc-qty-h); text-align: center; white-space: nowrap; }
.gc-qty-track.gc-qty-up { animation: gcQtyRollUp 0.3s cubic-bezier(0.2, 0.7, 0.25, 1) both; }
.gc-qty-track.gc-qty-down { animation: gcQtyRollDown 0.3s cubic-bezier(0.2, 0.7, 0.25, 1) both; }
@keyframes gcQtyRollUp { from { transform: translateY(0); } to { transform: translateY(calc(-1 * var(--gc-qty-h))); } }
@keyframes gcQtyRollDown { from { transform: translateY(calc(-1 * var(--gc-qty-h))); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .gc-qty-track.gc-qty-up, .gc-qty-track.gc-qty-down { animation: none; } }
.pet-aio-dropdown-icon { background: transparent !important; border: none !important; border-radius: none !important; margin-right: 0.625em !important; width: 40px !important; border-radius: 0.3125em !important; }
.aio-dropdown-icon { background: transparent !important; border: none !important; border-radius: 0em !important; margin-right: 0.625em !important; width: 40px !important; }
.aio-placeholder-collapsed { height: 75px; padding-bottom: 0em !important; }
.body-loading #aio_sidebar_placeholder { opacity: 0; }
.aio-petpet-trapped { display: block; text-align: center; font-weight: bold; }
